:after,:before,a,article,aside,button,dd,div,dl,dt,figure,footer,h1,h2,h3,h4,h5,header,i,img,input,li,main,nav,ol,option,p,picture,section,select,small,span,submit,svg,table,td,th,time,tr,ul,video {
    position: relative
}

img {
    max-width: 100%;
    height: auto
}

.flex-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.fixed-menu {
    position: fixed;
    right: 2.380952381vw;
    top: 2.380952381vw;
    z-index: 4101;
    mix-blend-mode: exclusion;
}
.fixed-menu ul {
    margin:-1.4285714286vw -.7142857143vw 0;
}
.fixed-menu li {
    padding:1.4285714286vw .7142857143vw 0;
}
.fixed-menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.1428571429vw;
    height: 2.1428571429vw;
    border-radius: 50%;
    background: #fff
}
.goju-container {
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
    z-index: 2
}

.scroll-content {
    z-index: 1;
    overscroll-behavior-y: contain
}

.main-title-block {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    will-change: transform;
    z-index: 20;
    transition: transform 0.3s;
}

.main-title-block.is-hidden {
    display: none;
}

.main-title {
    z-index: 101;
}

.main-title .sub-text {
    position: absolute;
    left:0;
    bottom:100%;
    white-space: nowrap
}

.main-title .sub-text .text {
    color:#ca912c;
    font-size:1.5vw;
}

.main-title h2 {
    z-index:3;
    position:relative;
    color:#fff;
    margin:0;
    font-weight:300;
    word-break: keep-all;
    font-size:3.7vw;
    padding:5px 50px;
}


.main-title .text-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ca912c;
    transform-origin: 50% 0;
    z-index: 2
}

.main-first-view-block {
    width: 100%;
    height:100vh;
    max-height:1080px;
    z-index: 10
}

.main-first-view-block .content-container>.flex-row {
    align-items: center;
    justify-content: center
}

.main-first-view-img-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.main-first-view-img-block img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.main-first-view-bg-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1
}

.main-content {
    text-align: left;
    background: #fff;
    z-index: 10
}

.main-section {
    padding: 14.2857142857vw 0
}

.main-section.under-wave-section {
    padding: 6vw 0 26vw;
    background-color:#f6f5eb;
}

.main-section.under-wave-section+.main-section {
    padding: 10vw 0 4vw;
    overflow:hidden;
}

.content-container {
    padding: 0 7.1428571429vw;
    height: 100%;
    z-index: 2;
}

.item-img-l-block {
    width: 50%;
    margin: 0 auto 0 0;
    order: 1
}

.item-img-r-block {
    width: 50%;
    margin: 0 0 0 auto;
    order: 2
}

.item-1-block {
    width: calc(100% + 14.2857142857vw);
    margin: 0 -7.1428571429vw
}

.item-img-1 {
    margin: 0 0 0 50%;
    transform: translateX(-50%);
    width: 14.2857142857vw;
}

.item-img-4 {
    position: absolute;
    top: 0;
    left:11.3095238095vw;
    width: 23.8095238095vw;
    z-index: 2
}

.item-img-5 {
    position: absolute;
    top:3vw;
    left: 0;
    width: 14.2857142857vw;
    z-index: 1
}

.item-2-block {
    width: calc(100% + 14.2857142857vw);
    margin: 11.9047619048vw -7.1428571429vw 0
}

/* .item-img-2 {
    margin: 0 0 0 auto;
    width: 25vw
}

.item-img-3 {
    position: absolute;
    top: -7.1428571429vw;
    left: 8.3333333333vw;
    width: 14.2857142857vw
} */

.item-movie-block {
    position: absolute;
    top: 8.3333333333vw;
    left: 11.3095238095vw;
    width: 25vw;
    height: 16.6666666667vw
}

.item-3-block {
    width: calc(100% + 14.2857142857vw);
    margin: 7.1428571429vw -7.1428571429vw 0
}

/* .item-img-6 {
    margin: 0 0 0 50%;
    transform: translateX(-50%);
    width: 14.2857142857vw
} */

.item-img-7 {
    position: absolute;
    margin: 0 0 0 50%;
    transform: translateX(-50%);
    width: 23.8095238095vw;
}

.item-4-block {
    width: calc(100% + 14.2857142857vw);
    margin: 11.9047619048vw -7.1428571429vw 0
}

.item-4-block .item-img-r-block {
    padding: 0 14.2857142857vw 0 9.5238095238vw
}

.item-img-8 {
    position: absolute;
    top: -3.47619vw;
    right:9.5238095238vw;
    width: 23.8095238095vw;
    z-index: 1
}

/* .item-img-9 {
    position: absolute;
    top: 3.5714285714vw;
    left: 0;
    width: 14.2857142857vw;
    z-index: 2
} */

.clip-mask {
    display: inline-block;
    width: 100%;
    /* clip-path: polygon(0 0,0 0,0 0); */
    clip-path: polygon(0px 0px, 200% 0px, 0px 200%);
    overflow: hidden
}

/* .clip-mask .item-bg {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    display: inline-block;
    z-index: 1
} */

.clip-mask img {
    display: inline-block;
    z-index: 2;
    transform: scale(1.4)
}

.section-bg {
    background: #f6f5eb;
    width: 100%;
    height: 20vw;
    border-radius: 100%;
    position: absolute;
    top: calc((-10.7142857143vw) + (-10vw));
    z-index: 0;
    left:0;
}

.gallery-section {
    background: #fff
}

/* .gallery-wave-bg {
    fill: #f1eddd
} */

.main-gallery-heading {
    position: absolute;
    top: -5.3vw;
    left: 50%;
    text-align: center;
    transform: translate(-50%,0);
    display: inline-block
}

.main-gallery-heading h2 {
    font-size: 3.7vw;
}

.main-gallery-heading h2 .text {
    display:block;
}

.gallery-list-block {
    margin-right: -4.7619047619vw;
    padding-top:10vw;
}

.swiper-container {
    touch-action: pan-y;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    flex-direction: row;
    transition-property: transform;
    box-sizing: content-box;
    transform: translate3d(0px, 0px, 0px);
    transition-duration: 0ms;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-android .swiper-slide,.swiper-wrapper {
    transform: translate3d(0px,0,0)
}

.gallery-list-block article {
    width: calc(33% - 4.7619047619vw);
    padding-right: 4.7619047619vw
}

.gallery-list-block .gallery-item {
    background: #fff;
    display: block
}

.gallery-list-block .gallery-item figure {
    padding-top: 100%;
    position:relative;
}

.gallery-list-block .gallery-item figure > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}
.gallery-list-block .gallery-item .item-signs {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap:10px;
}
.gallery-list-block .gallery-item .item-signs > img {
    height:100%;
}

.gallery-list-block .gallery-item .text-block {
    padding: 2.380952381vw
}

.gallery-list-block .gallery-item .gallery-heading {
    color: #ca912c;
    display: flex;
    align-items: center;
    line-height: 1.6;
    margin-bottom: .6vw;
    margin-top: .1em;
    font-size:24px;
    word-break: keep-all;
}

.gallery-list-block .gallery-item .gallery-heading time+.category:before {
    content: "/";
    font-size: .7142857143vw;
    text-align: center;
    display: inline-block;
    padding: 0 .5em
}

.gallery-list-block .gallery-item p {
    line-height: 1.8;
    padding-bottom: .6vw;
    font-size:16px;
    word-break: keep-all;
    letter-spacing: -.3px;
}

.gallery-list-block .gallery-item dl {
    display:grid;
    grid-template-columns: 1fr 2fr;
    font-size:16px;
}

.gallery-list-block .gallery-item .item-signs-text > span {
    display: block;
    background-color:#ca912c;
    border-radius:8px;
    font-size:16px;
    padding:5px 10px;
    word-break: keep-all;
    color:#fff;
    letter-spacing: -.3px;
    text-align: center;
}

.gallery-list-block .gallery-item .item-signs-text > span+span {
    margin-top:5px;
}

.main-heading {
    position: absolute;
    top: 0;
    z-index: 5
}

.main-heading h2 {
    font-size: 2.380952381vw;
}
.main-heading .text {
    display: block;
    font-weight: 300;
}
.main-heading .text.sub-text {
    font-size:3vw;
    color:#ca912c;
    margin-bottom:1vw;
}
.main-heading .text.main-text {
    font-size:3.7vw;
    color:#fff;
}

.store-text-block {
    position: absolute;
    top: 16vw;
    color: #fff;
    z-index: 1;
}

.store-text-block dl {
    display:grid;
    grid-template-columns: 1fr 2fr;
    font-size: 2vw;
}

.store-section-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}
.store-section-bg::before {
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    background-color: rgba(0,0,0,0.7);
    z-index: 1;
}
.store-section-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform: scaleX(-1);
}

.store-map-block {
    padding-left: 23.8095238095vw;
    z-index: 0;
}

.store-map-block svg {
    max-width: 100%;
    height: auto;
}

.store-section .btn-block .btn {
    background-color: #fff;
    border-radius: 58px;
    border: 2px solid #ca912c;
    display: inline-block;
    padding: 1vw 5vw;
    margin-top: 4vw;
    font-size: 2vw;
}

.store-section .btn-block .btn:hover, .store-section .btn-block .btn:focus {
    color:#ca912c;
}




@media screen and (max-width: 1200px) {
    .content-container {
        padding: 0 10.4166666667vw;
    }

    .gallery-list-block article {
        width: calc(50% - 5.2083333333vw);
        padding-right: 5.2083333333vw
    }
}

@media screen and (max-width: 767px) {
    .swiper-wrapper {
        flex-direction: column;
    }
     .gallery-list-block article {
        width:100%;
        /* width: calc(50% - 5.3333333333vw); */
        padding-right: 5.3333333333vw
    }
}