@charset "UTF-8";
*, :after, :before { margin: 0; padding: 0; -o-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}
html { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-text-size-adjust: 100%; font-size: 62.5%; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, select, p, blockquote, th, td, figure, main {margin: 0;padding: 0;}
table { border-collapse: collapse; border-spacing: 0 }
fieldset, img { border: 0 }
address, button, caption, cite, code, dfn, em, input, optgroup, option, select, strong, textarea, th, var { font: inherit }
del, ins { text-decoration: none }
li { list-style: none }
caption, th { text-align: left }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: inherit; }
q:before, q:after { content: '' }
abbr, acronym { border: 0; font-variant: normal }
sup { vertical-align: baseline }
sub { vertical-align: baseline }
legend { color: #000 }
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }
.fl { float: left }
.fr { float: right }
.tr { word-break: break-word; display: flex; width: 100%; align-items: center; }
.td { width: 50%; flex: 1; box-sizing: border-box; }
@media (max-width: 600px) {
	.tr,.td { display: block; width: 100%; }
}
.turn .tr { flex-direction: row-reverse; }

body, html {width: 100%;height: 100%;font-size: 76%;line-height: 1.4;font-family: 'Montserrat', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
@media (max-width: 480px){
	body, html { font-size:78%; }
}
.no-scroll { overflow: hidden; }
strong,b,.fw-b {  font-weight: 600; }
svg, img {vertical-align: bottom;}
a { text-decoration: none; }
.table { display: table; width: 100%; height: 100%; }
.table-cell { display: table-cell; vertical-align: middle; }
body {color: #fff;background: #000;}
body a { color:inherit; }
h1,h2,h3 { font-size:1.1rem; }
h4,h5,p,li { font-size:1rem; }

main { overflow: hidden; }
.space { display: block; height: 60px; }
.space-s { display: block; height: 30px; }
@media all and (min-width: 768px){
	.inner { padding:0 40px; }
	.space { height: 90px; }
	.space-s { height: 40px; }
}
@media all and (min-width: 1000px){
	.inner { padding:0 50px; }
	.space { height: 110px; }
	.space-s { height: 50px; }
}
@media all and (min-width: 1120px){
	.space { height: 140px; }
}

picture { display: block; }
picture img, .img img { width: 100%; height: auto; }


.ts-xlarge { font-size: 6rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
.ts-large { font-size: 4rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
.ts-title { font-size: 3rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
.ts-big { font-size: 1.7rem; letter-spacing: 1px; }
.ts-reg { font-size: 1.4rem; }
.ts-small { font-size: 1.2rem; line-height: 1.6; }
.ts-xsmall { font-size: 1.1rem; line-height: 1.6; }
.ta-center { text-align: center; }
.ta-right { text-align: right; }

.relative { position: relative; }

section>div:not(.hero) { margin-left: auto; margin-right: auto; width: 80%; max-width: 1080px; }
section {margin-bottom: 120px;}
.section-title { margin-bottom: 3rem}
section.prefootersec {margin-bottom: 0; padding:50px 0; background:#0c0c0c url(../img/bg-sha.png) center; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }

@media	(max-width: 767px){
	section>div:not(.hero) { width: 90%; }
	.ts-title { font-size: 3em; }
}
@media	(min-width: 768px){
	.pc-none {display: none !important}
	.align-self-end-pc { align-self: flex-end; }
}
@media	(max-width: 767px){
	.sp-none {display: none !important}
}

.flex { display: -ms-flex; display: flex; justify-content: space-between; }
.flex-75 { flex: 0 0 calc( (300% - 4%) / 4 ); -ms-flex: 0 0 74%; }
.flex-50 { flex: 0 0 calc( (100% - 4%) / 2 ); -ms-flex: 0 0 48%; }  /* [-------] 4 [-------] */
.flex-33 { flex: 0 0 calc( (100% - 8%) / 3 ); -ms-flex: 0 0 30.66%; }  /* [---] 4 [---] 4 [---] */
.flex-25 { flex: 0 0 calc( (100% - 12%) / 4 ); -ms-flex: 0 0 22%; } /* [-] 4 [-] 4 [-] 4 [-] */
.flex-column { flex-direction: column; }
.flex-pc-reverse { flex-direction: row-reverse; }
.flex-wrap { flex-wrap: wrap; }

.justify-start {justify-content: flex-start;}
.justify-start .flex-33:nth-child(3n+1), .justify-start .flex-33:nth-child(3n+2) { margin-right: 3.9%; }

@media (prefers-reduced-motion: no-preference){
.io { transform: translate(0, 100px); opacity: 0; transition: transform 1s, opacity 1s; }
.io.on { transform: translate(0px, 0px); opacity: 1; }
}
.io-o { opacity: 0; transition: opacity 1s; }
.io-o.on { opacity: 1; }
.w-o { padding-right: 0.25em; overflow: hidden; }
.w-o:last-child { padding-right: 0; }
.w-o .o { overflow: hidden; }

.js-words span, .js-char span { display: inline-block; vertical-align: top; }
.js-h { cursor: pointer; }

header { position: fixed; top: 0; z-index: 20; }
header .flex { width: 100vw; justify-content: space-between; align-items: center;  align-items: center; position: relative; z-index: 10; }
.header__logo { margin: 10px auto; position: absolute; top: 0; width: 100%; display: flex; justify-content: center; }
.header__logo a { width: 30%; max-width: 125px; display: block; }
.header__hamburg { margin: 36px; height: 18px; width: 30px; cursor: pointer; position: relative; }
.header__reserve, .header__call {margin: 30px 30px 30px 0;border: 1px solid #fff;position: relative;}
.header__reserve a, .header__call a { padding: 8px 16px; display:block; }
.header__call {margin-left: auto;margin-right: 0;border-right: 0;}
.header__reserve-sp { display:none; }
.menu_bars { position: absolute; }
.menu_bars span { display: block; height: 2px; width: 30px; position: absolute; }
.menu_bars span:nth-of-type(1), .menu_bars span:nth-of-type(2), .menu_bars span:nth-of-type(3) { background-color: #fff; }
.menu_bars span:nth-of-type(1) { transform: translateY(-50%) translateY( 0px); -ms-transform: translateX(-50%) translateY(-50%) translateY(-8px); }
.menu_bars span:nth-of-type(2) { transform: translateY(-50%) translateY( 8px); -ms-transform: translateX(-50%) translateY(-50%) translateY( 0px); }
.menu_bars span:nth-of-type(3) { transform: translateY(-50%) translateY(16px); -ms-transform: translateX(-50%) translateY(-50%) translateY( 8px); }

.header__nav { background-color: rgba( 0, 0, 0, .9); position: absolute; top: 0; height: 100vh; transform: translateX(-100%); -ms-transform: translateX(-100%); transition: transform .5s cubic-bezier(.165,.84,.44,1);}
.nav-open .header__nav { transform: translateX(0); -ms-transform: translateX(0); }
.header__nav .flex {flex-direction: column; width: 300px; align-items: stretch;  border-bottom: 1px solid rgba( 255, 255, 255, .2);}
.header__nav .flex > a { height: 80px; border-top: 1px solid rgba( 255, 255, 255, .2); }
.header__nav-close { position: relative; margin: auto 20px auto auto; height: 80px; }
.nav__link { padding: 20px;}
.menu_cross { position: relative; height: 30px; width: 30px; cursor: pointer; top: 25px; }
.menu_cross span { display: block; height: 2px; width: 30px; position: absolute; left: 50%; top: 50%; }
.menu_cross span:nth-of-type(1) { transform: translateX(-50%) translateY(-50%) rotate( 45deg); -ms-transform: translateX(-50%) translateY(-50%) rotate( 45deg); }
.menu_cross span:nth-of-type(2) { transform: translateX(-50%) translateY(-50%) rotate(-45deg); -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
.menu_cross span:nth-of-type(1)::after, .menu_cross span:nth-of-type(2)::after {content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: #fff;}
.menu_cross span:nth-of-type(1)::after { -ms-transform-origin: left ; transform-origin: left ; transition: transform .5s cubic-bezier(.165,.84,.44,1) .1s; }
.menu_cross span:nth-of-type(2)::after { -ms-transform-origin: right; transform-origin: right; transition: transform .5s cubic-bezier(.165,.84,.44,1) .2s; }



.hero { height: 100vh; position: relative; }
.hero__bg { height: 100vh; }
.hero__bg .bg-img { height: 100%; background: url("../img/hero.jpg") center / cover no-repeat; }
.swiper-slide:nth-child(2n) .hero__bg .bg-img { height: 100%; background: url("../img/hero2.jpg") center / cover no-repeat; }
.hero__videobg { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.hero__videobg video { height: 100%; width: auto; }
@media (max-width: 767px){
	.hero { height: 50vh; position: relative; }
	.hero__bg { height: 50vh; }
	.hero__bg .bg-img { background-image:url("../img/hero.jpg") }
	.swiper-slide:nth-child(2n) .hero__bg .bg-img { height: 100%; background: url("../img/hero2.jpg") center / cover no-repeat; }
}
.hero__bg::after { content: ""; position: absolute; top: 40%; bottom: 0; left: 0; right: 0; background-image: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.6) 80%);}
.hero__title { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 90%; text-align: center; }
.hero__scroll { position: absolute; z-index: 1; left: 50%; bottom: 20px; transform: translate(-50%,-50%); text-align: center; cursor: pointer; }
.hero__scroll p { padding-bottom: 0; }
.hero__scroll .arrow { position: relative; height: 30px; width: 30px; margin:0 auto; display:block; }
.hero__scroll .arrow svg { position: absolute; left:0; top:50%; width: 100%; -webkit-animation: scrollarrow 1s linear infinite; animation: scrollarrow 1s linear infinite; }
.hero__scroll .arrow svg polyline { fill:none;stroke:#FFFFFF;stroke-miterlimit:10; }
.hero__scroll .arrow svg:nth-child(1) { margin-top:-10px; }
.hero__scroll .arrow svg:nth-child(2) { margin-top:-4px; animation-delay: .25s; }
.hero__scroll .arrow svg:nth-child(3) { margin-top:2px; animation-delay: .5s; }
@-webkit-keyframes scrollarrow { 0% {opacity: 1;} 25% {opacity: .5;} 50% {opacity: 0;} 50% {opacity: .5;} 100% {opacity: 1;} }
@keyframes scrollarrow { 0% {opacity: 1;} 25% {opacity: .5;} 50% {opacity: 0;} 50% {opacity: .5;} 100% {opacity: 1;} }


.features__wrap { margin-bottom: 4%; }
.features__wrap > div { position: relative; }
.features__wrap a { transition: all .4s cubic-bezier(.165,.84,.44,1) }
.features__wrap a:hover { transform: scale(.95); }
.features__wrap .img { position: relative; width: 100%; height: 0; overflow: hidden; padding-bottom: 66.66%; }
.features__wrap .img:after { content: ""; position: absolute; top: 50%; bottom: -1px; left: -1px; right: -1px; background-image: linear-gradient( rgba(0,0,0,0), rgba(0,0,0, .8) 100%); }
.features__title { position: absolute; bottom: 1em; left : 2em; right: 2em; }
.features__link { width: 31.333%; margin: auto; }
.features__link .btn { width: 100%; margin-top: 3rem; padding:5px 0; }
.features__link .btn--white a { background-color: #fff; color: #000; }
.features__link .btn--grey a { background-color: #414141; color: #fff; }
.features__link .btn a { position: relative; display: block; width: 100%; padding: 2em; font-size:1.1rem; z-index: 2; transition: all .4s cubic-bezier(.165,.84,.44,1) }
.features__link .btn::before,
.features__link .btn::after { content:""; position: absolute; width: 0%; height: 0%; transition: all .4s cubic-bezier(.165,.84,.44,1); }
.features__link .btn::before { left:0; top:0; border-top:1px solid #000; border-left:1px solid #000; }
.features__link .btn::after { right:0; bottom:0; border-bottom:1px solid #000; border-right:1px solid #000; }
.features__link .btn:hover::before,
.features__link .btn:hover::after { width: 100%; height: 100%; border-color:#fff; }
.features__link .btn:hover a { transform: scale(.95); }

.motion { position: relative; padding-top: 3rem; padding-bottom: 2rem; }
.motion__bg { position: absolute; top:0; bottom: 0; left: 26%; right: -20vw; z-index: -1; background-color: #640032; }
.motion__unalign { margin-top: 2rem; margin-bottom: 1rem; }
.motion__unalign:nth-child(3n+1) .motion__unalign-inner { transform: translateY( 3rem); }
.motion__unalign:nth-child(3n-1) .motion__unalign-inner { transform: translateY(    0); }
.motion__unalign:nth-child(3n)   .motion__unalign-inner { transform: translateY(-3rem); }
.motion__link { width: 31.333%; margin: auto; }
.motion__link .btn { width: 100%; margin-top: 3rem; padding:5px 0;}
.motion__link .btn--white a { background-color: #fff; color: #000; }
.motion__link .btn--grey a { background-color: #414141; color: #fff; }
.motion__link .btn a { position: relative; display: block; width: 100%; padding: 2em; font-size:1.1rem; z-index: 2; transition: all .4s cubic-bezier(.165,.84,.44,1)  }
.motion__link .btn::before,
.motion__link .btn::after { content:""; position: absolute; width: 0%; height: 0%; transition: all .4s cubic-bezier(.165,.84,.44,1); }
.motion__link .btn::before { left:0; top:0; border-top:1px solid #000; border-left:1px solid #000; }
.motion__link .btn::after { right:0; bottom:0; border-bottom:1px solid #000; border-right:1px solid #000; }
.motion__link .btn:hover::before,
.motion__link .btn:hover::after { width: 100%; height: 100%; border-color:#fff; }
.motion__link .btn:hover a { transform: scale(.95); }


.schedule__wrap > a { position: relative; }
.schedule__wrap > a { transition: all .4s cubic-bezier(.165,.84,.44,1) }
.schedule__wrap > a:hover { transform: scale(.95); }
.schedule__bg { padding-bottom: 100%; background: center / cover no-repeat; }
.schedule__bg:after {content: ""; position: absolute; top: 50%;bottom: -1px; left: -1px; right: -1px; background-image: linear-gradient( rgba(0,0,0,0), rgba(0,0,0, .8) 100%);}
.schedule__text { display: table; position: absolute; bottom: 0; left:0; padding:1em; }
.schedule__date { display: table-cell; text-align: center; line-height: 1; vertical-align: middle; padding-right: 1em; border-right: 1px solid rgba(255,255,255,.4); }
.schedule__date span { display: block; }
.schedule__title { display: table-cell; vertical-align: middle; padding-left: 1em; line-height: 1.2; }
.schedule__wrap .img::after { content: ""; position: absolute; top: 50%; bottom: -1px; left: -1px; right: -1px; background-image: linear-gradient( rgba(0,0,0,0), rgba(0,0,0, .8) 100%); transition: all .5s cubic-bezier(.165,.84,.44,1) .1s; }



.news__head { margin-right: 4% ; width: calc( (100% - 12%) / 4 ) ; line-height: 4em; border-top: 1px solid #fff; }
.news__body { width: calc( (300% - 4%) / 4 ); }
.news__head,
.news__body p { line-height: 1.4; padding:15px 0; }
.news__body ul { border-top: .5px solid #535353; }
.news__body ul li { border-bottom: .5px solid #535353; }
.news__date { display: inline-block; width: 150px; line-height: 5em; font-size:1rem; vertical-align: top; }
.news__title { display: inline-block; }
.page-news .news__body { width: 100%; }
.page-news  .news__body p { line-height: 1.4; padding: 0 }



#prefooter-top { margin-bottom: 180px; }
.prefooter-top .img { position: relative; z-index: -1; transform: translateY(3rem); }
.prefooter-top__wrap .prefooter-top__offset  { transform: translateY(5rem);}
.prefooter-top__wrap h2 { margin-bottom: 1rem;}
.prefooter-top__wrap h3 { margin-bottom: 1rem;}
.prefooter-top__wrap p { text-align:justify; color:#ccc; }
.prefooter-top__wrap .btn { position: relative; margin-top: 20px; display: table; padding:4px 0; }
.prefooter-top__wrap .button--pink a { color: #fff; background-color: #f2065f }
.prefooter-top__wrap .btn a { position: relative; display: block; width: 100%; padding: .8em 2em; font-weight: 600; z-index: 2; text-transform: uppercase; font-size:1.1rem; transition: all .4s cubic-bezier(.165,.84,.44,1) }
.prefooter-top__wrap .btn::before,
.prefooter-top__wrap .btn::after { content:""; position: absolute; width: 0%; height: 0%; transition: all .4s cubic-bezier(.165,.84,.44,1); }
.prefooter-top__wrap .btn::before { left:0; top:0; border-top:1px solid #000; border-left:1px solid #000; }
.prefooter-top__wrap .btn::after { right:0; bottom:0; border-bottom:1px solid #000; border-right:1px solid #000; }
.prefooter-top__wrap .btn:hover::before,
.prefooter-top__wrap .btn:hover::after { width: 100%; height: 100%; border-color:#f2065f; }
.prefooter-top__wrap .btn:hover a { transform: scale(.9); }
@media (max-width: 767px){
	.prefooter-top__wrap .btn a { padding: 1.5em 3em; }
}


.prefooter a { box-shadow: 0px 0px 0 rgba(255,255,255,.1); transition: all .4s cubic-bezier(.165,.84,.44,1) }
.prefooter a:hover { box-shadow: 0px 0px 10px rgba(255,255,255,.3); }

.about__title { padding: 60px 0; }
.about__section { margin-bottom: 90px; justify-content: space-between; align-items: center; }
.about__section .flex-gap { flex: 0 0 5%; }




footer { position: relative; }

footer::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0;  background-color: #1b1b1b; z-index: -1; }
.footer__nav { color: #858585; margin: -40px auto; width: 80%; max-width: 1080px; padding: 60px 0; border-top: 1px solid }
.footer__social > * { display: inline-block; vertical-align: middle;}
.footer__social .icon { opacity: .3; margin-left: 20px; transition: all .25s ease;}
.footer__social a:hover .icon { opacity: 1; }
.facebook .icon { width: 20px; height: 20px; background: url("../img/sns-facebook.svg") center / contain; }
.instagram .icon { width: 20px; height: 20px; background: url("../img/instagram-official-white.svg") center / contain; }
.twitter .icon { width: 20px; height: 20px; background: url("../img/sns-twitter.svg") center / contain; }
.iflyer .icon { width: 20px; height: 20px; background: url("../img/iFLYER-stacked-white.svg") center / contain; }
.line .icon { width: 20px; height: 20px; background: url("../img/sns-line.svg") center / contain; }

.access__map { width: 100%; margin: 3rem 0; }
.access__map .bg-img { display:block; padding-bottom: 60%; background: url("../img/BSM_map.jpg") center / contain no-repeat; }
.access__text { padding: 1.5rem 0; margin:50px 0; position: relative; border-top: 2px solid; -ms-flex: 0 0 100%; }
.access__text h3 { color: #8a8a8a; margin-top: 1.5rem; padding: 1em 0; border-top: 1px solid; }
.access__gmaps, .access__reserve { margin-top: 1.5rem; padding: .75rem 1rem ; text-align: center; border: 1px solid #fff; }

.access__gmaps { background-color: #282828; transition: all .25s ease; border-color: #aaa }
.access__gmaps:hover { background-color: #444444; }

.button--glow {text-shadow: 0px 0px 2px #ff5398;box-shadow: 0px 0px 2px #ff5398, inset 0px 0px 2px #ff5398;background-color: rgba(0,0,0,0.2);transition: all .25s ease;}
.button--glow:hover { text-shadow: 0px 0px 10px #ff5398; box-shadow: 0px 0px 10px #ff5398, inset 0px 0px 10px #ff5398; background-color:rgba(0,0,0,0.3); }



.swiper-pagination-bullet-active { background-color: #fff; box-shadow: 0px 0px 8px 1px #ff5398, inset 0px 0px 1px #ff5398; }

body:not(.user-is-tabbing) :focus {outline: 0}
.calendar__body { font-size:1.2rem; }

.motion__select { margin-bottom: 4rem; display: block; font-size:0; }
.motion__select .motion__select-choice { display:inline-block; margin: 5px; }
.motion__display { margin-left: -4%; max-height: var(--isotope-row-height); overflow: hidden; }
.motion__display.viewall { max-height: 100%; transition: height .3s;}
.motion__display .float-25 { position: relative; margin-bottom: 4%; float: right; margin-left: 4%; width: 46%; }
.motion__display a div { transition: transform .4s cubic-bezier(.165,.84,.44,1) }
.motion__display a:hover div { transform: scale(.95); }
.filter { border: 1px solid #555; border-radius: 50px; padding: 5px 10px; cursor:pointer; transition: all .25s ease; }
.filter:hover { border: 1px solid #fff; }
.filter.active { border: 1px solid #fff; background-color: #fff; color:#000; }
@media ( max-width: 768px) {
	.motion__select .motion__select-choice { margin:2px; }
	.filter { border-radius: 2px; padding: 3px 6px; }
}
@media ( min-width: 768px) {
	.motion__display .float-25 { width: 29%; }
}
@media ( min-width: 1140px) {
	.motion__display .float-25 { width: 21%; }
	.filter .af-motion::after { content:" Motion"; }
}


.prefooter__tag { position: absolute; bottom: 20%; left: -10px; font-size:1.1rem; background-color: #fff; color: #000; padding: 5px 10px; min-width: 34%; }
.prefooter__tag::before {content: "";position: absolute;border-width: 5px;border-style: solid;border-color: #ea1c8c #ea1c8c transparent transparent;top: 100%;bottom: -10px;left: 0;right: calc( 100% - 10px);}

.p-hero { margin-top: 100px; }
.p-hero__wrap { width: 48%; height: 100vh; max-height: 600px;}
.p-hero .breadcrumb span { width: 1.8em; display: inline-block; padding: .5em; }
.p-hero .breadcrumb span img{ vertical-align: baseline; }
.p-hero__title { margin-top: auto; white-space: nowrap; }
.p-hero__subtitle { margin:20px 0 10px; }
.p-hero__description { margin-bottom: 3rem; text-align: justify; }
.p-hero__bg { position: absolute; top:0; bottom: 0; left: 0; right: 0; z-index: -1; background: right center / contain no-repeat; }

.p-about__wrap { margin-top: 6rem; }
.align-self-end { align-self: flex-end; }
.p-about__innerFlex { height: 100%; }
.p-about__text h2 { margin-bottom: 2rem; }
.p-about__text p { text-align: justify; }

.gallery__slider .bg-container { width: 100%;  padding-bottom: calc( 200% / 3);  background: center / contain no-repeat; }
.gallery__thumb > div { flex: 0 0 48%; max-width: 300px; margin-bottom: 4%; opacity: .5; }
.gallery__thumb > div.active { opacity: 1; }
.gallery__thumb .bg-container { width: 100%; padding-bottom: calc( 200% / 3); background: center / cover no-repeat;}

.p-food__innerFlex { height: 100%; align-items: flex-start; justify-content: space-between; }
.p-food__wrap picture { visibility: hidden; }
.p-food__wrap .bg-container { width: 100%; height: 100%; background : center / cover no-repeat; }
.p-food__text h3 { font-size: 4.8rem;line-height: 0.7;font-weight: 700; text-align: right; color:#333; }
.p-food__text h2 { border-top: 3px solid #333; border-bottom: 1px solid #333; padding: 15px 0; margin-bottom: 1em; }
.p-food__text p { text-align: justify; }
.p-food__pdf { margin-top: 1rem; display: inline-table; padding: .5rem 2rem; border: solid 1px #fff; }


.motion__unalign-inner { overflow: hidden; }
.motion__unalign-inner .img::after { content: ""; position: absolute; top: 50%; bottom: -1px; left: -1px; right: -1px; background-image: linear-gradient( rgba(0,0,0,0), rgba(0,0,0, .8) 100%); transition: all .5s cubic-bezier(.165,.84,.44,1) .1s; }
.motion__text { position: absolute; bottom: 15px; left: 20px; right: 20px; transform: translateY( 100% ); transition: all .5s cubic-bezier(.165,.84,.44,1) .1s; }
.motion__title { position: absolute; top: 0; line-height: 1.1; transform: translateY(-2.8rem); transform: translateY( calc( 0px - 100% - 1.6rem) );  }
.motion__subtitle { position: absolute; top: 0; transform: translateY( -1.2rem ); transform: translateY( calc( 0px - 100% ) ); }
.motion__description { border-top: .1px solid #aaa; margin-top: 15px; padding-top: 15px; }
.motion__unalign-inner:hover .img::after { top: 0; }
.motion__unalign-inner:hover .motion__text { transform: translateY( 0% ); }

.gallery__body .flex > a { margin-bottom: 2rem; }
.gallery__body .flex > a:hover { transform: scale(.95);  transition: all .4s cubic-bezier(.165,.84,.44,1) }
.gallery__body .screen-reader-text { visibility: hidden; display: none; }
.gallery__single--image { padding-bottom: 100%; background: center / cover no-repeat; }
.gallery__single--date { margin-top: 1em; }

.nav-links { text-align: center; }
.nav-links .page-numbers { display: inline-block; margin: 10px; width: 30px; padding: 5px; background-color: #1b1b1b; font-size: 1.3rem;}
.nav-links .page-numbers.current { border: 1px solid; background-color: transparent;}
.nav-links .page-numbers.next, .nav-links .page-numbers.prev { display: none; }

.gallery-single .flex-25 { margin-bottom: 4%; }
@media (min-width: 768px){
	.gallery-single .flex.flex-wrap { justify-content: flex-start; }
	.gallery-single .flex-25 { margin-right: 3.9%; transition: all .4s cubic-bezier(.165,.84,.44,1); }
	.gallery-single .flex-25:hover { transform: scale(.95) }
	.gallery-single .flex-25:nth-child(4n) {margin-right: 0;}
}

@media (min-width: 320px){
	.modal-overlay { z-index:97; display:none; position:fixed; top: 10%; bottom: 10%; left:0; right: 0; background-color:rgba(0,0,0,0.75); box-shadow: 0px 0px 10px 10px rgba(0,0,0,.75); }
	.modal-content { position:fixed; display:none; width: calc(100% - 60px);transform: translate( -50%, -50%); margin:0; padding:20px; z-index:98; overflow:auto; -webkit-overflow-scrolling:touch; }
	.modal-content picture { margin-left: auto; margin-right: auto; }
	.modal-close { position: fixed; /* left: auto !important; *//* right: 0 !important; */ top:0; display: block; width: 30px; height: 30px; z-index: 99; -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; }
	.modal-prev { position: fixed; top: calc(50% - 15px); left: 20px; display: block; width: 30px; height: 30px; z-index: 99; transform: rotate(180deg); -webkit-transform: rotate(180deg); -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; }
	.modal-next { position: fixed; top: calc(50% - 15px); right: 20px; display: block; width: 30px; height: 30px; z-index: 99; -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; }
	.modal-close svg, .modal-prev svg, .modal-next svg { display: block; width: 18px; height: 18px; margin:6px; fill:#999; -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; }
}
@media (min-width: 360px){
	.modal-content h3 { font-size:16px; }
}
@media (min-width: 480px){
	.modal-content { width: 400px; }
}
@media (min-width: 640px){
	.modal-content { width: 560px; }
}
@media (min-width: 768px){
	.modal-content { width: 680px; height: unset;  }
	.modal-content .col2.fwrap-reverse .col{flex-basis: 50%; }
}
@media (min-width: 960px){
	.modal-content { width: 880px; padding:30px; }
	.modal-content h3 { font-size:24px; }
	.modal-close, .modal-prev, .modal-next { width: 40px; height: 40px; }
	.modal-close svg, .modal-prev svg, .modal-next svg { width: 24px; height: 24px; margin:8px; }
	.modal-close:hover, .modal-prev:hover, .modal-next:hover { cursor:pointer; background-color:#999; }
	.modal-close:hover svg, .modal-prev:hover svg, .modal-next:hover svg { fill:#fff; }
}
@media (min-width: 1080px){
	.modal-content { width: 960px; }
}
@media (min-width: 1200px){
	.modal-content { width: 1080px; }
}




@media	(max-width: 767px){

	.flex-sp-vertical { flex-direction: column; }
	.flex-75 { flex-basis: 100%; }
	.flex-50 { flex-basis: 100%; }
	.flex-33 { flex-basis: 100%; }
	.flex-25 { flex-basis: 48%; }
	section { margin-bottom: 60px}
	header .flex { justify-content: flex-start;}

	.ts-xlarge { font-size: 3rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
	.ts-large { font-size: 2.5rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
	.ts-title { font-size: 2rem; letter-spacing: 1.5px; line-height: 1.3; font-weight: 600; }
	.ts-big { font-size: 1.8em; letter-spacing: 1px; }
	.ts-reg { font-size: 1.4em; }

	.header__logo a { width: 80px; }
	.header__reserve-sp { position: absolute; right:15px; top:20px; display:block; text-align: center; }
	.header__reservewrap { position: relative; border:1px solid rgba(255,255,255,.5); background-color: rgba(0,0,0,.5); width: 80px; height: 30px; overflow: hidden; transition: 0.55s cubic-bezier(.19,1,.22,1); }
	.header__reserve-sp .t { line-height: 30px; height: 30px; display:block; cursor: pointer; }
	.header__reserve-sp .h { position: absolute; left:0; top:20px; width: 100%; padding:0 8px; }
	.header__reserve-sp .h a { background-color: #f2065f; display:block; line-height: 25px; margin:10px 0; }
	.is-reserve-open .header__reservewrap { height: 100px; }

	.features__wrap { margin-bottom: 2rem; }
	.prefooter-top .img { position: relative; z-index: -1; transform: translateY(1rem); }

	.prefooter .flex-33 { margin-bottom: 2rem; }
	.prefooter .flex-33:last-child { margin-bottom: 0; }
	.access__text { border-top: none; }

	.p-hero__wrap { width: 100%; height: unset; max-height: unset; }
	.p-hero__bg { position: relative; width: 100%; height: 100%; padding-bottom: 80%; background-position: top center;}

	.features__wrap > * { margin-bottom: 2rem; }
	.news__head { width: 100%; }
	.news__body { width: 100%; }
	.about__text { margin: 20px 10px 0; }
	.access__map { order: 2; }
	.access__text { margin:0; }
	.access__text h3 { margin-top:20px; }
	.about__section { margin-bottom: 50px; }
	.sp-ta-left { text-align: left }
	.schedule__wrap .flex-25 { margin-bottom: 1rem; }

	.p-about__wrap .flex-50 { order: 1; margin-bottom: 2rem; }
	.p-about__wrap .flex-25 { order: 2; }
	.gallery__wrap .flex-25 { flex-basis: 100%; margin-top: 2rem; }
	.gallery__thumb { justify-content: flex-start; }
	.gallery__thumb > div { flex-basis: 21%; margin: 2%; }

	.p-food__wrap .flex-50 { margin-bottom: 3rem; }
	.p-food__pdf { display: block; text-align: center; }
	
	.features__link,
	.motion__link { width: 66.666%; margin: auto; }
	.motion__unalign-inner .img::after { top: 50%; background-image: linear-gradient( rgba(0,0,0,0) 0%,rgba(0,0,0, .6) 20%, rgba(0,0,0, .8) 100%); }
	.motion__unalign-inner:hover .img::after { top: 50%; }
	.motion__unalign:nth-child(n) .motion__unalign-inner { transform: translateY(0); }
	.motion__unalign-inner .motion__text { transform: translateY( 0% ); }

	.footer__nav {width: 90%; }
	.footer__social .icon {margin-left: 12px;}
}


.gn__trigger { position: relative; left:20px;  height:18px; cursor:pointer; transform: translate(0,-50%); }
.gn__trigger .btn-menu { display: block;position: absolute; left:18px; top:50%; }
.gn__trigger .btn-menu > div { position: relative; width: 24px; height: 2px; margin:0 auto; display: block; overflow: hidden; transition: transform 0.55s cubic-bezier(.19,1,.22,1),opacity 0.2s cubic-bezier(.19,1,.22,1); will-change: transform,opacity; }
.gn__trigger .btn-menu > div:after,
.gn__trigger .btn-menu > div:before { content: ''; position: absolute; width: 100%; height: 100%; will-change: transform; }
.gn__trigger .btn-menu > div:before { transform: translate3d(0,0,0); background: #fff; }
.gn__trigger .btn-menu > div:after { transform: translate3d(-100%,0,0); background: #fff; }
.gn__trigger .btn-menu > div:nth-child(1):before { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94) 90ms; }
.gn__trigger .btn-menu > div:nth-child(1):after { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94); }
.gn__trigger .btn-menu > div:nth-child(2):before { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94) 0.14s; }
.gn__trigger .btn-menu > div:nth-child(2):after { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94) 30ms; }
.gn__trigger .btn-menu > div:nth-child(3):before { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94) 0.19s; }
.gn__trigger .btn-menu > div:nth-child(3):after { transition: transform 0.6s cubic-bezier(.25,.46,.45,.94) 60ms; }
.gn__trigger .btn-menu > div:not(:last-child) { margin-bottom: 6px; }
.gn__trigger .btn-menu:hover > div:nth-child(1):before { transition: transform 0.55s cubic-bezier(.19,1,.22,1); }
.gn__trigger .btn-menu:hover > div:nth-child(1):after { transition: transform 0.55s cubic-bezier(.19,1,.22,1) 0.1s; }
.gn__trigger .btn-menu:hover > div:nth-child(2):before { transition: transform 0.5s cubic-bezier(.19,1,.22,1) 50ms; }
.gn__trigger .btn-menu:hover > div:nth-child(2):after { transition: transform 0.5s cubic-bezier(.19,1,.22,1) 0.15s; }
.gn__trigger .btn-menu:hover > div:nth-child(3):before { transition: transform 0.45s cubic-bezier(.19,1,.22,1) 0.1s; }
.gn__trigger .btn-menu:hover > div:nth-child(3):after { transition: transform 0.45s cubic-bezier(.19,1,.22,1) 0.2s; }
.gn__trigger .btn-menu:hover > div:before { transform: translate3d(100%,0,0); }
.gn__trigger .btn-menu:hover > div:after { transform: translate3d(0,0,0); }
.is-gn-open body { overflow: hidden; }
.is-gn-open .gn__trigger .btn-menu > div:nth-child(1) { transform: translate3d(0,8px,0) rotate3d(0,0,1,45deg);}
.is-gn-open .gn__trigger .btn-menu > div:nth-child(2) { opacity: 0;}
.is-gn-open .gn__trigger .btn-menu > div:nth-child(3) { transform: translate3d(0,-8px,0) rotate3d(0,0,1,-45deg);}
.is-gn-open .gn__trigger .btn-menu > div:before { background: #fff; }
.is-gn-open .header__logo svg { fill:#fff; }
.is-gn-open .reserve__tel { color:#fff; }
.gn { position:fixed; left:0; top:0; width:100%; height:100%; opacity: 0; visibility: hidden; transition: all 1s ease; z-index:9; display: flex; flex-direction: column; overflow: scroll; }
.gn__mask { position:fixed; left:0; top:0; width:100%; height:100%; background:#000; transform:scaleY(0); transform-origin: 0 100%; transition: transform .1s .9s cubic-bezier(0.19, 1, 0.22, 1); }
.is-gn-open .gn { opacity: 1; visibility: visible; transition: all .2s ease; }
.is-gn-open .gn__mask { transform:scaleY(1); transform-origin: 0 0; transition: transform .8s cubic-bezier(0.19, 1, 0.22, 1); }
.is-gn-open .gn__trigger--close { transform:translate(0%,-50%); }
.is-gn-open header .flex { background: #000; }
.gn__body { text-align:center; padding-top: 80px; }
.gn__body a { color:#999; display:inline-block; transition: color .5s ease; }
.gn__body a:hover { color:#fff; }
.gn__lists li { display:block; margin:5px 0; }
.gn__lists li a { font-size:2.4rem; font-size:4.4vh; text-transform:uppercase; letter-spacing: 13px; text-indent: 13px; font-weight:300; }
.gn__lists--sub li { display:inline-block; margin:15px; }
.gn__lists--sub li a { font-size:1.3rem; letter-spacing:6px; text-indent: 6px; font-weight:400; }
.gn__btn { margin-top:20px; }
.gn__btn a { font-size:1.4rem; position: relative; }
.gn__btn a span { letter-spacing:3px; }
.gn__body li a.is-active { font-weight: 500; color: #fff; }
.gn__social { text-align: center; margin-top: auto;}
.gn__lists--social li { display:inline-block; margin:0 15px 30px; }
.gn__lists--social li a { width: 30px; height: 30px; display: block; }
.gn__lists--social li a svg g { fill: #999; -webkit-transition: fill .3s ease; transition: fill .3s ease; }
.gn__lists--social li a:hover svg g { fill: #fff; }
.gn__phone { text-align: center; margin: 10px 30px; }
.gn__phone .gn__btn { border: 1px solid #fff; width: 50%; float: left; margin:0 0 20px; }
.gn__phone .gn__btn a { display:block; padding:5px 0; }
.gn__phone .current { display: none; }

@media screen and (min-width:768px) {
	.gn__body { padding-top: 100px; min-width: 600px; margin-top: auto; margin-bottom: auto;}
	.gn__social { min-width: 300px; }
}
@media screen and (max-width:1024px) {
	.gn__trigger { left:10px; }
}
@media screen and (max-width:767px) {
	header { height:70px; }
	.gn__trigger { position: absolute; top:26px; left:20px; }
	.gn__trigger .btn-menu { left:0; }
	.is-gn-open .gn__trigger .btn-menu > div:before { background: #fff; }
	.gn__body { margin-top: auto; }
	.gn__lists li a {font-size:2.4rem; letter-spacing: 16px; text-indent: 16px; }
	.gn__lists--sub li { margin:10px; }
	.gn__lists--sub li a { font-size:1.2rem; letter-spacing:4px; text-indent: 4px; }
}
@media screen and (max-width:480px) {
	.gn { height:calc(100%); }
	.gn__lists li a {font-size:1.5rem; letter-spacing: 6px; text-indent: 6px; }
	.gn__lists--sub li { margin:10px; display:block; }
	.gn__lists--sub li a { font-size:1.3rem; }
	.gn__btn { margin-top:30px; }
}

.contact__text { display: table; margin: auto; }
.contact dl { display: table-row; }
.contact dt { display: table-cell; padding-right: 3rem; padding-bottom: 2rem;}
.contact dd { display: table-cell; }


.news__single--image { padding-bottom: 100%; background: center / cover no-repeat; }
.news__single--date { margin-top: 1em; }
.news__body .flex-33 { margin-bottom: 2rem;}

.schedule__start-time { margin-top: 2rem; }

.news-grid {position: relative;padding:0 20px;display: flex;flex-wrap: wrap;}
.news-grid .g { position: relative; display: block; width: 100%; color:#340000; }
.news-grid .g .img { position: relative; display: block; width: 100%; height: 0; padding-bottom: 66.6666%; overflow: hidden; }
.news-grid .g .img img { position: absolute; left:0; top:0; display: block; width: 100%; height: 100%; -webkit-transition:all 900ms cubic-bezier(.275,0,0,1); transition:all 900ms cubic-bezier(.275,0,0,1); }
.news-grid .g .text { position: relative; padding:20px 0; }
.news-grid .g .text h2 { font-size: 15px; }
.news-grid .g .text p { font-size: 12px; }
.news-grid .g .text .meta { display: block; margin:10px 0; }
.news-grid .g .text .meta div { font-size: 11px; line-height: 20px; display: inline-block; }
.news-grid .g .text .meta .date { color:#999; }
.news-grid .g .text .meta .cat { margin-left: 10px; color:#fff; padding:0 10px; letter-spacing: 1px; }
.news-grid .g .text .meta .cat.event { background-color: #975832; }
.news-grid .g .text .meta .cat.press { background-color: #326697; }
.news-grid .g .text .meta .cat.menu { background-color: #5c8849; }
@media all and (min-width: 768px){
	.news-grid .g { width: 50%; padding:0 10px 20px; float: left; }
}
@media all and (min-width: 960px){
	.news-grid { padding:0 25px; }
	.news-grid .g { width: 33.2%; padding:0 15px 30px; float: left; } /* 33.3 以上だとサファリでくづれる　*/
	.news-grid .g:hover .img img { -webkit-transform: scale3d(1.1,1.1,1); transform: scale3d(1.1,1.1,1); transform: scale(1.1,1.1); }
}

@media all and (min-width: 320px){
	.article-text { display: block; margin-bottom: 20px; }
	.col-left { width: 100%; padding:40px 0 0; border-top: 1px solid #e1e1e1; }
	.col-right { width: 100%; padding: 0; }
	.col-inside { display: block; padding:0; margin:0 auto; }
	.col-inside .side-title { font-weight: 700; padding:20px 0 18px; border-bottom: 1px solid #e1e1e1; border-top: 1px solid #666; }
	.col-inside hr { display: block; width: 60px; height: 2px; margin:20px 0; border:none; background-color: #666; }
	.col-inside p a { color:#666; display: inline-block; border-bottom: 1px dotted #666; }
	.col-inside p img { display: block; width: 100%; height: auto; }
	.col-inside .article-tags-date { display: block; }
	.col-inside .article-tags-date div { display: inline-block; font-size: 12px; color:#777; margin:0 10px 0 0; }
	.col-inside .article-tags-date .cat { margin-left: 10px; color:#fff; padding:0 10px; letter-spacing: 1px; }
	.col-inside .ugc { padding:20px 0 0; }
	.single-nav-area { position: relative; height: 80px; margin-top: 60px; border-top: 1px solid #eee; padding:30px 0; }
	.single-nav-area a { position: absolute; display: inline-block; color:#ccc; }
	.single-nav-area a h3 { position: relative; display: block; padding:0 30px; width: 100%; font-size: 12px; height: 20px; line-height: 22px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.single-nav-area a h3:before { content:""; position: absolute; right: 0; top:0; width: 20px; height: 20px; background: url(../img/sla.svg); background-size: 20px 20px; }
	.single-nav-area a.next { right:0; text-align: right; }
	.single-nav-area a.prev { left:0; }
	.single-nav-area a.prev h3:before { right: auto; left:0; -webkit-transform: rotate(180deg); -mox-transform: rotate(180deg); transform: rotate(180deg); }
	.category-list { display: block; margin:20px 0; }
	.category-list li { display: block; margin:5px 0; }
	.category-list li a { display: block; font-size: 12px; line-height: 20px; letter-spacing: 1px; color:#666; text-transform: uppercase; }
	.articles-list { display: block; margin:20px 0; }
	.articles-list li { display: block; margin:0 0 20px; }
	.articles-list li a { position: relative; display: block; }
	.articles-list li .img { width: 30%; display: block; }
	.articles-list li .img img { display: block; width: 100%; }
	.articles-list li .text { height: 100%; display: block; margin:0; }
	.articles-list li .text h4 { font-size: 12px; color:#cccccc; line-height: 1.4; }
}
@media all and (min-width: 768px){
	.ugc p {margin-top: 2em; }
	.col-inside .article-tags-date span { font-size: 13px; }
}
@media all and (min-width: 960px){
	.col-left { float: left; width: 66%; padding:60px 0 0; }
	.col-right { float: right; width: 30%; }
	.single-nav-area { margin-top: 80px; }
	.category-list { margin:20px 0 40px; }
	.articles-list { margin:20px 0; }
	.single-nav-area a,
	.articles-list li .text h4,
	.category-list li a { -webkit-transition: color .25s ease-in-out; -moz-transition: color .25s ease-in-out; -ms-transition: color .25s ease-in-out; -o-transition: color .25s ease-in-out; transition: color .25s ease-in-out;}
	.category-list li a { color:#cccccc; font-size: 24px; line-height: 1.8; }
	.single-nav-area a:hover,
	.category-list li a:hover,
	.articles-list li a:hover .text h4,
	.col-inside p a:hover { color:#fff; }
}

.news__profile { margin-top: 4rem; }
.news__profile--image { width: 40%; float:left; margin: 0 20px 20px 0 }
.news__profile--text { font-size:1.1rem; }
.news__profile--text h3 { margin-bottom:10px; }

.schedule-single { position: relative; max-width: 800px !important; margin:0 auto; padding-top: 20px; }
.schedule-single::before { content:""; position: absolute; left:0; top:0; display:block; width: 100%; border-top: 1px solid rgba(255,255,255,.5); }
.schedule-single hr { display:block; margin:20px 0 0; border:none; border-top: 1px solid rgba(255,255,255,.5); }
.schedule-single .schedule__date { width: 100px; vertical-align: top; font-size: 1.2rem; line-height: 1; }
.schedule-single .schedule__date span { line-height: 1; }
.schedule-single .section-title { display: table-cell; vertical-align: middle; padding-left: 20px; }
.schedule-single__content { margin-top: 2rem; }
.schedule-single__text { margin-top: 2rem; }
.schedule-single .schedule__info { display: block; }
.schedule-single .schedule__info .inner-table{ display: table; width:100%; }
.schedule-single .schedule__info .inner-table .inner-row { display: table-row; }
.schedule-single .schedule__info dt {  width: 100px; display: table-cell; vertical-align: top; padding: 1rem 0; border-top:1px solid rgba(255,255,255,.2); }
.schedule-single .schedule__info dd { display: table-cell; vertical-align: bottom; padding: 1rem 0; border-top:1px solid rgba(255,255,255,.2); }
@media all and (max-width: 767px){
	.schedule-single .schedule__info dt,
	.schedule-single .schedule__date { width: 70px;}
}

.hidden-load { opacity:0; transition: opacity 0.5s 1s; }