/* CSS Document */





.l-header {
    z-index: 9999;
}











.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 {
    position: relative;
    padding: min( calc( 200 * 100vw / var( --dw ) ), 200px ) 0;
}
.lu-section-inner {
    position: relative;
    width: 100%;
    max-width: var( --dw-px );
    margin: 0 auto;
    padding: 0;
}
.lu-section-inner-title {
    position: relative;
    margin: 0;
    padding: 0;
}
.lu-section-inner-title-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 0 min( calc( 224 * 100vw / var( --dw ) ), 224px );
}
.cu-section-inner-title-inner__name {
    position: relative;
    margin-bottom: min( calc( 65 * 100vw / var( --dw ) ), 65px );
    padding: 0;
}
.cu-section-inner-title-inner__lead {
    position: relative;
    margin-bottom: min( calc( 60 * 100vw / var( --dw ) ), 60px );
    padding: 0;
    font-size: var( --fs-l );
    line-height: 2.5;
    letter-spacing: 0em;
}
.cu-section-inner-title-inner__text {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: var( --fs-m );
    line-height: 2.5;
    letter-spacing: 0.06em;
}
.cu-section-inner-title-inner__caption {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0;
}
.lu-section-inner-content {
    position: relative;
    margin: 0;
    padding: 0;
}
.lu-section-inner-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .lu-section {
        padding: calc( 50 * 100vw / var( --dw ) ) 0;
    }
    .lu-section-inner {
        max-width: none;
    }
    .lu-section-inner-title {
    }
    .lu-section-inner-title-inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0;
    }
    .cu-section-inner-title-inner__name {
        margin-bottom: calc( 15 * 100vw / var( --dw ) );
    }
    .cu-section-inner-title-inner__lead {
        margin-bottom: calc( 15 * 100vw / var( --dw ) );
        font-size: var( --fs-m );
        line-height: 1.875;
        text-align: center;
    }
    .cu-section-inner-title-inner__text {
        margin-bottom: calc( 15 * 100vw / var( --dw ) );
        line-height: 1.78;
    }
    .cu-section-inner-title-inner__caption {
    }
}










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

.main_visual

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










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

.map

======================================== */
.map {
    padding: min( calc( 100 * 100vw / var( --dw ) ), 100px ) 0 min( calc( 200 * 100vw / var( --dw ) ), 200px );
}
.map::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    opacity: 0.2;
}
@media screen and ( max-width: 768px ){
    .map {
        padding: calc( 50 * 100vw / var( --dw ) ) 0;
    }
    .map::before {
    }
}



.map-inner {
    max-width: min( calc( 1188 * 100vw / var( --dw ) ), 1188px );
    margin: 0 auto;
}
@media screen and ( max-width: 768px ){
    .map-inner {
        max-width: none;
    }
}



.map-inner-title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 35 * 100vw / var( --dw ) ), 35px );
    padding: min( calc( 57 * 100vw / var( --dw ) ), 57px ) 0 0;
    font-size: var( --fs-30 );
    line-height: 1;
    border-top: 1px solid #999;
}
@media screen and ( max-width: 768px ){
    .map-inner-title {
        max-width: calc( 335 * 100vw / var( --dw ) );
        margin: 0 auto calc( 40 * 100vw / var( --dw ) );
        padding: calc( 10 * 100vw / var( --dw ) ) 0 0;
        font-size: var( --fs-24 );
    }
}



.map-inner-content {
    position: relative;
    width: min( calc( 800 * 100vw / var( --dw ) ), 800px );
    margin: 0 auto min( calc( 35 * 100vw / var( --dw ) ), 35px );
    padding: 0;
}
/* 2026-04-23 削除
.map-inner-content::before {
    content: '';
    position: absolute;
    top: calc( min( calc( 35 * 100vw / var( --dw ) ), 35px ) * -1 );
    right: calc( min( calc( 35 * 100vw / var( --dw ) ), 35px ) * -1 );
    display: block;
    width: 100%;
    height: min( calc( 450 * 100vw / var( --dw ) ), 450px );
    margin: 0;
    padding: 0;
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    clip-path: polygon( 15% 0, 100% 0, 100% 100%, 15% 100% );
}
*/
.map-inner-content__image {
    position: relative;
    width: min( calc( 800 * 100vw / var( --dw ) ), 800px );
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .map-inner-content {
        position: relative;
        width: calc( 335 * 100vw / var( --dw ) );
        margin: 0 auto calc( 35 * 100vw / var( --dw ) );
        padding: 0;
    }
/* 2026-04-23 削除
    .map-inner-content::before {
        content: '';
        position: absolute;
        top: auto;
        bottom: calc( min( calc( 30 * 100vw / var( --dw ) ), 30px ) * -1 );
        right: calc( min( calc( 20 * 100vw / var( --dw ) ), 20px ) * -1 );
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
        clip-path: polygon( 15% 15%, 100% 15%, 100% 100%, 15% 100% );
    }
*/
    .map-inner-content__image {
        position: relative;
        width: calc( 335 * 100vw / var( --dw ) );
        margin: 0;
        padding: 0;
    }
}



.leaflet-left {
    right: 40px;
}
.map-inner-content__legend {
    position: absolute;
    bottom: 40px;
    left: 40px;
    width: 150px;
    margin: 0;
    padding: 0;
    z-index: 1000;
}
.map-inner-content__compass {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 55px;
    margin: 0;
    padding: 0;
    z-index: 1000;
}
@media screen and ( max-width: 768px ){
    .leaflet-left {
        bottom: 20px;
        right: 20px;
    }
    .map-inner-content__legend {
        position: absolute;
        bottom: 20px;
        left: 20px;
        width: 150px;
        margin: 0;
        padding: 0;
        z-index: 1000;
    }
    .map-inner-content__compass {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 27.5px;
        margin: 0;
        padding: 0;
        z-index: 1000;
    }
}



.map-inner-link {
    position: relative;
    width: min( calc( 800 * 100vw / var( --dw ) ), 800px );
    margin: 0 auto min( calc( 35 * 100vw / var( --dw ) ), 35px );
    padding: 0;
}
.map-inner-link-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.map-inner-link-inner__link {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.map-inner-link-inner__link a {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: var( --fs-s );
    line-height: 2;
    letter-spacing: 0.06em;
    text-decoration: underline;
    text-underline-offset: 0.3em;
}
.map-inner-link-inner__remark {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --fs-caption );
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    line-height: 2;
    letter-spacing: 0.06em;
}
@media screen and ( max-width: 768px ){
    .map-inner-link {
        position: relative;
        width: calc( 335 * 100vw / var( --dw ) );
        margin: 0 auto;
        padding: 0;
    }
    .map-inner-link-inner {
    }
    .map-inner-link-inner__link {
    }
    .map-inner-link-inner__link a {
    }
    .map-inner-link-inner__remark {
    }
}










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

.catchcopy

======================================== */
.catchcopy {
    padding: 0 0 min( calc( 200 * 100vw / var( --dw ) ), 200px );
}
@media screen and ( max-width: 768px ){
    .catchcopy {
        padding: 0 0 calc( 100 * 100vw / var( --dw ) );
    }
}



.catchcopy-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: none;
}
@media screen and ( max-width: 768px ){
    .catchcopy-inner {
    }
}



.catchcopy-inner-title {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    height: min( calc( 670 * 100vw / var( --dw ) ), 924.6px ); /* 670 * 1.38 = 924.6 */
    margin-bottom: 0;
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    /*
    clip-path: polygon( 0 0, 50% 0, 50% 100%, 0 100% );
    */
}
.catchcopy-inner-title::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;
    mix-blend-mode: screen;
    opacity: 0.2;
}
.catchcopy-inner-title-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding-left: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    padding-right: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
}
.catchcopy-inner-title-inner__name {
    margin-bottom: 0;
    color: #fff;
    font-size: var( --fs-36 );
    line-height: 1.5;
    letter-spacing: 0.06em;
    font-feature-settings: "palt";
}
.catchcopy-inner-title-inner__name sup {
    font-size: var( --fs-xl );
}
.catchcopy-inner-title__lead {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    margin-bottom: 0;
    padding-left: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
    padding-right: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    background-color: #fff;
    font-feature-settings: "palt";
}
@media screen and ( max-width: 768px ){
    .catchcopy-inner-title {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        width: 100%;
        height: auto;
        margin-bottom: calc( 40 * 100vw / var( --dw ) );
        background: unset;
    }
    .catchcopy-inner-title::before {
        content: none;
    }
    .catchcopy-inner-title-inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }
    .catchcopy-inner-title-inner__name {
        width: 100%;
        margin: 0;
        padding: calc( 50 * 100vw / var( --dw ) ) calc( 37.5 * 100vw / var( --dw ) ) calc( 30 * 100vw / var( --dw ) );
        font-size: var( --fs-24 );
        background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    }
    .catchcopy-inner-title-inner__name sup {
        font-size: var( --fs-m );
    }
    .catchcopy-inner-title-inner__name::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_sp.svg' );
        background-position: top left;
        background-repeat: repeat-y;
        background-size: 100% auto;
        mix-blend-mode: screen;
        opacity: 0.2;
    }
    .catchcopy-inner-title-inner__name::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: calc( 30 * 100vw / var( --dw ) );
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #fff;
    }
    .catchcopy-inner-title__lead {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: calc( 30 * 100vw / var( --dw ) ) calc( 37.5 * 100vw / var( --dw ) ) calc( 40 * 100vw / var( --dw ) );
        color: #333;
        text-align: left;
        background-color: transparent;
    }
}



.catchcopy-inner-content {
    position: relative;
    width: 100%;
    margin: calc( min( calc( 188 * 100vw / var( --dw ) ), 259.44px ) * -1 ) 0 0; /* 188 * 1.38 = 259.44 */
    padding: 0 min( calc( 224 * 100vw / var( --dw ) ), 309.2px );
}
.catchcopy-inner-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.catchcopy-inner-content-inner__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.catchcopy-inner-content-inner__image figcaption {
    bottom: auto;
    top: 100%;
    color: #333;
    background-color: transparent
}
@media screen and ( max-width: 768px ){
    .catchcopy-inner-content {
        position: relative;
        width: 100%;
        max-width: calc( 355 * 100vw / var( --dw ) );
        margin: 0 auto;
        padding: 0;
    }
    .catchcopy-inner-content-inner {
    }
    .catchcopy-inner-content-inner__image {
    }
    .catchcopy-inner-content-inner__image figcaption {
    }
}





















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

.train

======================================== */
.train {
    padding: 0 0 min( calc( 200 * 100vw / var( --dw ) ), 200px );
}
@media screen and ( max-width: 768px ){
    .train {
        padding: 0 0 calc( 100 * 100vw / var( --dw ) );
    }
}



.train-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: none;
}
@media screen and ( max-width: 768px ){
    .train-inner {
    }
}



.train-inner-title {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    height: min( calc( 400 * 100vw / var( --dw ) ), 552px ); /* 400 * 1.38 = 552 */
    margin-bottom: min( calc( 150 * 100vw / var( --dw ) ), 150px );
}
.train-inner-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    clip-path: polygon( 45% 0, 100% 0, 100% 100%, 45% 100% );
}
.train-inner-title-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding-left: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    padding-right: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
}
.train-inner-title-inner__name {
    width: min( calc( 90 * 100vw / var( --dw ) ), 90px );
    margin-bottom: 0;
    /* */
    width: min( calc( 122.5 * 100vw / var( --dw ) ), 169.05px );
}
.train-inner-title__lead {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    margin-bottom: 0;
    padding-left: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
    padding-right: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    color: #fff;
    /* */
    justify-content: flex-start;
}
.train-inner-title__lead.spObj {
    display: none;
}
@media screen and ( max-width: 768px ){
    .train-inner-title {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        width: 100%;
        height: auto;
        margin-bottom: calc( 40 * 100vw / var( --dw ) );
    }
    .train-inner-title::before {
        content: none;
    }
    .train-inner-title-inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    }
    .train-inner-title-inner::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_sp.svg' );
        background-position: top left;
        background-repeat: repeat-y;
        background-size: 100% auto;
        mix-blend-mode: screen;
        opacity: 0.2;
    }
    .train-inner-title-inner::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: calc( 30 * 100vw / var( --dw ) );
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #fff;
    }
    .train-inner-title-inner__name {
        width: 100%;
        margin: 0;
        padding: calc( 50 * 100vw / var( --dw ) ) calc( 37.5 * 100vw / var( --dw ) ) calc( 30 * 100vw / var( --dw ) );
        font-size: var( --fs-24 );
    }
    .train-inner-title-inner__name::before {
        content: none;
    }
    .train-inner-title-inner__name::after {
        content: none;
    }
    .train-inner-title-inner__name figure {
        width: calc( 98 * 100vw / var( --dw ) );
    }
    .train-inner-title__lead.spObj {
        display: flex;
        justify-content: flex-start;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 calc( 37.5 * 100vw / var( --dw ) ) calc( 40 * 100vw / var( --dw ) );
        color: #fff;
        text-align: left;
    }
    .train-inner-title__lead.pcObj {
        display: none;
    }
}



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



.train-inner-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .train-inner-content-inner {
    }
}



.train-inner-content-inner__title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 37 * 100vw / var( --dw ) ), 37px );
    padding: 0 0 min( calc( 25 * 100vw / var( --dw ) ), 25px );
    font-size: var( --fs-l );
    line-height: 1.71;
    letter-spacing: 0.06em;
    border-bottom: 1px solid rgba( 205, 205, 205, 0.8 );
}
@media screen and ( max-width: 768px ){
    .train-inner-content-inner__title {
        margin: 0 0 calc( 18.5 * 100vw / var( --dw ) );
        padding: 0 0 calc( 12.5 * 100vw / var( --dw ) );
        font-size: var( --fs-s );
    }
}



.train-inner-content-inner-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: min( calc( 37 * 100vw / var( --dw ) ), 37px ) 0;
    width: 100%;
    margin: 0;
    padding: 0;
}
.train-inner-content-inner-list-item {
    position: relative;
    width: 50%;
    margin: 0;
    padding: 0;
}
.train-inner-content-inner-list-item__text {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 10 * 100vw / var( --dw ) ), 10px );
    padding: 0;
    font-size: var( --fs-28 );
    line-height: 1;
    letter-spacing: 0.06em;
}
.train-inner-content-inner-list-item__remark {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.25;
    letter-spacing: 0.06em;
}
.train-inner-content-inner .text_large {
    font-size: var( --fs-44 );
}
.train-inner-content-inner .text_small {
    font-size: var( --fs-caption );
}
@media screen and ( max-width: 768px ){
    .train-inner-content-inner-list {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: calc( 18.5 * 100vw / var( --dw ) ) 0;
        width: 100%;
        margin: 0;
        padding: 0 calc( 10 * 100vw / var( --dw ) );
    }
    .train-inner-content-inner-list-item {
        width: 100%;
    }
    .train-inner-content-inner-list-item__text {
        margin: 0 0 calc( 10 * 100vw / var( --dw ) );
        font-size: var( --fs-xxl );
    }
    .train-inner-content-inner-list-item__remark {
        font-size: var( --fs-caption );
    }
    .train-inner-content-inner .text_large {
        font-size: var( --fs-36 );
    }
    .train-inner-content-inner .text_small {
        font-size: var( --fs-caption );
    }
}



.train-inner-route_map {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 180 * 100vw / var( --dw ) ), 180px );
    padding: 0 min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
}
.train-inner-route_map-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.train-inner-route_map-inner__image {
    position: relative;
    width: 100%;
    width: 80%;
    margin: 0 auto;
    padding: 0;
}
.train-inner-route_map-inner__image figure figcaption {
    bottom: auto;
    top: 100%;
    color: #111;
    background-color: transparent;
}
@media screen and ( max-width: 768px ){
    .train-inner-route_map {
        width: 100%;
        margin: 0 0 calc( 90 * 100vw / var( --dw ) );
        padding: 0 calc( 20 * 100vw / var( --dw ) );
    }
    .train-inner-route_map-inner {
    }
    .train-inner-route_map-inner__image {
        width: 100%;
        height: calc( 375 * 100vw / var( --dw ) ) !important;
    }
    .c-box--swipe {
        width: 100%;
        height: calc( 375 * 100vw / var( --dw ) ) !important;
    }
    .c-box--swipe.is-active::before {
        z-index: 5;
    }
    .train-inner-route_map-inner__image figure {
        width: calc( 477.5 * 100vw / var( --dw ) ) !important;
        height: calc( 375 * 100vw / var( --dw ) ) !important;
    }
    .train-inner-route_map-inner__image picture {
        width: calc( 477.5 * 100vw / var( --dw ) ) !important;
        height: calc( 375 * 100vw / var( --dw ) ) !important;
    }
    .train-inner-route_map-inner__image img {
        width: 100%;
        aspect-ratio: 191 / 150;
        max-width: none;
        max-height: none;
    }
    .train-inner-route_map-inner__image figure figcaption {
        bottom: 0;
        top: auto;
        color: #111;
        background-color: transparent;
    }
}



.train-inner-time_required {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.train-inner-time_required-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.train-inner-time_required-inner__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.train-inner-time_required-inner__image figcaption {
    bottom: auto;
    top: 100%;
    color: #333;
    background-color: transparent
}
@media screen and ( max-width: 768px ){
    .train-inner-time_required {
    }
    .train-inner-time_required-inner {
    }
    .train-inner-time_required-inner__image {
    }
    .train-inner-time_required-inner__image figcaption {
    }
}



.train-inner-remark {
    position: relative;
    width: min( calc( 940 * 100vw / var( --dw ) ), 940px );
    margin: min( calc( 120 * 100vw / var( --dw ) ), 120px ) auto 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0.06em;
}
@media screen and ( max-width: 768px ){
    .train-inner-remark {
        width: 100%;
        margin: calc( 90 * 100vw / var(--dw) ) 0 0;
        padding: 0 calc( 20 * 100vw / var(--dw) );
    }
}







.l-inner--v2 {
}
.t-access__search {
    background-color: transparent;
}
.t-access__search::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
    opacity: 0.2;
    z-index: 1;
}
.t-access__search form {
    position: relative;
    z-index: 2;
}
@media screen and ( max-width: 768px ){
    .l-inner--v2 {
        padding-left: 0;
        padding-right: 0;
    }
    .t-access__search {
        margin-bottom: 0;
    }
    .t-access__search::before {
    }
}

















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

.taxi

======================================== */
.taxi {
    padding: 0 0 min( calc( 200 * 100vw / var( --dw ) ), 200px );
}
@media screen and ( max-width: 768px ){
    .taxi {
        padding: 0 0 calc( 100 * 100vw / var( --dw ) );
    }
}



.taxi-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: none;
}
@media screen and ( max-width: 768px ){
    .taxi-inner {
    }
}



.taxi-inner-key_visual {
    position: absolute;
    top: min( calc( 100 * 100vw / var( --dw ) ), 138px ); /* 100 * 1.38 = 138 */
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 10;
}
.taxi-inner-key_visual__image {
}
@media screen and ( max-width: 768px ){
    .taxi-inner-key_visual {
        top: calc( 50 * 100vw / var( --dw ) );
    }
    .taxi-inner-key_visual__image {
    }
}



.taxi-inner-title {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    height: min( calc( 1028 * 100vw / var( --dw ) ), 1418.64px ); /* 1028 * 1.38 = 1418.64 */
    margin-bottom: min( calc( 150 * 100vw / var( --dw ) ), 150px );
    background: linear-gradient( 85deg, #717071 10%, #251E1C 90% );
}
.taxi-inner-title::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;
    mix-blend-mode: screen;
    opacity: 0.2;
}
.taxi-inner-title-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding-top: min( calc( 660 * 100vw / var( --dw ) ), 910.8px ); /* 660 * 1.38 = 910.8 */
    padding-left: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    padding-right: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
}
.taxi-inner-title-inner__name {
    width: min( calc( 90 * 100vw / var( --dw ) ), 90px );
    margin-bottom: 0;
    /* */
    width: min( calc( 90 * 100vw / var( --dw ) ), 124.2px );
}
.taxi-inner-title__lead {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    margin-bottom: 0;
    padding-top: min( calc( 660 * 100vw / var( --dw ) ), 910.8px ); /* 660 * 1.38 = 910.8 */
    padding-left: min( calc( 60 * 100vw / var( --dw ) ), 82.8px ); /* 60 * 1.38 = 82.8 */
    padding-right: min( calc( 224 * 100vw / var( --dw ) ), 309.2px ); /* 224 * 1.38 = 309.2 */
    background-color: #fff;
}
.taxi-inner-title__lead.spObj {
    display: none;
}
.taxi-inner-title__lead.pcObj {
    display: flex;
}
@media screen and ( max-width: 768px ){
    .taxi-inner-title {
        height: calc( 410 * 100vw / var( --dw ) );
        margin-bottom: calc( 75 * 100vw / var( --dw ) );
    }
    .taxi-inner-title::before {
        background-image: url( '../img/common/bg/bg_design_02_sp.svg' );
    }
    .taxi-inner-title-inner {
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        padding-top: calc( 250 * 100vw / var( --dw ) );
        padding-left: calc( 37.5 * 100vw / var( --dw ) );
        padding-right: 0;
    }
    .taxi-inner-title-inner::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: calc( 60 * 100vw / var( --dw ) );
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: #fff;
    }
    .taxi-inner-title-inner__name {
        width: min( calc( 90 * 100vw / var( --dw ) ), 90px );
        margin-bottom: 0;
    }
    .taxi-inner-title__lead {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        margin-bottom: 0;
        padding-top: calc( 30 * 100vw / var( --dw ) );
        padding-left: 0;
        padding-right: 0;
        color: #fff;
        text-align: left;
        background-color: transparent;
    }
    .taxi-inner-title__lead.spObj {
        display: flex;
    }
    .taxi-inner-title__lead.pcObj {
        display: none;
    }
}



.taxi-inner-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.taxi-inner-content-inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: min( calc( 40 * 100vw / var( --dw ) ), 40px ) 0;
    width: 100%;
    max-width: min( calc( 900 * 100vw / var( --dw ) ), 900px );
    margin: 0 auto;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .taxi-inner-content {
    }
    .taxi-inner-content-inner {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }
}



.taxi-inner-content-inner-item {
    position: relative;
    width: min( calc( 430 * 100vw / var( --dw ) ), 430px );
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .taxi-inner-content-inner-item {
        width: 100%;
        margin: 0 calc( 10 * 100vw / var( --dw ) );
    }
}



.taxi-inner-content-inner-item__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ){
    .taxi-inner-content-inner-item__image {
    }
}



.taxi-inner-content-inner-item__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: min( calc( 12 * 100vw / var( --dw ) ), 12px ) 0;
    width: 100%;
    margin: 0;
    padding: min( calc( 15 * 100vw / var( --dw ) ), 15px );
    /* */
    gap: 0;
}
.taxi-inner-content-inner-item__content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient( 83deg, #717071 10%, #251E1C 90% );
    mix-blend-mode: multiply;
}
.taxi-inner-content-inner-item__content .text_station {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --fs-m );
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
}
.taxi-inner-content-inner-item__content .text_time {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --fs-xl );
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
    /* */
    line-height: 1;
    margin-bottom: min( calc( 6 * 100vw / var( --dw ) ), 6px );
}
.taxi-inner-content-inner-item__content .text_price {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --fs-m );
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
}
.taxi-inner-content-inner-item__content .text_large {
    font-size: var( --fs-40 );
}
.taxi-inner-content-inner-item__content .text_small {
    font-size: var( --fs-caption );
}
@media screen and ( max-width: 768px ){
    .taxi-inner-content-inner-item__content {
        gap: calc( 6 * 100vw / var( --dw ) ) 0;
        padding: calc( 7.5 * 100vw / var( --dw ) );
    }
    .taxi-inner-content-inner-item__content::before {
    }
    .taxi-inner-content-inner-item__content .text_station {
        font-size: var( --fs-caption );
    }
    .taxi-inner-content-inner-item__content .text_time {
        font-size: var( --fs-s );
    }
    .taxi-inner-content-inner-item__content .text_price {
        font-size: var( --fs-caption );
    }
    .taxi-inner-content-inner-item__content .text_large {
        font-size: var( --fs-28 );
    }
    .taxi-inner-content-inner-item__content .text_small {
        font-size: var( --fs-caption );
    }

    .dots-wrap {
        display: flex;
        justify-content: center;
        margin-top: calc( 40 * 100vw / var( --dw ) );
    }

    .dots-wrap li {
        width: calc( 12 * 100vw / var( --dw ) );
        height: calc( 12 * 100vw / var( --dw ) );
        margin: 0 calc( 10 * 100vw / var( --dw ) );
        background: #fff;
        border: 1px solid #333;
        border-radius: 50%;
        cursor: pointer;
    }

    .dots-wrap li:hover,
    .dots-wrap li.slick-active {
        background: #333;
    }
    .dots-wrap li button {
        display: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        outline: none;
        padding: 0;
        border: none;
        background-color: transparent;
    }
}



.taxi-inner-remark {
    position: relative;
    width: min( calc( 900 * 100vw / var( --dw ) ), 900px );
    margin: min( calc( 120 * 100vw / var( --dw ) ), 120px ) auto 0;
    padding: 0;
    font-size: var( --fs-caption );
    line-height: 1.5;
    letter-spacing: 0.06em;
}
@media screen and ( max-width: 768px ){
    .taxi-inner-remark {
        width: 100%;
        margin: calc( 90 * 100vw / var(--dw) ) 0 0;
        padding: 0 calc( 20 * 100vw / var(--dw) );
    }
}









