@charset "UTF-8";
/* ---------------------------------------------
*   Custom Properties
--------------------------------------------- */
:root {
    --design-width: 1920;
    --contents-width: 1200;
    --contents-side-padding: 10;
    --minwidth: calc(var(--contents-width) + var(--contents-side-padding) * 2);
    --fixed-header-height: 80;
    --root-fz: 16;
    --line-height: 1.5;
    --hover-opacity-ratio: 0.8;
    --hover-duration: .3s;
    --color-base-1: #000;
    --color-base-1-rgb: 0, 0, 0;
    --color-black-1: #000;
    --color-black-1-rgb: 0, 0, 0;
    --color-black-2: #111;
    --color-black-2-rgb: 17, 17, 17;
    --color-white-1: #fff;
    --color-white-1-rgb: 255, 255, 255;
    --color-white-2: #fefefe;
    --color-white-2-rgb: 254, 254, 254;
    --color-sample-1: #9b2019;
    --color-sample-1-rgb: 155, 32, 25;
    --color-sample-2: #223a70;
    --color-sample-2-rgb: 34, 58, 112;
    --ff-root: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", sans-serif;
    --ff-noto: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
    :root {
        --design-width: 750;
        --contents-width: 730;
        --contents-side-padding: 10;
        --minwidth: 320;
        --fixed-header-height: 60;
        --root-fz: 32;
        --line-height: 1.5;
    }
}

/* ---------------------------------------------
*   l-bg-contents
--------------------------------------------- */
.l-bg-contents {
    position: relative;
    padding-top: 92px;
    padding-bottom: 50px;
    z-index: 3;
}
@media screen and (max-width: 767px) {
    .l-bg-contents {
        padding-top: 4vw;
        padding-bottom: 30px;
    }
}

.l-bg-contents::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: -20px;
    background: url(../img/2026/bg_01.png) center top/100% 100% no-repeat;
    z-index: -1;
}
@media screen and (max-width: 767px) {
    .l-bg-contents::before {
        bottom: -10px;
    }
}

.l-bg-contents::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4.5vw;
    width: 100%;
    aspect-ratio: 1160/126;
    background: url("../img/2026/bg_01_after.png") center bottom/100% auto no-repeat;
    transform: translateY(60%);
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .l-bg-contents::after {
        bottom: -2vw;
        transform: translateY(70%);
    }
}

.l-bg-contents-second {
    position: relative;
    background: url(../img/2026/bg_02.png) 0 0 no-repeat;
    background-size: 100% 100%;
    padding-top: 50px;
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .l-bg-contents-second {
        margin-top: -2vw;
        padding-top: 10vw;
        padding-bottom: 5vw;
    }
}

.l-bg-contents-third {
    position: relative;
    z-index: 2;
    background: url(../img/2026/bg_03.png) 0 0 no-repeat;
    background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
    .l-bg-contents-third {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
}
.l-bg-contents-third::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
    height: 205px;
    top: -200px;
    background-image: url("../img/2026/bg_03_before.png");
}
@media screen and (max-width: 767px) {
    .l-bg-contents-third::before {
        height: 16.8vw;
        top: -16.3vw;
        background-image: url("../img/2026/sp/bg_03_before.png");
    }
}

.mgt-pc--50 {
    margin-top: 100px !important;
}

/* ---------------------------------------------
*   c-heading
--------------------------------------------- */
.c-heading__inner {
    position: relative;
    z-index: 1;
    max-width: 1160px;
    margin-inline: auto;
    padding: 0 52px;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .c-heading__inner {
        padding: 3.2vw 6.666vw;
    }
}
.c-heading__inner::before {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    bottom: 5px;
    left: 50%;
    transform: translateX(-548px);
    width: 372px;
    aspect-ratio: 372/144;
    background: url("/fantasy/vp/family/img/2026/img_plan_ttl_01.png") left bottom no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-heading__inner::before {
        bottom: 1vw;
        left: 4vw;
        transform: none;
        width: 21.3vw;
        aspect-ratio: 80/92;
        background: url("/fantasy/vp/family/img/2026/sp/img_plan_ttl_01.png") left bottom no-repeat;
        background-size: contain;
        background-position: center;
    }
}
.c-heading__inner::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    top: -35px;
    right: 50%;
    transform: translateX(535px);
    width: 334px;
    aspect-ratio: 334/128;
    background: url("/fantasy/vp/family/img/2026/img_plan_ttl_02.png") right top no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-heading__inner::after {
        top: 7vw;
        right: 3vw;
        transform: none;
        width: 23vw;
        aspect-ratio: 30/41;
        background: url("/fantasy/vp/family/img/2026/sp/img_plan_ttl_02.png") right top no-repeat;
        background-size: contain;
    }
}
.c-heading__ttl {
    color: #000000;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5333333333;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-heading__ttl {
        font-size: 5.3333333333vw;
        line-height: 1.5;
    }
}
.c-heading__text {
    color: #00A7EE;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5333333333;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-heading__text {
        font-size: 5.3333333333vw;
        line-height: 1.5;
    }
}

/* ---------------------------------------------
*   c-heading-second
--------------------------------------------- */
.c-heading-second__inner {
    position: relative;
    z-index: 1;
    max-width: 1160px;
    margin-inline: auto;
    padding: 85px 52px 0px;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .c-heading-second__inner {
        padding: 11vw 6.666vw;
    }
}
.c-heading-second__inner::before {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    top: 45px;
    left: 50.5%;
    transform: translateX(-545px);
    width: 409px;
    aspect-ratio: 409/171;
    background: url("/fantasy/vp/family/img/2026/img_point_ttl_01.png") left bottom no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-heading-second__inner::before {
        top: auto;
        bottom: 7vw;
        left: 1vw;
        transform: none;
        width: 19vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_point_ttl_01.png");
        background-size: contain;
        background-position: left bottom;
        aspect-ratio: 73/79;
    }
}
.c-heading-second__inner::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    bottom: -3.5vw;
    right: 50%;
    transform: translateX(543px);
    width: 327px;
    aspect-ratio: 327/151;
    background: url("/fantasy/vp/family/img/2026/img_point_ttl_02.png") right top no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-heading-second__inner::after {
        top: 8vw;
        right: 3vw;
        transform: none;
        width: 17vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_point_ttl_02.png");
        background-size: contain;
        background-position: right top;
        aspect-ratio: 124/180;
    }
}
.c-heading-second__ttl {
    position: relative;
    z-index: 1;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5333333333;
    text-align: center;
}
.c-heading-second__ttl::before {
    content: "";
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -2;
    width: 700px;
    height: 220px;
    background: url("/fantasy/vp/family/img/2026/ttl_summerpoint_bg.png") no-repeat center center;
    background-size: contain;
    pointer-events: none;
}
@media screen and (max-width: 767px) {
    .c-heading-second__ttl {
        font-size: 5.333vw;
        line-height: 1.5;
    }
    .c-heading-second__ttl::before {
        top: 45%;
        width: 100vw;
        height: 30vw;
    }
}

/* ---------------------------------------------
*   c-block-plan
--------------------------------------------- */
.c-block-plan {
    position: relative;
    padding: 0 52px;
    margin-top: 3.017vw;
}
@media screen and (max-width: 1160px) {
    .c-block-plan {
        padding: 0 4.48276vw;
        margin-top: 3.375vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-plan {
        padding: 0 6.66667vw;
        margin-top: 2vw;
    }
}
.c-block-plan__container {
    max-width: 1056px;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
    border-radius: 10px;
    border: 0px solid #05408F;
}
@media screen and (max-width: 767px) {
    .c-block-plan__container {
        border-radius: 2.6666666667vw;
    }
}
.c-block-plan__logo {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 268px;
}
@media screen and (max-width: 1160px) {
    .c-block-plan__logo {
        top: -5.1724137931vw;
        width: 23.1034482759vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-plan__logo {
        top: -7.2vw;
        width: 32.5333333333vw;
    }
}
.c-block-plan__inner {
    padding: 5vw 0 5vw;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.0509803922);
}
@media screen and (max-width: 1160px) {
    .c-block-plan__inner {
        padding: 3vw 0 4.5vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-plan__inner {
        padding: 2.6666666667vw 5.3333333333vw 5vw;
    }
}
.c-block-plan__lead {
    display: block;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.7692307692;
    text-align: center;
}
@media screen and (max-width: 1160px) {
    .c-block-plan__lead {
        font-size: 2.2413793103vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-plan__lead {
        font-size: 4.2666666667vw;
        line-height: 1.5;
    }
}
.c-block-plan__img {
    display: block;
    width: 71.7803030303%;
    margin: 0px auto 0;
}
@media screen and (max-width: 1160px) {
    .c-block-plan__img {
        margin-top: 2.5vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-plan__img {
        width: 100%;
        margin-top: 4.5333333333vw;
    }
}
.c-block-plan__hr {
    width: 292px;
    margin: 62px auto 52px;
}
@media screen and (max-width: 767px) {
    .c-block-plan__hr {
        width: 58.1333333333vw;
        margin: 8vw auto 9.3333333333vw;
    }
}

/* ---------------------------------------------
/*  c-block-point
--------------------------------------------- */
.c-block-point {
    position: relative;
    padding: 0 52px;
    margin-top: 3.017vw;
}
@media screen and (max-width: 1160px) {
    .c-block-point {
        padding: 0 4.48276vw;
        margin-top: 3vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-point {
        padding: 0 6.66667vw;
        margin-top: -7vw;
    }
}
.c-block-point__container {
    max-width: 1056px;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
    border-radius: 10px;
    border: 0px solid #05408F;
}
@media screen and (max-width: 767px) {
    .c-block-point__container {
        border-radius: 2.6666666667vw;
    }
}
.c-block-point__logo {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 268px;
}
@media screen and (max-width: 1160px) {
    .c-block-point__logo {
        top: -5.1724137931vw;
        width: 23.1034482759vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-point__logo {
        top: -7.2vw;
        width: 32.5333333333vw;
    }
}
.c-block-point__inner {
    padding: 20px 0 10px;
}
@media screen and (max-width: 1160px) {
    .c-block-point__inner {
        padding: 2vw 0 1vw;
    }
}
@media screen and (max-width: 767px) {
    .c-block-point__inner {
        padding: 1vw 5.3333333333vw 2vw;
    }
}

/* ---------------------------------------------
*   c-block-summer
--------------------------------------------- */
.c-block-summer {
    border-radius: 20px;
    padding: 6.72vw 40px;
    margin: 40px auto;
    max-width: 1160px;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .c-block-summer {
        padding: 6vw 15px;
        margin: 20px 10px;
    }
}
.c-block-summer__head {
    text-align: center;
    margin-bottom: 60px;
}
.c-block-summer__catch {
    margin-bottom: 3.1034482759vw;
    margin-inline: auto;
    width: 9.7413793103vw;
    min-width: 100px;
}
@media screen and (max-width: 767px) {
    .c-block-summer__catch {
        width: 25vw;
        margin-bottom: 4vw;
    }
}
.c-block-summer__ttl {
    font-size: 30px;
    color: #111111;
    line-height: 1.4;
    position: relative;
    display: inline-block;
}
@media screen and (max-width: 767px) {
    .c-block-summer__ttl {
        font-size: 5.3vw;
    }
}
.c-block-summer__ttl::before {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    top: -45px;
    left: 44%;
    transform: translateX(-500px);
    width: 364px;
    aspect-ratio: 364/153;
    background: url("/fantasy/vp/family/img/2026/img_summer_ttl_01.png") left bottom no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-block-summer__ttl::before {
        top: -9vw;
        left: -8vw;
        transform: none;
        width: 27vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_summer_ttl_01.png");
        aspect-ratio: 100/116;
        background-position: center;
        background-size: contain;
    }
}
.c-block-summer__ttl::after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    top: -40px;
    right: 42%;
    transform: translateX(500px);
    width: 349px;
    aspect-ratio: 349/153;
    background: url("/fantasy/vp/family/img/2026/img_summer_ttl_02.png") right top no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-block-summer__ttl::after {
        top: -10vw;
        right: -10vw;
        transform: none;
        width: 25vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_summer_ttl_02.png");
        aspect-ratio: 94/121;
        background-position: right top;
        background-size: contain;
    }
}

/* ---------------------------------------------
*   c-block-recommend
--------------------------------------------- */
@media screen and (min-width: 768px) {
    .c-block-recommend--type2 {
        padding: 0px 52px 70px;
    }
}
.c-block-recommend--type2 .c-block-recommend__body {
    margin-top: 2.58vw;
}
@media screen and (max-width: 767px) {
    .c-block-recommend--type2 .c-block-recommend__body {
        margin-top: 8vw;
    }
}
.c-block-recommend__inner {
    position: relative;
    z-index: 1;
    max-width: 1160px;
    margin-inline: auto;
    padding: 5px 52px;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .c-block-recommend__inner {
        padding: 0vw 6.666vw;
    }
}
.c-block-recommend__inner::before {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    bottom: 1px;
    left: 54.5%;
    transform: translateX(-584px);
    width: 713px;
    aspect-ratio: 713/143;
    background: url("/fantasy/vp/family/img/2026/img_recomend_ttl_01.png") left bottom no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-block-recommend__inner::before {
        bottom: -7vw;
        left: -4vw;
        transform: none;
        width: 22vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_recomend_ttl_01.png");
        aspect-ratio: 84/105;
        background-position: left bottom;
        background-size: contain;
    }
}
.c-block-recommend__inner::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    top: -35px;
    right: 49%;
    transform: translateX(515px);
    width: 331px;
    aspect-ratio: 331/148;
    background: url("/fantasy/vp/family/img/2026/img_recomend_ttl_02.png") right top no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .c-block-recommend__inner::after {
        top: -4.5vw;
        right: -4vw;
        left: auto;
        transform: none;
        width: 21vw;
        background-image: url("/fantasy/vp/family/img/2026/sp/img_recomend_ttl_02.png");
        aspect-ratio: 77/85;
        background-position: right top;
        background-size: contain;
    }
}
.c-block-recommend__ttl {
    color: #FFFFFF;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5333333333;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-block-recommend__ttl {
        font-size: 5.333vw;
        line-height: 1.5;
    }
}

/* ---------------------------------------------
*   u-pc-only
--------------------------------------------- */
.u-pc-only {
    display: block;
}
@media screen and (max-width: 767px) {
    .u-pc-only {
        display: none;
    }
}

/* ---------------------------------------------
*   c-plan-controls
--------------------------------------------- */
@media screen and (min-width: 768px) {
    .c-plan-controls {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .c-plan-controls {
        position: relative;
        margin-top: -3vw;
        margin-bottom: 13vw;
        width: 100%;
        height: 8.5vw;
    }
    .swiper-scrollbar {
        position: absolute;
        bottom: 0;
        left: 6.66667vw;
        width: 58.66667vw;
        height: 0.6vw;
        z-index: 1;
    }
    .swiper-button-prev {
        position: absolute;
        width: 10.6vw;
        height: 10.6vw;
        aspect-ratio: 40/40;
        right: 10vw;
        bottom: -5vw;
        margin: 0;
    }
    .swiper-button-next {
        position: absolute;
        width: 10.6vw;
        height: 10.6vw;
        aspect-ratio: 40/40;
        right: -2vw;
        bottom: -5vw;
        margin: 0;
    }
    .swiper-button-prev::before,
    .swiper-button-next::before {
        width: 3.5vw;
        height: 3.5vw;
        border-width: 0.55vw;
    }
}
/* ---------------------------------------------
*   c-box
--------------------------------------------- */
/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
/* ---------------------------------------------
*   c-card-summer
--------------------------------------------- */
.c-card-summer {
    position: relative;
    margin-top: 80px;
    margin-bottom: 90px;
    padding: 60px 0 25px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
    .c-card-summer {
        margin-top: 15.625vw;
        margin-bottom: 15.625vw;
        margin-inline: auto;
        padding: 30px 0 10px;
    }
}
.c-card-summer:last-child {
    margin-top: 30px;
}
@media screen and (max-width: 767px) {
    .c-card-summer:last-child {
        margin-top: 0;
        margin-bottom: 5vw;
    }
}
.c-card-summer__ttl {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 61.2068965517vw;
    max-width: 710px;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .c-card-summer__ttl {
        top: -10vw;
        width: 77vw;
    }
}
.c-card-summer__ttl img {
    width: 100%;
    height: auto;
}
.c-card-summer__inner {
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .c-card-summer__inner {
        padding-inline: 50px;
    }
}
.c-card-summer__img {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}
.c-card-summer__img figure {
    flex: 1;
    margin: 0;
}
.c-card-summer__img img {
    width: 100%;
    border-radius: 10px;
    -o-object-fit: cover;
       object-fit: cover;
}
.c-card-summer__txt {
    width: 90%;
    margin-inline: auto;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.8;
    color: #111;
}
@media screen and (max-width: 767px) {
    .c-card-summer__txt {
        width: 90%;
        font-size: min(3.2vw, 15px);
    }
}
.c-card-summer__details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 90%;
    margin-inline: auto;
    margin-bottom: 25px;
    padding-top: 20px;
    border-top: 1px solid #EBEBEB;
}
@media screen and (max-width: 767px) {
    .c-card-summer__details {
        width: 90%;
        font-size: min(3.2vw, 15px);
    }
}
.c-card-summer__details p {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: start;
    margin: 0;
    line-height: 1.3;
}
@media screen and (max-width: 767px) {
    .c-card-summer__details p {
        grid-template-columns: 5.2em 1fr;
    }
}
.c-card-summer__note {
    display: block !important;
    grid-column: 1/-1;
    margin-top: 4px;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.5;
}
.c-card-summer__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 32px;
    cursor: pointer;
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .c-card-summer__btn {
        margin: 0 auto 4.2666666667vw;
    }
}
.c-card-summer__btn:hover {
    opacity: 0.8;
}
.c-card-summer__btn .btn-close {
    display: none !important;
}
.c-card-summer__btn .btn-image {
    display: block;
    height: auto;
}
.c-card-summer__btn .btn-open {
    width: 108px;
}
@media screen and (max-width: 767px) {
    .c-card-summer__btn .btn-open {
        width: 24.8vw;
        max-width: 93px;
    }
}
.c-card-summer__btn .btn-close {
    width: 74px;
}
@media screen and (max-width: 767px) {
    .c-card-summer__btn .btn-close {
        width: 16.8vw;
        max-width: 63px;
    }
}
.c-card-summer__content {
    display: none;
}
.c-card-summer .u-hidden-check {
    display: none;
}
.c-card-summer .u-hidden-check:checked ~ .c-card-summer__content {
    display: block;
    animation: fadeIn 0.4s ease forwards;
}
.c-card-summer .u-hidden-check:checked ~ .c-card-summer__btn .btn-open {
    display: none !important;
}
.c-card-summer .u-hidden-check:checked ~ .c-card-summer__btn .btn-close {
    display: block !important;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ---------------------------------------------
*   c-cassette-plan
--------------------------------------------- */
.c-cassette-point-wrap {
    max-width: 922px;
    width: 79.4827586207vw;
    margin-inline: auto;
    padding-inline: 20px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point-wrap {
        max-width: none;
        padding-inline: 0;
    }
}

.c-cassette-point {
    border-top: 1px solid #EBEBEB;
    padding-top: 3.79vw;
}
@media screen and (max-width: 767px) {
    .c-cassette-point {
        padding-top: 5vw;
    }
}
.c-cassette-point:first-of-type {
    border-top: none;
    padding-top: 3.79vw;
}
.c-cassette-point__inner {
    position: relative;
    display: flex;
    padding: 0px 0px 40px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__inner {
        display: block;
        padding: 0 0 5.3333333333vw;
    }
}
.c-cassette-point--01 .c-cassette-point__inner {
    padding: 0px 0px 32px;
}
.c-cassette-point--02 .c-cassette-point__inner {
    flex-flow: row-reverse;
}
.c-cassette-point--03 .c-cassette-point__inner {
    padding-bottom: 0;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__content {
        min-width: auto;
    }
}
.c-cassette-point--01 .c-cassette-point__content {
    flex-shrink: 0;
}
@media screen and (min-width: 768px) {
    .c-cassette-point--01 .c-cassette-point__content {
        width: 70.4081632653%;
    }
}
.c-cassette-point--02 .c-cassette-point__content {
    flex-shrink: 0;
}
@media screen and (min-width: 768px) {
    .c-cassette-point--02 .c-cassette-point__content {
        width: 64.6258503401%;
    }
}
.c-cassette-point__head {
    margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__head {
        display: flex;
        margin-bottom: 2.6666666667vw;
    }
}
.c-cassette-point__icon {
    margin-bottom: 2vw;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__icon {
        flex-shrink: 0;
        margin-bottom: 0;
        margin-right: 2.6666666667vw;
    }
}
.c-cassette-point--01 .c-cassette-point__icon {
    width: 88px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--01 .c-cassette-point__icon {
        width: 19.4666666667vw;
    }
}
.c-cassette-point--02 .c-cassette-point__icon {
    width: 96px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--02 .c-cassette-point__icon {
        width: 21.6vw;
    }
}
.c-cassette-point--03 .c-cassette-point__icon {
    width: 96px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--03 .c-cassette-point__icon {
        width: 21.6vw;
    }
}
.c-cassette-point__ttl {
    color: #00A7EE;
    font-weight: 700;
    font-size: 27px;
    line-height: 1.25;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__ttl {
        font-size: 4.5333333333vw;
        line-height: 1.3529411765;
    }
}
.c-cassette-point--02 .c-cassette-point__ttl {
    font-size: 26px;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--02 .c-cassette-point__ttl {
        font-size: 4vw;
        line-height: 1.3529411765;
    }
}
.c-cassette-point__ttl .kerning {
    letter-spacing: -0.3em;
}
.c-cassette-point__ttl strong {
    position: relative;
    z-index: 1;
}
.c-cassette-point__ttl strong::before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 6px;
    border-radius: 9999px;
    background-color: #FFE171;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__ttl strong::before {
        bottom: -0.2666666667vw;
        height: 0.8vw;
    }
}
.c-cassette-point__ttl.pc-only {
    display: block;
}
@media screen and (max-width: 950px) {
    .c-cassette-point__ttl.pc-only {
        display: none;
    }
}
.c-cassette-point__ttl.sp-only {
    display: none;
}
@media screen and (max-width: 950px) {
    .c-cassette-point__ttl.sp-only {
        display: block;
    }
}
.c-cassette-point__br {
    display: none;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__br {
        display: block;
    }
}
.c-cassette-point__br--adjust {
    display: none;
}
@media screen and (max-width: 950px) {
    .c-cassette-point__br--adjust {
        display: block;
    }
}
.c-cassette-point__txt {
    font-size: 16px;
    line-height: 1.75;
}
@media screen and (max-width: 767px) {
    .c-cassette-point__txt {
        max-width: 42.6666666667vw;
        font-size: 3.2vw;
        line-height: 1.6666666667;
    }
}
.c-cassette-point__img {
    position: absolute;
    transform: translateY(-50%);
    max-width: 100%;
}
.c-cassette-point--01 .c-cassette-point__img {
    right: 0;
    top: 45%;
    width: 27.2108843537%;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--01 .c-cassette-point__img {
        right: -0.8vw;
        top: 26.1333333333vw;
        width: 28.2666666667vw;
    }
}
.c-cassette-point--02 .c-cassette-point__img {
    left: -1%;
    top: 37%;
    width: 32.3129251701%;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--02 .c-cassette-point__img {
        left: auto;
        right: 0;
        top: 33.3333333333vw;
        width: 37.8666666667vw;
    }
}
.c-cassette-point--03 .c-cassette-point__img {
    right: 0;
    top: 48%;
    width: 48.9887640449%;
}
@media screen and (max-width: 767px) {
    .c-cassette-point--03 .c-cassette-point__img {
        right: -0.8vw;
        top: 27.4666666667vw;
        width: 32.8vw;
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.kv-slide {
    position: relative;
    background-color: #fff !important;
    margin: 0 auto;
    max-width: 1200px;
    overflow: visible !important;
}
.kv-slide .swiper-slide {
    opacity: 0.5;
    transition: opacity 0.3s;
}
.kv-slide .swiper-slide img {
    width: 100% !important;
    height: auto;
    display: block;
}
.kv-slide .swiper-slide-active {
    opacity: 1;
}

.js-kv-prev,
.js-kv-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 80px !important;
    height: 80px !important;
    z-index: 120 !important;
    cursor: pointer;
    font-size: 0 !important;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4)); /* 影を少し薄く */
    display: flex !important;
}
.js-kv-prev::before,
.js-kv-next::before {
    content: "" !important;
    display: block;
    /* --- 画像の比率に合わせた設定 --- */
    width: 32px; /* 矢印のサイズ（画像に合わせて調整） */
    height: 32px; /* widthと同じにして90度を保つ */
    border-top: 4px solid #fff; /* 線の太さを画像に合わせる */
    border-left: 4px solid #fff;
    /* ------------------------------ */
    position: absolute;
    top: 50%;
    left: 50%;
}

.js-kv-prev {
    left: 3.5vw !important;
}
.js-kv-prev::before {
    /* 45度回転で完璧な「く」の字にする */
    transform: translate(-30%, -50%) rotate(-45deg);
}

.js-kv-next {
    right: 3.5vw !important;
}
.js-kv-next::before {
    /* 135度回転で逆向き */
    transform: translate(-70%, -50%) rotate(135deg);
}

.js-kv-pagination {
    position: absolute !important;
    bottom: 30px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 130 !important;
    pointer-events: none;
}
@media screen and (max-width: 767px) {
    .js-kv-pagination {
        bottom: 5.3vw !important;
    }
}
.js-kv-pagination .swiper-pagination-bullet {
    pointer-events: auto;
    width: clamp(8px, 0.9vw, 10px) !important;
    height: clamp(8px, 0.9vw, 10px) !important;
    background: #fff !important;
    opacity: 1 !important;
    margin: 0 5px !important;
    border-radius: 50% !important;
    cursor: pointer;
    transition: background-color 0.3s;
}
.js-kv-pagination .swiper-pagination-bullet-active {
    background: #00A7EE !important;
}

/* ---------------------------------------------
*   スマホ専用
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .kv-slide {
        overflow: hidden !important;
    }
    .kv-slide .swiper-slide {
        opacity: 1 !important;
    }
    .js-kv-prev,
    .js-kv-next {
        display: none !important;
    }
    .js-kv-pagination .swiper-pagination-bullet {
        left: 35%;
    }
}
/* ---------------------------------------------
*   c-link
--------------------------------------------- */
/* ---------------------------------------------
*   c-list
--------------------------------------------- */
.c-list {
    display: flex;
    margin-top: 10px;
    padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
    .c-list {
        padding-bottom: 6.4vw;
    }
}
.c-list--type2 {
    max-width: 950px;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .c-list--type2 {
        max-width: 600px;
    }
}
.c-list__bubble {
    width: 190px;
    height: 67px;
    margin: 0 auto 20px;
    background-size: 100% 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
}
@media screen and (max-width: 767px) {
    .c-list__bubble {
        width: 50vw;
        height: auto;
        margin: 0 auto 5vw;
        font-size: 3.7vw;
        padding: 0 2vw;
    }
}
.c-list__item {
    position: relative;
    display: flex;
    margin-right: 28px;
    width: 249px;
    height: auto;
    border-radius: 10px;
    background-color: transparent;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.15);
}
.c-list--highlight .c-list__item {
    width: 587px;
    margin-right: 28px;
}
@media screen and (max-width: 767px) {
    .c-list--highlight .c-list__item {
        width: 67.7333333333vw;
        margin-right: 4.2666666667vw;
    }
}
.c-list--fd .c-list__item:nth-child(2) {
    width: 493px;
}
@media screen and (max-width: 767px) {
    .c-list--fd .c-list__item:nth-child(2) {
        width: 55vw;
    }
}
.c-list--type2 .c-list__item {
    width: 23.275862069vw;
    overflow: visible;
    margin-right: 3vw;
}
@media screen and (min-width: 768px) {
    .c-list--type2 .c-list__item {
        max-width: 270px;
    }
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__item {
        width: 53.3333333333vw;
        margin-right: 4.2666666667vw;
    }
}
.c-list--type2 .c-list__item--left {
    margin-left: 128px;
    margin-right: 50px;
}
.c-list--type2 .c-list__item--right {
    margin-left: 50px;
    margin-right: 128px;
}
.c-list--type2 .c-list__item:nth-of-type(3) {
    margin-right: 0;
}
@media screen and (max-width: 980px) {
    .c-list__img {
        aspect-ratio: unset;
    }
}
.c-list--highlight .c-list__img {
    aspect-ratio: 587/370;
}
.c-list--highlight .c-list__img img {
    border-radius: 10px;
}
@media screen and (max-width: 767px) {
    .c-list--highlight .c-list__img img {
        border-radius: 2.6666666667vw;
    }
}
.c-list--fd .c-list__item:nth-child(2) .c-list__img {
    aspect-ratio: 493/370;
}
.c-list--type2 .c-list__img {
    height: 178px;
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__img {
        height: 34vw;
    }
}
@media screen and (min-width: 768px) {
    .c-list--type2 .c-list__link {
        transition: opacity 0.3s;
    }
    .c-list--type2 .c-list__link:hover {
        opacity: 0.8;
    }
}
.c-list--type2 .c-list__desc {
    padding: 12px 17px 15px;
    border-radius: 0 0 10px 10px;
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__desc {
        padding: 2.6666666667vw 2.6666666667vw 3.7333333333vw;
        border-radius: 0 0 2.6666666667vw 2.6666666667vw;
    }
}
.c-list--type2 .c-list__item:nth-of-type(4n + 1) .c-list__desc {
    background-color: #D4F5E3;
    color: #008639;
    display: inline-block;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
    padding: 5px 10px;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 2) .c-list__desc {
    background-color: #DAF4FF;
    color: #00A7EE;
    display: inline-block;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
    padding: 5px 10px;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 3) .c-list__desc {
    background-color: #FFE1EE;
    color: #E50C68;
    display: inline-block;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
    padding: 5px 10px 16px;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 4) .c-list__desc {
    background-color: #8C21B0;
    color: #fff;
    display: inline-block;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
    padding: 5px 10px;
}
.c-list--type2 .c-list__txt {
    padding: 0;
    font-size: 17px;
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__txt {
        font-size: 3.4666666667vw;
    }
}
.c-list--type2 .c-list__label-wrap {
    display: block;
    min-height: 82px;
    margin-top: 10px;
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__label-wrap {
        min-height: 13.8666666667vw;
        margin-top: 3.2vw;
    }
}
.c-list--type2 .c-list__label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 8px;
    padding: 2px 10px;
    border-radius: 9999px;
    background-color: #fff;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .c-list--type2 .c-list__label {
        margin-top: 1.3333333333vw;
        padding: 0.2666666667vw 1.8666666667vw;
        font-size: 2.4vw;
        line-height: 1.3333333333;
    }
}
.c-list--type2 .c-list__label:first-of-type {
    margin-top: 0;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 1) .c-list__label {
    color: #008639;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 2) .c-list__label {
    color: #00A7EE;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 3) .c-list__label {
    color: #E50C68;
}
.c-list--type2 .c-list__item:nth-of-type(4n + 4) .c-list__label {
    color: #8C21B0;
}

/* ---------------------------------------------
*   c-section
--------------------------------------------- */
/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
.swiper-container-top {
    position: relative;
    z-index: 1;
    overflow: visible;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    list-style: none;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .swiper-container-top {
        margin-top: 0vw;
    }
}

.swiper-container {
    position: relative;
    z-index: 1;
    overflow: visible;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    list-style: none;
}
@media screen and (max-width: 767px) {
    .swiper-container {
        margin-top: 4.8vw;
        margin-inline: auto;
        width: 90%;
    }
}

@media screen and (min-width: 768px) {
    /* PCでは横並びのFlexboxにする */
    .js-planSliderUnique .swiper-wrapper {
        display: flex !important;
        justify-content: space-between;
        gap: 20px;
    }
    .js-planSliderUnique .swiper-slide {
        width: calc(33.333% - 14px) !important;
        margin: 0 !important;
    }
    /* PCでは矢印やバーを隠す */
    .js-planSliderUnique .c-plan-controls {
        display: none;
    }
}
/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
/* ---------------------------------------------
*   c-txt
--------------------------------------------- */