/* CSS Document */





.l-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-image: url( '../img/common/bg/bg_design_02_pc.svg' );
    background-position: top left;
    background-repeat: repeat-y;
    background-size: 100% auto;
    opacity: 1;
}
@media screen and ( max-width: 768px ){
    .l-content::before {
        background-image: url( '../img/common/bg/bg_design_02_sp.svg' );
    }
}










.lu-section {
}
.lu-section-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lu-section-inner-title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.cu-section-inner-title__name {
    position: relative;
    margin-bottom: min( calc( 40 * 100vw / var( --dw ) ), 40px );
    padding: 0;
}
.cu-section-inner-title__lead {
    position: relative;
    margin-bottom: min( calc( 20 * 100vw / var( --dw ) ), 20px );
    padding: 0;
    font-size: var( --fs-l );
    line-height: 2.5;
    letter-spacing: 0.06em;
}
.cu-section-inner-title__text {
    position: relative;
    margin-bottom: min( calc( 20 * 100vw / var( --dw ) ), 20px );
    padding: 0;
    font-size: var( --fs-s );
    line-height: 1.785;
    letter-spacing: 0.06em;
}
.cu-section-inner-title__caption {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0;
}
@media screen and ( max-width: 768px ){
    .lu-section {
    }
    .lu-section-inner {
    }
    .lu-section-inner-title {
    }
    .cu-section-inner-title__name {
        margin-bottom: calc( 40 * 100vw / var( --dw ) );
    }
    .cu-section-inner-title__lead {
        margin-bottom: calc( 20 * 100vw / var( --dw ) );
        font-size: var( --fs-m );
        line-height: 1.875;
        text-align: center;
    }
    .cu-section-inner-title__text {
        margin-bottom: calc( 20 * 100vw / var( --dw ) );
    }
    .cu-section-inner-title__caption {
    }
}









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

.main_visual

======================================== */
.main_visual-inner-fg-title__name {
    width: min( calc( 98.5 * 100vw / var( --dw ) ), 98.5px );
    width: min( calc( 98.5 * 100vw / var( --dw ) ), calc( 98.5px * 1.38 ) );
}
@media screen and ( max-width: 768px ){
    .main_visual-inner-fg-title__name {
        width: calc( 98.5 * 100vw / var( --dw ) );
    }
}










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

.planning

======================================== */
.planning {
}
.planning-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( calc( 100 * 100vw / var( --dw ) ), 100px ) 0;
    width: 100%;
    margin: 0;
    padding: min( calc( 120 * 100vw / var( --dw ) ), 120px ) 0 min( calc( 50 * 100vw / var( --dw ) ), 50px );
}
@media screen and ( max-width: 768px ){
    .planning {
    }
    .planning-inner {
        gap: calc( 40 * 100vw / var( --dw ) ) 0;
        padding: calc( 50 * 100vw / var( --dw ) ) 0 calc( 40 * 100vw / var( --dw ) );
    }
}



.planning-inner-title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}
.planning-inner-title__name {
    width: calc( 158 * 100vw / var( --dw ) );
}
.planning-inner-title__lead {
}
.planning-inner-title__text {
}
.planning-inner-title__caption {
}
@media screen and ( max-width: 768px ){
}



.planning-inner-content {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0 min( calc( 50 * 100vw / var( --dw ) ), 50px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.planning-inner-content.pcObj {
}
.planning-inner-content.spObj {
    display: none;
}
.planning-inner-content-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 280px;
    margin: 0;
    padding: 0;
}
.planning-inner-content-item__title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 3.5em;
    margin: 0 0 min( calc( 20 * 100vw / var( --dw ) ), 20px );
    margin: 0 0 min( calc( 10 * 100vw / var( --dw ) ), 10px );
    padding: 0;
    color: #fff;
    font-size: var( --fs-s );
    line-height: 1.785;
    letter-spacing: 0.06em;
    text-align: center;
    background: linear-gradient( 90deg, #665A46 10%, #44392A 90% );
}
.planning-inner-content-item__text {
    position: relative;
    width: 100%;
    min-height: calc( 5em * 1.785 );
    margin: 0;
    padding: 0;
    font-size: var( --fs-s );
    line-height: 1.785;
    letter-spacing: 0.06em;
}
.planning-inner-content-item__image {
    position: relative;
    width: 100%;
    margin: 0 0 calc( var( --fs-caption ) * 2.5 );
    padding: 0;
}
.item_03 .planning-inner-content-item__image {
    margin: 0 0 calc( var( --fs-caption ) * 1 );
}
.planning-inner-content-item__image.bordered {
    border: 1px solid #333;
}
.planning-inner-content-item__caption {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0;
}
.item_03 .planning-inner-content-item__caption {
    text-align: right;
}
@media screen and ( max-width: 768px ){
    .planning-inner-content {
        gap: calc( 20 * 100vw / var( --dw ) ) 0;
    }
    .planning-inner-content.pcObj {
        display: none;
    }
    .planning-inner-content.spObj {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: calc( 10 * 100vw / var( --dw ) ) 0;
    }
    .planning-inner-content-button {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: calc( 50 * 100vw / var( --dw ) );
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: var( --fs-s );
        line-height: 1.785;
        letter-spacing: 0.06em;
        background: linear-gradient( 90deg, #665A46 10%, #44392A 90% );
    }
    .planning-inner-content-button .link_icon {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 2.5em;
        height: calc( 50 * 100vw / var( --dw ) );
        margin: 0;
        padding: 0;
    }
    .planning-inner-content-item {
        max-width: none;
    }
    .planning-inner-content-item__title {
        min-height: 2em;
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .planning-inner-content-item__text {
        min-height: auto;
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .planning-inner-content-item__image {
    }
    .planning-inner-content-item__image.bordered {
    }
    .planning-inner-content-item__caption {
    }
}



.item_01 .planning-inner-content-item__image figcaption {
    bottom: auto;
    top: 100%;
    color: #333;
    background-color: transparent;
}
@media screen and ( max-width: 768px ){
}



.item_02 .planning-inner-content-item__image {
}
@media screen and ( max-width: 768px ){
    .item_02 .planning-inner-content-item__image {
        margin-bottom: 0;
    }
}










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

.view

======================================== */
.view {
    padding: 0;
}
.view-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 70 * 100vw / var( --dw ) ), 70px );
}
@media screen and ( max-width: 768px ){
    .view {
    }
    .view-inner {
        padding: 0 0 calc( 35 * 100vw / var( --dw ) );
    }
}



.view-inner-title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: min( calc( 100 * 100vw / var( --dw ) ), 100px ) 0;
}
.view-inner-title__name {
    width: calc( 84 * 100vw / var( --dw ) );
}
.c-box--swipe::before {
}
@media screen and ( max-width: 768px ){
    .view-inner-title {
        padding: calc( 50 * 100vw / var( --dw ) ) 0;
    }
    .view-inner-title__name {
        width: calc( 84 * 100vw / var( --dw ) );
    }
    .c-box--swipe::before {
        z-index: 10;
    }
}



.view-inner-image_wrap {
    position: relative;
    width: 100%;
    margin: 0;
    padding: min( calc( 60 * 100vw / var( --dw ) ), 60px ) 0;
}
/* 2026-04-23 削除
.view-inner-image_wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( 90deg, #717071 10%, #251E1C 90% );
    clip-path: polygon( 50% 0, 100% 0, 100% 100%, 50% 100% );
}
*/
.view-inner-image_wrap__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.view-inner-image_wrap__image figure {
}
.view-inner-image_wrap__remark {
    display: none;
}
@media screen and ( max-width: 768px ){
    .view-inner-image_wrap {
        padding: calc( 30 * 100vw / var( --dw ) ) 0;
    }
    /* 2026-04-23 削除
    .view-inner-image_wrap::before {
    }
    */
    .view-inner-image_wrap__image {
    }
    .view-inner-image_wrap__image figure {
    }
    .view-inner-image_wrap__image figure img {
        width: calc( 750 * 100vw / var( --dw ) );
        max-width: none;
        max-height: none;
    }
    .view-inner-image_wrap__image figure figcaption {
        display: none;
    }
    .view-inner-image_wrap__remark.spObj {
        position: absolute;
        bottom: 0;
        right: 0;
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 0 1em;
        color :#fff;
        font-size: var( --fs-caption );
        line-height: 1.2;
        letter-spacing: 0.1em;
        text-align: right;
        background-color: rgba( 0, 0, 0, 0.4 );
        font-feature-settings: 'palt';
    }
}










.t-madori__list {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.t-madori__list-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.t-madori__list-inner-title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: min( calc( 150 * 100vw / var( --dw ) ), 150px ) 0 min( calc( 100 * 100vw / var( --dw ) ), 100px );
}
.t-madori__list-inner-title__name {
    width: calc( 182 * 100vw / var( --dw ) );
}
@media screen and ( max-width: 768px ){
    .t-madori__list {
        max-width: none;
    }
    .t-madori__list-inner {
    }
    .t-madori__list-inner-title {
        padding: calc( 75 * 100vw / var( --dw ) ) 0 calc( 50 * 100vw / var( --dw ) );
    }
    .t-madori__list-inner-title__name {
        width: calc( 182 * 100vw / var( --dw ) );
    }
}



.t-madori__list--mini .t-madori__list__grid__item {
    width: calc(50% - min(0.72vw, 12px));
}
.t-madori__list__grid__head__data {
    background: linear-gradient( 90deg, #717071 10%, #251E1C 90% );
}
.t-madori__list__grid__head__area {
    background-color: #eee;
}
.t-madori__list__grid__img {
    max-height: none;
    background-color: #eee;
}
@media screen and ( max-width: 768px ){
    .t-madori__list--mini .t-madori__list__grid__item {
        width: 100%;
    }
    .t-madori__list__grid__head__data {
    }
    .t-madori__list__grid__head__area {
    }
    .t-madori__list__grid__img {
    }
}










.l-inner.hanrei ul {
    display: flex;
    justify-content: flex-start;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.hanrei_remark {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: min( calc( 20 * 100vw / var(--dw) ), 20px ) 0 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0;
}
@media screen and ( max-width: 768px ){
    .l-inner.hanrei ul {
        justify-content: center;
        max-width: none;
    }
    .hanrei_remark {
        max-width: none;
        margin: 0;
    }
}










.l-inner.bnr {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: min( calc( 100 * 100vw / var( --dw ) ), 100px ) 0 min( calc( 120 * 100vw / var( --dw ) ), 120px );
}
.l-inner.bnr ul {
    justify-content: center;
}
.l-inner.bnr ul li {
    flex-direction: column;
    gap: min( calc( 10 * 100vw / var( --dw ) ), 10px ) 0;
    width: min( calc( 376 * 100vw / var( --dw ) ), 376px );
}
.l-inner.bnr ul li span {
    position: relative;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0;
}
@media screen and ( max-width: 768px ){
    .l-inner.bnr {
        margin: 0;
        padding: calc( 50 * 100vw / var( --dw ) ) 0 calc( 60 * 100vw / var( --dw ) );
    }
    .l-inner.bnr ul {
    }
    .l-inner.bnr ul li {
        gap: calc( 10 * 100vw / var( --dw ) ) 0;
        width: 80%;
        max-width: none;
    }
    .l-inner.bnr ul li span {
    }
}










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

.popup

======================================== */
.plan .popup {
    display: none;
}
.popup .planning-inner-content-item {
    max-width: none;
    padding: calc( 30 * 100vw / var(--dw) );
    box-shadow: 0 0 min(calc(10 * 100vw / var(--dw)), 10px) rgba(0, 0, 0, 0.5);
    border-radius: 10px;
}
@media screen and ( max-width: 768px ){
    .plan .popup {
        position: fixed;
        top: 0;
        left: 0;
        display: none;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100vh;
        background-color: rgba( 0, 0, 0, 0.4 );
        background-color: #fff;
        z-index: 999;
    }
    .plan .popup.is_active {
        display: flex;
    }
    .popup .planning-inner-content-item {
        max-width: none;
        padding: calc( 30 * 100vw / var(--dw) );
        box-shadow: 0 0 min(calc(10 * 100vw / var(--dw)), 10px) rgba(0, 0, 0, 0.5);
        border-radius: 10px;
    }
}



