@charset "UTF-8";
/* CSS Document */



@media screen and (max-width: 768px) {
}
@media screen and (min-width: 769px) {
}



.p-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 38%;
    margin: 0 auto;
    padding: 0.8em 0;
    color: #fff;
    font-size: calc( 26 * 100vw / 750 );
    letter-spacing: 0.05em;
    background-color: #231815;
    border-radius: 9999px;
}
.p-button.disabled {
    cursor: default;
    opacity: 1;
}
@media screen and (min-width: 769px) {
    .p-button {
        font-size: calc( 26 * 100vw / 1920 );
    }
    .p-button.disabled {
    }
}





.l-container {
    padding-top: 0;
}
.l-header:not(.scrollact) .l-header__btns__btn--sub {
    color: #fff;
}



/* .c-title--page--full
--------------------------------------------------*/
.c-title--page--full picture::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: transparent;
    background-image: url( '../img/design/img-mv-front_sp.png' );
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
    mix-blend-mode: multiply;
}
.c-title--page--full::before {
    background-color: transparent;
}
@media screen and (min-width: 769px) {
    .c-title--page--full picture::before {
        background-image: url( '../img/design/img-mv-front_pc.png' );
    }
}



.c-title--page--full__image {
    object-position: top right;
}



.c-title--page--full figure {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.c-title--page--full .remark {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0.5em 1em;
    font-size: 1rem;
    color: #fff;
    text-align: right;
    letter-spacing: 0.05em;
    z-index: 2;
}
@media screen and (min-width: 769px) {
    .c-title--page--full .remark {
        padding: 0.5em 2em;
    }
}



.c-title--page--full__inner {
    align-items: flex-start;
}
@media screen and (min-width: 769px) {
}



@media screen and (min-width: 769px) {
    .l-inner.-v2 {
        max-width: none;
    }
}



.c-title--page--full__title {
}
.c-title--page--full__title {
    width: calc( 453 * 100vw / 750 );
    height: calc( 166 * 100vw / 750 );
}
.c-title--page--full__title picture::before {
    content: none;
}
@media screen and (min-width: 769px) {
    .c-title--page--full__title {
        width: calc( 453 * 100vw / 1920 );
        height: calc( 166 * 100vw / 1920 );
    }
}





/* .p-design_01--wrap
--------------------------------------------------*/
.p-design_01--wrap {
    position: relative;
}
.p-design_01--wrap figure {
    position: relative;
    width: 100%;
    height: 100%;
}
.p-design_01--wrap figure img {
    width: 100%;
}
.p-design_01--wrap .remark {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0.5em 0.5em;
    font-size: 1rem;
    color: #fff;
    text-align: right;
    letter-spacing: 0.05em;
    z-index: 2;
}
@media screen and (min-width: 769px) {
    .p-design_01--wrap .remark {
        padding: 0.5em 2em;
    }
}



.p-design_01--inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: calc( 65 * 100vw / 750 ) 0;
    z-index: 2;
}
.p-design_01--inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 50.13%;
    height: auto;
    aspect-ratio: 173 / 1002;
    z-index: 2;
    background-image: url( '../img/design/img-design_01-front-bg.svg' );
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
@media screen and (min-width: 769px) {
    .p-design_01--inner {
        padding: calc( 170 * 100vw / 1920 ) 0;
    }
    .p-design_01--inner::before {
        width: 19.6%;
        height: auto;
        aspect-ratio: 173 / 1002;
    }
}



.p-design_01--inner__design_gallery {
    position: relative;
    width: calc( 621 * 100vw / 750 );
    margin: 0 auto calc( 150 * 100vw / 750 );
    padding: calc( 110 * 100vw / 750 ) 0 calc( 90 * 100vw / 750 );
    border: 1px solid #9fa0a0;
    z-index: 3;
}
.p-design_01--inner__design_gallery .p-title--contents {
    margin-bottom: calc( 40 * 100vw / 750 );
    color: #fff;
    font-size: calc( 41 * 100vw / 750 );
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
}
.p-design_01--inner__design_gallery .p-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc( 543 * 100vw / 750 );
    margin: 0 auto;
    padding: 0.9em 0;
    color: #fff;
    font-size: calc( 24 * 100vw / 750 );
    line-height: 1;
    letter-spacing: 0.09em;
    background-color: #231815;
    border-radius: 9999px;
}
@media screen and (min-width: 769px) {
    .p-design_01--inner__design_gallery {
        width: 75%;
        margin: 0 auto calc( 170 * 100vw / 1920 );
        padding: calc( 100 * 100vw / 1920 ) 0;
    }
    .p-design_01--inner__design_gallery .p-title--contents {
        margin-bottom: 0.5em;
        font-size: calc( 57 * 100vw / 1920 );
    }
    .p-design_01--inner__design_gallery .p-button {
        width: 38%;
        padding: 0.8em 0;
        font-size: calc( 26 * 100vw / 1920 );
        letter-spacing: 0.05em;
    }
}



.p-design_01--inner__contents .p-title--contents {
    width: calc( 438 * 100vw / 750 );
    margin: 0 auto calc( 120 * 100vw / 750 ) calc( 60 * 100vw / 750 );
}
.p-design_01--inner__contents .p-text--contents {
}
.p-design_01--inner__contents .p-text--contents__caption {
    color: #fff;
    font-size: calc( 57 * 100vw / 750 );
    letter-spacing: 0.08em;
    text-align: center;
}
.p-design_01--inner__contents .p-text--contents__text {
    color: #fff;
    font-size: calc( 32 * 100vw / 750 );
    letter-spacing: 0;
    text-align: center;
}
.p-design_01--inner__contents .p-text--contents__remark {
    color: #fff;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
}
@media screen and (min-width: 769px) {
    .p-design_01--inner__contents .p-title--contents {
        width: 58%;
        margin: 0 auto calc( 160 * 100vw / 1920 ) calc( 280 * 100vw / 1920 );
    }
    .p-design_01--inner__contents .p-text--contents {
    }
    .p-design_01--inner__contents .p-text--contents__caption {
        font-size: calc( 57 * 100vw / 1920 );
        letter-spacing: 0.08em;
    }
    .p-design_01--inner__contents .p-text--contents__text {
        font-size: calc( 37 * 100vw / 1920 );
        letter-spacing: 0;
    }
    .p-design_01--inner__contents .p-text--contents__remark {
        font-size: calc( 19 * 100vw / 1920 );
        line-height: 2;
        letter-spacing: 0;
    }
}




/* .p-architect--wrap
--------------------------------------------------*/
.p-architect--wrap {
    padding: calc( 100 * 100vw / 750 ) 0;
    background-color: #42403f;
}
@media screen and (min-width: 769px) {
    .p-architect--wrap {
        padding: calc( 250 * 100vw / 1920 ) 0 calc( 160 * 100vw / 1920 );
    }
}



.p-architect--wrap__image {
    display: block;
    width: 100%;
    margin: 0 auto calc( 80 * 100vw / 750 );
}
.p-architect--wrap__image .p-remark {
    display: block;
    width: 100%;
    color: #fff;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: right;
}
@media screen and (min-width: 769px) {
    .p-architect--wrap__image {
        width: 41.875%;
        margin: 0 auto calc( 200 * 100vw / 1920 );
    }
    .p-architect--wrap__image .p-remark {
        font-size: calc( 16 * 100vw / 1920 );
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
}



.p-architect--wrap--contents {
    width: calc( 580 * 100vw / 750 );
    margin: 0 auto;
    padding: 0 0 calc( 60 * 100vw / 750 );
    background-color: #231815;
}
.p-architect--wrap--contents__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: column-reverse;
}
.p-architect--wrap--contents__title {
    width: 100%;
    margin: 0 0 calc( 50 * 100vw / 750 );
    padding: 0;
    color: #fff;
    font-size: calc( 57 * 100vw / 750 );
    line-height: 1;
    letter-spacing: 0.08em;
}
.p-architect--wrap--contents__wrap__left {
    width: calc( 456 * 100vw / 750 );
    margin: 0 auto;
}
.p-architect--wrap--contents__image {
    width: calc( 362 * 100vw / 750 );
    margin: 0 auto calc( 50 * 100vw / 750 );
}
@media screen and (min-width: 769px) {
    .p-architect--wrap--contents {
        width: 67.7%;
        margin: 0 auto;
        padding: 0 0 calc( 60 * 100vw / 1920 );
        background-color: #231815;
    }
    .p-architect--wrap--contents__wrap {
        justify-content: space-between;
        align-items: flex-end;
        flex-direction: row;
    }
    .p-architect--wrap--contents__title {
        width: 100%;
        margin: 0 0 calc( 100 * 100vw / 1920 );
        font-size: calc( 57 * 100vw / 1920 );
        line-height: 1;
        letter-spacing: 0.08em;
    }
    .p-architect--wrap--contents__wrap__left {
        width: 50.23%;
        margin-left: calc( 88 * 100vw / 1920 );
    }
    .p-architect--wrap--contents__image {
        width: 31.07%;
        margin-right: calc( 88 * 100vw / 1920 );
        margin-bottom: 0;
    }
}



.p-architect--wrap--contents__wrap .p-company {
    color: #fff;
    font-size: calc( 28 * 100vw / 750 );
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.p-architect--wrap--contents__wrap .p-company .company_caption {
    font-size: calc( 20 * 100vw / 750 );
}
@media screen and (min-width: 769px) {
    .p-architect--wrap--contents__wrap .p-company {
        font-size: calc( 30 * 100vw / 1920 );
        line-height: 1.5;
        letter-spacing: 0.05em;
    }
    .p-architect--wrap--contents__wrap .p-company .company_caption {
        font-size: calc( 22 * 100vw / 1920 );
    }
}



.p-architect--wrap--contents__wrap .p-text {
    margin-bottom: calc( 20 * 100vw / 750 );
    color: #fff;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 2;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
    .p-architect--wrap--contents__wrap .p-text {
        margin-bottom: calc( 40 * 100vw / 1920 );
        font-size: calc( 19 * 100vw / 1920 );
        line-height: 2;
        letter-spacing: 0.05em;
    }
}



.p-architect--wrap--contents__wrap__name__image {
    width: calc( 411 * 100vw / 750 );
    margin-bottom: calc( 9.5 * 100vw / 750 );
}
.p-architect--wrap--contents__wrap__name .p-name {
    padding: 0.5em 0;
    color: #fff;
    font-size: calc( 28 * 100vw / 750 );
    line-height: 1;
    letter-spacing: 0.05em;
    border-top: 1px solid rgba( 255, 255, 255, 0.3 );
}
.p-architect--wrap--contents__wrap__name .p-name .name_caption {
    display: inline-block;
    margin-right: 2em;
    font-size: calc( 19 * 100vw / 750 );
}
@media screen and (min-width: 769px) {
    .p-architect--wrap--contents__wrap__name__image {
        width: 62.94%;
        margin-bottom: calc( 9.5 * 100vw / 1920 );
    }
    .p-architect--wrap--contents__wrap__name .p-name {
        padding: 0.5em 0;
        font-size: calc( 28 * 100vw / 1920 );
        line-height: 1;
        letter-spacing: 0.05em;
        border-top: 1px solid rgba( 255, 255, 255, 0.3 );
    }
    .p-architect--wrap--contents__wrap__name .p-name .name_caption {
        margin-right: 2em;
        font-size: calc( 19 * 100vw / 1920 );
    }
}





/* .p-design_02--wrap
--------------------------------------------------*/
.p-design_02--wrap {
    background-image: url( '../img/design/img-design_02-bg_sp.webp' );
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 769px) {
    .p-design_02--wrap {
        background-image: url( '../img/design/img-design_02-bg_pc.webp' );
    }
}



.p-design_02--inner {
    padding: calc( 160 * 100vw / 750 ) 0 calc( 120 * 100vw / 750 );
}
@media screen and (min-width: 769px) {
    .p-design_02--inner {
        padding: calc( 90 * 100vw / 1920 ) 0 calc( 160 * 100vw / 1920 );
    }
}



.p-design_02--inner__contents {
}
.p-design_02--inner__contents .p-title--contents {
    width: calc( 497 * 100vw / 750 );
    margin: 0 auto calc( 120 * 100vw / 750 ) calc( 60 * 100vw / 750 );
}
.p-design_02--inner__contents .p-text--contents {
}
.p-design_02--inner__contents .p-text--contents__caption {
    color: #231815;
    font-size: calc( 57 * 100vw / 750 );
    letter-spacing: 0.08em;
    text-align: center;
}
.p-design_02--inner__contents .p-text--contents__text {
    color: #67798a;
    font-size: calc( 32 * 100vw / 750 );
    letter-spacing: 0;
    text-align: center;
}
.p-design_02--inner__contents .p-text--contents__remark {
    color: #231815;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents .p-title--contents {
        width: 61.14%;
        margin: 0 auto calc( 160 * 100vw / 1920 ) calc( 280 * 100vw / 1920 );
    }
    .p-design_02--inner__contents .p-text--contents {
        margin-bottom: calc( 100 * 100vw / 1920 );
    }
    .p-design_02--inner__contents .p-text--contents__caption {
        font-size: calc( 57 * 100vw / 1920 );
        letter-spacing: 0.08em;
    }
    .p-design_02--inner__contents .p-text--contents__text {
        font-size: calc( 37 * 100vw / 1920 );
        letter-spacing: 0;
    }
    .p-design_02--inner__contents .p-text--contents__remark {
        font-size: calc( 19 * 100vw / 1920 );
        line-height: 2;
        letter-spacing: 0;
    }
}



.p-design_02--inner__contents__wrap {
    display: block;
    padding: 0;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        padding: 0 calc( 130 * 100vw / 1920 ) 0 calc( 90 * 100vw / 1920 );
    }
}



.p-design_02--inner__contents__wrap__left {
    width: 97%;
    margin: 0 0 calc( 80 * 100vw / 750 ) auto;
}
.p-design_02--inner__contents__wrap__left img {
    mix-blend-mode: multiply;
}
.p-design_02--inner__contents__wrap__left .p-remark {
    margin-top: 0;
    padding-left: calc( 100 * 100vw / 750 );
    font-size: calc( 20 * 100vw / 750 );
    text-align: left;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__left {
        width: calc( 100% - calc( 180 * 100vw / 1920 ) );
        margin: 0;
    }
    .p-design_02--inner__contents__wrap__left img {
        mix-blend-mode: multiply;
    }
    .p-design_02--inner__contents__wrap__left .p-remark {
        padding-left: 0;
        padding-right: calc( 180 * 100vw / 1920 );
        font-size: calc( 16 * 100vw / 1920 );
        text-align: right;
    }
}



.p-design_02--inner__contents__wrap__right {
    width: calc( 403 * 100vw / 750 );
    margin: 0 auto;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__right {
        width: calc( 761 * 100vw / 1920 );
    }
}



.p-design_02--inner__contents__wrap__right .p-contents-item {
    display: block;
    margin-bottom: calc( 80 * 100vw / 750 );
}
.p-design_02--inner__contents__wrap__right .p-contents-item:nth-of-type(3) {
    margin-bottom: 0;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__right .p-contents-item {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: calc( 80 * 100vw / 1920 );
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item:nth-of-type(3) {
        margin-bottom: calc( 160 * 100vw / 1920 );
    }
}



.p-design_02--inner__contents__wrap__right .p-contents-item figure {
    position: relative;
    width: 100%;
    margin: 0 0 calc( 40 * 100vw / 750 ) 0;
}
.p-design_02--inner__contents__wrap__right .p-contents-item .remark {
    position: absolute;
    bottom: calc( 5 * 100vw / 750 );
    right: calc( 5 * 100vw / 750 );
    color: #fff;
    font-size: calc( 20 * 100vw / 750 );
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__right .p-contents-item figure {
        width: 41.39%;
        margin: 0;
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item .remark {
        bottom: calc( 5 * 100vw / 1920 );
        right: calc( 5 * 100vw / 1920 );
        font-size: calc( 16 * 100vw / 1920 );
    }
}



.p-design_02--inner__contents__wrap__right .p-contents-item .p-text {
    width: 100%;
}
.p-design_02--inner__contents__wrap__right .p-contents-item .text_caption {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    margin-bottom: calc( 30 * 100vw / 750 );
    color: #231815;
}
.p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .num {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.7em;
    margin-bottom: 0.8em;
    aspect-ratio: 1 / 1;
    color: #fff;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 1;
    background-color: #231815;
}
.p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .en {
    display: block;
    width: 100%;
    padding-bottom: 0.5em;
    font-size: calc( 26 * 100vw / 750 );
    line-height: 1;
    text-align: center;
    border-bottom: 1px solid #231815;
}
.p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .jp {
    display: block;
    width: 100%;
    padding-top: 0.5em;
    font-size: calc( 28 * 100vw / 750 );
    line-height: 1;
    text-align: center;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__right .p-contents-item .p-text {
        width: 52.95%;
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item .text_caption {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: calc( 30 * 100vw / 1920 );
        color: #231815;
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .num {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 1.7em;
        margin-bottom: 0.5em;
        font-size: calc( 16 * 100vw / 1920 );
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .en {
        padding-bottom: 0.5em;
        font-size: calc( 17 * 100vw / 1920 );
        border-bottom: 1px solid #231815;
        text-align: left;
    }
    .p-design_02--inner__contents__wrap__right .p-contents-item .text_caption .jp {
        padding-top: 0.3em;
        font-size: calc( 25 * 100vw / 1920 );
        text-align: left;
    }
}



.p-design_02--inner__contents__wrap__right .p-contents-item .text_content {
    margin-top: 0;
    color: #231815;
    font-size: calc( 20 * 100vw / 750 );
    line-height: 2;
    letter-spacing: 0;
}
@media screen and (min-width: 769px) {
    .p-design_02--inner__contents__wrap__right .p-contents-item .text_content {
        margin-top: 0;
        font-size: calc( 16 * 100vw / 1920 );
    }
}





/* .p-bottom_banner--wrap
--------------------------------------------------*/
.p-bottom_banner--wrap {
    padding: calc( 130 * 100vw / 750 ) 0;
}
.p-bottom_banner--inner {
    width: calc( 660 * 100vw / 750 );
    margin: 0 auto;
    padding: calc( 110 * 100vw / 750 ) 0 calc( 90 * 100vw / 750 );
    background-image: url( '../img/design/img-bottom_banner_sp.webp' );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 769px) {
    .p-bottom_banner--wrap {
        padding: calc( 210 * 100vw / 1920 ) 0;
    }
    .p-bottom_banner--inner {
        width: 75%;
        margin: 0 auto;
        padding: calc( 110 * 100vw / 1920 ) 0 calc( 90 * 100vw / 1920 );
        background-image: url( '../img/design/img-bottom_banner_pc.webp' );
    }
}


.p-bottom_banner--inner .p-title--contents {
    margin-bottom: 0.8em;
    color: #fff;
    font-size: calc( 43 * 100vw / 750 );
    line-height: 1.2;
    text-align: center;
}
.p-bottom_banner--inner .p-button {
    width: 87.27%;
    font-size: calc(26* 100vw / 750);
}
@media screen and (min-width: 769px) {
    .p-bottom_banner--inner .p-title--contents {
        margin-bottom: 0.8em;
        color: #fff;
        font-size: calc( 43 * 100vw / 1920 );
        line-height: 1;
        text-align: center;
    }
    .p-bottom_banner--inner .p-button {
        width: 50.27%;
        font-size: calc(26* 100vw / 1920);
    }
}



/* --------------------------------------------------
Design Gallery
-------------------------------------------------- */
.p-gallery {
    margin: calc( 100 * 100vw / 750 ) 0 0;
}
@media screen and (min-width: 769px) {
    .p-gallery {
        margin: 0 0 0 0;
    }
}



.p-gallery-mv {
    position: relative;
    width: 100%;
    margin: 0 0 calc( 200 * 100vw / 750 );
    padding: 0;
}
.p-gallery-mv figure {
    position: relative;
    width: 100%;
}
.p-gallery-mv figure picture {
    width: 100%;
}
.p-gallery-mv figure picture img {
    width: 100%;
}
.p-gallery-mv figure figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 0.5em 1em;
    color: #fff;
    font-size: calc( 16 * 100vw / 750 );/* デザイン　デフォルト */
    font-size: min( calc( 24 * 100vw / 750 ), 24px );
    line-height: 1;
    text-align: right;
}
@media screen and (min-width: 769px) {
    .p-gallery-mv {
        margin: 0 0 min( calc( 200 * 100vw / 1920 ), 200px ); /* コンテンツ幅を1920で固定する時 */
        margin: 0 0 calc( 200 * 100vw / 1920 ); /* コンテンツ幅 = 100vw の時 */
    }
    .p-gallery-mv figure {
    }
    .p-gallery-mv figure picture {
    }
    .p-gallery-mv figure picture img {
    }
    .p-gallery-mv figure figcaption {
        font-size: min( calc( 16 * 100vw / 1920 ), 16px ); /* コンテンツ幅を1920で固定する時 */
        font-size: calc( 16 * 100vw / 1920 ); /* コンテンツ幅 = 100vw の時 */
    }
}



.p-gallery-slide {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    z-index: 10;
}
.p-gallery-slide h3 {
    margin: 0 0 calc( 50 * 100vw / 750 );
    padding-left: min(1.441vw, 24px);
    padding-right: min(1.441vw, 24px);
    color: #333;
    font-size: calc( 23 * 100vw / 750 );/* デザイン　デフォルト */
    font-size: min( calc( 24 * 100vw / 750 ), 12px );
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.8em;
    text-align: center;
}
.p-gallery-slide h3 .type_name {
    font-size: calc( 43 * 100vw / 750 );
    font-weight: 600;
    letter-spacing: 0.03em;
}
@media screen and (min-width: 769px) {
    .p-gallery-slide {
        margin: 0;
    }
    .p-gallery-slide h3 {
        margin: 0 0 min( calc( 50 * 100vw / 1920 ), 50px ); /* コンテンツ幅を1920で固定する時 */
        margin: 0 0 calc( 50 * 100vw / 1920 ); /* コンテンツ幅 = 100vw の時 */
        font-size: min( calc( 17 * 100vw / 1920 ), 17px );
        font-size: calc( 17 * 100vw / 1920 );
    }
    .p-gallery-slide h3 .type_name {
        font-size: min( calc( 31 * 100vw / 1920 ), 31px );
        font-size: calc( 31 * 100vw / 1920 );
    }
}



.p-gallery-slide-inner {
    position: relative;
    width: 100%;
    margin: 0 0 calc( 20 * 100vw / 750 );
    padding: 0;
}
.p-gallery-slide-inner .each_item {
    position: relative;
    width: 100%;
}
.p-gallery-slide-inner .each_item figure {
    position: relative;
    display: block;
    width: 100%;
}
.p-gallery-slide-inner .each_item figure picture {
    width: 100%;
}
.p-gallery-slide-inner .each_item figure picture img {
    width: 100%;
}
.p-gallery-slide-inner .each_item figure figcaption {
    position: absolute;
    width: 100%;
    margin: 0;
    color: #fff;
    line-height: 1;
    text-align: right;
    right: 0;
    bottom: 0;
    padding: 0.5em 1em;
    font-size: min( calc( 16 * 100vw / 750 ), 16px ); /* デザイン　デフォルト */
    font-size: min( calc( 12 * 100vw / 375 ), 12px );
} 
.p-gallery-slide-inner .each_item.image_02 figure figcaption,
.p-gallery-slide-inner .each_item.image_06 figure figcaption {
    right: 27.864%;
}
@media screen and (min-width: 769px) {
    .p-gallery-slide-inner {
        margin: 0 0 min( calc( 100 * 100vw / 1920 ), 100px );
        margin: 0 0 calc( 100 * 100vw / 1920 );
    }
    .p-gallery-slide-inner .each_item {
    }
    .p-gallery-slide-inner .each_item figure {
    }
    .p-gallery-slide-inner .each_item figure picture {
    }
    .p-gallery-slide-inner .each_item figure picture img {
    }
    .p-gallery-slide-inner .each_item figure figcaption {
        right: 0;
        bottom: 0;
        padding: 0.5em 1em;
        font-size: min( calc( 16 * 100vw / 1920 ), 16px );
        font-size: calc( 16 * 100vw / 1920 );
    }
    .p-gallery-slide-inner .each_item.image_02 figure figcaption,
    .p-gallery-slide-inner .each_item.image_06 figure figcaption {
        right: 27.864%;
    }
}



.swiper-controller {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.swiper-controller .swiper-button-prev,
.swiper-controller .swiper-button-next {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    height: min(21.615vw, 144px);
    margin: 0;
}
.swiper-controller .swiper-button-prev::before, 
.swiper-controller .swiper-button-next::before {
    height: min(21.615vw, 144px);
    border: none;
    border-radius: unset;
    background-color: rgba( 0, 0, 0, 0.4 );
}
.swiper-controller .swiper-button-prev:hover::before, 
.swiper-controller .swiper-button-next:hover::before {
    background-color: rgba( 0, 0, 0, 0.7 );
}
.swiper-controller .swiper-button-prev::after {
    content: '';
    width: calc( 17 * 100vw / 375 );
    height: calc( 37 * 100vw / 375 );
    background-image: url( '../img/design/icon_swiper-controller.svg' );
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.swiper-controller .swiper-button-next::after {
    content: '';
    width: calc( 17 * 100vw / 375 );
    height: calc( 37 * 100vw / 375 );
    background-image: url( '../img/design/icon_swiper-controller.svg' );
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.swiper-controller .swiper-button-prev::after, 
.swiper-controller .swiper-button-next::after {
    color: #fff;
}
.swiper-controller .swiper-button-prev:hover::after, 
.swiper-controller .swiper-button-next:hover::after {
    color: #333;
}
@media screen and (min-width: 769px) {
    .swiper-controller {
    }
    .swiper-controller .swiper-button-prev,
    .swiper-controller .swiper-button-next {
        width: min(4.323vw, 72px);
        height: min(8.646vw, 144px);
    }
    .swiper-controller .swiper-button-prev::before, 
    .swiper-controller .swiper-button-next::before {
        width: min(4.323vw, 72px);
        height: min(8.646vw, 144px);
    }
    .swiper-controller .swiper-button-prev:hover::before, 
    .swiper-controller .swiper-button-next:hover::before {
    }
    .swiper-controller .swiper-button-prev::after {
        width: calc( 17 * 100vw / 1388 );
        height: calc( 37 * 100vw / 1388 );
    }
    .swiper-controller .swiper-button-next::after {
        width: calc( 17 * 100vw / 1388 );
        height: calc( 37 * 100vw / 1388 );
    }
    .swiper-controller .swiper-button-prev::after, 
    .swiper-controller .swiper-button-next::after {
    }
    .swiper-controller .swiper-button-prev:hover::after, 
    .swiper-controller .swiper-button-next:hover::after {
    }
}


.p-gallery-slide-inner--thumbnail {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto 10vh;
    padding: 0;
}
.p-gallery-slide-inner--thumbnail .each_item {
    position: relative;
    width: calc( 100% / 3 );
    padding: 0.5rem;
}
.p-gallery-slide-inner--thumbnail .each_item figure {
    position: relative;
    display: block;
    width: 100%;
}
.p-gallery-slide-inner--thumbnail .each_item figure picture {
    width: 100%;
}
.p-gallery-slide-inner--thumbnail .each_item figure picture img {
    width: 100%;
}
.p-gallery-slide-inner--thumbnail .each_item figure figcaption {
    position: absolute;
    width: 100%;
    margin: 0;
    color: #fff;
    line-height: 1;
    text-align: right;
}
.p-gallery-slide-inner--thumbnail .each_item figure figcaption {
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0.2em;
    color: #fff;
    font-size: min( calc( 12 * 100vw / 750 ), 12px );/* デザイン　デフォルト */
    font-size: min( calc( 11 * 100vw / 375 ), 11px );
    line-height: 1.5;
    text-align: center;
    background-color: rgba( 0, 0, 0, 0.8 );    
    transition: all 0.5s;
    opacity: 1;
}
.p-gallery-slide-inner--thumbnail .each_item.thumb-media-active figure figcaption {
    opacity: 0;
}
@media screen and (min-width: 769px) {
    .p-gallery-slide-inner--thumbnail {
        flex-wrap: nowrap;
        max-width: min( 86.455vw, 1440px );
        padding-left: min(1.441vw, 24px);
        padding-right: min(1.441vw, 24px);
    }
    .p-gallery-slide-inner--thumbnail .each_item {
        width: calc( 100% / 6 );
        padding: 0 0.5rem;
    }
    .p-gallery-slide-inner--thumbnail .each_item figure {
    }
    .p-gallery-slide-inner--thumbnail .each_item figure picture {
    }
    .p-gallery-slide-inner--thumbnail .each_item figure picture img {
    }
    .p-gallery-slide-inner--thumbnail .each_item figure figcaption {
        font-size: min( calc( 12 * 100vw / 375 ), 12px );
    }
    .p-gallery-slide-inner--thumbnail .each_item.slick-current figure figcaption {
    }
}



















