@charset "utf-8";
body {
	font-size: 28rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    /* font-feature-settings: 'palt'; */
    --main-color: #7b4c3d;
    --color-green: #088c59;
    --color-red: #e60012;
    --color-yellow: #fcdd4c;
    --color-orange: #f7ba00;
    --easing-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
    color: #333;
    line-height: 1;
    background: url(../images/bg.webp) repeat-y top center / 100% auto;
}
.is_scroll_stop {
    overflow: hidden;
}
@media (min-width: 769px) {
    body {
        background: url(../images/bg.webp) repeat top center / 780rem auto;
    }
}
@media (max-width: 768px) {
    body {
        background: url(../images/bg.webp) repeat-y top center / 100% auto;
    }
}
a {
    color: #333;
    text-decoration: none;
}
button {
    font-family: "Zen Maru Gothic", sans-serif;
    border: none;
    color: #7b4c3d;
    font-weight: 900;
    padding: 0;
    background: none;
    cursor: pointer;
}
.font_noto {
    font-family: "Noto Sans JP", sans-serif;
}
/* iOSでのデフォルトアイコンを非表示にする */
details summary {
    list-style: none; /* リストスタイルの削除 */
}
summary::-webkit-details-marker {
    display: none;
}
@media screen and (min-width: 1041px) {
	html {
		font-size: 1px;
	}
}
@media screen and (max-width: 1040px) and (min-width: 769px) {
	html {
		font-size: calc(100 / 1040 * 1vw);
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size: calc(100 / 780 * 1vw);
	}
}

@media (min-width: 769px) {
    .sp_only {
        display: none !important;
    }
}
@media (max-width: 768px) {
    .pc_only {
        display: none !important;
    }
}

/* img */
picture {
    display: block;
    line-height: 0;
}
img,
svg {
    width: 100%;
    height: auto;
}

/* inner */
.inner {
    width: 100%;
}
@media (min-width: 769px) {
    .inner {
        padding-inline: 40rem;
        max-width: 1280px;
        margin-inline: auto;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .inner {
        padding-inline: 64rem;
    }
}

/* blank_icon */
.blank_icon[target="_blank"]::after {
    content: "";
    display: inline-block;
    background: url(../images/blank_icon.svg) no-repeat center / contain;
}
@media (min-width: 769px) {
    .blank_icon[target="_blank"]::after {
        width: 15rem;
        height: 13rem;
        margin-inline: 5rem;
    }
}
@media (max-width: 768px) {
    .blank_icon[target="_blank"]::after {
        width: 20rem;
        height: 18rem;
        margin-inline: 5rem;
    }
}

/* btn */
.btn_wrap {
    text-align: center;
}
.btn {
    display: inline-block;
    color: var(--btn-color, #fff);
    font-weight: 500;
    background-color: var(--btn-bg, transparent);
    border-radius: 100px;
    text-align: center;
    position: relative;
}
.btn_main {
    --btn-bg: var(--main-color);
    --btn-color: #fff;
}
.btn_white {
    --btn-bg: #fff;
    --btn-color: var(--main-color)
}
.btn_transparent {
    --btn-bg: transparent;
    --btn-color: #333;
    border: 2rem solid #333;
}
.btn:not([target="_blank"])::before,
.btn:not([target="_blank"])::after,
.btn[target="_blank"]::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
}
.btn:not([target="_blank"])::before {
    background-color: var(--btn-color);
}
.btn:not([target="_blank"])::after {
    border-radius: 50%;
    background-color: var(--btn-color);
}
.btn[target="_blank"]::after {
    background: url(../images/btn_blank_icon.svg) no-repeat center / contain;
}
@media (min-width: 769px) {
    .btn {
        padding: 17rem 72rem 17rem 65rem;
        font-size: 16rem;
        line-height: 1;
    }
    .btn:not([target="_blank"])::before {
        height: 2rem;
        width: 30rem;
        right: 24rem;
    }
    .btn:not([target="_blank"])::after {
        width: 8rem;
        height: 8rem;
        right: 23rem;
    }
    .btn[target="_blank"]::after {
        width: 15rem;
        height: 13rem;
        right: 42rem;
    }
}
@media (max-width: 768px) {
    .btn {
        padding: 17rem 86rem 17rem 65rem;
        font-size: 28rem;
        line-height: calc(42/28);
    }
    .btn:not([target="_blank"])::before {
        height: 2rem;
        width: 27rem;
        right: 33rem;
    }
    .btn:not([target="_blank"])::after {
        width: 11rem;
        height: 11rem;
        right: 29rem;
    }
    .btn[target="_blank"]::after {
        width: 21rem;
        height: 19rem;
        right: 41rem;
    }
}
/* btn */
@media (min-width: 769px) {
    @media (hover: hover) {
        .btn:not(.btn_transparent):hover {
            animation: katakata_s 0.8s steps(1) 0.6s infinite;
        }
        .btn[target="_blank"]:hover {
            animation-delay: 0s;
        }
        .btn:not(.btn_transparent):hover::before {
            animation: btn_arrow_line 0.3s forwards;
        }
        .btn:not(.btn_transparent):hover::after {
            scale: 0;
            animation: btn_arrow_circle 0.3s forwards 0.3s;
        }
        .btn[target="_blank"]:hover::after {
            scale: 1;
            animation: none;
        }
        .apply_bg {
            background-color: var(--color-red);
            border-radius: 100px;
            display: block;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            box-shadow: 0px 0px 0px var(--color-orange);
            transition: scale 0.3s, box-shadow 0.3s;
        }
        .apply_btn_txt {
            position: relative;
            z-index: 1;
        }
        .btn_apply.btn:not(.btn_transparent):hover,
        .menu_apply_btn:not(.btn_transparent):hover {
            animation-delay: 0.6s;
        }
        .btn_apply.btn:hover .apply_bg,
        .menu_apply_btn:hover .apply_bg {
            scale: 1.05;
            box-shadow: 4rem 6rem 0px var(--color-orange);
        }
        @keyframes btn_arrow_line {
            0% {
                clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
            }
            100% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            }
        }
        @keyframes btn_arrow_circle {
            0% {
                scale: 0;
            }
            100% {
                scale: 1;
            }
        }
    }
}

/* animation */
@media (min-width: 769px) {
    @media (hover: hover) {
        .link_opacity {
            transition: opacity 0.3s;
        }
        .link_opacity:hover {
            opacity: 0.7;
        }
        .link_scale_img {
            transition: scale 0.3s;
        }
        .link_scale:hover .link_scale_img {
            scale: 1.05;
        }
        .link_katakata:hover {
            animation: katakata_s 0.8s steps(1) infinite;
        }
    }
}
.animation_ready .anime_switch2,
.animation_ready .anime_switch2_sometimes {
    opacity: 0;
}
.animation_ready.animation_loaded .anime_switch1_sometimes {
    animation: anime_switch1_sometimes 5s steps(1) infinite;
}
.animation_ready.animation_loaded .anime_switch2_sometimes {
    animation: anime_switch2_sometimes 5s steps(1) infinite;
}
.animation_ready.animation_loaded .anime_switch1 {
    animation: anime_switch1 3s steps(1) infinite;
}
.animation_ready.animation_loaded .anime_switch2 {
    animation: anime_switch2 3s steps(1) infinite;
}
.animation_ready.animation_loaded .anime_katakata_sometimes {
    animation: katakata_sometimes 10s steps(1) infinite;
}
@keyframes scale_anime {
    0% {
        scale: 0;
    }
    100% {
        scale: 1;
    }
}
@keyframes katakata {
    0% {
        rotate: 0deg;
    }
    33% {
        rotate: -5deg;
    }
    66% {
        rotate: 5deg;
    }
    100% {
        rotate: 0deg;
    }
}
@keyframes katakata_s {
    0% {
        rotate: 0deg;
    }
    33% {
        rotate: -1deg;
    }
    66% {
        rotate: 1deg;
    }
    100% {
        rotate: 0deg;
    }
}
@keyframes katakata_sometimes {
    0% {
        rotate: 0deg;
    }
    80% {
        rotate: 0;
    }
    86% {
        rotate: 8deg;
    }
    93% {
        rotate: -8deg;
    }
    100% {
        rotate: 0deg;
    }
}
@keyframes katakata_sometimes_reverse {
    0% {
        rotate: 0deg;
    }
    80% {
        rotate: 0;
    }
    86% {
        rotate: -8deg;
    }
    93% {
        rotate: 8deg;
    }
    100% {
        rotate: 0deg;
    }
}
@keyframes anime_switch1 {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes anime_switch2 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes anime_switch1_sometimes {
    0% {
        opacity: 1;
    }
    80% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
@keyframes anime_switch2_sometimes {
    0% {
        opacity: 0;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}
@keyframes katakata_infinite {
    0% {
        rotate: 8deg;
    }
    50% {
        rotate: -8deg;
    }
    100% {
        rotate: 8deg;
    }
}
@keyframes katakata_infinite_reverse {
    0% {
        rotate: -8deg;
    }
    50% {
        rotate: 8deg;
    }
    100% {
        rotate: -8deg;
    }
}

/* header */
.header {
    position: relative;
}
.katene_logo {
    width: 142rem;
    position: absolute;
    z-index: 50;
}
@media (min-width: 769px) {
    .katene_logo {
        top: 40rem;
        left: 40rem;
    }
}
@media (max-width: 768px) {
    .katene_logo {
        top: 32rem;
        left: 32rem;
    }
}

/* menu_btn */
.menu_btn {
    position: fixed;
    background: url(../images/menu_bg.webp) no-repeat center / contain;
    z-index: 200;
}
.menu_btn_bar_wrap {
    position: absolute;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.menu_btn_bar {
    width: 100%;
    background-color: var(--main-color);
    border-radius: 100rem;
    display: block;
    position: absolute;
    left: 0;
}
.menu_btn_bar_wrap .menu_btn_bar:nth-child(1) {
    top: 0;
}
.menu_btn_bar_wrap .menu_btn_bar:nth-child(2) {
    bottom: 0;
}
.menu_txt {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    line-height: 1;
}
.menu_txt::after {
    content: "menu";
}
/* menu_btn on */
.menu_btn_bar {
    transition: top 0.3s, bottom 0.3s, translate 0.3s, rotate 0.3s, background-color 0.3s;
}
.menu_txt {
    transition: color 0.3s;
}
.menu_btn.is_active .menu_btn_bar {
    background-color: var(--color-green);
}
.menu_btn.is_active .menu_btn_bar:nth-child(1) {
    top: 50%;
    translate: 0 -50%;
    rotate: 30deg;
}
.menu_btn.is_active .menu_btn_bar:nth-child(2) {
    bottom: 50%;
    translate: 0 50%;
    rotate: 150deg;
}
.menu_btn.is_active .menu_txt::after {
    content: "close";
    color: var(--color-green);
}
@media (min-width: 769px) {
    .menu_btn {
        top: 32rem;
        right: 32rem;
        width: 98rem;
        height: 94rem;
    }
    .menu_btn_bar_wrap {
        width: 40rem;
        height: 20rem;
        top: 30rem;
    }
    .menu_btn_bar {
        height: 6rem;
    }
    .menu_txt {
        font-size: 16rem;
        bottom: 24rem;
    }
}
@media (max-width: 768px) {
    .menu_btn {
        top: 24rem;
        right: 24rem;
        width: 98rem;
        height: 94rem;
    }
    .menu_btn_bar_wrap {
        width: 44rem;
        height: 20rem;
        top: 28rem;
    }
    .menu_btn_bar {
        height: 6rem;
    }
    .menu_txt {
        font-size: 18rem;
        bottom: 22rem;
    }
}

/* menu */
.menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 100;
    display: none;
}
.menu::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}
.menu_inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    letter-spacing: -0.5em; /*inline-blockの隙間をなくす*/
    z-index: 1;
}
.menu_content,
.menu_inner:after {
    display: inline-block;
    vertical-align: middle;
}
.menu_inner:after {
    content: '';
    height: 100%;
}
.menu_content {
    width: 100%;
    min-height: 100vh;
}
.menu_content_inner {
    display: flex;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    width: 100%;
}
.menu_link_list {
    display: flex;
}
.menu_link_list a {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: relative;
}
.menu_link_list a[target="_blank"] .menu_link_arrow {
    display: none;
}
.menu_link_list a[target="_blank"]::after {
    content: "";
    display: block;
    background: url(../images/menu_icon_blank.svg) no-repeat center / contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
}
.menu_link_arrow {
    display: inline-block;
    border-radius: 50%;
    background-color: #fcdd4c;
    display: flex;
    justify-content: center;
    align-items: center;
}
.menu_link_arrow::after {
    content: "";
    display: block;
    rotate: -45deg;
}
.menu_apply_box {
    background-color: #fff;
    position: relative;
}
.menu_apply_txt_area {
    position: relative;
    z-index: 1;
}
.menu_apply_txt_s {
    line-height: 1;
}
.menu_apply_txt_l {
    line-height: 1;
    font-weight: 900;
    color: var(--color-green);
}
.menu_apply_fukidashi {
    position: absolute;
}
.menu_apply_date_txt {
    color: var(--color-red);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    line-height: 0;
}
.menu_apply_date_txt::before {
    content: "";
    display: block;
    background: url(../images/apply_date_arrow1.webp) no-repeat center / contain;
    position: absolute;
}
.menu_apply_date_txt::after {
    content: "";
    display: block;
    background: url(../images/apply_date_arrow2.webp) no-repeat center / contain;
    position: absolute;
}
.menu_apply_btn {
    background-color: var(--color-red);
    width: 100%;
    font-weight: 900;
}
.menu_apply_btn.btn:before,
.menu_apply_btn.btn:after {
    background-color: #fff;
    z-index: 1;
}
.menu_apply_link {
    display: flex;
    align-items: center;
}
.menu_apply_link_txt {
    text-decoration: underline;
}
.menu_apply_link_arrow {
    display: inline-block;
    position: relative;
}
.menu_apply_link_arrow::before,
.menu_apply_link_arrow::after {
    content: "";
    display: block;
    position: absolute;
    background-color: #333;
}
.menu_apply_link_arrow::before {
    top: 0;
    right: 0;
    border-radius: 50%;
}
.menu_apply_link_arrow::after {
    top: 0;
    right: 0;
    bottom: 0;
    margin-block: auto;
}
.menu_apply_link_arrow_deco {
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
    background-color: #fff;
    z-index: 1;
}
.menu_apply_link_arrow_deco::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
    background-color: #fff;
}
.menu_apply_link_arrow_anchor {
    border-radius: 50%;
    background-color: #333;
    position: relative;
}
.menu_apply_link_arrow_anchor::after {
    content: "";
    display: block;
    rotate: 45deg;
    position: absolute;
    inset: 0;
    margin: auto;
}
.menu_apply_note {
    text-align: center;
    line-height: 1.4;
    font-weight: 400;
    color: #fff;
}
.menu_apply_free {
    position: absolute;
}
@media (min-width: 769px) {
    .menu::after {
        background: url(../images/green_bg.webp) repeat top center / 780rem auto;
    }
    .menu_content {
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }    
    .menu_content_inner {
        min-height: 387rem;
        padding: 40rem 10rem;
        justify-content: center;
        gap: 40rem 80rem;
        flex-wrap: wrap;
        max-width: 1160rem;
    }
    .menu_link_area {
        width: 658rem;
    }
    .menu_link_list {
        gap: 10rem 40rem;
        flex-wrap: wrap;
    }
    .menu_link_list li {
        width: 309rem;
    }
    .menu_link_list a {
        font-size: 20rem;
        padding: 30rem 16rem;
    }
    .menu_link_list li:nth-child(1) {
        background: url(../images/menu_link_border1.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(2) {
        background: url(../images/menu_link_border2.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(3) {
        background: url(../images/menu_link_border3.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(4) {
        background: url(../images/menu_link_border4.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(5) {
        background: url(../images/menu_link_border5.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_arrow {
        width: 25rem;
        height: 25rem;
    }
    .menu_link_arrow::after {
        width: 8rem;
        height: 8rem;
        border-right: 2rem solid var(--color-green);
        border-bottom: 2rem solid var(--color-green);
        margin-right: 4rem;
        border-radius: 2rem;
    }
    .menu_apply_box {
        padding: 32rem;
        border-radius: 24rem;
        width: 384rem;
    }
    .menu_apply_txt_area {
        margin-left: 112rem;
    }
    .menu_apply_txt_s {
        font-size: 16rem;
    }
    .menu_apply_txt_l {
        font-size: 22rem;
        margin-top: 10rem;
    }
    .menu_apply_fukidashi {
        top: -16rem;
        left: -165rem;
        width: 154rem;
    }
    .menu_apply_date_txt {
        margin-top: 14rem;
        padding-right: 16rem;
    }
    .menu_apply_date_txt_m {
        font-size: 18rem;
    }
    .menu_apply_date_txt_l {
        font-size: 22rem;
    }
    .menu_apply_date_txt_s {
        font-size: 16rem;
    }
    .menu_apply_date_txt::before {
        width: 15rem;
        height: 15rem;
        top: 6rem;
        left: 49rem;
    }
    .menu_apply_date_txt::after {
        width: 12rem;
        height: 12rem;
        top: 8rem;
        right: 69rem;
    }    
    .menu_apply_day {
        width: 27rem;
        margin-inline: 3rem 4rem;
    }
    .menu_apply_btn {
        font-size: 18rem;
        margin-top: 8rem;
    }
    .menu_apply_btn.btn:before {
        right: 41rem;
    }
    .menu_apply_btn.btn:after {
        right: 40rem;
    }
    .menu_apply_link_area {
        margin-top: 16rem;
    }
    .menu_apply_link {
        gap: 7rem;
    }
    .menu_apply_link + .menu_apply_link {
        margin-top: 16rem;
    }
    .menu_apply_link_txt {
        text-underline-offset: 5rem;
    }
    .menu_apply_link_txt_l {
        font-size: 16rem;
    }
    .menu_apply_link_txt_s {
        font-size: 14rem;
    }
    .menu_apply_link_arrow {
        width: 37rem;
        height: 19rem;
    }
    .menu_apply_link_arrow::before {
        width: 19rem;
        height: 19rem;
    }
    .menu_apply_link_arrow::after {
        width: 37rem;
        height: 2rem;
    }
    .menu_apply_link_arrow_deco {
        width: 7rem;
        height: 7rem;
        right: 6rem;
    }
    .menu_apply_link_arrow_deco::after {
        right: 3rem;
        width: 10rem;
        height: 2rem;
    }
    .menu_apply_link_arrow_anchor {
        width: 19rem;
        height: 19rem;
    }
    .menu_apply_link_arrow_anchor::after {
        width: 7rem;
        height: 7rem;
        border-right: 2rem solid #fff;
        border-bottom: 2rem solid #fff;
        border-radius: 2rem;
        translate: 0 -2rem;
    }
    .menu_apply_note {
        font-size: 12rem;
        margin-top: 14rem;
    }    
    .menu_apply_free {
        width: 59rem;
        top: -8rem;
        right: 29rem;
    }   
    .menu_link_list a[target="_blank"]::after {
        width: 20rem;
        height: 18rem;
        right: 20rem;
    }
}
@media (max-width: 768px) {
    .menu::after {
        background: url(../images/green_bg.webp) repeat top center / 100% auto;
    }
    .menu_content {
        display: inline-flex;
        align-items: center;
    }
    .menu_content_inner {
        padding: 120rem 64rem 80rem;
        gap: 64rem;
        flex-direction: column;
        align-items: center;
    }
    .menu_link_area {
        width: 620rem;
    }
    .menu_link_list {
        flex-direction: column;
    }
    .menu_link_list li {
        width: 100%;
    }
    .menu_link_list a {
        font-size: 36rem;
        padding: 46rem 24rem;
    }
    .menu_link_list li:nth-child(1) {
        background: url(../images/menu_link_border1_sp.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(2) {
        background: url(../images/menu_link_border2_sp.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(3) {
        background: url(../images/menu_link_border3_sp.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(4) {
        background: url(../images/menu_link_border4_sp.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_list li:nth-child(5) {
        background: url(../images/menu_link_border5_sp.svg) no-repeat bottom center / 100% auto;
    }
    .menu_link_arrow {
        width: 40rem;
        height: 40rem;
    }
    .menu_link_arrow::after {
        width: 12rem;
        height: 12rem;
        border-right: 5rem solid var(--color-green);
        border-bottom: 5rem solid var(--color-green);
        margin-right: 4rem;
        border-radius: 4rem;
    }
    .menu_apply {
        width: 100%;
    }
    .menu_apply_box {
        padding: 46rem;
        border-radius: 24rem;
        width: 100%;
    }
    .menu_apply_txt_area {
        margin-left: 182rem;
    }
    .menu_apply_txt_s {
        font-size: 30rem;
    }
    .menu_apply_txt_l {
        font-size: 40rem;
        margin-top: 18rem;
    }
    .menu_apply_fukidashi {
        top: -26rem;
        left: -277rem;
        width: 270rem;
    }
    .menu_apply_date_txt {
        margin-top: 32rem;
        padding-left: 6rem;
    }
    .menu_apply_date_txt_m {
        font-size: 34rem;
    }
    .menu_apply_date_txt_l {
        font-size: 40rem;
    }
    .menu_apply_date_txt_s {
        font-size: 32rem;
    }
    .menu_apply_date_txt::before {
        width: 26rem;
        height: 26rem;
        top: 9rem;
        left: 94rem;
    }
    .menu_apply_date_txt::after {
        width: 22rem;
        height: 22rem;
        top: 13rem;
        right: 93rem;
    }
    .menu_apply_day {
        width: 47rem;
        margin-inline: 6rem 4rem;
    }
    .menu_apply_btn {
        font-size: 32rem;
        margin-top: 16rem;
    }
    .menu_apply_btn.btn:before {
        right: 73rem;
        width: 40rem;
        border-radius: 100px;
        height: 4rem;
    }
    .menu_apply_btn.btn:after {
        right: 72rem;
        width: 12rem;
        height: 12rem;
    }
    .menu_apply_link_area {
        margin-top: 40rem;
    }
    .menu_apply_link {
        gap: 16rem;
    }
    .menu_apply_link + .menu_apply_link {
        margin-top: 40rem;
    }
    .menu_apply_link_txt {
        text-underline-offset: 10rem;
    }
    .menu_apply_link_txt_l {
        font-size: 28rem;
    }
    .menu_apply_link_txt_s {
        font-size: 24rem;
    }
    .menu_apply_link_arrow {
        width: 58rem;
        height: 31rem;
    }
    .menu_apply_link_arrow::before {
        width: 31rem;
        height: 31rem;
    }
    .menu_apply_link_arrow::after {
        width: 57rem;
        height: 2rem;
    }
    .menu_apply_link_arrow_deco {
        width: 10rem;
        height: 10rem;
        right: 10rem;
    }
    .menu_apply_link_arrow_deco::after {
        right: 1rem;
        width: 20rem;
        height: 2rem;
    }
    .menu_apply_link_arrow_anchor {
        width: 30rem;
        height: 30rem;
    }
    .menu_apply_link_arrow_anchor::after {
        width: 12rem;
        height: 12rem;
        border-right: 3rem solid #fff;
        border-bottom: 3rem solid #fff;
        border-radius: 3rem;
        translate: 0 -2rem;
    }
    .menu_apply_note {
        font-size: 20rem;
        margin-top: 24rem;
    }
    .menu_apply_free {
        width: 103rem;
        top: -25rem;
        right: 41rem;
    }
    .menu_link_list a[target="_blank"]::after {
        width: 32rem;
        height: 28rem;
        right: 32rem;
    }
}
/* menu_link */
@media (min-width: 769px) {
    @media (hover: hover) {
        .menu_link_list a {
            transition: color 0.3s;
        }
        .menu_link_list a:hover {
            color: var(--color-yellow);
        }
    }
}
.menu .katene_logo {
    opacity: 0;
    transition: opacity 0.3s 1s;
}
.menu.is_active .katene_logo {
    opacity: 1;
}
.menu_content {
    translate: 40rem 0;
    opacity: 0;
    transition: translate 0.5s ease-out 0.8s, opacity 0.5s ease-out 0.8s;
}
.menu.is_active .menu_content {
    opacity: 1;
    translate: 0;
}
.menu::after {
    translate: 100% 0;
}
.menu.is_active::after {
    animation: menu_bg 1s steps(1) forwards;
}
@keyframes menu_bg {
    0% {
        translate: 100% 0;
        rotate: 0deg;
    }
    25% {
        translate: 75% 0;
        rotate: -10deg;
    }
    50% {
        translate: 50% 0;
        rotate: 5deg;
    }
    75% {
        translate: 25% 0;
        rotate: -5deg;
    }
    100% {
        translate: 0% 0;
        rotate: 0;
    }
}

/* main */
.main {
    overflow: hidden;
}

/* mv */
.mv {
    width: 100%;
    position: relative;
}
.mv_copy {
    width: 100%;
    position: absolute;
}
.mv_copy_curve {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.mv_cloud {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-inline: auto;
}
.mv_copy_txt {
    font-weight: 900;
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    line-height: 1;
    color: var(--main-color);
}
.mv_fukidashi {
    background: url(../images/mv_fukidashi_bg.svg) no-repeat center / contain;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mv_fukidashi_txt {
    line-height: 1;
    color: #fff;
}
.mv_fukidashi_deco1,
.mv_fukidashi_deco2 {
    position: absolute;
}
.mv_ttl {
    position: absolute;
}
.mv_heart {
    position: absolute;
}
.mv_heart_txt {
    position: absolute;
}
.mv_sub_copy {
    writing-mode: vertical-rl;
    position: absolute;
}
.mv_box {
    position: absolute;
}
.mv_neko {
    position: absolute;
}
.mv_neko_img {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: auto;
}
.mv_note {
    position: absolute;
    /* bottom: 0; */
    font-weight: 400;
}
.mv_note li {
    padding-left: 1em;
    text-indent: -1em;
}
@media (min-width: 769px) {
    .mv {
        max-width: 1240rem;
        height: 677rem;
        margin-inline: auto;
    }
    .mv_copy {
        width: 504rem;
        height: 161rem;
        top: 143rem;
        left: 50%;
        margin-left: clamp(-601rem, calc(-581rem + (20 * ((1240px - 100vw) / 40))), -581rem);
    }
    .mv_copy_curve {
        width: 377rem;
    }
    .mv_cloud {
        width: 275rem;
    }
    .mv_copy_txt {
        bottom: 35rem;
        font-size: 44rem;
    }
    .mv_copy_txt_s {
        font-size: 28rem;
    }
    .mv_copy_txt_m {
        font-size: 40rem;
    }
    .mv_fukidashi {
        width: 293rem;
        height: 64rem;
        top: 97rem;
        left: 50%;
        margin-left: clamp(187rem, calc(187rem + (20 * ((100vw - 1240px) / 40))), 207rem);
        padding-bottom: 6rem;
    }
    .mv_fukidashi_txt {
        font-size: 20rem;
    }
    .mv_fukidashi_deco1 {
        width: 39rem;
        top: 25rem;
        left: -37rem;
    }
    .mv_fukidashi_deco2 {
        width: 30rem;
        top: 8rem;
        right: -36rem;
    }
    .mv_ttl {
        width: 306rem;
        top: 342rem;
        left: 50%;
        margin-left: clamp(-516rem, calc(-496rem + (20 * ((1240px - 100vw) / 40))), -496rem);
    }
    .mv_heart {
        width: 38rem;
        top: 331rem;
        left: 50%;
        margin-left: clamp(555rem, calc(555rem + (20 * ((100vw - 1240px) / 40))), 575rem);
    }
    .mv_heart_txt {
        width: 137rem;
        top: 196rem;
        left: 50%;
        margin-left: clamp(477rem, calc(477rem + (20 * ((100vw - 1240px) / 40))), 497rem);
    }
    .mv_sub_copy {
        font-size: 24rem;
        line-height: calc(30/24);
        top: 334rem;
        left: 50%;
        margin-left: clamp(-168rem, calc(-148rem + (20 * ((1240px - 100vw) / 40))), -148rem);
    }
    .mv_sub_copy_s {
        font-size: 20rem;
        line-height: calc(30/20);
    }
    .mv_box {
        top: 0;
        left: 50%;
        width: 1021rem;
        margin-left: clamp(-84rem, calc(-84rem + (20 * ((100vw - 1240px) / 40))), -64rem);
    }
    .mv_neko {
        top: 337rem;
        left: 50%;
        width: 78rem;
        height: 139rem;
        margin-left: clamp(443rem, calc(443rem + (20 * ((100vw - 1240px) / 40))), 463rem);
    }
    .mv_note {
        width: 610rem;
        top: clamp(601rem, calc(621rem - (20 * (100vw - 1240px) / 40)), 621rem);
        left: 50%;
        margin-left: -8rem;
        font-size: 12rem;
        line-height: calc(22/12);
    }
    @media (max-width: 1240px) {
        .mv {
            max-width: calc(1280/1240*100vw);
            height: calc(670/1240*100vw);
            margin-inline: auto;
        }
        .mv_copy {
            width: calc(504/1240*100vw);
            height: calc(161/1240*100vw);
            top: calc(143/1240*100vw);
            left: 50%;
            margin-left: calc(-581/1240*100vw);
        }
        .mv_copy_curve {
            width: calc(377/1240*100vw);
        }
        .mv_cloud {
            width: calc(275/1240*100vw);
        }
        .mv_copy_txt {
            bottom: calc(35/1240*100vw);
            font-size: calc(44/1240*100vw);
        }
        .mv_copy_txt_s {
            font-size: calc(28/1240*100vw);
        }
        .mv_copy_txt_m {
            font-size: calc(40/1240*100vw);
        }
        .mv_fukidashi {
            width: calc(293/1240*100vw);
            height: calc(64/1240*100vw);
            top: calc(97/1240*100vw);
            left: 50%;
            margin-left: calc(187/1240*100vw);
            padding-bottom: calc(6/1240*100vw);
        }
        .mv_fukidashi_txt {
            font-size: calc(20/1240*100vw);
        }
        .mv_fukidashi_deco1 {
            width: calc(39/1240*100vw);
            top: calc(25/1240*100vw);
            left: calc(-37/1240*100vw);
        }
        .mv_fukidashi_deco2 {
            width: calc(30/1240*100vw);
            top: calc(8/1240*100vw);
            right: calc(-36/1240*100vw);
        }
        .mv_ttl {
            width: calc(306/1240*100vw);
            top: calc(342/1240*100vw);
            left: 50%;
            margin-left: calc(-496/1240*100vw);
        }
        .mv_heart {
            width: calc(38/1240*100vw);
            top: calc(331/1240*100vw);
            left: 50%;
            margin-left: calc(555/1240*100vw);
        }
        .mv_heart_txt {
            width: calc(137/1240*100vw);
            top: calc(196/1240*100vw);
            left: 50%;
            margin-left: calc(477/1240*100vw);
        }
        .mv_sub_copy {
            font-size: calc(24/1240*100vw);
            line-height: calc(30/24);
            top: calc(334/1240*100vw);
            left: 50%;
            margin-left: calc(-148/1240*100vw);
        }
        .mv_sub_copy_s {
            font-size: calc(20/1240*100vw);
            line-height: calc(30/20);
        }
        .mv_box {
            top: 0;
            left: 50%;
            width: calc(1021/1240*100vw);
            margin-left: calc(-84/1240*100vw);
        }
        .mv_neko {
            top: calc(337/1240*100vw);
            left: 50%;
            width: calc(78/1240*100vw);
            height: calc(139/1240*100vw);
            margin-left: calc(443/1240*100vw);
        }
        .mv_note {
            width: calc(610/1240*100vw);
            top: calc(621/1240*100vw);
            left: 50%;
            margin-left: calc(-8/1240*100vw);
            font-size: 12rem;
            line-height: calc(22/12);
        }
    }
}
@media (max-width: 768px) {
    .mv {
        height: 1854rem;
    }
    .mv_copy {
        height: 231rem;
        top: 86rem;
        left: 0;
    }
    .mv_copy_curve {
        width: 547rem;
    }
    .mv_cloud {
        width: 392rem;
    }
    .mv_copy_txt {
        bottom: 50rem;
        font-size: 64rem;
    }
    .mv_copy_txt_s {
        font-size: 40rem;
    }
    .mv_copy_txt_m {
        font-size: 56rem;
    }
    .mv_fukidashi {
        width: 465rem;
        height: 100rem;
        top: 349rem;
        left: 156rem;
        padding-bottom: 16rem;
    }
    .mv_fukidashi_txt {
        font-size: 32rem;
    }
    .mv_fukidashi_deco1 {
        width: 60rem;
        top: 39rem;
        left: -58rem;
    }
    .mv_fukidashi_deco2 {
        width: 46rem;
        top: 12rem;
        right: -59rem;
    }
    .mv_ttl {
        width: 429rem;
        top: 480rem;
        left: 0;
        right: 0;
        margin-inline: auto;
    }
    .mv_heart {
        width: 75rem;
        top: 627rem;
        left: 47rem;
    }
    .mv_heart_txt {
        width: 207rem;
        top: 744rem;
        left: -35rem;
    }
    .mv_sub_copy {
        font-size: 36rem;
        line-height: calc(48/36);
        top: 588rem;
        right: 49rem;
    }
    .mv_sub_copy_s {
        font-size: 32rem;
    }
    .mv_box {
        top: 911rem;
        left: 0;
        width: 100%;
    }
    .mv_neko {
        top: 1232rem;
        left: 561rem;
        width: 141rem;
        height: 203rem;
    }
    .mv_note {
        width: 649rem;
        left: 0;
        right: 0;
        bottom: 0;
        margin-inline: auto;
        font-size: 20rem;
        line-height: calc(35/20);
    }
}
/* mv animation */
.animation_ready .mv_cloud,
.animation_ready .mv_fukidashi_deco1,
.animation_ready .mv_fukidashi_deco2 {
    scale: 0;
}
.animation_ready.animation_loaded .mv_cloud {
    animation: mv_cloud_rotate 0.8s steps(1) forwards, scale_anime 0.8s steps(3) forwards, mv_cloud_scale 2s steps(1) 1.1s infinite;
}
.animation_ready.animation_loaded .mv_fukidashi {
    animation: katakata 0.8s steps(1) 0.8s forwards;
}
.animation_ready.animation_loaded .mv_fukidashi_deco1,
.animation_ready.animation_loaded .mv_fukidashi_deco2 {
    animation: scale_anime 0.8s steps(1) 1.1s forwards;
}
.animation_ready .mv_heart_txt {
    translate: 0 30rem;
}
.animation_ready.animation_loaded .mv_heart_txt {
    animation: mv_heart_txt 0.8s steps(1) forwards, katakata 0.8s steps(1) forwards;;
}
.animation_ready .mv_heart {
    scale: 0;
}
.animation_ready.animation_loaded .mv_heart {
    animation: scale_anime 0.8s steps(1) 1.3s forwards;
}
@keyframes mv_cloud_rotate {
    0% {
        rotate: 0deg;
    }
    33% {
        rotate: -15deg;
    }
    66% {
        rotate: 15deg;
    }
    100% {
        rotate: 0deg;
    }
}
@keyframes mv_cloud_scale {
    0% {
        scale: 1;
    }
    50% {
        scale: 1.1;
    }
    100% {
        scale: 1;
    }
}
@keyframes mv_heart_txt {
    0% {
        translate: 0 30rem;
    }
    33% {
        translate: 0 20rem;
    }
    66% {
        translate: 0 10rem;
    }
    100% {
        translate: 0 0;
    }
}

/* KV切り替え */
.mv_copy {
    opacity: 0;
}
.mv_show .mv_copy {
    opacity: 1;
}
/* mv mv_normal */
@media (min-width: 769px) {
    .mv_normal .mv_copy {
        width: 476rem;
        height: 172rem;
        top: 140rem;
        margin-left: clamp(-588rem, calc(-568rem + (20 * ((1240px - 100vw) / 40))), -568rem);
    }
    .mv_normal .mv_cloud {
        width: 297rem;
    }
    .mv_normal .mv_copy_txt {
        line-height: calc(55/44);
        bottom: 15rem;
    }
    .mv_normal .mv_copy_txt_m {
        font-size: 38rem;
    }
    .mv_normal .mv_copy_curve {
        width: 383rem;
    }
    .mv_normal .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_s.svg) no-repeat center / contain;
        width: 213rem;
        margin-left: clamp(227rem, calc(227rem + (20 * ((100vw - 1240px) / 40))), 247rem);
    }
    @media (max-width: 1240px) {
        .mv_normal .mv_copy {
            width: calc(476/1240*100vw);
            height: calc(172/1240*100vw);
            top: calc(140/1240*100vw);
            margin-left: calc(-568/1240*100vw);
        }    
        .mv_normal .mv_cloud {
            width: calc(297/1240*100vw);
        }
        .mv_normal .mv_copy_txt {
            bottom: calc(15/1240*100vw);
        }
        .mv_normal .mv_copy_txt_m {
            font-size: calc(38/1240*100vw);
        }
        .mv_normal .mv_copy_curve {
            width: calc(383/1240*100vw);
        }
        .mv_normal .mv_fukidashi {
            width: calc(213/1240*100vw);
            margin-left: calc(227/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .mv_normal .mv_copy {
        height: 256rem;
        top: 82rem;
    }
    .mv_normal .mv_cloud {
        width: 442rem;
    }
    .mv_normal .mv_copy_txt {
        line-height: calc(80/64);
        bottom: 24rem;
    }
    .mv_normal .mv_copy_curve {
        width: 555rem;
    }
    .mv_normal .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_s_sp.svg) no-repeat center / contain;
        width: 365rem;
        top: 359rem;
        left: 206rem;
    }
}
/* mv rspkanri */
@media (min-width: 769px) {
    .rspkanri .mv_copy {
        width: 476rem;
        height: 172rem;
        top: 140rem;
        margin-left: clamp(-588rem, calc(-568rem + (20 * ((1240px - 100vw) / 40))), -568rem);
    }
    .rspkanri .mv_cloud {
        width: 297rem;
    }
    .rspkanri .mv_copy_txt {
        line-height: calc(55/44);
        bottom: 15rem;
    }
    .rspkanri .mv_copy_txt_m {
        font-size: 38rem;
    }
    .rspkanri .mv_copy_curve {
        width: 383rem;
    }
    .rspkanri .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_s.svg) no-repeat center / contain;
        width: 213rem;
        margin-left: clamp(227rem, calc(227rem + (20 * ((100vw - 1240px) / 40))), 247rem);
    }
    @media (max-width: 1240px) {
        .rspkanri .mv_copy {
            width: calc(476/1240*100vw);
            height: calc(172/1240*100vw);
            top: calc(140/1240*100vw);
            margin-left: calc(-568/1240*100vw);
        }    
        .rspkanri .mv_cloud {
            width: calc(297/1240*100vw);
        }
        .rspkanri .mv_copy_txt {
            bottom: calc(15/1240*100vw);
        }
        .rspkanri .mv_copy_txt_m {
            font-size: calc(38/1240*100vw);
        }
        .rspkanri .mv_copy_curve {
            width: calc(383/1240*100vw);
        }
        .rspkanri .mv_fukidashi {
            width: calc(213/1240*100vw);
            margin-left: calc(227/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .rspkanri .mv_copy {
        height: 256rem;
        top: 82rem;
    }
    .rspkanri .mv_cloud {
        width: 442rem;
    }
    .rspkanri .mv_copy_txt {
        line-height: calc(80/64);
        bottom: 24rem;
    }
    .rspkanri .mv_copy_curve {
        width: 555rem;
    }
    .rspkanri .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_s_sp.svg) no-repeat center / contain;
        width: 365rem;
        top: 359rem;
        left: 206rem;
    }
}
/* mv rsptegaru */
@media (min-width: 769px) {
    .rsptegaru .mv_copy {
        width: 377rem;
        height: 177rem;
        top: 143rem;
        margin-left: clamp(-551rem, calc(-531rem + (20 * ((1240px - 100vw) / 40))), -531rem);
    }
    .rsptegaru .mv_cloud {
        width: 283rem;
    }
    .rsptegaru .mv_copy_txt {
        bottom: 15rem;
        font-size: 50rem;
        line-height: calc(46/36);
    }
    .rsptegaru .mv_copy_txt_m {
        font-size: 36rem;
    }
    .rsptegaru .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_l.svg) no-repeat center / contain;
        width: 333rem;
        margin-left: clamp(147rem, calc(147rem + (40 * ((100vw - 1240px) / 40))), 187rem);
        padding-bottom: 10rem;
    }
    .rsptegaru .mv_fukidashi_txt_l {
        font-size: 24rem;
    }
    @media (max-width: 1240px) {
        .rsptegaru .mv_copy {
            width: calc(377/1240*100vw);
            height: calc(177/1240*100vw);
            top: calc(143/1240*100vw);
            margin-left: calc(-531/1240*100vw);
        }
        .rsptegaru .mv_cloud {
            width: calc(283/1240*100vw);
        }
        .rsptegaru .mv_copy_txt {
            bottom: calc(15/1240*100vw);
            font-size: calc(50/1240*100vw);
        }
        .rsptegaru .mv_copy_txt_m {
            font-size: calc(36/1240*100vw);
        }
        .rsptegaru .mv_fukidashi {
            width: calc(333/1240*100vw);
            margin-left: calc(147/1240*100vw);
        }
        .rsptegaru .mv_fukidashi_txt_l {
            font-size: calc(24/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .rsptegaru .mv_copy {
        height: 254rem;
        top: 86rem;
    }
    .rsptegaru .mv_cloud {
        width: 411rem;
    }
    .rsptegaru .mv_copy_txt {
        bottom: 25rem;
        font-size: 72rem;
        line-height: calc(45/36);
    }
    .rsptegaru .mv_copy_txt_m {
        font-size: 52rem;
    }
    .rsptegaru .mv_fukidashi {
        background: url(../images/mv_fukidashi_bg_l_sp.svg) no-repeat center / contain;
        width: 545rem;
        top: 357rem;
        left: 116rem;
    }
}
/* mv rspkakaku */
.rspkakaku .mv_copy_txt_vertical_rl {
    writing-mode: vertical-rl;
    font-weight: 500;
}
@media (min-width: 769px) {
    .rspkakaku .mv_copy {
        width: 468rem;
        height: 180rem;
        top: 140rem;
        margin-left: clamp(-589rem, calc(-569rem + (20 * ((1240px - 100vw) / 40))), -569rem);
    }
    .rspkakaku .mv_cloud {
        width: 313rem;
    }
    .rspkakaku .mv_copy_txt {
        line-height: calc(60/49.5);
        bottom: 19rem;
    }
    .rspkakaku .mv_copy_txt_l {
        font-size: 49.5rem;
    }
    .rspkakaku .mv_copy_txt_s {
        font-size: 27.5rem;
    }
    .rspkakaku .mv_copy_txt_vertical_rl {
        font-size: 12.38rem;
        margin-bottom: -13rem;
    }
    .rspkakaku .mv_copy_txt_icon_rspkakaku {
        width: 22rem;
    }
    .rspkakaku .mv_copy_curve {
        width: 195rem;
    }
    @media (max-width: 1240px) {
        .rspkakaku .mv_copy {
            width: calc(468/1240*100vw);
            height: calc(180/1240*100vw);
            top: calc(140/1240*100vw);
            margin-left: calc(-569/1240*100vw);
        }
        .rspkakaku .mv_cloud {
            width: calc(313/1240*100vw);
        }
        .rspkakaku .mv_copy_txt {
            bottom: calc(19/1240*100vw);
        }
        .rspkakaku .mv_copy_txt_l {
            font-size: calc(49.5/1240*100vw);
        }
        .rspkakaku .mv_copy_txt_s {
            font-size: calc(27.5/1240*100vw);
        }
        .rspkakaku .mv_copy_txt_vertical_rl {
            font-size: calc(12.38/1240*100vw);
            margin-bottom: calc(-13/1240*100vw);
        }
        .rspkakaku .mv_copy_txt_icon_rspkakaku {
            width: calc(22/1240*100vw);
        }
        .rspkakaku .mv_copy_curve {
            width: calc(195/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .rspkakaku .mv_copy {
        height: 252rem;
        top: 81rem;
    }
    .rspkakaku .mv_cloud {
        width: 454rem;
    }
    .rspkakaku .mv_copy_txt {
        line-height: calc(88/72);
        bottom: 25rem;
    }
    .rspkakaku .mv_copy_txt_l {
        font-size: 72rem;
    }
    .rspkakaku .mv_copy_txt_vertical_rl {
        font-size: 18rem;
        margin-bottom: -20rem;
    }
    .rspkakaku .mv_copy_txt_icon_rspkakaku {
        width: 32rem;
    }
    .rspkakaku .mv_copy_curve {
        width: 283rem;
    }
}
/* mv rspjisin */
@media (min-width: 769px) {
    .rspjisin .mv_copy {
        width: 502rem;
        height: 166rem;
        top: 140rem;
        margin-left: clamp(-600rem, calc(-580rem + (20 * ((1240px - 100vw) / 40))), -580rem);
    }
    .rspjisin .mv_cloud {
        width: 270rem;
    }
    .rspjisin .mv_copy_txt {
        line-height: calc(50/38);
        bottom: 16rem;
        font-size: 38rem;
    }
    .rspjisin .mv_copy_txt_m {
        font-size: 28rem;
    }
    .rspjisin .mv_copy_txt_s {
        font-size: 22rem;
    }
    .rspjisin .mv_copy_curve {
        width: 296rem;
    }
    @media (max-width: 1240px) {
        .rspjisin .mv_copy {
            width: calc(502/1240*100vw);
            height: calc(166/1240*100vw);
            top: calc(140/1240*100vw);
            margin-left: calc(-580/1240*100vw);
        }
        .rspjisin .mv_cloud {
            width: calc(270/1240*100vw);
        }
        .rspjisin .mv_copy_txt {
            bottom: calc(16/1240*100vw);
            font-size: calc(38/1240*100vw);
        }
        .rspjisin .mv_copy_txt_m {
            font-size: calc(28/1240*100vw);
        }
        .rspjisin .mv_copy_txt_s {
            font-size: calc(22/1240*100vw);
        }
        .rspjisin .mv_copy_curve {
            width: calc(296/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .rspjisin .mv_copy {
        height: 235rem;
        top: 82rem;
    }
    .rspjisin .mv_cloud {
        width: 392rem;
    }
    .rspjisin .mv_copy_txt {
        line-height: calc(72/56);
        bottom: 20rem;
        font-size: 56rem;
    }
    .rspjisin .mv_copy_txt_m {
        font-size: 40rem;
    }
    .rspjisin .mv_copy_txt_s {
        font-size: 32rem;
    }
    .rspjisin .mv_copy_curve {
        width: 430rem;
    }
}
/* mv rspoishii */
@media (min-width: 769px) {
    .rspoishii .mv_copy {
        width: 504rem;
        height: 161rem;
        top: 143rem;
        margin-left: clamp(-601rem, calc(-581rem + (20 * ((1240px - 100vw) / 40))), -581rem);
    }
    .rspoishii .mv_cloud {
        width: 275rem;
    }
    .rspoishii .mv_copy_txt {
        bottom: 35rem;
    }
    .rspoishii .mv_copy_txt_m {
        font-size: 40rem;
    }
    .rspoishii .mv_copy_curve {
        width: 383rem;
    }
    .rspoishii .mv_fukidashi {
        width: 293rem;
        margin-left: clamp(187rem, calc(187rem + (20 * ((100vw - 1240px) / 40))), 207rem);
    }
    @media (max-width: 1240px) {
        .rspoishii .mv_copy {
            width: calc(504/1240*100vw);
            height: calc(161/1240*100vw);
            top: calc(143/1240*100vw);
            margin-left: calc(-581/1240*100vw);
        }    
        .rspoishii .mv_cloud {
            width: calc(275/1240*100vw);
        }
        .rspoishii .mv_copy_txt {
            bottom: calc(35/1240*100vw);
            font-size: calc(44/1240*100vw);
        }
        .rspoishii .mv_copy_txt_m {
            font-size: calc(40/1240*100vw);
        }
        .rspoishii .mv_copy_curve {
            width: calc(383/1240*100vw);
        }
        .rspoishii .mv_fukidashi {
            width: calc(293/1240*100vw);
            margin-left: calc(187/1240*100vw);
        }
    }
}
@media (max-width: 768px) {
    .rspoishii .mv_copy {
        height: 231rem;
        top: 86rem;
    }
    .rspoishii .mv_cloud {
        width: 392rem;
    }
    .rspoishii .mv_copy_txt {
        bottom: 50rem;
    }
    .rspoishii .mv_copy_curve {
        width: 547rem;
    }
    .rspoishii .mv_fukidashi {
        width: 465rem;
        top: 349rem;
        left: 156rem;
    }
}

/* apply */
.apply_illust {
    width: 100%;
    position: relative;
}
.apply_box_img {
    position: relative;
    z-index: 1;
}
.apply_box_shadow {
    position: absolute;
    bottom: 0;
}
.apply_deco1 {
    position: absolute;
}
.apply_deco2 {
    position: absolute;
}
.apply_illust_content {
    position: relative;
    z-index: 1;
}
.apply_fukidashi {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
}
.apply_txt_wrap {
    position: relative;
}
.apply_free {
    position: absolute;
}
.apply_txt {
    color: var(--color-green);
    position: relative;
    z-index: 1;
}
.apply_txt_l {
    font-weight: 900;
}
.apply_date_txt {
    color: var(--color-red);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.apply_date_txt::before,
.apply_date_txt::after {
    content: "";
    display: block;
    position: absolute;
}
.apply_date_txt::before {
    background: url(../images/apply_date_arrow1.webp) no-repeat center / contain;
}
.apply_date_txt::after {
    background: url(../images/apply_date_arrow2.webp) no-repeat center / contain;
}
.btn_apply.btn {
    border-radius: 100px;
    background-color: var(--color-red);
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    --btn-color: #fff;
}
.btn_apply.btn::before {
    background-color: #fff;
}
.btn_apply.btn::after {
    background-color: #fff;
}
.apply_link_area_wrap {
    position: relative;
    z-index: 1;
}
.apply_link_area {
    display: flex;
    flex-direction: column;
}
.apply_link {
    display: flex;
    align-items: center;
}
.apply_link_txt {
    color: #333;
    text-decoration: underline;
}
.apply_link_arrow,
.apply_link_arrow_anchor {
    display: inline-block;
    border-radius: 50%;
    background-color: #fff;
    position: relative;
}
.apply_link_arrow::before {
    content: "";
    display: block;
    border-radius: 50%;
    background-color: #333;
    position: absolute;
    inset: 0;
    margin: auto;
}
.apply_link_arrow::after {
    content: "";
    display: block;
    background-color: #333;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
}
.apply_link_arrow_anchor {
    display: flex;
    justify-content: center;
    align-items: center;
}
.apply_link_arrow_anchor::after {
    content: "";
    display: block;
    rotate: 45deg;
}
.apply_note {
    line-height: 1.4;
    font-weight: 400;
    padding-left: 1em;
    text-indent: -1em;
}
@media (min-width: 769px) {
    .apply {
        position: relative;
        width: 1040rem;
        margin-inline: auto;
    }
    .apply_illust {
        width: 496rem;
        min-height: 327rem;
        margin-left: 76rem;
    }
    .apply_box {
        width: 100%;
        position: relative;
    }
    .apply_box_shadow {
        width: 466rem;
        left: -72rem;
    }
    .apply_deco1 {
        width: 603rem;
        top: 0;
        left: -38rem;
    }
    .apply_deco2 {
        width: 558rem;
        top: -17rem;
        left: -44rem;
    }
    .apply_illust_content {
        width: 300rem;
        position: absolute;
        top: 133rem;
        left: 132rem;
    }
    .apply_fukidashi {
        width: 299rem;
        height: 59rem;
        padding-bottom: 16rem;
        font-size: 20rem;
        background: url(../images/apply_fukidashi.webp) no-repeat center / contain;
    }
    .apply_txt_wrap {
        margin-top: 9rem;
        width: 101%;
    }
    .apply_free {
        width: 68rem;
        top: -17rem;
        right: 5rem;
    }
    .apply_txt_s {
        font-size: 20rem;
        line-height: calc(28/20);
    }
    .apply_txt_l {
        font-size: 32rem;
        line-height: calc(28/20);
    }
    .apply_date {
        width: 366rem;
    }
    .apply_date_txt::before {
        width: 24rem;
        height: 24rem;
        top: 4rem;
        left: 46rem;
    }
    .apply_date_txt::after {
        width: 20rem;
        height: 21rem;
        top: 7rem;
        right: 44rem;
    }
    .apply_date_txt_m {
        font-size: 22rem;
    }
    .apply_date_txt_l {
        font-size: 28rem;
    }
    .apply_date_txt_s {
        font-size: 22rem;
    }
    .apply_day {
        width: 34rem;
        margin-inline: 6rem 5rem;
    }
    .btn_apply.btn {
        width: 366rem;
        height: 72rem;
        font-size: 20rem;
        margin-top: 14rem;
    }
    .btn_apply.btn::before {
        width: 30rem;
        height: 2rem;
        right: 38rem;
        z-index: 1;
    }
    .btn_apply.btn::after {
        width: 8rem;
        height: 8rem;
        right: 32rem;
        z-index: 1;
    }
    .apply_link_area_wrap {
        position: absolute;
        top: 64rem;
        left: 619rem;
    }
    .apply_link_area {
        gap: 30rem;
    }
    .apply_link {
        gap: 9rem;
        margin-left: 22rem;
    }
    .apply_link_txt {
        text-underline-offset: 10rem;
        text-decoration-thickness: 2rem;
    }
    .apply_link_txt_l {
        font-size: 16rem;
    }
    .apply_link_txt_s {
        font-size: 14rem;
    }
    .apply_link_arrow,
    .apply_link_arrow_anchor {
        width: 24rem;
        height: 24rem;
    }
    .apply_link_arrow {
        margin-left: 16rem;
    }
    .apply_link_arrow::before {
        width: 9rem;
        height: 9rem;
    }
    .apply_link_arrow::after {
        width: 30rem;
        height: 2rem;
        right: 10rem;
    }
    .apply_link_arrow_anchor::after {
        width: 10rem;
        height: 10rem;
        border-right: 2px solid #333;
        border-bottom: 2px solid #333;
        border-radius: 2rem;
        rotate: 45deg;
    }
    .apply_note {
        font-size: 12rem;
        margin-left: 22rem;
    }
}
@media (max-width: 768px) {
    .apply_illust {
        min-height: 583rem;
    }
    .apply_box {
        position: absolute;
        top: 0;
        left: 0;
        width: 782rem;
        padding-top: 48rem;
    }
    .apply_box_shadow {
        width: 735rem;
        left: -110rem;
    }
    .apply_deco1 {
        width: 358rem;
        top: 0;
        left: 391rem;
    }
    .apply_deco2 {
        width: 545rem;
        top: 16rem;
        right: 0;
    }
    .apply_illust_content {
        width: 508rem;
        padding-top: 218rem;
        margin-left: 188rem;
    }
    .apply_fukidashi {
        width: 446rem;
        height: 88rem;
        padding-bottom: 25rem;
        font-size: 32rem;
        background: url(../images/apply_fukidashi.webp) no-repeat center / contain;
        margin-left: 13rem;
    }
    .apply_txt_wrap {
        margin: 15rem 0 0 36rem;
    }
    .apply_free {
        width: 107rem;
        top: -20rem;
        right: 0rem;
    }
    .apply_txt_s {
        font-size: 32rem;
        line-height: calc(48/32);
    }
    .apply_txt_l {
        font-size: 48rem;
        line-height: 1.6;
    }
    .apply_date {
        width: 508rem;
        margin-left: 188rem;
    }
    .apply_date_txt::before {
        width: 26rem;
        height: 26rem;
        top: 13rem;
        left: 63rem;
    }
    .apply_date_txt::after {
        width: 21rem;
        height: 22rem;
        top: 13rem;
        right: 72rem;
    }
    .apply_date_txt_m {
        font-size: 34rem;
    }
    .apply_date_txt_l {
        font-size: 40rem;
    }
    .apply_date_txt_s {
        font-size: 32rem;
    }
    .apply_day {
        width: 47rem;
        margin-inline: 6rem 5rem;
    }
    .btn_apply.btn {
        width: 508rem;
        height: 124rem;
        border: 12rem solid #fff;
        font-size: 32rem;
        margin-left: 113rem;
    }
    .btn_apply.btn::before {
        width: 40rem;
        height: 4rem;
        right: 38rem;
    }
    .btn_apply.btn::after {
        width: 13rem;
        height: 13rem;
        right: 32rem;
    }
    .apply_link_area_wrap {
        margin-top: -124rem;
    }
    .apply_link_area {
        padding-inline: 75rem 70rem;
        gap: 40rem;
    }
    .apply_link {
        gap: 14rem;
    }
    .apply_link_txt {
        text-underline-offset: 9rem;
        text-decoration-thickness: 3rem;
    }
    .apply_link_txt_l {
        font-size: 32rem;
    }
    .apply_link_txt_s {
        font-size: 28rem;
    }
    .apply_link_arrow,
    .apply_link_arrow_anchor {
        width: 32rem;
        height: 32rem;
    }
    .apply_link_arrow {
        margin-left: 30rem;
    }
    .apply_link_arrow::before {
        width: 10rem;
        height: 10rem;
    }
    .apply_link_arrow::after {
        width: 43rem;
        height: 1px;
        right: 14rem;
    }
    .apply_link_arrow_anchor::after {
        width: 12rem;
        height: 12rem;
        border-right: 2px solid #333;
        border-bottom: 2px solid #333;
        border-radius: 4rem;
        rotate: 45deg;
    }
    .apply_note {
        font-size: 20rem;
    }    
}
/* apply animation */
@media (min-width: 769px) {
    .apply_link_txt,
    .menu_apply_link_txt {
        transition: color 0.3s;
    }
    .apply_link:hover .apply_link_txt,
    .menu_apply_link:hover .menu_apply_link_txt {
        color: var(--color-red);
    }
    .apply_link_arrow,
    .menu_apply_link_arrow,
    .menu_apply_link_arrow::before,
    .menu_apply_link_arrow::after,
    .menu_apply_link_arrow_anchor {
        transition: background-color 0.3s;
    }
    .apply_link:hover .apply_link_arrow::before,
    .apply_link:hover .apply_link_arrow::after,
    .menu_apply_link:hover .menu_apply_link_arrow::before,
    .menu_apply_link:hover .menu_apply_link_arrow::after,
    .menu_apply_link:hover .menu_apply_link_arrow_anchor {
        background-color: var(--color-red);
    }
    .apply_link_arrow_anchor::after {
        transition: border-color 0.3s;
    }
    .apply_link:hover .apply_link_arrow_anchor::after {
        border-bottom-color: var(--color-red);
        border-right-color: var(--color-red);
    }
}
.animation_ready .apply_box_shadow {
    transform-origin: bottom right;
    transform: skew(-48deg, 0deg);
    transition: transform 0.8s ease-out;
}
.animation_ready.animation_loaded .apply_box.is_animated .apply_box_shadow {
    transform: skew(0deg, 0deg);
}
.animation_ready.animation_loaded .apply_date_txt::before {
    animation: katakata_infinite_reverse 2s steps(1) infinite;
}
.animation_ready.animation_loaded .apply_date_txt::after {
    animation: katakata_infinite 2s steps(1) infinite;
}

/* top_apply */
@media (min-width: 769px) {
    .top_apply {
        margin-top: 80rem;
    }
}
@media (max-width: 768px) {
    .top_apply {
        margin-top: 40rem;
    }
}

/* movie */
.movie_content {
    position: relative;
}
.movie_hand {
    position: absolute;
}
.movie_txt_area {
    position: relative;
}
.movie_txt {
    line-height: 1;
    font-weight: 900;
    color: var(--main-color);
}
.movie_ttl {
    line-height: 1;
}
.movie_dot_txt {
    position: absolute;
    line-height: 0;
}
.movie_dot {
    position: absolute;
}
.movie_seconds {
    position: absolute;
}
.movie_seconds_img {
    position: absolute;
}
.movie_thumb {
    background-color: #b7b7b7;
    overflow: hidden;
}
.movie_thumb_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.movie_icon {
    position: absolute;
    inset: 0;
    margin: auto;
}
.movie_neko {
    position: absolute;
    line-height: 0;
}
.movie_neko_img {
    position: absolute;
    top: 0;
    left: 0;
}
@media (min-width: 769px) {
    .movie_content {
        margin-top: 182rem;
        width: 757rem;
        height: 309rem;
        left: 50%;
        margin-left: -493rem;
        background: url(../images/movie_bg.svg) no-repeat center / 100% 100%;
    }
    .movie .inner {
        padding: 0;
    }
    .movie_hand {
        width: 159rem;
        top: -89rem;
        left: -34rem;
    }
    .movie_txt_area {
        padding: 144rem 0 0 282rem;
    }
    .movie_txt {
        font-size: 28rem;
    }
    .movie_txt_s {
        font-size: 24rem;
    }
    .movie_ttl {
        font-size: 22rem;
        margin-top: 15rem;
    }
    .movie_dot_txt {
        left: 271rem;
        top: 76rem;
        width: 56rem;
    }
    .movie_dot1 {
        width: 7rem;
        height: 7rem;
        top: 37rem;
        left: 10rem;
    }
    .movie_dot2 {
        width: 6rem;
        height: 6rem;
        top: 32rem;
        left: 31rem;
    }
    .movie_dot3 {
        width: 7rem;
        height: 6rem;
        top: 28rem;
        left: 50rem;
    }
    .movie_seconds_img {
        width: 120rem;
        top: 17rem;
        left: 4rem;
    }    
    .movie_seconds {
        left: 131rem;
        top: 102rem;
        width: 140rem;
    }
    .youtube.movie_thumb {
        width: 497rem;
        height: 280rem;
        border-radius: 32rem;
        position: absolute;
        top: -61rem;
        left: 476rem;
    }
    .movie_icon {
        width: 91rem;
        height: 87rem;
    }
    .movie_neko {
        bottom: -10rem;
        right: -284rem;
        width: 96rem;
        height: 144rem;
    }
}
@media (max-width: 768px) {
    .movie_content {
        margin-top: 118rem;
        width: 100%;
        height: 758rem;
        background: url(../images/movie_bg_sp.svg) no-repeat center / 100% 100%;
    }
    .movie_hand {
        width: 227rem;
        top: -19rem;
        left: -79rem;
    }
    .movie_txt_area {
        padding: 137rem 0 0 356rem;
    }
    .movie_txt {
        font-size: 48rem;
    }
    .movie_txt_s {
        font-size: 40rem;
    }
    .movie_ttl {
        font-size: 40rem;
        margin-top: 22rem;
    }
    .movie_dot_txt {
        left: 18rem;
        bottom: 16rem;
        width: 89rem;
    }
    .movie_dot1 {
        width: 9rem;
        height: 8rem;
        top: 52rem;
        left: 14rem;
    }
    .movie_dot2 {
        width: 9rem;
        height: 9rem;
        top: 44rem;
        left: 45rem;
    }
    .movie_dot3 {
        width: 9rem;
        height: 9rem;
        top: 37rem;
        left: 77rem;
    }
    .movie_seconds_img {
        width: 174rem;
        top: 25rem;
        left: 5rem;
    }
    .movie_seconds {
        left: 137rem;
        bottom: -4rem;
        width: 203rem;
    }
    .movie_thumb {
        width: 100%;
        height: 367rem;
        border-radius: 40rem;
        margin-top: 36rem;
    }
    .movie_icon {
        width: 113rem;
        height: 108rem;
    }
    .movie_neko {
        bottom: -17rem;
        right: 67rem;
        width: 107rem;
        height: 160rem;
    }
}
/* movie animation */
.movie_icon_circle {
    fill: #fff;
}
.movie_icon_circle, .movie_icon_triangle {
    fill-rule: evenodd;
}
.movie_icon_triangle {
    fill: var(--color-green);
}
@media (min-width: 769px) {
    @media (hover: hover) {
        .movie_icon_circle,
        .movie_icon_triangle {
            transition: fill 0.3s;
        }
        .movie .movie_thumb:hover .movie_icon_circle,
        .web_movie .swiper-slide-active .movie_thumb:hover .movie_icon_circle {
            fill: var(--color-green);
        }
        .movie .movie_thumb:hover .movie_icon_triangle,
        .web_movie .swiper-slide-active .movie_thumb:hover .movie_icon_triangle {
            fill: #fff;
        }
        .movie_thumb_img {
            transition: scale 0.3s;
        }
        .movie .movie_thumb:hover .movie_thumb_img,
        .web_movie .swiper-slide-active .movie_thumb:hover .movie_thumb_img {
            scale: 1.05;
        }
    }
}
.animation_ready .movie_seconds_deco,
.animation_ready .movie_dot {
    scale: 0;
}
.animation_ready.animation_loaded .movie.is_animated .movie_seconds_deco {
    animation: scale_anime 0.1s steps(1) forwards;
}
.animation_ready .movie_dot {
    transition: scale 0.3s var(--easing-pop);
}
.animation_ready .movie_dot1 {
    transition-delay: 0.2s;
}
.animation_ready .movie_dot2 {
    transition-delay: 0.4s;
}
.animation_ready .movie_dot3 {
    transition-delay: 0.6s;
}
.animation_ready.animation_loaded .movie_dot {
    scale: 1;
}
.animation_ready.animation_loaded .movie_hand {
    animation: movie_hand 5s steps(1) infinite;
}
@keyframes movie_hand {
    0%,16%,48%,64%,80%,100% {
        rotate: 0deg;
    }
    8%,56%,72% {
        rotate: 8deg;
    }
}

/* anchor */
.anchor_list {
    display: flex;
    position: relative;
}
.anchor_list::before,
.anchor_list::after,
.anchor_about::after,
.anchor_voice::after {
    content: "";
    display: block;
    position: absolute;
}
.anchor_list li {
    position: relative;
}
.anchor_list a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    background: var(--anchor-bg) no-repeat center / cover;
    position: relative;
}
.anchor_label {
    color: var(--main-color);
    line-height: 1;
}
.anchor_txt {
    font-weight: 500;
}
.anchor_arrow {
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-green);
    top: 0;
    bottom: 0;
    margin-block: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.anchor_arrow::after {
    content: "";
    display: block;
    rotate: 45deg;
}
@media (min-width: 769px) {
    .anchor {
        padding-top: 120rem;
        max-width: 1200rem;
        width: 100%;
        margin-inline: auto;
        display: flex;
        justify-content: center;
    }
    .anchor_list {
        padding-inline: 12rem;
    }
    .anchor_list::before,
    .anchor_list::after,
    .anchor_about::after,
    .anchor_voice::after {
        top: 0;
        bottom: 0;
        width: 6rem;
        height: 141rem;
    }
    .anchor_list::before {
        background: url(../images/anchor_line1.svg) no-repeat center / 100% 100%;
        left: 0;
    }
    .anchor_about::after {
        background: url(../images/anchor_line2.svg) no-repeat center / 100% 100%;
        left: -8rem;
    }
    .anchor_voice::after {
        background: url(../images/anchor_line3.svg) no-repeat center / 100% 100%;
        left: -11rem;
    }
    .anchor_list::after {
        background: url(../images/anchor_line4.svg) no-repeat center / 100% 100%;
        right: 0;
    }
    .anchor_list a {
        padding-inline: clamp(24rem, calc(24rem + (16 * ((100vw - 1040px) / 240))), 40rem);
        gap: 10rem;
    }
    .anchor_about {
        margin-left: clamp(11rem, calc(11rem + (4 * ((100vw - 1040px) / 240))), 15rem);
    }
    .anchor_voice {
        margin-left: clamp(12rem, calc(12rem + (13 * ((100vw - 1040px) / 240))), 25rem);
    }
    .anchor_what a {
        width: clamp(308rem, calc(308rem + (71 * ((100vw - 1040px) / 240))), 379rem);
        height: 138rem;
        --anchor-bg: url(../images/anchor_what_bg.svg);
    }
    .anchor_about a {
        width: clamp(308rem, calc(308rem + (70 * ((100vw - 1040px) / 240))), 378rem);
        height: 137rem;
        --anchor-bg: url(../images/anchor_about_bg.svg);
    }
    .anchor_voice a {
        width: clamp(308rem, calc(308rem + (71 * ((100vw - 1040px) / 240))), 379rem);
        height: 138rem;
        --anchor-bg: url(../images/anchor_voice_bg.svg);
    }
    .anchor_label {
        font-size: 20rem;
        white-space: nowrap;
    }
    .anchor_txt {
        font-size: 16rem;
        line-height: calc(24/16);
    }
    .anchor_arrow {
        width: 32rem;
        height: 32rem;
        right: clamp(22rem, calc(22rem + (18 * ((100vw - 1040px) / 240))), 40rem);
    }
    .anchor_arrow::after {
        width: 12rem;
        height: 12rem;
        border-right: 4rem solid #fff;
        border-bottom: 4rem solid #fff;
        border-radius: 4rem;
        margin-top: -2rem;
    }
}
@media (max-width: 768px) {
    .anchor {
        padding-top: 117rem;
    }
    .anchor_list {
        flex-direction: column;
        align-items: center;
        padding-block: 11rem 10rem;
    }
    .anchor_list::before,
    .anchor_list::after,
    .anchor_about::after,
    .anchor_voice::after {
        left: 0;
        right: 0;
        margin-inline: auto;
        width: 653rem;
        height: 8rem;
    }
    .anchor_list::before {
        background: url(../images/anchor_line1_sp.svg) no-repeat center / 100% 100%;
        top: 0;
    }
    .anchor_about::after {
        background: url(../images/anchor_line2_sp.svg) no-repeat center / 100% 100%;
        top: -10rem;
    }
    .anchor_voice::after {
        background: url(../images/anchor_line3_sp.svg) no-repeat center / 100% 100%;
        top: -11rem;
    }
    .anchor_list::after {
        background: url(../images/anchor_line4_sp.svg) no-repeat center / 100% 100%;
        bottom: 0;
    }
    .anchor_list a {
        padding-inline: 30rem 100rem;
        gap: 16rem;
    }
    .anchor_what a {
        width: 659rem;
        height: 149rem;
        --anchor-bg: url(../images/anchor_what_bg_sp.svg);
    }
    .anchor_about {
        margin-top: 12rem;
    }
    .anchor_about a {
        width: 664rem;
        height: 189rem;
        --anchor-bg: url(../images/anchor_about_bg_sp.svg);
    }
    .anchor_voice {
        margin-top: 17rem;
    }
    .anchor_voice a {
        width: 659rem;
        height: 149rem;
        --anchor-bg: url(../images/anchor_voice_bg_sp.svg);
    }
    .anchor_label {
        font-size: 32rem;
    }
    .anchor_txt {
        font-size: 28rem;
        line-height: calc(42/28);
    }
    .anchor_arrow {
        width: 40rem;
        height: 40rem;
        right: 30rem;
    }
    .anchor_arrow::after {
        width: 12rem;
        height: 12rem;
        border-right: 4rem solid #fff;
        border-bottom: 4rem solid #fff;
        border-radius: 4rem;
    }
}

/* start */
.start {
    overflow: hidden;
}
.start_ttl_area {
    width: 100%;
}
.start_ttl {
    line-height: 0;
    position: relative;
}
.start_ttl_first_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.start_ttl_first_txt {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.start_deco {
    position: absolute;
}
.start_bg {
    position: absolute;
}
.start_neko {
    position: absolute;
    line-height: 0;
    z-index: 1;
}
.start_neko_img {
    position: relative;
    z-index: 1;
}
.start_neko_shadow {
    position: absolute;
}
.start_lead {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.start_lead_txt sup {
    font-size: 0.6em;
    font-weight: 400;
}
.start_lead_note {
    line-height: 1;
    font-weight: 400;
    text-decoration: underline;
    position: relative;
    display: inline-block;
}
.start_lead_note::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    background: url(../images/icon_blank.svg) no-repeat center / contain;
}
@media (min-width: 769px) {
    .start {
        padding-top: 207rem;
        position: relative;
    }
    .start_ttl {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6rem;
    }
    .start_ttl_first {
        width: 59rem;
        height: 58rem;
        margin-top: -4rem;
        position: relative;
    }
    .start_ttl_first_txt {
        font-size: 32rem;
    }
    .start_deco1 {
        top: 137rem;
        left: 50%;
        margin-left: -580rem;
        width: 1192rem;
    }
    .start_deco2 {
        top: 142rem;
        left: 50%;
        margin-left: -580rem;
        width: 1162rem;
    }
    .start_bg {
        top: 121rem;
        left: 50%;
        margin-left: -516rem;
        width: 1058rem;
    }
    .start_neko {
        width: 95rem;
        bottom: 9rem;
        left: 50%;
        margin-left: 235rem;
    }
    .start_neko_shadow {
        width: 59rem;
        top: 118rem; 
        left: 49rem;
    }
    .start_lead {
        margin-top: 31rem;
        padding-bottom: 8rem;
    }
    .start_lead_txt {
        font-size: 18rem;
        line-height: calc(36/18);
        text-align: center;
    }
    .start_lead_note {
        margin-top: 29rem;
        font-size: 14rem;
        text-underline-offset: 8rem;
        left: 50%;
        translate: -50% 0;
    }
    .start_lead_note::after {
        width: 15rem;
        height: 13rem;
        right: -20rem;
    }
}
@media (max-width: 768px) {
    .start {
        padding-top: 173rem;
    }
    .start_ttl_area {
        position: relative;
    }
    .start_ttl {
        margin-left: 320rem;
        width: 142rem;
    }
    .start_ttl_first {
        width: 95rem;
        height: 93rem;
        position: absolute;
        top: -21rem;
        right: -24rem;
    }
    .start_ttl_first_txt {
        font-size: 56rem;
    }
    .start_deco1 {
        top: -56rem;
        left: 72rem;
        width: 620rem;
    }
    .start_deco2 {
        top: -29rem;
        left: 88rem;
        width: 581rem;
    }
    .start_bg {
        top: -21rem;
        left: 47rem;
        width: 754rem;
    }
    .start_neko {
        width: 118rem;
        top: 336rem;
        left: 413rem;
    }
    .start_neko_shadow {
        width: 73rem;
        top: 145rem;
        left: 60rem;
    }
    .start_lead {
        margin-top: 63rem;
        padding-bottom: 10rem;
    }
    .start_lead_txt {
        font-size: 32rem;
        line-height: calc(64/32);
    }
    .start_lead_note {
        margin-top: 29rem;
        font-size: 20rem;
        text-underline-offset: 10rem;
    }
    .start_lead_note::after {
        width: 17rem;
        height: 16rem;
        right: -24rem;
    }
}
/* start animation */
.animation_ready .start_ttl_first_img {
    rotate: -25deg;
}
.animation_ready.animation_loaded .start.is_animated .start_ttl_first_img {
    rotate: 0deg;
}
.animation_ready .start_neko {
    translate: 120rem 0;
    opacity: 0;
}
.animation_ready .start_neko_shadow {
    scale: 0;
    transform-origin: left top;
}
.animation_ready.animation_loaded .start.is_animated .start_neko {
    animation: start_neko 1.5s steps(1) forwards;
}
.animation_ready.animation_loaded .start.is_animated .start_neko_shadow {
    scale: 1;
    transition: scale 0.5s ease-out 1.6s;
}
@keyframes start_neko {
    0% {
        translate: 120rem 0;
        opacity: 0;
    }
    25% {
        opacity: 1;
        translate: 90rem 0;
        rotate: 10deg;
    }
    50% {
        opacity: 1;
        translate: 60rem 0;
        rotate: -10deg;
    }
    75% {
        opacity: 1;
        translate: 30rem 0;
        rotate: 10deg;
    }
    100% {
        opacity: 1;
        translate: 0rem 0;
        rotate: 0deg;
    }
}


/* basic */
.basic {
    position: relative;
    overflow: hidden;
}
.basic_circle {
    position: absolute;
}
.basic_ttl {
    position: relative;
    z-index: 1;
}
.basic_ttl_sub {
    display: inline-block;
    line-height: 0;
    position: relative;
}
.basic_ttl_sub_deco {
    position: absolute;
}
.basic_ttl_sub_deco_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.basic_ttl_sub_deco_txt {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: relative;
    z-index: 1;
}
.basic_ttl_txt {
    font-weight: 900;
    display: block;
    color: var(--main-color);
}
.basic_img {
    position: relative;
}
.basic_main_img {
    position: relative;
    z-index: 1;
}
.basic_arrow {
    position: absolute;
}
.basic_txt_wrap {
    position: relative;
}
.basic_txt {
    line-height: 2;
}
.basic_neko {
    position: absolute;
    line-height: 0;
}
.basic_neko_img {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: auto;
    z-index: 1;
}
.basic_neko_shadow {
    position: absolute;
}
@media (min-width: 769px) {
    .basic {
        padding-block: 184rem 253rem;
        width: 100%;
    }
    .basic_inner {
        /* width: 1280rem; */
        width: 1040rem;
        margin-inline: auto;
        position: relative;
    }
    .basic_circle1 {
        top: -102rem;
        left: -158rem;
        width: 296rem;
    }
    .basic_circle2 {
        top: 73rem;
        right: -259rem;
        width: 237rem;
    }
    .basic_ttl {
        margin-left: 63rem;
    }
    .basic_ttl_sub {
        width: 257rem;
    }
    .basic_ttl_sub_deco {
        width: 70rem;
        height: 64rem;
        top: 50%;
        left: 119rem;
        translate: 0 calc(-50% - 7rem);
    }
    .basic_ttl_sub_deco_txt {
        font-size: 30rem;
    }
    .basic_ttl_txt {
        font-size: 36rem;
        line-height: 1;
        margin-top: 32rem;
    }
    .basic_img {
        width: 459rem;
        position: absolute;
        top: -65rem;
        right: 33rem;
    }
    .basic_arrow1 {
        width: 44rem;
        top: 76rem;
        left: 61rem;
    }
    .basic_arrow2 {
        width: 47rem;
        top: 80rem;
        left: 368rem;
    }
    .basic_arrow3 {
        width: 48rem;
        top: 279rem;
        left: 208rem;
    }
    .basic_txt {
        font-size: 18rem;
        margin: 30rem 0 0 62rem;
    }
    .basic_neko {
        bottom: -170rem;
        left: 136rem;
        width: 82rem;
        height: 140rem;
    }
    .basic_neko_shadow {
        width: 59rem;
        bottom: -7rem;
        right: 19rem;
    }
}
@media (max-width: 768px) {
    .basic {
        padding-block: 160rem 210rem;
    }
    .basic_circle1 {
        top: 91rem;
        left: -153rem;
        width: 389rem;
    }
    .basic_circle2 {
        top: 334rem;
        right: -163rem;
        width: 272rem;
    }
    .basic_ttl {
        text-align: center;
    }    
    .basic_ttl_sub {
        width: 348rem;
    }
    .basic_ttl_sub_deco {
        width: 92rem;
        height: 85rem;
        top: 50%;
        left: 158rem;
        translate: 0 calc(-50% - 3rem);
    }
    .basic_ttl_sub_deco_txt {
        font-size: 40rem;
    }
    .basic_ttl_txt {
        font-size: 56rem;
        line-height: calc(84/56);
        margin-top: 32rem;
    }
    .basic_img {
        margin: 46rem 0 0 45rem;
        width: 703rem;
    }
    .basic_arrow1 {
        width: 61rem;
        top: 236rem;
        left: 42rem;
    }
    .basic_arrow2 {
        width: 48rem;
        top: 236rem;
        left: 580rem;
    }
    .basic_arrow3 {
        width: 100rem;
        top: 544rem;
        left: 309rem;
    }
    .basic_txt {
        font-size: 32rem;
        margin-top: 42rem;
        text-align: center;
    }
    .basic_neko {
        bottom: 163rem;
        left: 615rem;
        width: 101rem;
        height: 173rem;
        scale: -1 1;
    }
    .basic_neko_shadow {
        width: 73rem;
        bottom: -7rem;
        right: 19rem;
    }
}
/* basic animation */
.animation_ready .basic_circle {
    rotate: -60deg;
}
.animation_ready .basic_circle1 {
    transition: rotate 0.3s ease-out 0.2s;
}
.animation_ready .basic_circle2 {
    transition: rotate 0.3s ease-out 0.4s;
}
.animation_ready.animation_loaded .basic.is_animated .basic_circle {
    rotate: 0deg;
}
.animation_ready .basic_ttl_sub_deco_img {
    scale: 0;
    transition: scale 0.4s var(--easing-pop);
}
.animation_ready.animation_loaded .basic.is_animated .basic_ttl_sub_deco_img {
    scale: 1;
}
.animation_ready .basic_arrow {
    rotate: -45deg;
    opacity: 0;
    transition: rotate 0.4s, opacity 0.4s;
}
.animation_ready .basic_arrow1 {
    transform-origin: bottom right;
}
.animation_ready .basic_arrow2 {
    transform-origin: bottom left;
}
.animation_ready .basic_arrow3 {
    transform-origin: top center;
}
.animation_ready.animation_loaded .basic.is_animated .basic_arrow {
    opacity: 1;
    rotate: 0deg;
}
.animation_ready .basic_neko2 {
    opacity: 0;
}
.animation_ready.animation_loaded .basic_neko1 {
    animation: basic_neko1 6s steps(1) infinite;
}
.animation_ready.animation_loaded .basic_neko2 {
    animation: basic_neko2 6s steps(1) infinite;
}
@keyframes basic_neko1 {
    0% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    85% {
        opacity: 0;
    }
    90% {
        opacity: 1;
    }
    95% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes basic_neko2 {
    0% {
        opacity: 0;
    }
    80% {
        opacity: 0;
    }
    85% {
        opacity: 1;
    }
    90% {
        opacity: 0;
    }
    95% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* merit */
.merit_ttl_wrap {
    position: relative;
    display: flex;
    justify-content: center;
}
.merit_ttl {
    line-height: 1;
    text-align: center;
    color: var(--main-color);
    position: relative;
}
.merit_ttl::after {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.merit_ttl_deco {
    position: absolute;
}
.merit_ttl_deco_img {
    position: absolute;
}
.merit_slide {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.merit_slide_line,
.merit_slide_list {
    display: flex;
}
.merit_slide .merit_slide_line:nth-child(even) {
    justify-content: flex-end;
}
.merit_slide_list li {
    line-height: 1;
    background-color: #fff;
    white-space: nowrap;
}
.merit_slide_list strong {
    color: var(--color-green);
}
.merit_green {
    position: relative;
}
.merit_neko_foot {
    position: absolute;
}
.merit_neko_foot1,
.merit_neko_foot2 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
.merit_neko_foot2 {
    width: calc(84/78*100%);
}
.merit_neko_foot_shadow {
    position: absolute;
}
.merit_foot {
    position: absolute;
}
.merit_foot_img {
    position: absolute;
}
.merit_curve_txt {
    position: absolute;
}
.merit_plan_ttl {
    text-align: center;
    color: #fff;
}
.merit_plan_img {
    position: relative;
}
.merit_plan_img_plus {
    position: absolute;
}
.merit_plan_img_deco {
    position: absolute;
}
.merit_plan_swiper_wrap {
    position: relative;
}
.merit_plan_swiper {
    overflow: hidden;
    background-color: var(--color-yellow);
}
.merit_plan_swiper_arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
    border-radius: 50%;
    background-color: var(--color-yellow);
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.merit_plan_swiper_arrow.swiper-button-disabled {
    display: none;
}
.merit_plan_swiper_arrow::after {
    content: "";
    display: block;
    rotate: 45deg;
}
.merit_plan_swiper_arrow_next {
    rotate: -180deg;
}
.merit_plan_swiper_pagination {
    position: relative;
    bottom: 0;
    line-height: 0;
    display: flex;
    justify-content: center;
}
.merit_plan_swiper_pagination .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
}
.merit_plan_swiper_pagination .swiper-pagination-bullet-active {
    background-color: var(--color-yellow);
}
.merit_plan_cont {
    width: 100%;
}
.merit_plan_cont_ttl {
    text-align: center;
    position: relative;
}
.merit_plan_cont_ttl_txt {
    line-height: 1;
    color: var(--main-color);
    position: relative;
    z-index: 1;
}
.merit_plan_cont_ttl::after {
    content: "";
    display: block;
    position: absolute;
}
.merit_set_box {
    position: relative;
}
.merit_set_bg {
    position: absolute;
}
.merit_set_tag {
    position: absolute;
    z-index: 1;
}
.merit_set_sub {
    position: absolute;
    z-index: 1;
}
.merit_set_cont {
    position: relative;
    z-index: 1;
}
.merit_set_ttl {
    line-height: 1;
    color: var(--main-color);
    text-align: center;
}
.merit_set_txt {
    font-weight: 500;
    text-align: center;
    line-height: 1;
}
.merit_set_img {
    line-height: 0;
}
.merit_plan_cont_plus {
    line-height: 0;
}
.merit_benefits {
    position: relative;
}
.merit_benefits_bg {
    position: absolute;
}
.merit_benefits_tag {
    position: absolute;
}
.merit_benefits_tag_deco {
    position: absolute;
}
.merit_benefits_cont {
    position: relative;
    z-index: 1;
}
.merit_benefits_ttl_sub {
    text-align: center;
    line-height: 1;
    color: var(--main-color);
}
.merit_benefits_ttl {
    text-align: center;
    line-height: 1;
    color: var(--main-color);
}
.merit_benefits_txt {
    text-align: center;
    font-weight: 500;
}
.merit_benefits_note li {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 400;
}
.merit_plan_period_ttl {
    text-align: center;
    color: #fff;
}
.merit_plan_period_cont {
    display: flex;
}
.merit_plan_period_box {
    background-color: #fff;
}
.merit_plan_period_box_ttl {
    text-align: center;
    line-height: 1;
}
.merit_plan_period_box_list li {
    font-weight: 500;
    padding-left: 1em;
    text-indent: -1em;
}
.merit_plan_period_flow_example {
    line-height: 1;
    font-weight: 500;
}
.merit_plan_period_flow_list {
    display: flex;
    justify-content: space-between;
    position: relative;
}
.merit_plan_period_flow_list_500 {
    font-weight: 500;
}
.merit_plan_period_flow_list li {
    text-align: center;
}
.merit_plan_period_flow_list dl {
    display: flex;
    flex-direction: column;
}
.merit_plan_period_flow_list dt {
    display: flex;
    justify-content: center;
    align-items: center;
}
.merit_plan_period_flow_list dd {
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
}
.merit_plan_period_flow_list::before,
.merit_plan_period_flow_list::after {
    content: "";
    display: block;
    position: absolute;
}
.merit_plan_period_flow_list::before {
    bottom: 0;
    left: 0;
    background-color: #333;
}
.merit_plan_period_flow_list::after {
    background: url(../images/merit_plan_period_flow_arrow.svg) no-repeat center / contain;
    position: absolute;
    bottom: 0;
    right: 0;
}
.merit_plan_bottom_txt {
    text-align: center;
    color: #fff;
}
.merit_plan_bottom_illust {
    position: absolute;
}
.merit_plan_bottom_neko {
    position: absolute;
    line-height: 0;
}
.merit_plan_bottom_neko_img {
    position: relative;
    z-index: 1;
}
.merit_plan_bottom_neko_shadow {
    position: absolute;
}
.merit_plan_bottom_deco1 {
    position: absolute;
}
.merit_plan_bottom_deco2 {
    position: absolute;
}
@media (min-width: 769px) {
    .merit_ttl {
        font-size: 24rem;
        padding: 0 15rem 28rem 16rem;
    }
    .merit_ttl::after {
        height: 7rem;
        background: url(../images/merit_ttl_border.svg) no-repeat bottom center / 100% auto;
    }
    .merit_ttl_s {
        font-size: 20rem;
    }
    .merit_ttl_deco {
        width: 108rem;
        height: 55rem;
        top: -42rem;
        left: 50%;
        margin-left: -270rem;
    }
    .merit_ttl_deco1 {
        width: 31rem;
        top: 16rem;
        left: 38rem;
    }
    .merit_ttl_deco2 {
        width: 18rem;
        bottom: 0;
        left: 0;
    }
    .merit_ttl_deco3 {
        width: 20rem;
        top: 0;
        right: 0;
    }
    .merit_slide {
        --merit-slide-gap: 8rem;
        margin-top: 40rem;
        gap: var(--merit-slide-gap);
    }
    .merit_slide_line,
    .merit_slide_list {
        gap: var(--merit-slide-gap);
    }
    .merit_slide_list li {
        padding: 16rem 40rem;
        font-size: 16rem;
        border-radius: 8rem;
    }
    .merit_green { 
        width: 100%;
        max-width: 1440px;
        margin-inline: auto;
        background: url(../images/merit_green_bg.webp) no-repeat top center / 1440rem auto;
        height: 2926rem;
        margin-top: 259rem;
    }
    .merit_neko_foot {
        width: 78rem;
        height: 141rem;
        top: -117rem;
        left: 50%;
        margin-left: -230rem;
    }
    .merit_neko_foot_shadow {
        width: 73rem;
        bottom: -15rem;
        right: 3rem;
    }
    .merit_foot {
        width: 618rem;
        height: 146rem;
        top: -138rem;
        left: 50%;
        margin-left: -332rem;
    }
    .merit_foot1 {
        width: 20rem;
        bottom: 0;
        left: 0;
    }
    .merit_foot2 {
        width: 31rem;
        top: 0;
        left: 241rem;
    }
    .merit_foot3 {
        width: 29rem;
        top: 114rem;
        left: 295rem;
    }
    .merit_foot4 {
        width: 38rem;
        top: 35rem;
        left: 511rem;
    }
    .merit_foot5 {
        width: 22rem;
        top: 111rem;
        left: 596rem;
    }
    .merit_curve_txt {
        width: 255rem;
        top: -71rem;
        left: 50%;
        margin-left: -103rem;
    }
    .merit_plan {
        padding-top: 143rem;
    }
    .merit_plan_ttl {
        font-size: 24rem;
        line-height: 1;
    }
    .merit_plan_img {
        margin-top: 101rem;
        width: 378rem;
        left: 50%;
        margin-left: -362rem;
    }
    .merit_plan_img_plus {
        top: 89rem;
        left: 165rem;
        width: 48rem;
    }
    .merit_plan_img_deco1 {
        width: 503rem;
        top: -53rem;
        left: 312rem;
    }
    .merit_plan_img_deco2 {
        width: 541rem;
        top: -61rem;
        left: 307rem;
    }
    .merit_plan_swiper_wrap {
        width: 692rem;
        height: 278rem;
        margin: 92rem auto 0;
    }
    .merit_plan_swiper {
        border: 8rem solid var(--color-yellow);
        border-radius: 32rem;
    }
    .merit_plan_swiper_arrow {
        width: 48rem;
        height: 48rem;
    }
    .merit_plan_swiper_arrow::after {
        width: 12rem;
        height: 12rem;
        border-left: 4rem solid var(--main-color);
        border-bottom: 4rem solid var(--main-color);
        border-radius: 4rem;
    }
    .merit_plan_swiper_arrow_prev {
        left: -24rem;
    }
    .merit_plan_swiper_arrow_next {
        right: -24rem;
    }
    .merit_plan_swiper_pagination {
        gap: 24rem;
        margin-top: 39rem;
    }
    .merit_plan_swiper_pagination .swiper-pagination-bullet {
        width: 9rem;
        height: 9rem;
    }
    .merit_plan_cont {
        height: 963rem;
        background: url(../images/merit_plan_cont_bg.svg) no-repeat top left calc(50% + 39rem) / 1233rem 963rem;
        margin-top: 65rem;
        padding-top: 197rem;
    }
    .merit_plan_cont_ttl_txt {
        font-size: 24rem;
    }
    .merit_plan_cont_ttl::after {
        width: 142rem;
        height: 14rem;
        background: url(../images/merit_plan_cont_ttl_line.svg) no-repeat top center / contain;
        left: 0;
        right: 0;
        margin-inline: auto;
        bottom: -9rem;
    }
    .merit_plan_cont_inner {
        margin-top: 34rem;
        position: relative;
        left: 50%;
        margin-left: clamp(-578rem, calc(-578rem + (30 * (1280px - 100vw) / 240)), -548rem);
        display: flex;
        align-items: flex-end;
    }
    .merit_set_box {
        width: 474rem;
    }
    .merit_set_bg {
        width: 474rem;
        top: 0;
        left: 0;
    }
    .merit_set_tag {
        width: 86rem;
        top: -26rem;
        left: 53rem;
    }
    .merit_set_sub {
        width: 82rem;
        top: -12rem;
        left: 379rem;
    }
    .merit_set_cont {
        padding-top: 67rem;
    }
    .merit_set_ttl {
        font-size: 26rem;
        margin-left: 9rem;
    }
    .merit_set_ttl_s {
        font-size: 20rem;
    }
    .merit_set_txt {
        font-size: 16rem;
        margin: 23rem 5rem 0 0;
    }
    .merit_set_img {
        width: 314rem;
        margin: 23rem 0 0 74rem;
    }
    .merit_set_btn {
        margin-top: 24rem;
        padding-left: 10rem;
    }
    .merit_plan_cont_plus {
        margin-bottom: 163rem;
        margin-left: clamp(34rem, calc(34rem + (30 * ((100vw - 1040px) / 240))), 64rem);
        margin-right: clamp(38rem, calc(38rem + (30 * ((100vw - 1040px) / 240))), 68rem);
        width: 80rem;
    }
    .merit_benefits_bg {
        top: -125rem;
        left: 61rem;
        width: 361rem;
    }
    .merit_benefits_tag {
        width: 52rem;
        top: -110rem;
        left: -45rem;
    }
    .merit_benefits_tag_deco1 {
        width: 10rem;
        top: 57rem;
        left: 47rem;
    }
    .merit_benefits_tag_deco2 {
        width: 6rem;
        top: 60rem;
        left: 63rem;
    }
    .merit_benefits_ttl_sub {
        font-size: 18rem;
    }
    .merit_benefits_ttl_sub_num {
        font-size: 24rem;
    }
    .merit_benefits_ttl {
        font-size: 26rem;
        margin-top: 14rem;
    }
    .merit_benefits_txt {
        font-size: 16rem;
        line-height: calc(32/16);
        margin-top: 22rem;
    }
    .merit_benefits_btn {
        margin-top: 59rem;
    }
    .merit_benefits_note {
        margin: 40rem auto 0;
        width: 791rem;
    }
    .merit_benefits_note li {
        font-size: 12rem;
        line-height: calc(22/12);
    }
    .merit_plan_period {
        padding-top: 93rem;
    }
    .merit_plan_period_ttl {
        font-size: 26rem;
        line-height: 1;
    }
    .merit_plan_period_cont {
        margin-top: 40rem;
        justify-content: space-between;
    }
    .merit_plan_period_box {
        border-radius: 24rem;
        padding: 48rem 32rem;
        display: flex;
        justify-content: center;
        width: calc(568 / 1200 * 100%);
    }
    .merit_plan_period_box_inner {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 18rem;
        width: 100%;
        max-width: 440rem;
    }
    .merit_plan_period_box_ttl {
        font-size: 20rem;
    }
    .merit_plan_period_box_list {
        margin-top: 18rem;
    }
    .merit_plan_period_box_list li {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .merit_plan_period_flow {
        position: relative;
    }
    .merit_plan_period_flow_example {
        font-size: 16rem;
        position: absolute;
        top: 0;
        left: 0;
    }
    .merit_plan_period_flow_list {
        padding-bottom: 17rem;
        justify-content: flex-end;
    }
    .merit_plan_period_box1 .merit_plan_period_flow_list li {
        padding-inline: clamp(16rem, calc(16rem + (8 * ((100vw - 1040px) / 240))), 24rem);
    }
    .merit_plan_period_box2 .merit_plan_period_flow_list li {
        padding-inline: clamp(20rem, calc(20rem + (10 * ((100vw - 1040px) / 240))), 30rem);
    }
    .merit_plan_period_flow_list li:first-child {
        padding-left: 0;
    }
    .merit_plan_period_flow_list li:last-child {
        padding-right: 0;
    }
    .merit_plan_period_flow_list li + li {
        border-left: 2rem dotted #636363;
    }
    .merit_plan_period_flow_list dl {
        gap: 12rem;
    }
    .merit_plan_period_flow_list dt {
        font-size: 16rem;
        line-height: calc(24/16);
        height: 40rem;
    }
    .merit_plan_period_flow_list dd {
        font-size: 14rem;
        line-height: calc(21/14);
        height: 34rem;
    }
    .merit_plan_period_flow_list::before {
        width: calc(100% - 5rem);
        height: 2rem;
    }
    .merit_plan_period_flow_list::after {
        width: 10rem;
        height: 12rem;
        translate: 0 50%;
    }
    .merit_plan_period_btn {
        margin-top: 40rem;
    }
    .merit_plan_bottom_txt {
        font-size: 22rem;
        line-height: calc(44/22);
        margin-top: 107rem;
    }
    .merit_plan_bottom_illust {
        width: 203rem;
        height: 175rem;
        left: 50%;
        bottom: -208rem;
        margin-left: 158rem;
    }
    .merit_plan_bottom_neko {
        width: 120rem;
        bottom: 0;
        left: 0;
    }
    .merit_plan_bottom_neko_shadow {
        width: 71rem;
        left: 52rem;
        bottom: -2rem;
    }
    .merit_plan_bottom_deco1 {
        width: 63rem;
        top: 0;
        right: 0;
    }
    .merit_plan_bottom_deco2 {
        width: 68rem;
        top: 25rem;
        left: 128rem;
    }
}
@media (max-width: 768px) {
    .merit_ttl {
        font-size: 44rem;
        padding: 0 14rem 35rem 20rem;
    }
    .merit_ttl::after {
        height: 9rem;
        background: url(../images/merit_ttl_border_sp.svg) no-repeat bottom center / 100% auto;
    }
    .merit_ttl_s {
        font-size: 36rem;
    }
    .merit_ttl_deco {
        width: 127rem;
        height: 65rem;
        top: -70rem;
        left: 38rem;
    }
    .merit_ttl_deco1 {
        width: 37rem;
        top: 19rem;
        left: 44rem;
    }
    .merit_ttl_deco2 {
        width: 22rem;
        bottom: 0;
        left: 0;
    }
    .merit_ttl_deco3 {
        width: 23rem;
        top: 0;
        right: 0;
    }
    .merit_slide {
        --merit-slide-gap: 16rem;
        margin-top: 42rem;
        gap: var(--merit-slide-gap);
    }
    .merit_slide_line,
    .merit_slide_list {
        gap: var(--merit-slide-gap);
    }
    .merit_slide_list li {
        padding: 26rem 40rem;
        font-size: 28rem;
        border-radius: 16rem;
    }
    .merit_green {
        width: 100%;
        background: url(../images/merit_green_bg_sp.webp) no-repeat center / 100% 100%;
        height: 6437rem;
        margin-top: 317rem;
    }
    .merit_neko_foot {
        width: 91rem;
        height: 162rem;
        top: -116rem;
        left: 110rem;
    }
    .merit_neko_foot_shadow {
        width: 73rem;
        bottom: -11rem;
        right: -9rem;
    }
    .merit_foot {
        width: 681rem;
        height: 207rem;
        top: -158rem;
        left: 39rem;
    }
    .merit_foot1 {
        width: 24rem;
        bottom: 0;
        left: 0;
    }
    .merit_foot2 {
        width: 37rem;
        top: 0;
        left: 221rem;
    }
    .merit_foot3 {
        width: 35rem;
        top: 146rem;
        left: 295rem;
    }
    .merit_foot4 {
        width: 46rem;
        top: 11rem;
        left: 626rem;
    }
    .merit_foot5 {
        width: 26rem;
        top: 157rem;
        left: 656rem;
    }
    .merit_curve_txt {
        width: 412rem;
        top: -84rem;
        left: 265rem;
    }
    .merit_plan {
        padding-top: 142rem;
    }
    .merit_plan_ttl {
        font-size: 44rem;
        line-height: 2;
    }
    .merit_plan_img {
        margin-top: 17rem;
    }
    .merit_plan_img_plus {
        top: 151rem;
        left: 277rem;
        width: 73rem;
    }
    .merit_plan_img_deco1 {
        width: 713rem;
        top: 440rem;
        left: 39rem;
    }
    .merit_plan_img_deco2 {
        width: 700rem;
        top: 408rem;
        left: 33rem;
    }
    .merit_plan_swiper {
        margin-top: 63rem;
        border: 12rem solid var(--color-yellow);
        border-radius: 40rem;
    }
    .merit_plan_swiper_arrow {
        width: 80rem;
        height: 80rem;
    }
    .merit_plan_swiper_arrow::after {
        width: 16rem;
        height: 16rem;
        border-left: 2px solid var(--main-color);
        border-bottom: 2px solid var(--main-color);
        border-radius: 2px;
    }
    .merit_plan_swiper_arrow_prev {
        left: -40rem;
    }
    .merit_plan_swiper_arrow_next {
        right: -40rem;
    }
    .merit_plan_swiper_pagination {
        gap: 32rem;
        margin-top: 64rem;
    }
    .merit_plan_swiper_pagination .swiper-pagination-bullet {
        width: 16rem;
        height: 16rem;
    }
    .merit_plan_cont {
        height: 2264rem;
        background: url(../images/merit_plan_cont_bg_sp.webp) no-repeat center / 100% 100%;
        margin-top: 24rem;
        padding-top: 316rem;
    }
    .merit_plan_cont_ttl_txt {
        font-size: 40rem;
    }
    .merit_plan_cont_ttl::after {
        width: 248rem;
        height: 24rem;
        background: url(../images/merit_plan_cont_ttl_line.svg) no-repeat top center / contain;
        left: 269rem;
        bottom: -15rem;
    }
    .merit_set_box {
        margin-top: 87rem;
    }
    .merit_set_bg {
        width: 679rem;
        top: 0;
        left: 54rem;
    }
    .merit_set_tag {
        width: 115rem;
        top: -29rem;
        left: 122rem;
    }
    .merit_set_sub {
        width: 179rem;
        top: 22rem;
        left: 585rem;
    }
    .merit_set_cont {
        padding-top: 92rem;
    }
    .merit_set_ttl {
        font-size: 40rem;
    }
    .merit_set_ttl_s {
        font-size: 32rem;
    }
    .merit_set_txt {
        font-size: 28rem;
        margin-top: 28rem;
    }
    .merit_set_img {
        width: 534rem;
        margin: 39rem auto 0;
    }
    .merit_set_btn {
        margin-top: 32rem;
    }
    .merit_set_btn .btn,
    .merit_benefits_btn .btn {
        padding: 20rem 87rem 20rem 81rem;
    }
    .merit_set_btn .btn::before,
    .merit_benefits_btn .btn::before {
        right: 35rem;
    }
    .merit_set_btn .btn::after,
    .merit_benefits_btn .btn::after {
        right: 31rem;
    }
    .merit_plan_cont_plus {
        margin: 47rem auto 39rem;
        width: 111rem;
    }
    .merit_benefits {
        padding-top: 135rem;
    }
    .merit_benefits_bg {
        top: 0;
        left: 264rem;
        width: 449rem;
    }
    .merit_benefits_tag {
        width: 75rem;
        top: 0;
        left: 119rem;
    }
    .merit_benefits_tag_deco1 {
        width: 14rem;
        top: 83rem;
        left: 68rem;
    }
    .merit_benefits_tag_deco2 {
        width: 10rem;
        top: 87rem;
        left: 90rem;
    }
    .merit_benefits_ttl_sub {
        font-size: 32rem;
    }
    .merit_benefits_ttl_sub_num {
        font-size: 40rem;
    }
    .merit_benefits_ttl {
        font-size: 40rem;
        margin-top: 24rem;
    }
    .merit_benefits_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 28rem;
    }
    .merit_benefits_btn {
        margin-top: 29rem;
    }
    .merit_benefits_note {
        margin: 56rem auto 0;
        width: 530rem;
    }
    .merit_benefits_note li {
        font-size: 20rem;
        line-height: calc(35/20);
    }
    .merit_plan_period {
        padding-top: 110rem;
    }
    .merit_plan_period_ttl {
        font-size: 40rem;
        line-height: calc(72/40);
    }
    .merit_plan_period_cont {
        margin-top: 48rem;
        flex-direction: column;
        gap: 40rem;
        align-items: center;
    }
    .merit_plan_period_box {
        border-radius: 24rem;
        padding: 64rem 32rem;
    }
    .merit_plan_period_box_ttl {
        font-size: 32rem;
    }
    .merit_plan_period_box_list {
        margin-top: 29rem;
    }
    .merit_plan_period_box_list li {
        font-size: 28rem;
        line-height: calc(49/28);
    }
    .merit_plan_period_flow {
        margin-top: 14rem;
    }
    .merit_plan_period_flow_example {
        font-size: 28rem;
    }
    .merit_plan_period_flow_list {
        margin-top: 16rem;
        padding-bottom: 28rem;
    }
    .merit_plan_period_flow_list li {
        padding-inline: 24rem 20rem;
    }
    .merit_plan_period_flow_list li:first-child {
        padding-left: 0;
    }
    .merit_plan_period_flow_list li:last-child {
        padding-right: 0;
    }
    .merit_plan_period_flow_list li + li {
        border-left: 4rem dotted #333;
    }
    .merit_plan_period_flow_list dl {
        gap: 11rem;
    }
    .merit_plan_period_flow_list dt {
        font-size: 28rem;
        line-height: calc(42/28);
        height: 83rem;
    }
    .merit_plan_period_flow_list dd {
        font-size: 24rem;
        line-height: calc(36/24);
        height: 72rem
    }
    .merit_plan_period_flow_list::before {
        width: calc(100% - 10rem);
        height: 4rem;
    }
    .merit_plan_period_flow_list::after {
        width: 18rem;
        height: 21rem;
        translate: 0 calc(50% - 3rem);
    }
    .merit_plan_period_btn {
        margin-top: 40rem;
    }
    .merit_plan_bottom_txt {
        font-size: 32rem;
        line-height: calc(60/32);
        margin-top: 40rem;
    }
    .merit_plan_bottom_illust {
        width: 282rem;
        height: 197rem;
        left: 246rem;
        bottom: -68rem;
    }
    .merit_plan_bottom_neko {
        width: 148rem;
        bottom: 0;
        left: 65rem;
    }
    .merit_plan_bottom_neko_shadow {
        width: 87rem;
        left: 60rem;
        bottom: -4rem;
    }
    .merit_plan_bottom_deco1 {
        width: 277rem;
        left: 0;
        top: 0;
    }
    .merit_plan_bottom_deco2 {
        width: 280rem;
        top: 25rem;
        right: 0;
    }
}
/* merit animation */
.animation_ready.animation_loaded .merit_plan_img_deco {
    animation-delay: 0.5s;
}
.animation_ready .merit_ttl::after {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    transition: clip-path 0.3s ease-out;
}
.animation_ready.animation_loaded .merit_ttl.is_animated::after {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.animation_ready .merit_ttl_deco_img {
    opacity: 0;
    transition: opacity 0s;
}
.animation_ready .merit_ttl_deco2 {
    transition-delay: 0.4s;
}
.animation_ready .merit_ttl_deco3 {
    transition-delay: 0.2s;
}
.animation_ready.animation_loaded .merit_ttl_deco.is_animated .merit_ttl_deco_img {
    opacity: 1;
}
.merit_slide .merit_slide_line:nth-child(1) .merit_slide_list {
    animation: merit_slide_odd 168.75s linear infinite;
}
.merit_slide .merit_slide_line:nth-child(3) .merit_slide_list {
    animation: merit_slide_odd 208.75s linear infinite;
}
.merit_slide .merit_slide_line:nth-child(even) .merit_slide_list {
    animation: merit_slide_even 168.75s linear infinite;
}
@keyframes merit_slide_odd {
    0% {
        translate: 0 0;
    }
    100% {
        translate: calc(-100% - var(--merit-slide-gap)) 0;
    }
}
@keyframes merit_slide_even {
    0% {
        translate: 0 0;
    }
    100% {
        translate: calc(100% + var(--merit-slide-gap)) 0;
    }
}
.animation_ready .merit_foot_img {
    scale: 0;
    transition: scale 0.3s var(--easing-pop);
}
.animation_ready .merit_foot2 {
    transition-delay: 0.1s;
}
.animation_ready .merit_foot3 {
    transition-delay: 0.2s;
}
.animation_ready .merit_foot4 {
    transition-delay: 0.3s;
}
.animation_ready .merit_foot5 {
    transition-delay: 0.4s;
}
.animation_ready.animation_loaded .merit_foot.is_animated .merit_foot_img {
    scale: 1;
}
.animation_ready .merit_plan_img_plus {
    scale: 0;
    transition: scale 0.3s var(--easing-pop);
}
.animation_ready.animation_loaded .merit_plan_img_plus.is_animated {
    scale: 1;
}
.animation_ready .merit_set_bg {
    opacity: 0;
    translate: 0 80rem;
}
.animation_ready.animation_loaded .merit_set_box.is_animated .merit_set_bg {
    animation: merit_set_bg 1.5s steps(1) forwards;
}
@keyframes merit_set_bg {
    0% {
        opacity: 0;
        translate: 0 80rem;
    }
    25% {
        opacity: 1;
        translate: 0 60rem;
        rotate: 10deg;
    }
    50% {
        opacity: 1;
        translate: 0 40rem;
        rotate: -5deg;
    }
    75% {
        opacity: 1;
        translate: 0 20rem;
        rotate: 5deg;
    }
    100% {
        opacity: 1;
        translate: 0 0rem;
        rotate: 0deg;
    }
}
.animation_ready .merit_benefits_bg {
    opacity: 0;
    translate: 80rem 0rem;
}
@keyframes merit_benefits_bg {
    0% {
        opacity: 0;
        translate: 80rem 0;
    }
    25% {
        opacity: 1;
        translate: 60rem 0;
        rotate: 10deg;
    }
    50% {
        opacity: 1;
        translate: 40rem 0;
        rotate: -5deg;
    }
    75% {
        opacity: 1;
        translate: 20rem 0;
        rotate: 5deg;
    }
    100% {
        opacity: 1;
        translate: 0rem 0;
        rotate: 0deg;
    }
}
.animation_ready .merit_set_tag,
.animation_ready .merit_benefits_tag_deco {
    scale: 0;
    transition: scale 0.3s var(--easing-pop) 1.5s;
}
.animation_ready.animation_loaded .merit_set_box.is_animated .merit_set_tag,
.animation_ready.animation_loaded .merit_benefits.is_animated .merit_benefits_tag_deco {
    scale: 1;
}
.animation_ready.animation_loaded .merit_benefits.is_animated .merit_benefits_bg {
    animation: merit_benefits_bg 1.5s steps(1) forwards;
}
.animation_ready .merit_benefits_tag_deco2 {
    transition-delay: 1.65s;
}

/* bottom_apply */
.bottom_apply_illust {
    position: relative;
}
.bottom_apply_illust_deco {
    position: absolute;
}
.bottom_apply_txt {
    position: absolute;
}
.apply_bottom_deco1 {
    position: absolute;
}
.apply_bottom_deco2 {
    position: absolute;
}
@media (min-width: 769px) {
    .bottom_apply {
        margin-top: -56rem;
    }
    .bottom_apply_illust {
        height: 494rem;
        margin: 0 0 -159rem 151rem;
        width: 586rem;
    }
    .bottom_apply_illust_deco1 {
        width: 43rem;
        top: -26rem;
        left: 188rem;
    }
    .bottom_apply_illust_deco2 {
        width: 33rem;
        top: -48rem;
        left: 138rem;
    }
    .bottom_apply_txt {
        font-size: 18rem;
        line-height: calc(36/18);
        top: 286rem;
        left: 428rem;
        white-space: nowrap;
    }
    .apply_bottom_deco1 {
        width: 592rem;
        top: -43rem;
        left: -70rem;
    }
    .apply_bottom_deco2 {
        width: 557rem;
        top: -56rem;
        left: -40rem;
    }
    .bottom_apply .apply_link_area_wrap {
        top: auto;
        bottom: 0;
    }
}
@media (max-width: 768px) {
    .bottom_apply {
        margin-top: 230rem;
    }
    .bottom_apply_illust {
        width: 100%;
        height: 1027rem;
        margin-bottom: -475rem;
    }
    .bottom_apply_illust_deco1 {
        width: 71rem;
        top: -59rem;
        left: 561rem;
    }
    .bottom_apply_illust_deco2 {
        width: 54rem;
        top: -113rem;
        left: 647rem;
    }
    .bottom_apply_txt {
        font-size: 32rem;
        line-height: calc(60/32);
        text-align: center;
        top: 439rem;
        left: 0;
        right: 0;
    }
    .apply_bottom_deco1 {
        width: 734rem;
        top: 21rem;
        right: 0;
    }
    .apply_bottom_deco2 {
        width: 739rem;
        top: -17rem;
        right: 0;
    }
}
/* bottom_apply animation */
.animation_ready .bottom_apply_illust_deco {
    scale: 0.5;
    opacity: 0;
}
.animation_ready.animation_loaded .bottom_apply_illust_deco {
    animation: bottom_apply_illust_deco 7s infinite;
}
.animation_ready.animation_loaded .bottom_apply_illust_deco2 {
    animation-delay: 0.5s;
}
@keyframes bottom_apply_illust_deco {
    0%,60%,100% {
        scale: 0.5;
        opacity: 0;
    }
    30% {
        scale: 1;
        opacity: 1;
    }
}
.animation_ready .merit_plan_bottom_neko_img {
    scale: 0.5;
}
.animation_ready.animation_loaded .merit_plan_bottom_illust.is_animated .merit_plan_bottom_neko_img {
    animation: merit_plan_bottom_illust 2s steps(1) forwards;
}
@keyframes merit_plan_bottom_illust {
    0% {
        scale: 0.5;
    }
    25% {
        rotate: -10deg;
        scale: 0.62;
    }
    50% {
        rotate: 5deg;
        scale: 0.74;
    }
    75% {
        rotate: -5deg;
        scale: 0.86;
    }
    100% {
        rotate: 0;
        scale: 1;
    }
}
.animation_ready .merit_plan_bottom_neko_shadow {
    scale: 0;
    transition: scale 0.3s 2.2s;

}
.animation_ready.animation_loaded .merit_plan_bottom_illust.is_animated .merit_plan_bottom_neko_shadow {
    scale: 1;
}

/* voice */
.voice {
    position: relative;
}
.voice_microphone {
    position: absolute;
}
.voice_ttl {
    font-weight: 900;
    color: var(--main-color);
    text-align: center;
    position: relative;
}
.voice_ttl::after {
    content: "";
    display: inline-block;
    width: 2em;
}
.voice_ttl_fukidashi {
    position: absolute;
}
.voice_ttl_fukidashi_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.voice_ttl_fukidashi_txt {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 900;
    position: relative;
    z-index: 1;
}
.voice_txt {
    text-align: center;
    font-weight: 900;
}
.voice_cont {
    display: flex;
    flex-direction: column;
}
.voice_swiper_ttl {
    margin-inline: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: relative;
}
.voice_swiper_ttl::after {
    content: "";
    display: block;
    background: url(../images/voice_swiper_ttl_deco.svg) no-repeat center / contain;
    position: absolute;
}
.voice_swiper {
    overflow: visible;
}
.voice_swiper .swiper-slide {
    height: auto;
}
.voice_swiper_slide {
    background-color: #fff;
    height: 100%;
}
.voice_swiper_icon {
    line-height: 0;
}
.voice_swiper_age {
    line-height: 1;
    text-align: center;
}
.voice_swiper_strong {
    color: var(--color-green);
}
.voice_bnr {
    line-height: 0;
    display: block;
    overflow: hidden;
}
@media (min-width: 769px) {
    .voice {
        padding-top: 134rem;
    }
    .voice_microphone {
        width: 154rem;
        top: 78rem;
        left: 50%;
        margin-left: -576rem;
    }
    .voice_ttl {
        font-size: 26rem;
        line-height: 1;
    }
    .voice_ttl_fukidashi {
        width: 68rem;
        height: 55rem;
        bottom: -16rem;
        left: 50%;
        margin-left: 210rem;
    }
    .voice_ttl_fukidashi_txt {
        padding-bottom: 8rem;
        font-size: 26rem;
    }
    .voice_txt {
        font-size: 16rem;
        line-height: calc(32/16);
        margin-top: 40rem;
    }
    .voice_cont {
        margin-top: 42rem;
        gap: 80rem;
    }
    .voice_swiper_ttl {
        height: 66rem;
        padding-bottom: 19rem;
        font-size: 18rem;
    }
    .voice_swiper_ttl::after {
        width: 20rem;
        height: 18rem;
        top: -9rem;
        right: -26rem;
    }
    .voice_swiper_ttl1 {
        width: 331rem;
        background: url(../images/voice_swiper_ttl1_bg.webp) no-repeat center / contain;
    }
    .voice_swiper_ttl2 {
        width: 298rem;
        background: url(../images/voice_swiper_ttl2_bg.webp) no-repeat center / contain;
    }
    .voice_swiper {
        margin-top: 24rem;
    }
    .voice_swiper_slide {
        padding: 40rem 38rem;
        border-radius: 16rem;
    }
    .voice_swiper_icon {
        height: 97rem;
    }
    .delicious_slide_icon1_1 {
        width: 74rem;
    }
    .delicious_slide_icon1_2 {
        width: 72rem;
    }
    .delicious_slide_icon1_3 {
        width: 71rem;
    }
    .delicious_slide_icon1_4 {
        width: 72rem;
    }
    .preparation_slide_icon1_1 {
        width: 63rem;
    }
    .preparation_slide_icon1_2 {
        width: 73rem;
    }
    .preparation_slide_icon1_3 {
        width: 69rem;
    }
    .preparation_slide_icon1_4 {
        width: 70rem;
    }
    .voice_swiper_icon_wrap {
        display: flex;
        justify-content: center;
        gap: 16rem;
    }
    .voice_swiper_age {
        font-size: 16rem;
        line-height: 1;
        margin-top: 38rem;
    }
    .voice_swiper_icon {
        order: 1;
    }
    .voice_swiper_txt {
        font-size: 15rem;
        line-height: calc(28/16);
    }
    .voice_bnr {
        border-radius: 32rem;
        margin-top: 80rem;
        width: 800rem;
        margin-inline: auto;
    }
}
@media (max-width: 768px) {
    .voice {
        padding-top: 248rem;
    }
    .voice_microphone {
        width: 224rem;
        top: 159rem;
        left: -14rem;
    }
    .voice_ttl {
        font-size: 40rem;
        line-height: calc(72/40);
    }
    .voice_ttl_fukidashi {
        width: 106rem;
        height: 87rem;
        bottom: -14rem;
        right: 36rem;
    }
    .voice_ttl_fukidashi_txt {
        padding-bottom: 12rem;
        font-size: 40rem;
    }
    .voice_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 40rem;
    }
    .voice_cont {
        margin-top: 68rem;
        gap: 80rem;
    }
    .voice_swiper_ttl {
        height: 118rem;
        padding-bottom: 33rem;
        font-size: 32rem;
    }
    .voice_swiper_ttl::after {
        width: 32rem;
        height: 30rem;
        top: -15rem;
        right: -38rem;
    }
    .voice_swiper_ttl1 {
        width: 543rem;
        background: url(../images/voice_swiper_ttl1_bg_sp.webp) no-repeat center / contain;
    }
    .voice_swiper_ttl2 {
        width: 509rem;
        background: url(../images/voice_swiper_ttl2_bg_sp.webp) no-repeat center / contain;
    }
    .voice_swiper {
        margin-top: 24rem;
    }
    .voice_swiper_slide {
        padding: 64rem 64rem 52rem;
        border-radius: 32rem;
    }
    .voice_swiper_icon {
        height: 175rem;
        margin-inline: auto;
    }
    .delicious_slide_icon1_1 {
        width: 122rem;
    }
    .delicious_slide_icon1_2 {
        width: 118rem;
    }
    .delicious_slide_icon1_3 {
        width: 117rem;
    }
    .delicious_slide_icon1_4 {
        width: 119rem;
    }
    .preparation_slide_icon1_1 {
        width: 106rem;
    }
    .preparation_slide_icon1_2 {
        width: 121rem;
    }
    .preparation_slide_icon1_3 {
        width: 113rem;
    }
    .preparation_slide_icon1_4 {
        width: 116rem;
    }
    .voice_swiper_age {
        font-size: 28rem;
    }
    .voice_swiper_txt {
        font-size: 28rem;
        line-height: calc(48/28);
        margin-top: 21rem;
    }
    .voice_bnr {
        border-radius: 40rem;
        margin-top: 64rem;
    }
}
/* voice animation */
.animation_ready.animation_loaded .voice_ttl.is_animated .voice_ttl_fukidashi_bg {
    animation: katakata 0.8s steps(1) forwards;
}
.animation_ready .voice_swiper_ttl::after {
    opacity: 0;
}
.animation_ready.animation_loaded .voice_swiper_ttl.is_animated::after {
    opacity: 1;
}


/* web_movie */
.web_movie {
    width: 100%;
    position: relative;
}
.web_movie_ttl {
    text-align: center;
    line-height: 1;
    font-weight: 900;
    color: var(--main-color);
}
.web_movie_ttl::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    background: url(../images/web_movie_ttl_deco.webp) no-repeat center / contain;
}
.web_movie_ttl_txt {
    position: relative;
    z-index: 1;
}
.web_movie_ttl_txt_s {
    font-weight: 700;
}
.web_movie_neko {
    position: absolute;
}
.web_movie_neko_deco {
    position: absolute;
}
.web_movie_swiper {
    opacity: 0;
}
.animation_ready.animation_loaded .web_movie_swiper {
    opacity: 1;
}
.web_movie_swiper .swiper-slide {
    transition: opacity 0.3s;
}
.web_movie_thumb_txt {
    text-align: center;
    font-weight: 500;
}
.web_movie_swiper_pagination.swiper-pagination-horizontal {
    position: static;
    width: auto;
    line-height: 0;
    display: flex;
    justify-content: center;
}
.web_movie_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
    opacity: 1;
    background-color: #d7d7d7;
}
.web_movie_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: var(--color-green);
}
@media (min-width: 769px) {
    .web_movie {
        height: 777rem;
        background: url(../images/web_movie_bg.svg?v=1) no-repeat center / auto 100%;
        margin-top: 115rem;
    }
    .web_movie_ttl {
        font-size: 40rem;
        position: absolute;
        top: 186rem;
        left: 50%;
        margin-left: -188rem;
    }
    .web_movie_ttl::after {
        translate: 103rem -50%;
        width: 94rem;
        height: 75rem;
    }
    .web_movie_ttl_txt_s {
        font-size: 32rem;
    }
    .web_movie_neko {
        width: 106rem;
        top: 104rem;
        left: 50%;
        margin-left: -380rem;
    }
    .web_movie_neko_deco {
        width: 25rem;
        top: 133rem;
        left: 50%;
        margin-left: -414rem;
    }
    .youtube.web_movie_thumb {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        height: auto;
    }
    .web_movie_swiper {
        width: 1280rem;
        position: absolute;
        top: 281rem;
        left: 50%;
        translate: -50% 0;
    }
    .web_movie_swiper .swiper-slide {
        padding-inline: 20rem;
    }
    .web_movie_thumb_txt {
        font-size: 16rem;
        margin-top: 32rem;
    }
    .web_movie_swiper_arrow {
        display: none;
    }
    .web_movie_swiper {
        overflow: hidden;
        position: relative;
    }
    .web_movie_swiper::before,
    .web_movie_swiper::after {
        content: "";
        display: block;
        width: 354rem;
        position: absolute;
        height: 100%;
        top: 0;
        z-index: 2;
        pointer-events: none;
    }
    .web_movie_swiper::before {
        left: 0;
        background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    }
    .web_movie_swiper::after {
        right: 0;
        background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    }
    .web_movie_swiper .swiper-slide:not(.swiper-slide-active) {
        opacity: 0.5;
    }
    .web_movie_swiper_pagination.swiper-pagination-horizontal {
        gap: 24rem;
        margin-top: 38rem;
    }
    .web_movie_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 8rem;
        height: 8rem;
    }
}
@media (max-width: 768px) {
    .web_movie {
        height: 903rem;
        background: url(../images/web_movie_bg_sp.svg?v=1) no-repeat center / contain;
        margin-top: 160rem;
        padding-top: 171rem;
    }
    .web_movie .inner {
        padding: 0;
    }
    .web_movie_ttl {
        font-size: 48rem;
        position: relative;
    }
    .web_movie_ttl::after {
        translate: 103rem -50%;
        width: 105rem;
        height: 83rem;
    }
    .web_movie_ttl_txt_s {
        font-size: 40rem;
    }
    .web_movie_swiper {
        margin-top: 57rem;
    }
    .web_movie_neko {
        width: 106rem;
        top: -57rem;
        left: 337rem;
    }
    .web_movie_neko_deco {
        width: 26rem;
        top: -38rem;
        left: 295rem;
    }
    .web_movie_swiper {
        position: relative;
    }
    .web_movie_thumb {
        margin-top: 0;
    }
    .web_movie_swiper .swiper-slide {
        padding-inline: 64rem;
    }
    .web_movie_thumb_txt {
        font-size: 28rem;
        margin-top: 40rem;
    }
    .web_movie_swiper_arrow {
        position: absolute;
        top: 183rem;
        width: 146rem;
        height: 146rem;
        border-radius: 50%;
        background-color: var(--color-yellow);
        z-index: 1;
    }
    .web_movie_swiper_arrow_prev {
        left: 0;
        translate: -50% -50%;
    }
    .web_movie_swiper_arrow_next {
        right: 0;
        translate: 50% -50%;
    }
    .web_movie_swiper_arrow::after {
        content: "";
        display: block;
        width: 18rem;
        height: 18rem;
        border-radius: 6rem;
        position: absolute;
        top: 50%;
        translate: 0 -50%;
        border-left: 5rem solid var(--main-color);
        border-bottom: 5rem solid var(--main-color);
    }
    .web_movie_swiper_arrow_prev::after {
        left: calc(50% + 21rem);
        rotate: 45deg;
    }
    .web_movie_swiper_arrow_next::after {
        right: calc(50% + 21rem);
        rotate: 225deg;
    }
    .web_movie_swiper_pagination.swiper-pagination-horizontal {
        gap: 32rem;
        margin-top: 64rem;
    }
    .web_movie_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 16rem;
        height: 16rem;
    }
}
/* web_movie animation */

.animation_ready .web_movie_ttl::after {
    scale: 0;
    transition: scale 0.4s var(--easing-pop);
}
.animation_ready.animation_loaded .web_movie_ttl.is_animated::after {
    scale: 1;
}

/* outline */
.outline_summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.outline_summary_txt {
    font-weight: 900;
    display: flex;
    align-items: center;
    color: var(--main-color);
}
.outline_summary_txt::before {
    content: "";
    display: block;
    background-color: var(--color-green);
}
.outline_summary_icon {
    display: block;
    border-radius: 50%;
    background-color: var(--main-color);
    position: relative;
}
.outline_summary_icon::before,
.outline_summary_icon::after {
    content: "";
    display: block;
    border-radius: 100rem;
    background-color: #fff;
    position: absolute;
    inset: 0;
    margin: auto;
}
.outline_summary_icon::before {
    rotate: 90deg;
}
.outline_list dd {
    font-weight: 400;
}
.outline_txt_indent {
    padding-left: 1em;
    text-indent: -1em;
}
.outline_txt_indent_num {
    padding-left: 2.3em;
    text-indent: -2.3em;
}
.outline_list a {
    text-decoration: underline;
}
.outline_list sup {
    font-size: 0.6em;
}
.outline_summary_icon::before {
    transition: rotate 0.3s;
}
.outline_details.is-opened .outline_summary_icon::before {
    rotate: 0deg;
}
.outline_list_btn button {
    line-height: 1;
}
@media (min-width: 769px) {
    .outline {
        padding-block: 117rem 142rem;
    }
    .outline_summary_txt {
        font-size: 26rem;
        gap: 24rem;
    }
    .outline_summary_txt::before {
        width: 47rem;
        height: 38rem;
        clip-path: polygon(0% 0%, calc(100% - 14rem) 2rem, 100% 50%, calc(100% - 14rem) calc(100% - 2rem), 0% 100%);
    }
    .outline_summary_icon {
        width: 36rem;
        height: 36rem;
    }
    .outline_summary_icon::before,
    .outline_summary_icon::after {
        width: 16rem;
        height: 2rem;
    }
    .outline_content {
        padding-top: 40rem;
    }
    .outline_list {
        padding-bottom: 9rem;
    }
    .outline_list + .outline_list {
        padding-top: 24rem;
        margin-top: 24rem;
        border-top: 2rem solid #333;
    }
    .outline_list dt,
    .outline_txt_l {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .outline_txt_s {
        font-size: 12rem;
        line-height: calc(22/12);
    }
    .outline_list a {
        text-underline-offset: 6rem;
    }
    .outline_details + .outline_details {
        margin-top: 66rem;
    }
    .qa_btn {
        margin-top: 77rem;
    }
    .outline_list_flex {
        display: flex;
        gap: 30rem;
    }
    .outline_list_btn {
        min-width: 302rem;
    }
}
@media (max-width: 768px) {
    .outline {
        padding-block: 160rem 254rem;
    }
    .outline_summary_txt {
        font-size: 40rem;
        gap: 32rem;
    }
    .outline_summary_txt::before {
        width: 57rem;
        height: 46rem;
        clip-path: polygon(0% 0%, calc(100% - 14rem) 2rem, 100% 50%, calc(100% - 14rem) calc(100% - 2rem), 0% 100%);
    }
    .outline_summary_icon {
        width: 48rem;
        height: 48rem;
    }
    .outline_summary_icon::before,
    .outline_summary_icon::after {
        width: 24rem;
        height: 4rem;
    }
    .outline_content {
        padding-top: 67rem;
    }
    .outline_list {
        padding-bottom: 4rem;
    }
    .outline_list + .outline_list {
        padding-top: 24rem;
        margin-top: 20rem;
        border-top: 2rem solid #333;
    }
    .outline_list dt,
    .outline_txt_l {
        font-size: 28rem;
        line-height: calc(49/28);
    }
    .outline_txt_s {
        font-size: 20rem;
        line-height: calc(35/20);
    }
    .outline_list a {
        text-underline-offset: 14rem;
    }
    .outline_details + .outline_details {
        margin-top: 100rem;
    }
    .outline_list_btn {
        margin-block: 16rem 30rem;
    }
    .qa_btn {
        margin-top: 116rem;
    }
    .outline_center {
        text-align: center;
    }
}

/* bousaibu */
.bousaibu {
	color: #000;
	position: relative;
}
.bousaibu_clip {
	position: absolute;
	left: 0;
	right: 0;
	margin-inline: auto;
}
.bousaibu_ttl {
	line-height: 0;
}
.bousaibu_txt {
	text-align: center;
}
.bousaibu_content {
	background-color: #ffd971;
}
.bousaibu_list_ttl {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-weight: 900;
	line-height: 1;
}
.bousaibu_list_fukidashi {
	text-align: center;
	border-radius: 100rem;
	background-color: #fff;
	position: relative;
}
.bousaibu_list_fukidashi::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
}
.bousaibu_list a {
	line-height: 0;
	display: block;
	overflow: hidden;
}
.bousaibu_neko {
	position: absolute;
}
@media (min-width: 769px) {
    .bousaibu {
        border-top: 64rem solid #088c59;
        border-left: 64rem solid #088c59;
        border-right: 64rem solid #088c59;
        width: 1000rem;
        margin-inline: auto;
        border-top-left-radius: 32rem;
        border-top-right-radius: 32rem;
        background-color: #088c59;
    }
    .bousaibu_bg {
        background: url(../images/bousaibu_bg.gif) repeat center / 133rem 133rem;
        padding: 74rem 64rem 80rem;
        border-top-left-radius: 24rem;
        border-top-right-radius: 24rem;
    }
    .bousaibu_clip {
        width: 343rem;
        top: -86rem;
    }
    .bousaibu_ttl_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 64rem;
    }
    .bousaibu_ttl {
        width: 199rem;
    }
    .bousaibu_txt {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .bousaibu_content {
        margin-top: 40rem;
        padding: 40rem 52rem;
        border-radius: 16rem;
    }
    .bousaibu_list_ttl {
        gap: 6rem;
        font-size: 20rem;
    }
    .bousaibu_list_ttl_img {
        width: 108rem;
    }
    .bousaibu_list {
        margin-top: 24rem;
        display: flex;
        justify-content: space-between;
        gap: 40rem;
    }
    .bousaibu_list li {
        width: 100%;
    }
    .bousaibu_list_fukidashi {
        font-size: 16rem;
        line-height: calc(21/16);
        padding-block: 11rem;
        margin-bottom: 18rem;
    }
    .bousaibu_list_fukidashi::after {
        border-top: 5rem solid #fff;
        border-right: 5rem solid #fff;
        border-bottom: 5rem solid transparent;
        top: calc(100% - 1px);
        left: 64rem;
    }
    .bousaibu_list a {
        border-radius: 20rem;
    }
    .bousaibu_experience_neko {
        width: 65rem;
        top: -31rem;
        left: -30rem;
    }
    .bousaibu_level_neko {
        width: 55rem;
        top: -31rem;
        right: -29rem;
    }
}
@media (max-width: 768px) {
    .bousaibu {
        background: url(../images/bousaibu_bg.gif) repeat center / 133rem 133rem;
        border-top: 80rem solid #088c59;
        border-bottom: 80rem solid #088c59;
        padding: 100rem 37rem 80rem;
    }
    .bousaibu_clip {
        width: 429rem;
        top: -113rem;
    }
    .bousaibu_ttl {
        width: 369rem;
        margin-inline: auto;
    }
    .bousaibu_txt {
        font-size: 28rem;
        line-height: 1.75;
        margin-top: 53rem;
    }
    .bousaibu_content {
        margin-top: 54rem;
        padding: 54rem 38rem 56rem;
        border-radius: 24rem;
    }
    .bousaibu_list_ttl {
        gap: 10rem;
        font-size: 40rem;
        letter-spacing: 0.04em;
    }
    .bousaibu_list_ttl_img {
        width: 208rem;
    }
    .bousaibu_list {
        margin-top: 34rem;
    }
    .bousaibu_list li + li {
        margin-top: 50rem;
    }
    .bousaibu_list_fukidashi {
        font-size: 28rem;
        line-height: 1.5;
        padding-block: 15rem;
        margin-bottom: 32rem;
    }
    .bousaibu_list_fukidashi::after {
        border-top: 10rem solid #fff;
        border-bottom: 10rem solid transparent;
        top: calc(100% - 1px);
    }
    .bousaibu_list li:nth-child(odd) .bousaibu_list_fukidashi::after {
        border-left: 10rem solid #fff;
        border-right: 10rem solid transparent;
        right: 124rem;
    }
    .bousaibu_list li:nth-child(even) .bousaibu_list_fukidashi::after {
        border-right: 10rem solid #fff;
        border-left: 10rem solid transparent;
        left: 124rem;
    }
    .bousaibu_list a {
        border-radius: 40rem;
    }
    .bousaibu_experience_neko {
        width: 110rem;
        top: -40rem;
        left: 0;
    }
    .bousaibu_level_neko {
        width: 89rem;
        top: -41rem;
        right: -7rem;
    }
}

/* youtube */
.youtube {
    position: relative;
    overflow: hidden;
    pointer-events: none;
}
.youtube.is_youtube_ready {
    pointer-events: auto;
    cursor: pointer;
}
@media (min-width: 769px) {
    .youtube_player {
        width: 800rem;
        height: 450rem;
        border-radius: 32rem;
    }
}
@media (max-width: 768px) {
    .youtube_player_wrap {
        aspect-ratio: 16 / 9;
    }
    .youtube_player {
        width: 100%;
        height: 100%;
        border-radius: 40rem;
    }
}

/* footer */
.footer {
    position: relative;
    background-color: #fff;
}
.ft_logo_miraiz {
    display: block;
}
.ft_copy {
    line-height: 1;
    font-weight: 400;
    white-space: nowrap;
}
.ft_logo_ghibli {
    display: block;
    margin-inline: auto;
}
@media (min-width: 769px) {
    .footer {
        border-top: 1px solid #ccc;
        background-color: #fff;
        padding-block: 24rem 28rem;
    }
    .footer_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 1440px;
        padding-inline: 140rem;
        margin-inline: auto;
    }
    .ft_miraiz {
        display: flex;
        flex-direction: column;
        gap: 15rem;
        width: 50%;
    }
    .ft_logo_miraiz {
        width: 36%;
    }
    .ft_copy {
        font-size: 10px;
        letter-spacing: 0;
    }
    .ft_block_line {
        width: 50%;
    }
    .ft_logo_ghibli {
        width: 75%;
    }
}
@media (max-width: 768px) {
    .footer {
        padding-top: 32rem;
        margin-top: 160rem;
    }
    .footer_inner {
        padding-inline: 46rem;
    }
    .ft_logo_miraiz {
        width: 240rem;
        margin-inline: auto;
    }
    .ft_copy {
        font-size: 20rem;
        letter-spacing: 0.01em;
        margin-top: 40rem;
        text-align: center;
    }
    .ft_block_line {
        padding-block: 40rem;
        margin-top: 40rem;
        border-top: 2rem solid #ccc;
    }
    .ft_logo_ghibli {
        width: 654rem;
    }
}

/* modal */
body.is_modal_show {
    overflow: hidden;
}
.modal_content {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.75);
    display: none;
}
.modal_scroll {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    letter-spacing: -0.5em; /*inline-blockの隙間をなくす*/
}
.modal_scroll_inner {
    text-align: center;
    margin: auto;
    max-width: 100%;
    width: 100%;
    letter-spacing: normal; /* letter-spacing 戻す*/
    line-height: 1.5;
}
.modal_inner {
    background-color: #fff;
    position: relative;
    width: 100%;
    min-height: 100vh;
}
/* centering */
.modal_scroll_inner,
.modal_scroll:after {
    display: inline-block;
    vertical-align: middle;
}
.modal_scroll:after {
    content: '';
    height: 100%;
}
/* close */
.modal_close {
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-yellow);
}
.modal_close::before,
.modal_close::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
    background-color: var(--color-green);
}
.modal_close::before {
    rotate: -45deg;
}
.modal_close::after {
    rotate: 45deg;
}
@media (min-width: 769px) {
    .modal_close {
        top: 40rem;
        right: 40rem;
        width: 48rem;
        height: 48rem;
    }
    .modal_close::before,
    .modal_close::after {
        width: 20rem;
        height: 2rem;
    }
}
@media (max-width: 768px) {
    .modal_close {
        top: 40rem;
        right: 40rem;
        width: 80rem;
        height: 80rem;
    }
    .modal_close::before,
    .modal_close::after {
        width: 34rem;
        height: 4rem;
    }
}

/* modal_content_inner */
.modal_content_inner {
    width: 100%;
    min-height: 100vh;
    padding-block: 120rem;
    text-align: left;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal_ttl {
    text-align: center;
    font-weight: 900;
    color: var(--color-green);
    line-height: 1;
}
.modal_ttl_sub {
    display: inline-block;
    font-weight: 700;
}
.modal_content_inner:not(.is_modal_content_show) {
    display: none;
}
.modal_back {
    position: absolute;
    color: var(--color-green);
    display: flex;
    align-items: center;
}
.modal_back::before {
    content: "";
    display: block;
    rotate: 45deg;
}
@media (min-width: 769px) {
    .modal_content_inner {
        padding-block: 120rem;
    }
    .modal_ttl {
        font-size: 24rem;
    }
    .modal_ttl_sub {
        font-size: 20rem;
        margin-top: 16rem;
    }
    .modal_back {
        top: 56rem;
        left: 64rem;
        font-size: 16rem;
        gap: 12rem;
    }
    .modal_back::before {
        width: 8rem;
        height: 8rem;
        border-left: 2rem solid var(--color-green);
        border-bottom: 2rem solid var(--color-green);
        border-radius: 2rem;
    }
}
@media (max-width: 768px) {
    .modal_content_inner {
        padding-block: 200rem 108rem;
    }
    .modal_ttl {
        font-size: 44rem;
    }
    .modal_ttl_sub {
        font-size: 32rem;
        margin-top: 30rem;
    }
    .modal_back {
        top: 64rem;
        left: 64rem;
        font-size: 28rem;
        gap: 22rem;
    }
    .modal_back::before {
        width: 12rem;
        height: 12rem;
        border-left: 4rem solid var(--color-green);
        border-bottom: 4rem solid var(--color-green);
        border-radius: 4rem;
    }
}

/* modal_top */
.modal_top {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal_top_link {
    line-height: 1;
    width: 100%;
    text-align: left;
    position: relative;
}
.modal_top_link::after {
    content: "";
    display: block;
    border-radius: 50%;
    background-color: var(--color-yellow);
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
}
.modal_top_link_arrow {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
    border-radius: 50%;
}
.modal_top_link_arrow::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--main-color);
}
.modal_top_link_arrow::after {
    content: "";
    display: block;
    background-color: var(--main-color);
    position: absolute;
    top: 0;
    bottom: 0;
    margin-block: auto;
}
@media (min-width: 769px) {
    .modal_top {
        gap: 120rem;
    }
    .modal_top_link_area {
        width: 286rem;
    }
    .modal_top_link {
        padding: 32rem 24rem 36rem;
        font-size: 16rem;
        background: url(../images/modal_top_link_border.svg) no-repeat bottom center / 100% auto;
    }
    .modal_top_link::after {
        width: 9rem;
        height: 9rem;
        left: 7rem;
    }
    .modal_top_link_arrow {
        width: 8rem;
        height: 8rem;
        right: 13rem;
    }
    .modal_top_link_arrow::after {
        width: 30rem;
        height: 2rem;
        right: 4rem;
    }
}
@media (max-width: 768px) {
    .modal_top {
        gap: 10rem;
        flex-direction: column;
    }
    .modal_top_link_area {
        min-width: 390rem;
    }
    .modal_top_link {
        padding: 30rem 116rem 36rem 40rem;
        font-size: 28rem;
        background: url(../images/modal_top_link_border_sp.svg) no-repeat bottom center / 100% auto;
    }
    .modal_top_link::after {
        width: 9rem;
        height: 9rem;
        left: 7rem;
    }
    .modal_top_link_arrow {
        width: 11rem;
        height: 11rem;
        right: 8rem;
    }
    .modal_top_link_arrow::after {
        width: 37rem;
        height: 2rem;
        right: 4rem;
    }
}
/* modal_top animation */
@media (min-width: 769px) {
    @media (hover: hover) {
        .modal_top_link:hover .modal_top_link_arrow::after {
            animation: btn_arrow_line 0.3s forwards;
        }
        .modal_top_link:hover .modal_top_link_arrow::before {
            scale: 0;
            animation: btn_arrow_circle 0.3s forwards 0.3s;
        }
    }
}

/* modal_a_top */
.modal_a_top_ttl {
    line-height: 0;
}
.modal_a_top_txt {
    text-align: center;
}
.modal_a_top_img {
    margin-inline: auto;
}
@media (min-width: 769px) {
    .modal_a_top_ttl {
        width: 269rem;
        margin-inline: auto;
    }
    .modal_a_top_txt {
        font-size: 16rem;
        line-height: 1;
        margin-top: 24rem;
    }
    .modal_a_top_img {
        width: 335rem;
        margin-top: 40rem;
    }
}
@media (max-width: 768px) {
    .modal_a_top_ttl {
        width: 481rem;
        margin-left: 108rem;
    }
    .modal_a_top_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 30rem;
    }
    .modal_a_top_img {
        width: 606rem;
        margin-top: 28rem;
    }
}

/* box_charm */
.box_charm_content {
    width: 100%;
}
.box_charm_slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #fff;
    width: 100%;
}
.box_charm_slide_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.box_charm_label {
    line-height: 1;
}
.box_charm_txt {
    font-weight: 500;
}
.box_charm_note {
    font-weight: 400;
}
.box_charm_slide2_note {
    margin-inline: auto;
}
.box_charm_swiper_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.box_charm_swiper_arrow {
    border-radius: 50%;
    background-color: var(--color-green);
    display: flex;
    justify-content: center;
    align-items: center;
}
.box_charm_swiper_arrow::after {
    content: "";
    display: block;
    rotate: 45deg;
}
.box_charm_swiper_arrow_next {
    rotate: 180deg;
}
.box_charm_swiper_arrow.swiper-button-disabled {
    background-color: #d7d7d7;
}
.box_charm_swiper_pagination.swiper-pagination-horizontal {
    position: static;
    width: auto;
    line-height: 0;
    display: flex;
}
.box_charm_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
    opacity: 1;
    background-color: #d7d7d7;
}
.box_charm_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: var(--color-green);
}
@media (min-width: 769px) {
    .box_charm_slide {
        height: 376rem;
    }
    .box_charm_slide_inner {
        gap: 80rem;
    }
    .box_charm_label {
        font-size: 20rem;
    }
    .box_charm_txt {
        font-size: 16rem;
        line-height: 2;
        margin-top: 22rem;
    }
    .box_charm_note {
        font-size: 12rem;
        line-height: 1;
        margin-top: 32rem;
    }
    .box_charm_slide2_note {
        width: 718rem;
    }
    .box_charm_img1 {
        width: 314rem;
    }
    .box_charm_img2 {
        width: 298rem;
    }
    .box_charm_img3 {
        width: 400rem;
    }
    .box_charm_swiper_nav {
        gap: 40rem;
    }
    .box_charm_swiper_arrow {
        width: 32rem;
        height: 32rem;
    }
    .box_charm_swiper_arrow::after {
        width: 8rem;
        height: 8rem;
        border-left: 2rem solid #fff;
        border-bottom: 2rem solid #fff;
        margin-left: 4rem;
    }
    .box_charm_swiper_pagination.swiper-pagination-horizontal {
        gap: 24rem;
    }
    .box_charm_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 8rem;
        height: 8rem;
    }
}
@media (max-width: 768px) {
    .box_charm_slide {
        height: 896rem;
    }
    .box_charm_slide_inner {
        flex-direction: column;
    }
    .box_charm_label {
        font-size: 36rem;
        text-align: center;
    }
    .box_charm_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 28rem;
        text-align: center;
    }
    .box_charm_note {
        font-size: 20rem;
        line-height: calc(35/20);
        margin-top: 46rem;
    }
    .box_charm_slide2_note {
        width: 540rem;
        padding-left: 1em;
        text-indent: -1em;
    }
    .box_charm_img {
        order: -1;
    }
    .box_charm_img1 {
        width: 417rem;
        margin: 0 37rem 111rem 0;
    }
    .box_charm_img2 {
        width: 439rem;
        margin: 0 45rem 63rem 0;
    }
    .box_charm_img3 {
        width: 572rem;
        margin: 0 0 120rem 40rem;
    }
    .box_charm_swiper_nav {
        gap: 64rem;
    }
    .box_charm_swiper_arrow {
        width: 56rem;
        height: 56rem;
    }
    .box_charm_swiper_arrow::after {
        width: 16rem;
        height: 16rem;
        border-left: 5rem solid #fff;
        border-bottom: 5rem solid #fff;
        margin-left: 5rem;
        border-radius: 4rem;
    }
    .box_charm_swiper_pagination.swiper-pagination-horizontal {
        gap: 32rem;
    }
    .box_charm_swiper_pagination.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 16rem;
        height: 16rem;
    }
}
/* box_charm animation */
@media (min-width: 769px) {
    .box_charm_swiper_arrow {
        scale: 1;
        transition: scale 0.3s;
    }
    .box_charm_swiper_arrow:not(.swiper-button-disabled):hover {
        scale: 1.1;
    }
    .box_charm_swiper_arrow::after {
        transition: border-color 0.3s;
    }
    .box_charm_swiper_arrow:not(.swiper-button-disabled):hover::after {
        border-left-color: var(--color-yellow);
        border-bottom-color: var(--color-yellow);
    }
}

/* box_about */
.box_about_content {
    width: 100%;
    margin-inline: auto;
}
.box_about_list_wrap dl {
    display: flex;
}
.box_about_list_wrap dl + dl {
    margin-top: 34rem;
}
.box_about_list_wrap dt {
    line-height: 1;
}
.box_about_list {
    display: flex;
    flex-wrap: wrap;
}
.box_about_list li {
    display: flex;
    flex-direction: column;
}
.box_about_list_txt {
    text-align: center;
    font-weight: 500;
}
.box_about_note li {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 400;
}
.box_about_allergy {
    font-weight: 400;
}
.box_about_allergy a {
    text-decoration: underline;
    font-weight: 400;
}
@media (min-width: 769px) {
    .box_about_content {
        max-width: 1122rem;
    }
    .box_about_list_wrap {
        margin-top: 18rem;
    }
    .box_about_list_wrap dl + dl {
        margin-top: 34rem;
    }
    .box_about_list_wrap dt {
        min-width: 180rem;
        width: 180rem;
        padding-top: 100rem;
        font-size: 20rem;
    }
    .box_about_list_wrap dl + dl dd {
        background: url(../images/box_about_list_border.svg) no-repeat top left / 942rem 8rem;
    }
    .box_about_list_wrap dd {
        width: calc(100% - 180rem);
        padding-top: 46rem;
    }
    .box_about_list {
        gap: 38rem;
    }
    .box_about_list li {
        width: 125rem;
        gap: 12rem;
    }
    .box_about_list_txt {
        font-size: 16rem;
        line-height: calc(24/16);
        width: 140%;
        margin-left: -20%;    
    }
    .box_about_note {
        margin-top: 56rem;
    }
    .box_about_note li {
        font-size: 12rem;
        line-height: calc(22/12);
    }
    .box_about_allergy {
        font-size: 14rem;
        margin-top: 19rem;
    }
    .box_about_allergy a {
        text-underline-offset: 7rem;
    }
}
@media (max-width: 768px) {
    .box_about_list_wrap {
        margin-top: 64rem;
        padding-inline: 40rem;
    }
    .box_about_list_wrap dl {
        flex-direction: column;
    }
    .box_about_list_wrap dl + dl {
        margin-top: 57rem;
    }
    .box_about_list_wrap dt {
        font-size: 36rem;
        text-align: center;
    }
    .box_about_list_wrap dl + dl {
        padding-top: 69rem;
        background: url(../images/box_about_list_border_sp.svg) no-repeat top left / 100% auto;
    }
    .box_about_list_wrap dd {
        margin-top: 40rem;
    }
    .box_about_list {
        gap: 32rem 52rem;
    }
    .box_about_list li {
        width: 154rem;
        gap: 17rem;
    }
    .box_about_list_txt {
        font-size: 28rem;
        line-height: calc(42/28);
        width: 150%;
        margin-left: -25%;
    }
    .box_about_note {
        margin-top: 56rem;
    }
    .box_about_note li {
        font-size: 20rem;
        line-height: calc(35/20);
    }
    .box_about_allergy {
        font-size: 24rem;
        margin-top: 30rem;
    }
    .box_about_allergy a {
        text-underline-offset: 12rem;
    }
}

/* box_menu */
.box_menu_graph {
    border-radius: 16rem;
    background-color: #f2f2f2;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    position: relative;
}
.box_menu_graph dt,
.box_menu_graph dd {
    width: 50%;
    height: 50%;
}
.box_menu_graph dt {
    background-color: var(--color-green);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.box_menu_graph_list li {
    font-weight: 500;
}
.box_menu_graph::before,
.box_menu_graph::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
}
@media (min-width: 769px) {
    .box_menu_content_inner {
        margin-top: 78rem;
        display: flex;
        justify-content: center;
        gap: clamp(20rem, calc(20rem + (60 * ((100vw - 1040px) / 240))), 80rem);
    }
    .box_menu_img {
        width: 524rem;
    }
    .box_menu_graph {
        width: 482rem;
        height: 264rem;
    }
    .box_menu_graph dt {
        font-size: 16rem;
    }
    .box_menu_graph_list li {
        font-size: 16rem;
        line-height: 2;
    }
    .box_menu_graph dd:nth-child(2) {
        padding: 23rem 32rem 24rem 25rem;
    }
    .box_menu_graph dd:nth-child(3) {
        padding: 9rem 24rem 24rem 32rem;
    }
    .box_menu_graph dd:nth-child(4) {
        padding: 9rem 24rem 24rem 25rem;
    }
    .box_menu_graph::before {
        width: calc(100% - 64rem);
        height: 2rem;
        border-top: 2rem dotted #333;
    }
    .box_menu_graph::after {
        height: calc(100% - 64rem);
        width: 2rem;
        border-left: 2rem dotted #333;
    }
}
@media (max-width: 768px) {
    .box_menu_content_inner {
        margin-top: 30rem;
    }
    .box_menu_img {
        width: 651rem;
    }
    .box_menu_graph {
        width: 590rem;
        height: 465rem;
        margin: 40rem auto 0;
    }
    .box_menu_graph dt {
        font-size: 28rem;
        line-height: calc(42/28);
    }
    .box_menu_graph_list li {
        font-size: 28rem;
        line-height: calc(42/28);
        padding-left: 2em;
        text-indent: -2em;
    }
    .box_menu_graph dd:nth-child(2) {
        padding: 32rem 38rem 37rem 31rem;
    }
    .box_menu_graph dd:nth-child(3) {
        padding: 32rem 32rem 32rem 38rem;
    }
    .box_menu_graph dd:nth-child(4) {
        padding: 33rem 40rem 32rem 31rem;
    }
    .box_menu_graph::before {
        width: calc(100% - 84rem);
        height: 2px;
        border-top: 2px dotted #333;
    }
    .box_menu_graph::after {
        height: calc(100% - 78rem);
        width: 2px;
        border-left: 2px dotted #333;
    }
}

/* modal_b_top */
.modal_b_top_ttl {
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.modal_b_top_ttl_txt {
    line-height: 1;
    font-weight: 500;
    color: var(--color-green);
}
.modal_b_top_txt {
    text-align: center;
    font-weight: 500;
}
@media (min-width: 769px) {
    .modal_b_top_ttl {
        width: 245rem;
        gap: 15rem;
    }
    .modal_b_top_ttl_txt {
        font-size: 16rem;
    }
    .modal_b_top_txt {
        font-size: 16rem;
        line-height: calc(28/16);
        margin-top: 32rem;
    }
}
@media (max-width: 768px) {
    .modal_b_top_ttl {
        width: 449rem;
        gap: 16rem;
    }
    .modal_b_top_ttl_txt {
        font-size: 28rem;
    }
    .modal_b_top_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-block: 50rem 36rem;
    }
}

/* osusume_point */
.osusume_point_label {
    line-height: 1;
    position: relative;
}
.osusume_point_label::before {
    content: "";
    display: block;
    background: url(../images/osusume_point_check.svg) no-repeat center / contain;
    position: absolute;
}
.osusume_point_txt {
    font-weight: 500;
}
.osusume_point_note {
    font-weight: 400;
}
@media (min-width: 769px) {
    .osusume_point_content {
        margin-top: 64rem;
    }
    .osusume_point_list {
        padding-left: 40rem;
    }
    .osusume_point_list li + li {
        margin-top: 32rem;
    }
    .osusume_point_label {
        font-size: 20rem;
    }
    .osusume_point_label::before {
        width: 27rem;
        height: 23rem;
        top: -2rem;
        left: -40rem;
    }
    .osusume_point_txt {
        font-size: 16rem;
        line-height: calc(28/16);
        margin-top: 20rem;
    }
    .osusume_point_txt sup {
        font-size: 12rem;
    }
    .osusume_point_note {
        font-size: 12rem;
        line-height: calc(22/12);
    }
}
@media (max-width: 768px) {
    .osusume_point_content {
        margin-top: 78rem;
    }
    .osusume_point_list {
        padding-left: 50rem;
    }
    .osusume_point_list li + li {
        margin-top: 55rem;
    }
    .osusume_point_label {
        font-size: 30rem;
    }
    .osusume_point_label::before {
        width: 38rem;
        height: 31rem;
        top: -2rem;
        left: -52rem;
    }
    .osusume_point_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 13rem;
    }
    .osusume_point_txt sup {
        font-size: 20rem;
    }
    .osusume_point_note {
        font-size: 20rem;
        line-height: calc(35/20);
        padding-left: 1em;
        text-indent: -1em;
    }
}

/* coverage_main */
.coverage_main_txt {
    font-weight: 500;
}
.coverage_main_txt sup {
    font-size: 0.7em;
}
.coverage_main_note li {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 400;
}
.coverage_main_list {
    display: grid;
    align-items: start;
}
.coverage_main_list dt,
.coverage_main_list dd {
    line-height: 1;
    text-align: center;
    font-weight: 500;
}
.coverage_main_list dt {
    color: #fff;
    background-color: var(--main-color);
}
.coverage_main_list dd {
    background-color: #f5f5f5;
}
.coverage_txt {
    font-weight: 500;
}
.coverage_btn_area {
    display: flex;
}
.coverage_btn_wrap {
    display: flex;
}
.coverage_btn {
    padding-inline: 0;
}
@media (min-width: 769px) {
    .coverage_main {
        margin-top: 64rem;
        display: grid;
        grid-template-columns: calc(100% - 423rem) 392rem;
        grid-template-rows: auto auto;
        gap: 9rem 30rem;
    }
    .coverage_main_txt {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .coverage_main_note {
        grid-row-start: 2;
    }
    .coverage_main_note li {
        font-size: 12rem;
        line-height: calc(22/12);
        padding-left: 1em;
        text-indent: -1em;
    }
    .coverage_main_list_wrap {
        grid-row: span 2 / span 2;
    }
    .coverage_main_list {
        grid-template-columns: 192rem 192rem;
        gap: 8rem;
    }
    .coverage_main_list dt,
    .coverage_main_list dd {
        width: 192rem;
        border-radius: 8rem;
        font-size: 16rem;
        padding-block: 10rem;
    }
    .coverage_txt {
        font-size: 16rem;
        line-height: calc(28/16);
        margin-top: 55rem;
    }
    .coverage_btn_area {
        margin-top: 27rem;
        justify-content: center;
        gap: 64rem;
        align-items: center;
    }
    .coverage_btn_wrap {
        align-items: center;
        gap: 24rem;
    }
    .coverage_btn_txt {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .coverage_btn {
        width: 240rem;
    }
    .coverage_btn::before {
        right: 20rem;
        width: 23rem;
    }
    .coverage_btn::after {
        right: 19rem;
    }
    .coverage_btn[target="_blank"]::after {
        right: 24rem;
    }
}
@media (max-width: 768px) {
    .coverage_main {
        margin-top: 52rem;
    }
    .coverage_main_txt {
        font-size: 28rem;
        line-height: calc(49/28);
    }
    .coverage_main_note {
        margin-top: 34rem;
    }
    .coverage_main_note li {
        font-size: 20rem;
        line-height: calc(35/20);
        padding-left: 1.8em;
        text-indent: -1.8em;
    }
    .coverage_main_list {
        grid-template-columns: 320rem 320rem;
        gap: 8rem;
        margin-top: 30rem;
    }
    .coverage_main_list dt,
    .coverage_main_list dd {
        width: 320rem;
        border-radius: 8rem;
        font-size: 28rem;
        padding-block: 18rem;
    }
    .coverage_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 46rem;
    }
    .coverage_btn_area {
        margin-top: 44rem;
        flex-direction: column;
        gap: 30rem;
        align-items: center;
    }
    .coverage_btn_wrap {
        flex-direction: column;
        align-items: center;
        gap: 20rem;
    }
    .coverage_btn_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        text-align: center;
    }
    .coverage_btn {
        width: 418rem;
    }
}

/* earthquake_difference */
.earthquake_difference_txt {
    text-align: center;
    font-weight: 500;
}
.earthquake_difference_about_label {
    position: relative;
    line-height: 1;
}
.earthquake_difference_about_label_txt {
    position: relative;
    z-index: 1;
}
.earthquake_difference_about_content {
    width: 100%;
}
.earthquake_difference_about_img_area {
    position: relative;
    z-index: 1;
}
.earthquake_difference_normal_img {
    position: absolute;
    z-index: 1;
}
.earthquake_difference_normal_fukidashi {
    position: absolute;
}
.earthquake_difference_normal_board {
    position: absolute;
    z-index: 1;
}
.earthquake_difference_normal_txt {
    text-align: center;
    border-radius: 100px;
    font-weight: 500;
    background-color: #f5f5f5;
}
.earthquake_difference_sympathy_ttl_deco {
    position: absolute;
}
.earthquake_difference_sympathy_img {
    position: absolute;
}
.earthquake_difference_sympathy_fukidashi {
    position: absolute;
}
.earthquake_difference_sympathy_board {
    position: absolute;
}
.earthquake_difference_sympathy_deco {
    position: absolute;
    z-index: 2;
}
.earthquake_difference_about_note {
    font-weight: 400;
}
.earthquake_difference_about_flow {
    display: flex;
    flex-direction: column;
}
.earthquake_difference_about_flow_step {
    width: 100%;
}
.earthquake_difference_about_flow_step_block {
    text-align: center;
    background-color: var(--color-yellow);
}
.earthquake_difference_about_flow_step2 {
    position: relative;
    z-index: 1;
}
.earthquake_difference_about_flow_txt {
    font-weight: 500;
}
.earthquake_difference_about_flow_txt sup {
    font-size: 0.7em;
}
.earthquake_difference_about_flow_step_2col {
    display: flex;
    position: relative;
    z-index: 1;
}
.earthquake_difference_about_flow_txt_end {
    position: relative;
}
.earthquake_difference_about_flow_txt_end::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
}
.earthquake_difference_about_flow_txt_end::before {
    left: 50%;
    translate: -50% 0;
}
.earthquake_difference_table {
    border-collapse: separate;
}
.earthquake_difference_table th,
.earthquake_difference_table td {
    font-weight: 500;
}
.earthquake_difference_table th {
    text-align: center;
    color: #fff;
}
.earthquake_difference_table tr:nth-child(1) th:not(:first-child) {
    background-color: var(--main-color);
}
.earthquake_difference_table tr:nth-child(2) th {
    background-color: var(--main-color);
}
.earthquake_difference_table tr:not(:nth-child(1)) th {
    line-height: 1;
    -ms-text-combine-horizontal: all;
    -webkit-text-combine: horizontal;
    text-combine-upright: all;
}
.earthquake_difference_table tr:nth-child(3) th {
    color: var(--main-color);
    background-color: var(--color-yellow);
}
.earthquake_difference_table td {
    background-color: #f5f5f5;
}
.earthquake_difference_table sup {
    font-size: 0.7em;
}
.earthquake_difference_note li {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 400;
}
.earthquake_difference_table_note {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 500;
    display: inline-block;
}
@media (min-width: 769px) {
    .earthquake_difference_txt {
        font-size: 16rem;
        line-height: 1;
        margin-top: 40rem;
    }
    .earthquake_difference_about_wrap {
        margin-top: 64rem;
    }
    .earthquake_difference_about + .earthquake_difference_about {
        margin-top: 90rem;
    }
    .earthquake_difference_about_label {
        font-size: 20rem;
    }
    .earthquake_difference_about_content {
        margin-top: 39rem;
        display: flex;
    }
    .earthquake_difference_about_img_area {
        width: 447rem;
        min-width: 447rem;
    }
    .earthquake_difference_normal_img_area {
        height: 155rem;
    }
    .earthquake_difference_normal_img {
        width: 206rem;
        top: 4rem;
        left: 0;
    }
    .earthquake_difference_normal_fukidashi {
        width: 236rem;
        top: 0;
        left: 170rem;
    }
    .earthquake_difference_normal_board {
        width: 109rem;
        top: 4rem;
        left: 392rem;
    }
    .earthquake_difference_about_txt_area {
        width: calc(100% - 447rem);
    }
    .earthquake_difference_normal_txt {
        margin-top: 90rem;
        width: 448rem;
        font-size: 16rem;
        padding-block: 24rem;
        line-height: 1;
    }
    .earthquake_difference_sympathy_ttl_deco {
        width: 60rem;
        top: -23rem;
        left: 129rem;
    }
    .earthquake_difference_sympathy_img_area {
        min-height: 164rem;
    }
    .earthquake_difference_sympathy_img {
        top: 9rem;
        left: 0;
        width: 166rem;
    }
    .earthquake_difference_sympathy_fukidashi {
        width: 271rem;
        top: 0;
        left: 166rem;
    }
    .earthquake_difference_sympathy_board {
        width: 95rem;
        top: -40rem;
        left: 392rem;
    }
    .earthquake_difference_sympathy_deco {
        width: 42rem;
        top: -65rem;
        left: 465rem;
    }
    .earthquake_difference_about_note {
        margin-top: 229rem;
        font-size: 12rem;
        line-height: 1;
    }
    .earthquake_difference_about_flow {
        gap: 24rem;
    }
    .earthquake_difference_about_flow_step_block {
        border-radius: 8rem;
    }
    .earthquake_difference_about_flow_step1 {
        padding-block: 18rem;
    }
    .earthquake_difference_about_flow_step2 {
        padding-block: 10rem;
    }
    .earthquake_difference_about_flow_txt {
        font-size: 16rem;
        line-height: calc(28/16);
    }
    .earthquake_difference_about_flow_step_2col {
        gap: 60rem;
    }
    .earthquake_difference_about_flow_txt_end {
        margin-top: 24rem;
    }
    .earthquake_difference_about_flow_txt_end::before {
        width: 15rem;
        height: 115rem;
        background: url(../images/earthquake_difference_sympathy_arrow.svg) no-repeat top center / contain;
    }
    .earthquake_difference_table_wrap {
        margin-top: 64rem;
    }
    .earthquake_difference_table {
        width: calc(100% + 16rem);
        border-spacing: 8rem;
        margin-left: -8rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(1) {
        min-width: 36rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(2) {
        width: 248rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(3) {
        min-width: 138rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(4) {
        width: 203rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(5) {
        width: 377rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(6) {
        min-width: 198rem;
    }
    .earthquake_difference_table th,
    .earthquake_difference_table td {
        font-size: 16rem;
        line-height: calc(28/16);
        border-radius: 8rem;
    }
    .earthquake_difference_table th {
        padding: 4rem 5rem;
    }
    .earthquake_difference_table td {
        padding: 18rem 24rem;
    }
    .earthquake_difference_note {
        margin-top: 19rem;
    }
    .earthquake_difference_note li {
        font-size: 12rem;
        line-height: calc(22/12);
    }
    .earthquake_difference_table_note {
        font-size: 12rem;
        line-height: calc(22/12);
    }
}
@media (max-width: 768px) {
    .earthquake_difference_content {
        width: 100%;
    }
    .earthquake_difference_txt {
        font-size: 28rem;
        line-height: calc(49/28);
        margin-top: 30rem;
    }
    .earthquake_difference_about_wrap {
        margin-top: 70rem;
    }
    .earthquake_difference_about + .earthquake_difference_about {
        margin-top: 127rem;
    }
    .earthquake_difference_about_label {
        font-size: 36rem;
        text-align: center;
    }
    .earthquake_difference_about_content {
        margin-top: 38rem;
    }
    .earthquake_difference_about_img_area {
        width: 100%;
    }
    .earthquake_difference_normal_img_area {
        height: 388rem;
    }
    .earthquake_difference_normal_img {
        width: 343rem;
        top: 78rem;
        left: 19rem;
    }
    .earthquake_difference_normal_fukidashi {
        width: 350rem;
        top: 0;
        left: 297rem;
    }
    .earthquake_difference_normal_board {
        width: 192rem;
        top: 199rem;
        left: 439rem;
    }
    .earthquake_difference_about_txt_area {
        width: 100%
    }
    .earthquake_difference_normal_txt {
        width: 100%;
        font-size: 28rem;
        padding-block: 32rem;
        line-height: calc(49/28);
    }
    .earthquake_difference_sympathy_ttl_deco {
        width: 102rem;
        top: -39rem;
        left: 275rem;
    }
    .earthquake_difference_sympathy_img_area {
        height: 449rem;
    }
    .earthquake_difference_sympathy_img {
        top: 53rem;
        left: 19rem;
        width: 275rem;
    }
    .earthquake_difference_sympathy_fukidashi {
        width: 388rem;
        top: 0;
        left: 245rem;
    }
    .earthquake_difference_sympathy_board {
        width: 181rem;
        top: 294rem;
        left: 411rem;
    }
    .earthquake_difference_sympathy_deco {
        width: 66rem;
        top: -6rem;
        left: 534rem;
    }
    .earthquake_difference_about_note {
        font-size: 20rem;
        line-height: calc(35/20);
        padding-left: 1em;
        text-indent: -1em;
        position: absolute;
        left: 0;
        bottom: 37rem;
    }
    .earthquake_difference_about_flow {
        gap: 32rem;
    }
    .earthquake_difference_about_flow_step_block {
        border-radius: 16rem;
    }
    .earthquake_difference_about_flow_step1 {
        padding-block: 32rem;
    }
    .earthquake_difference_about_flow_step2 {
        padding-block: 16rem;
    }
    .earthquake_difference_about_flow_txt {
        font-size: 28rem;
        line-height: calc(49/28);
    }
    .earthquake_difference_about_flow_step_2col {
        gap: 32rem;
    }
    .earthquake_difference_about_flow_txt_end {
        margin-top: 47rem;
    }
    .earthquake_difference_about_flow_txt_end::before {
        width: 24rem;
        height: 174rem;
        background: url(../images/earthquake_difference_sympathy_arrow_sp.svg) no-repeat top center / contain;
    }
    .earthquake_difference_table_wrap {
        margin-top: 72rem;
        width: 100%;
        overflow-x: scroll;
        padding-bottom: 48rem;
    }
    .earthquake_difference_table_wrap::-webkit-scrollbar {
        height: 8rem;
        border-radius: 100px;
    }
    .earthquake_difference_table_wrap::-webkit-scrollbar-track {
        background-color: #f5f5f5;
    }
    .earthquake_difference_table_wrap::-webkit-scrollbar-thumb {
        background-color: #7b4c3d;
        border-radius: 100px;
    }
    .earthquake_difference_table {
        width: 1866rem;
        border-spacing: 8rem;
        margin-left: -8rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(1) {
        min-width: 64rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(2) {
        width: 344rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(3) {
        min-width: 261rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(4) {
        width: 260rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(5) {
        width: 514rem;
    }
    .earthquake_difference_table tr:nth-child(1) th:nth-child(6) {
        min-width: 367rem;
    }
    .earthquake_difference_table th,
    .earthquake_difference_table td {
        font-size: 28rem;
        line-height: calc(42/28);
        border-radius: 8rem;
    }
    .earthquake_difference_table th {
        padding-block: 12rem;
    }
    .earthquake_difference_table td {
        padding: 27rem 32rem;
    }
    .earthquake_difference_table tr:not(:nth-child(1)) th {
        padding-inline: 22rem;
    }
    .earthquake_difference_note {
        margin-top: 34rem;
    }
    .earthquake_difference_note li {
        font-size: 20rem;
        line-height: calc(35/20);
    }
    .earthquake_difference_table_note {
        font-size: 20rem;
        line-height: calc(35/20);
    }
}

/* merit_plan_slide */
.merit_plan_slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}
.merit_plan_slide_img_wrap {
    position: relative;
    height: 100%;
}
.pos_absolute {
    position: absolute;
}
.merit_plan_slide4_note {
    font-weight: 400;
}
.merit_plan_slide_txt_s {
    font-weight: 500;
}
@media (min-width: 769px) {
    .merit_plan_slide {
        height: 262rem;
    }
    .merit_plan_slide_txt_wrap {
        width: 50%;
        padding-left: 80rem;
    }
    .merit_plan_slide_txt {
        font-size: 18rem;
        line-height: calc(32/18);
    }
    .merit_plan_slide2 .merit_plan_slide_txt {
        line-height: calc(28/18);
    }
    .merit_plan_slide_txt_l {
        font-size: 24rem;
    }
    .merit_plan_slide_txt_s {
        font-size: 14rem;
    }
    .merit_plan_slide_img_wrap {
        width: 50%;
    }
    .merit_plan_slide1_neko {
        width: 100rem;
        bottom: 26rem;
        right: 51rem;
    }
    .merit_plan_slide1_stick {
        width: 17rem;
        bottom: 89rem;
        right: 135rem;
    }
    .merit_plan_slide1_logo {
        top: 60rem;
        left: 14rem;
        width: 163rem;
    }
    .merit_plan_slide2_img {
        top: 50%;
        left: -10rem;
        translate: 0 -50%;
        width: 253rem;
    }
    .merit_plan_slide2_heart_l {
        width: 91rem;
        right: 75rem;
        top: 104rem;
        transform: scaleX(-1);
        rotate: 8deg;
    }
    .merit_plan_slide2_heart_s {
        width: 25rem;
        right: 93rem;
        top: 63rem;
        rotate: -20deg;
    }
    .merit_plan_slide2_light {
        width: 26rem;
        left: 52rem;
        top: 96rem;
    }
    .merit_plan_slide3_product {
        width: 113rem;
        left: 37rem;
        top: 134rem;
    }
    .merit_plan_slide3_box {
        width: 153rem;
        left: 67rem;
        top: 59rem;
    }
    .merit_plan_slide3_truck {
        width: 113rem;
        bottom: 52rem;
        right: 63rem;
    }
    .merit_plan_slide3_smoke1 {
        width: 7rem;
        right: -11rem;
        bottom: 44rem;
    }
    .merit_plan_slide3_smoke2 {
        width: 15rem;
        right: -23rem;
        bottom: 56rem;
    }
    .merit_plan_slide3_deco1 {
        width: 64.5rem;
        bottom: 44rem;
        left: 19rem;
    }
    .merit_plan_slide3_deco2 {
        width: 48.5rem;
        bottom: 57rem;
        left: 5rem;
    }
    .merit_plan_slide4_heart_l {
        width: 121rem;
        right: 40rem;
        top: 87rem;
        transform: scaleX(-1);
        rotate: 8deg;
    }
    .merit_plan_slide4_box {
        width: 132rem;
        top: 81rem;
        left: -10rem;
    }
    .merit_plan_slide4_txt {
        width: 233rem;
        top: 120rem;
        left: 18rem;
    }
    .merit_plan_slide4_note {
        bottom: 19rem;
        right: 15rem;
        font-size: 12rem;
        line-height: calc(22 / 12);
        width: 120%;
    }
    .merit_plan_slide5_neko_shadow {
        width: 89rem;
        height: 19rem;
        border-radius: 100%;
        bottom: 26rem;
        right: 110rem;
        background-color: rgba(0, 0, 0, 0.05);
    }
    .merit_plan_slide5_deco {
        width: 18rem;
        left: 63rem;
        top: 77rem;
    }
    .merit_plan_slide5_neko1 {
        width: 114rem;
        left: 105rem;
        top: 37rem;
    }
    .merit_plan_slide5_neko2 {
        width: 127rem;
        left: 92rem;
        top: 37rem;
    }
    @media(hover:hover) {
        .merit_plan_swiper_arrow {
            transition: scale 0.3s;
        }
        .merit_plan_swiper_arrow:hover {
            scale: 1.2;
        }
    }
}
@media (max-width: 768px) {
    .merit_plan_slide {
        height: 564rem;
        flex-direction: column;
    }
    .merit_plan_slide_txt_wrap {
        text-align: center;
        padding-top: 55rem;
    }
    .merit_plan_slide_txt {
        font-size: 36rem;
        line-height: calc(52/36);
    }
    .merit_plan_slide_txt_l {
        font-size: 44rem;
    }
    .merit_plan_slide_txt_s {
        font-size: 28rem;
    }
    .merit_plan_slide_img_wrap {
        width: 100%;
    }
    .merit_plan_slide1_neko {
        width: 171rem;
        bottom: 42rem;
        left: 93rem;
    }
    .merit_plan_slide1_stick {
        width: 28rem;
        bottom: 150rem;
        left: 213rem;
        transform: scaleX(-1);
    }
    .merit_plan_slide1_logo {
        top: 49rem;
        left: 299rem;
        width: 244rem;
    }
    .merit_plan_slide2_img {
        top: 8rem;
        left: 50rem;
        width: 477rem;
    }
    .merit_plan_slide2_heart_l {
        width: 169rem;
        right: 60rem;
        top: 129rem;
        transform: scaleX(-1);
        rotate: 10deg;
    }
    .merit_plan_slide2_heart_s {
        width: 49rem;
        right: 91rem;
        top: 53rem;
        rotate: -20deg;
    }
    .merit_plan_slide2_light {
        width: 44rem;
        left: 50%;
        top: 126rem;
        margin-left: -138rem;
    }
    .merit_plan_slide3_product {
        width: 209rem;
        left: 101rem;
        top: 167rem;
    }
    .merit_plan_slide3_box {
        width: 283rem;
        left: 156rem;
        top: 28rem;
    }
    .merit_plan_slide3_truck {
        width: 208rem;
        bottom: 48rem;
        right: 90rem;
    }
    .merit_plan_slide3_smoke1 {
        width: 13rem;
        right: -21rem;
        bottom: 80rem;
    }
    .merit_plan_slide3_smoke2 {
        width: 28rem;
        right: -44rem;
        bottom: 102rem;
    }
    .merit_plan_slide3_deco1 {
        width: 119rem;
        bottom: 30rem;
        left: 70rem;
    }
    .merit_plan_slide3_deco2 {
        width: 90rem;
        bottom: 53rem;
        left: 43rem;
    }
    .merit_plan_slide4_heart_l {
        width: 190rem;
        right: 54rem;
        top: 34rem;
        transform: scaleX(-1);
        rotate: 8deg;
    }
    .merit_plan_slide4_box {
        width: 217rem;
        top: 25rem;
        left: 80rem;
    }
    .merit_plan_slide4_txt {
        width: 377rem;
        top: 90rem;
        left: 128rem;
    }
    .merit_plan_slide4_note {
        bottom: 16rem;
        left: 50%;
        font-size: 20rem;
        line-height: calc(35 / 20);
        margin-left: -190rem;
        padding-left: 1em;
        text-indent: -1em;
    }
    .merit_plan_slide5_neko_shadow {
        width: 157rem;
        height: 34rem;
        bottom: 52rem;
        right: 182rem;
        border-radius: 100%;
        background-color: rgba(0, 0, 0, 0.05);
    }
    .merit_plan_slide5_deco {
        width: 32rem;
        left: 150rem;
        top: 120rem;
    }
    .merit_plan_slide5_neko1 {
        width: 204rem;
        left: 50%;
        top: 44rem;
        margin-left: -95rem;
    }
    .merit_plan_slide5_neko2 {
        width: 227rem;
        left: 50%;
        top: 44rem;
        margin-left: -118rem;
    }
}

.animation_ready .merit_plan_slide1_logo {
    translate: 0 18rem;
    rotate: 0deg;
    scale: 0.5;
}
.animation_ready .merit_plan_slide2_light,
.animation_ready .merit_plan_slide2_heart_s,
.animation_ready .merit_plan_slide3_box,
.animation_ready .merit_plan_slide3_product,
.animation_ready .merit_plan_slide5_neko2 {
    opacity: 0;
}
.animation_ready .merit_plan_slide2_heart_l,
.animation_ready .merit_plan_slide4_box,
.animation_ready .merit_plan_slide4_heart_l {
    translate: 0 18rem;
    rotate: 0deg;
    opacity: 0;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide1_logo {
    animation: slide1_logo 1.4s steps(1) forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide1_stick {
    animation:slide1_stick 1s 1.2s steps(1) forwards;
    transform-origin: 100% 100%;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide2_light {
    animation: slide_show 0s 0.5s forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide2_heart_l {
    animation: slide_katakata 1s 0.5s steps(1) forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide2_heart_s {
    animation: slide_show 0s 1.8s forwards;
}

.animation_ready .merit_plan_slide3_truck {
    translate: 50rem -25rem;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_truck {
    animation: slide3_truck 2s 0.5s forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_box {
    animation: slide_show 0s 2.1s forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_product {
    animation: slide_show 0s 2.3s forwards;
}
.animation_ready .merit_plan_slide3_smoke1,
.animation_ready .merit_plan_slide3_smoke2 {
    scale: 0;
}
.animation_ready .merit_plan_slide3_deco1,
.animation_ready .merit_plan_slide3_deco2 {
    opacity: 0;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_smoke1 {
    animation: slide3_smoke1 2s 0s forwards ease-in-out;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_smoke2 {
    animation: slide3_smoke2 2s 0s forwards ease-in-out;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_deco1 {
    animation: slide_switch1 3s 2.8s steps(1) infinite;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide3_deco2 {
    animation: slide_switch2 3s 2.8s steps(1) infinite;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide4_box {
    animation: slide_katakata 1s 0.5s steps(1) forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide4_heart_l {
    animation: slide_katakata 1s 1.3s steps(1) forwards;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide5_neko1 {
    opacity: 0;
    transition: opacity 0s 0.7s;
}
.animation_ready .is_animated .swiper-slide-active .merit_plan_slide5_neko2 {
    animation: slide_show 0s 0.7s forwards;
}

@keyframes slide_show {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
@keyframes slide1_logo {
    0% {
        translate: 0 12rem;
        rotate: 0deg;
        scale: 0.5;
    }
    33% {
        translate: 0 9rem;
        rotate: -15deg;
        scale: 0.65;
    }
    66% {
        translate: 0 6rem;
        rotate: 15deg;
        scale: 0.8;
    }
    100% {
        translate: 0 0;
        rotate: 0deg;
        scale: 1;
    }
}
@keyframes slide1_stick {
    0% {rotate: 0deg;}
    55% {rotate: -10deg;}
    70% {rotate: 0deg;}
    85% {rotate: -8deg;}
    100% {rotate: 0deg;}
}
@keyframes slide_katakata {
    0% {
        translate: 0 9rem;
        rotate: 0deg;
        opacity: 1;
    }
    33% {
        translate: 0 6rem;
        rotate: -15deg;
    }
    66% {
        translate: 0 3rem;
        rotate: 15deg;
    }
    100% {
        translate: 0 0;
        rotate: 0deg;
        opacity: 1;
    }
}
@keyframes slide3_truck {
    0% {translate: 50rem -25rem;}
    100% {translate: 0 0;}
}   
@keyframes slide3_smoke2 {
    0% {scale: 0;}
    20% {scale: 1;}
    40% {scale: 0;}
    60% {scale: 1;}
    80% {scale: 0;}
    100% {scale: 1;}
}
@keyframes slide3_smoke1 {
    0% {scale: 1;}
    20% {scale: 0;}
    40% {scale: 1;}
    60% {scale: 0;}
    80% {scale: 1;}
    95%{scale: 1;}
    100% {scale: 1;}
}
@keyframes slide_switch1 {
    0% {opacity: 1;}
    50% {opacity: 0;}
    100% {opacity: 1;}
}
@keyframes slide_switch2 {
    0% {opacity: 0;}
    50% {opacity: 1;}
    100% {opacity: 0;}
}

