@charset "UTF-8";
/*
Theme Name:bbq339
Theme URI:https://bbq.339.co.jp
Author:mizuho ogino
Author URI:http://web.contempo.jp
*/

:root {
  --column-gap:48px;
  --body-font:sans-serif;
  --font-color:#272323;
  --body-color:#ffffff;
  --gray-color:#6d5e42b0;
  --border-color:#878787b0;
  --border-width:1px;
  --link-color:#ff7d20;
  --button-hover-color:#ff7d20;
  --hover-color:#ffb120;
  --section-gap:calc( var(--column-gap) * 1.5 + 2vw);
  --button-color:#332f2f;
  --layer-color:#bef1ffb2;
  --p-margin:.666em;
  --li-margin:.333em;
  --reversal-bg:#50c3ef;
  --theme-color:#1ad1ff;
  --list-color:#0073ff;
  --yellow-color:#ffea00;
  --dark-color:#003c86;
  --strong-color:#0073ff;
  --shadow:#000000cc;
  --scroll-margin:0;
  --box-shadow:#00000050 .75em .75em 0px;
  --text-shadow:#00000085 .05em .05em 0px;
}
@media screen and ( min-width : 1280px ){
  :root {
    --font-size:18px;
  }
}
@media screen and ( max-width : 1080px ){
  :root {
    --column-gap:40px;
  }
}
@media screen and ( max-width : 781px ){
  :root {
    --column-gap:32px;
  }
}
@media screen and ( max-width : 480px ){
  :root {
    --column-gap:24px;
  }
}

@font-face {
  font-family:'cap'; font-style:normal; font-display:swap; font-weight:500;
  src:url('font/scorety.woff2') format('woff2'), url('font/scorety.woff') format('woff');
}

.reversal { 
  /* color:var(--opposite-color); */
  /* border-color:var(--border-color); */
  --strong-color:var(--theme-color);
  --strong-color:#003eaa;
  --layer-color:#9ae1ff84;
  --gray-color:#3d637b;
  --border-color:#1b95bd;
  --dark-color:#ffea00;
  --link-color:#0062ff;
  --hover-color:#0088ff;
  /* --font-color:#ffffff; */
  /* --body-color:#272323; */
  /* --opposite-color:#272323; */
}


/* :::::::::::OVERAL SETUP ::::::::::: */
/* Color & Typography */

#wrapper { position:relative; border-width:0; padding:0; margin:0; z-index:1; }
.container { position:relative; width:calc( 100% - var(--column-gap) * 2 ); }
main { clear:both; display:block; }
.section { padding-top:var(--section-gap); padding-bottom:var(--section-gap); overflow:hidden; }
.archive-section { overflow:visible; }
.single-section { overflow:visible; } /* for sticky content */
.modal-target-content.section { padding-top:var(--column-gap); padding-bottom:var(--column-gap); }
.modal-target-content .container { width:100%; }

h1, h2, h3, h4, h5, h6 { -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; line-height:var(--line-height-mono); }
h2 span { display:inline-block; }
h2 strong { font-size:1.2em; color:var(--button-color); }
.en { font-family:'cap',serif; }
h2.headline { margin:0 0 var(--column-gap) 0; position:relative; text-align:center; font-size:2em; color:var(--list-color); line-height:1; border-bottom:6px dotted var(--theme-color); padding:0 0 .5em; }

.section-title { text-align:center; font-size:1em; margin:0 0 var(--column-gap); }
.section-header-title { margin:0 0 var(--section-gap); }
.section-title .en { display:inline-block; position:relative; z-index:1; overflow:visible; font-size:7.5em; margin:0; line-height:1; color:var(--layer-color); }
.section-title .en::after { content:''; display:block; height:.12em; width:100vw; position:absolute; bottom:0; background-color:currentColor; transform:skewX(-20deg); }
.section-title .ja { display:block; font-size:1.2em; margin:-2em 0 2em 25%; line-height:1; font-weight:900; position:relative; z-index:2; }

html.lang-en .section-title .ja { display:none;}
html.lang-en .logo-cp { font-family:"cap"; }
html.lang-en #home-menu, html.lang-en #main-menu { font-family:"cap"; font-size:1.25em; }
h2 p { margin:0; }
h2 p + p { margin-top:0.25em; }
strong { font-weight:700; font-size:1.1em; }
blockquote::before, blockquote::after { color:inherit!important; }

a.image-link { border-color:inherit!important; }
a.viewmore { color:var(--link-color); color:inherit; font-weight:700; }
a.viewmore::after { content:'\2192'; display:inline; margin-left:.5em; position: relative; right:0; transition:right .5s; }
a.viewmore:hover { color:var(--hover-color); }
a.viewmore:hover::after { right:-.5em; }
button.button, a.button { width:auto; border-radius:8px; display:flex; align-items:center; justify-content:center; gap:.5em; max-width:var(--content-width); }
a.button svg, button.button svg { fill:currentColor; width:1.75em; height:1.75em; }
button:not([class]), input[type="button"], input[type="reset"], button[type="submit"], input[type="submit"] { display:block; }
a.wp-block-button__link { display:block; }
.wpcf7-submit.button, .button[type="submit"] { padding:1.5em; background-color:var(--button-color); color:var(--opposite-color) }
a.mail-link.text-link::before { display:inline-block; font-family:'fontello'; content:'\e918'; margin-right:.25em; text-decoration:none; }
a.text-link.url-link::before { display:inline-block; font-family:'fontello'; content:'\e90c'; margin-right:.25em; text-decoration:none; }
a.url-link.link-to-document::before { content:'\e91d'; }
a.url-link.link-to-image::before { content:'\e91c'; }
.repeat-selector { margin-bottom: 12px; display:flex; align-items:center; flex-wrap:nowrap;}
.repeat-selector select { width:calc( 100% - 104px + var(--border-width) * 2); }
.repeat-selector .repeat-qty { width:calc( 96px - var(--border-width) * 2); margin-left:8px; display:flex; align-items:center; flex-wrap:nowrap;}
.repeat-selector .repeat-qty label { font-size:12px; line-height:1.2; width:16px; }
.repeat-selector .repeat-qty input { width: 80px; text-align:center; }
.wpcf7 button.add_selector { padding:.25em .75em; display:block; margin:4px 0 0 auto;}
@media screen and ( max-width : 781px ){
  .section-title { text-align:left; margin:0 calc( var(--column-gap) * -1) var(--column-gap) 0; overflow:hidden; }
  .section-title .en { font-size:16vw; }
}
@media screen and ( max-width : 480px ){
   .section-title br { display:none; }
   .section-title .ja { margin:-1.5em var(--column-gap) 1.5em; text-align:right; }
}



/* ::::::::::: HEADER ::::::::::: */

#site-header { display:-webkit-box; display:flex; -webkit-box-align:stretch; align-items:stretch; flex-wrap:nowrap; }
body.home #site-header { position:absolute; left:0; right:0; z-index:100; }
#site-logo { display:block; margin:0; padding:calc( var(--column-gap) * .5); color:inherit; width:100%; max-width:640px; }
.logo { color:inherit; display:flex; position:relative; gap:3%; margin:0; width:100%; align-items: center; }
.logo .logo-icon { width:16%; aspect-ratio:1/1; }
.logo .logo-text { width:84%; fill:currentColor; margin-bottom:-4%; aspect-ratio:5/1; }
.logo .logo-cp { font-weight:900; position:absolute; bottom:68%; left:19%; display:block; line-height:1; font-size:18px }
html.lang-en .logo .logo-cp { bottom:69% }
html.lang-zh .logo .logo-cp, html.lang-ko .logo .logo-cp  { bottom:73% }
#site-logo a:hover { opacity:.9 }
#site-navi { display:none; background-color:var(--theme-color); padding:var(--column-gap) 0 calc(var(--column-gap) + 48px); }
.toggle-opened #site-navi { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-align:center; align-items:center; position:fixed; left:0; top:0; right:0; bottom:0; overflow-y:auto; overflow-x:hidden; z-index:992; }
#main-menu { margin:0 auto var(--column-gap); line-height:var(--line-height-mono); padding:0; display:block; width:440px; }
#main-menu li { width:auto; display:block; text-align:center; margin:0; padding:0; list-style:none; }
#main-menu a { font-size:1.25em; color:var(--opposite-color); padding:.5em; margin:0; display:block; font-weight:900;}
#main-menu a::before { content:'#'; }
#main-menu a:hover { text-shadow:var(--hover-color) .1em .1em 0px; }
#sub-menu { display:block; width:440px; margin:0 auto; line-height:var(--line-height-mono); }
#sub-menu li { display:block; margin:0; list-style:none; }
#sub-menu a { display:block; padding:.25em .5em; text-align:center; font-size:var(--font-size); font-weight:700; }
#sub-menu #sub-menu-sns { display:flex; flex-flow:row nowrap; justify-content:center; margin:1em 0 0; gap:1em; }
#sub-menu #sub-menu-sns a { margin:0; display:block; height:3em; width:3em; padding:0; }
#sub-menu #sub-menu-sns svg { width:100%; height:auto; fill:currentColor;}
#sub-menu #sub-menu-sns a span { display:none; }

#site-info-menu { width:auto; display:flex; padding:0; margin:0; line-height:1; position:fixed; bottom:0; right:0; left:0; z-index:993; font-size:16px; height:4em; color:var(--opposite-color); overflow:hidden; }
.language-switch { color:inherit; font-weight:700; background-color:var(--button-color)!important; border-width:0; }
#reservation-menu { display:block; display:flex; flex:1; align-items:center; height:4em; font-size:inherit; padding:4px 8px; font-weight:700; border-right:1px solid #ffeaa349 }
#reservation-menu svg { fill:currentColor; height:2.5em; width:2.5em; }
#toggle-menu { display:block; padding:0; margin:0; line-height:1; height:4em; width:4em; position:relative; border-color:currentColor; }
#toggle-menu span { display:inline-block; width:1.8em; height:0; border-color:inherit; border-width:.225em 0 0 0; position:absolute; left:0; right:0; bottom:0; top:0; margin:auto; transition:.15s ease-in-out; }
#toggle-menu .bar-1 { top:-1.8em; }
#toggle-menu .bar-2 { top:-.9em; }
#toggle-menu .bar-3 { top:0; }
body.toggle-opened #toggle-menu .bar-1 { top:-.9em; -webkit-transform:rotate(45deg); transform:rotate(45deg); }
body.toggle-opened #toggle-menu .bar-2 { width:0; }
body.toggle-opened #toggle-menu .bar-3 { top:-.9em; -webkit-transform:rotate(-45deg); transform:rotate(-45deg); }
#toggle-menu::after { content:attr(title); font-size:10px; transform:scale(.8); color:inherit; line-height:1; margin:0 0 0; display:block; text-align:center; position:absolute; bottom:6px; right:0; left:0; }
#site-info-menu a { background-color:var(--link-color); }
#site-info-menu a:hover { color:inherit; background-color:var(--hover-color); }
@media screen and ( min-width : 781.1px ) and ( orientation:landscape ), ( min-width : 900.1px ){
  #site-info-menu { top:1em; left:auto; right:1em; top:1em; border-radius:4px; height:3em; }
  #reservation-menu { height:3em; }
  #toggle-menu { height:3em; width:3em; }
  body.admin-bar #site-info-menu { top:48px; }
}
@media screen and ( min-width : 900.1px ){
  body.home #site-logo { padding:var(--column-gap); max-width:900px; }
  body.home .logo-cp { font-size:28px; }
}
@media screen and ( max-width : 900px ){
  body.home #site-logo { max-width:none; }
  #site-logo { padding:calc( var(--column-gap) * .5) var(--column-gap); max-width:none; }
  #site-logo .logo-cp { font-size:3.2vw; }
}


/*:::::::::::FOOTER:::::::::::*/

#site-footer { margin:0; padding:0 0 4em; overflow:hidden; position:relative; z-index:12; background-color:#272323; color:#fff; }
#footer-company { display:flex; flex-wrap:wrap; font-size:12px; justify-content:center; align-items:center; margin:var(--section-gap) auto; max-width:var(--content-width) }
#footer-logo { width:calc(100% - 200px); }
#footer-logo .logo-icon { background-color:#fff; border-radius:50%; padding:.3em; }
#footer-logo a:hover { opacity:.9 }
#footer-logo .logo-cp { font-size:20px; }
#footer-navi { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; padding:var(--column-gap) 0 0; margin:0; }
#footer-navi li { display:block; margin:0; padding:0; }
#footer-navi li a { display:block; margin:0; padding:.5em 1em; text-decoration:underline; }
#footer-company-column { width:auto; margin-left:auto;}
#footer-company-column p { display:block; margin:0; }
#footer-company-column a { text-decoration:underline; }
#footer-company-column a:hover { opacity:.8; }
#footer-sns { display:inline-flex; flex-flow:row nowrap; justify-content:flex-end; margin: 0; gap:1em; }
#footer-sns a { margin:0; display:block; height:3em; width:3em; color:currentColor; }
#footer-sns svg { width:100%; height:auto; fill:currentColor;}
#footer-sns a span { display:none; }
#footer-related-sites { margin:var(--section-gap) 0 0; }
#footer-related-sites p { text-align:center; font-size:1.5em; margin:0; }
.related-sites { display: flex; flex-wrap: wrap;align-items: stretch; justify-content: center; margin:0; }
.related-sites li { margin:0; padding:2%; width:33.333%; }
.related-site { margin:0; padding:0; DISPLAY:block; }
.related-site-image { margin:0; border:.25em solid rgba(255,255,255,.1); position: relative; overflow: hidden; }
.related-site-image::before { display:block; padding:40% 0 0 ; content:''; }
.related-site-image img { width:100%; height:100%; position: absolute; inset: 0; margin: auto; object-fit: cover; transition: transform 1s; }
.related-site:hover .related-site-image img { transform: scale(1.2); transition: transform 5s; }
.related-site-text { font-size:12px; line-height:1.3; padding:.75em 0 0;text-align:center; }
.related-site-text .en { display: block; font-size:12px; font-family:sans-serif; margin-top:0.5em; opacity:.5; }
#site-footer .footer-info { display: block; text-align:center; margin:var(--column-gap) auto 0; max-width:600px; border-width:1px; padding:1em; }
#site-footer .footer-info h4 { font-size:1em; margin:-1.5em auto 0 auto; display:table; line-height:1; background-color:#272323; }
#site-footer .footer-info p { font-size:.75em; margin:.75em 0 0; line-height:var(--line-height-mono); }
#credit { font-size:11px; font-weight:normal; line-height:var(--line-height-mono); position:relative; text-align:center; margin:var(--section-gap) 0 0 0; padding:0 var(--column-gap) 2em; }
#credit p { margin:0; display:inline-block; }
#credit p a { color:inherit; }

@media screen and ( max-width : 900px ){
  #footer-company { display:block; text-align:center;}
  #footer-logo { margin:0 auto; width:85%; }
  #footer-logo .logo-cp { font-size:2.8vw; }
  #footer-company-column { margin-top:var(--column-gap)}
}
@media screen and ( max-width:782px) {
  .related-site-image::before { display:block; padding:100% 0 0 ; content:''; }
}
@media screen and ( min-width : 781.1px ) and ( orientation:landscape ), ( min-width : 900.1px ){
  #site-footer { padding-bottom:0; }
}


/* ::::::::::: TOPPAGE ::::::::::: */
#section-screen { padding:0; margin:0; position:relative; overflow:visible; z-index:2; }
#screen-main { display:block; padding-top:calc( var(--column-gap) + 14% ); }
#screen-video { background-color:#777777; height:100%; z-index:1; overflow:hidden; position: relative; }
#screen-video::before { content:''; display:block; padding:100% 0 0 0;}
#screen-video video { position:absolute; left:-100%; right:-100%; top:-100%; bottom:-100%; margin:auto; object-fit:cover; object-position:center; max-width:none; min-width:100%; min-height:100%; width:auto; height:auto; z-index:1; }
#screen-catchphrase { font-size:7vw; font-weight:900; visibility: visible; line-height:1; margin:0; padding:0; display:block; position:absolute; transform:translateY(50%); text-align:center; left:0; right:0; bottom:50%; color:var(--opposite-color); z-index:2; max-width:32em; text-shadow:var(--text-shadow);}
#screen-catchphrase b { display: inline-block; font-weight:inherit; }
#screen-catchphrase .cp1 { font-size:1.2em; color:var(--yellow-color); }
#screen-catchphrase small { font-size:.7em; }
#screen-sidebar { display:block; position: relative; }
#home-menu { display:flex; flex-wrap:wrap; justify-content:center; position:absolute; left:0; right:0; top:0; transform:translateY(-100%); color:#fff; background-color:#00000020; z-index:20; padding:.66em .5em; margin:0; }
#home-menu li { display:block; margin:0; padding:0; }
#home-menu a { display:block; font-weight:900; font-size:1.1em; display:block; padding:.33em .5em; line-height:1.2; }
#home-menu a::before { content:'#'; margin-right:.1em; }
#home-menu a:hover { color:inherit; text-shadow:var(--hover-color) .1em .1em 0px; }
.news-ticker { position:relative; z-index:10; white-space:nowrap; display: flex; align-items: center; overflow: hidden; padding:0; margin:0; }
.news-ticker ul { display: flex; align-items: center; animation: ticker 30s linear infinite; margin:0; padding:.5em 0; background-color:var(--layer-color); }
.news-ticker li { margin:0 2em 0 0; }
.news-ticker li a { display:block; }
.news-ticker li a .post-date { margin-right:.5em; color:var(--gray-color)}
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

@media screen and ( min-width : 781.1px ) and ( orientation:landscape ), ( min-width : 900.1px ){
  #section-screen { height:calc(100vh - 80px); max-height:760px; min-height:34em; display:flex; }
  #screen-main { order:2; position:relative; width:calc(90% - 220px ); margin:0 0 0 auto; padding-top:0; }
  #screen-video { margin:0 0 auto 0; height: calc( 100% + 80px); }
  #screen-catchphrase { font-size:calc(1em + 3vw); left:var(--column-gap); right:auto; bottom: var(--column-gap);; text-align:left;  transform:none; }
  #home-menu { display:block; position:relative; color:inherit; background-color:transparent; transform:none; padding:0; margin:0; }
  #home-menu a { font-size:1.2em; display:block; padding:.5em 0; }
  html.lang-en #home-menu a { padding:.25em 0; }
  .news-ticker { padding:.5em 0 0; margin:1em 0 0; }
  .news-ticker::before { content:'News'; font-family:'cap'; position:absolute; left:.25em; top:0; line-height:1; z-index:11; color:var(--theme-color); }
  #screen-sidebar { width:calc(200px + 10% ); order:1; padding:var(--column-gap) calc(var(--column-gap) * 0.5) var(--column-gap) var(--column-gap); display:flex; flex-direction:column; justify-content: flex-end; }
}

article.entry { max-width:var(--content-width); margin-left:auto; margin-right:auto; }
.woocommerce-page { --content-width:auto; }
.entry strong { color:var(--strong-color); font-weight:900; }
.entry strong b { font-size:1.2em; font-weight:900; }

@media screen and ( min-width : 1280px ){
  article.entry {
    font-size:16px; 
  }
}
#section-pickup { display:block; overflow:hidden; }
.pickup-list { display:flex; flex-wrap:wrap; text-align:center; justify-content: center; gap:var(--column-gap); margin:0; }
.pickup-list li { margin:0; display:block; max-width:280px; }
.pickup-list li a, .pickup-list li img { display:block; margin:0; padding:0; }
.pickup-swiper { overflow:visible; margin:0 auto var(--column-gap); }
.pickup-swiper li a, .pickup-swiper li img { display:block; margin:0; padding:0; }
.pickup-swiper li { margin:0 var(--column-gap); display:block; width:33.33%; align-self:stretch; background-color:#fff; padding:12px;}
.pickup-swiper .swiper-pagination { bottom:calc( var(--column-gap) * -1 ); }
.mov-swiper { overflow:visible; margin:0 auto var(--column-gap); }
.mov-swiper li { margin:0 var(--column-gap); display:block; align-self:stretch; background-color:#fff; padding:12px; }
.mov-swiper .embed-youtube::before { padding:177.778% 0 0; }
.swiper-button-prev, .swiper-button-next { width:44px; height:44px; background-color:var(--layer-color); border-radius:50%; background-size: 50% 50%; transition:opacity .25s; }
.section.reversal .swiper-button-prev, .section.reversal .swiper-button-next { background-color:#fff; }
.swiper-button-prev { left:-22px; background-image:url( "data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 40' %3E%3Cpath d='M20.97,39.11L1.96,20.1,20.97,1.09' stroke='%23272323' fill='none' stroke-miterlimit='10' stroke-width='2px' /%3E%3C/svg%3E"); }
.swiper-button-next { right:-22px; background-image:url( "data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 40' %3E%3Cpath d='M1.1,1.09l19.01,19.01L1.1,39.11' stroke='%23272323' fill='none' stroke-miterlimit='10' stroke-width='2px' /%3E%3C/svg%3E"); }
.swiper-button-disabled { opacity:0; }
a.campaign-banner { display:block; margin-top:var(--column-gap); }
a.campaign-banner + a.campaign-banner { margin-top:calc(var(--column-gap) * 0.5); }
a.campaign-banner:hover {opacity:.8; }
#section-usage .embed-youtube { max-width:100%; width:640px; border:8px solid currentColor; margin: var(--column-gap) auto; }
.fee-table { width:100%; max-width:800px; background-color:var(--body-color); line-height:var(--line-height-mono); }
.fee-table.wide { max-width:100%; }
.fee-table.wide th:nth-child(1) { width:14%; }
.fee-table th { width:28%; }
.fee-table th { background-color:var(--layer-color); text-align:center; font-weight:700; }
.fee-table th[colspan] { background-color:transparent;}
.fee-table th p { margin:0; }
.fee-table th .subtitle { font-weight:normal; font-size:12px; }
.fee-table td { text-align:center; font-weight:700; }
.fee-table small { font-size:11px; font-weight:500; }
.entry .fee-table strong { font-size:1.1em }
.entry .fee-table strong b { font-size:1.5em; }
.page-title .ja { font-size:1.2em; }
.page-title .en { font-size:3.2em; }

.photo { border:12px solid #fff; box-shadow:var(--box-shadow); }
.round-image { border-radius:50%; aspect-ratio:1/1; object-fit:cover; }
.box-layout { z-index:2; display:flex; align-items:center; flex-wrap:wrap; gap:var(--column-gap); }
.box-image { flex:2; order:2; }
.box-image img { width:100%; display:block; }
.box-image.usage-image { align-self: stretch; }
.box-image.usage-image img { height:100%; object-fit:cover; }
.box-text { flex:3; order:1; }
.box-layout:nth-child(2n) .box-image { order:1; }
.box-layout:nth-child(2n) .box-text { order:2; }

.entry .news-box { display:table; background-color:var(--layer-color); margin:1.8em 0 0; padding:1em; position: relative; font-weight:700; font-size:1.1em; text-align:center; width: 100%;}
.entry .news-box h4 { position: relative; top:-1.8em; margin:0 0 -1.8em; }
.entry .news-box h4::before { display:none; }
h3[data-number] { position: relative; }
h3[data-number]::before {  content:attr(data-number); font-family:'cap',serif; font-size:5em; position:absolute; z-index:-1; }
.section { position:relative; overflow-x:hidden; z-index:1; padding-top:var(--section-gap); padding-bottom:var(--section-gap); }
.section.reversal { background-color:var(--reversal-bg); }
.section .background-image { display:none; position:absolute; left:0; top:2em; bottom:2em; right:0; z-index:-2; overflow:hidden; }
.header-message { font-size:1.5em; line-height:var(--line-height-mono); font-weight:900; margin-top:calc( var(--column-gap) + 1em); color:var(--dark-color); text-align:center; }
.header-message span { display: inline-block; }
.table-numbers { font-size:1.5em; font-weight:900; line-height:1; }
.table-numbers b { font-size:2em; font-weight:900; margin-right:.1em; }
.table-numbers span { margin-right:.5em; display: inline-block; }
a.follow-instagram.button { max-width:var(--content-width);  text-align:center; margin:var(--column-gap) auto 0; }
#section-facilities { background-image:url('images/bg.jpg'); --layer-color:#ffffff99; }
#photo-gallery { position:relative; z-index:2; margin-top:var(--section-gap);margin-bottom:calc( var(--section-gap) * -1); background-color:rgba(0,0,0,.5); width:100vw; left:50%; transform:translateX(-50%); }
.gallery-items { max-width:1400px; margin:0 auto; position:relative; z-index:1; }
.gallery-items::before { content:''; display:block; padding:50% 0 0; }
#photo-gallery h2 { color:#ffffffbb; position:absolute; left:3%; top:0; font-size:7em; transform:rotate(-25deg); line-height:1.2; margin:0; }
#photo-gallery h2::after { content:''; display:block; height:.12em; width:100%; position:absolute; bottom:0; background-color:currentColor; transform:skewX(-20deg); }
#photo-gallery h3.popup { color:var(--yellow-color); font-size:2em; margin:0; background-color:transparent; font-weight:900; position:absolute; z-index:50; left:25%; top:12%; transform:rotate(-25deg); text-shadow:var(--text-shadow); }
#photo-gallery h3.popup span { display:inline-block; word-break: keep-all; }
#photo-gallery h3.popup span + span {margin-left:45%; }
.gallery-items li { position: absolute; overflow:visible; }
.gallery-items li::before { padding:75% 0 0; content:''; display:block; }
.gallery-items li img { position:absolute; z-index:1; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.gallery-items li:nth-child(4n) img { object-position:right center; }
.gallery-items li:nth-child(4n + 1) img { object-position:left top; }
.gallery-items li:nth-child(4n + 2) img { object-position:right bottom; }
.gallery-items li img { animation:flipimage1 10s linear infinite; }
.gallery-items li img + img { animation:flipimage2 10s linear infinite; }
@keyframes flipimage1 { 0%{ opacity:1; } 49%{ opacity:1; } 51%{ opacity:0; } 98% { opacity:0; } 100% { opacity:1; } }
@keyframes flipimage2 { 0%{ opacity:0; } 49%{ opacity:0; } 51%{ opacity:1; } 98%{ opacity:1; } 100% { opacity:0; } }
.gallery-items .item-1 { animation:moveblock1 10s linear infinite; }
.gallery-items .item-2 { animation:moveblock2 10s linear infinite; }
.gallery-items .item-3 { animation:moveblock3 10s linear infinite; }
.gallery-items .item-4 { animation:moveblock4 10s linear infinite; }
@keyframes moveblock1 { 0%{ left:3%; top:23%; width:32%; transform:rotate(3deg); } 49%{ left:3%; top:23%; width:32%; transform:rotate(3deg); } 51%{ left:45%; top:10%;  width:29%; transform:rotate(-2deg); } 98%{ left:45%; top:10%;  width:29%; transform:rotate(-2deg); } 100% { left:3%; top:23%; width:32%; transform:rotate(3deg); } }
@keyframes moveblock2 { 0%{ left:45%; top:8%; width:28%; transform:rotate(-18deg); } 49%{ left:45%; top:8%; width:28%; transform:rotate(-18deg); } 51%{ left:70%; top:30%; width:34%; transform:rotate(8deg); } 98%{ left:70%; top:30%; width:34%; transform:rotate(8deg); } 100% { left:45%; top:8%; width:28%; transform:rotate(-18deg); } }
@keyframes moveblock3 { 0%{ left:67%; top:28%; width:31%; transform:rotate(4deg); } 49%{ left:67%; top:28%; width:31%; transform:rotate(4deg); } 51%{ left:35%; top:50%; width:27%; transform:rotate(1deg); } 98%{ left:35%; top:50%; width:27%; transform:rotate(1deg); } 100% { left:67%; top:28%; width:31%; transform:rotate(4deg); } }
@keyframes moveblock4 { 0%{ left:25%; top:45%; width:30%; transform:rotate(-5deg); } 49%{ left:25%; top:45%; width:30%; transform:rotate(-5deg); } 51%{ left:5%; top:37%; width:31%; transform:rotate(-4deg); } 98%{ left:5%; top:37%; width:31%; transform:rotate(-4deg); } 100% { left:25%; top:45%; width:30%; transform:rotate(-5deg); } }

.layout-area1 .box-image .photo { transform:rotate(1.9deg); }
.layout-area2 .box-image .photo { transform:rotate(-1.4deg); }
.layout-area3 .box-image .photo { transform:rotate(-3deg); position: relative; z-index:2; width:70%; }
.layout-area3 .box-image .photo + .photo { transform:rotate(1.3deg); position: relative; z-index:1; width:60%; margin:-18% 0 0 40%;}

.price { font-size:.875em; }
.price .amount { font-size:1.3em; font-weight:600; line-height:1; }
.price small { font-size:.75em; line-height:1; display:inline-table; margin-left:.4em; }
a.menu-stamp { display:flex; line-height:var(--line-height-mono); align-items:center; justify-content:center; flex-direction:column; text-align:center; font-size:1.3em; z-index:4; font-weight:900; height:10em; width:10em; border-radius:50%; position:absolute; right:calc(var(--column-gap) * -0.5); top:0; background-color:var(--strong-color); color:#ffffff; }
a.menu-stamp > span { line-height:1.35; margin-top:-1.3em;}
a.menu-stamp b { color:var(--yellow-color); font-weight:900; }
a.menu-stamp b.number { font-size:1.4em;}
a.menu-stamp br { display:block; }
a.menu-stamp i { font-size:2.4em; position:absolute; margin:0 auto; right:0; left:0; bottom: 0.1em; z-index:1; }
a.menu-stamp:hover { color:#ffffff; opacity:.9; }
a.menu-stamp::after { content:''; display:block; transform:skew(-44deg) rotate(45deg); background-color:inherit; position:absolute; bottom:0; left:calc(50% - 2em); height:1.5em; width:1.5em; z-index:-1; }
.menu-list { margin:var(--column-gap) 0 0; padding:0; display:flex; flex-wrap:wrap; }
.menu-list > li { margin:0 var(--column-gap) 0 0; width:calc( 33.333% - var(--column-gap)); display:block; }
.menu-list > li.notice { width:auto; flex:1; align-self:flex-end; }
#section-food { overflow:hidden;}
#section-food .notice-wrap { background-color:var(--layer-color); font-size:.875em; padding:1.5em 2em; line-height:var(--line-height-mono); margin-top:var(--column-gap); }
#section-food .header-message { max-width:34em; margin-left:auto; margin-right:auto }
.menu-list .menu-wrap { height: 100%; position:relative; }
.menu-list > li::after { display:table; clear:both; content:''; }
.menu-list .image { margin:0 auto; padding:0; display:block; width:100%; overflow:hidden; position:relative; border-radius:8px; }
.menu-list .image::before { content:''; padding:100% 0 0; display:block; }
.menu-list .image img { width:100%; height:100%; display:block; position:absolute; left:0; top:0; object-fit:cover; }
.menu-list .title { background-color:var(--opposite-color); color:var(--font-color); display:block; box-shadow: -6px 6px 0 rgba(0,0,0,.2); position:absolute; z-index:3; right:-1em; max-width:100%; line-height:var(--line-height); padding:.5em; transform:translateY( calc( -100% + 1em )); }
.menu-list .title h4 { font-size:1em; font-weight:600; margin:0; }
/* .menu-list .title .tags { display:flex; gap:.25em; font-size:.75em; line-height:1; flex-wrap:wrap; margin:0; } */
.menu-list .title .subtitle { font-size:.75em; line-height:1; font-feature-settings:"palt"; border-radius:.75em; padding:0 .5em; line-height:1.5; vertical-align:middle; margin:0; background-color:var(--gray-color); color:var(--opposite-color); display:table; }
.menu-list .desc { padding:0; margin:2.5em 0 0; font-size:.75em; text-align:left; line-height:var(--line-height-mono) }
.menu-list .price { color:var(--gray-color); font-size:1.2em; }
h3.group-title { overflow:hidden; position:relative; padding:.1em .5em .15em; margin:0; line-height:var(--line-height-mono); vertical-align:middle; font-weight:900; display:table; background-color:var(--strong-color); color:var(--opposite-color); }
.food-menu-group .menu-list { margin-top:16px; }
.food-menu-group .swiper-container { overflow:visible; position: relative; }
.food-menu-group .swiper-button-next, .food-menu-group  .swiper-button-prev { width: 32px; height: 32px; top: -48px; margin: 0; transform: none; }
.food-menu-group .swiper-button-next { right:0px;}
.food-menu-group .swiper-button-prev { right:40px; left: auto; }
.food-menu-group .swiper-button-disabled { opacity:.2;}
.food-menu-group + .food-menu-group { margin-top:var(--column-gap); }
.menu-feature { display:flex; align-items:center; flex-wrap:nowrap; margin-top:calc(var(--column-gap) + 2em); gap:0; background-color:var(--strong-color); position: relative; }
.menu-feature-image { flex:1; align-self:stretch; }
.menu-feature-image img { width:100%; height:100%; object-fit:cover; display:block; }
.menu-feature-text { flex:1; padding:var(--column-gap); color:var(--opposite-color); position: relative; z-index:2; }
.menu-feature .en { font-size:4.5em; line-height:.66; color:var(--layer-color); margin:0; position:absolute; right:0; top:0; }
.menu-feature h2 { font-weight:900; margin-top:0; line-height:var(--line-height-mono); color:var(--yellow-color) }
.menu-feature .price { font-size:1.2em; margin:0; }
.menu-feature .subtitle { font-size:1.2em; font-weight:900; margin:0; }
.menu-feature .subtitle::before { content:'\\ '}
.menu-feature .subtitle::after { content:' /'}
.menu-feature .desc { padding:0; opacity:.75; font-size:.875em; margin-top:.25em;}
.modal-box .menu-stamp, .modal-box .menu-feature { display:none; }

#section-reservation a.web-reservation { padding:1.5em; font-size:1.5em; font-weight:700; width:100%; margin:0 auto; }
#section-reservation::before  { background-color:var(--theme-color); bottom:calc( var(--section-gap) * -1 );}
.tel-reservation { text-align:center; font-weight:900; font-size:1.3em; margin-top:var(--column-gap)}
.tel-reservation a { text-align:center; text-shadow:var(--text-shadow); color:#fff; }
.tel-reservation a i { font-size:2.2em; line-height:1.2; }
.tel-reservation a b { font-size:2.2em; font-weight:900; line-height:1.2; }
.tel-hour { display: inline-block; font-size:16px; font-weight:900; line-height:1.2; margin-left:.25em; }
@media screen and ( max-width : 1080px ){
  #photo-gallery h2 { left:var(--column-gap); top:.5em; font-size:3em; transform:none;  }
  #photo-gallery h3.popup { transform:rotate(-14deg); left:var(--column-gap); top:15% }
  .gallery-items::before { padding:75% 0 0; }
  @keyframes moveblock1 { 0%{ left:2%; top:28%; width:40%; transform:rotate(3deg); } 49%{ left:2%; top:28%; width:40%; transform:rotate(3deg); } 51%{ left:39%; top:10%; width:38%; transform:rotate(11deg); } 98%{ left:39%; top:10%; width:38%; transform:rotate(11deg); } 100% { left:2%; top:28%; width:40%; transform:rotate(3deg); } }
  @keyframes moveblock2 { 0%{ left:39%; top:8%; width:38%; transform:rotate(-18deg); } 49%{ left:39%; top:8%; width:38%; transform:rotate(-18deg); } 51%{ left:61%; top:30%; width:40%; transform:rotate(8deg); } 98%{ left:61%; top:30%; width:40%; transform:rotate(8deg); } 100% { left:45%; top:8%; width:38%; transform:rotate(-18deg); } }
  @keyframes moveblock3 { 0%{ left:64%; top:28%; width:41%; transform:rotate(4deg); } 49%{ left:64%; top:28%; width:41%; transform:rotate(4deg); } 51%{ left:33%; top:54%; width:35%; transform:rotate(1deg); } 98%{ left:33%; top:54%; width:35%; transform:rotate(1deg); } 100% { left:64%; top:28%; width:41%; transform:rotate(4deg); } }
  @keyframes moveblock4 { 0%{ left:25%; top:52%; width:40%; transform:rotate(-5deg); } 49%{ left:25%; top:52%; width:40%; transform:rotate(-5deg); } 51%{ left:-1%; top:37%; width:42%; transform:rotate(-4deg); } 98%{ left:-1%; top:37%; width:42%; transform:rotate(-4deg); } 100% { left:25%; top:52%; width:40%; transform:rotate(-5deg); } }
  .photo { border:10px solid #fff; box-shadow:var(--box-shadow); }
}
@media screen and ( max-width : 900px ){
  .box-layout { display:block; }
  .box-text { width:auto; margin-top:var(--column-gap); }
  .box-image { width:auto; margin-top:var(--column-gap); }
  .box-image .photo { position: relative; top:-1em;}
  .box-image.usage-image { margin:var(--column-gap) calc(var(--column-gap) * -1) calc(var(--section-gap) * -1);}
  .box-image.usage-image img { aspect-ratio:2/1; }
  .layout-area1 .box-image img, .layout-area2 .box-image img { max-width:560px; width:90%; margin: auto; }
  a.menu-stamp { top:-3.5em; font-size:1.2em; }
  .pickup-swiper { max-width:75%; }
  .mov-swiper { max-width:75%; width:440px }
  .header-message br { display:none; font-size:1.4em; }
}
@media screen and ( max-width : 781px ){
  .photo { border:8px solid #fff; box-shadow:var(--box-shadow); }
  a.menu-stamp { top:-4.5em; }
  .lang-ja body.home #section-food .section-title .ja { text-align:left; }
  .layout-area3 .box-image .photo { width:58%; }
  .layout-area3 .box-image .photo + .photo { width:50%; margin:-18% 0 0 50%;}
  .pickup-list li { max-width:calc( 50% - var(--column-gap) ); }
  .notice-wrap { background-color:var(--layer-color); padding:.75em 1em; }
  .menu-feature { display:block; margin-top:var(--column-gap);}
  .menu-list .price { color:var(--opposite-color); }
  .menu-list-swiper { margin-top:var(--column-gap); }
  .menu-list > li { width:calc( 50% - var(--column-gap)); }
  .menu-list .title { position:static; box-shadow:none; transform:none; padding:0; margin:12px 0 0; background-color:transparent; }
  .menu-list .desc { margin:0; }
  .food-menu-group .swiper-button-next, .food-menu-group  .swiper-button-prev { top:0; margin-top:calc(17.5% + 8px); }
  .food-menu-group .swiper-button-next { right:-14px; left:auto; }
  .food-menu-group .swiper-button-prev { left:-14px; right: auto; }
}
@media screen and ( max-width : 600px ){
  .menu-list .title { right:0; }
}
@media screen and ( max-width : 480px ){
  #photo-gallery h2 { font-size:2em; }
  #screen-image::before { opacity:.2; }
  .box-layout h2 { font-size:1.6em; }
  a.menu-stamp  { font-size:1.1em; }
  .header-message { text-align:left; font-size:1.3em; font-weight:700; }
  .tel-reservation { font-size:1.18em;}
  .tel-hour { display:block; }
}
@media screen and ( max-width : 340px ){
  .header-message span { display:inline; }
}

#section-gallery { --container-width:1480px; overflow:hidden; }
#section-gallery h2.en { font-size:3em; text-align:center; margin: var(--column-gap) auto calc( var(--column-gap) * 0.5); }
#section-gallery #gallery-1 { overflow:visible; }

.faq { margin:16px 0; display:block; }
.faq .faq-q { cursor:pointer; position:relative; padding:16px 0 16px 48px; }
.faq .faq-q h3 { color:inherit; line-height:var(--line-height-mono); position:relative; margin:0; padding:0; display: inline; border-bottom-width:2px; }
.faq .faq-q::before { content:'Q.'; color:var(--theme-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }
.faq .faq-a { display:none; margin:8px 0; position:relative; }
.faq .faq-a p { padding:1em; background-color:var(--layer-color); margin:0 0 0 48px; border-radius:4px; }
.faq .faq-a::before { content:'A.'; color:var(--strong-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }
.faq-wrapper .button { margin-top: var( --column-gap); }


/* ::::::::::: POSTS ::::::::::: */
.post-list { margin:0 auto; padding:0; text-align:left; max-width:var(--content-width); }
.viewmore-wrapper { margin: var(--column-gap) auto 0; max-width:var(--content-width); text-align:right; }
.post-item { margin:0; }
.post-item + .post-item { border-top-width:1px; }
.post-item a { display:flex; padding:0; width: 100%; background:none; border-radius:0; align-items:center; }
.post-item a:hover { color:inherit; }
.post-item a::after { clear:both; content:''; display:table; }
.post-item .post-text { order:1; flex:1; width:auto; margin:0; padding:1em 1em 1em 0; display:flex; gap:var(--column-gap); align-items:center; justify-content:space-between; overflow:hidden; }
.post-item .post-date { margin:0; display:block; background-color:var(--layer-color); padding:.5em; line-height:1; font-size:.875em; color:inherit; }
.post-item .cat-stamp, .post-item .post-excerpt { display:none; }
.post-item .post-title { margin:0; width:calc( 100% - 7em ); font-size:1em; font-weight:inherit; }
.post-item a:hover .post-title { color:var(--link-color)}
.post-item .post-excerpt { margin:6px 0 0; font-size:.8em; line-height:var(--line-height-mono); }
.post-item .post-image { order:2; width:80px; height:80px; display:block; margin:8px 0 8px auto; border-radius:50%; overflow:hidden; flex-shrink: 0; }
.post-item .post-image img { width:100%; height:100%; object-fit:cover; display:block; }
.post-item .post-image::before { display:none }
.post-item .post-detail { display:block; margin-top:.4em; padding:.3em; line-height:1em; font-size:11px; float:right; border-bottom-width:1px; }

@media screen and ( max-width : 781px ){
  .post-item .post-image { width:64px; height:64px; }
}
@media screen and ( max-width : 480px ){
  .post-item .post-text { display:block; }
  .post-item .post-date { display:table; }
  .post-item .post-title { display:block; width:auto; }
}


/* ::::::::::: SINGLE ::::::::::: */

.image-wrap .image-caption { position:absolute; left:0; bottom:0; width:100%; height:100%; display:-webkit-box; display:flex; -webkit-box-align:end; align-items:flex-end; line-height:1.2; font-size:10px; padding:.5em; color:var(--opposite-color); z-index:2; }
.image-wrap img, .wp-block-image img, .image img { position:relative; z-index:1; display:block; }
article.entry { counter-reset:section; position:relative; z-index:2; }
.entry-section-header-h2 { background:#f2f2f2; counter-increment:section; padding:.2em .4em; position:relative; border-left-width:.25em; display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; }
.entry-section-header-h2::before { content:counter(section) ". "; font-size:2em; line-height:1; color:var(--theme-color); display:inline-block; margin:-.12em .25em 0 0; padding:0; vertical-align:middle; }
.entry h3 { overflow:hidden; position:relative; padding:.1em .5em .15em; margin-bottom:.75em; line-height:var(--line-height-mono); vertical-align:middle; font-weight:900; display:table; background-color:var(--yellow-color); color:var(--font-color); }
.entry h4 { font-weight:900; }
.entry h4::before { display:inline-block; color:var(--gray-color); content:"#"; margin:0 .35em 0 0; top:.15em; }  

.wp-block-column.bg { margin-top:2em; padding:var(--column-gap); background-color:var(--layer-color); }
.wp-block-column.bg > *:first-child { margin-top:0; }

.single-header { line-height:1; padding:0; position:relative; margin:0 0 var(--column-gap); }
.single-header .single-title { clear:both; border-bottom-width:var(--border-width); color:inherit; background-color:transparent; margin:0; padding:1em 0; }
.single-header .post-date { color:var(--gray-color); font-size:1em }
.single-header .post-category { font-size:1em }
dl.field dt, dl.field dd { border-bottom-width:0; padding-bottom:0; }
dl.field dt::after {content:': '; }
dl.info { border-width:0; overflow:visible; }
dl.info > dt { font-weight:700; background-color:transparent; padding-left:0; }
dl.info > dd { padding-right:0; padding-left:0; background-color:transparent; }

#single-post .info-place, #single-post .fee, #single-post .date-period, #single-post .date-time { display:block; font-size:1.1em; }
#single-post .info-address, #single-post .info-url { display:block; }
.entry .single-post-navi h3 { background-color:transparent; padding:0; }

a.map-button { display:block; margin:0; }
.access-wrapper .gmap-iframe { height:480px; }
.access-columns { margin-top:var(--column-gap); column-gap:var(--column-gap); column-count:2; }
.access-column { -webkit-column-break-inside:avoid; page-break-inside:avoid; break-inside:avoid; margin-bottom:var(--column-gap); }
.access-column h4 { margin-top:.75em;}
.access-column p { margin-top:.5em;}

#page-american { background:linear-gradient(180deg, rgba(0,0,0,0.0) 400px, rgb(170, 34, 0) 560px, rgba(29,22,15,1.0) 780px, rgba(29,22,15,1.0) 100%); }
#page-american .entry { color:#fff; }

@media screen and ( max-width : 900px ){
  .access-wrapper .gmap-wrap { width:100vw; margin:var(--column-gap) calc(var(--column-gap)*-1); }
}
@media screen and ( max-width : 600px ){
  .access-columns { column-count:initial; }
  .access-wrapper .gmap-iframe { height:400px; }
}



/*:::::::::::POSTS LAYOUT:::::::::::*/

.sidebar.flex-end { align-self:flex-end; top:auto; bottom:24px; }
.sidebar-item + .sidebar-item { margin-top:24px; }
.sidebar > div::after { clear:both ; display:table; content:''; }
.sidebar > div:first-child { margin-top:0; }
.sidebar > div:last-child { margin-bottom:0; }
.sidebar h2 { font-size:1em; margin:0 0 12px; padding:8px; line-height:var(--line-height-mono); color:#fff; background-color:var(--theme-color); position:relative; text-align:center; border-radius:3px; }
.sidebar select { width:100%; margin:12px 0 0; }
.archive-list { margin:0; padding:0;  list-style:none; }
.archive-list li { margin:0; padding:0; }
.archive-list li a { padding:8px 2px; display:block; color:inherit; font-weight:700; }
.sidebar-posts ol { margin:0; padding:0; counter-reset:li; list-style:none; }
.sidebar-posts li { margin:1em 0; padding:0; }
.sidebar-posts .post-text { font-size:14px; line-height:var(--line-height-mono); margin:0; padding:0 0 0 12px; display:block; overflow:hidden; width:calc( 100% - 80px) }
.sidebar-posts .post-title { clear:both; font-size:1.1em; font-weight:normal; overflow:hidden; padding:0; margin:4px 0 0; }
.sidebar-posts .post-title * { display:inline; }
.sidebar-posts li:first-child { margin-top:0; }
.sidebar-posts li:last-child { margin-bottom:0; border-bottom-width:0; }
.sidebar-posts li:nth-child(n+6) {display:none; }
.sidebar-posts li a { display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; flex-wrap:nowrap; padding:0; margin:0; text-decoration:none; position:relative; color:inherit; }
.sidebar-posts .post-image { width:80px; height:80px; overflow:hidden; position:relative; border-radius:2px; }
.sidebar-posts .post-image img { display:block; width:100%; height:100%; object-fit:cover; }
.sidebar-posts .post-excerpt { display:none; }
.sidebar-posts .post-category { font-size:11px; }

.channel { margin:var(--column-gap) 0 0; padding:var(--column-gap) 0 0; text-align:center; border-top-width:1px; }
.archive-list + .channel { margin-top:0; }
.page-numbers-wrap a.next::after { font-family:'fontello'; content:'\e905'; margin-left:5px; color:#ccc; }
.page-numbers-wrap a.prev::before { font-family:'fontello'; content:'\e907'; margin-right:5px; color:#ccc; }
.page-numbers { padding:.75em; min-width:calc( var(--border-width)*2 + 2.5em ); height:calc( var(--border-width)*2 + 2.5em ); }

@media screen and (max-width:912px) {

  .entry { order:2; }
  .content { width:100%; order:2; float:none; }
  .sidebar { width:100%; max-width:none; padding:0; margin:var(--column-gap) 0 0; position:static; }
  .sticky { position:static; }
  .entry-section-header { font-size:1em;}
  .entry-section-header-h2::before { font-size:1.5em; }
}




/*::::::::::: CONTACT FORM :::::::::::*/

.wpcf7 { line-height:var(--line-height-mono); }
.wpcf7 .form-wrap { margin:0; border-color:#ccc; display:block; padding: 0;border-width: 0; }
.wpcf7 .form-wrap + header { margin-top:2em; }
.wpcf7 .form-wrap dl { display:table; width:100%; margin:0; padding:16px 0 8px; }
.wpcf7 .form-wrap dt { width:30%; display:table-cell; font-size:1em; padding:0; vertical-align:top; }
.wpcf7 .form-wrap dd { width:70%; display:table-cell; padding:0 0 0 1em; vertical-align:top; }
.wpcf7 .form-wrap dd::after { clear:both; display:table; content:''; }
.wpcf7 .form-response { clear:both; padding:0; height:32px; margin:0 0 8px; }
.wpcf7 .headword { width:30%; width:calc(0% + 7em); padding-top:14px; clear:left; float:left; display:block; font-size:1em; margin-bottom:8px; }
.wpcf7 small { font-size:11px; color:gray; display:inline-block;}
.wpcf7 em { display:inline-block; color:var(--opposite-color); background-color:var(--strong-color); line-height:1em; font-size:11px; padding:2px 3px; margin-left:8px; }
.wpcf7 .headword + .wpcf7-form-control-wrap { width:70%; width:calc(100% - 7em); float:left; display:block; }
.wpcf7 .wpcf7-form-control-wrap.customerZip, .wpcf7 .wpcf7-form-control-wrap.customerPref, .wpcf7 .wpcf7-form-control-wrap.customerCity, .wpcf7 .wpcf7-form-control-wrap.numberAdult, .wpcf7 .wpcf7-form-control-wrap.numberChild { max-width:200px; }
.wpcf7 .wpcf7-form-control-wrap {  margin-bottom:8px; }
.wpcf7-list-item { display:block; }
.wpcf7 .event-data { display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-align:center; align-items:center; }
.wpcf7 .event-data .image { width:120px; }
.wpcf7 .event-data .text { width:calc( 100% - 120px ); padding-left:20px; }
.wpcf7 .event-data .text > h2 { font-size:1.1em; font-weight:bold; margin:0; }
.wpcf7 .event-data .text > span { font-size:.9em; display:block; }
.wpcf7 .event-data .text > span.event-place { font-size:1em; display:block; }
.wpcf7 .event-data + #selected-date { margin:16px 0 8px; }
@media screen and ( max-width : 781px ){
  .wpcf7 .form-wrap dl { display:block; padding:0 0 8px; }
  .wpcf7 .form-wrap dt { width:auto; display:block; font-size:1em; padding:0 0 8px 0; font-weight:700; color:var(--gray-color) }
  .wpcf7 .form-wrap dd { width:auto; display:block; padding:0; border-top-width:0; }
  .wpcf7 .form-wrap dt br { display:none; }
  .wpcf7 .form-wrap dt small { margin-left:.5em; }
  .wpcf7 .form-wrap dt { word-spacing:.5em; }
}




/*::::::::::: PRINT SETTINGS :::::::::::*/
@media print{
  body { height:auto!important; font-size:.82em; left:0; top:0; }
  .entry { font-size:.9em; line-height:var(--line-height-mono); }
  h1 { font-size:1.3em; line-height:var(--line-height-mono); letter-spacing:0; }
  h2 { font-size:1.1em; line-height:var(--line-height-mono); letter-spacing:0; }
  .container { padding:0em; }
  main { padding-top:1em; }
  #site-header { position:static!important; margin-top:0; top:0; padding:0; height:auto!important; text-align:center; border-bottom:0; }
  #main-menu, #footer-pagenavi, #map-canvas { display:none; }
  #site-footer { display:none; }
}

body.page-car-stay { 
  --body-color:#cfefff;
}
#page-car-stay {
  --gray-color:#6d5e42b0;
  --border-color:#878787b0;
  --border-width:1px;
  --link-color:#ff7d20;
  --button-hover-color:#ff7d20;
  --hover-color:#ffb120;
  --section-gap:calc( var(--column-gap) * 1.5 + 2vw);
  --button-color:#332f2f;
  --layer-color:#64ccff4f;
  --theme-color:#003c86;
  --list-color:#163254;
  --yellow-color:#ffea00;
  --strong-color:#0073ff;
  --shadow:#ffffffcc;
  --box-shadow:#ffffff50 .75em .75em 0px;
  --text-shadow:#ffffff85 .05em .05em 0px;
  --reversal-bg:#003c86;
}
#page-car-stay .reversal { 
  color:var(--opposite-color);
  --strong-color:#0088ff;
}


#page-car-stay { padding-bottom:0; }
#page-car-stay article.entry { max-width:none; }
#carstay-swiper { padding-bottom:0; margin-bottom:-1px; overflow:hidden;}
#carstay-swiper .gallery { max-width:900px; margin:0 auto; overflow:visible; }
#carstay-swiper, #carstay-spec { width:100vw; position:relative; left:50%; transform:translateX(-50%); }
a.carstay-button { padding: 1.5em; font-size: 1.5em; font-weight: 700; width: 100%; margin:var(--column-gap) auto 0; border:1px solid currentColor; }
#carstay-spec .header-message { margin:var(--column-gap) auto; }
#carstay-spec .header-message br { display:block; }
#carstay-spec .header-message strong { color:var(--yellow-color); font-size:2em; font-weight:900; }
#carstay-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:var(--column-gap); margin-top:var(--column-gap)}
#carstay-grid .feature-card { padding:var(--column-gap); transition: all 0.3s ease; display:flex; flex-direction:column; background-color:#fff; border-radius:8px; }
#carstay-grid .feature-card:hover { transform: translateY(-10px); color:inherit; }
#carstay-grid .feature-icon { margin-bottom: 20px; display: flex; justify-content: center; }
#carstay-grid .feature-icon svg { transition: all 0.3s ease; }
#carstay-grid .feature-card:hover .feature-icon svg { transform: scale(1.1); }
#carstay-grid .feature-card h3 { font-size: 1.2em; text-align: center; margin:0 0 .5em; }
#carstay-grid .feature-card p { line-height:1.5; font-size:.875em; }
#carstay-grid .facility-preview { margin-top:auto; }
#carstay-grid .facility-preview img { display:block; aspect-ratio:3/2; object-fit:cover; margin:0 auto; }
#carstay-spec .grid { font-size:1.3em; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--column-gap); margin-top: var(--section-gap); }
#carstay-spec .grid li { padding:0; text-align: center; font-weight:bold; background-color:var(--body-color); color:var(--font-color); border-radius:1em; display:flex; overflow:hidden; }
#carstay-spec .grid h3 { margin:0; width:5em; font-weight: normal; justify-content:center; text-align:center; text-transform: uppercase; letter-spacing: 1px; display:flex; align-items:center; background-color:var(--strong-color); color:var(--opposite-color); padding:var(--column-gap) .5em; }
#carstay-spec .grid p { margin:0; flex:auto; text-align:center; padding:var(--column-gap) .5em; vertical-align:baseline;}
#carstay-spec .grid .value { font-size:3em; font-weight: 900; color:var(--strong-color); }
#carstay-spec .grid .unit { font-size:1em;}

#map-list { overflow:visible; counter-reset:list_num; padding:0 0 32px; margin:var(--column-gap) -16px; display:flex; justify-content:center; flex-wrap:wrap; }
#map-list .swiper-wrapper { height:auto; }
#map-list .swiper-wrapper .swiper-slide { width:33.333%; padding:16px; margin:0; align-self:stretch; }
#map-list .spot { margin:0; position: relative; height:100%; background-color:#fff; border-radius:8px; overflow:hidden; padding:16px; }
#map-list .image-wrap { display:block; height:160px; position: relative; z-index:1; }
#map-list .image-wrap img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; }
#map-list h4 { margin:8px 0; text-align:center; }
#map-list p { font-size:.875em; line-height:1.6; }
#map-list .text-link { font-size:12px; display:block; text-align:center; white-space: nowrap; text-overflow: ellipsis; overflow:hidden; }
#map-list .spot::before { content:counter(list_num); counter-increment:list_num; position:absolute; font-size:15px; line-height:1em; text-align: center; display:block; font-weight: bold; z-index:3; color:var(--opposite-color); background-color:transparent; left:24px; top:12px; padding:0; width: 30px; }
#map-list .spot::after { position:absolute; content:''; left:24px; top:4px; width:30px; height:48px; background-repeat:no-repeat; background-position:center; display:block; z-index:2; background-image:url( "data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 48' %3E%3Cpath d='M15,0.3C6.7,0.3,0,6.9,0,15.2C0,23.5,15,47.7,15,47.7s15-24.3,15-32.5C30,6.9,23.3,0.3,15,0.3z' fill='%23df6b00' /%3E%3C/svg%3E"); }
#map-list .spot.is-current::after { background-image:url( "data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 48' %3E%3Cpath d='M15,0.3C6.7,0.3,0,6.9,0,15.2C0,23.5,15,47.7,15,47.7s15-24.3,15-32.5C30,6.9,23.3,0.3,15,0.3z' fill='%23ffcb00' /%3E%3C/svg%3E"); }

@media (max-width: 781px) { 
  #map-list { margin:var(--column-gap) -12px; }
  #map-list .swiper-wrapper .swiper-slide { width:50%; padding:12px; }
  #map-list .spot { padding:12px; }
  #carstay-grid { grid-template-columns: 1fr; }
  #carstay-spec .grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); font-size:1.1em; }
}
@media (max-width: 400px) { 
  #map-list { margin:var(--column-gap) auto; max-width:90%; }
  #map-list .swiper-wrapper .swiper-slide { width:100%; }
}
#carstay-experience { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); color: #ffffff; padding: 80px 0; position: relative; overflow: hidden; }
#carstay-experience .section-title { font-size: 2.8em; font-weight: 700; margin-bottom: 20px; background: linear-gradient(45deg, #ff6b6b, #feca57, #48cae4); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-align:center; animation: titleGlow 3s ease-in-out infinite alternate; }
#carstay-experience .section-title span { display: inline-block; }
@keyframes titleGlow {  0% { filter: brightness(1); } 100% { filter: brightness(1.2); }}
#carstay-experience { color:#fff;  }
.experience-content { display: grid; grid-template-columns: 1fr 1fr; gap: var(--column-gap); align-items: center; margin:  var(--column-gap) 0; }
.experience-text { color: #e8f4f8; }
.experience-text span { display: inline-block;  }
.experience-text strong { color: var(--yellow-color); font-weight: 600; }
.experience-visual { position: relative; height: 400px; overflow: hidden; }
.experience-visual img { display:block;  width: 100%; height: 100%; object-fit:cover; }
.time-display { position: absolute; top: 20px; right: 20px; background: rgba(255, 107, 107, 0.9); color: white; z-index:99; padding: 12px 24px; border-radius: 50px; font-weight: 700; font-size: 1.1rem; backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.2); animation: pulse 2s infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.experience-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--column-gap); margin-top: var(--column-gap); }
#carstay-experience .feature-card { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius:.5em; padding:var(--column-gap); display:flex; flex-direction:column; }
#carstay-experience .feature-image { display: block; margin:0 0 auto; }
#carstay-experience .feature-image img { aspect-ratio:3/2; object-fit:cover; width:100%; height:auto; display: block; }
#carstay-experience .feature-title { font-size: 1.2em; font-weight: 600;margin:.5em 0; color:var(--hover-color); text-align: center; }
#carstay-experience .header-message { color:inherit; } #carstay-experience .header-message h3 { color:var(--yellow-color);  margin:0; }
.carstay-access { margin:var(--p-margin) 0 0; }
.carstay-access .button { margin:var(--p-margin) 0 0; }
@media (max-width: 768px) {
  .experience-content { grid-template-columns: 1fr; } 
  .experience-features { grid-template-columns: 1fr; }
  .experience-visual {height: 300px; }
}