@charset "UTF-8";
/*=======================================
 	             SMACSS  base
 ========================================*/

/*=======================================
	         SMACSS  layout　　　　　　　       ( style.scss ) ( header.scss / main.scss / footer.scss ...) 
========================================*/
/*=======================================
 	        animation
 ========================================*/

.inview {
    transform: scale(1.4);

}

.inview.active {
    transform: scale(1);
}

.fadein {
    opacity: 0;
    transform: translateY(10rem);
    transition: all 2s;

}

.fadein.active {
    opacity: 1;
    transform: translateY(0);
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fade {
    transition: all 2s;
    visibility: hidden;
    opacity: 0;
}

.fade.active {
    visibility: visible;
    opacity: 1;
}

.slick-dots li button {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: #fff;
    border: 0.1rem solid #3a3a3a;
}

.slick-dots li {
    margin: 0 0.3rem;
}

.slick-dots {
    position: absolute;
    bottom: -1.6rem;
    right: -0.3rem;
}

#btn,
#btn02,
#btn03,
#btn04 {
    cursor: pointer;
}

#secondview .movie #btn {
    width: 9.5rem;
    position: absolute;
    bottom: 10.9rem;
    right: 4.8rem;
}

#secondview .movie #btn02 {
    width: 9.5rem;
    position: absolute;
    bottom: 10.9rem;
    right: 4.8rem;
    visibility: hidden;
    opacity: 0;
}

@media screen and (max-width: 767px) {
    #secondview {
        margin-top: calc(245* (100vw /750));
    }
}

@media screen and (min-width: 768px) {

    #secondview .movie #btn,
    #secondview .movie #btn02 {
        width: 3.8rem;
        bottom: -2.7rem;
        right: 0rem;
    }

    #secondview .movie #btn02 {
        width: 4.2rem;
        right: -0.3rem;
    }
}

#secondview .movie #btn02.active {
    visibility: visible;
    opacity: 1;
}

#secondview .movie #btn02.active2 {
    opacity: 0;
}

#secondview .movie #btn.active {
    opacity: 0;
}

#secondview .movie #btn.active2 {
    opacity: 1;
}

.main_visual-image {
    opacity: 1;
    will-change: opacity;
    -webkit-transition: ease-in, opacity 2000ms;
    transition: ease-in, opacity 2000ms;
}

.main_visual-image {
    will-change: opacity, transform;
    -webkit-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.5s, -webkit-transform 1.5s;
    transition: cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.5s, -webkit-transform 1.5s;
    transition: cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.5s, transform 1.5s;
    transition: cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1.5s, transform 1.5s, -webkit-transform 1.5s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.main_visual.onView .main_visual-image {
    opacity: 1;
}

.main_visual.onView .main_visual-image {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1);
}

.main_visual-image:hover {
    opacity: 1;
}

/*=======================================
                  PC   
========================================*/
/* ===================
	　　 General
=================== */
:root {
    --sticky-height: calc(290* (100vw /1400));
}

html {
    font-size: 62.5%;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#breadcrumb.edit_lp .cateList {
    margin: 0 auto 30px 120px;
}

#mainLP_Contents {
    /* background-image: url(../img/pc1.jpg);
	background-repeat: no-repeat;
	background-size: 128rem; 
	background-position-x: center; 
	background-position-y: 0; */
}

/* #mainLP_Contents::before{
	content: "";
	position: absolute;
	background-image: url(../img/pc2.jpg);
	background-size: contain;
	z-index: -1; 
	width: 128rem;
	height: 524rem;
	top: 1490.6rem;
	left: 0;
	right: 0;
	margin: auto;
} */
#wrapper {
    /* margin: 0 auto 12rem; */
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #3a3a3a;
    overflow: clip;
}

.header,
.header-banner-container-ticker {
    display: none;
}

.header.js-header-background {
    background: transparent;
}

/* ===================
	  common
=================== */
#wrapper img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
}

@media screen and (min-width: 768px) {
    .sp_only {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .pc_only {
        display: none !important;
    }
}

.yumincho {
    font-family: "游明朝体", YuMincho, "Yu Mincho", "游明朝";
    line-height: 2.15;
    letter-spacing: 0.015em;
    font-feature-settings: "palt";
    color: #333333;
    font-size: 1.5rem;
    font-weight: 800;
}

.Crimson_Text {
    font-family: 'Crimson Text', serif;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
}

.KudryashevDisplay {
    font-family: kudryashev-d-contrast, sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.075em;
    color: #310D00;
}

.ryumin {
    font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.3rem;
}

@media all and (-ms-high-contrast: none) {
    .ryumin {
        font-family: 'Zen Old Mincho', serif;
    }
}

@font-face {
    font-family: 'Cochin';
    src: url('../fonts/Cochin.ttf');
}

#wrapper section .zoom a:hover {
    opacity: 1;
}

#wrapper .flex {
    display: flex;
}

.row-reverse {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.zoom {
    overflow: hidden;
}

/* .zoom img {
    -webkit-transition: all ease 1500ms;
    transition: all ease 1500ms;
}

.zoom video {
    -webkit-transition: all ease 1500ms;
    transition: all ease 1500ms;
}

.zoom a:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
} */

/* ===============================================
* main_visual *
=============================================== */
.sticky {
    position: -webkit-sticky;
    position: sticky;
    z-index: 1;
    height: 0;
    pointer-events: none;
}

.main_visual {
    position: relative;
}

.main_visual .inner {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: calc(100dvh - var(--sticky-height));
    z-index: 2;
    top: 0;
    width: 100%;
    pointer-events: none;
}


.main_visual .fade2,
.main_visual .fade3 {
    width: 100%;
}

.main_visual .fade2 .js-fade {
    transition-delay: 0.4s;
}

.main_visual .fade3 .js-fade {
    transition-delay: 0.8s;
}

.fade4 .js-fade {
    transition-delay: 1.3s;
}



@media screen and (max-width: 767px) {
    .sp-sticky {
        position: relative;
    }

    .sticky {
        --sticky-height: calc(310* (100vw /750));
        /* top: calc(776* (100vw /750)); */
        bottom: calc(15*(100vw / 750));
        left: 0;
        height: var(--sticky-height, calc(310* (100vw /750)));
        transition: all 0.5s;
        margin-top: calc(-310*(100vw / 750));
    }

    .sticky .ttl-a {
        opacity: 1;
        transition-property: opacity;
        transition-duration: 0.7s;
    }

    .sticky.active .ttl-a {
        opacity: 0;
    }

    .sticky .ttl-b {
        opacity: 0;
        transition-property: opacity;
        transition-duration: 0.7s;
    }

    .sticky.active .ttl-b {
        opacity: 1;
    }

    .sticky .inner {
        position: relative;
    }

    .sticky .inner img {
        position: absolute;
    }

    .img01 {
        width: calc(461* (100vw /750));
        /* bottom: calc(250* (100vw /750));
        left: 50%;
        transform: translateX(-50%); */
        margin: calc(250* (100vw /750)) auto 0;
        /* padding-bottom: calc(250* (100vw /750)); */
        position: relative;
        z-index: 2;
    }

    /* .main_visual {
        margin-top: calc(-310* (100vw /750));
    } */

    .main_visual .fade2 {
        width: calc(310* (100vw /750));
    }

    .main_visual .fade3 {
        width: calc(225*(100vw / 750));
        margin-top: calc(20*(100vw / 750));
        padding-bottom: calc(180* (100vw /750));
    }
}

@media screen and (min-width: 768px) {

    .main_visual .fade2 {
        width: calc(216* (100vw /1400));
        padding-top: calc(7* (100vw /1400));
    }

    .main_visual .fade3 {
        width: calc(140* (100vw /1400));
        margin-top: calc(11*(100vw / 1400));
    }

    .pc-sticky {
        position: relative;
        /* height: calc(3700* (100vw /1400)); */
    }

    .sticky {
        --sticky-height: calc(290* (100vw /1400));
        /* top: calc(650* (100vw /1400)); */
        bottom: calc(10* (100vw /1400));
        height: var(--sticky-height, calc(290* (100vw /1400)));
        transition: all 0.5s;
        margin-top: calc(-290*(100vw / 1400));
    }
}








/* ===============================================
*  *
=============================================== */
#secondview {
    text-align: center;
    position: relative;

    z-index: 2;
}

.main_visual-image {
    width: 100%;
    margin: 0 auto;
}

.main_visual-image img {
    object-fit: cover;
    height: 100vh !important;
    object-position: top;
}

#secondview a {
    width: 100%;
    height: 100%;
    display: block;
}

#secondview .movie {
    width: 100%;
    height: auto;
    position: relative;
    /* overflow: hidden; */
}

#secondview .movie video {
    width: 100%;
}

@media screen and (max-width: 767px) {
    #secondview {
        padding-bottom: calc(200* (100vw /750));
        background-color: #fff;
    }

    .block--01 {
        position: relative;
        height: calc(1424* (100vw /750));
    }

    .img03 {
        position: absolute;
        z-index: 1;
        width: calc(600* (100vw /750));
        top: calc(530* (100vw /750));
        left: 50%;
        transform: translateX(-50%);
    }
}

@media screen and (min-width: 768px) {
    #secondview .movie {
        width: calc(1000* (100vw /1400));
        margin: calc(170* (100vw /1400)) auto 0;
    }

    .block--01 {
        display: flex;
        justify-content: space-between;
        margin-top: calc(170*(100vw / 1400));
    }

    .block--01 .img-wrap {
        width: calc(698* (100vw /1400));
        width: 49.8575%;
    }

    .img01 {
        width: calc(461* (100vw /1400));
        margin: calc(170* (100vw /1400)) auto 0;
    }
}


/* ===============================================
* block--02 *
=============================================== */
.block--02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(2* (100vw /750)) 0;
    /* margin-top: calc(198* (100vw /750)); */
}

@media screen and (max-width: 767px) {
    .block--02 .img-wrap {
        width: calc(374* (100vw /750));
    }

    .img10 {
        width: calc(600* (100vw /750));
        margin: calc(200* (100vw /750)) auto 0;
    }
}

@media screen and (min-width: 768px) {
    .block--02 {
        gap: calc(4* (100vw /1400)) 0;
        margin-top: calc(170* (100vw /1400));
    }

    .block--02 .img-wrap {
        /* width: calc(464* (100vw /1400)); */
        width: 33.143%;
    }
}

/* ===============================================
* block--03 *
=============================================== */
@media screen and (max-width: 767px) {
    .block--03 {
        margin-top: calc(200* (100vw /750));
    }

    .img11 {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }

    .img12 {
        position: relative;
        z-index: 1;
    }
}

@media screen and (min-width: 768px) {
    .block--03 {
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        padding-top: calc(4* (100vw /1400));
    }

    .block--03 .img-wrap {
        /* width: calc(698* (100vw /1400)); */
        width: 49.8575%;
    }
}

/* ===============================================
* block--04 *
=============================================== */
@media screen and (max-width: 767px) {
    .block--04 {
        width: calc(372* (100vw /750));
        margin: calc(200* (100vw /750)) auto 0;
    }

    .img14 {
        margin-top: calc(2* (100vw /750));
    }
}

@media screen and (min-width: 768px) {
    .block--04 {
        display: flex;
        justify-content: space-between;
        padding-top: calc(4* (100vw /1400));
    }

    .block--04 .img-wrap {
        width: calc(464* (100vw /1400));
        width: 33.143%;
    }
}

/* ===============================================
* block--05 *
=============================================== */
@media screen and (max-width: 767px) {
    .block--05 {
        display: flex;
        justify-content: space-between;
        margin-top: calc(200* (100vw /750));
    }

    .block--05 .img-wrap {
        width: calc(374* (100vw /750));
    }
}

/* ===============================================
* block--06 *
=============================================== */
#sec01 {
    font-family: "linotype-sabon", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(26* (100vw /750));
    line-height: 1.3076923077;
    text-align: center;
    letter-spacing: -0.01em;
}

.ttl-wrap {
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .block--06 {
        position: relative;
        margin-top: calc(200* (100vw /750));
        height: calc(1700* (100vw /750));
    }

    .img17 {
        width: calc(600* (100vw /750));
        margin: calc(200* (100vw /750)) auto 0;
    }

    .block--06 .tx-wrap {
        text-align: center;
        margin-top: calc(224* (100vw /750));
    }

    .block--06 .ttl-wrap {
        position: absolute;
        width: calc(750* (100vw /750));
        bottom: calc(-202*(100vw / 750));
        z-index: -1;
    }
}

@media screen and (min-width: 768px) {
    #sec01 {
        font-family: "garamond-premier-pro-display", serif;
        font-weight: 300;
        font-style: normal;
        font-size: calc(16* (100vw /1400));
        line-height: 1.07;
        letter-spacing: -0.014em;
    }

    .block--06 {
        position: relative;
        padding-top: calc(4* (100vw /1400));
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
    }

    .block--06 .img-wrap,
    .block--06 .tx-wrap {
        width: calc(700* (100vw /1400));
    }

    .block--06 .tx-wrap {
        padding-top: calc(210* (100vw /1400));
    }

    .block--06 .ttl-wrap {
        position: absolute;
        width: 100%;
        bottom: 0;
    }
}

/* ===============================================
* block--07 *
=============================================== */
@media screen and (max-width: 767px) {
    .block--07 {
        width: calc(600* (100vw /750));
        margin: auto;
    }
}

@media screen and (min-width: 768px) {
    .block--07 {
        position: relative;
        display: flex;
        align-items: center;
    }

    .block--07 .img-wrap,
    .block--07 .tx-wrap {
        width: calc(700* (100vw /1400));
    }

    .block--07 .tx-wrap {
        padding-top: calc(258* (100vw /1400));
    }

    .block--07 .ttl-wrap {
        position: absolute;
        width: 100%;
        bottom: 0;
    }
}

/* ===============================================
* block--08 *
=============================================== */
@media screen and (max-width: 767px) {

    .img19 {
        margin-top: calc(250* (100vw /750));
    }

    .img20 {
        position: relative;
        margin: calc(250* (100vw /750)) auto 0;
        width: calc(372* (100vw /750));
    }

    .img20::before {
        content: "";
        position: absolute;
        width: calc(750* (100vw /750));
        height: calc(613* (100vw /750));
        background: url(../img/svg/sp/ttl2.svg) center/contain no-repeat;
        left: 50%;
        transform: translateX(-50%);
        top: calc(285* (100vw /750));
        z-index: -1;
    }

    .img21 {
        margin-top: calc(360* (100vw /750));
    }
}

@media screen and (min-width: 768px) {
    .block--08 {
        display: grid;
        grid-template-columns: calc(464* (100vw /1400)) auto;
        grid-template-rows: calc(680* (100vw /1400)) auto;
        padding-top: calc(4* (100vw /1400));
        gap: calc(4* (100vw /1400));
    }

    .img19 {
        width: calc(932* (100vw /1400));
        grid-area: 1/2/3/3;
    }

    .img20 {
        width: calc(464* (100vw /1400));
        grid-area: 2/1/3/3;
    }

    .img21 {
        width: calc(464* (100vw /1400));
        grid-area: 1/1/2/2;
    }
}

/* ===============================================
* block--09 *
=============================================== */
.block--09 {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: calc(803* (100vw /750));
    margin-top: calc(325* (100vw /750));
}

.block--09 .img-wrap {
    position: absolute;
    width: calc(237* (100vw /750));
}

.img23 .js-fade {
    transition-delay: 0.15s;
}

.img24 .js-fade {
    transition-delay: 0.3s;
}

.img25 .js-fade {
    transition-delay: 0.45s;
}

.img26 .js-fade {
    transition-delay: 1.1s;
}

.img27 .js-fade {
    transition-delay: 0.9s;
}

.img28 .js-fade {
    transition-delay: 0.9s;
}

.img29 .js-fade {
    transition-delay: 0.6s;
}


@media screen and (max-width: 767px) {
    .img22 {
        left: calc(-142*(100vw / 750));
        top: calc(30*(100vw / 750));
    }

    .img23 {
        left: calc(80*(100vw / 750));
        top: calc(0* (100vw /750));
    }

    .img24 {
        left: calc(327*(100vw / 750));
        top: calc(68*(100vw / 750));
    }

    .img25 {
        left: calc(570*(100vw / 750));
        top: calc(0*(100vw / 750));
    }

    .img26 {
        left: calc(97*(100vw / 750));
        top: calc(432*(100vw / 750));
    }

    .img27 {
        left: calc(303*(100vw / 750));
        top: calc(450*(100vw / 750));
    }

    .img28 {
        left: calc(550*(100vw / 750));
        top: calc(412*(100vw / 750));
    }

    .img29 {
        left: calc(710*(100vw / 750));
        top: calc(450*(100vw / 750));
    }

    .img30 {
        left: 50%;
        transform: translateX(-50%);
        top: calc(90* (100vw /750));
        width: calc(486* (100vw /750)) !important;
    }

    .img23 .js-fade {
        transition-delay: 0.15s;
    }

    .img24 .js-fade {
        transition-delay: 0.3s;
    }

    .img25 .js-fade {
        transition-delay: 0.45s;
    }

    .img26 .js-fade {
        transition-delay: 1.1s;
    }

    .img27 .js-fade {
        transition-delay: 0.9s;
    }

    .img28 .js-fade {
        transition-delay: 0.9s;
    }

    .img29 .js-fade {
        transition-delay: 0.6s;
    }

    .img30 .js-fade {
        transition-delay: 1.8s;
    }
}

@media screen and (min-width: 768px) {
    .block--09 {
        height: calc(1443*(100vw / 1400));
        ;
        margin-top: calc(4* (100vw /1400));
        overflow: initial;
    }

    .sticky-wrap .sticky {
        --sticky-height: calc(290*(100vw / 1400));
        bottom: calc(10*(100vw / 1400));
        height: var(--sticky-height, calc(290*(100vw / 1400)));
        margin-top: 0;
    }

    .block--09 .img-wrap {
        width: calc(282* (100vw /1400));
    }

    .img22 {
        left: 0;
        top: calc(290*(100vw / 1400));
    }

    .img23 {
        left: calc(264*(100vw / 1400));
        top: calc(247* (100vw /1400));
    }

    .img24 {
        left: calc(560*(100vw / 1400));
        top: calc(270*(100vw / 1400));
    }

    .img25 {
        left: calc(847*(100vw / 1400));
        top: calc(247*(100vw / 1400));
    }

    .img26 {
        left: calc(286*(100vw / 1400));
        top: calc(761*(100vw / 1400));
    }

    .img27 {
        left: calc(558*(100vw / 1400));
        top: calc(780*(100vw / 1400));
    }

    .img28 {
        left: calc(852* (100vw /1400));
        top: calc(740*(100vw / 1400));
    }

    .img29 {
        left: calc(1118*(100vw / 1400));
        top: calc(761*(100vw / 1400));
    }
}

/* ===============================================
* block--10 *
=============================================== */
.block--10 {
    margin-top: calc(327* (100vw /750));
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(2 * (100vw /750)) 0;
}

.block--10 .img-wrap {
    width: calc(374* (100vw /750));
}

@media screen and (min-width: 768px) {
    .block--10 {
        margin-top: calc(10* (100vw /1400));
        flex-wrap: nowrap;
        gap: 0;
    }

    .block--10 .img-wrap {
        width: calc(464* (100vw /1400));
        width: 33.143%;
    }
}

/* ===============================================
* block--11 *
=============================================== */
@media screen and (max-width: 767px) {
    .img35 {
        width: calc(600* (100vw /750));
        margin: calc(200* (100vw /750)) auto 0;
    }

    .img36 {
        margin-top: calc(200* (100vw /750));
    }
}

@media screen and (min-width: 768px) {
    .block--11 {
        display: flex;
        justify-content: space-between;
        padding-top: calc(4* (100vw /1400));
    }

    .block--11 .img-wrap {
        width: calc(698* (100vw /1400));
        width: 49.8575%;
    }
}

/* ===============================================
* block--12 *
=============================================== */
.block--12 .tx-wrap {
    font-family: "garamond-premier-pro", serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(23* (100vw /750));
    letter-spacing: -0.01em;
    line-height: 1.3913043478;
}

@media screen and (max-width: 767px) {
    .block--12 .tx-wrap {
        margin-top: calc(60* (100vw /750));
    }

    .img37 {
        width: calc(372* (100vw /750));
        margin: calc(250* (100vw /750)) auto 0;
    }

    .block--12 .ttl-wrap {
        margin-top: calc(120* (100vw /750));
        margin-bottom: calc(15* (100vw /750));
    }
}

@media screen and (min-width: 768px) {
    .block--12 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        /* padding-bottom: calc(255* (100vw /1400)); */
    }

    .block--12 .tx-wrap {
        font-size: calc(14* (100vw /1400));
        line-height: 1.5714285714;
        order: 2;
        margin-top: calc(67* (100vw /1400));
    }

    .img37-wrap {
        padding-top: calc(200* (100vw /1400));
        order: 1;
        width: 100%;
    }

    .img37 {
        width: calc(300* (100vw /1400));
        margin: auto;
    }

    .block--12 .ttl-wrap {
        margin-top: calc(125*(100vw / 1400));
        margin-bottom: calc(10*(100vw / 1400));
        order: 3;
        width: 100%;
    }
}

/* ===================
	　　 section01
=================== */
#sec01 {
    text-align: center;
    position: relative;
    z-index: 2;
}

#sec01 .img01 {
    width: 78rem;
    margin: 0 auto 6.5rem;
}

#sec01 .ttl {
    width: 51.4rem;
    margin: 0 auto 17rem;
}

#sec01 .img02 {
    width: 58rem;
    margin: 0 auto 11.3rem;
}

#sec01 .movie {
    width: 58rem;
    margin: 0 auto;
}

#sec01 .movie video {
    width: 58rem;
    height: 72.5rem;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    #sec01 {
        background-color: #fff;
    }
}


#dvUserBox table {
    background-color: #fff;
}

/* for SP */
@media screen and (max-width: 767px) {

    /*=======================================
                    SP    
  ========================================*/

    /* ===================
	　　 General
=================== */
    .header {
        display: block;
    }

    .btn-search {
        display: none;
    }

    .htest.open .btn-search {
        display: block;
    }

    .btn-cart {
        display: none;
    }

    .htest.open .btn-cart {
        display: block;
    }

    .header .header-logo img {
        display: none;
        margin: auto;
    }

    .htest.open .header-logo img {
        display: block;
    }

    .header .header-logo a {
        display: inline-block;
    }

    main {
        padding: 0 !important;
    }

    .header .btn-menu.open .border::before {
        background: #000;
    }

    .header .btn-menu.open .border::after {
        background: #000;
    }

    .header .btn-menu .border {
        background: #fff;
    }

    .header .btn-menu .border::before {
        background: #fff;
    }

    .header .btn-menu .border::after {
        background: #fff;
    }

    .header .btn-menu {
        will-change: transform;
        -webkit-transition: ease-in, -webkit-transform 1000ms;
        transition: ease-in, -webkit-transform 1000ms;
        transition: ease-in, transform 1000ms;
        transition: ease-in, transform 1000ms, -webkit-transform 1000ms;
        transform: translate3d(0, -10rem, 0);
    }

    .header .btn-menu.hide {
        transform: translate3d(0, 0, 0);
    }

    .header .btn-menu .border {
        width: calc(54 *(100vw / 750));
    }

    .header .btn-menu .border::before,
    .header .btn-menu .border::before {
        width: calc(54 *(100vw / 750));
        top: calc(-20 *(100vw / 750));
    }

    .header .btn-menu .border::before,
    .header .btn-menu .border::after {
        width: calc(54 *(100vw / 750));
        bottom: calc(-20 *(100vw / 750));
    }

    #breadcrumb .cateList {
        margin: 0 auto !important;
    }

    .main-area {
        /* background-image: url(../img/sp1.jpg);
	background-repeat: no-repeat;
	background-size: calc(750* (100vw / 750)); 
	background-position-x: center;  */
        /* position: relative; */
    }

    /* .main-area::before{
	position: absolute;
	content: "";
	background-image: url(../img/sp2.jpg);
	background-repeat: no-repeat;
	width: calc(750* (100vw / 750)); 
	height: calc(16045* (100vw / 750)) ;
	background-position-x: center; 
	background-size: inherit;
	z-index: -1;
} */

    .main-area .main-inner {
        width: 100%;
    }

    #wrapper {
        width: calc(586* (100vw / 586));
        margin: 0 auto;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .slick-dots li button {
        width: calc(11* (100vw / 586));
        height: calc(11* (100vw / 586));
        border: calc(2* (100vw / 586)) solid #3a3a3a;
    }

    .slick-dots li {
        margin: 0 calc(5* (100vw / 586));
    }

    .slick-dots {
        position: absolute;
        bottom: calc(-38* (100vw / 750));
        right: calc(25* (100vw / 586));
    }

    /* ===================
　　  common
  =================== */
    .yugothic {
        font-size: calc(28* (100vw / 750));
    }

    .yumincho {
        font-size: calc(26* (100vw / 750));
        font-weight: 600;
        line-height: 1.95;
    }

    .Crimson_Text {
        letter-spacing: 0.025em;
    }

    .KudryashevDisplay {
        font-weight: normal;
        font-style: normal;
        letter-spacing: 0.075em;
    }

    .ryumin {
        font-size: calc(14* (100vw / 586));
    }

    #wrapper .flex {
        display: flex;
        flex-wrap: wrap;
    }

    #secondview .movie #btn03 {
        width: calc(96*(100vw / 586));
        bottom: calc(29*(100vw / 586));
        right: calc(23*(100vw / 586));
        position: absolute;
    }

    #secondview .movie #btn04 {
        width: calc(105*(100vw / 586));
        bottom: calc(29*(100vw / 586));
        right: calc(17*(100vw / 586));
        position: absolute;
        opacity: 0;
        visibility: hidden;
    }

    #secondview .movie #btn04.active3 {
        visibility: visible;
        opacity: 1;
    }

    #secondview .movie #btn04.active4 {
        opacity: 0;
    }

    #secondview .movie #btn03.active3 {
        opacity: 0;
    }

    #secondview .movie #btn03.active4 {
        opacity: 1;
    }



    .footer {
        position: relative;
        z-index: 999;
        margin-top: 0;
    }
}


/* for Tablet */
@media screen and (min-width: 768px) and (max-width: 1280px) {

    /*=======================================
                    Tablet    
========================================*/
    html {
        font-size: calc(10* (100vw / 1280)) !important;
    }

    * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

}



.js-fade {
    opacity: 0;
    will-change: opacity, transform;
    -webkit-transition: ease-in, opacity 1500ms, -webkit-transform 1000ms;
    transition: ease-in, opacity 1500ms, -webkit-transform 1000ms;
    transition: ease-in, opacity 1500ms, transform 1000ms;
    transition: ease-in, opacity 1500ms, transform 1000ms, -webkit-transform 1000ms;
    -webkit-transform: translate3d(0, 2.5rem, 0);
    transform: translate3d(0, 2.5rem, 0);
}

.js-fade.active {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 768px) {
    .block:not(.block--01, .block--02, .block--09, .block--10) {
        background: #fff;
    }

    .block--02,
    .block--10 {
        background: linear-gradient(transparent 30%, #fff 53%);
    }
}