/* CSS Document */





/* ==============================

plan

============================== */
.plan-detail .l-section.plan {
    padding-top: 110px;
    padding-top: 0;
}
.plan-detail .plan-inner {
}
@media screen and ( max-width: 768px ) {
    .plan-detail .l-section.plan {
        padding-top: calc( 60 * 100vw / var( --design-width ) );
        padding-top: 0;
    }
    .plan-detail .plan-inner {
    }
}



.plan-detail .plan-inner__title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 212px;
    margin: 0;
    padding: 0;
}
.plan-detail.type_a .plan-inner__title {
    background-color: #B4A477;
}
.plan-detail.type_b .plan-inner__title {
    background-color: #1F2346;
}
.plan-detail .plan-inner__title span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: clamp( 67px, 53.72px + 1.73vw, 87px );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
}
.plan-detail .plan-inner__title .text-l {
    font-size: clamp( 165px, 151.72px + 1.73vw, 185px );
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner__title .text-l--v2 {
    font-size: clamp( 125px, 111.72px + 1.73vw, 145px );
    font-family: "Shippori Mincho", serif;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner__title {
        height: auto;
        padding: 1em 0;
    }
    .plan-detail.type_b .plan-inner__title {
    }
    .plan-detail .plan-inner__title span {
        font-size: calc( 30 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner__title .text-l {
        font-size: calc( 60 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner__title .text-l--v2 {
        font-size: calc( 45 * 100vw / var( --design-width ) );
    }
}



.plan-detail .plan-inner-spec {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 212px;
    margin: 0;
    padding: 0;
    background-color: #F6F5F0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        height: auto;
        padding: 0 calc( 20 * 100vw / var( --design-width ) );
    }
}



.plan-detail .plan-inner-spec__item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0;
    padding: 0 30px;
}
.plan-detail .plan-inner-spec__item .area_wrap {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item {
        width: auto;
        padding: calc( 20 * 100vw / var( --design-width ) ) 0;
    }
}



.plan-detail .plan-inner-spec__item.area {
    border-left: 1px solid #333;
}
.plan-detail .plan-inner-spec__item.plan {
}
.plan-detail .plan-inner-spec__item .caption {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-22 );
    line-height: 1;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item .content {
    position: relative;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.area {
        border-left: none;
    }
    .plan-detail .plan-inner-spec__item.plan {
        border-bottom: 1px solid #333;
    }
    .plan-detail .plan-inner-spec__item .caption {
        width: auto;
        font-size: var( --font-size-16 );
    }
    .plan-detail .plan-inner-spec__item.plan .caption {
        display: none;
    }
    .plan-detail .plan-inner-spec__item .content {
        width: auto;
    }
}



.plan-detail .plan-inner-spec__item.area .content span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-20 );
    line-height: 1;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item.area .content .text-l {
    font-size: clamp( 50px, 23.36px + 3.47vw, 90px );
    font-size: clamp( 25px, 11.72px + 1.73vw, 45px );
}
.plan-detail .plan-inner-spec__item.area .content_balcony {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: calc( 20 * 100vw / var( --design-width ) ) 0 0;
    padding: 0;
    text-align: center;
}
.plan-detail .plan-inner-spec__item.area .content_balcony span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-20 );
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.area .content span {
        font-size: var( --font-size-20 );
    }
    .plan-detail .plan-inner-spec__item.area .content .text-l {
        font-size: calc( 25 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.area .content_balcony {
        margin: calc( 10 * 100vw / var( --design-width ) ) 0 0;
    }
    .plan-detail .plan-inner-spec__item.area .content_balcony span {
        font-size: var( --font-size-16 );
    }
}



.plan-detail .plan-inner-spec__item.plan .content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 span {
    display: inline-block;
    margin: 0;
    padding: 0;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-l {
    font-size: clamp( 64px, 50.72px + 1.73vw, 84px );
    font-size: clamp( 44px, 17.36px + 3.47vw, 84px );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-xl {
    font-size: clamp( 69px, 55.72px + 1.73vw, 89px );
    font-size: clamp( 49px, 22.36px + 3.47vw, 89px );
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-plus {
    font-size: clamp( 30px,16.72px + 1.73vw, 50px );
    font-size: clamp( 30px,16.72px + 1.73vw, 50px );
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_02 {
    position: relative;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-28 );
    font-size: var( --font-size-24 );
    line-height: 1.3;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.plan .content {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 span {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-l {
        font-size: calc( 44 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-xl {
        font-size: calc( 49 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-plus {
        font-size: calc( 30 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_02 {
        font-size: calc( 40 * 100vw / var( --design-width ) );
        font-size: var( --font-size-20 );
        font-size: var( --font-size-11 );
    }
}



.plan-detail .plan-inner-floor_plan {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-detail .plan-inner-floor_plan__lead {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 110px 0 45px;
    color: #333;
    font-size: clamp( 30px, 16.72px + 1.73vw, 50px );
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center;
}
.plan-detail .plan-inner-floor_plan__image {
    position: relative;
    max-width: 1144px;
    width: auto;
    height: calc( 100vh - 110px );
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #ccc;
}
.plan-detail .plan-inner-floor_plan__image picture {
    position: relative;
    width: 100%;
    height: 100%;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-floor_plan {
    }
    .plan-detail .plan-inner-floor_plan__lead {
        padding: calc( 55 * 100vw / var( --design-width ) ) 0 45px;
        font-size: calc( 16 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-floor_plan__image {
        width: 100%;
        max-width: none;
        height: auto;
    }
}



.leaflet-container {
    background-color: #fff!important;
}



.plan-detail .plan-inner-floor_plan__image .leaflet-top, 
.plan-detail .plan-inner-floor_plan__image .leaflet-bottom {
    z-index: 90;
}
.plan-detail .plan-inner-floor_plan__image .leaflet-pane {
    z-index: 80;
}



.plan-inner-floor_plan__legends {
    position: relative;
    width: calc( 100vh - 110px );
    margin: 0 auto;
    padding: min( calc( 30 * 100vw / var( --design-width ) ), 30px ) 0;
}
.plan-inner-floor_plan__legends .title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-20 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-18 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .image {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 min( calc( 30 * 100vw / var( --design-width ) ), 30px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-inner-floor_plan__legends .image .item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 5px;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-18 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .image .item .icon {
    position: relative;
    display: inline-block;
    width: 40px;
    aspect-ratio: 25 / 7;
    margin: 0;
    padding: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.plan-inner-floor_plan__legends .image .item.storage .icon {
    background-image: url( '../img/common/icon_storage.png' );
}
.plan-inner-floor_plan__legends .image .item.floor_heating .icon {
    background-image: url( '../img/common/icon_floor_heating.png' );
}
.plan-inner-floor_plan__legends .image .item.daylighting .icon {
    background-image: url( '../img/common/icon_daylighting.png' );
}
.plan-inner-floor_plan__legends .image .item.ventilation .icon {
    background-image: url( '../img/common/icon_ventilation.png' );
}
@media screen and ( max-width: 768px ) {
    .plan-inner-floor_plan__legends {
        width: 100%;
        padding: calc( 20 * 100vw / var( --design-width ) ) 0;
    }
    .plan-inner-floor_plan__legends .title {
        font-size: var( --font-size-16 );
    }
    .plan-inner-floor_plan__legends .text {
        font-size: var( --font-size-14 );
    }
    .plan-inner-floor_plan__legends .image {
        flex-wrap: wrap;
        gap: 0 min( calc( 20 * 100vw / var( --design-width ) ), 30px );
    }
    .plan-inner-floor_plan__legends .image .item {
        gap: 0 5px;
        font-size: var( --font-size-14 );
    }
    .plan-inner-floor_plan__legends .image .item .icon {
        width: 30px;
    }
    .plan-inner-floor_plan__legends .image .item.storage .icon {
    }
    .plan-inner-floor_plan__legends .image .item.floor_heating .icon {
    }
    .plan-inner-floor_plan__legends .image .item.daylighting .icon {
    }
    .plan-inner-floor_plan__legends .image .item.ventilation .icon {
    }
}



/* ==============================

plan_detail-inner-list-item-merit_box
( index.php の plan_detail-inner-list-item-merit_box をここに移植 )

============================== */
.plan_detail-inner-list-item-merit_box {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( calc( 100 * 100vw / var( --design-width ) ), 100px ) 0;
    width: 100%;
    max-width: 1066px;
    margin: 0 auto;
    padding: min( calc( 200 * 100vw / var( --design-width ) ), 200px ) 0;
    border-bottom: 1px solid #707070;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box {
        gap: calc( 50 * 100vw / var( --design-width ) ) 0;
        max-width: none;
        margin: 0;
        padding: calc( 100 * 100vw / var( --design-width ) ) 0;
    }
}



/* plan-detail( a-type/c-type )では凡例のすぐ下に続くため、上余白を45pxに固定 */
.plan-detail .plan_detail-inner-list-item-merit_box {
    padding-top: 45px;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan_detail-inner-list-item-merit_box {
        padding-top: 45px;
    }
}



/* plan-detail( a-type/c-type )では、タイトル→PLANNINGの間だけ45pxに個別調整するため、
   flexのgap一括指定をやめて各要素にmargin-topを設定する */
.plan-detail .plan_detail-inner-list-item-merit_box {
    gap: 0;
}
.plan-detail .plan_detail-inner-list-item-merit_box-merit {
    margin-top: min( calc( 100 * 100vw / var( --design-width ) ), 100px );
}
.plan-detail .plan_detail-inner-list-item-merit_box-merit.merit_planning {
    margin-top: 45px;
}
.plan-detail .plan_detail-inner-list-item-merit_box-banner {
    margin-top: min( calc( 100 * 100vw / var( --design-width ) ), 100px );
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan_detail-inner-list-item-merit_box {
        gap: 0;
    }
    .plan-detail .plan_detail-inner-list-item-merit_box-merit {
        margin-top: calc( 50 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan_detail-inner-list-item-merit_box-merit.merit_planning {
        margin-top: 45px;
    }
    .plan-detail .plan_detail-inner-list-item-merit_box-banner {
        margin-top: calc( 50 * 100vw / var( --design-width ) );
    }
}



/* ==============================

view
( index.php の view セクションを .plan-index → .plan-detail に付け替えて移植。
  ここでは West Side ( content_01 ) のみ使用 )

============================== */
.plan-detail .l-section.view {
    padding-top: 110px;
    padding: 40px 0;
    background-color: #262626;
}
.plan-detail .view-inner {
}
@media screen and ( max-width: 768px ) {
    .plan-detail .l-section.view {
        padding-top: calc( 60 * 100vw / var( --design-width ) );
        padding: calc( 25 * 100vw / var( --design-width ) ) 0;
    }
    .plan-detail .view-inner {
    }
}



.plan-detail .view-inner .l-section-title {
    margin: 0 0 20px;
    color: rgba( 255, 255, 255, 0.4 );
    font-size: min( calc( 64 * 100vw / var( --design-width ) ), 64px );
    text-align: center;
}
.plan-detail .view-inner .l-section-lead {
    margin: 0;
    color: #fff;
    font-size: min( calc( 24 * 100vw / var( --design-width ) ), 24px );
}
.plan-detail .view-inner.l-inner--pading_x_0 {
    margin-top: 30px;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .view-inner .l-section-title {
        margin: 0 0 15px;
        font-size: calc( 32 * 100vw / var( --design-width ) );
    }
    .plan-detail .view-inner .l-section-lead {
        margin: 0;
        font-size: calc( 12 * 100vw / var( --design-width ) );
    }
    .plan-detail .view-inner.l-inner--pading_x_0 {
        margin-top: 20px;
    }
}



.plan-detail .view-inner-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-detail .view-inner-content.content_01, 
.plan-detail .view-inner-content.content_02 {
    padding: 0;
}
.plan-detail .view-inner-content-image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-detail .view-inner-content-image-caption {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 10 * 100vw / var( --design-width ) ), 90px );
    padding: 0;
    color: rgba( 255, 255, 255, 0.4 );
    font-size: min( calc( 64 * 100vw / var( --design-width ) ), 64px );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
}
.plan-detail .view-inner-content-image picture img {
    width: 100%;
}
.plan-detail .view-inner-content-image figcaption {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --font-size-figcaption );
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .view-inner-content {
    }
    .plan-detail .view-inner-content.content_01, 
    .plan-detail .view-inner-content.content_02 {
        padding: 0;
    }
    .plan-detail .view-inner-content-image {
    }
    .plan-detail .view-inner-content-image-caption {
        margin: 0 0 calc( 30 * 100vw / var( --design-width ) );
        font-size: calc( 32 * 100vw / var( --design-width ) );
    }
    .plan-detail .view-inner-content-image picture img {
    }
    .plan-detail .view-inner-content-image figcaption {
    }
}



.plan_detail-inner-list-item-merit_box-title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan_detail-inner-list-item-merit_box-title::before, 
.plan_detail-inner-list-item-merit_box-title::after {
    content: '';
    position: absolute;
    top: calc( calc( 100% - 1px ) / 2 );
    width: min( calc( 211 * 100vw / var( --design-width ) ), 211px );
    height: 1px;
    margin: 0;
    padding: 0;
    background-color: #707070;
}
.plan_detail-inner-list-item-merit_box-title::before {
    left: 0;
}
.plan_detail-inner-list-item-merit_box-title::after {
    right: 0;
}
.plan_detail-inner-list-item-merit_box-title .text_m {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: min( calc( 37 * 100vw / var( --design-width ) ), 37px );
    line-height: 1;
    letter-spacing: -0.065em;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-title {
    }
    .plan_detail-inner-list-item-merit_box-title::before, 
    .plan_detail-inner-list-item-merit_box-title::after {
        width: 10%;
    }
    .plan_detail-inner-list-item-merit_box-title::before {
    }
    .plan_detail-inner-list-item-merit_box-title::after {
    }
    .plan_detail-inner-list-item-merit_box-title .text_m {
        font-size: calc( 16.5 * 100vw / var( --design-width ) );
    }
}



.plan_detail-inner-list-item-merit_box-merit {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: min( calc( 70 * 100vw / var( --design-width ) ), 70px ) min( calc( 44 * 100vw / var( --design-width ) ), 44px );
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-merit {
        gap: calc( 35 * 100vw / var( --design-width ) ) calc( 22 * 100vw / var( --design-width ) );
    }
}



.plan_detail-inner-list-item-merit_box-merit-title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: min( calc( 25 * 100vw / var( --design-width ) ), 25px ) 0;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan_detail-inner-list-item-merit_box-merit-title .text_en {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #A29270;
    font-family: 'Cormorant', serif;
    font-size: min( calc( 35 * 100vw / var( --design-width ) ), 35px );
    line-height: 1;
    letter-spacing: 0.03em;
    text-align: center;
}
.plan_detail-inner-list-item-merit_box-merit-title .text_jp {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( calc( 45 * 100vw / var( --design-width ) ), 45px );
    line-height: 1;
    letter-spacing: 0.065em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-merit-title {
        gap: calc( 12.5 * 100vw / var( --design-width ) ) 0;
    }
    .plan_detail-inner-list-item-merit_box-merit-title .text_en {
        font-size: calc( 17.5 * 100vw / var( --design-width ) );
    }
    .plan_detail-inner-list-item-merit_box-merit-title .text_jp {
        font-size: calc( 22.5 * 100vw / var( --design-width ) );
    }
}



.plan_detail-inner-list-item-merit_box-merit-item {
    position: relative;
    width: calc( calc( 100% - calc( min( calc( 44 * 100vw / var( --design-width ) ), 44px ) * 2 ) ) / 3 );
    margin: 0;
    padding: 0;
}
.plan_detail-inner-list-item-merit_box-merit-item__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.plan_detail-inner-list-item-merit_box-merit-item__image figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em 0 0;
    font-size: var(--font-size-figcaption);
    line-height: 2;
}
.plan_detail-inner-list-item-merit_box-merit-item__image figcaption.text_left {
    right: auto;
    left: 0;
    padding: 0 0 0 1em;
}
.plan_detail-inner-list-item-merit_box-merit-item__image figcaption.text_white {
    color: #fff;
}
.plan_detail-inner-list-item-merit_box-merit-item__name {
    position: relative;
    width: 100%;
    margin: 0;
    padding: min( calc( 20 * 100vw / var( --design-width ) ), 20px ) 0;
    font-size: min( calc( 28 * 100vw / var( --design-width ) ), 28px );
    line-height: 1;
    letter-spacing: -0.065em;
}
.plan_detail-inner-list-item-merit_box-merit-item__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( calc( 22 * 100vw / var( --design-width ) ), 22px );
    line-height: 1.6;
    letter-spacing: 0;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-merit-item {
        width: 100%;
    }
    .plan_detail-inner-list-item-merit_box-merit-item__image {
    }
    .plan_detail-inner-list-item-merit_box-merit-item__image figcaption {
    }
    .plan_detail-inner-list-item-merit_box-merit-item__image figcaption.text_left {
    }
    .plan_detail-inner-list-item-merit_box-merit-item__image figcaption.text_white {
    }
    .plan_detail-inner-list-item-merit_box-merit-item__name {
        padding: calc( 10 * 100vw / var( --design-width ) ) 0;
        font-size: calc( 14 * 100vw / var( --design-width ) );
    }
    .plan_detail-inner-list-item-merit_box-merit-item__text {
        font-size: calc( 11 * 100vw / var( --design-width ) );
    }
}



.plan_detail-inner-list-item-merit_box-banner {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #202346;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-banner {
        flex-direction: column-reverse;
        align-items: center;
    }
}



.plan_detail-inner-list-item-merit_box-banner-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: min( calc( 16 * 100vw / var( --design-width ) ), 16px ) 0;
    width: 50%;
    margin: 0;
    padding: 0;
}
.plan_detail-inner-list-item-merit_box-banner-content__title {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 0;
    color: #fff;
    font-size: min( calc( 32 * 100vw / var( --design-width ) ), 32px );
    line-height: 1;
    letter-spacing: 0.04em;
}
.plan_detail-inner-list-item-merit_box-banner-content__text {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 0;
    color: #fff;
    font-size: min( calc( 21 * 100vw / var( --design-width ) ), 21px );
    line-height: 1.52;
    letter-spacing: 0.01em;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-banner-content {
        gap: calc( 16 * 100vw / var( --design-width ) ) 0;
        width: 100%;
        padding: calc( 15 * 100vw / var( --design-width ) ) 0;
    }
    .plan_detail-inner-list-item-merit_box-banner-content__title {
        font-size: calc( 16 * 100vw / var( --design-width ) );
    }
    .plan_detail-inner-list-item-merit_box-banner-content__text {
        font-size: calc( 10.5 * 100vw / var( --design-width ) );
    }
}



.plan_detail-inner-list-item-merit_box-banner-image {
    position: relative;
    width: 50%;
    aspect-ratio: 1060 / 348;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.plan_detail-inner-list-item-merit_box-banner-image picture {
    position: relative;
    width: 100%;
    aspect-ratio: 1060 / 348;
    margin: 0;
    padding: 0;
    font-size: 0;
    object-fit: cover;
}
.plan_detail-inner-list-item-merit_box-banner-image picture img {
    width: 100%;
    object-fit: cover;
}
.plan_detail-inner-list-item-merit_box-banner-image figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em 0 0;
    font-size: var(--font-size-figcaption);
    line-height: 2;
}
@media screen and ( max-width: 768px ) {
    .plan_detail-inner-list-item-merit_box-banner-image {
        width: 100%;
    }
    .plan_detail-inner-list-item-merit_box-banner-image picture {
    }
    .plan_detail-inner-list-item-merit_box-banner-image picture img {
    }
    .plan_detail-inner-list-item-merit_box-banner-image figcaption {
    }
}






































