@charset "utf-8";
html,
body {
    width: 100%;
    height: 100%;
}
:root {
    --color-black: #333;
    --color-white: #fff;
    --color-gray: #D9D9D9;
    --color-lightgray: #F2F2F2;
    --color-baby-gray: #F6F6F6;
    --color-silver-gray: #BFBFBF;
    --color-pink: #FF607C;
    --color-deep-pink: #EE2B6C;
    --color-light-pink: #FDA6A5;
    --color-baby-pink: #FFEAE9;
    --color-green: #7AC943;
    --color-blue: #ADDFF4;
    --color-light-blue: #D3F0FD;
    --color-orange: #FECD4A;
    --color-yellow: #FFFB00;
    --color-violet: #636DAC;
    --color-light-yellow: #FFEDAD;
    --box-shadow: 0 4em 16em 0 rgba(0, 0, 0, 0.25);
    --nav-shadow: 0 4em 0 0 var(--color-black);
    --btn-shadow: 0 4em 0 0 rgba(0, 0, 0, 0.50);
}
.color_pink {
    color: var(--color-pink);
}
.color_light_pink {
    color: var(--color-light-pink);
}
.color_blue {
    color: var( --color-blue);
}
a {
    text-decoration: none;
    color: inherit;
}

/* img */
picture {
    display: inline-block;
    line-height: 0;
    vertical-align: bottom;
    width: 100%;
}
img,
svg {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* 設定 */
.wrap {
    font-weight: 500;
    line-height: 1;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-feature-settings: "palt";
    color: var(--color-black);
}
.main {
    overflow: clip;
}
@media (min-width: 1441px) {
    .wrap {
        font-size: 1px;
    }
}
@media (max-width: 1440px) and (min-width: 768px) {
    .wrap {
        font-size: calc(100 / 1440 * 1vw);
    }
}
@media (max-width: 767px) {
    .wrap {
        font-size: calc(100 / 390 * 1vw);
    }
}

@media (min-width: 768px) {
    [data-disp]:not([data-disp~='pc']) {
        display: none !important;
    }
    .main {
        margin-top: 92px;
    }
}
@media (max-width: 767px) {
    [data-disp]:not([data-disp~='sp']) {
        display: none !important;
    }
    .main {
        margin-top: 80px;
    }
}

/* font */
.dela_font {
    font-family: "Dela Gothic One", sans-serif;
}
.mplus_font {
    font-family: "M PLUS 1p", sans-serif;
}
.barlow_font {
    font-family: "Barlow Condensed", sans-serif;
}
.fw400 {
    font-weight: 400;
}
.fw700 {
    font-weight: 700;
}
.fw800 {
    font-weight: 800;
}
.fw900 {
    font-weight: 900;
}
.txt_center {
    text-align: center;
}
.txt_left {
    text-align: left;
}
@media (min-width: 768px) {
    .txt_center_pc {
        text-align: center;
    }
}

/* part */
.ttl_section {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.ttl_section_en {
    background-color: var(--color-black);
    color: var(--color-white);
    width: fit-content;
    margin-inline: auto;
}
.btn_area_list {
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn {
    line-height: 1.2;
    display: grid;
    place-content: center;
    border-radius: 8em;
    box-shadow: var(--btn-shadow);
    position: relative;
}
.btn_l_txt {
    font-size: 16em;
}
.btn_s {
    border: solid 2px var(--color-black);
}
.btn_yellow {
    background-color: var( --color-light-yellow);
}
.btn_light_pink {
    background-color: var( --color-baby-pink);
}
.btn_pink {
    background-color: var(--color-pink);
    color: var(--color-white);
    border: solid 2px var(--color-white);
}
.btn_white {
    background-color: var(--color-white);
    color: var(--color-pink);
    border: solid 2px var(--color-pink);
}
.btn_blank_svg {
    width: 11em;
    height: 11em;
    position: absolute;
    right: 16em;
    top: 50%;
    transform: translateY(-50%);
}
.btn_blank_stroke_white {
    stroke: var(--color-white);
}
.btn_blank_stroke_pink {
    stroke: var(--color-pink);
}
.btn_blank_stroke_black {
    stroke: var(--color-black);
}
.arrow_icon {
    fill: var(--color-black);
}
.icon_plus {
	background-color: var(--color-black);
    border-radius: 50%;
	position: absolute;
    left: 50%;
    z-index: 1;
}
.icon_plus:before,
.icon_plus:after {
	content: "";
	background-color: var(--color-white);
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.icon_plus:after {
	transform: translate(-50%, -50%) rotate(90deg);
}
@media (min-width: 768px) {
    .container {
        max-width: 1115em;
        margin-inline: auto;
    }
    .ttl_section {
        row-gap: 40em;
    }
    .ttl_section_en {
        padding: 1em 5em 4em;
    }
    .ttl_section_en_inner {
        font-size: 32em;
    }
    .ttl_section_jp {
        font-size: 52em;
    }
    .btn_area {
        margin-top: 80em;
    }
    .btn_area_list {
        column-gap: 16em;
        padding-bottom: 8em;
    }
    .btn_l{
        width: 342em;
        height: 64em;
    }
    .btn_s {
        width: 318em;
        height: 56em;
    }
    .btn_s_inner {
        font-size: 18em;
    }
    .btn_s_inner_s {
        font-size: 14em;
    }
    .icon_plus {
        transform: translate(-50%, -50%);
    }
    @media(hover:hover) {
        .btn {
            transition: color 0.3s, background-color 0.3s, border 0.3s;
        }
        .btn_blank_stroke {
            transition: stroke 0.3s;
        }
        .btn_pink:hover {
            background-color: var(--color-white);
            color: var(--color-pink);
            border: solid 2px var(--color-pink);
        }
        .btn_pink:hover .btn_blank_stroke_white {
            stroke: var(--color-pink);
        }
        .btn_white:hover {
            background-color: var(--color-pink);
            color: var(--color-white);
            border: solid 2px var(--color-white);
        }
        .btn_white:hover .btn_blank_stroke_pink {
            stroke: var(--color-white);
        }
        .btn_yellow:hover {
            background-color: var(--color-white);
        }
        .btn_light_pink:hover {
            background-color: var(--color-white);
        }
        .link_hover {
            transition: opacity 0.3s;
        }
        .link_hover:hover {
            opacity: 0.7;
        }
    }
}
@media (max-width: 767px) {
    .container {
        padding-inline: 24em;
    }
    .ttl_section {
        row-gap: 16em;
    }
    .ttl_section_en {
        padding: 1em 5em 3em;
    }
    .ttl_section_en_inner {
        font-size: 24em;
    }
    .ttl_section_jp {
        font-size: 36em;
    }
    .btn_area {
        margin-top: 97em;
    }
    .btn_area_list {
        flex-direction: column;
        row-gap: 16em;
    }
    .btn_area_list > li {
        width: 100%;
    }
    .btn {
        width: 100%;
        height: 64em;
    }
    .btn_s {
        width: 227em;
        height: 44em;
        margin-inline: auto;
    }
    .btn_s_inner {
        font-size: 14em;
    }
    .btn_s_inner_s {
        font-size: 12em;
    }
    .btn_s .btn_blank_svg {
        right: 8em;
    }
}

/* animation */
.scale_bound {
    transform: scale(0);
    transition: transform 0.3s;
}
.is_animated.scale_bound,
.is-opened.case_details .is_animated .scale_bound {
    transform: scale(1);
    animation: scale_bound 0.8s both;
}
.kv .scale_bound:nth-child(2) {
    animation-delay: 0.2s;
}
.fade_up,
.case_fade_up {
    translate: 0 50em;
    opacity: 0;
    transition: translate 0.3s, opacity 0.3s;
}

.is_animated .fade_up,
.is_animated.fade_up,
.is-opened.case_details .is_animated.case_fade_up {
    translate: 0 0;
    opacity: 1;
}
.cloud_move_left {
    animation: cloud_move 80s linear infinite;
}
@keyframes scale_bound {
	0% {
		transform: scale(0);
	}
	20% {
		transform: scale(0);
	}
	60% {
		transform: scale(1.1);
	}
	80% {
		transform: scale(0.95);
	}
	90% {
		transform: scale(1);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes cloud_move {
    0% {
        transform: translateX(100vw);
    }

    100% {
        transform: translateX(-110vw);
    }
}
@media (min-width: 768px) {
    .transition_delay_2_pc {
        transition-delay: 0.1s;
    }
    .transition_delay_3_pc {
        transition-delay: 0.2s;
    }
    .transition_delay_4_pc {
        transition-delay: 0.3s;
    }
    .transition_delay_5_pc {
        transition-delay: 0.4s;
    }
    .transition_delay_6_pc {
        transition-delay: 0.5s;
    }
    .transition_delay_7_pc {
        transition-delay: 0.6s;
    }
    .transition_delay_8_pc {
        transition-delay: 0.7s;
    }
}
@media (max-width: 767px) {
    .transition_delay_2_sp {
        transition-delay: 0.1s;
    }
    .transition_delay_3_sp {
        transition-delay: 0.2s;
    }
    .transition_delay_4_sp {
        transition-delay: 0.3s;
    }
    .transition_delay_5_sp {
        transition-delay: 0.4s;
    }
    .transition_delay_6_sp {
        transition-delay: 0.5s;
    }
    .transition_delay_7_sp {
        transition-delay: 0.6s;
    }
    .transition_delay_8_sp {
        transition-delay: 0.7s;
    }

}


/* footer */
.footer {
    text-align: center;
    background-color: var(--color-blue);
}
.footer_txt {
    display: flex;
    flex-direction: column;
}
@media (min-width: 768px) {
    .footer {
        padding-block: 40em;
    }
    .footer_txt {
        gap: 8em;
    }
    .footer_txt_inner,
    .footer_txt_inner_en {
        font-size: 14em;
        line-height: 1.75;
        letter-spacing: 0.08em;
    }
}
@media (max-width: 767px) {
    .footer {
        padding-block: 24em;
    }
    .footer_txt {
        gap: 16em;
    }
    .footer_txt_inner {
        font-size: 14em;
        line-height: 1.75;
        letter-spacing: 0.08em;
    }
    .footer_txt_inner_en {
        font-size: 12em;
        line-height: 1.5;
    }
}

/* kv */
.kv {
    width: 100%;
    position: relative;
    background: url(../images/bg_pattern_blue.svg) repeat center/ auto;
}
.kv_txt {
    position: relative;
    z-index: 1;
}
.kv_txt_strong_l {
    color: var(--color-deep-pink);
}
.kv_ttl {
    position: relative;
    z-index: 1;
}
.kv_ttl_txt_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}
.kv_ttl_txt_inner {
    line-height: 1.15;
}
.kv_ttl_logo {
    display: block;
    margin-inline: auto;
}
.kv_ttl_year {
    line-height: 1;
}
.people_img {
    z-index: 1;
}
.people_img,
.cloud_img {
    position: absolute;
}
@media (min-width: 768px) {
    .kv {
        height: 718em;
        padding-top: 47em;
    }
    .kv_txt_m {
        font-size: 28em;
    }
    .kv_txt_strong_l {
        font-size: 44em;
    }
    .kv_txt_strong_s {
        font-size: 40em;
    }
    .kv_ttl_txt_wrap {
        column-gap: 25em;
        margin-top: 27em;
    }
    .kv_ttl_txt_logo {
        width: 126em;
    }
    .kv_ttl_txt_inner {
        font-size: 64em;
    }
    .kv_ttl_logo {
        width: 654em;
        margin-top: 12em;
    }
    .kv_ttl_year {
        font-size: 80em;
    }
    /* 画像 */
    .kv .ill_people_1 {
        width: 237em;
        top: 17em;
        left: calc(50% - 702em);
    }
    .kv .ill_people_2 {
        width: 160em;
        top: 139em;
        left: calc(50% - 520em);
    }
    .kv .ill_people_3 {
        width: 154em;
        top: 267em;
        left: calc(50% - 702em);
    }
    .kv .ill_people_4 {
        width: 210em;
        top: 459em;
        left: calc(50% - 520em);
    }
    .kv .ill_people_5 {
        width: 122em;
        top: 23em;
        right: calc(50% - 536em);
    }
    .kv .ill_people_6 {
        width: 240em;
        top: 166em;
        right: calc(50% - 673em);
    }
    .kv .ill_people_7 {
        width: 137em;
        top: 346em;
        right: calc(50% - 702em);
    }
    .kv .ill_people_8 {
        width: 155em;
        top: 442em;
        right: calc(50% - 560em);
    }
    .kv .ill_cloud_1 {
        width: 366em;
        top: 168em;
        left: 0;
    }
    .kv .ill_cloud_2 {
        width: 197em;
        top: 21em;
        left: 310em;
    }
    .kv .ill_cloud_3 {
        width: 268em;
        top: 33em;
        left: 1500em;
    }
    .kv .bg_cloud_1 {
        width: 512em;
        bottom: 16em;
        left: 0;
    }
    .kv .bg_cloud_2 {
        width: 797em;
        bottom: -6em;
        right: 0;
    }
}
@media (max-width: 767px) {
    .kv {
        height: 695em;
        padding-top: 55em;
    }
    .kv_txt {
        line-height: 1.2;
    }
    .kv_txt_m {
        font-size: 16em;
    }
    .kv_txt_strong_l {
        font-size: 32em;
    }
    .kv_txt_strong_s {
        font-size: 24em;
    }
    .kv_ttl_txt_wrap {
        column-gap: 8em;
        margin-top: 8em;
    }
    .kv_ttl_txt_logo {
        width: 62em;
    }
    .kv_ttl_txt_inner {
        font-size: 31em;
    }
    .kv_ttl_logo {
        width: 320em;
        margin-top: 11em;
    }
    .kv_ttl_year {
        font-size: 48em;
    }
    /* 画像 */
    .kv .ill_people_1 {
        width: 130em;
        top: 10em;
        left: -49em;
        rotate: 23deg;
    }
    .kv .ill_people_2 {
        width: 92em;
        bottom: 150em;
        left: 0;
    }
    .kv .ill_people_3 {
        width: 85em;
        bottom: 86em;
        left: 62em;
    }
    .kv .ill_people_4 {
        width: 130em;
        top: 12em;
        right: -46em;
        rotate: -10deg;
    }
    .kv .ill_people_5 {
        width: 68em;
        bottom: 148em;
        left: 160em;
    }
    .kv .ill_people_7 {
        width: 77em;
        bottom: 157em;
        right: 0;
    }
    .kv .ill_people_8 {
        width: 89em;
        bottom: 86em;
        right: 76em;
    }
    .kv .ill_cloud_1 {
        width: 148em;
        top: 138em;
        left: 0;
    }
    .kv .ill_cloud_2 {
        width: 170em;
        top: 90em;
        left: 280em;
    }
    .kv .ill_cloud_3 {
        width: 148em;
        top: 240em;
        left: 400em;
    }
    .kv .ill_cloud_4 {
        width: 149em;
        top: 474em;
        left: 140em;
    }
    .kv .bg_cloud_2 {
        width: 458em;
        bottom: 35em;
        left: 0;
    }
}


/* local_nav */
.local_nav {
    display: flex;
    justify-content: center;
    align-items: center;
}
.local_nav_link {
    display: inline-block;
    border-radius: 8em;
    border: solid 2px var(--color-black);
    box-shadow: var(--nav-shadow);
    position: relative;
}
.local_nav_link_inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: solid 1px var(--color-black);
}
.local_nav_link_en {
    color: var(--color-white);
    background-color: var(--color-black);
}
.local_nav_link_jp {
    color: var(--color-pink);
}
.local_nav_link_jp_inner {
    color: var(--color-black);
}
@media (min-width: 768px) {
    .local_nav {
        column-gap: 16em;
    }
    .local_nav_link {
        background: url(../images/bg_paper_nav.svg) no-repeat center / 100%;
        width: 210em;
        height: 80em;
        padding: 6em;
    }
    .local_nav_link_inner {
        row-gap: 7em;
    }
    .local_nav_link_en {
        padding: 0 5em 3em;
        margin-top: -7em;
    }
    .local_nav_link_en_inner{
        font-size: 16em;
    }
    .local_nav_link_jp_lg {
        font-size: 30em;
    }
    .local_nav_link_jp_inner {
        font-size: 18em;
    }
    @media(hover:hover) {
        .local_nav_link_inner {
            transition: background-color 0.3s;
        }
        .local_nav_link:hover .local_nav_link_inner {
            background-color: var(--color-pink);
        }
        .local_nav_link_jp {
            transition: color 0.3s;
        }
        .local_nav_link:hover .local_nav_link_jp {
            color: var(--color-white);
        }
        .local_nav_link_jp_inner {
            transition: color 0.3s;
        }
        .local_nav_link:hover .local_nav_link_jp_inner {
            color: var(--color-white);
        }
    }
}
@media (max-width: 767px) {
    .local_nav {
        flex-wrap: wrap;
        gap: 16em 15em;
    }
    .local_nav > li:first-child .local_nav_link_jp {
        margin-top: 10em;
    }
    .local_nav > li:nth-child(2) .local_nav_link_jp {
        margin-top: 7em;
    }
    .local_nav > li:last-child .local_nav_link_jp {
        margin-top: 6em;
    }
    .local_nav_link {
        line-height: 1.1;
        background: url(../images/bg_paper_nav_sp.svg) no-repeat center / 100%;
        width: 104em;
        height: 84em;
        padding: 5em;
    }
    .local_nav_link_en {
        padding: 0 5em 3em;
        margin-top: -7em;
    }
    .local_nav_link_en_inner {
        font-size: 16em;
    }
    .local_nav_link_jp {
        margin-top: 3em;
    }
    .local_nav_link_jp_lg {
        font-size: 22em;
    }
    .local_nav_link_jp_inner {
        font-size: 14em;
    }
}

/* content */
.content_wrap {
    background: url(../images/bg_pattern_green.svg) repeat top center / auto;
    position: relative;
}
.content_wrap::before {
    content: '';
    background: url(../images/deco_grass.svg) repeat-x center bottom / 1440em 100%;
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.content_box {
    padding: 16em;
}
.content_box_inner {
    border: solid 2px var(--color-black);
    position: relative;
}
.content_lead_inner {
    font-size: 18em;
    line-height: 1.5;
}
.content_txt_inner {
    font-size: 14em;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.content_info {
    margin-top: 8em;
}
.content_info > li {
    font-size: 12em;
    line-height: 1.5;
}
.content_info > li::before {
    content: '※';
}
@media (min-width: 768px) {
    .content_wrap {
        padding-bottom: 120em;
    }
    .content_wrap::before {
        height: 93em;
        top: -91em;
    }
    .content_box {
        background: url(../images/bg_paper.svg) repeat top center / 100%;
    }
    .content_box:first-of-type {
        margin-top: 80em;
    }
    .content_box + .content_box {
        margin-top: 80em;
    }
    .content_box_inner {
        padding: 0 64em 64em;
    }
}
@media (max-width: 767px) {
    .content_wrap {
        padding-bottom: 80em;
    }
    .content_wrap::before {
        height: 83em;
        top: -60em;
    }
    .content_box {
        background: url(../images/bg_paper_sp.svg) repeat top center / 100%;
    }
    .content_box:first-of-type {
        margin-top: 96em;
    }
    .content_box + .content_box {
        margin-top: 96em;
    }
    .content_box {
        box-shadow: var(--box-shadow);
    }
    .content_box_inner {
        padding: 0 16em 24em;
    }
    .content_info > li {
        text-indent: -1em;
        padding-left: 1em;
    }
}

/* about */
.about_desc {
    position: relative;
}
.about_desc_list {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.about_desc_list > li {
    border: solid 1px var(--color-black);
    border-radius: 7em;
}
.about_desc_list_inner {
    border: solid 3px var(--color-white);
    border-radius: 7em;
}
.about_desc_list > li:first-of-type .about_desc_list_inner {
    background-color: var(--color-baby-pink);
}
.about_desc_list > li:last-of-type .about_desc_list_inner {
    background-color: var(--color-light-blue);
}
.about_desc_ttl {
    line-height: 1.1;
    background-color: var(--color-black);
    color: var(--color-white);
    padding: 4em 8em;
    border-radius: 4em;
}
.about_desc_discount {
    display: block;
    margin: 8em auto 0;
}
.about_desc_list > li:first-of-type .about_desc_discount {
    width: 114em;
}
.about_desc_list > li:last-of-type .about_desc_discount {
    width: 105em;
}
.about .icon_plus:before,
.about .icon_plus:after {
    height: 2px;
}
.about_content_info > li {
    letter-spacing: 0.08em;
}
@media (min-width: 768px) {
    .about .content_box_inner {
        padding: 75em 64em 64em;
        display: flex;
        column-gap: 48em;
    }
    .about .ttl_section_en{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .about .content_txt {
        margin-top: 24em;
    }
    .about_desc_img {
        width: 460em;
    }
    .about_desc_list {
        column-gap: 9em;
        bottom: 63em;
    }
    .about_desc_list_inner {
        width: 208em;
        height: 114em;
    }
    .about_desc_ttl {
        width: fit-content;
        margin: -12em auto 0;
    }
    .about_desc_ttl_sm {
        font-size: 12em;
    }
    .about_desc_ttl_inner {
        font-size: 14em;
    }
    .about_desc_txt {
        margin-top: 8em;
    }
    .about_desc_txt_inner {
        font-size: 12em;
    }
    .about .icon_plus {
        width: 32em;
        height: 32em;
        top: 50%;
    }
    .about .icon_plus:before,
    .about .icon_plus:after {
        width: 14em;
    }
    /* 画像 */
    .about .ill_people_6 {
        width: 180em;
        bottom: -110em;
        left: 0;
        transform: scaleX(-1) rotate(-18deg);
    }
}
@media (max-width: 767px) {
    .about .ttl_section_jp{
        white-space: nowrap;
        position: relative;
        left: -0.21em;
    }
    .about_content {
        display: flex;
        flex-direction: column;
    }
    .about .content_txt {
        margin-top: 16em;
        order: 1;
    }
    .about_desc_img {
        margin: -24em -24em 0;
        padding-bottom: 95em;
        width: unset;
    }
    .about_desc_list {
        column-gap: 9em;
        bottom: 45em;
    }
    .about_desc_list_inner {
        width: 132em;
        height: 143em;
    }
    .about_desc_ttl {
        margin-top: -22em;
    }
    .about_desc_ttl_sm {
        font-size: 10em;
    }
    .about_desc_ttl_inner {
        font-size: 14em;
        white-space: nowrap;
    }
    .about_desc_txt {
        margin-top: 8em;
    }
    .about_desc_txt_inner {
        font-size: 12em;
        line-height: 1.3;
    }
    .about .content_info {
        margin-top: 0;
        order: 1;
    }
    .about .icon_plus {
        width: 27em;
        height: 27em;
        top: calc(50% + 10em);
        transform: translate(-50%, -50%);
    }
    .about .icon_plus:before,
    .about .icon_plus:after {
        width: 12em;
    }
}

/* subject */
.subject_block {
    display: flex;
    justify-content: center;
    position: relative;
}
.subject_block_inner {
    position: relative;
}
.subject_block_txt {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.subject_block_txt_year_wrap,
.subject_block_txt_year .odometer-inside {
    display: flex;
    align-items: center;
    justify-content: center;
}
.subject_block_txt_year .odometer-digit {
    background-color: var(--color-white);
}
.subject_block_txt_lg {
    flex-shrink: 0;
}
.subject_block_info > li::before {
    content: '※';
}
@media (min-width: 768px) {
    .subject_block {
        align-items: start;
        column-gap: 36em;
        margin-top: 40em;
    }
    .subject_block_inner {
        width: 460em;
        flex-shrink: 0;
    }
    .subject_block_txt {
        top: 16em;
    }
    .subject_block_txt_inner {
        font-size: 28em;
    }
    .subject_block_txt_year_wrap {
        column-gap: 4em;
        margin-block: 8em;
    }
    .subject_block_txt_year {
        font-size: 44em;
    }
    .subject_block_txt_year .odometer-inside {
        column-gap: 0.2rem;
    }
    .subject_block_txt_year .odometer-digit {
        width: 1.4em;
        padding-block: 0.07em;
        border-radius: 0.2em;
        border: solid 2px var(--color-silver-gray);
    }
    .subject_block_txt_year .odometer-value {
        padding-block: 0.07em;
    }
    .subject_block_txt_lg {
        font-size: 40em;
    }
    .subject_block_info {
        margin-top: 16em;
    }
    .subject_block_info > li {
        font-size: 18em;
    }
    .subject_block_info > li + li {
        margin-top: 0.4em;
    }
    .subject .icon_plus {
        width: 48em;
        height: 48em;
        top: calc(50% - 20em);
    }
    .subject .icon_plus:before,
    .subject .icon_plus:after {
        width: 20em;
        height: 3px;
    }
    /* 画像 */
    .subject .ill_people_4 {
        width: 180em;
        top: 70em;
        right: -42em;
        transform: scaleX(-1);
    }
}
@media (max-width: 767px) {
    .subject_block {
        flex-direction: column;
        align-items: center;
        row-gap: 24em;
        margin-top: 24em;
    }
    .subject_block_txt {
        top: 12em;
    }
    .subject_block_txt_inner {
        font-size: 16em;
    }
    .subject_block_txt_year_wrap {
        column-gap: 3em;
        margin-block: 4em;
    }
    .subject_block_txt_year {
        font-size: 28em;
    }
    .subject_block_txt_year .odometer-inside {
        column-gap: 0.1rem;
    }
    .subject_block_txt_year .odometer-digit {
        width: 1.3em;
        padding-block: 0.04em;
        border-radius: 0.15em;
        border: solid 1px var(--color-silver-gray);
    }
    .subject_block_txt_year .odometer-value {
        padding-block: 0.04em;
    }
    .subject_block_txt_lg {
        font-size: 24em;
    }
    .subject_block_info {
        margin-top: 12em;
    }
    .subject_block_info > li {
        font-size: 14em;
        line-height: 1.2;
    }
    .subject_block_info > li + li {
        margin-top: 0.2em;
    }
    .subject .icon_plus {
        width: 27em;
        height: 27em;
        top: calc(50% + 28em);
        transform: translateX(-50%);
    }
    .subject .icon_plus:before,
    .subject .icon_plus:after {
        width: 12em;
        height: 2px;
    }
}

/* CASE */
.case_way {
    border-radius: 6em;
    border: solid 2px var(--color-black);
    position: relative;
}
.case_way_pink {
    background-color: var(--color-light-pink);
}
.case_way_blue {
    background-color: var(--color-blue);
}
.case_way_yellow {
    background-color: var(--color-orange);
}
.case_way_inner {
    display: block;
    border-radius: 6em;
    border: solid 2px var(--color-white);
    position: relative;
}
.case_way_arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.case_details.is-opened .case_way_arrow {
    transform: translateY(-50%) rotate(180deg);
}
.case_content_block + .case_content_block {
    border-top: solid 1px var(--color-black);
}
.case_content_ttl_inner {
    letter-spacing: 0.05em;
    line-height: 1.2;
    display: inline-block;
    position: relative;
}
.case_content_ttl_inner::before,
.case_content_ttl_inner::after {
    content: '';
    background: url(../images/icon_heart.svg) no-repeat center/ contain;
    width: 0.7em;
    height: 0.6em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.case_content_ttl_inner::after {
    transform: translateY(-50%) rotate(180deg);
}
.case_content_txt_inner {
    font-size: 14em;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.case_content_list {
    display: flex;
    justify-content: center;
}
.case_content_list > li {
    position: relative;
}
.case_content_list > li:not(:first-of-type)::before {
    content: '';
    background-color: var(--color-black);
    position: absolute;
}
.case_content_list_step {
    background-color: var(--color-black);
    width: fit-content;
}
.case_content_list_step_pink {
    color: var(--color-baby-pink);
}
.case_content_list_step_blue {
    color: var(--color-blue);
}
.case_content_list_step_yellow {
    color: var(--color-light-yellow);
}
.case_content_list_txt_inner {
    font-size: 20em;
    line-height: 1.5;
    letter-spacing: 0.08em;
}
.case_content_list_info {
    margin-top: 8em;
}
.case_content_list_info > li::before {
    content: '※';
}
.case_content_visit_list > li {
    line-height: 1.5;
}
.case_content_visit_search {
    display: flex;
    letter-spacing: 0.04em;
}
.case_content_visit_search_inner {
    display: flex;
    background-color: var(--color-white);
    align-items: center;
}
.case_content_visit_search_inner_txt {
    letter-spacing: 0.04em;
}
.case_content_visit_link {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}
.case_content_info {
    background-color: var(--color-yellow);
    border-radius: 8em;
    padding-block: 8em;
}
.case_content_info_inner {
    font-size: 14em;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.case_not_apply_ttl {
    line-height: 1.35;
}
.case_not_apply_list {
    display: flex;
    flex-direction: column;
    gap: 8em;
}
.case_not_apply_list_ttl {
    display: flex;
    gap: 6em;
    margin: 0;
}
.case_not_apply_list_ttl::before {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14em;
    line-height: 1;
    width: 1.8em;
    height: 1.8em;
    border-radius: 50%;
    background-color: var(--color-black);
    color: var(--color-white);
    font-family: "M PLUS 1p", sans-serif;
    padding: 0.3em 0.5em;
}
.case_not_apply_list_ttl1::before {
    content: "1";
}
.case_not_apply_list_ttl2::before {
    content: "2";
}
.case_not_apply_list_ttl_inner {
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.case_not_apply_list_txt {
    margin-top: 4em;
}
.case_not_apply_list_txt_inner {
    font-size: 14em;
    letter-spacing: 0.08em;
    line-height: 1.75;
}
.case_not_apply_table {
    width: 100%;
    table-layout: fixed;
    overflow: hidden;
}
.case_not_apply_table th {
    background-color: var(--color-violet);
}
.case_not_apply_table tr:first-child th {
    color: var(--color-white);
}
.case_not_apply_table tr:nth-child(n + 2) th {
    background-color: var(--color-baby-pink);
}
.case_not_apply_table_th_inner {
    line-height: 1.5;
}
.case_not_apply_table td {
    background-color: var(--color-white);
}
.case_not_apply_table_td_num,
.case_not_apply_table_td_month {
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.case_not_apply_txt_inner {
    font-size: 14em;
    letter-spacing: 0.08em;
    line-height: 1.75;
}
@media (min-width: 768px) {
    .case_details_wrap {
        max-width: 876em;
        margin: 44em auto 0;
    }
    .case_details + .case_details {
        margin-top: 24em;
    }
    .case_way_inner {
        padding-block: 18em;
    }
    .case_way_inner_l {
        font-size: 24em;
    }
    .case_way_inner_m {
        font-size: 18em;
    }
    .case_way_inner_s {
        font-size: 14em;
    }
    .case_content {
        padding-inline: 120em;
        margin-inline: -120em;
    }
    .case_content_inner {
        margin-block: 48em;
        position: relative;
    }
    .case_way_arrow {
        right: 40em;
    }
    .case_content_block + .case_content_block {
        padding-top: 40em;
        margin-top: 40em;
    }
    .case_content_ttl_inner {
        font-size: 32em;
    }
    .case_content_ttl_inner::before {
        left: -1.5em;
    }
    .case_content_ttl_inner::after {
        right: -1.5em;
    }
    .case_content_txt {
        margin-top: 24em;
    }
    .case_content_list {
        margin-top: 24em;
        align-items: center;
        column-gap: 37em;
    }
    .case_content_list > li {
        border: solid 2px var(--color-black);
        width: 266em;
        min-height: 379em;
        padding: 0 16em 16em;
    }
    .case_content_list > li:not(:first-of-type)::before {
        width: 37em;
        height: 2px;
        top: 50%;
        left: -39em;
        transform: translateY(-50%);
    }
    .case_content_list_2 > li {
        min-height: 328em;
    }
    .case_content_list_step {
        padding: 0 4em 2em;
        margin-inline: auto;
    }
    .case_content_list_step_inner {
        font-size: 22em;
    }
    .case_content_list_num {
        font-size: 24em;
    }
    .case_content_list_info > li {
        font-size: 14em;
        line-height: 1.75;
        letter-spacing: 0.08em;
    }
    .case_content_list_img {
        width: 120em;
        margin: 16em auto;
    }
    .case_content_visit {
        background-color: var(--color-white);
        width: 640em;
        padding: 24em;
        margin: 24em auto 0;
    }
    .case_content_visit_list > li,
    .case_content_visit_search_inner_txt_inner,
    .case_content_visit_link_txt,
    .case_content_visit_link {
        font-size: 16em;
    }
    .case_content_visit_search {
        background-color: var(--color-baby-gray);
        margin-top: 24em;
        padding: 4em 8em;
        align-items: center;
        column-gap: 24em;
    }
    .case_content_visit_search_inner_txt {
        padding: 8em;
    }
    .icon_shop_eye {
        width: 40em;
    }
    .case_content_info {
        margin-top: 32em;
    }
    .case .btn_area {
        margin-top: 32em;
    }
    .case_not_apply_ttl {
        font-size: 28em;
    }
    .case_not_apply_list {
        margin-top: 24em;
        text-align: center;
    }
    .case_not_apply_list_ttl {
        justify-content: center;
        align-items: center;
    }
    .case_not_apply_list_ttl_inner {
        font-size: 20em;
    }
    .case_not_apply_table {
        border-radius: 8em;
        margin-top: 32em;
    }
    .case_not_apply_table tr:first-child th {
        padding-block: 12em;
    }
    .case_not_apply_table tr:first-child {
        border-bottom: max(2em, 2px) solid var(--color-lightgray);
    }
    .case_not_apply_table tr:first-child th + th {
        border-left: max(2em, 2px) solid var(--color-lightgray);
    }
    .case_not_apply_table tr:nth-child(n + 2) th {
        padding-block: 20em;
    }
    .case_not_apply_table tr th:first-child,
    .case_not_apply_table tr:nth-child(n + 2) th {
        width: 312em;
    }
    .case_not_apply_table_th_txt {
        font-size: 16em;
        line-height: 1.3;
    }
    .case_not_apply_table_th_note {
        font-size: 12em;
        line-height: 1.4;
    }
    .case_not_apply_table_th_num,
    .case_not_apply_table_th_from,
    .case_not_apply_table_th_month {
        letter-spacing: 0.04em;
    }
    .case_not_apply_table_th_num {
        font-size: 26em;
    }
    .case_not_apply_table_th_from {
        font-size: 20em;
    }
    .case_not_apply_table_th_month {
        font-size: 16em;
    }
    .case_not_apply_table td {
        border-left: max(2em, 2px) solid var(--color-gray);
    }
    .case_not_apply_table_td_num {
        font-size: 40em;
    }
    .case_not_apply_table_td_month {
        font-size: 24em;
    }
    .case_not_apply_txt {
        margin-top: 32em;
        text-align: center;
    }
    /* 画像 */
    .case .ill_people_3 {
        width: 110em;
        top: 8em;
        left: 20em;
    }
    .case .ill_people_6 {
        width: 180em;
        top: -32em;
        z-index: 1;
        left: -113em;
        transform: scaleX(-1) rotate(-15deg);
    }
    .case .ill_people_4 {
        width: 167em;
        top: 188em;
        right: -135em;
        transform: scaleX(-1);
    }
}
@media (max-width: 767px) {
    .case_details_wrap {
        margin-top: 24em;
    }
    .case_details + .case_details {
        margin-top: 16em;
    }
    .case_way_inner {
        padding-block: 12em;
    }
    .case_way_inner_l {
        font-size: 18em;
    }
    .case_way_inner_m {
        font-size: 14em;
    }
    .case_way_inner_s {
        font-size: 8em;
        font-weight: 500;
        position: absolute;
        left: 6.8em;
        bottom: 0.2em;
    }
    .case_content {
        padding-inline: 16em;
        margin-inline: -16em;
    }
    .case_content_inner {
        margin-block: 40em;
    }
    .case_way_arrow {
        right: 16em;
    }
    .case_content_block + .case_content_block {
        padding-top: 24em;
        margin-top: 24em;
    }
    .case_content_ttl_inner {
        font-size: 22em;
    }
    .case_content_ttl_inner::before {
        left: -1.1em;
    }
    .case_content_ttl_inner::after {
        right: -1.1em;
    }
    .case_content_txt {
        margin-top: 16em;
    }
    .case_content_list {
        margin-top: 24em;
        flex-direction: column;
        align-items: start;
        row-gap: 24em;
    }
    .case_content_list > li {
        display: flex;
        flex-direction: row-reverse;
        align-items: start;
        column-gap: 12em;
        position: relative;
    }
    .case_content_list > li:not(:last-of-type)::before {
        content: '';
        background-color: var(--color-black);
        width: 2px;
        height: 100%;
        position: absolute;
        top: 68em;
        left: 37em;
    }
    .case_content_list_step {
        padding: 0 4em 2em;
    }
    .case_content_list_step_inner {
        font-size: 16em;
    }
    .case_content_list_num {
        font-size: 18em;
    }
    .case_content_list_txt {
        margin-top: 8em;
    }
    .case_content_list_info > li {
        font-size: 12em;
        line-height: 1.5;
    }
    .case_content_list_img {
        width: 75em;
        flex-shrink: 0;
        position: relative;
        z-index: 1;
    }
    .case_content_visit {
        margin-top: 8em;
    }
    .case_content_visit_list > li {
        margin-top: 0.8em;
    }
    .case_content_visit_list > li,
    .case_content_visit_search_inner_txt_inner,
    .case_content_visit_link_txt,
    .case_content_visit_link {
        font-size: 14em;
    }
    .case_content_visit_search {
        margin-top: 8em;
        flex-direction: column;
        row-gap: 8em;
    }
    .case_content_visit_search_inner {
        width: fit-content;
    }
    .case_content_visit_search_inner_txt {
        padding-inline: 8em;
    }
    .icon_shop_eye {
        width: 25em;
    }
    .case_content_info {
        margin-top: 24em;
        padding: 16em;
    }
    .case .btn_area {
        margin-top: 16em;
    }
    .case_not_apply_ttl {
        font-size: 22em;
    }
    .case_not_apply_list {
        margin-top: 16em;
    }
    .case_not_apply_list_ttl::before {
        flex-shrink: 0;
    }
    .case_not_apply_table {
        border-radius: 4em;
        margin-top: 24em;
    }
    .case_not_apply_list_ttl_inner {
        font-size: 16em;
    }
    .case_not_apply_table tr:first-child th {
        padding-block: 3em;
    }
    .case_not_apply_table tr:first-child {
        border-bottom: max(2em, 2px) solid var(--color-lightgray);
    }
    .case_not_apply_table tr:first-child th + th {
        border-left: max(1em, 1px) solid var(--color-lightgray);
    }
    .case_not_apply_table tr:nth-child(n + 2) th {
        padding: 6em;
        text-align: left;
    }
    .case_not_apply_table tr th:first-child,
    .case_not_apply_table tr:nth-child(n + 2) th {
        width: 114em;
    }
    .case_not_apply_table_th_txt {
        font-size: 10em;
        line-height: 1.1;
    }
    .case_not_apply_table_th_note {
        font-size: 8em;
        line-height: calc(11/8);
    }
    .case_not_apply_table_th_num {
        font-size: 12em;
    }
    .case_not_apply_table_th_from {
        font-size: 8em;
    }
    .case_not_apply_table_th_month {
        font-size: 8em;
    }
    .case_not_apply_table td {
        border-left: max(1em, 1px) solid var(--color-gray);
    }
    .case_not_apply_table_td_num {
        font-size: 24em;
    }
    .case_not_apply_table_td_month {
        font-size: 10em;
    }
    .case_not_apply_txt {
        margin-top: 24em;
    }
}


/* continue */
@media (min-width: 768px) {
    .continue .content_lead {
        letter-spacing: 0.04em;
        margin-top: 40em;
    }
    .continue .content_txt {
        margin-top: 10em;
    }
    .continue_img {
        max-width: 876em;
        margin: 32em auto 0;
        display: block;
    }
    /* 画像 */
    .continue .ill_people_5{
        width: 80em;
        top: 25em;
        right: 36em;
    }
}
@media (max-width: 767px) {
    .continue .content_lead {
        margin-top: 24em;
    }
    .continue .content_txt {
        margin-top: 8em;
    }
    .continue_img {
        margin-top: 24em;
    }
}

/* qa */
.qa_wrap {
    background: url(../images/bg_pattern_blue.svg) repeat top center / auto;
}
.qa_block {
    border: solid 2px var(--color-black);
}
.qa_details {
    border-bottom: solid 1px var(--color-black);
}
.qa_question,
.qa_answer_inner {
    display: flex;
}
.qa_question {
    letter-spacing: 0.04em;
    position: relative;
    z-index: 1;
}
.qa_question_inner_txt {
    letter-spacing: 0.04em;
    line-height: 1.5;
}
.qa_answer_txt {
    letter-spacing: 0.08em;
    line-height: 1.75;
}
.qa_question_arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.qa_details.is-opened .qa_question_arrow {
    transform: translateY(-50%) rotate(180deg);
}
.qa_question_icon,
.qa_answer_icon {
    color: var(--color-white);
    position: relative;
}
.qa_question_icon::before,
.qa_answer_icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.qa_question_icon::before {
    background: url(../images/qa_icon_q.svg) no-repeat center/ 100%;
}
.qa_answer_icon::before {
    background: url(../images/qa_icon_a.svg) no-repeat center/ 100%;
}
.qa_question_icon_inner,
.qa_answer_icon_inner {
    position: relative;
    z-index: 1;
}
@media (min-width: 768px) {
    .qa {
        padding-top: 120em;
    }
    .qa_inner {
        background: url(../images/bg_paper.svg) repeat top center / 100%;
        padding: 16em;
    }
    .qa_details_wrap {
        margin-top: 40em;
        padding: 0 64em 64em;
    }
    .qa_details {
        padding-bottom: 20em;
        margin-top: 24em;
    }
    .qa_question,
    .qa_answer_inner {
        align-items: center;
        column-gap: 12em;
    }
    .qa_answer_inner {
        margin-top: 8em;
    }
    .qa_answer_txt {
        font-size: 16em
    }
    .qa_question_arrow {
        width: 14em;
        right: 20em;
    }
    .qa_question_inner_txt,
    .qa_question_icon_inner,
    .qa_answer_icon_inner {
        font-size: 18em;
    }
    .qa_question_icon {
        padding: 11em 11em 13em;
    }
    .qa_question_icon::before {
        width: 40em;
        height: 40em;
    }
    .qa_answer_icon {
        padding: 7em 12em 10em;
    }
    .qa_answer_icon::before {
        width: 40em;
        height: 34em;
    }
}
@media (max-width: 767px) {
    .qa {
        padding-top: 80em;
        padding-inline: 24em;
    }
    .qa_inner {
        background: url(../images/bg_paper_sp.svg) repeat top center / 100%;
        padding: 14em;
        box-shadow: var(--box-shadow);
    }
    .qa_details_wrap {
        margin-top: 24em;
        padding: 0 16em 24em;
    }
    .qa_details {
        padding-bottom: 24em;
        margin-top: 24em;
    }
    .qa_question {
        padding-right: 20em;
    }
    .qa_question_inner_txt {
        font-size: 16em;
    }
    .qa_question,
    .qa_answer_inner {
        align-items: start;
        column-gap: 12em;
    }
    .qa_answer_inner {
        margin-top: 12em;
    }
    .qa_question_arrow {
        width: 14em;
        right: 0;
    }
    .qa_question_icon_inner,
    .qa_answer_icon_inner,
    .qa_answer_txt {
        font-size: 14em;
    }
    .qa_question_icon {
        padding: 9em 9em 11em;
    }
    .qa_question_icon::before {
        width: 32em;
        height: 32em;
    }
    .qa_answer_icon {
        padding: 5em 10em 8em;
    }
    .qa_answer_icon::before {
        width: 32em;
        height: 27em;
    }
}

/* life */
.life {
    position: relative;
}
.life_ttl {
    position: relative;
    z-index: 1;
}
.life_ttl_inner {

    color: var(--color-white);
    background: url(../images/icon_fukidashi_pink.svg) no-repeat center/ 100%;
    padding: 15em 10em 19em 8em;
    position: absolute;
    left: calc(50% - 150em);
    top: -38em;
}
.life_ttl_txt {
    font-size: 36em;
    line-height: 1.2;
}
.life_ttl_inner_txt {
    font-size: 24em;
}
.life_inner {
    background: url(../images/bg_pattern_green.svg) repeat top center / auto;
    position: relative;
    z-index: 1;
}
.life_inner::before {
    content: '';
    background: url(../images/deco_grass.svg) repeat-x top center / 1440em auto;
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.life_block {
    position: relative;
    z-index: 1;
}
.life_block_ttl {
    font-size: 16em;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.life_block > dt:not(:first-child) {
    margin-top: 10em;
}
.life_block > dd {
    border-top: solid 1px var(--color-black);
    margin-top: 8em;
    padding-top: 10em;
}
.life_list > li {
    font-size: 14em;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.life_list > li::before {
    content: '・';
}
@media (min-width: 768px) {
    .life {
        padding-top: 120em;
    }
    .life_inner {
        margin-top: 118em;
        padding-bottom: 40em;
    }
    .life_inner::before {
        height: 93em;
        top: -78em;
    }
    .life_block {
        max-width: 956em;
        margin-inline: auto;
    }
    /* 画像 */
    .life .ill_people_1 {
        width: 119em;
        top: 163em;
        left: calc(50% - 555em);
    }
    .life .ill_people_2 {
        width: 83em;
        top: 85em;
        left: calc(50% - 450em);
    }
    .life .ill_people_3 {
        width: 80em;
        top: 138em;
        left: calc(50% - 384em);
    }
    .life .ill_people_4 {
        width: 121em;
        top: 102em;
        left: calc(50% - 312em);
    }
    .life .ill_people_5 {
        width: 67em;
        top: 105em;
        right: calc(50% - 266em);
    }
    .life .ill_people_6 {
        width: 141em;
        top: 155em;
        right: calc(50% - 370em);
        transform: rotate(-35deg);
    }
    .life .ill_people_7 {
        width: 77em;
        top: 135em;
        right: calc(50% - 525em);
    }
    .life .ill_people_8 {
        width: 89em;
        top: 105em;
        right: calc(50% - 450em);
    }
    .life .ill_cloud_1 {
        width: 322em;
        top: 30em;
        left: 0;
    }
    .life .ill_cloud_2 {
        width: 186em;
        top: 75em;
        left: 1000em;
    }
    .life .bg_cloud_2 {
        width: 797em;
        top: -150em;
        right: -250em;
    }
}
@media (max-width: 767px) {
    .life {
        padding-top: 90em;
    }
    .life_inner {
        margin-top: 200em;
        padding-bottom: 40em;
    }
    .life_inner::before {
        height: 83em;
        top: -60em;
    }
    .life_block {
        padding-inline: 24em;
    }
    /* 画像 */
    .life .ill_people_2 {
        width: 86em;
        top: 200em;
        left: 24em;
    }
    .life .ill_people_5 {
        width: 63em;
        top: 195em;
        left: 118em;
    }
    .life .ill_people_7 {
        width: 73em;
        top: 193em;
        right: 22em;
    }
    .life .ill_people_8 {
        width: 83em;
        top: 225em;
        right: 114em;
    }
    .life .ill_cloud_1 {
        width: 185em;
        top: 132em;
        left: 0;
    }
    .life .ill_cloud_2 {
        width: 185em;
        top: 60em;
        left: 340em;
    }
}
