@charset "utf-8";
/* mv */
@media (min-width: 769px) {
    .mv_ttl {
        width: 474px;
        top: 172px;
        left: 44px;
    }
    .mv_txt {
        width: 381px;
        top: 535px;
        left: 54px;
    }
}
@media (max-width: 768px) {
    .mv_ttl {
        width: 619rem;
        top: 299rem;
        left: 59rem;
    }
    .mv_txt {
        width: 498rem;
        top: 773rem;
        left: 71rem;
    }
}

/* main_kv */
.main_kv {
    margin-top: -23rem;
    padding-bottom: 410rem;
    position: relative;
    z-index: 1;
}
.main_kv_txt_en {
    width: 268rem;
    position: absolute;
    top: -187rem;
    left: 95rem;
}
.main_kv_sun {
    width: 597rem;
    position: absolute;
    top: -187rem;
    left: 44rem;
}
.main_kv_deco_txt {
    font-size: 24rem;
    line-height: 1;
    position: absolute;
    writing-mode: vertical-rl;
    letter-spacing: 0.32em;
    top: 110rem;
}
.main_kv_deco_txt_left {
    left: 20rem;
    rotate: 180deg;
}
.main_kv_deco_txt_right {
    right: 20rem;
}
.main_kv_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 600;
    line-height: 1;
    position: relative;
    z-index: 1;
}
.main_kv_ttl_txt_s {
    font-size: 48rem;
    display: inline-block;
    letter-spacing: 0.1em;
}
.main_kv_ttl_txt_m {
    font-size: 80rem;
    display: inline-block;
    margin-top: 40rem;
    letter-spacing: 0.1em;
}
.main_kv_ttl_txt_l {
    font-size: 96rem;
    display: inline-block;
    margin-top: 24rem;
    letter-spacing: 0.1em;
}
.main_kv_ttl_txt_m_strong {
    color: var(--color-orange);
    position: relative;
    display: inline-block;
    font-weight: 600;
}
.main_kv_ttl_txt_m_strong::after {
    content: "";
    display: block;
    width: 17rem;
    height: 17rem;
    border-radius: 50%;
    background-color: var(--color-orange);
    position: absolute;
    top: -24rem;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.main_kv_txt_box {
    margin-top: 48rem;
    width: 535rem;
    background-color: var(--color-white);
    padding-block: 30rem;
    margin-inline: auto;
    border-top: 2rem solid var(--color-black);
    border-bottom: 2rem solid var(--color-black);
}
.main_kv_txt {
    line-height: 1;
    font-size: 36rem;
    letter-spacing: 0.16em;
    text-align: center;
}
.main_kv_neko,
.main_kv_arrow_l,
.main_kv_arrow_r,
.main_kv_coin {
    position: absolute;
    z-index: 4;
}
.main_kv_illust {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 3;
}
.main_kv_neko {
    width: 138rem;
    left: 139rem;
    bottom: 35rem;
}
.main_kv_arrow_l {
    width: 136rem;
    left: 287rem;
    bottom: 217rem;
}
.main_kv_arrow_r {
    width: 138rem;
    left: 491rem;
    bottom: 71rem;
}
.main_kv_coin {
    width: 126rem;
    left: 421rem;
    bottom: 203rem;
}
.main_kv_dot {
    position: absolute;
    top: -364rem;
    left: -21rem;
}
.animation_ready.animation_loaded .main_kv_neko.is_animated {
    animation: main_kv_neko 1s 0.5s linear forwards;
}
@keyframes main_kv_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}
.animation_ready .main_kv_arrow_l,
.animation_ready .main_kv_arrow_r,
.animation_ready .main_kv_coin {
    opacity: 0;
    transition: translate 0.5s, opacity 0.5s;
}
.animation_ready .main_kv_arrow_l {
    translate: -30rem 0;
}
.animation_ready .main_kv_arrow_r {
    translate: 30rem 0;
}
.animation_ready.animation_loaded .main_kv_arrow_l.is_animated,
.animation_ready.animation_loaded .main_kv_arrow_r.is_animated,
.animation_ready.animation_loaded .main_kv_coin.is_animated {
    translate: 0;
    opacity: 1;
}

/* start */
.start_deco_dot1 {
    top: -96rem;
    right: -49rem;
}
.start_deco_triangle {
    width: 225rem;
    height: 450rem;
    top: 24rem;
    left: -84rem;
}
.start_fukidashi_neko_block {
    width: 100%;
    height: 293rem;
    position: relative;
    margin-top: 125rem;
}
.start_fukidashi_neko {
    width: 366rem;
    height: 265rem;
    position: absolute;
    top: -2rem;
    left: 73rem;
    background: url(../images/03/start_fukidashi_neko_bg.svg) no-repeat center / contain;
    display: flex;
    justify-content: center;
    align-items: center;
}
.start_fukidashi_neko_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.start_fukidashi_neko_img_wrap {
    position: absolute;
    width: 179rem;
    top: 0;
    left: 472rem;
}
.start_fukidashi_neko_deco {
    width: 93rem;
    position: absolute;
    top: -62rem;
    left: 49rem;
}
.start_fukidashi_list {
    display: flex;
    flex-direction: column;
    gap: 24rem;
    margin-top: 78rem;
}
.start_fukidashi_list li {
    width: 543rem;
    height: 246rem;
    padding-bottom: 37rem;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0 37rem 69rem;
}
.start_fukidashi_list li:nth-child(even) {
    margin-left: auto;
}
.start_fukidashi_list_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.start_fukidashi_list_bg_path {
    fill-rule: evenodd;
}
.start_fukidashi_list li:nth-child(even) .start_fukidashi_list_bg {
    scale: -1 1;
}
.start_fukidashi_list li:nth-child(odd) .start_fukidashi_list_bg_path {
    fill: #fd6818;
}
.start_fukidashi_list li:nth-child(even) .start_fukidashi_list_bg_path {
    fill: #8cd601;
}
.start_fukidashi_list_txt {
    position: relative;
    z-index: 1;
    font-size: 32rem;
    line-height: calc(56/32);
    color: var(--color-white);
    width: 420rem;
}
.start_fukidashi_list li:nth-child(odd) .start_fukidashi_list_txt {
    color: var(--color-white);
}
.start_fukidashi_list li:nth-child(even) .start_fukidashi_list_txt {
    color: var(--color-black);
}
.start_fukidashi_list_txt_center {
    text-align: center;
}
.start_fukidashi_list li::after {
    content: "";
    display: block;
    position: absolute;
}
.start_fukidashi_list li:nth-child(odd)::after {
    width: 47rem;
    height: 75rem;
    top: 24rem;
    right: -72rem;
    background: url(../images/03/start_fukidashi_list_deco_odd.svg) no-repeat center / contain;
}
.start_fukidashi_list li:nth-child(even)::after {
    width: 81rem;
    height: 123rem;
    top: 34rem;
    left: -100rem;
    background: url(../images/03/start_fukidashi_list_deco_even.svg) no-repeat center / contain;
}
.start_fukidashi_area_bottom {
    margin-top: 64rem;
    font-size: 48rem;
    font-weight: 600;
}
.start_fukidashi_area_bottom_txt {
    line-height: calc(88/48);
    margin-top: 26rem;
    text-align: center;
}
.start_fukidashi_area_bottom_neko {
    margin-top: 76rem;
}
.start_fukidashi_area_bottom_neko_img {
    width: 711rem;
    margin-left: auto;
    position: relative;
}
.start_fukidashi_area_bottom_neko_deco_wrap {
    width: 94rem;
    height: 117rem;
    position: absolute;
    top: -35rem;
    left: 158rem;
}
.start_fukidashi_area_bottom_neko_deco {
    position: absolute;
}
.start_fukidashi_area_bottom_neko_deco1 {
    top: 0;
    left: 0;
    width: 94rem;
}
.start_fukidashi_area_bottom_neko_deco2 {
    top: 85rem;
    left: 44rem;
    width: 19rem;
}
.start_fukidashi_area_bottom_neko_deco3 {
    bottom: 0;
    left: 59rem;
    width: 17rem;
}
.start_first {
    margin-top: 182rem;
}
.start_first_kv {
    padding-bottom: 425rem;
    position: relative;
}
.start_first_kv_txt {
    text-align: center;
    font-size: 48rem;
    line-height: calc(88/48);
    letter-spacing: 0.1em;
}
.start_first_kv_fukidashi {
    display: inline-block;
    position: relative;
}
.start_first_kv_txt_white_bg {
    font-size: 72rem;
    display: inline-block;
    line-height: 1;
    padding: 12rem 20rem 16rem 20rem;
    background-color: var(--color-white);
    margin-right: 18rem;
}
.start_first_kv_neko {
    width: 187rem;
    position: absolute;
    bottom: 0;
    left: 286rem;
    line-height: 0;
    z-index: 1;
}
.start_first_kv_fukidashi {
    position: absolute;
}
.start_first_kv_fukidashi1 {
    width: 304rem;
    left: 47rem;
    bottom: 153rem;
}
.start_first_kv_fukidashi2 {
    width: 273rem;
    left: 425rem;
    bottom: 164rem;
}
.start_first_box {
    margin-top: 113rem;
    position: relative;
}
.start_first_box_en {
    width: 133rem;
    position: absolute;
    top: -9rem;
    right: 56rem;
}
.start_first_box_ttl {
    text-align: center;
    font-size: 48rem;
    font-weight: 600;
    line-height: calc(80/48);
    letter-spacing: 0.1em;
    padding-bottom: 72rem;
    background: url(../images/common/fukidashi_line.svg) no-repeat bottom center / 100% auto;
}
.start_first_box_txt {
    margin-top: 35rem;
    text-align: center;
    font-size: 28rem;
    line-height: calc(64/28);
    white-space: nowrap;
}
.start_first_box_txt strong {
    font-weight: 600;
    font-size: 44rem;
    line-height: calc(60/44);
}
.start_first_triangle {
    width: 322rem;
    height: 161rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-image: -moz-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -webkit-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -ms-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    margin: 52rem auto 0;
}
.start_first_triangle_txt {
    font-size: 40rem;
    line-height: calc(64/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 70rem;
}
.start_first_dot1 {
    top: 205rem;
    left: -23rem;
}
.start_first_dot2 {
    top: 826rem;
    right: -93rem;
}
/* start animation */
.animation_ready.animation_loaded .start_fukidashi_neko_block.is_animated .start_fukidashi_neko_img {
    animation: start_fukidashi_neko_img 1s linear forwards;
    transform-origin: bottom center;
    --start-neko-rotate: -3deg;
}
@keyframes start_fukidashi_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--start-neko-rotate);
    }
}
.animation_ready .start_fukidashi_area_bottom_ttl_txt::after {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .start_fukidashi_area_bottom_ttl_txt.is_animated::after {
    clip-path: var(--clip-path-full);
}
.animation_ready .start_fukidashi_area_bottom_neko_deco {
    opacity: 0;
    transition: opacity 0.6s;
}
.animation_ready.animation_loaded .start_fukidashi_area_bottom_neko_img.is_animated .start_fukidashi_area_bottom_neko_deco {
    opacity: 1;
}
.animation_ready .start_fukidashi_area_bottom_neko_deco2 {
    transition-delay: 0.2s;
}
.animation_ready .start_fukidashi_area_bottom_neko_deco1 {
    transition-delay: 0.4s;
}

/* cost */
.cost_dot1 {
    top: -222rem;
    left: -49rem;
}
.cost_dot2 {
    top: 700rem;
    right: -84rem;
}
.cost_deco_triangle {
    top: -329rem;
    right: -160rem;
    width: 334rem;
    height: 667rem;
}
.cost .explanation_ttl {
    margin-top: 80rem;
}
.cost_graph {
    margin-top: 80rem;
}
.cost_graph_note {
    font-size: 24rem;
    line-height: calc(36/24);
    margin-top: 36rem;
}
.cost_box {
    margin-top: 86rem;
    position: relative;
}
.cost_box_dot {
    right: -58rem;
    bottom: 130rem;
}
.cost_box_deco_triangle {
    width: 225rem;
    height: 450rem;
    top: 230rem;
    left: -50rem;
}
.cost_box_en {
    width: 297rem;
    position: absolute;
    top: -32rem;
    right: 29rem;
}
.cost_box_ttl {
    text-align: center;
    font-size: 56rem;
    font-weight: 600;
    line-height: calc(80/56);
    letter-spacing: 0.1em;
    padding-bottom: 72rem;
    background: url(../images/common/fukidashi_line.svg) no-repeat bottom center / 100% auto;
}
.cost_box_ttl_num {
    font-weight: 500;
}
.cost_box_txt1 {
    margin-top: 40rem;
    letter-spacing: 0.1em;
    text-align: center;
}
.cost_box_txt1_l {
    margin-top: 20rem;
    font-weight: 500;
    font-size: 80rem;
    color: var(--color-orange);
    line-height: calc(64/80);
    display: inline-block;
}
.cost_box_txt1_m {
    font-weight: 500;
    font-size: 40rem;
    line-height: calc(64/40);
}
.cost_box_txt1_s {
    margin-top: 24rem;
    font-weight: 400;
    font-size: 24rem;
    line-height: calc(36/24);
    display: block;
}
.cost_neko {
    height: 298rem;
    width: 100%;
    position: relative;
    margin-top: 50rem;
}
.cost_neko_img {
    width: 239rem;
    position: absolute;
    top: 0;
    right: 14rem;
}
.cost_neko_fukidashi {
    width: 307rem;
    height: 223rem;
    background: url(../images/03/cost_neko_fukidashi_bg.png) no-repeat center / contain;
    position: absolute;
    top: 14rem;
    left: 0;
    padding: 38rem 0 0 59rem;
}
.cost_neko_fukidashi_txt {
    font-size: 26rem;
    line-height: calc(40/26);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.cost_neko_txt {
    width: 48rem;
    position: absolute;
    top: 43rem;
    right: 3rem;
}
.cost_box_txt2 {
    font-size: 28rem;
    line-height: calc(64/28);
    text-align: center;
    white-space: nowrap;
    margin-top: 30rem;
}
/* cost animation */
.animation_ready.animation_loaded .cost_neko_img.is_animated {
    animation: cost_neko_img 1s linear forwards;
}
@keyframes cost_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}


/* lease */
.lease_dot {
    left: -48rem;
    top: -28rem;
}
.lease_deco_triangle {
    width: 225rem;
    height: 450rem;
    top: -40rem;
    right: -74rem;
}
.lease_txt {
    font-size: 40rem;
    line-height: calc(72/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 47rem;
    padding-bottom: 33rem;
    position: relative;
}
.lease_txt::after {
    content: "";
    display: block;
    width: 59rem;
    height: 4rem;
    background-color: var(--color-black);
    border-radius: 100rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.lease_table {
    table-layout: fixed;
    width: 100%;
    margin-top: 82rem;
}
.lease_table th,
.lease_table td {
    line-height: calc(40/28);
    letter-spacing: 0.1em;
    font-weight: 500;
}
.lease_table_head {
    padding-block: 30rem;
    color: var(--color-white);
    font-size: 32rem;
}
.lease_table .lease_table_head:nth-of-type(1),
.lease_table .lease_table_result:nth-of-type(1) {
    background-color: var(--color-simulate-orange);
}
.lease_table .lease_table_head:nth-of-type(2),
.lease_table .lease_table_result:nth-of-type(2) {
    background-color: var(--color-simulate-green);
    color: var(--color-black);
}
.lease_table_label {
    font-size: 28rem;
    padding: 24rem;
    background-color: #fceab1;
}
.lease_table_about {
    height: 96rem;
    padding: 20rem 10rem;
    background-color: #fffcf4;
    font-size: 28rem;
    letter-spacing: 0.12em;
    text-align: center;
}
.lease_table_about + .lease_table_about {
    border-left: 4rem dotted #ccc;
}
.lease_table_about_sup {
    font-size: 0.5em;
    vertical-align: top;
}
.lease_table_note {
    font-size: 24rem;
    text-align: right;
    margin-top: 24rem;
}

.lease_box {
    margin-top: 90rem;
    position: relative;
}
.lease_box_ttl_tag {
    width: 297rem;
    margin-inline: auto;
    padding-block: 10rem;
    font-weight: 600;
    font-size: 28rem;
    text-align: center;
    border-radius: 16rem;
    background-color: var(--main-bg);
}
.lease_box_ttl {
    margin-top: 30rem;
    line-height: calc(80/56);
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.1em;
    padding-bottom: 76rem;
    background: url(../images/common/fukidashi_line.svg) no-repeat center bottom / 100% auto;
}
.lease_box_ttl_l {
    font-size: 56rem;
}
.lease_box_ttl_m {
    font-size: 40rem;
}
.lease_box_ttl_s {
    font-size: 28rem;
}
.lease_box_txt {
    font-size: 28rem;
    line-height: calc(64/28);
    margin-top: 30rem;
    text-align: center;
}
.lease_arrow {
    width: 322rem;
    height: 161rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-image: linear-gradient(180deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    margin: 77rem auto 0;
}
.lease_box_dot {
    right: -58rem;
    bottom: 109rem;
}
.lease_box_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: 209rem;
    left: -40rem;
}
.lease_box_neko {
    height: 265rem;
    width: 100%;
    position: relative;
    margin-top: 50rem;
}
.lease_box_neko_img {
    width: 236rem;
    position: absolute;
    top: 0;
    right: 16rem;
}
.lease_box_neko_fukidashi {
    width: 321rem;
    height: 233rem;
    background: url(../images/03/lease_box_neko_fukidashi_bg.png) no-repeat center / contain;
    position: absolute;
    top: 10rem;
    left: 0;
    padding: 50rem 0 0 63rem;
}
.lease_box_neko_fukidashi_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.lease_faq_ttl {
    margin-top: 86rem;
    text-align: center;
}
.lease_faq_ttl_txt {
    font-weight: 600;
    font-size: 40rem;
    line-height: calc(64/40);
    display: inline-block;
    position: relative;
}
.lease_faq_ttl_txt::before,
.lease_faq_ttl_txt::after {
    content: '';
    display: block;
    width: 4rem;
    height: 114rem;
    background-color: var(--color-black);
    position: absolute;
    bottom: 0;
    border-radius: 100rem;
}
.lease_faq_ttl_txt::before {
    left: -60rem;
    rotate: -30deg;
}
.lease_faq_ttl_txt::after {
    right: -60rem;
    rotate: 30deg;
}
.lease_faq_list_wrap {
    position: relative;
}
.lease_faq_list {
    margin-top: 54rem;
    display: flex;
    flex-direction: column;
    gap: 80rem;
    position: relative;
    z-index: 1;
}
.lease_faq_list > li {
    display: flex;
    flex-direction: column;
    gap: 24rem;
}
.lease_faq_list_box {
    border-radius: 24rem;
    overflow: hidden;
}
.lease_faq_list_q {
    color: var(--color-white);
    background-color: var(--color-simulate-orange);
}
.lease_faq_list_inner {
    padding: 10rem 50rem 10rem 10rem;
    display: flex;
    align-items: center;
    gap: 24rem;
}
.lease_faq_list_icon {
    width: 140rem;
    min-width: 140rem;
}
.lease_faq_list_ttl_wrap {
    display: flex;
    gap: 16rem;
}
.lease_faq_list_a .lease_faq_list_ttl_wrap {
    color: #69a100;
}
.lease_faq_list_ttl_icon {
    font-weight: 500;
    font-size: 44rem;
    line-height: calc(52/44);
}
.lease_faq_list_ttl_txt {
    font-size: 32rem;
    line-height: calc(52/32);
}
.lease_faq_list_a {
    background-color: var(--color-white);
}
.lease_faq_list_a_ttl {
    padding-block: 10rem;
    font-weight: 600;
    font-size: 28rem;
    text-align: center;
    background-color: var(--color-simulate-green);
}
.lease_faq_list_a_txt {
    padding: 20rem 40rem 40rem;
    font-size: 28rem;
    line-height: calc(48/28);
}
.lease_faq_list_dot {
    left: -76rem;
    bottom: -90rem;
}
.lease_neko_area {
    width: 684rem;
    margin: 80rem 0 0 auto;
    line-height: 0;
    position: relative;
}
.lease_neko {
    width: 282rem;
    position: absolute;
    top: 0;
    left: 200rem;
}
.lease_explanation {
    margin-top: 140rem;
}
.lease_explanation_dot {
    top: 219rem;
    right: -75rem;
}
.animation_ready.animation_loaded .lease_neko.is_animated {
    animation: lease_neko 1s linear forwards;
    transform-origin: bottom center;
    --doubt-neko-rotate: -3deg;
}
@keyframes lease_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--doubt-neko-rotate);
    }
}
.animation_ready.animation_loaded .lease_box_neko_img.is_animated {
    animation: lease_box_neko_img 1s linear forwards;
}
@keyframes lease_box_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}
.animation_ready .lease_txt::after {
    scale: 0 1;
    transition: scale 0.3s;
}
.animation_ready.animation_loaded .lease_txt.is_animated::after {
    scale: 1 1;
}

/* payment */
.payment_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -220rem;
    right: -72rem;
}
.payment_txt {
    font-size: 40rem;
    line-height: calc(72/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 47rem;
    padding-bottom: 33rem;
    position: relative;
}
.payment_txt::after {
    content: "";
    display: block;
    width: 59rem;
    height: 4rem;
    background-color: var(--color-black);
    border-radius: 100rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.payment_table_txt {
    margin-top: 76rem;
    font-size: 48rem;
    line-height: calc(72/48);
    text-align: center;
}
.payment_table_ttl_wrap {
    margin-top: 24rem;
    display: flex;
    justify-content: space-around;
}
.payment_table_ttl {
    width: 300rem;
    padding-block: 34rem;
    font-size: 32rem;
    line-height: calc(48/32);
    text-align: center;
    position: relative;
}
.payment_table_ttl::before {
    content: '';
    width: 296rem;
    height: 160rem;
    margin: auto;
    border-radius: 50%;
    background-color: var(--color-white);
    position: absolute;
    inset: 0;
}
.payment_table_ttl::after {
    content: '';
    width: 80rem;
    height: 40rem;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -24rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.payment_table_ttl_orange::after {
    background-image: linear-gradient(0deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
}
.payment_table_ttl_green::after {
    background-image: linear-gradient(0deg, #79e82e 6%, #63c720 100%);
}
.payment_table_ttl_txt {
    display: block;
    position: relative;
    z-index: 1;
}
.payment_table {
    table-layout: fixed;
    width: 100%;
    margin-top: 46rem;
}
.payment_table th,
.payment_table td {
    line-height: calc(40/28);
    letter-spacing: 0.1em;
    font-weight: 500;
}
.payment_table_head {
    padding-block: 20rem;
    color: var(--color-white);
    font-size: 32rem;
}
.payment_table .payment_table_head:nth-of-type(1),
.payment_table .payment_table_result:nth-of-type(1) {
    background-color: var(--color-simulate-orange);
}
.payment_table .payment_table_head:nth-of-type(2),
.payment_table .payment_table_result:nth-of-type(2) {
    background-color: var(--color-simulate-green);
    color: var(--color-black);
}
.payment_table_label {
    font-size: 28rem;
    padding: 24rem;
    background-color: #fcce5b;
}
.payment_table_about {
    height: 96rem;
    padding: 20rem 10rem;
    background-color: #fffcf4;
    font-size: 40rem;
    letter-spacing: 0.12em;
    text-align: center;
}
.payment_table_about + .payment_table_about {
    border-left: 4rem dotted #ccc;
}
.payment_table_about_num {
    font-weight: 500;
}
.payment_table_about_s {
    font-size: 28rem;
}
.payment_table_about_sup {
    font-size: 0.5em;
    vertical-align: top;
}
.payment_explanation {
    margin-top: 60rem;
}
.payment_explanation .explanation_txt {
    font-size: 24rem;
}
.payment_explanation .explanation_txt_item {
    padding-left: 2em;
    text-indent: -2em;
    display: block;
}
.payment_box {
    margin-top: 100rem;
    position: relative;
}
.payment_box_en {
    width: 194rem;
    position: absolute;
    top: -32rem;
    right: 16rem;
}
.payment_box_ttl {
    text-align: center;
    font-size: 48rem;
    font-weight: 600;
    line-height: calc(80/48);
    letter-spacing: 0.1em;
    padding-bottom: 72rem;
    background: url(../images/common/fukidashi_line.svg) no-repeat bottom center / 100% auto;
}
.payment_box_txt {
    margin-top: 35rem;
    font-size: 28rem;
    line-height: calc(64/28);
}
.payment_box_txt strong {
    font-weight: 600;
    font-size: 44rem;
    line-height: calc(60/44);
}
.payment_triangle {
    width: 322rem;
    height: 161rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-image: -moz-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -webkit-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -ms-linear-gradient( 96deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    margin: 52rem auto 0;
}
.payment_triangle_txt {
    font-size: 40rem;
    line-height: calc(64/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 70rem;
}
.animation_ready .payment_txt::after {
    scale: 0 1;
    transition: scale 0.3s;
}
.animation_ready.animation_loaded .payment_txt.is_animated::after {
    scale: 1 1;
}

/* comparison */
.comparison {
    padding-bottom: 68rem;
}
.comparison_dot {
    top: -155rem;
    left: -50rem;
}
.comparison_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -155rem;
    right: -83rem;
}
.comparison_plan_list {
    margin-top: 80rem;
    display: flex;
    flex-direction: column;
    gap: 80rem;
}
.comparison_plan_list > li {
    border-radius: 56rem;
    background-color: var(--color-white);
    overflow: hidden;
}
.comparison_plan_list_ttl {
    padding-block: 28rem;
    font-size: 32rem;
    text-align: center;
    color: var(--color-white);
    background-color: var(--color-black);
}
.comparison_plan_list_inner {
    padding: 0 32rem 80rem;
}
.comparison_plan_list_img {
    margin-top: 56rem;
}
.comparison_plan_list_txt {
    margin-top: 82rem;
    font-size: 28rem;
    text-align: center;
}
.comparison_plan_list_load {
    padding-block: 40rem;
}
.comparison_plan_list_load + .comparison_plan_list_load {
    border-top: 1px solid #ccc;
}
.comparison_plan_list_load_inner {
    display: flex;
}
.comparison_plan_list_load_txt {
    width: 40%;
    font-size: 22rem;
    line-height: calc(42/28);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.comparison_plan_list_load_txt_icon {
    font-size: 0.5em;
    vertical-align: super;
}
.comparison_plan_list_load_price {
    width: 60%;
    padding-block: 5rem;
    font-size: 32rem;
    text-align: center;
    background-color: var(--main-bg);
}
.comparison_plan_list_load_price_num {
    font-weight: 500;
    font-size: 80rem;
}
.comparison_plan_list_load_note {
    margin-top: 20rem;
    font-size: 20rem;
    text-align: center;
}
.comparison_plan_list_load_note_s {
    margin-top: 10rem;
    font-size: 18rem;
    text-align: center;
}
.comparison_plan_list_accordion_txt {
    margin-top: 20rem;
    font-size: 28rem;
    line-height: calc(56/28);
}
.comparison_plan_list_accordion_txt_bold {
    font-weight: 700;
}
.comparison_plan_list_accordion_btn_wrap {
    margin-top: 24rem;
    display: flex;
    justify-content: center;
}
.comparison_plan_list_accordion_btn {
    background: none;
    border: none;
    font-weight: 700;
    font-size: 24rem;
    color: var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16rem;
    padding: 0;
    cursor: pointer;
}
.comparison_plan_list_accordion_btn::after {
    content: "算定条件を見る";
}
.comparison_plan_list_accordion_btn_close {
    background: none;
    border: none;
    font-weight: 700;
    font-size: 24rem;
    color: var(--color-black);
    border: 4rem solid var(--color-black);
    border-radius: 100rem;
    background-color: var(--main-bg);
    display: flex;
    align-items: center;
    gap: 42rem;
    width: 283rem;
    height: 96rem;
    padding: 0;
    padding-left: 56rem;
    cursor: pointer;
}
.comparison_plan_list_accordion_btn_icon {
    width: 32rem;
    height: 32rem;
    position: relative;
    border-radius: 50%;
    background-color: var(--color-black);
}
.comparison_plan_list_accordion_btn_icon::before,
.comparison_plan_list_accordion_btn_icon::after {
    content: "";
    display: block;
    width: 20rem;
    height: 4rem;
    border-radius: 100rem;
    background-color: var(--color-white);
    position: absolute;
    inset: 0;
    margin: auto;
}
.comparison_plan_list_accordion_btn_icon_close::before,
.comparison_plan_list_accordion_btn_icon_close::after {
    background-color: var(--main-bg);
}
.comparison_plan_list_accordion_btn_icon::after {
    rotate: 90deg;
}
.comparison_plan_list_accordion.is_active .comparison_plan_list_accordion_btn::after {
    content: "閉じる";
}
.comparison_plan_list_accordion.is_active .comparison_plan_list_accordion_btn_icon {
    rotate: 45deg;
}
.comparison_plan_list_accordion_txt,
.comparison_plan_list_accordion_btn_close_wrap {
    display: none;
}
.comparison_plan_list_accordion.is_active .comparison_plan_list_accordion_txt {
    display: block;
}
.comparison_plan_list_accordion.is_active .comparison_plan_list_accordion_btn_close_wrap {
    display: flex;
}
.comparison_explanation {
    margin-top: 240rem;
}
.comparison_explanation_dot {
    top: 150rem;
    right: -77rem;
}
.comparison_triangle {
    width: 322rem;
    height: 161rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-image: -moz-linear-gradient( 276deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -webkit-linear-gradient( 276deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    background-image: -ms-linear-gradient( 276deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    margin: 52rem auto 0;
}
.comparison_triangle_txt {
    font-size: 40rem;
    line-height: calc(64/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 110rem;
}
.merit {
    position: relative;
}
.merit_dot {
    top: -220rem;
    left: -110rem;
}
.merit_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -30rem;
    right: -112rem;
}
.merit_txt {
    margin-top: 106rem;
    font-size: 48rem;
    line-height: calc(72/48);
    text-align: center;
}
.merit_list {
    display: flex;
    flex-direction: column;
    gap: 64rem;
    margin-top: 65rem;
}
.merit_list li {
    width: 646rem;
    background-color: var(--color-white);
    padding: 70rem 56rem 60rem;
}
.merit_list li:has( .merit_list_ttl_fukidashi) {
    padding: 110rem 56rem 60rem;
}
.merit_list li:nth-child(odd) {
    margin-right: auto;
    border-top-right-radius: 40rem;
    border-bottom-right-radius: 40rem;
}
.merit_list li:nth-child(even) {
    margin-left: auto;
    border-top-left-radius: 40rem;
    border-bottom-left-radius: 40rem;
}
.merit_list li:nth-child(1),
.merit_list li:nth-child(2) {
    --point-color: var(--color-orange);
}
.merit_list li:nth-child(3),
.merit_list li:nth-child(4) {
    --point-color: var(--color-green);
}
.merit_list_ttl {
    display: flex;
    gap: 30rem;
    align-items: center;
    color: var(--point-color);
    padding-bottom: 28rem;
    position: relative;
}
.merit_list_ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 4rem;
    border-top: 4rem dotted var(--color-black);
    position: absolute;
    left: 0;
    bottom: 0;
}
.merit_list_ttl_fukidashi {
    font-size: 28rem;
    position: absolute;
    top: -40rem;
    left: 60rem;
}
.merit_list_ttl_num {
    font-size: 120rem;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.merit_list_ttl_txt {
    font-size: 40rem;
    letter-spacing: 0.1em;
    line-height: calc(48/40);
}
.merit_list_txt {
    font-size: 28rem;
    line-height: calc(64/28);
    margin-top: 28rem;
}
.merit_list_point {
    margin-top: 38rem;
    display: flex;
    align-items: center;
    gap: 17rem;
    border: 1px solid var(--color-orange);
    border-radius: 100rem;
}
.merit_list_point_icon {
    width: 88rem;
    height: 88rem;
    font-weight: 600;
    font-size: 24rem;
    color: var(--color-white);
    border-radius: 100rem;
    background-color: var(--color-orange);
    display: flex;
    align-items: center;
    justify-content: center;
}
.merit_list_point_txt {
    font-weight: 500;
    font-size: 28rem;
    line-height: calc(38/28);
    color: var(--color-orange);
}
.merit_list_btn {
    margin-top: 20rem;
    padding-block: 20rem;
    font-weight: 500;
    font-size: 28rem;
    line-height: calc(40/28);
    text-align: center;
    border: 2px solid var(--color-black);
    border-radius: 100rem;
    display: block;
    position: relative;
}
.merit_list_btn::after {
    content: '';
    width: 15rem;
    height: 15rem;
    margin: auto;
    border-top: 2px solid var(--color-black);
    border-right: 2px solid var(--color-black);
    display: block;
    position: absolute;
    top: 0;
    right: 25rem;
    bottom: 0;
    rotate: 45deg;
}
.merit_explanation {
    margin-top: 240rem;
}
.merit_explanation_dot {
    top: -160rem;
    right: -77rem;
}
.animation_ready .merit_list_ttl::after {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .merit_list_ttl.is_animated::after {
    clip-path: var(--clip-path-full);
}
@media (min-width: 769px) {
    @media (hover: hover) {
        .merit_list_btn {
            transition: color 0.4s, background-color 0.4s;
        }
        .merit_list_btn:hover {
            background-color: var(--color-black);
            color: var(--color-white);
        }
        .merit_list_btn::after {
            transition: border-color 0.4s;
        }
        .merit_list_btn:hover::after {
            border-color: var(--color-white);
        }
    }
}

/* checkpoint */
.checkpoint {
    padding-bottom: 68rem;
}
.checkpoint_dot {
    top: -155rem;
    left: -50rem;
}
.checkpoint_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -155rem;
    right: -83rem;
}
.checkpoint_neko {
    height: 343rem;
    width: 100%;
    position: relative;
    margin-top: 84rem;
}
.checkpoint_neko_img {
    width: 239rem;
    position: absolute;
    right: 25rem;
    bottom: 0;
}
.checkpoint_neko_fukidashi {
    width: 451rem;
    height: 327rem;
    background: url(../images/03/checkpoint_neko_fukidashi_bg.png) no-repeat center / contain;
    position: absolute;
    top: 0;
    left: 38rem;
    padding: 80rem 0 0 60rem;
}
.checkpoint_neko_fukidashi_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.checkpoint_neko_txt {
    width: 196rem;
    position: absolute;
    top: -18rem;
    right: 55rem;
}
.checkpoint_box_txt2 {
    font-size: 28rem;
    line-height: calc(64/28);
    text-align: center;
    white-space: nowrap;
    margin-top: 30rem;
}
.checkpoint_box {
    margin-top: 110rem;
    position: relative;
}
.checkpoint_box_ttl {
    text-align: center;
    font-size: 40rem;
    font-weight: 600;
    line-height: calc(80/40);
    letter-spacing: 0.1em;
}
.checkpoint_box_ttl_l {
    font-size: 48rem;
}
.checkpoint_box_list > li {
    padding-block: 55rem;
    position: relative;
}
.checkpoint_box_list > li:last-child {
    padding-bottom: 0;
}
.checkpoint_box_list > li + li::before {
    content: '';
    display: block;
    width: 100%;
    height: 4rem;
    border-top: 4rem dotted var(--color-black);
    position: absolute;
    top: 0;
    left: 0;
}
.checkpoint_box_list_ttl {
    padding-left: 80rem;
    font-size: 38rem;
    line-height: calc(64/38);
    position: relative;
}
.checkpoint_box_list_ttl::before {
    content: '';
    width: 58rem;
    height: 71rem;
    background: url(../images/03/checkpoint_box_list_icon.svg) no-repeat 50% / contain;
    display: block;
    position: absolute;
    top: -10rem;
    left: 0;
}
.checkpoint_box_list_txt {
    margin-top: 20rem;
    font-size: 28rem;
    line-height: calc(64/28);
}
.checkpoint_explanation {
    margin-top: 170rem;
}
.checkpoint_explanation_dot {
    top: -100rem;
    right: -77rem;
}
.subsidy {
    margin-top: 214rem;
    position: relative;
}
.subsidy_dot {
    top: -150rem;
    left: -80rem;
}
.subsidy_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -180rem;
    right: -114rem;
}
.subsidy_txt {
    font-weight: 500;
    font-size: 48rem;
    line-height: calc(72/48);
    text-align: center;
}
.subsidy_txt_tag {
    width: 297rem;
    margin-bottom: 28rem;
    padding-block: 10rem;
    font-size: 40rem;
    border-radius: 16rem;
    background-color: var(--color-white);
    display: inline-block;
}
.subsidy_neko {
    height: 362rem;
    width: 100%;
    margin-top: -10rem;
    position: relative;
}
.subsidy_neko_img {
    position: absolute;
    top: 0;
    right: 58rem;
    width: 293rem;
}
.subsidy_coin {
    position: absolute;
    left: 50rem;
    bottom: 0;
    width: 429rem;
}
.subsidy_list {
    display: flex;
    flex-direction: column;
    gap: 64rem;
    margin-top: 65rem;
}
.subsidy_list li {
    width: 646rem;
    background-color: var(--color-white);
    padding: 70rem 56rem 60rem;
}
.subsidy_list li:nth-child(odd) {
    margin-right: auto;
    border-top-right-radius: 40rem;
    border-bottom-right-radius: 40rem;
    --point-color: var(--color-orange);
}
.subsidy_list li:nth-child(even) {
    margin-left: auto;
    border-top-left-radius: 40rem;
    border-bottom-left-radius: 40rem;
    --point-color: var(--color-green);
}
.subsidy_list_ttl {
    display: flex;
    gap: 30rem;
    align-items: flex-end;
    color: var(--point-color);
    padding-bottom: 28rem;
    position: relative;
}
.subsidy_list_ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 4rem;
    border-top: 4rem dotted var(--color-black);
    position: absolute;
    left: 0;
    bottom: 0;
}
.subsidy_list_ttl_num {
    font-size: 120rem;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.subsidy_list_ttl_txt {
    padding-bottom: 16rem;
    font-size: 46rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
}
.subsidy_list_txt {
    font-size: 28rem;
    line-height: calc(64/28);
    margin-top: 28rem;
}
.subsidy_explanation {
    margin-top: 140rem;
}
.subsidy_explanation_dot {
    top: -120rem;
    right: -55rem;
}
.subsidy_check_neko_area {
    width: 684rem;
    margin: 114rem 0 0 auto;
    line-height: 0;
    position: relative;
}
.subsidy_check_neko {
    width: 336rem;
    position: absolute;
    top: 0;
    left: 140rem;
}
.subsidy_check_explanation_dot {
    top: 219rem;
    right: -75rem;
}
/* checkpoint animation */
.animation_ready.animation_loaded .checkpoint_neko_img.is_animated {
    animation: checkpoint_neko_img 1s linear forwards;
}
.animation_ready.animation_loaded .subsidy_neko_img.is_animated {
    animation: checkpoint_neko_img 1s linear forwards;
}
@keyframes checkpoint_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}
.animation_ready.animation_loaded .subsidy_check_neko.is_animated {
    animation: subsidy_check_neko 1s linear forwards;
    transform-origin: bottom center;
    --doubt-neko-rotate: -3deg;
}
@keyframes subsidy_check_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--doubt-neko-rotate);
    }
}
.animation_ready .checkpoint_box_list > li::before {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .checkpoint_box_list > li.is_animated::before {
    clip-path: var(--clip-path-full);
}
.animation_ready .subsidy_list_ttl::after {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .subsidy_list_ttl.is_animated::after {
    clip-path: var(--clip-path-full);
}

/* future */
.outline {
    margin-top: -170rem;
}
.outline_dot {
    top: -450rem;
    left: -106rem;
}
.outline_deco_triangle {
    top: -120rem;
    right: -115rem;
}
.future_neko {
    height: 539rem;
    width: 100%;
    position: relative;
    margin-top: 60rem;
}
.future_neko_img {
    width: 239rem;
    position: absolute;
    left: 208rem;
    bottom: 0;
}
.future_neko_fukidashi {
    background: no-repeat center / contain;
    position: absolute;
}
.future_neko_fukidashi1 {
    width: 289rem;
    height: 225rem;
    background-image: url(../images/03/future_neko_fukidashi_bg1.png);
    top: 57rem;
    left: -17rem;
    padding: 65rem 0 0 30rem;
}
.future_neko_fukidashi2 {
    width: 289rem;
    height: 225rem;
    background-image: url(../images/03/future_neko_fukidashi_bg2.png);
    top: 0;
    left: 232rem;
    padding: 45rem 0 0 55rem;
}
.future_neko_fukidashi3 {
    width: 242rem;
    height: 181rem;
    background-image: url(../images/03/future_neko_fukidashi_bg3.png);
    top: 134rem;
    left: 413rem;
    padding: 50rem 0 0 40rem;
}
.future_neko_fukidashi_txt {
    font-size: 26rem;
    line-height: calc(40/26);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.future_neko_txt {
    width: 44rem;
    position: absolute;
    left: 178rem;
    bottom: 110rem;
}
/* future animation */
.animation_ready .future_neko_fukidashi1 {
    transition-delay: 0.1s;
}
.animation_ready .future_neko_fukidashi3 {
    transition-delay: 0.2s;
}
.animation_ready.animation_loaded .future_neko_img.is_animated {
    animation: future_neko_img 1s linear forwards;
}
@keyframes future_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}
