@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: 412rem;
    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: -159rem;
    left: 40rem;
}
.main_kv_cloud_top {
    width: 139rem;
    position: absolute;
    top: -7rem;
    left: 0;
}
.main_kv_deco_txt {
    font-size: 24rem;
    line-height: 1;
    position: absolute;
    writing-mode: vertical-rl;
    letter-spacing: 0.32em;
    top: 145rem;
}
.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: 88rem;
    display: inline-block;
    margin-top: 40rem;
    letter-spacing: 0.1em;
}
.main_kv_ttl_txt_l {
    font-size: 110rem;
    display: inline-block;
    margin-top: 48rem;
    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: 50rem;
    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_cloud_bottom {
    position: absolute;
    width: 100%;
    bottom: 220rem;
    left: 0;
    z-index: 1;
}
.main_kv_neko {
    position: absolute;
    width: 181rem;
    bottom: 17rem;
    left: 99rem;
    z-index: 2;
}
.main_kv_illust {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 3;
}
.main_kv_dot {
    position: absolute;
    top: -364rem;
    left: -21rem;
}
/* main_kv animation */
.animation_ready .main_kv_neko {
    translate: -280rem 0;
    transform-origin: bottom center;
}
.animation_ready.animation_loaded .main_kv_neko.is_animated {
    animation: main_kv_neko 1s steps(1) forwards;
}
@keyframes main_kv_neko {
    0% {
        translate: -280rem 0;
    }
    25% {
        translate: -210rem 0;
        rotate: 10deg;
    }
    50% {
        translate: -140rem 0;
        rotate: -10deg;
    }
    75% {
        translate: -70rem 0;
        rotate: 10deg;
    }
    100% {
        translate: 0rem 0;
    }
}

/* doubt */
.doubt_deco_dot1 {
    top: -22rem;
    right: -49rem;
}
.doubt_fukidashi_neko_block {
    width: 100%;
    height: 293rem;
    position: relative;
    margin-top: 125rem;
}
.doubt_fukidashi_neko {
    width: 366rem;
    height: 265rem;
    position: absolute;
    top: -2rem;
    left: 73rem;
    background: url(../images/01/doubt_fukidashi_neko_bg.svg) no-repeat center / contain;
    display: flex;
    justify-content: center;
    align-items: center;
}
.doubt_fukidashi_neko_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.doubt_fukidashi_neko_img_wrap {
    position: absolute;
    width: 179rem;
    top: 0;
    left: 472rem;
}
.doubt_fukidashi_neko_deco {
    width: 93rem;
    position: absolute;
    top: -62rem;
    left: 49rem;
}
.doubt_fukidashi_list {
    display: flex;
    flex-direction: column;
    gap: 24rem;
    margin-top: 78rem;
}
.doubt_fukidashi_list li {
    width: 543rem;
    height: 246rem;
    padding-bottom: 37rem;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0 37rem 69rem;
}
.doubt_fukidashi_list li:nth-child(even) {
    margin-left: auto;
}
.doubt_fukidashi_list_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.doubt_fukidashi_list_bg_path {
    fill-rule: evenodd;
}
.doubt_fukidashi_list li:nth-child(even) .doubt_fukidashi_list_bg {
    scale: -1 1;
}
.doubt_fukidashi_list li:nth-child(odd) .doubt_fukidashi_list_bg_path {
    fill: #fd6818;
}
.doubt_fukidashi_list li:nth-child(even) .doubt_fukidashi_list_bg_path {
    fill: #8cd601;
}
.doubt_fukidashi_list_txt {
    position: relative;
    z-index: 1;
    font-size: 32rem;
    line-height: calc(56/32);
    color: var(--color-white);
    width: 400rem;
}
.doubt_fukidashi_list li:nth-child(odd) .doubt_fukidashi_list_txt {
    color: var(--color-white);
}
.doubt_fukidashi_list li:nth-child(even) .doubt_fukidashi_list_txt {
    color: var(--color-black);
}
.doubt_fukidashi_list li::after {
    content: "";
    display: block;
    position: absolute;
}
.doubt_fukidashi_list li:nth-child(odd)::after {
    width: 47rem;
    height: 75rem;
    top: 24rem;
    right: -72rem;
    background: url(../images/01/doubt_fukidashi_list_deco_odd.svg) no-repeat center / contain;
}
.doubt_fukidashi_list li:nth-child(even)::after {
    width: 81rem;
    height: 123rem;
    top: 34rem;
    left: -100rem;
    background: url(../images/01/doubt_fukidashi_list_deco_even.svg) no-repeat center / contain;
}
.doubt_fukidashi_area_bottom {
    margin-top: 64rem;
    font-size: 48rem;
    font-weight: 600;
}
.doubt_fukidashi_area_bottom_ttl {
    display: flex;
    justify-content: center;
}
.doubt_fukidashi_area_bottom_ttl_txt {
    font-size: 48rem;
    line-height: 1;
    padding-inline: 10rem;
    padding-bottom: 32rem;
    position: relative;
    letter-spacing: 0.1em;
}
.doubt_fukidashi_area_bottom_ttl_txt::after {
    content: "";
    display: block;
    width: 100%;
    height: 4rem;
    background: url(../images/01/doubt_fukidashi_area_bottom_ttl_txt_border.svg) no-repeat center / 100% 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.doubt_fukidashi_area_bottom_txt {
    line-height: calc(88/48);
    margin-top: 26rem;
    text-align: center;
}
.doubt_fukidashi_area_bottom_neko {
    margin-top: 76rem;
}
.doubt_fukidashi_area_bottom_neko_img {
    width: 711rem;
    margin-left: auto;
    position: relative;
}
.doubt_fukidashi_area_bottom_neko_deco_wrap {
    width: 94rem;
    height: 117rem;
    position: absolute;
    top: -35rem;
    left: 158rem;
}
.doubt_fukidashi_area_bottom_neko_deco {
    position: absolute;
}
.doubt_fukidashi_area_bottom_neko_deco1 {
    top: 0;
    left: 0;
    width: 94rem;
}
.doubt_fukidashi_area_bottom_neko_deco2 {
    top: 85rem;
    left: 44rem;
    width: 19rem;
}
.doubt_fukidashi_area_bottom_neko_deco3 {
    bottom: 0;
    left: 59rem;
    width: 17rem;
}
.doubt_first {
    margin-top: 182rem;
}
.doubt_first_kv {
    padding-bottom: 460rem;
    position: relative;
}
.doubt_first_kv_txt {
    text-align: center;
    font-size: 48rem;
    line-height: calc(88/48);
    letter-spacing: 0.1em;
}
.doubt_first_kv_fukidashi {
    display: inline-block;
    position: relative;
}
.doubt_first_kv_txt_fukidashi {
    display: inline-block;
    position: relative;
}
.doubt_first_kv_txt_fukidashi::before,
.doubt_first_kv_txt_fukidashi::after {
    content: "";
    display: block;
    width: 4rem;
    height: 44rem;
    background-color: var(--color-black);
    position: absolute;
    bottom: 20rem;
    border-radius: 100rem;
}
.doubt_first_kv_txt_fukidashi::before {
    right: -44rem;
    rotate: 30deg;
}
.doubt_first_kv_txt_fukidashi::after {
    left: -44rem;
    rotate: -30deg;
}
.doubt_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;
}
.doubt_first_kv_illust {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.doubt_first_kv_neko {
    width: 236rem;
    position: absolute;
    bottom: -53rem;
    left: 51rem;
    line-height: 0;
    z-index: 1;
}
.doubt_first_kv_fukidashi {
    width: 267rem;
    height: 198rem;
    position: absolute;
    bottom: 244rem;
    left: 48rem;
    background: url(../images/01/doubt_first_kv_neko_fukidashi.png) no-repeat center / contain;
    padding: 49rem 0 0 46rem;
}
.doubt_first_kv_fukidashi_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    font-weight: 700;
}
.doubt_first_box {
    margin-top: 113rem;
    position: relative;
}
.doubt_first_box_en {
    width: 172rem;
    position: absolute;
    top: -26rem;
    right: 46rem;
}
.doubt_first_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/01/fukidashi_line.svg) no-repeat bottom center / 100% auto;
}
.doubt_first_box_txt {
    margin-top: 35rem;
    text-align: center;
    font-size: 28rem;
    line-height: calc(64/28);
}
.doubt_first_box_txt strong {
    font-weight: 600;
    font-size: 44rem;
    line-height: calc(60/44);
}
.doubt_first_triangle {
    width: 450rem;
    height: 224rem;
    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: 94rem auto 0;
    padding-top: 39rem;
}
.doubt_first_triangle_txt {
    color: var(--color-white);
    font-size: 40rem;
    line-height: calc(52/40);
    letter-spacing: 0.1em;
    text-align: center;
}
.doubt_first_dot1 {
    top: 205rem;
    left: -23rem;
}
.doubt_first_dot2 {
    top: 826rem;
    right: -93rem;
}
/* doubt animation */
.animation_ready.animation_loaded .doubt_fukidashi_neko_block.is_animated .doubt_fukidashi_neko_img {
    animation: doubt_fukidashi_neko_img 1s linear forwards;
    transform-origin: bottom center;
    --doubt-neko-rotate: -3deg;
}
@keyframes doubt_fukidashi_neko_img {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--doubt-neko-rotate);
    }
}
.animation_ready .doubt_fukidashi_area_bottom_ttl_txt::after {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .doubt_fukidashi_area_bottom_ttl_txt.is_animated::after {
    clip-path: var(--clip-path-full);
}
.animation_ready .doubt_fukidashi_area_bottom_neko_deco {
    opacity: 0;
    transition: opacity 0.6s;
}
.animation_ready.animation_loaded .doubt_fukidashi_area_bottom_neko_img.is_animated .doubt_fukidashi_area_bottom_neko_deco {
    opacity: 1;
}
.animation_ready .doubt_fukidashi_area_bottom_neko_deco2 {
    transition-delay: 0.2s;
}
.animation_ready .doubt_fukidashi_area_bottom_neko_deco1 {
    transition-delay: 0.4s;
}
.animation_ready.animation_loaded .doubt_first_kv_neko.is_animated {
    --doubt-first-neko-rotate: 3deg;
    animation: doubt_first_kv_neko 1s linear forwards;
    transform-origin: bottom center;
}
@keyframes doubt_first_kv_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--doubt-first-neko-rotate);
    }
}

/* about */
.about_dot {
    top: -222rem;
    left: -49rem;
}
.about_deco_triangle {
    top: -329rem;
    right: -160rem;
    width: 334rem;
    height: 667rem;
}
.about_txt {
    font-size: 40rem;
    line-height: calc(72/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 47rem;
    padding-bottom: 33rem;
    position: relative;
}
.about_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;
}
.about_block_wrap {
    display: flex;
    flex-direction: column;
    gap: 100rem;
    margin-top: 80rem;
}
.about_block_illust {
    position: relative;
    width: 100%;
}
.about_block1_illust {
    height: 530rem;
}
.about_block2_illust {
    height: 538rem;
}
.about_block3_illust {
    height: 537rem;
}
.about_block1_illust_img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.about_block2_illust_img {
    position: absolute;
    top: 155rem;
    left: 47rem;
    width: 556rem;
}
.about_block3_illust_img {
    position: absolute;
    top: 141rem;
    left: 215rem;
    width: 379rem;
}
.about_block1_en {
    width: 180rem;
    position: absolute;
    right: 44rem;
    top: 37rem;
}
.about_block2_en {
    width: 141rem;
    position: absolute;
    left: 68rem;
    top: 67rem;
}
.about_block3_en {
    width: 274rem;
    position: absolute;
    left: 86rem;
    bottom: -6rem;
}
.about_block1_neko {
    position: absolute;
    width: 278rem;
    left: 375rem;
    bottom: -9rem;
}
.about_block2_neko {
    position: absolute;
    width: 249rem;
    left: 105rem;
    bottom: 0;
}
.about_block3_neko {
    position: absolute;
    width: 254rem;
    left: 415rem;
    bottom: 0;
}
.about_block_illust_txt_area {
    position: absolute;
    top: 0;
    display: flex;
    flex-direction: column;
}
.about_block_wrap .about_block:nth-of-type(odd) .about_block_illust_txt_area {
    left: 56rem;
}
.about_block_wrap .about_block:nth-of-type(even) .about_block_illust_txt_area {
    right: 56rem;
}
.about_block_illust_txt,
.about_block_illust_txt_main {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-white);
}
.about_block_illust_txt {
    font-size: 56rem;
    line-height: 1;
    letter-spacing: 0.1em;
    --txt-width: 96rem;
}
.about_block_illust_txt_main {
    --txt-main-width: 190rem;
}
.about_block_wrap .about_block:nth-of-type(odd) .about_block_illust_txt {
    height: var(--txt-width);
    padding-inline: 24rem;
}
.about_block_wrap .about_block:nth-of-type(odd) .about_block_illust_txt_main {
    width: var(--txt-main-width);
    padding-block: 4rem 22rem;
}
.about_block_wrap .about_block:nth-of-type(even) .about_block_illust_txt {
    width: var(--txt-width);
    padding-inline: 15rem 24rem;
    writing-mode: vertical-rl;
}
.about_block_wrap .about_block:nth-of-type(even) .about_block_illust_txt_main {
    height: var(--txt-main-width);
    padding-inline: 20rem 17rem;
}
.about_block_wrap .about_block:nth-of-type(even) .about_block_illust_txt_area {
    align-items: flex-end;
}
.about_block_wrap .about_block:nth-of-type(even) .about_block_illust_txt {
    order: 1;
}
.about_block1_illust_txt_img {
    width: 147rem;
}
.about_block2_illust_txt_img {
    width: 298rem;
}
.about_block3_illust_txt_img {
    width: 144rem;
}
.about_block_txt_area {
    margin-top: 44rem;
    display: flex;
    flex-direction: column;
    gap: 25rem;
}
.about_block_txt {
    font-size: 28rem;
    line-height: calc(64/28);
}
.about_block_txt_note {
    font-size: 24rem;
    line-height: calc(40/24);
}
.about_box {
    margin-top: 100rem;
}
.about_box_fukdiashi {
    text-align: center;
}
.about_box_fukdiashi_txt {
    display: inline-block;
    line-height: 1;
    font-size: 56rem;
    letter-spacing: 0.1em;
    position: relative;
    font-weight: 600;
}
.about_box_fukdiashi_txt::before,
.about_box_fukdiashi_txt::after {
    content: "";
    display: block;
    width: 4rem;
    height: 44rem;
    background-color: var(--color-black);
    position: absolute;
    bottom: 0;
    border-radius: 100rem;
}
.about_box_fukdiashi_txt::before {
    right: -44rem;
    rotate: 30deg;
}
.about_box_fukdiashi_txt::after {
    left: -44rem;
    rotate: -30deg;
}
.about_box_txt {
    margin-top: 32rem;
    text-align: center;
    font-size: 28rem;
    line-height: calc(56/28);
    font-weight: 600;
    letter-spacing: 0.1em;
}
.about_box_txt strong {
    font-size: 56rem;
    line-height: calc(88/56);
    font-weight: 600;
}
.about_box_graph {
    display: flex;
    margin-top: 50rem;
}
.about_box_graph_block1 {
    display: flex;
    flex-direction: column;
    gap: 12rem;
    position: relative;
    width: 298rem;
}
.about_box_graph_block1_box {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24rem;
    background-color: var(--main-bg);
    height: 103rem;
}
.about_box_graph_block1_1 {
    padding-bottom: 7rem;
}
.about_box_graph_block1_2 {
    padding-top: 7rem;
}
.about_box_graph_block1_txt {
    font-size: 24rem;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.about_box_graph_block1_icon {
    width: 61rem;
    height: 61rem;
    border-radius: 50%;
    background-color: var(--color-black);
    position: absolute;
    inset: 0;
    margin: auto;
}
.about_box_graph_block1_icon::before,
.about_box_graph_block1_icon::after {
    content: "";
    display: block;
    width: 24rem;
    height: 4rem;
    border-radius: 100rem;
    background-color: var(--color-white);
    position: absolute;
    inset: 0;
    margin: auto;
}
.about_box_graph_block1_icon::after {
    rotate: 90deg;
}
.about_box_graph_block2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 67rem;
}
.about_box_graph_block2_arrow {
    width: 33rem;
}
.about_box_graph_block3 {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24rem;
    background-color: var(--main-bg);
    width: 178rem;
}
.about_box_graph_block3_txt {
    font-size: 40rem;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.about_connect_line_area {
    width: 100%;
    height: 456rem;
    position: relative;
    margin-top: 123rem;
}
.about_connect_line_fukdiashi {
    width: 330rem;
    height: 238rem;
    padding: 74rem 0 0 47rem;
    background: url(../images/01/about_connect_line_fukidashi_bg.svg) no-repeat center / contain;
    position: absolute;
    top: 0;
    left: 93rem;
}
.about_connect_line_fukdiashi_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    font-weight: 600;
}
.about_connect_line_neko {
    width: 195rem;
    position: absolute;
    top: 4rem;
    left: 441rem;
}
.about_connect_line {
    bottom: 0;
    right: 0;
    position: absolute;
    width: 695rem;
}
.about_explanation {
    margin-top: 140rem;
}
.about_explanation_dot {
    top: 162rem;
    right: -53rem;
}
/* about animation */
.animation_ready .about_txt::after {
    scale: 0 1;
    transition: scale 0.3s;
}
.animation_ready.animation_loaded .about_txt.is_animated::after {
    scale: 1 1;
}
.animation_ready.animation_loaded .about_connect_line_neko.is_animated {
    animation: about_connect_line_neko 1s linear forwards;
}
@keyframes about_connect_line_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        translate: 0 0;
    }
    10%, 30%, 70%, 90% {
        translate: 0 -10rem;
    }
}

/* simulate */
.simulate_dot {
    left: -79rem;
    top: -155rem;
}
.simulate_deco_triangle {
    width: 225rem;
    height: 450rem;
    top: -155rem;
    left: 608rem;
}
.simulate_cont {
    padding-top: 470rem;
    margin-top: 80rem;
    position: relative;
}
.simulate_cont::before {
    content: "";
    display: block;
    background: url(../images/01/simulate_house.svg) no-repeat center bottom / 100% auto;
    width: 100%;
    height: 470rem;
    position: absolute;
    top: 0;
    left: 0;
}
.simulate_cont_bg {
    margin-top: -197rem;
    background-color: var(--color-white);
    padding-bottom: 120rem;
}
.simulate_try {
    position: relative;
}
.simulate_try_ttl {
    font-size: 48rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: calc(72/48);
    width: 550rem;
    margin-inline: auto;
    padding-bottom: 69rem;
    background: url(../images/01/fukidashi_line.svg) no-repeat center bottom / 100% auto;
}
.simulate_try_en {
    width: 213rem;
    position: absolute;
    top: -87rem;
    left: 144rem;
}
.simulate_try_dot {
    top: -46rem;
    right: -79rem;
}
.simulate_try_example_txt {
    text-align: center;
    margin-top: 37rem;
    letter-spacing: 0.1em;
    font-size: 48rem;
}
.simulate_try_example_family {
    font-size: 64rem;
    position: relative;
}
.simulate_try_example_family::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:linear-gradient(transparent 70%, var(--main-bg) 70%);
}
.simulate_try_example_family_txt {
    position: relative;
    z-index: 1;
}
.simulate_try_info {
    margin-top: 53rem;
    padding-top: 417rem;
    position: relative;
}
.simulate_try_info_box {
    background-color: var(--color-gray);
    border-radius: 32rem;
    padding: 73rem 47rem;
    position: relative;
}
.simulate_try_info_box_illust {
    width: 109rem;
    height: 276rem;
    background: url(../images/01/simulate_try_info_deco.png) no-repeat center bottom / contain;
    position: absolute;
    bottom: 0;
    right: 73rem;
}
.simulate_try_info_family {
    width: 535rem;
    height: 431rem;
    position: absolute;
    top: 0;
    left: 112rem;
}
.simulate_try_info_father {
    width: 276rem;
    position: absolute;
    top: 0;
    left: 0;
}
.simulate_try_info_mother {
    width: 239rem;
    position: absolute;
    bottom: 2rem;
    right: 0;
}
.simulate_try_info_kids {
    width: 158rem;
    position: absolute;
    bottom: 9rem;
    left: 204rem;
}
.simulate_try_info_list {
    display: flex;
    flex-direction: column;
    gap: 13rem;
}
.simulate_try_info_list li {
    font-size: 28rem;
    line-height: calc(42/28);
    letter-spacing: 0.1em;
    padding-left: 1em;
    text-indent: -1em;
}
.simulate_result {
    margin-top: 107rem;
    padding-inline: 40rem;
    position: relative;
}
.simulate_result_dot1 {
    top: 274rem;
    left: 16rem;
}
.simulate_result_dot2 {
    top: 2594rem;
    right: -97rem;
}
.simulate_result_deco_triangle1 {
    top: 585rem;
    right: 0;
    width: 225rem;
    height: 451rem;
}
.simulate_result_deco_triangle2 {
    top: 1774rem;
    left: 0;
    width: 225rem;
    height: 451rem;
}
.simulate_result_ttl {
    font-size: 56rem;
    line-height: calc(80/56);
    letter-spacing: 0.1em;
    text-align: center;
    padding-bottom: 65rem;
    background: url(../images/01/fukidashi_line_l.svg) no-repeat center bottom / 100% auto;
}
.simulate_detail {
    margin-top: 47rem;
    position: relative;
    z-index: 1;
}
.simulate_detail_box {
    padding: 73rem 48rem 82rem;
    border: 6rem dotted var(--color-black);
    border-radius: 32rem;
    background-color: rgba(255, 252, 244, 0.9);
}
.simulate_detail_box + .simulate_detail_box {
    margin-top: 45rem;
}
.simulate_detail_info {
    display: flex;
    flex-direction: column;
    gap: 16rem;
}
.simulate_detail_info_block {
    display: flex;
    justify-content: space-between;
    gap: 16rem;
    align-items: center;
    padding: 26rem 30rem;
    background-color: #ffe8a5;
}
.simulate_detail_info_label {
    font-size: 32rem;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: 700;
}
.simulate_detail_info_num {
    font-size: 32rem;
    line-height: 1;
}
.simulate_detail_dl_wrap {
    margin-top: 80rem;
}
.simulate_detail_dl_wrap dl {
    display: flex;
    flex-direction: column;
}
.simulate_detail .font_mont {
    font-weight: 500;
}
.simulate_detail_dl1 {
    --color-simulate-detail: var(--color-simulate-orange);
}
.simulate_detail_dl1 dt {
    color: var(--color-white);
}
.simulate_detail_dl2 {
    --color-simulate-detail: var(--color-simulate-green);
}
.simulate_detail_dl2 dt {
    color: var(--color-black);
}
.simulate_detail_dl_wrap dt {
    padding: 26rem 30rem;
    background-color: var(--color-simulate-detail);
    display: flex;
    justify-content: space-between;
    gap: 24rem;
    align-items: center;
}
.simulate_detail_dl_label {
    font-size: 32rem;
    letter-spacing: 0.1em;
    line-height: 1;
}
.simulate_detail_dl_price {
    font-size: 28rem;
    letter-spacing: 0.1em;
    line-height: 1;
}
.simulate_detail_breakdown {
    padding: 38rem 30rem 47rem 30rem;
    display: flex;
    flex-direction: column;
    gap: 30rem;
}
.simulate_detail_dd_label {
    font-size: 24rem;
    line-height: 1;
    letter-spacing: 0.1em;
    white-space: nowrap;
}
.simulate_detail_dd_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 42rem;
}
.simulate_detail_dd_list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30rem;
}
.simulate_detail_dd_list_label,
.simulate_detail_dd_list_price {
    font-size: 28rem;
    line-height: 1;
    letter-spacing: 0.1em;
}
.simulate_detail_total {
    margin-top: 56rem;
    border-top: 2rem solid #ccc;
    padding-top: 64rem;
}
.simulate_detail_total_fukidashi {
    text-align: center;
}
.simulate_detail_total_fukidashi_txt {
    display: inline-block;
    position: relative;
    font-size: 40rem;
    line-height: 1;
    letter-spacing: 0.1em;
}
.simulate_detail_total_fukidashi_txt::before,
.simulate_detail_total_fukidashi_txt::after {
    content: "";
    display: block;
    width: 4rem;
    height: 44rem;
    background-color: var(--color-black);
    position: absolute;
    bottom: 0;
    border-radius: 100rem;
}
.simulate_detail_total_fukidashi_txt::before {
    left: -35rem;
    rotate: -30deg;
}
.simulate_detail_total_fukidashi_txt::after {
    right: -35rem;
    rotate: 30deg;
}
.simulate_detail_total_price {
    font-weight: 700;
    font-size: 40rem;
    line-height: 1;
    margin-top: 40rem;
    text-align: center;
}
.simulate_detail_total_price strong {
    font-weight: 500;
    font-size: 120rem;
    line-height: 1;
}
.simulate_detail_total_note {
    font-size: 24rem;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 32rem;
    text-align: right;
}
.simulate_detail_arrow {
    width: 149rem;
    height: 74rem;
    margin: 45rem auto 48rem;
    background-image: linear-gradient(0deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.simulate_table {
    table-layout: fixed;
    width: 100%;
}
.simulate_table th,
.simulate_table td {
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.simulate_table_head {
    padding-block: 40rem;
    color: var(--color-white);
    font-size: 32rem;
}
.simulate_table .simulate_table_head:nth-of-type(1),
.simulate_table .simulate_table_result:nth-of-type(1) {
    background-color: var(--color-simulate-orange);
}
.simulate_table .simulate_table_head:nth-of-type(2),
.simulate_table .simulate_table_result:nth-of-type(2) {
    background-color: var(--color-simulate-green);
    color: var(--color-black);
}
.simulate_table_label {
    font-size: 28rem;
    padding: 24rem;
    background-color: var(--main-bg);
}
.simulate_table_about {
    padding: 40rem 10rem;
    background-color: #fffcf4;
    font-size: 28rem;
    letter-spacing: 0.12em;
    text-align: center;
}
.simulate_table_about + .simulate_table_about {
    border-left: 4rem dotted #ccc;
}
.simulate_table_num {
    font-size: 40rem;
    letter-spacing: 0.12em;
}
.simulate_table_result {
    padding: 54rem 10rem;
    font-size: 28rem;
    color: var(--color-white);
    text-align: center;
}
.simulate_detail_last {
    margin-top: 98rem;
    padding-inline: 16rem;
}
.simulate_detail_last_block + .simulate_detail_last_block,
.simulate_detail_last_accordion + .simulate_detail_last_block {
    margin-top: 87rem;
    padding-top: 85rem;
    border-top: 4rem dotted var(--color-black);
}
.simulate_detail_last_txt1 {
    font-size: 48rem;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 1;
}
.simulate_detail_last_fukdiashi {
    text-align: center;
    margin-top: 58rem;
}
.simulate_detail_last_fukidashi_txt {
    display: inline-block;
    position: relative;
    font-size: 40rem;
    line-height: 1;
    letter-spacing: 0.1em;
}
.simulate_detail_last_fukidashi_txt::before,
.simulate_detail_last_fukidashi_txt::after {
    content: "";
    display: block;
    width: 4rem;
    height: 44rem;
    background-color: var(--color-black);
    position: absolute;
    bottom: 0;
    border-radius: 100rem;
}
.simulate_detail_last_fukidashi_txt::before {
    left: -35rem;
    rotate: -30deg;
}
.simulate_detail_last_fukidashi_txt::after {
    right: -35rem;
    rotate: 30deg;
}
.simulate_detail_last_price {
    text-align: center;
    font-size: 40rem;
    font-weight: 700;
    line-height: 1;
    position: relative;
    margin-top: 40rem;
}
.simulate_detail_last_price_num {
    font-size: 120rem;
}
.simulate_detail_last_price sup {
    font-size: 24rem;
    position: absolute;
    right: 28rem;
    bottom: 65rem;
}
.simulate_detail_last_note {
    margin-top: 42rem;
    font-size: 24rem;
    line-height: calc(36/24);
    letter-spacing: 0.1em;
}
.simulate_detail_last_txt2 {
    letter-spacing: 0.1em;
    font-size: 48rem;
    line-height: calc(88/48);
    text-align: center;
}
.simulate_detail_last_txt2_num {
    font-size: 80rem;
    line-height: 1;
}
.simulate_detail_last_graph {
    width: 100%;
    margin-top: 44rem;
}
.simulate_box {
    margin-top: 120rem;
    position: relative;
}
.simulate_box_ttl {
    font-size: 56rem;
    line-height: calc(80/56);
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.1em;
    padding-bottom: 76rem;
    background: url(../images/01/fukidashi_line.svg) no-repeat center bottom / 100% auto;
}
.simulate_box_txt1 {
    font-size: 28rem;
    line-height: calc(64/28);
    margin-top: 30rem;
    text-align: center;
}
.simulate_box_txt2 {
    font-size: 38rem;
    line-height: calc(62/38);
    margin-top: 46rem;
    text-align: center;
    font-weight: 600;
}
.simulate_arrow {
    width: 322rem;
    height: 161rem;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    background-image: linear-gradient(0deg, rgb(253,108,30) 0%, rgb(250,159,1) 94%);
    margin: 77rem auto 0;
}
.simulate_box_dot {
    top: 714rem;
    right: -58rem;
}
.simulate_box_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: 235rem;
    left: -56rem;
}
.simulate_detail_last_accordion_txt {
    margin-top: 20rem;
    font-size: 28rem;
    line-height: calc(56/28);
}
.simulate_detail_last_accordion_txt_bold {
    font-weight: 700;
}
.simulate_detail_last_accordion_btn_wrap {
    margin-top: 64rem;
    display: flex;
    justify-content: center;
}
.simulate_detail_last_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;
}
.simulate_detail_last_accordion_btn::after {
    content: "算定条件を見る";
}
.simulate_detail_last_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;
}
.simulate_detail_last_accordion_btn_icon {
    width: 32rem;
    height: 32rem;
    position: relative;
    border-radius: 50%;
    background-color: var(--color-black);
}
.simulate_detail_last_accordion_btn_icon::before,
.simulate_detail_last_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;
}
.simulate_detail_last_accordion_btn_icon_close::before,
.simulate_detail_last_accordion_btn_icon_close::after {
    background-color: var(--main-bg);
}
.simulate_detail_last_accordion_btn_icon::after {
    rotate: 90deg;
}
.simulate_detail_last_accordion.is_active .simulate_detail_last_accordion_btn::after {
    content: "閉じる";
}
.simulate_detail_last_accordion.is_active .simulate_detail_last_accordion_btn_icon {
    rotate: 45deg;
}
.simulate_detail_last_accordion_txt,
.simulate_detail_last_accordion_btn_close_wrap {
    display: none;
}
.simulate_detail_last_accordion.is_active .simulate_detail_last_accordion_txt {
    display: block;
}
.simulate_detail_last_accordion.is_active .simulate_detail_last_accordion_btn_close_wrap {
    display: flex;
}
/* simulate animation */
.animation_ready .simulate_try_example_family::after {
    scale: 0 1;
    transition: scale 0.3s;
    transform-origin: left center;
}
.animation_ready.animation_loaded .simulate_try_example_family.is_animated::after {
    scale: 1;
}
.animation_ready .simulate_try_info_box_illust {
    opacity: 0;
    translate: 0 30rem;
    transition: opacity 0.5s, translate 0.5s;
}
.animation_ready.animation_loaded .simulate_try_info_box_illust.is_animated {
    opacity: 1;
    translate: 0;
}
.animation_ready .simulate_try_info_kids {
    opacity: 0;
    transition: opacity 0.5s;
}
.animation_ready.animation_loaded .simulate_try_info_family.is_animated .simulate_try_info_kids {
    opacity: 1;
}

/* point */
.point_dot {
    top: -172rem;
    left: -48rem;
}
.point_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -220rem;
    right: -72rem;
}
.point_txt {
    font-size: 40rem;
    line-height: calc(72/40);
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 47rem;
    padding-bottom: 33rem;
    position: relative;
}
.point_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;
}
.point_list {
    display: flex;
    flex-direction: column;
    gap: 64rem;
    margin-top: 80rem;
}
.point_list li {
    width: 646rem;
    background-color: var(--color-white);
    padding: 79rem 56rem 60rem;
}
.point_list li:nth-child(odd) {
    margin-right: auto;
    border-top-right-radius: 40rem;
    border-bottom-right-radius: 40rem;
    --point-color: var(--color-orange);
}
.point_list li:nth-child(even) {
    margin-left: auto;
    border-top-left-radius: 40rem;
    border-bottom-left-radius: 40rem;
    --point-color: var(--color-green);
}
.point_list_ttl {
    display: flex;
    gap: 30rem;
    align-items: flex-end;
    color: var(--point-color);
    padding-bottom: 28rem;
    position: relative;
}
.point_list_ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 4rem;
    border-top: 4rem dotted var(--color-black);
    position: absolute;
    left: 0;
    bottom: 0;
}
.point_list_ttl_num {
    font-size: 120rem;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.point_list_ttl_txt {
    font-size: 48rem;
    letter-spacing: 0.1em;
    line-height: calc(88/48);
}
.point_list_txt {
    font-size: 28rem;
    line-height: calc(64/28);
    margin-top: 28rem;
}
.point_neko_area {
    width: 684rem;
    margin: 52rem 0 0 auto;
    line-height: 0;
    position: relative;
}
.point_neko {
    width: 336rem;
    position: absolute;
    top: 13rem;
    left: 143rem;
}
.point_explanation {
    margin-top: 140rem;
}
.point_explanation_dot {
    top: 219rem;
    right: -75rem;
}
/* point animation */
.animation_ready .point_txt::after {
    scale: 0 1;
    transition: scale 0.3s;
}
.animation_ready.animation_loaded .point_txt.is_animated::after {
    scale: 1 1;
}
.animation_ready .point_list_ttl::after {
    transition: clip-path 0.3s;
    clip-path: var(--clip-path-zero);
}
.animation_ready.animation_loaded .point_list_ttl.is_animated::after {
    clip-path: var(--clip-path-full);
}
.animation_ready.animation_loaded .point_neko.is_animated {
    animation: point_neko 1s linear forwards;
    transform-origin: bottom center;
    --doubt-neko-rotate: -3deg;
}
@keyframes point_neko {
    0%, 20%, 40%, 60%, 80%, 100% {
        rotate: 0deg;
    }
    10%, 30%, 70%, 90% {
        rotate: var(--doubt-neko-rotate);
    }
}

/* misunderstood */
.misunderstood {
    padding-bottom: 68rem;
}
.misunderstood_dot {
    top: -155rem;
    left: -78rem;
}
.misunderstood_deco_triangle {
    width: 225rem;
    height: 451rem;
    top: -155rem;
    right: -83rem;
}
.misunderstood_list {
    margin-top: 114rem;
    display: flex;
    flex-direction: column;
    gap: 108rem;
}
.misunderstood_list li {
    padding: 88rem 48rem 80rem;
    background-color: var(--color-white);
    position: relative;
}
.misunderstood_list li::before,
.misunderstood_list li::after {
    content: "";
    display: block;
    width: 100%;
    height: 28rem;
    position: absolute;
    left: 0;
    border-left: 4rem solid var(--color-black);
    border-right: 4rem solid var(--color-black);
}
.misunderstood_list li::before {
    top: 0;
    border-top: 4rem solid var(--color-black);
}
.misunderstood_list li::after {
    bottom: 0;
    border-bottom: 4rem solid var(--color-black);
}
.misunderstood_list_ttl {
    width: 355rem;
    height: 72rem;
    border-radius: 100rem;
    background-color: var(--color-black);
    color: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    font-size: 32rem;
    letter-spacing: 0.1em;
    position: absolute;
    top: -34rem;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.misunderstood_list_ttl_num {
    width: 96rem;
    height: 96rem;
    border-radius: 50%;
    background-color: var(--color-white);
    color: var(--color-black);
    border: 4rem solid var(--color-black);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 56rem;
    line-height: 0;
    letter-spacing: 0;
    padding-bottom: 4rem;
}
.misunderstood_list_main_txt {
    text-align: center;
    font-size: 40rem;
    line-height: calc(80/40);
    letter-spacing: 0.1em;
}
.misunderstood_list_main_txt strong {
    font-size: 56rem;
    line-height: 1;
    font-weight: 500;
}
.misunderstood_list_main_txt strong .font_mont {
    font-weight: 500;
}
.misunderstood_list_main_txt_dot {
    display: inline-block;
    position: relative;
    padding-top: 22rem;
}
.misunderstood_list_main_txt_dot::after {
    content: "";
    display: block;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-color: var(--color-orange);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.misunderstood_list_main_txt_sub {
    font-size: 28rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.1em;
    margin-top: 22rem;
}
.misunderstood_list_img {
    width: 510rem;
    margin: 52rem auto 0;
}
.misunderstood_list_txt_area {
    margin-top: 60rem;
    padding-bottom: 140rem;
    height: 225rem;
    overflow: hidden;
    position: relative;
}
.misunderstood_list_txt {
    font-size: 28rem;
    line-height: calc(64/28);
}
.misunderstood_list_txt_btn_wrap {
    position: absolute;
    bottom: -0.4px;
    left: 0;
    width: 100%;
    text-align: center;
    padding-top: 120rem;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
}
.misunderstood_list_txt_btn {
    margin-inline: auto;
    width: 284rem;
    height: 96rem;
    border-radius: 100rem;
    background-color: var(--color-white);
    border: 4rem solid var(--color-black);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    gap: 16rem;
    font-size: 24rem;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.misunderstood_list_txt_btn_icon {
    width: 32rem;
    height: 32rem;
    border-radius: 50%;
    background-color: var(--color-black);
    position: relative;
}
.misunderstood_list_txt_btn_icon::before,
.misunderstood_list_txt_btn_icon::after {
    content: "";
    display: block;
    width: 20rem;
    height: 4rem;
    border-radius: 100rem;
    position: absolute;
    inset: 0;
    margin: auto;
    background-color: var(--color-white);
}
.misunderstood_list_txt_btn_icon::after {
    rotate: 90deg;
}
.misunderstood_list_txt_btn::after {
    content: "続きを読む";
}
.misunderstood_list_txt_area.is_active {
    height: auto;
}
.misunderstood_list_txt_area.is_active .misunderstood_list_txt_btn_wrap {
    padding-top: 0;
}
.misunderstood_list_txt_area.is_active .misunderstood_list_txt_btn_icon {
    rotate: 45deg;
}
.misunderstood_list_txt_area.is_active .misunderstood_list_txt_btn::after {
    content: "閉じる";
}
.misunderstood_explanation {
    margin-top: 140rem;
}
.misunderstood_explanation_dot {
    top: 162rem;
    right: -77rem;
}
@media (min-width: 769px) {
    @media (hover: hover) {
        .misunderstood_list_txt_btn,
        .misunderstood_list_txt_btn_icon,
        .misunderstood_list_txt_btn_icon::before,
        .misunderstood_list_txt_btn_icon::after {
            transition: color 0.4s, background-color 0.4s;
        }
        .misunderstood_list_txt_btn:hover {
            background-color: var(--color-black);
            color: var(--color-white);
        }
        .misunderstood_list_txt_btn:hover .misunderstood_list_txt_btn_icon {
            background-color: var(--color-white);
        }
        .misunderstood_list_txt_btn:hover .misunderstood_list_txt_btn_icon::before,
        .misunderstood_list_txt_btn:hover .misunderstood_list_txt_btn_icon::after {
            background-color: var(--color-black);
        }
    }
}

/* future */
.future_neko {
    height: 298rem;
    width: 100%;
    position: relative;
    margin-top: 57rem;
}
.future_neko_img {
    width: 239rem;
    position: absolute;
    top: 0;
    right: 24rem;
}
.future_neko_fukidashi {
    width: 366rem;
    height: 265rem;
    background: url(../images/01/future_neko_fukidashi_bg.png) no-repeat center / contain;
    position: absolute;
    top: 2rem;
    left: 0;
    padding: 67rem 0 0 60rem;
}
.future_neko_fukidashi_txt {
    font-size: 28rem;
    line-height: calc(44/28);
    letter-spacing: 0.1em;
    font-weight: 700;
}
.future_neko_txt {
    width: 41rem;
    position: absolute;
    top: 52rem;
    right: 8rem;
}
/* future animation */
.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;
    }
}
