


/* ----------------------------------------
変数 ここから
---------------------------------------- */
:root {
}
/* ----------------------------------------
変数 ここまで
---------------------------------------- */





p, 
div {
    line-break: strict;
    word-wrap: break-word;
    word-break: break-all;
}



/* .l-header
----------------------------------------*/
.l-header {
}
.l-header:not( .scrollact ) {
}
.l-header:not( .scrollact ) .l-header__btns__btn--sub {
    color: #fff;
}
@media screen and (max-width: 768px) {
    .l-header {
        background: linear-gradient( to bottom, rgba( 255, 255, 255, 0.7 ), transparent 80%, transparent );
    }
    .l-header:not( .scrollact ) .l-header__btns__btn--sub {
        color: #333;
    }
}



/* .drop-shadow
----------------------------------------*/
.drop-shadow {
    position: relative;
}
.drop-shadow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    margin: 0;
    padding: 0;
    background: linear-gradient( rgba( 112, 112, 112, 0.7 ), transparent 75%, transparent );
    z-index: 2;
}
@media screen and (max-width: 768px) {
}



/* .l-content
----------------------------------------*/
.l-content {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
@media screen and (max-width: 768px) {
}



/* .p-section
----------------------------------------*/
.p-section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-section {
    }
}



/* ----------------------------------------
MV ここから
---------------------------------------- */
.p-main_visual {
    position: relative;
    width: 100%;
    /*
    height: 100vh;
    */
    aspect-ratio: 1920 / 1080;
    margin: 0 0 min( calc( 70 * 100vw / 1388 ), 70px );
    padding: 0;
    overflow: hidden;
    z-index: 2;
}
.p-main_visual-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #000;
}
@media screen and (max-width: 768px) {
    .p-main_visual {
        aspect-ratio: 1080 / 1920;
        margin: 0 0 calc( 40 * 100vw / 375 );
    }
    .p-main_visual-wrap {
    }
}



.p-main_visual-wrap-bg--v2 {
    position: relative;
    width: 100%;
    height: 100%;
    /*
    max-height: 100vh;
    */
    margin: 0;
    padding: 0;
}
.p-main_visual-wrap-bg--v2 figure {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    /*
    max-height: 100vh;
    */
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: left center;
    background-color: #000;
}
.p-main_visual-wrap-bg--v2 figure img {
    width: 100%;
}
.p-main_visual-wrap-bg--v2 figure figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0.5em;
    color: #fff;
    font-size: var( --font_size-caption );
    line-height: 1;
    letter-spacing: 0.05em;
    background-color: rgba( 0, 0, 0, 0.4 );
}
.p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*
    max-height: 100vh;
    */
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: left center;
    /*
    background-color: #f00;
    */
    background-color: #000;
}
.p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie.spObj {
    display: none;
}
.p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie.pcObj {
    display: block;
}
.p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie video {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 1080;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-main_visual-wrap-bg--v2 {
    }
    .p-main_visual-wrap-bg--v2 figure {
    }
    .p-main_visual-wrap-bg--v2 figure img {
    }
    .p-main_visual-wrap-bg--v2 figure figcaption {
        font-size: var( --font_size-caption );
    }
    .p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie {
    }
    .p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie.spObj {
        display: block;
    }
    .p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie.pcObj {
        display: none;
    }
    .p-main_visual-wrap-bg--v2 .p-main_visual-wrap-movie video {
        aspect-ratio: 1080 / 1920;
    }
}
/* ----------------------------------------
MV ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section.information ここから
---------------------------------------- */
.p-section.information {
    position: relative;
    width: var( --contents_area_width );
    max-width: var( --contents_area_maxwidth );
    margin: 0 auto;
    padding: 0;
}
@media screen and (max-width: 768px) {
}
/* ----------------------------------------
.p-section.information ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section-point ここから
---------------------------------------- */
.p-section-point {
    position: relative;
    width: 100%;
    width: var( --information_area_width );
    max-width: var( --information_area_maxwidth );
    margin: 0 auto  min( calc( 60 * 100vw / 1388 ), 60px );
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-section-point {
        width: var( --information_area_width );
        max-width: var( --information_area_maxwidth );
        margin: 0 auto  calc( 30 * 100vw / 375 );
    }
}

.p-section-point-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner {
        flex-direction: column;
        justify-content: flex-start;
    }
}

.p-section-point-inner-each_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( calc( 30 * 100vw / 1388 ), 30px );
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item {
        gap: calc( 20 * 100vw / 375 );
    }
}

.p-section-point-inner-each_item__title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 1.7em;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --font_size-lead );
    line-height: 1;
    letter-spacing: 0.05em;
    background-color: rgba( 0, 0, 0, 0.6 );
}
.p-section-point-inner-each_item__title span {
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item__title {
        height: 1.7em;
        font-size: calc( 25 * 100vw / 375 ); /* このフォントサイズは例外 */
        background-color: rgba( 0, 0, 0, 0.5 );
    }
    .p-section-point-inner-each_item__title span {
    }
}

.p-section-point-inner-each_item__contents {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: min( calc( 10 * 100vw / 1388 ), 10px );
    border-bottom: 1px solid #004165;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item__contents {
        padding-bottom: calc( 10 * 100vw / 375 );
    }
}

.p-section-point-inner-each_item__contents .each_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( calc( 3 * 100vw / 1388 ), 3px );
    width: 100%;

    /* このブロックの変数定義 */
    --cb-font_size-nomal: min( calc( 25 * 100vw / 1388 ), 25px ); /* デザイン上のサイズ */
    --cb-font_size-nomal: min( calc( 22 * 100vw / 1388 ), 22px );
    --cb-font_size-large: min( calc( 35 * 100vw / 1388 ), 35px ); /* デザイン上のサイズ */
    --cb-font_size-large: min( calc( 32 * 100vw / 1388 ), 32px );
    --cb-font_size-small: min( calc( 15 * 100vw / 1388 ), 15px );
    --cb-font_size-ex_small: var( --font_size-ex_small );
}
.p-section-point-inner-each_item__contents .each_item span {
    display: inline-block;
    color: #004165;
    font-size: var( --cb-font_size-nomal );
    line-height: 1;
    letter-spacing: 0.05em;
}
.p-section-point-inner-each_item__contents .each_item .sp_text_large {
    font-size: var( --cb-font_size-nomal );
}
.p-section-point-inner-each_item__contents .each_item .text_large {
    font-size: var( --cb-font_size-large );
}
.p-section-point-inner-each_item__contents .each_item .text_small {
    color: #323232;
    font-size: var( --cb-font_size-small );
}
.p-section-point-inner-each_item__contents .each_item .text_ex_small {
    color: #323232;
    font-size: var( --cb-font_size-ex_small );
}
.p-section-point-inner-each_item__contents .each_item.item_hikifune > span:nth-of-type(2), 
.p-section-point-inner-each_item__contents .each_item.item_keisei_hikifune > span:nth-of-type(2) {
    padding-left: 1em;
}
.p-section-point-inner-each_item__contents .each_item .text_ex_small.only_pc {
    display: inline-block;
}
.p-section-point-inner-each_item__contents .each_item .text_ex_small.only_sp {
    display: none;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item__contents .each_item {
        align-items: center;
        gap: calc( 3 * 100vw / 375 );

        /* このブロックの変数定義 */
        --cb-font_size-nomal: calc( 15 * 100vw / 375 );
        --cb-font_size-large: calc( 20 * 100vw / 375 );
        --cb-font_size-small: calc( 15 * 100vw / 375 );
        --cb-font_size-ex_small: var( --font_size-ex_small );
    }
    .p-section-point-inner-each_item__contents .each_item span {
    }
    .p-section-point-inner-each_item__contents.disaster_prevention .each_item span, 
    .p-section-point-inner-each_item__contents.zeh-m .each_item span {
        font-size: var( --cb-font_size-large );
        text-align: center;
        line-height: 1.3
    }
    .p-section-point-inner-each_item__contents .each_item .sp_text_large {
        font-size: var( --cb-font_size-large );
    }
    .p-section-point-inner-each_item__contents .each_item .text_large {
    }
    .p-section-point-inner-each_item__contents .each_item .text_small {
    }
    .p-section-point-inner-each_item__contents.disaster_prevention .each_item .text_small, 
    .p-section-point-inner-each_item__contents.zeh-m .each_item .text_small {
        font-size: var( --cb-font_size-small );
    }
    .p-section-point-inner-each_item__contents .each_item .text_ex_small {
        line-height: 1.25;
        text-align: center;
    }
    .p-section-point-inner-each_item__contents.disaster_prevention .each_item .text_ex_small, 
    .p-section-point-inner-each_item__contents.zeh-m .each_item .text_ex_small {
        display: none;
    }
    .p-section-point-inner-each_item__contents .each_item.item_hikifune > span:nth-of-type(2), 
    .p-section-point-inner-each_item__contents .each_item.item_keisei_hikifune > span:nth-of-type(2) {
        padding-left: 0em;
    }
}

.p-section-point-inner-each_item.item_access {
    width: 50%;
    width: 52%;
}
.p-section-point-inner-each_item.item_times {
    width: 4.208%;
}
.p-section-point-inner-each_item.item_overview {
    width: 43.35%;
    width: 41.35%;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item.item_access {
        width: 100%;
        margin-bottom: calc( 15 * 100vw / 375 );
    }
    .p-section-point-inner-each_item.item_times {
        width: 8%;
        margin: 0 auto calc( 15 * 100vw / 375 );
    }
    .p-section-point-inner-each_item.item_overview {
        width: 100%;
    }
}

.item_times .p-section-point-inner-each_item__contents {
    border-bottom: none;
}
@media screen and (max-width: 768px) {
    .item_times .p-section-point-inner-each_item__contents {
        padding-bottom: 0;
    }
}

.p-section-point-inner-each_item__contents.from_station {
    width: 100%;
}
.p-section-point-inner-each_item__contents.to_ootemachi {
    display: inline-flex;
    justify-content: center;
    margin: 0 auto;
}
.p-section-point-inner-each_item__contents.disaster_prevention {
    justify-content: center;
    width: 100%;
}
.p-section-point-inner-each_item__contents.zeh-m {
    justify-content: center;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item__contents.from_station {
        flex-wrap: wrap;
    }
    .p-section-point-inner-each_item__contents.to_ootemachi {
        display: flex;
        width: 100%;
    }
    .p-section-point-inner-each_item__contents.disaster_prevention {
    }
    .p-section-point-inner-each_item__contents.zeh-m {
    }
}

.p-section-point-inner-each_item__contents .each_item.item_hikifune {
    width: 43.666%;
}
.p-section-point-inner-each_item__contents .each_item.item_and {
    width: 4%;
}
.p-section-point-inner-each_item__contents .each_item.item_keisei_hikifune {
    width: 51.666%;
}
.p-section-point-inner-each_item__contents.disaster_prevention .each_item {
    align-items: center;
}
.p-section-point-inner-each_item__contents.zeh-m .each_item {
    align-items: center;
}
.p-section-point-inner-each_item__contents.disaster_prevention .each_item .text_small, 
.p-section-point-inner-each_item__contents.zeh-m .each_item .text_small {
    padding-right: 1em;
}
@media screen and (max-width: 768px) {
    .p-section-point-inner-each_item__contents .each_item.item_hikifune {
        width: 42%;
        width: 100%;
        margin-bottom: 0.5em;
    }
    .p-section-point-inner-each_item__contents .each_item.item_and {
        width: 4.5%;
        width: 100%;
        margin-bottom: 0.5em;
    }
    .p-section-point-inner-each_item__contents .each_item.item_and .text_ex_small {
        display: none;
    }
    .p-section-point-inner-each_item__contents .each_item.item_keisei_hikifune {
        width: 53%;
        width: 100%;
    }
    .p-section-point-inner-each_item__contents.to_ootemachi .each_item {
        align-items: center;
    }
    .p-section-point-inner-each_item__contents.disaster_prevention .each_item {
        align-items: center;
    }
    .p-section-point-inner-each_item__contents.zeh-m .each_item {
        align-items: center;
    }
    .p-section-point-inner-each_item__contents.disaster_prevention .each_item .text_small, 
    .p-section-point-inner-each_item__contents.zeh-m .each_item .text_small {
        padding-right: 0;
    }
}
/* ----------------------------------------
.p-section-point ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section-entry ここから
---------------------------------------- */
.p-section-entry {
    position: relative;
    width: var( --information_area_width );
    max-width: var( --information_area_maxwidth );
    margin: 0 auto;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-section-entry {
        width: var( --information_area_width );
        max-width: var( --information_area_maxwidth );
    }
}

.p-section-entry-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: min( calc( 10 * 100vw / 1388 ), 10px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.p-section-entry-inner span {
    color: #004165;
    font-size: min( calc( 45 * 100vw / 1388 ), 45px );
    font-weight: 600;
    line-height: 1;
}
.p-section-entry-inner .text_small {
    color: #323232;
    font-size: var( --font_size-ex_small );
    font-weight: 400;
}
@media screen and (max-width: 768px) {
    .p-section-entry-inner {
        gap: calc( 10 * 100vw / 375 );
    }
    .p-section-entry-inner span {
        font-size: var( --font_size-lead ); /* デザイン上のサイズ */
        font-size: calc( 28 * 100vw / 375 );
    }
    .p-section-entry-inner .text_small {
        line-height: 1.25;
        text-align: center;
    }
}
/* ----------------------------------------
.p-section-entry ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section-information ここから
---------------------------------------- */
.p-section-information {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 768px) {
    .p-section-information {
    }
}

.p-section-information-title, 
.p-section-information-contents {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.p-section-information-title::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient( to right, transparent, #ccc 10%, #ccc 90%, transparent 100% );
}
@media screen and (max-width: 768px) {
    .p-section-information-title, 
    .p-section-information-contents {
    }
    .p-section-information-title::before {
    }
}

.p-section-information-title-inner, 
.p-section-information-contents-inner {
    position: relative;
    width: var( --information_area_width );
    max-width: var( --information_area_maxwidth );
    margin: 0 auto;
    padding: 0;
}
.p-section-information-title-inner {
    width: 100%;
    height: min( calc( 60 * 100vw / 1388 ), 60px );
}
.p-section-information-contents-inner {
    padding: min( calc( 50 * 100vw / 1388 ), 50px ) 0 min( calc( 100 * 100vw / 1388 ), 100px );
    background: linear-gradient( to bottom, #fff, transparent );
}
.p-section-information-title-inner::before, 
.p-section-information-title-inner::after, 
.p-section-information-contents-inner::before, 
.p-section-information-contents-inner::after {
    position: absolute;
    content: '';
    top: 0;
    width: 2px;
    height: 100%;
}
.p-section-information-title-inner::before {
    left: 0;
    background: linear-gradient( to bottom, transparent, #ccc 30%, #ccc 100% );
}
.p-section-information-title-inner::after {
    right: 0;
    background: linear-gradient( to bottom, transparent, #ccc 30%, #ccc 100% );
}
.p-section-information-contents-inner::before {
    left: 0;
    background: linear-gradient( to bottom, #ccc , #ccc 30%, transparent 100% );
}
.p-section-information-contents-inner::after {
    right: 0;
    background: linear-gradient( to bottom, #ccc , #ccc 30%, transparent 100% );
}
@media screen and (max-width: 768px) {
    .p-section-information-title-inner, 
    .p-section-information-contents-inner {
        width: var( --information_area_width );
        max-width: var( --information_area_maxwidth );
    }
    .p-section-information-title-inner {
        height: calc( 60 * 100vw / 375 );
    }
    .p-section-information-contents-inner {
        padding: calc( 50 * 100vw / 375 ) 0 calc( 80 * 100vw / 375 );
    }
    .p-section-information-title-inner::before, 
    .p-section-information-title-inner::after, 
    .p-section-information-contents-inner::before, 
    .p-section-information-contents-inner::after {
    }
    .p-section-information-title-inner::before {
    }
    .p-section-information-title-inner::after {
    }
    .p-section-information-contents-inner::before {
    }
    .p-section-information-contents-inner::after {
    }
}

.p-section-information-contents-inner h2 {
    position: relative;
    width: 83.164%;
    margin: 0 auto min( calc( 50 * 100vw / 1388 ), 50px );
    padding: 0;
    color: rgba( 50, 50, 50, 0.6 );
    font-size: min( calc( 25 * 100vw / 1388 ), 25px ); /* 例外 */
    font-weight: 400;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .p-section-information-contents-inner h2 {
        margin: 0 auto calc( 25 * 100vw / 375 );
        font-size: var( --font_size-normal );
    }
}

.p-section-information-contents-inner__list {
    position: relative;
    width: 83.164%;
    margin: 0 auto min( calc( 70 * 100vw / 1388 ), 70px );
    padding: 0;
}
.p-section-information-contents-inner__list .ttknews {
}
.p-section-information-contents-inner__list .ttknews > ul {
}
.p-section-information-contents-inner__list .ttknews > ul > li {
    color: #323232;
    font-size: min( calc( 18 * 100vw / 1388 ), 18px ); /* 例外 */
    line-height: 1.3;
}
.p-section-information-contents-inner__list .ttknews > ul > li span {
    color: #323232;
    font-size: min( calc( 18 * 100vw / 1388 ), 18px ); /* 例外 */
    line-height: 1.3;
}
@media screen and (max-width: 768px) {
    .p-section-information-contents-inner__list {
        margin: 0 auto calc( 70 * 100vw / 375 );
    }
    .p-section-information-contents-inner__list .ttknews {
    }
    .p-section-information-contents-inner__list .ttknews > ul {
    }
    .p-section-information-contents-inner__list .ttknews > ul > li {
        font-size: var( --font_size-normal );
    }
    .p-section-information-contents-inner__list .ttknews > ul > li span {
        font-size: var( --font_size-normal );
    }
}

.p-section-information-contents-inner__button {
    position: relative;
    width: 83.164%;
    margin: 0 auto;
    padding: 0;
}
.p-section-information-contents-inner__button a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 1em;
    background-color: #004165;
    color: #fff;
    font-size: max( calc( 25 * 100vw / 1388 ), 25px ); /* 例外 */
    line-height: 1;
    letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) {
    .p-section-information-contents-inner__button {
    }
    .p-section-information-contents-inner__button a {
        padding: 0.7em 1em;
        font-size: calc( 25 * 100vw / 375 ); /* 例外 */
    }
}
/* ----------------------------------------
.p-section-information ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section-second_visual ここから
---------------------------------------- */
.p-section-second_visual {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto min( calc( 100 * 100vw / 1388 ), 100px );
    padding: 0;
    aspect-ratio: 2776 / 1534;
}
@media screen and (max-width: 768px) {
    .p-section-second_visual {
        width: var( --contents_area_width );
        max-width: var( --contents_area_maxwidth );
        margin: 0 auto calc( 100 * 100vw / 375 );
        aspect-ratio: 375 / 686;
    }
}

.p-section-second_visual__bg {
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 768px) {
    .p-section-second_visual__bg {
        width: 100%;
        height: 100%;
    }
}

.p-section-second_visual figure {
    position: relative;
    width: 100%;
}
.p-section-second_visual picture, 
.p-section-second_visual picture img {
    width: 100%;
}
.p-section-second_visual figure figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0.5em;
    color: #fff;
    font-size: var( --font_size-caption );
    line-height: 1;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and (max-width: 768px) {
    .p-section-second_visual figure {
    }
    .p-section-second_visual picture, 
    .p-section-second_visual picture img {
    }
    .p-section-second_visual figure figcaption {
        line-height: 1.5;
    }
}

.p-section-second_visual__logo {
    position: absolute;
    top: 8.883%;
    left: 14.409%;
    width: 19.596%;
}
@media screen and (max-width: 768px) {
    .p-section-second_visual__logo {
        position: absolute;
        top: calc( 20 * 100vw / 375 );
        left: 28.667%;
        width: 42.666%;
    }
}

.p-section-second_visual__contents {
    position: absolute;
    top: 14.847%;
    right: 7.6%;
    width: 39.4%;
    color: #fff;
}
.p-section-second_visual__contents h2 {
    margin-bottom: min( calc( 30 * 100vw / 1388 ), 30px );
    font-size: var( --font_size-lead );
    line-height: 1;
    text-align: center;
}
.p-section-second_visual__contents p {
    font-size: min( calc( 18 * 100vw / 1388 ), 18px );　/* 例外 */
    line-height: 2;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .p-section-second_visual__contents {
        position: absolute;
        top: calc( 214 * 100vw / 375 );
        left: 0;
        right: auto;
        width: 100%;
    }
    .p-section-second_visual__contents h2 {
        margin-bottom: calc( 15 * 100vw / 375 );
    }
    .p-section-second_visual__contents p {
        font-size: var( --font_size-normal );
        line-height: 1.9;
    }
}
/* ----------------------------------------
.p-section-second_visual ここまで
---------------------------------------- */





/* ----------------------------------------
.p-section-toc ここから
---------------------------------------- */
.p-section.design, 
.p-section.location, 
.p-section.reborn, 
.p-section.access, 
.p-section.plan {
}
.p-section.design .l-inner, 
.p-section.location .l-inner, 
.p-section.reborn .l-inner, 
.p-section.access .l-inner, 
.p-section.plan .l-inner {
}
@media screen and (max-width: 768px) {
    .p-section.design, 
    .p-section.location, 
    .p-section.reborn, 
    .p-section.access {
        margin-bottom: calc( 80 * 100vw / 375 );
    }
    .p-section.plan {
        margin-bottom: 0;
    }
    .p-section.design .l-inner, 
    .p-section.design .l-inner, 
    .p-section.location .l-inner, 
    .p-section.reborn .l-inner, 
    .p-section.access .l-inner, 
    .p-section.plan .l-inner {
        padding-left: 0;
        padding-right: 0;
    }
}

.p-section-toc {
    position: relative;
    width: var( --contents_area_width );
    max-width: var( --contents_area_maxwidth );
    margin: 0 auto;
    padding: 0;
}
.p-section-toc::before {
}
@media screen and (max-width: 768px) {
}

.p-section-toc__image {
    position: absolute;
    width: 70.677%;
    margin: 0;
    padding: 0;
    top: min( calc( 218 * 100vw / 1388 ), 218px );
    z-index: 2;
}
.align_left .p-section-toc__image { right: 0; }
.align_right .p-section-toc__image { left: 0; }
.p-section-toc__image figure {
    width: 100%;
}
.p-section-toc__image figure picture {
    width: 100%;
}
.p-section-toc__image picture img {
    width: 100%;
}
.p-section-toc__image figcaption {
    font-size: var( --font_size-caption );
    line-height: 1;
}
.align_left .p-section-toc__image figcaption {
    padding-right: min( calc( 60 * 100vw / 1388 ), 60px );
    text-align: right;
}
.align_right .p-section-toc__image figcaption {
    padding-left: min( calc( 60 * 100vw / 1388 ), 60px );
    text-align: left;
}
@media screen and (max-width: 768px) {
    .p-section-toc__image {
        width: 74.6%;
        aspect-ratio: 1 / 1;
        top: calc( 218 * 100vw / 375 );
    }
    .align_left .p-section-toc__image { left: 0; right: auto; }
    .align_right .p-section-toc__image { left: auto; right: 0; }
    .p-section-toc__image figure {
    }
    .p-section-toc__image figure picture {
    }
    .p-section-toc__image picture img {
    }
    .p-section-toc__image figcaption {
        line-height: 1.3;
    }
    .align_left .p-section-toc__image figcaption {
        padding-left: 1em;
        padding-right: 0;
        text-align: left;
    }
    .align_right .p-section-toc__image figcaption {
        padding-left: 0;
        padding-right: 0;
        text-align: left;
    }
}

.p-section-toc-contents {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 50%;
    aspect-ratio: 694 / 437;
    margin: 0;
    padding: min( calc( 50 * 100vw / 1388 ), 50px ) min( calc( 50 * 100vw / 1388 ), 50px ) min( calc( 50 * 100vw / 1388 ), 50px ) min( calc( 100 * 100vw / 1388 ), 100px );
    background-image: url( '../img/top/p-section-toc-contents-bg.webp' );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 5px 5px 5px rgba( 112, 112, 112, 0.3 );
    z-index: 3;
}
.align_left .p-section-toc-contents {
    margin-left: 0;
    margin-right: auto;
}
.align_right .p-section-toc-contents {
    margin-left: auto;
    margin-right: 0;
}
@media screen and (max-width: 768px) {
    .p-section-toc-contents {
        width: 74.6%;
        aspect-ratio: 1 / 1;
        padding: calc( 25 * 100vw / 375 );
    }
    .align_left .p-section-toc-contents {
        margin-left: auto;
        margin-right: 0;
        padding-right: 0;
    }
    .align_right .p-section-toc-contents {
        margin-left: 0;
        margin-right: auto;
        padding-left: 0;
    }
}

.p-section-toc-contents__title {
}
.p-section-toc-contents__title figure {
    width: 100%;
}
.p-section-toc-contents__title picture, 
.p-section-toc-contents__title picture img {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .p-section-toc-contents__title {
    }
    .p-section-toc-contents__title figure {
    }
    .p-section-toc-contents__title picture, 
    .p-section-toc-contents__title picture img {
    }
}

.p-section-toc-contents__button {
    position: relative;
    width: 100%;
}
.p-section-toc-contents__button a {
    position: relative;
    width: 100%;
    height: 2.5em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0.3em 1em;
    color: #fff;
    color: rgba( 255, 255, 255, 0.8 );
    font-size: min( calc( 25 * 100vw / 1388 ), 25px );
    line-height: 1;
    background-color: rgba( 0, 0, 0, 0.3 );
}
.p-section-toc-contents__button span {
    position: relative;
    display: inline-block
}
.p-section-toc-contents__button .name {
    font-size: min( calc( 25 * 100vw / 1388 ), 25px );
}
.p-section-toc-contents__button .separator {
    width: 1px;
    height: 100%;
    margin: 0 1em;
    background-color: rgba( 255, 255, 255, 0.8 );
}
.p-section-toc-contents__button .view_more {
    font-size: var( --font_size-normal );
}
.p-section-toc-contents__button .icon_arrow_right {
    position: absolute;
    top: calc( 50% - 0.6em );
    right: 1em;
    width: 1.2em;
    height: 1.2em;
    background-color: rgba( 255, 255, 255, 0.8 );
    clip-path: polygon( 0 0, 0% 100%, 100% 50% );
}
@media screen and (max-width: 768px) {
    .p-section-toc-contents__button {
        height: auto;
        padding: 0.4em 1em;
    }
    .align_left .p-section-toc-contents__button {
        padding-right: 0;
    }
    .align_right .p-section-toc-contents__button {
        padding-left: 0;
    }
    .p-section-toc-contents__button a {
        font-size: calc( 20 * 100vw / 375 ); /* デザイン上 */
        font-size: calc( 18 * 100vw / 375 );
    }
    .p-section-toc-contents__button span {
    }
    .p-section-toc-contents__button .name {
        font-size: calc( 20 * 100vw / 375 ); /* デザイン上 */
        font-size: calc( 18 * 100vw / 375 );
    }
    .p-section-toc-contents__button .separator {
    }
    .p-section-toc-contents__button .view_more {
    }
    .p-section-toc-contents__button .icon_arrow_right {
        width: 1em;
        height: 1em;
        font-size: var( --font_size-normal );
    }
}

.p-section-toc__square {
    position: relative;
    width: 35.59%;
    aspect-ratio: 1 / 1;
    background-color: #E1E1E1;
    background-color: rgba( 225, 225, 225, 0.5 );
    background-color: rgba( 150, 150, 150, 0.2 );
    z-index: 1;
}
.align_left .p-section-toc__square {
    margin-left: min( calc( 100 * 100vw / 1388 ), 100px );
    margin-right: auto;
}
.align_right .p-section-toc__square {
    margin-left: auto;
    margin-right: min( calc( 100 * 100vw / 1388 ), 100px );
}
@media screen and (max-width: 768px) {
    .p-section-toc__square {
        margin-top: calc( 133 * 100vw / 375 );
    }
    .align_left .p-section-toc__square {
        margin-left: auto;
        margin-right: 0;
    }
    .align_right .p-section-toc__square {
        margin-left: 0;
        margin-right: auto;
    }
}
/* ----------------------------------------
.p-section-toc ここまで
---------------------------------------- */




