@charset "utf-8";
/* Reset */
html{font-size: 62.5%; scroll-behavior: smooth; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch;}
body{color: #000; line-height: 1.9; word-spacing: 0; font-size: 1.6rem; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; font-family: 'Noto Serif JP', serif; font-weight: 400;}

*{margin: 0; padding: 0; box-sizing: border-box; border: 0; outline: none;}
h1, h2, h3, h4, h5, h6{font-size: 100%; font-weight: 500;}
ol, ul{list-style: none;}
table{border-collapse: collapse; border-spacing: 0;}
th{text-align: left; font-weight: normal;}
a{color: inherit; text-decoration: none;}
img{vertical-align: bottom; max-width: 100%;}

[class*="container-"]{margin: 0 auto; width: calc(100% - 60px);}
.container-1200{max-width: 1200px;}
.container-1400{max-width: 1400px;}
.container-1600{max-width: 1600px;}

.cap,
[class*="cap-"]{font-size: 1rem; line-height: 1.4;}
.cap-abs_right{position: absolute; bottom: 7px; right: 7px; text-align: right;}
.cap-abs_left{position: absolute; bottom: 7px; left: 7px;}
.cap-right{padding-top: 5px; text-align: right;}
.cap-left{padding-top: 5px;}
.shadow{color: #fff; text-shadow: 0 0 1px rgba(0,0,0,.8), 0 0 2px rgba(0,0,0,.8), 0 0 3px rgba(0,0,0,.8), 0 0 4px rgba(0,0,0,.8), 0 0 5px rgba(0,0,0,.8), 0 0 6px rgba(0,0,0,.8), 0 0 7px rgba(0,0,0,.8), 0 0 8px rgba(0,0,0,.8), 0 0 9px rgba(0,0,0,.8), 0 0 10px rgba(0,0,0,.8);}

.center{text-align: center !important;}
.left{text-align: left !important;}
.right{text-align: right !important;}
.bold{font-weight: bold;}
.txt-red{color: #a81d34;}

@media (min-width: 768px){
    a[href^="tel:"]{pointer-events: none;}
    .only-sp{display: none;}
    .group{padding: 140px 0;}
}

@media (max-width: 767px){
    body{font-size: 1.4rem; line-height: 1.7;}
    [class*="container-"]{width: calc(100% - 40px);}
    .only-pc{display: none;}
    .group{padding: 70px 0;}
}

@media print {
    body{color-adjust: exact; -webkit-print-color-adjust: exact; print-color-adjust: exact;}
}

/* Animate */
.fade-in{opacity: 0; filter: blur(5px) brightness(105%); transition: opacity 1.3s ease, filter 1s ease;}
.fade-in.is-view{opacity: 1; filter: blur(0) brightness(100%);}

.fade-up{opacity: 0; transform: translateY(40px); -webkit-transform: translateY(40px); filter: blur(5px) brightness(105%); transition: opacity 1s ease, transform 1s ease, filter 1s ease;}
.fade-up.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-down{opacity: 0; transform: translateY(-40px); -webkit-transform: translateY(-40px); filter: blur(5px) brightness(105%); transition: opacity 1s ease, transform 1s ease, filter 1s ease;}
.fade-down.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-left{opacity: 0; transform: translateX(-40px); -webkit-transform: translateX(-40px); filter: blur(5px) brightness(105%); transition: opacity 1s ease, transform 1s ease, filter 1s ease;}
.fade-left.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-right{opacity: 0; transform: translateX(40px); -webkit-transform: translateX(40px); filter: blur(5px) brightness(105%); transition: opacity 1s ease, transform 1s ease, filter 1s ease;}
.fade-right.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.zoom-in{opacity: 0; overflow: hidden; transform: scale(0.7,0.7); -webkit-transform: scale(0.7,0.7); transition: opacity 1s ease, transform 1s ease;}
.zoom-in.is-view{opacity: 1; transform: scale(1,1); -webkit-transform: scale(1,1);}

.zoom-out{opacity: 0; overflow: hidden; transform: scale(1.3,1.3); -webkit-transform: scale(1.3,1.3); transition: opacity 1s ease, transform 1s ease;}
.zoom-out.is-view{opacity: 1; transform: scale(1,1); -webkit-transform: scale(1,1);}

.roll-left{position: relative; overflow: hidden; z-index: 2;}
.roll-left img{opacity: 0; transition: opacity 1s ease .5s;}
.roll-left:after{content: ''; position: absolute; top: 0; bottom: 0; background: #a7003b;}
.roll-left.is-view img{opacity: 1;}
.roll-left.is-view:after{animation: rollLeft 1s ease;}

@keyframes rollLeft{
    0%{left: 0; right: 100%;}
    50%{left: 0; right: 0;}
    100%{left: 100%; right: 0;}
}
@-webkit-keyframes rollLeft{
    0%{left: 0; right: 100%;}
    50%{left: 0; right: 0;}
    100%{left: 100%; right: 0;}
}

.roll-right{position: relative; overflow: hidden; z-index: 2;}
.roll-right img{opacity: 0; transition: opacity 1s ease .5s;}
.roll-right:after{content: ''; position: absolute; top: 0; bottom: 0; background: #a7003b;}
.roll-right.is-view img{opacity: 1;}
.roll-right.is-view:after{animation: rollRight 1s ease;}

@keyframes rollRight{
    0%{right: 0; left: 100%;}
    50%{right: 0; left: 0;}
    100%{right: 100%; left: 0;}
}
@-webkit-keyframes rollRight{
    0%{right: 0; left: 100%;}
    50%{right: 0; left: 0;}
    100%{right: 100%; left: 0;}
}

@media (min-width: 768px){
    .delay1{transition-delay: .2s;}
    .delay2{transition-delay: .4s;}
    .delay3{transition-delay: .6s;}
}

/* Header */
h1{width: 157px; position: absolute; top: 0; left: 0; z-index: 100;}
h1 a{ display: block; cursor:pointer; transition: .4s;}
h1 a:hover{ opacity: .8;}

@media (max-width: 767px){
    h1{width: auto;}
    h1 img{height: 60px; width: auto;}
}

/* Main */
.main{isolation: isolate; overflow-x: hidden;}
.m-list img{ margin-bottom: 50px;}
.m-h2{margin: 0 auto 50px; text-align: center;}
.m-h2_en{font-size: 7rem; line-height: 0.78; font-family: 'Cormorant Garamond', serif; color: #a7003b; position: relative; padding: 0 0 0 18px; display: inline-block; font-weight: 400;
-webkit-text-fill-color: transparent; background: linear-gradient(to right, #a7003b 0, #a7003b 25%, #d3d3d3 25%, #d3d3d3 75%, transparent 75%, transparent 100%); background-size: 400% 120%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text;}
.m-h2_en:before{content: '';  width: 0; height: 0; border-top: 13px solid #a7003b; border-right: 13px solid transparent; position: absolute; top: 0; left: 0;}
.m-h2_jp{display: block; font-size: 1.6rem; line-height: 1.5; font-family: 'Noto Serif JP', serif; font-weight: 400; color: #000; padding: 10px 0 0 18px; opacity: 0; transition: opacity 1.2s;}

.m-h2.white .m-h2_en{color: #fff; -webkit-text-fill-color: transparent; background: linear-gradient(to right, #fff 0, #fff 25%, #333 25%, #333 75%, transparent 75%, transparent 100%);  background-size: 400% 120%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text;}
.m-h2.white .m-h2_en:before{border-top: 13px solid #fff;}
.m-h2.white .m-h2_jp{color: #fff;}

.m-h2.is-view .m-h2_en{animation: textLight 1s cubic-bezier(0.19, 1, 0.22, 1) both;}
.m-h2.is-view .m-h2_jp{opacity: 1;}

@-webkit-keyframes textLight {
    0% {background-position: 100% 0;}
    100% {background-position: 0 0;}
}
@-webkit-keyframes textLight {
    0% {background-position: 100% 0;}
    100% {background-position: 0 0;}
}

.m-h3{font-size: 3.8rem; line-height: 1.5; margin: 0 0 0.4em;}
.m-h4{font-size: 2.6rem; line-height: 1.7; margin: 0 0 15px;}

@media (max-width: 767px){
    .m-h2{margin-bottom: 20px !important;}
    .m-h2_en{font-size: 4.3rem; padding-left: 12px;}
    .m-h2_en:before{border-top: 8px solid #a7003b; border-right: 8px solid transparent;}
    .m-h2_jp{font-size: 1.4rem; padding: 10px 0 0 12px;}
    .m-h3{font-size: 2.2rem;}
    .m-h4{font-size: 1.8rem; line-height: 1.7;}
}

/* MV */
.mv{position: relative;}
.mv-wrap{position: absolute; bottom: 12%; left: 0; width: 100%; text-align: center; color: #fff; font-weight: 600;}
.mv-tit{ margin: 0 0 0 0.8em; text-align: center; font-size: 7rem; font-weight: 600; line-height: 1.2; text-shadow: 0px 0px 5px rgba(0, 0, 0, 1), 0px 0px 10px rgba(0, 0, 0, 1), 0px 0px 15px rgba(0, 0, 0, 1), 0px 0px 20px rgba(0, 0, 0, 1);}
.mv-tit.is-view{overflow: visible !important;  margin-block-start: 0; margin-block-end: 0;}
.mv-txt{font-size: 2.6rem; margin: 0.57em 0 1.73em; line-height: 2; display: inline-block; border-bottom: 1px solid #fff; text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.5), 0px 0px 15px rgba(0, 0, 0, 0.5), 0px 0px 20px rgba(0, 0, 0, 0.5);}
.mv-btn{display: flex; justify-content: center; margin:0 auto;}
.mv-btn a{font-size: 2.4rem; width: 388px; height: 98px; margin: 0 10px; border-radius: 6px; position: relative; display: flex; justify-content: center; align-items: center; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.6); transition: .4s;}
.mv-btn a:after{content: ''; position: absolute; top: 50%; right: 7.5%; margin-top: -4px; display: inline-block; padding: 4px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}

.mv-btn a.btn-reservation{background: #a7003b; color: #fff;}
.mv-btn a.btn-reservation:after{border: solid #fff; border-width: 0 2px 2px 0;}
.mv-btn a.btn-reservation:hover{background: #870030;}

.mv-btn a.btn-inquiry{background: #fff; color: #a7003b;}
.mv-btn a.btn-inquiry:after{border: solid #a7003b; border-width: 0 2px 2px 0;}
.mv-btn a.btn-inquiry:hover{background: #ddd;}

.mv-btn a.btn-trial{background: #928059; color: #fff; flex-direction: column; line-height: 1.2;}
.mv-btn a.btn-trial span{ display: block; width: 14em; background: #fff; font-size: 1.8rem; color: #928059; border-radius: 3px; padding:3px 5px; margin: 5px 0;}
.mv-btn a.btn-trial:after{border: solid #fff; border-width: 0 2px 2px 0;}
.mv-btn a.btn-trial:hover{background: #7b6c4b;}

@media (max-width: 1600px) and (min-width: 768px){
    .m-list img{ max-width: 41vw;}
    .mv img{ object-fit: cover; object-position: center;}
    .mv-tit{font-size: 4.375vw;}
    .mv-txt{font-size: 1.625vw;}
    .mv-btn a{font-size: 1.5vw; width: 25vw; height: 5.63vw;}

    .mv-btn a.btn-trial{ line-height: 1;}
    .mv-btn a.btn-trial span{ width: 14em; font-size: 1.13vw; }

}

@media (max-width: 1600px){
    .m-list img{ margin-bottom: 2rem; width: 86vw; height: auto;}
}

@media (max-width: 767px){
    .mv-wrap{bottom: auto; top: 38%;}
    .mv-tit{font-size: 7.4vw; }
    .mv-txt{font-size: 4.2vw; line-height: 1.6; letter-spacing: -0.05em; padding: 0; margin: 0.3em 0 1.5em; border-bottom: none;}
    .mv-txt:after{content: ''; width: 84vw; margin: 0.3em auto 0; height: 1px; background: #fff; display: block;}
    .mv-btn{flex-wrap: wrap;}
    .mv-btn a{font-size: 4.6vw; width: 70vw; height: 12vw; margin: 0 0 2.5vw 0;}
    .mv-btn a:after{padding: 0.8vw; margin-top: -0.8vw;}

    .mv-btn a.btn-trial{ line-height: 1.2; padding: 1.8em 0;}
    .mv-btn a.btn-trial span{ width: 14em; font-size: 3.13vw; }
}


/* Campaign */
.campaign{padding: 70px 0 100px; background: url("../img/bg_1.jpg"); text-align: center; line-height: 1;}
.campaign-tit{font-size: 3rem; line-height: 1; margin: 0 0 40px; color: #a7003b; font-weight: 400; font-family: 'Cormorant Garamond', serif;}
.campaign-wrap a{display: flex; flex-wrap: wrap; background: linear-gradient(to bottom, #870030, #630023); border-radius: 5px 0 0 5px; transition: .3s;}
.campaign-inner{width: 50%; font-size: 2.4rem; font-weight: 600; color: #fff; margin-top: 3.5%;}
.campaign-desc{background: #fff; color: #a7003b; padding: 0.75em 0;}
.campaign-txt{font-size: 4rem; padding: 0.78em 0;}
.campaign-btn{width: 60%; border-radius: 6px; padding: 1em 0; display: block; background: #928059; margin: 0 auto; position: relative; transition: .3;}
.campaign-btn:after{content: ''; position: absolute; top: 50%; right: 8%; margin-top: -4px; display: inline-block; padding: 4px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); border: solid #fff; border-width: 0 2px 2px 0;}
.campaign-img{width: 50%; transition: .3;}

.campaign-wrap a:hover{box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 10px; transform: translateY(-5px); -webkit-transform: translateY(-5px);}
.campaign-wrap a:hover .campaign-btn{background: #b19b6b;}

@media (max-width: 1200px){
    .campaign-inner{font-size: 2vw;}
    .campaign-txt{font-size: 3.2vw;}
}

@media (max-width: 767px){
    .campaign{padding: 50px 0 70px;}
    .campaign-tit{margin: 0 0 30px;}
    .campaign-img{width: 100%; order: -1;}
    .campaign-img img{width: 100%;}
    .campaign-inner{width: 100%; margin: 0; padding: 0 0 6vw; font-size: 4.5vw; background: linear-gradient(to bottom, #870030, #630023);}
    .campaign-txt{font-size: 6vw;}
    .campaign-btn{width: 70%;}
    .campaign-btn:after{padding: 0.8vw; margin-top: -0.8vw;}
}

/* About */
.about{padding: 100px 0; background: #f0efed;}
.about-wrap{display: flex; flex-wrap: wrap;}
.about-tit{width: 340px; margin: 15px 0 0 0;}
.about-txt{width: calc(100% - 340px); font-size: 2.4rem; line-height: 2.2;}
.about-map{width: 100%; margin: 50px auto 0; max-width: 520px;}
.about-map_tit{color: #a7003b; font-size: 2.4rem; line-height: 1; position: relative; z-index: 1; margin: 0 0 15px; font-weight: 400; font-family: 'Cormorant Garamond', serif; text-align: center;}
.about-map_tit:after{content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #a7003b; z-index: -1;}
.about-map_tit span{ background: #f0efed;display: inline-block; text-align: center; padding: 0 1em;}
.about-map_txt{ text-align: center; font-size: 2.8rem; margin-bottom: 1em; font-weight: 600; font-family: 'Cormorant Infant', serif;}
.about-map_txt span{ color: #a7003b; font-size: 4.8rem;}
.about-map img{ text-align: center; display: block; width: 100%; margin: 0 auto; height: auto; }
 
@media (max-width: 1200px){
    .about-txt{font-size: 2.1vw;}
}

@media (max-width: 767px){
    .about{padding: 70px 0;}
    .about-wrap{width: 100%;}
    .about-tit{width: 100%; text-align: center; margin: 0 0 30px;}
    .about-txt{width: 100%; font-size: 4.2vw; text-align: center;}
    .about-map{width: 100%;}
    .about-map_txt{ font-size: 1.8rem;}
    .about-map_txt span{ color: #a7003b; font-size: 3.5rem;}
    figure:has(.about-map_img){ width: calc(100% - 40px); margin: 0 auto;}
}

/* Service Video */
.serVideo{padding: 130px 0 140px; text-align: center; position: relative; font-size: 2rem;}
.serVideo-tit{position: absolute; top: 70px; left: 0; width: 100%; font-size: 26rem; color: #f0efed; opacity: .6; line-height: 0.8; font-family: 'Cormorant Garamond', serif; z-index: -1; letter-spacing: 0.04em;}
.serVideo-wrap{display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 50px;}
.serVideo-video{width: 65%; position: relative;}
.serVideo-video:after{content: ''; display: block; padding-bottom: 56.25%;}
.serVideo-video iframe{position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; margin: auto;}

.serVideo-map{width: 31%;}
.serVideo-map_tit{color: #a7003b; font-size: 2.4rem; line-height: 1; position: relative; z-index: 1; margin: 0 0 15px; font-weight: 400; font-family: 'Cormorant Garamond', serif;}
.serVideo-map_tit:after{content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #a7003b; z-index: -1;}
.serVideo-map_tit span{background: #fff; display: inline-block; padding: 0 1em;}
.serVideo-map_txt{ text-align: left; font-size: 1.8rem; margin-bottom: 1em;}

@media (max-width: 1200px){
    .serVideo-tit{font-size: 22vw;}
}

@media (max-width: 767px){
    .serVideo{font-size: 1.6rem; padding: 70px 0;}
    .serVideo-tit{top: 50px;}
    .serVideo-video{width: 100%; margin: 0 0 50px;}
    .serVideo-map{width: 100%;}
}


/* Service Office*/
.serOffice{background: #460019; color: #fff; padding: 40px 0 40px; text-align: center; font-weight: 600;}
.serOffice-tit{font-size: 2.6rem; line-height: 1.4; display: inline-block; border-bottom: 1px solid #fff; margin: 0 0 30px; padding: 0 0 0.25em;}
.serOffice-btn{display: flex; justify-content: space-between; flex-wrap: wrap;}
.serOffice-btn a{ width: 48.75%; height: 98px; display: flex; justify-content: center; align-items: center; align-content: center; flex-wrap: wrap; border-radius: 6px; position: relative; font-size: 2.4rem; line-height: 1.3; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4); transition: .3s;}
.serOffice-btn a:after{content: ''; position: absolute; top: 50%; right: 6%; margin-top: -4px; display: inline-block; padding: 4px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); border: solid #fff; border-width: 0 2px 2px 0;}

.serOffice-btn a.btn-preview{background: #a7003b;}
.serOffice-btn a.btn-preview:hover{background: #870030;}

.serOffice-btn a.btn-inquiry{background: #fff; color: #a7003b;}
.serOffice-btn a.btn-inquiry:hover{background: #ddd;}
.serOffice-btn a.btn-inquiry:after{border: solid #a7003b; border-width: 0 2px 2px 0;}

.serOffice-btn a.btn-trial{background: #928059;}
.serOffice-btn a.btn-trial:hover{background: #b19b6b;}
.serOffice-btn a.btn-trial span{font-size: 75%; line-height: 1; color: #928059; background: #fff; padding: 0.3em 0.5em; border-radius: 3px; margin: 0 0 0.1em;}
.serOffice-btn a.btn-trial p{width: 100%;}

@media (max-width: 1024px) and (min-width: 768px){
    .serOffice-tit{font-size: 2.6vw;}
    .serOffice-btn a{font-size: 2.2vw; height: 9.8vw;}
}

@media (max-width: 767px){
    .serOffice{padding: 40px 0 35px;}
    .serOffice-tit{font-size: 2rem; margin: 0 -20px 30px; border-bottom: none; padding: 0;}
    .serOffice-tit:after{content: ''; width: 72%; height: 1px; background: #fff; margin: 0.25em auto 0; display: block;}
    .serOffice-btn{max-width: 400px; margin: 0 auto;}
    .serOffice-btn a{font-size: 2rem; height: 76px; width: 100%; margin: 0 0 20px;}
}

/* Point */
.point{background: url("../img/bg_2.jpg"); padding: 225px 0 140px;}
.point-box{margin: 0 0 165px; position: relative;}
.point-box:last-of-type{margin: 0;}
.point-img{width: 52.6875%; position: absolute; top: -16%;}
.point-outer{width: 93.75%; height: 510px; background: #fff; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); display: flex; align-items: center;}
.point-inner{width: 50%; padding: 0 2% 0 6%; text-align: left;}
.point-inner .m-h2{margin: 0 0 40px; text-align: left;}
.point-left .point-img{right: 0;}
.point-right{display: flex; justify-content: flex-end;}
.point-right .point-img{left: 0;}
.point-right .point-outer{display: flex; justify-content: flex-end;}

@media (max-width: 1600px){
    .point-inner{padding: 0 2% 0 4%;}
}

@media (max-width: 1450px){
    .point-box:nth-of-type(1) .point-desc br,
    .point-box:nth-of-type(2) .point-desc br{display: none;}
}

@media (max-width: 1024px){
    .point{padding: 140px 0;}
    .point-box{display: block; margin: 0 0 70px;}
    .point-img{position: relative; text-align: center; width: 100%; top: 0; left: 0;}
    .point-img img{width: 100%;}
    .point-outer{width: 100%; height: auto;}
    .point-inner{padding: 50px; width: 100%;}
}

@media (max-width: 767px){
    .point{padding: 70px 0;}
    .point-box{margin: 0 0 30px;}
    .point-inner{padding: 30px 20px;}
}

/* Location */
.location{text-align: center; padding: 2.6vw 0 19vw; background: #f0efed url("../img/bg_3.jpg") no-repeat center center;}
.location h4{margin: 0 0 25px;}
.location h4:before{content: ''; display: block; width: 94px; height: 135px; margin: 0 auto 20px; background: url("../img/ic_movement.svg") no-repeat bottom left/100% 100%;}
.location p{ font-size: 1.8rem;}
@media (max-width: 1920px){
    .location{background-size: 100% auto;}
}
@media (max-width: 1399px){
    .location h4{ font-size: 2vw; margin-bottom: 10px;}
    .location p{ font-size: 1.2vw;}
}
@media (max-width: 767px){
    .location{padding: 30px 0 150px; background-position: bottom 10% right 15%; background-size: 150% auto;}
    .location h4{ font-size: 1.8rem;}
    .location h4:before{width: 28px; height: 41px; margin: 0 auto 10px; }
    .location p{padding: 0 10px; font-size: 1.4rem;}
}

/* Gallery */
.gallery{background: #393733; color: #fff;}

.gallery-txt{font-size: 2.2rem; line-height: 1.7; padding: 15px 0 10px; text-align: center;}
.gallery-box{text-align: center; margin-bottom: 70px;}

.gallery-slider .slick-slide{margin: 0 50px; width: 680px;}
.gallery-slider .slick-dots{display: flex; justify-content: center; margin: 30px 0 60px;}
.gallery-slider .slick-dots li{width: 10px; height: 10px; border-radius: 100%; border: 1px solid #fff; margin: 0 10px; text-indent: -9999px; cursor: pointer;}
.gallery-slider .slick-dots li.slick-active{background: #fff;}
.gallery-slider .slick-arrow{position: absolute; width: 14px; height: 24px; top: 188px; text-indent: -9999px; z-index: 100; margin-top: -7px; cursor: pointer;}
.gallery-slider .slick-prev{background: url("../img/btn_prev_white.png") no-repeat top left/100% 100%; left: 50%; margin-left: -397px;}
.gallery-slider .slick-next{background: url("../img/btn_next_white.png") no-repeat top left/100% 100%; right: 50%; margin-right: -397px;}
.gallery-slider .gallery-desc{padding: 0 5%;}

.designer{background: #fff; color: #000; padding: 70px 30px; position: relative;}
.designer-wrap{display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1040px; margin: 0 auto;}
.designer-inner{width: calc(100% - 370px);}
.designer-tit{font-size: 2.4rem; line-height: 1; color: #a81d34; font-family: 'Cormorant Garamond', serif;}
.designer h4{margin: 20px 0 15px;}
.designer-profile{width: 350px; display: flex; justify-content: space-between;}
.designer-photo{width: 48%; max-width: 160px;}
.designer-desc{font-size: 1.2rem; padding: 10px 0 5px;}
.designer-name span{font-size: 1.2rem; padding-left: 0.5em;}

.designer:before{content: ''; position: absolute; top: 0; right: 0; width: 100%; height: 100%; background: #393733; z-index: 3; transition: .8s;}
.designer.is-view:before{width: 0;}

@media (max-width: 1200px){
    .gallery-slider .slick-slide{margin: 0 30px; width: 480px;}
    .gallery-slider .slick-arrow{top: 129px;}
    .gallery-slider .slick-prev{margin-left: -277px;}
    .gallery-slider .slick-next{margin-right: -277px;}
}

@media (max-width: 767px){
    .gallery-box{margin-bottom: 50px; text-align: left; width: 100%;}
    .gallery-txt{font-size: 1.8rem;}
    .gallery-box .gallery-desc{padding: 0 20px;}

    .gallery-slider .slick-slide{margin: 0 34px; width: calc(100vw - 68px);}
    .gallery-slider .slick-slide img{width: 100%;}
    .gallery-slider .slick-arrow{top: 23.75vw; margin-top: -12px;}
    .gallery-slider .slick-prev{left: 10px; margin-left: 0;}
    .gallery-slider .slick-next{right: 10px; margin-right: 0;}
    .gallery-slider .gallery-desc{padding: 0;}

    .designer{padding: 30px 20px;}
    .designer h4{font-size: 2rem; margin: 15px 0;}
    .designer-inner{width: 100%; margin: 0 0 30px;}
    .designer-profile{max-width: 350px; width: 100%; margin: 0 auto;}
}

/* Plan */
.plan{background: #f0efed;}
.plan-tit{font-size: 4rem; line-height: 1; font-weight: 500; border-bottom: 1px solid #a7003b; padding: 0 0 30px; margin: 0 0 30px;}

.plan-office{margin: 0 0 80px; position: relative; min-height: 29.79vw;}
.plan-office_img{width: 50%; position: absolute; top: 0; right: 0;}
.plan-office_inner{width: 44.28%;}
.plan-office_cate{display: flex; align-items: center; margin: 0 0 15px; font-size: 2rem;}
.plan-office_cate .time{width: 90px; height: 43px; text-align: center; background: #d8d7d5; line-height: 43px; margin: 0 20px 0 0;}
.plan-office_cate .price{font-size: 3.6rem; line-height: 1; font-weight: 600;}
.plan-office_cate .price span{font-size: 167%; line-height: 0.9; color: #a7003b; font-family: 'Cormorant Infant', serif;}
.plan-office_cate .price .tax_in{ font-size: 44.44%;/*16px*/ color: #333;}
.plan-office_desc{font-size: 2rem;}

.plan-service{background: #ece1e3; padding: 25px 30px; margin: 30px 0 0 0;}
.plan-service_tit{font-size: 2.4rem; line-height: 1.6; font-weight: 500; color: #a7003b; margin: 0 0 10px;}

.plan-lounge{border: 1px solid #cac7bd;}
.plan-lounge_wrap{padding: 3.5%; display: flex; justify-content: space-between; flex-wrap: wrap;}
.plan-lounge_inner{width: 47.7%;}
.plan-lounge_img{width: 47.7%;}
.plan-lounge .plan-tit{font-size: 3.2rem;}

.plan-lounge_cate{display: flex; align-items: center; margin: 0 0 15px; font-size: 2rem;}
.plan-lounge_cate .txt{width: 220px;}
.plan-lounge_cate .time{width: 64px; height: 43px; text-align: center; background: #d8d7d5; line-height: 43px; margin: 0 20px 0 0;}
.plan-lounge_cate .price{font-size: 3rem; line-height: 1; font-weight: 600;}
.plan-lounge_cate .price span{font-size: 154%; line-height: 0.9; color: #a7003b; font-family: 'Cormorant Infant', serif;}
.plan-lounge_cate .price .tax_in{ font-size: 44.44%;/*16px*/ color: #333;}
.plan-lounge_desc{font-size: 1.8rem;}

@media (max-width: 1299px){
    .plan-lounge_cate .txt{width: 210px;}
    .plan-lounge_cate .time{margin: 0 10px 0 0;}
    .plan-lounge_cate .price .tax_in{ font-size: 12px; color: #333;}
}

@media (max-width: 1199px){
    .plan-office_img{position: relative; width: 100%;}
    .plan-office_inner{width: 100%; padding-top: 30px;}

    .plan-lounge_wrap{padding: 0;}
    .plan-lounge_img{width: 100%; order: -1;}
    .plan-lounge_img img{width: 100%;}
    .plan-lounge_inner{width: 100%; padding: 30px;}
    .plan-lounge_cate .price .tax_in{ font-size: 44%;}
}

@media (max-width: 767px){
    .plan-tit{font-size: 2.6rem; padding: 0 0 20px; margin: 0 0 20px;}

    .plan-office{margin: 0 0 50px;}
    .plan-office_desc{font-size: 1.6rem;}
    .plan-office_cate{font-size: 1.8rem;}
    .plan-office_cate .time{width: 80px; height: 35px; line-height: 35px;}
    .plan-office_cate .price{font-size: 2.6rem;}

    .plan-service{padding: 20px;}
    .plan-service_tit{font-size: 1.8rem;}

    .plan-lounge_inner{padding: 20px;}
    .plan-lounge .plan-tit{font-size: 2.2rem;}
    .plan-lounge_cate{font-size: 1.6rem;}
    .plan-lounge_cate .txt{width: 200px;}
    .plan-lounge_cate .time{width: 70px; height: 35px; line-height: 35px;}
    .plan-lounge_cate .price{font-size: 2rem;}
    .plan-lounge_cate .price .tax_in{ display: block; width: 100%; text-align: right;}
    .plan-lounge_desc{font-size: 1.4rem;}
}

@media (max-width: 480px){
    .plan-lounge_cate{font-size: 3vw;}
    .plan-lounge_cate .txt{width: 48%;}
    .plan-lounge_cate .time{width: 15%; height: 5vw; line-height: 5vw; margin: 0 3vw 0 0;}
    .plan-lounge_cate .price{font-size: 4.5vw;}
}

/* Plans */
.plans h3{text-align: center; margin: 0 0 1.2em;}
.plans-wrap{display: flex; justify-content: space-between; flex-wrap: wrap;}
.plans-step{width: 50%;}
.plans-step_tit{font-size: 3rem; line-height: 1.6; text-align: center; padding: 15px 5px; background: #f0efed; margin: 0 0 25px; position: relative; border-radius: 10px; font-weight: 500;}
.plans-step_tit:after{content: ''; position: absolute; left: 50%; bottom: -23px; margin-left: -23px; width: 0; height: 0; border-left: 23px solid transparent; border-right: 23px solid transparent; border-top: 23px solid #f0efed;}

.plans-fee{width: 46%;}
.plans-fee_tit{font-size: 2.4rem; line-height: 1.5; margin: 0 0 10px;}
.plans-fee_tbl{width: 100%; border: 1px solid #c1c1c1;}
.plans-fee_tbl td{width: 25%; border-right: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; text-align: center; padding-top: 11px; padding-bottom: 11px; vertical-align: middle;}
.plans-fee_tbl td:nth-of-type(1){background: #f1f1f1; text-align: left; padding-left: 15px;}
.plans-fee_tbl tr:nth-of-type(1) td:nth-of-type(2){background: #dccba5;}
.plans-fee_tbl tr:nth-of-type(1) td:nth-of-type(3){background: #928059; color: #fff;}
.plans-fee_tbl tr:nth-of-type(1) td:nth-of-type(4){background: #a7003b; color: #fff;}
.plans-fee_tbl .num{font-size: 3.6rem; line-height: 0.8; font-weight: 600; font-family: 'Cormorant Infant', serif;}
.plans-fee_tbl .note{font-size: 1.4rem; display: block;}
.plans-fee_tbl td.space{padding-top: 5px; padding-bottom: 5px;}

@media (max-width: 1600px) and (min-width: 1200px){
    .plans-fee_tbl{font-size: 0.9vw;}
    .plans-fee_tbl .num{font-size: 2.1vw;}
    .plans-fee_tbl .note{font-size: 0.8vw;}
}

@media (max-width: 1199px){
    .plans-step{width: 100%; text-align: center; margin: 0 0 50px;}

    .plans-fee{width: 100%;}
}

@media (max-width: 1199px) and (min-width: 768px){
    .plans-fee_tbl{font-size: 1.9vw;}
    .plans-fee_tbl .num{font-size: 4vw;}
    .plans-fee_tbl .note{font-size: 1.8vw;}
}

@media (max-width: 767px){
    .plans h3{margin: 0 -20px 1.2em;}
    .plans-step_tit{font-size: 4.5vw;}

    .plans-scroll{overflow: auto; -webkit-overflow-scrolling: touch;}
    .plans-fee_tit{font-size: 2rem;}
    .plans-fee_tbl{width: 768px;}
    .plans-fee_tbl td{width: 201px;}
    .plans-fee_tbl td:nth-of-type(1){position: sticky; top: 1px; left: 1px; z-index: 1; width: 165px;}
    .plans-fee_tbl td:nth-of-type(1):before{content: ''; position: absolute; top: -1px; left: -1px; width: 100%; height: 100%; border: 1px solid #c1c1c1;}
}

@media (max-width: 480px){
    .plans-fee_tbl{width: 615px;}
    .plans-fee_tbl td{width: 150px;}
}

/* Service */
.service{background: url("../img/bg_2.jpg");}
.service-wrap{padding: 5% 6.25%; background: #fff;}
.service-tit{font-size: 5rem; line-height: 1; color: #c0c0c0; text-align: center; font-family: 'Cormorant Garamond', serif;}
.service-tit span{ font-size: 32%; display: block; color:#333; margin-top: 10px;}
.service-list{display: flex; flex-wrap: wrap;}
.service-item{width: 31.5%; margin: 50px 2.75% 0 0;}
.service-item:nth-of-type(3n){margin-right: 0;}
.service-item.col2{width: 65.75%; margin-right: 0;}
.service-img{margin: 0 0 15px;}
.service-txt{font-size: 2.6rem; line-height: 1.6; margin: 0 0 5px;}
.service-txt span{font-size: 1.6rem; padding: 0 0 0 1em;}

.workspace{margin-bottom: 30px;}
.workspace-txt{font-size: 2rem; line-height: 1.6; padding: 0 0 5px;}

.service-other{padding: 50px 6.25% 60px; background: #fff; border-top: 1px solid #f4f2ee; text-align: center;}
.service-other .service-txt{margin: 0 0 10px;}

.hastag{display: flex; flex-wrap: wrap; font-family: 'Noto Sans JP', sans-serif;}
.hastag li{padding: 7px 27px; line-height: 1; margin: 10px 10px 0 0; display: flex; align-items: center; color: #a7003b; border: 2px solid #a7003b; border-radius: 38px;}
.hastag li img{margin-right: 7px;}

.hastag.center{justify-content: center;}
.hastag.center li{margin: 10px 5px 0; font-size: 1.8rem;}

.service-item .hastag{ max-width: 552px;}

@media (max-width: 767px){
    .service .m-h2_en{line-height: 0.9;}
    .service-wrap{padding: 30px 20px;}
    .service-tit{font-size: 3.5rem;}
    .service-txt{font-size: 2rem;}
    .service-txt span{font-size: 1.4rem; display: block; padding: 0;}
    .service-item{width: 100%; margin: 30px 0 0 0;}
    .service-img img{width: 100%;}
    .service-item.col2{width: 100%; margin-top: 15px;}

    .workspace-txt{font-size: 1.8rem;}

    .service-other{padding: 30px 20px;}

    .hastag li{font-size: 1rem !important; padding: 5px 10px; margin: 0 6px 6px 0;}
    .hastag.center li{margin: 6px 3px 0;}

    .service-item .hastag{ max-width: 390px;}
}

/* Environment */
.envir{background: #f0efed;}
.envir h3{margin: -10px 0 50px;}

.envir-about{background: #fff; display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 80px;}
.envir-about_inner{width: 50%; padding: 3.5%; line-height: 1.9;}
.envir-about_tit{font-size: 3rem; line-height: 1.5; font-family: 'Cormorant Infant', serif; margin: 0 0 1em; color: #c0c0c0;}
.envir-about_tit span{font-size: 153.4%; line-height: 1; font-family: 'Cormorant Garamond', serif; display: block;}
.envir-about_txt span{ color: #a7003b; font-weight: bold;}
.envir-about_img{width: 50%;}

.envir-slider{text-align: center;}
.envir-slider_txt{font-size: 2.2rem; line-height: 1.5; padding: 15px 0 10px;}
.envir-slider .slick-slide{margin: 0 30px; width: 480px;}
.envir-slider .slick-dots{display: flex; justify-content: center; margin: 40px 0 80px;}
.envir-slider .slick-dots li{width: 10px; height: 10px; border-radius: 100%; border: 1px solid #a7003b; margin: 0 10px; text-indent: -9999px; cursor: pointer;}
.envir-slider .slick-dots li.slick-active{background: #a7003b;}
.envir-slider .slick-arrow{position: absolute; width: 14px; height: 24px; top: 112px; text-indent: -9999px; z-index: 100; cursor: pointer;}
.envir-slider .slick-prev{background: url("../img/btn_prev_black.png") no-repeat top left/100% 100%; left: 50%; margin-left: -277px;}
.envir-slider .slick-next{background: url("../img/btn_next_black.png") no-repeat top left/100% 100%; right: 50%; margin-right: -277px;}

.envir-box{display: flex; justify-content: space-between; flex-wrap: wrap;}
.envir-item{width: 48.4%; background: #fff; border-radius: 6px; padding: 3.5% 4.3%;}
.envir-item h4{text-align: center; margin: 0 0 30px;}
.envir-item_img{text-align: center; padding: 10px 15% 30px;}
.envir-item_map{text-align: center;}

@media (max-width: 1200px){
    .envir-about_tit{font-size: 2.2vw;}
}

@media (max-width: 1024px) and (min-width: 768px){
    .envir-about_img img{height: 300px; object-fit: cover; object-position: center;}
}

@media (max-width: 767px){
    .envir-about{margin-bottom: 50px;}
    .envir-about_inner{width: 100%; padding: 20px;}
    .envir-about_tit{font-size: 4.3vw;}
    .envir-about_img{width: 100%; order: -1;}
    .envir-about_img img{width: 100%;}

    .envir-slider .slick-slide{margin: 0 34px; width: calc(100vw - 68px);}
    .envir-slider .slick-slide img{width: 100%;}
    .envir-slider .slick-arrow{top: 23.75vw; margin-top: -12px;}
    .envir-slider .slick-prev{left: 10px; margin-left: 0;}
    .envir-slider .slick-next{right: 10px; margin-right: 0;}
    .envir-slider .slick-dots{margin: 30px a 50px;}
    .envir-slider_txt{font-size: 1.8rem;}

    .envir-item{width: 100%; margin: 0 0 30px; padding: 20px;}
    .envir-item:last-of-type{margin: 0;}
}

/* Voice */
.voice-box{display: flex; flex-wrap: wrap;}
.voice-item{width: 32%; margin: 0 2% 0 0; border: 1px solid #e0ddd5;}
.voice-item:last-of-type{margin: 0;}
.voice-inner{padding: 6% 7.8%;}
.voice-txt{margin: 0 0 20px;}

@media (max-width: 1600px) and (min-width: 1201px){
    .voice-item h4{font-size: 1.5vw;}
}

@media (max-width: 1200px) and (min-width: 1024px){
    .voice-item h4{font-size: 1.9rem;}
    .voice-item h4 br{display: none;}
}

@media (max-width: 1023px){
    .voice-box{max-width: 512px; margin: 0 auto;}
    .voice-item{width: 100%; margin: 0 0 30px;}
}

@media (max-width: 767px){
    .voice-inner{padding: 20px;}
}

@media (max-width: 360px){
    .voice-item:nth-of-type(2) h4 br{display: none;}
}

/* Special Offer */
.special{background: #870030; color: #fff;}
.special h3{margin: -10px 0 50px;}
.special-box{background: #fff; transition: .3s; position: relative;}
.special-box a{display: flex; flex-wrap: wrap;}
.special-img{width: 62.1875%;}
.special-outer{width: 37.8125%; display: flex; align-items: center; justify-content: center;}
.special-inner{max-width: 445px; width: 90%; margin: 0 auto;}
.special-tit{font-size: 4.8rem; line-height: 1.3; color: #a7003b; font-weight: 600;}
.special-desc{color: #000; padding: 1.5em 0 2em;}
.special-btn{font-size: 2.4rem; line-height: 1; text-align: center; padding: 1.25em 0; display: block; position: relative; background: #928059; border-radius: 6px; transition: .3s;}
.special-btn:after{content: ''; position: absolute; top: 50%; right: 6.5%; margin-top: -3px; display: inline-block; padding: 3px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); border: solid #fff; border-width: 0 2px 2px 0;}

.special-box:hover{box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; transform: translateY(-5px); -webkit-transform: translateY(-5px);}
.special-box:hover .special-btn{background: #b19b6b;}

.special-box:before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #870030; transition: .5s; z-index: 10;}
.special-box.is-view:before{width: 0;}

@media (max-width: 1500px) and (min-width: 1024px){
    .special-inner{font-size: 1.2vw;}
    .special-tit{font-size: 3vw;}
    .special-btn{font-size: 1.5vw;}
}

@media (max-width: 1023px){
    .special-img{width: 100%;}
    .special-outer{width: 100%; padding: 5% 0;}
}

@media (max-width: 480px){
    .special-outer{padding: 20px 20px 30px;}
    .special-inner{max-width: 767px; width: 100%;}
    .special-tit{font-size: 8vw;}
    .special-btn{font-size: 2rem;}
}

/* Q&A */
.qa-item{margin: 0 0 20px; padding: 2.4% 2.8%; border: 1px solid #e0ddd5; border-radius: 6px;}
.qa-item:last-of-type{margin: 0;}

.qa-question{font-size: 2.2rem; line-height: 1.7; font-weight: 500; position: relative; padding: 0 55px 0 63px; cursor: pointer;}
.qa-question:before{content: 'Q.'; font-size: 5.5rem; line-height: 0.7; color: #a7003b; position: absolute; top: 0; left: 0; font-family: 'Cormorant Garamond', serif;}
.qa-question i{width: 42px; height: 42px; background: #a7003b; position: absolute; top: 0; right: 0;}
.qa-question i:before{content: ''; width: 20px; height: 2px; background: #fff; position: absolute; left: 11px; top: 20px;}
.qa-question i:after{content: ''; width: 2px; height: 20px; background: #fff; position: absolute; left: 20px; top: 11px;}
.qa-question.is-open i:after{display: none;}

.qa-answer{padding: 20px 55px 0 0; display: none;}
.qa-answer_list li{text-indent: -1em; margin-left: 1em;}
.qa-answer_list li:before{content: '・';}

@media (max-width: 767px){
    .qa-item{padding: 15px;}

    .qa-question{font-size: 1.8rem; line-height: 1.6; padding: 0 45px 0 40px;}
    .qa-question:before{font-size: 3.6rem; top: 3px;}
    .qa-question i{width: 32px; height: 32px;}
    .qa-question i:before{width: 12px; left: 10px; top: 15px;}
    .qa-question i:after{height: 12px; left: 15px; top: 10px;}

    .qa-answer{padding: 15px 0 0 0;}
}

/* Access */
.access{background: #f5f4f2;}
.access-wrap{display: flex; justify-content: space-between; flex-wrap: wrap;}
.access-map{width: 50%;}
.access-map iframe{width: 100%; height: 440px;}
.access-info{width: 45.7%;}
.access-rows{margin: 0 0 30px;}
.access-rows:last-of-type{margin: 0;}
.access-tit{font-size: 2.2rem; line-height: 1.5; font-weight: 500; border-bottom: 2px dotted #a7003b; padding: 0 0 13px; margin: 0 0 10px;}
.access-tel{font-size: 3.6rem; font-weight: 600; font-family: 'Cormorant Infant', serif; line-height: 1.6; color: #a7003b;}
.access-tel{display: flex; align-items: center; justify-content: flex-start;}
.access-tel:before{content: ''; width: 29px; height: 29px; background: url("../img/ic_phone.svg") no-repeat top left/100% 100%; display: inline-block; transform: rotate(-10deg); margin: 0 5px 0 0; position: relative;}

@media (max-width: 767px){
    .access-wrap{width: 100%;}
    .access-map{width: 100%;}
    .access-map iframe{height: 100vw;}
    .access-info{width: 100%; padding: 20px 20px 0;}
    .access-tit{font-size: 1.8rem;}
}

/* Contact */
.contact{background: #870030; text-align: center; color: #fff; padding: 80px 0 80px;}
.contact .m-h2{ font-size: 3rem;}
.contact-txt{font-size: 2.2rem; margin: 0 0 40px;}
.contact-btn{font-size: 2.4rem; font-weight: 600; line-height: 1; background: #fff; color: #a7003b; width: 86%; max-width: 400px; border-radius: 6px; position: relative; display: block; padding: 1.25em 0; margin: 0 auto 110px; transition: .3s;}
.contact-btn:after{content: ''; position: absolute; top: 50%; right: 7.5%; margin-top: -4px; display: inline-block; padding: 4px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); border: solid #a7003b; border-width: 0 2px 2px 0;}
.contact-btn:hover{background: #ddd;}

#copyright{font-size: 1.2rem; line-height: 1.5; font-family: 'Cormorant Garamond', serif;}
#pagetop{position: fixed; bottom: 16vw; right: 20px; width: 60px; z-index: 100; cursor: pointer;}

#flt_bnr{ position: fixed; bottom: 20px; max-width: 400px; width: 40vw; right: 20px; z-index: 100; cursor: pointer; }
#flt_bnr #closeButton{ font-size: 2rem; position: absolute; right: 0 ; top: -1.5em; background: #fff; width: 1.5em; height: 1.5em; text-align: center; line-height: 1.5;}
#flt_bnr #closeButton:hover{  opacity: .7;}
#flt_bnr a:hover{ opacity: .8; transition:0.3s;}
#flt_bnr img{ height: auto; line-height: 1;}

@media (max-width: 767px){
    .contact{padding: 70px 0 200px;}
    .contact .m-h2{ font-size: 1.8rem;}
    .contact-txt{font-size: 1.8rem;}
    .contact-btn{font-size: 2rem; margin: 0 auto 50px;}

    #flt_bnr{ right: 10px; width: calc(100% - 20px);}
    #flt_bnr #closeButton{ font-size: 4vw;}
    #pagetop{width: 40px; bottom: 40vw;  right: 10px;}
}
