@charset "utf-8";
/* CSS Document */



:root {
    --main_visual-bg_container-image-margin_bottom: min( calc( 85 * 100vw / 1440 ), 113.05px );
}
@media screen and ( max-width: 768px ) {
    :root {
        --l-inner_default_padding_x: calc( 32 * 100vw / 375 );
        --l-inner_default_padding_x-s: calc( 12 * 100vw / 375 );
    }
}





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

.main_visual

============================== */
.main_visual {
    position: relative;
}
@media screen and ( max-width: 768px ) {
    .main_visual {
    }
}



.main_visual-bg_container {
    position: relative;
    width: 100%;
    max-width: 1920px;
    height: 100vh;
    margin: 0;
    padding: 0;
    background-image: url( '../img/top/main_visual-bg_container-bg_image_pc.webp' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media screen and ( max-width: 768px ) {
    .main_visual-bg_container {
        width: 100%;
        max-width: none;
        height: 100vh;
        margin: 0;
        padding: 0;
        background-image: url( '../img/top/main_visual-bg_container-bg_image_sp.webp' );
    }
}



.main_visual-bg_container-image {
    position: absolute;
    right: 0;
    bottom: calc( var( --main_visual-bg_container-image-margin_bottom ) * -1 ); 
    width: 68.4%;
    margin: 0;
    padding: 0;
}
.main_visual-bg_container-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
}
.main_visual-bg_container-image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.main_visual-bg_container-image picture img {
    width: 100%;
    aspect-ratio: 1970 / 1704;
}
.main_visual-bg_container-image figcaption {
    position: absolute;
    display: inline-block;
    right: 0;
    bottom: var( --main_visual-bg_container-image-margin_bottom ); /* = .main_visual-bg_container-image bottom */
    width: auto;
    margin: 0;
    padding: 0 1em;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
    background-color: rgba( 0, 0, 0, 0.3 );
}
@media screen and ( max-width: 768px ) {
    .main_visual-bg_container-image {
        position: absolute;
        right: 0;
        bottom: 0; 
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .main_visual-bg_container-image figure {
    }
    .main_visual-bg_container-image picture {
    }
    .main_visual-bg_container-image picture img {
        aspect-ratio: 750 / 1334;
    }
    .main_visual-bg_container-image figcaption {
        bottom: 0;
    }
}



.main_visual-fg_container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 31.6%; /* 100% - .main_visual-bg_container-image width */
    height: 100vh;
    margin: 0;
    padding: 0;
}
.main_visual-fg_container-inner {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( max( calc( 115 * 100vw / 1440 ), 115px ), 152.95px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.main_visual-fg_container-inner-text--en {
    position: relative;
    writing-mode: vertical-rl;
    font-size: min( max( calc( 22 * 100vw / 1440 ), 22px ), 29.26px );
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.1em;
}
.main_visual-fg_container-inner-text--jp {
    position: relative;
    writing-mode: vertical-rl;
    font-size: min( max( calc( 35 * 100vw / 1440 ), 35px ), 46.55px );
    line-height: 1.6;
    letter-spacing: 0.5em;
}
@media screen and ( max-width: 768px ) {
    .main_visual-fg_container {
        align-items: flex-start;
        width: 100%;
        padding: calc( 64 * 100vw / 375 ) calc( 32 * 100vw / 375 );
    }
    .main_visual-fg_container-inner {
        gap: calc( 32 * 100vw / 375 );
        padding: 0;
    }
    .main_visual-fg_container-inner-text--en {
        font-size: max( calc( 12 * 100vw / 375 ), 12px );
    }
    .main_visual-fg_container-inner-text--jp {
        font-size: max( calc( 20 * 100vw / 375 ), 20px );
    }
}





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

.point

============================== */
.point {
    margin-top: min( max( calc( 190 * 100vw / 1440 ), 190px ), 252.7px );
}
@media screen and ( max-width: 768px ) {
    .point {
        margin-top: calc( 50 * 100vw / 375 );
    }
}



.point .l-inner.l-content-section-title {
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.point .l-inner.l-content-section-title.pcObj {
    display: block;
}
.point .l-content-section-title-h2 {
    width: auto;
    text-align: center;
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    line-height: 1;
    letter-spacing: 0.1em;
}
.point .l-content-section-title-h2 .asterisk {
    display: inline-block;
    vertical-align: super;
	font-size: 0.65em;
}
.point .l-content-section-title-h2 .text-xl {
    font-size: min( max( calc( 64 * 100vw / 1440 ), 64px ), 85.12px );
    letter-spacing: 0;
}
.point .l-content-section-title-h2 .text-l {
    font-size: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
}
.point .l-content-section-title-h2 .colored {
    color: #B2945B;
}
@media screen and ( max-width: 768px ) {
    .point .l-inner.l-content-section-title {
    }
    .point .l-inner.l-content-section-title.pcObj {
        display: none;
    }
    .point .l-content-section-title-h2 {
    }
    .point .l-content-section-title-h2 .asterisk {
    }
    .point .l-content-section-title-h2 .text-xl {
    }
    .point .l-content-section-title-h2 .text-l {
    }
    .point .l-content-section-title-h2 .colored {
    }
}



.point .l-inner.l-content-section-point_list {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px );
    gap: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px );
    margin-top: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    padding-left: 12.5%;
    padding-right: 2.5%;
}
.point .l-inner.l-content-section-point_list.pcObj {
    display: flex;
}
.point .l-inner.l-content-section-point_list.spObj {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .point .l-inner.l-content-section-point_list {
        flex-direction: column;
        justify-content: flex-start;
        gap: calc( 10 * 100vw / 375 );
        margin-top: calc( 30 * 100vw / 375 );
        /*padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );*/
        padding-left: 3%;
        padding-right: 3%;
    }
    .point .l-inner.l-content-section-point_list.pcObj {
        display: none;
    }
    .point .l-inner.l-content-section-point_list.spObj {
        display: flex;
    }
}



.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: min( max( calc( 64 * 100vw / 1440 ), 64px ), 85.12px );
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item-inner {
    position: relative;
    margin: 0;
    padding: 0;
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item.separator {
    position: relative;
    width: 1px;
    height: min( max( calc( 64 * 100vw / 1440 ), 64px ), 85.12px );
    background-color: rgba( 119, 119, 119, 0.7 );
}

.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .remark {
    font-size: var( --font_size-large );
    line-height: 1;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .content {
    margin-top: calc( min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px ) * -1 );
    font-size: var( --font_size-ex_large );
    line-height: 1;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .remark--ver2 {
    width: 100%;
    margin-top: min( max( calc( 5 * 100vw / 1440 ), 5px ), 6.65px );
    font-size: var( --font_size-large );
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: right;
    font-feature-settings: "palt";
}
.remark--ver2_cap {
    width: 80%;
    max-width: 900px;
    margin: 20px auto;
    font-size: 1.4rem;
}
@media screen and ( max-width: 768px ) {
.remark--ver2_cap {
    font-size: 1.2rem;
}
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-xl {
    font-size: min( max( calc( 42 * 100vw / 1440 ), 42px ), 55.86px );
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-l {
    font-size: min( max( calc( 36 * 100vw / 1440 ), 36px ), 47.88px );
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-remark {
    font-size: var( --font_size-ex_small );
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .asterisk {
    display: inline-block;
    vertical-align: super;
	font-size: 0.7em;
}
.point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .colored {
    color: #B2945B;
}
@media screen and ( max-width: 768px ) {
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: calc( 80 * 100vw / 375 );
        background-color: #f1f1f1;
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item-inner {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        margin: 0;
        padding: 0;
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .remark {
        font-size: var( --font_size-ex_small );
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .content {
        margin-top: 0;
        font-size: var( --font_size-normal );
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item.station .content {
        margin-top: calc( calc( 5 * 100vw / 375 ) * -1 );
        font-size: var( --font_size-normal );
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .remark--ver2 {
        margin-top: calc( 5 * 100vw / 375 );
        font-size: max( calc( 10 * 100vw / 375 ), 10px );
        line-height: 1.5;
        text-align: center;
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-remark {
        font-size: var( --font_size-ex_small );
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-l {
        font-size: calc( 19 * 100vw / 375 );
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-xl {
        font-size: calc( 30 * 100vw / 375 );
        letter-spacing: 0;
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .text-xxl {
        font-size: calc( 34 * 100vw / 375 );
        letter-spacing: 0;
    }
    .point .l-inner.l-content-section-point_list .l-content-section-point_list-each_item .colored {
        color: #B2945B;
    }
}



.point .l-content-section-link a {
    color: #fff;
    background-color: #000;
}
.point .l-content-section-link a span.arrow {
  background-color: #fff;
}
.point .l-content-section-link a span.arrow::before {
  background-color: #fff;
}
@media screen and ( max-width: 768px ) {
    .point .l-content-section-link a {
    }
    .point .l-content-section-link a span.arrow {
    }
    .point .l-content-section-link a span.arrow::before {
    }
}





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

.information

============================== */
.information {
    margin-top: min( max( calc( 190 * 100vw / 1440 ), 190px ), 252.7px );
    margin-top: var( --l-inner_default_padding_x_125 );
}
@media screen and ( max-width: 768px ) {
    .information {
        margin-top: calc( 100 * 100vw / 375 );
    }
}



.information .l-inner.l-content-section-title {
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.information .l-content-section-title-h2 {
    width: auto;
    text-align: center;
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    font-size: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px);
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .information .l-inner.l-content-section-title {
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .information .l-content-section-title-h2 {
        font-size: var( --font_size-ex_large );
    }
}



.information .l-inner.l-content-section-content {
    position: relative;
    width: 100%;
    margin-top: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px );
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.information .l-content-section-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .information .l-inner.l-content-section-content {
        margin: calc( 20 * 100vw / 375 ) 0 0;
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .information .l-content-section-content-inner {
    }
    .information .l-inner.l-content-section-content::after {
        content: '';display: block;
        width: 1px;
        height: calc( 60 * 100vw / 375 );
        margin: calc( 30 * 100vw / 375 ) auto 0;
        padding: 0;
        background-color: #ddd;
    }
}



.information .ttknews ul {
}
.information .ttknews ul li {
    font-size: var( --font_size-large );
}
@media screen and ( max-width: 768px ) {
    .information .ttknews ul {
    }
    .information .ttknews ul li {
        font-size: var( --font_size-normal );
    }
}





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

.entry_area

============================== */
.entry_area {
    margin-top: min( max( calc( 190 * 100vw / 1440 ), 190px ), 252.7px );
    margin-top: var( --l-inner_default_padding_x_125 );
    padding: min( max( calc( 130 * 100vw / 1440 ), 130px ), 172.9px ) 0;
    background-color: rgba( 245, 244, 241, 0.9 );
    border: 1px solid #ddd;
}
@media screen and ( max-width: 768px ) {
    .entry_area {
        width: calc( 100% - calc( var( --l-inner_default_padding_x-s ) * 2 ) );
        margin: calc( 30 * 100vw / 375 ) var( --l-inner_default_padding_x-s ) 0;
        padding: calc( 60 * 100vw / 375 ) 0;
    }
}



.entry_area .l-inner.l-content-section-title {
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.entry_area .l-content-section-title-h2 {
    width: auto;
    text-align: center;
    font-size: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    line-height: 1;
    letter-spacing: 0.2em;
}
@media screen and ( max-width: 768px ) {
    .entry_area .l-inner.l-content-section-title {
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .entry_area .l-content-section-title-h2 {
        font-size: var( --font_size-ex_large );
    }
}



.entry_area .l-inner.l-content-section-content {
    position: relative;
    width: 100%;
    margin-top: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px );
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.entry_area .l-content-section-content__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    line-height: 2.875;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .entry_area .l-inner.l-content-section-content {
        margin-top: calc( 20 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .entry_area .l-content-section-content__text {
        font-size: var( --font_size-ex_small );
        line-height: 1.875;
    }
}


.entry_area .l-content-section-link {
    padding-top: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
}
.entry_area .l-content-section-link a {
    color: #fff;
    background-color: #000;
    border: 1px solid #333;
}
.entry_area .l-content-section-link a span.arrow {
  background-color: #fff;
}
.entry_area .l-content-section-link a span.arrow::before {
  background-color: #fff;
}
@media screen and ( max-width: 768px ) {
    .entry_area .l-content-section-link {
        padding-top: calc( 30 * 100vw / 375 );
    }
    .entry_area .l-content-section-link a {
    }
    .entry_area .l-content-section-link a span.arrow {
    }
    .entry_area .l-content-section-link a span.arrow::before {
    }
}





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

.location

============================== */
.location {
    margin-top: min( max( calc( 240 * 100vw / 1440 ), 240px ), 319.2px );
    margin-top: var( --l-inner_default_padding_x_125 );
}
@media screen and ( max-width: 768px ) {
    .location {
        margin-top: calc( 140 * 100vw / 375 );
    }
}



.location .l-content-section-title-h2 {
    width: min( max( calc( 623 * 100vw / 1440 ), 623px ), 828.59px );
}
@media screen and ( max-width: 768px ) {
    .location .l-content-section-title-h2 {
        width: calc( 313 * 100vw / 375 );
    }
}



.location .l-content-section-lead {
    display: flex;
    justify-content: center;
    align-items: center;
    height: min( max( calc( 620 * 100vw / 1440 ), 620px ), 824.6px );
}
.l-content-section-lead-text {
    position: relative;
    writing-mode: vertical-rl;
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    line-height: 2;
    letter-spacing: 0.7em;
}
@media screen and ( max-width: 768px ) {
    .location .l-content-section-lead {
        height: calc( 390 * 100vw / 375 );
    }
    .l-content-section-lead-text {
        font-size: var( --font_size-normal );
    }
}



.l-content-section-machinami {
    position: relative;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-machinami {
    }
}



.l-content-section-machinami-image {
    position: relative;
}
.l-content-section-machinami-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-machinami-image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-machinami-image picture img {
    width: 100%;
}
.l-content-section-machinami-image figcaption {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    font-size: var( --font_size-image_caption );
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
.l-content-section-machinami-image picture {
    position: relative;
    display: inline-block;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-machinami-image {
    }
    .l-content-section-machinami-image figure {
    }
    .l-content-section-machinami-image picture {
    }
    .l-content-section-machinami-image picture img {
    }
    .l-content-section-machinami-image figcaption {
    }
    .l-content-section-machinami-image picture {
    }
}



.l-inner.machinami_01 {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .l-inner.machinami_01 {
    }
}



.l-inner.machinami_02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: min( max( calc( 150 * 100vw / 1440 ), 150px ), 199.5px );
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.machinami_02 .l-content-section-machinami-text {
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
.machinami_02 .l-content-section-machinami-image {
    width: 39.81%;
    margin: 0;
}
.machinami_02 .l-content-section-machinami-image picture {
    width: 100%;
    aspect-ratio: 860 / 884;
}
.machinami_02 .l-content-section-machinami-image figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    padding-right: 0;
    line-height: 1.5;
}
@media screen and ( max-width: 768px ) {
    .l-inner.machinami_02 {
        flex-wrap: wrap;
        padding-top: calc( 50 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .machinami_02 .l-content-section-machinami-text {
        width: 100%;
        font-size: calc( 13 * 100vw / 375 );
    }
    .machinami_02 .l-content-section-machinami-image {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .machinami_02 .l-content-section-machinami-image figure {
        position: relative;
        display: block;
        width: calc( 165 * 100vw / 375 );
        margin: 0;
        padding: 0;
    }
    .machinami_02 .l-content-section-machinami-image picture {
        width: 100%;
        aspect-ratio: 330 / 320;
    }
    .machinami_02 .l-content-section-machinami-image figcaption {
        position: relative;
        right: auto;
        bottom: auto;
        padding-left: 0;
        text-align: left;
    }
}



.l-inner.machinami_03 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: min( max( calc( 160 * 100vw / 1440 ), 160px ), 212.8px );
    padding-right: 12.5%;
}
.machinami_03 .l-content-section-machinami-text {
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
.machinami_03 .l-content-section-machinami-image {
    width: 57.37%;
    margin: 0;
}
.machinami_03 .l-content-section-machinami-image picture {
    width: 100%;
    aspect-ratio: 140 / 84;
}
@media screen and ( max-width: 768px ) {
    .l-inner.machinami_03 {
        flex-wrap: wrap;
        padding-top: calc( 50 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x-s );
        padding-right: var( --l-inner_default_padding_x );
    }
    .machinami_03 .l-content-section-machinami-text {
        width: 100%;
        margin: 0;
        padding: calc( 30 * 100vw / 375 ) 0 0;
        font-size: calc( 13 * 100vw / 375 );
        text-align: right;
    }
    .machinami_03 .l-content-section-machinami-image {
        width: calc( 260 * 100vw / 375 );
        margin: 0;
    }
    .machinami_03 .l-content-section-machinami-image picture {
        width: 100%;
        aspect-ratio: 140 / 84;
    }
}



.l-inner.machinami_04 {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: min( max( calc( 120 * 100vw / 1440 ), 120px ), 159.6px );
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.machinami_04 .l-content-section-machinami-text {
    padding-top: min( max( calc( 60 * 100vw / 1440 ), 60px ), 79.8px );
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
    text-align: center;
}
.machinami_04 .l-content-section-machinami-image {
    width: 100%;
    margin: 0;
    padding: 0;
}
.machinami_04 .l-content-section-machinami-image figcaption{
    font-size: clamp(9.6px, 0.865vw, 14.4px);
    text-align: left;
    line-height: 1.5em;
}
.machinami_04 .l-content-section-machinami-image picture {
    width: 100%;
    aspect-ratio: 216 / 100;
}
@media screen and ( max-width: 768px ) {
    .l-inner.machinami_04 {
        padding-top: calc( 50 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
    .machinami_04 .l-content-section-machinami-text {
        padding: calc( 30 * 100vw / 375 ) 0 0;
        font-size: calc( 13 * 100vw / 375 );
        text-align: left;
    }
    .machinami_04 .l-content-section-machinami-image {
    }
    .machinami_04 .l-content-section-machinami-image picture {
        aspect-ratio: 622 / 336;
    }
}





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

.design

============================== */
.design {
    margin-top: min( max( calc( 240 * 100vw / 1440 ), 240px ), 319.2px );
    margin-top: var( --l-inner_default_padding_x_125 );
}
@media screen and ( max-width: 768px ) {
    .design {
        margin-top: calc( 140 * 100vw / 375 );
    }
}



.design .l-content-section-title-h2 {
    width: min( max( calc( 433 * 100vw / 1440 ), 433px ), 575.89px );
}
@media screen and ( max-width: 768px ) {
    .design .l-content-section-title-h2 {
        width: calc( 219 * 100vw / 375 );
    }
}



.l-content-section-design {
    position: relative;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-design {
    }
}



.l-content-section-design-image {
    position: relative;
}
.l-content-section-design-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-design-image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.l-content-section-design-image picture img {
    width: 100%;
}
.l-content-section-design-image figcaption {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    font-size: var( --font_size-image_caption );
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
.l-content-section-design-image picture {
    position: relative;
    display: inline-block;
}
@media screen and ( max-width: 768px ) {
    .l-content-section-design-image {
    }
    .l-content-section-design-image figure {
    }
    .l-content-section-design-image picture {
    }
    .l-content-section-design-image picture img {
    }
    .l-content-section-design-image figcaption {
    }
    .l-content-section-design-image picture {
    }
}



.l-inner.design_01 {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
    padding-left: var( --l-inner_default_padding_x_90 );
    padding-right: var( --l-inner_default_padding_x_90 );
}
.design_01 .l-content-section-design-image {
    width: 100%;
    margin: 0;
    padding: 0;
}
.design_01 .l-content-section-design-image picture {
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .l-inner.design_01 {
        padding-top: calc( 50 * 100vw / 375 );
        padding-left: 0;
        padding-right: var( --l-inner_default_padding_x );
    }
    .design_01 .l-content-section-design-image {
    }
    .design_01 .l-content-section-design-image picture {
    }
}



.l-inner.design_02 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: min( max( calc( 160 * 100vw / 1440 ), 160px ), 212.8px );
    padding-left: 0;
    /*padding-right: var( --l-inner_default_padding_x_180 );*/
    padding-right: 8%;
    z-index: 5;
}
.design_02 .l-content-section-design-image {
    width: min( max( calc( 720 * 100vw / 1440 ), 720px ), 957.6px );
    /*margin: 0;*/
    margin: 0 3% 0 0;
}
.design_02 .l-content-section-design-image picture {
    width: 100%;
}
.design_02 .l-content-section-design-text {
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .l-inner.design_02 {
        flex-wrap: wrap;
        padding-top: calc( 20 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x );
        padding-right: 0;
        z-index: 5;
    }
    .design_02 .l-content-section-design-image {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        width: 100%;
    }
    .design_02 .l-content-section-design-image figure {
        width: calc( 240 * 100vw / 375 );
    }
    .design_02 .l-content-section-design-image picture {
    }
    .design_02 .l-content-section-design-text {
        width: 100%;
        padding: calc( 30 * 100vw / 375 ) 0 0;
        font-size: calc( 13 * 100vw / 375 );
    }
}



.l-inner.design_03 {
    width: 100%;
    max-width: none;
    margin-top: calc( min( max( calc( 60 * 100vw / 1440 ), 60px ), 79.8px ) * -1 );
    margin-top: var( --l-inner_default_padding_x_90 );
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
.design_03 .l-content-section-design-image {
    width: 100%;
    margin: 0;
}
.design_03 .l-content-section-design-image picture {
    width: 100%;
}
@media screen and ( max-width: 768px ) {
    .l-inner.design_03 {
        margin-top: calc( calc( 60 * 100vw / 375 ) * -1 );
        margin-top: var( --l-inner_default_padding_x_32 );
    }
    .design_03 .l-content-section-design-image {
    }
    .design_03 .l-content-section-design-image picture {
    }
}





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

.plan

============================== */
.plan {
    margin-top: min( max( calc( 240 * 100vw / 1440 ), 240px ), 319.2px );
    margin-top: var( --l-inner_default_padding_x_125 );
}
@media screen and ( max-width: 768px ) {
    .plan {
        margin-top: calc( 140 * 100vw / 375 );
    }
}



.plan .l-content-section-title-h2 {
    width: min( max( calc( 310 * 100vw / 1440 ), 310px ), 412.3px );
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-title-h2 {
        width: calc( 157 * 100vw / 375 );
    }
}



.plan .l-content-section-lead {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: none;
    padding-top: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
    padding-left: 12.5%;
    padding-right: 12.5%;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-lead {
        flex-wrap: wrap;
        padding-top: calc( 50 * 100vw / 375 );
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
}



.plan .l-content-section-lead__text {
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
.plan .l-content-section-lead__image {
    position: relative;
    width: min( max( calc( 650 * 100vw / 1440 ), 650px ), 864.5px );
    margin: 0;
    padding: 0;
}
.plan .l-content-section-lead__image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan .l-content-section-lead__image picture {
    position: relative;
    display: inline-block;
    width: 100%;
}
.plan .l-content-section-lead__image picture img {
    width: 100%;
}
.plan .l-content-section-lead__image figcaption {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    font-size: var( --font_size-image_caption );
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-lead__text {
        width: 100%;
        font-size: calc( 13 * 100vw / 375 );
    }
    .plan .l-content-section-lead__image {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        width: 100%;
        padding-top: calc( 50 * 100vw / 375 );
    }
    .plan .l-content-section-lead__image figure {
        width: calc( 260 * 100vw / 375 );
    }
    .plan .l-content-section-lead__image picture {
    }
    .plan .l-content-section-lead__image picture img {
    }
    .plan .l-content-section-lead__image figcaption {
    }
}



.plan .l-content-section-list {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px ) 0 0;
}
.plan .l-content-section-list-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: min( max( calc( 20 * 100vw / 1440 ), 20px ), 26.6px );
    width: 100%;
    margin: 0;
    padding: 0 12.5%;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list {
        padding: calc( 50 * 100vw / 375 ) var( --l-inner_default_padding_x ) 0;
    }
    .plan .l-content-section-list-inner {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: var( --l-inner_default_padding_x );
        width: calc( calc( calc( 210 * 100vw / 375 ) * 3 ) + calc( var( --l-inner_default_padding_x ) * 2 ) ); /* 個数により変動　*/
        width: auto;
        padding: 0 var( --l-inner_default_padding_x ) calc( 20 * 100vw / 375 ) 0;
        overflow-x: auto;
    }
    .plan .l-content-section-list::after {
        content: "\f060　スワイプ　\f061";
        font-family: "Font Awesome 6 Pro", "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
        font-size: clamp(11.2px, 3.733vw, 16.8px);
        color: #fff;
        display: -ms-grid;
        display: grid;
        place-content: center;
        width: min(40vw, 180px);
        height: min(13.333vw, 60px);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background-color: #333;
        border-radius: min(8vw, 36px);
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
        z-index: 10;
    }
    .plan .l-content-section-list.is_active::after {
        opacity: 1;
        -webkit-animation: planSwipeAnime 3s ease-in-out 0.5s forwards;
                animation: planSwipeAnime 3s ease-in-out 0.5s forwards;
    }
}
@-webkit-keyframes planSwipeAnime {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  30% {
    -webkit-transform: translateX(-8%);
            transform: translateX(-8%);
  }
  60% {
    -webkit-transform: translateX(8%);
            transform: translateX(8%);
  }
  90% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes planSwipeAnime {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  30% {
    -webkit-transform: translateX(-8%);
            transform: translateX(-8%);
  }
  60% {
    -webkit-transform: translateX(8%);
            transform: translateX(8%);
  }
  90% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}



.plan .l-content-section-list .plan-list-each_item {
    position: relative;
    width: 100%;
    margin: 0;
    padding: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
    border: 1px solid #ddd;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item {
        width: calc( 210 * 100vw / 375 );
        min-height: calc( 295 * 100vw / 375 );
        padding: calc( 20 * 100vw / 375 );
    }
    .plan .l-content-section-list .plan-list-each_item:nth-of-type(2n) {
        margin-top: calc( 20 * 100vw / 375 );
    }
}



.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__name {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__name {
        font-size: var( --font_size-ex_small );
    }
}



.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__plan {
    position: relative;
    width: 100%;
    margin: min( max( calc( 15 * 100vw / 1440 ), 15px ), 19.95px ) 0 0;
    padding: 0;
    font-size: min( max( calc( 23 * 100vw / 1440 ), 23px ), 30.59px );
    color: #333;
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__plan {
        margin: calc( 10 * 100vw / 375 ) 0 0;
        font-size: var( --font_size-normal );
    }
}



.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area {
    position: relative;
    width: 100%;
    margin: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px ) 0 0;
    padding: 0;
    font-size: var( --font_size-small );
    color: #333;
    line-height: 1;
    letter-spacing: 0.1em;
}
.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area .text-xl {
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
}
.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area .text-l {
    font-size: var( --font_size-ex_large );
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area {
        margin: calc( 10 * 100vw / 375 ) 0 0;
        font-size: var( --font_size-ex_small );
    }
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area .text-xl {
        font-size: var( --font_size-normal );
    }
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__area .text-l {
        font-size: var( --font_size-ex_small );
    }
}



.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__remark {
    position: relative;
    width: 100%;
    margin: min( max( calc( 5 * 100vw / 1440 ), 5px ), 6.65px ) 0 0;
    padding: 0;
    font-size: min( max( calc( 13 * 100vw / 1440 ), 13px ), 17.26px );
    color: #333;
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__remark {
        margin: calc( 5 * 100vw / 375 ) 0 0;
        font-size: var( --font_size-ex_small );
        line-height: 1.5;
    }
}



.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px );
}
.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image picture img {
    width: 100%;
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image {
        width: calc( calc( 210 * 100vw / 375 ) - calc( calc( 20 * 100vw / 375 ) * 2 ) );
        padding: calc( 10 * 100vw / 375 );
    }
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image picture {
        width: 100%;
    }
    .plan .l-content-section-list .plan-list-each_item .plan-list-each_item__image picture img {
        width: 100%;
    }
}



.plan .l-inner.l-content-section-legend {
    margin: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px ) 0 0;
    padding-left: 12.5%;
    padding-right: 12.5%;
}
@media screen and ( max-width: 768px ) {
    .plan .l-inner.l-content-section-legend {
        margin: calc( 20 * 100vw / 375 ) 0 0;
        padding-left: var( --l-inner_default_padding_x );
        padding-right: var( --l-inner_default_padding_x );
    }
}



.plan .l-inner.l-content-section-legend .l-content-section-legend_item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 10 * 100vw / 1440 ), 10px ), 13.3px );
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item {
        gap: calc( 5 * 100vw / 375 ) calc( 10 * 100vw / 375 );
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item.text_item {
        flex-wrap: wrap;
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item:nth-of-type(n+2) {
        margin-top: calc( 5 * 100vw / 375 );
    }
}



.plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 5 * 100vw / 1440 ), 5px ), 6.65px );
}
.plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend span {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 1.5em;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-small );
    line-height: 1;
}
.plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-storage {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 11px;
    background-image: url( '../img/top/legend-storage.svg' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-wind {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 4px;
    background-image: url( '../img/top/legend-wind.svg' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-light {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 6px;
    background-image: url( '../img/top/legend-light.svg' );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media screen and ( max-width: 768px ) {
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend {
        gap: calc( 5 * 100vw / 375 );
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend span {
        font-size: var( --font_size-ex_small );
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-storage {
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-wind {
    }
    .plan .l-inner.l-content-section-legend .l-content-section-legend_item .legend .legend-light {
    }
}





.plan .l-content-section-link {
    padding-bottom: min( max( calc( 80 * 100vw / 1440 ), 80px ), 106.4px );
}
@media screen and ( max-width: 768px ) {
    .plan .l-content-section-link {
        padding-bottom: calc( 40 * 100vw / 375 );
    }
}



