:root{
  --hi:#A33B22;
  --kinari:#F1E9D8;
  --matsuba:#35463A;
  --yamabuki:#D99A2B;
  --sumi:#14100C;
  --gut:48px;
  --sans:"Zen Kaku Gothic New", system-ui, -apple-system, sans-serif;
  --dsp:"Zen Old Mincho", "Hiragino Mincho ProN", serif;
  --serif:"Zen Old Mincho", "Hiragino Mincho ProN", serif;
  --round:"Zen Maru Gothic", var(--sans);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--kinari);
  background:var(--kinari);
  overflow-x:hidden;
  font-feature-settings:"palt" 1;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--sumi);color:var(--kinari);padding:12px 18px}
.skip:focus{left:8px;top:8px}

.p-ja{word-break:normal;line-break:strict;text-wrap:pretty}
.p-ja .btn,.p-ja .kick,.p-ja .venue__word{word-break:keep-all}

.p-ja .intro__h,.p-ja .fimport__h{word-break:keep-all}

.nb{white-space:nowrap}

.dsp{
  font-family:var(--dsp);
  font-weight:900;
  line-height:.98;
  letter-spacing:.01em;
}
.dsp--lg{font-size:112px;line-height:1.02}
.dsp--md{font-size:104px;line-height:1.04}
.dsp--sm{font-size:52px;line-height:1.1}
.p-en .dsp{text-transform:none;letter-spacing:-.005em}
.p-en .dsp--lg{font-size:118px;line-height:.98}
.p-en .dsp--md{font-size:110px;line-height:1}
.p-en .dsp--sm{font-size:58px}

.kick{
  font-size:14px;font-weight:700;letter-spacing:.14em;
}
.p-en .kick{letter-spacing:.045em;text-transform:uppercase}
.lede{font-size:21px;line-height:34px;font-weight:400}
.p-en .lede{font-size:23px;line-height:31px}

.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  height:52px;padding:0 22px;border-radius:8px;overflow:hidden;
  font-size:14px;font-weight:700;letter-spacing:.08em;
  white-space:nowrap;border:1.5px solid transparent;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.p-en .btn{letter-spacing:.045em;text-transform:uppercase}
.btn__lbl{transition:opacity .18s ease}
.btn__marq{
  position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;
  opacity:0;pointer-events:none;transition:opacity .18s ease;
}
.btn__marq span{padding-right:0}
.btn:hover .btn__lbl{opacity:0}
.btn:hover .btn__marq{opacity:1;animation:marq 7s linear infinite}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.btn--solid{background:var(--kinari);color:var(--hi)}
.btn--ghost{background:transparent;color:var(--kinari);border-color:var(--kinari)}
.btn--dark{background:var(--sumi);color:var(--kinari)}
.btn--book{background:var(--hi);color:var(--kinari);height:52px;padding:0 26px}

.hdr{
  position:absolute;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;gap:50px;
  padding:29px var(--gut) 0;
}
.hdr__logo{
  flex:none;font-family:var(--dsp);font-weight:900;font-size:30px;line-height:1;
  color:var(--kinari);
}
.hdr__nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:17px}
.hdr__nav a{color:var(--kinari)}
.hdr__rule{width:1px;height:18px;background:rgba(241,233,216,.55);display:block}
.hdr__lang{
  margin-left:30px;font-size:15px;font-weight:700;letter-spacing:.09em;color:var(--kinari);
  border:1.5px solid rgba(241,233,216,.6);border-radius:7px;padding:6px 11px;line-height:1;
  transition:background-color .25s ease,color .25s ease;
}
.hdr__lang:hover{background:var(--kinari);color:var(--sumi)}
.hdr__mob{display:none;align-items:center;gap:20px}
.burger{background:none;border:0;padding:6px 0;width:34px;cursor:pointer;display:grid;gap:6px}
.burger i{display:block;height:2.5px;background:var(--kinari);border-radius:2px}

.mobmenu{
  position:fixed;inset:0;z-index:30;background:var(--hi);
  display:flex;flex-direction:column;justify-content:center;gap:20px;
  padding:0 var(--gut);font-size:22px;color:var(--kinari);
}
.mobmenu[hidden]{display:none}
.mobmenu .mm__tel{margin-top:14px;font-weight:700}
body.menu-open .btn--book{background:var(--kinari);color:var(--hi)}

.hero{position:relative;height:920px;overflow:hidden;background:#101010}
.hero__media{position:absolute;inset:0;will-change:transform}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__mark{
  position:absolute;left:0;right:0;top:50%;
  transform:translateY(-50%);
  text-align:center;color:var(--kinari);
  font-family:var(--serif);font-weight:500;font-size:150px;line-height:1;
  letter-spacing:.06em;
  will-change:transform,opacity;
  text-shadow:0 2px 34px rgba(0,0,0,.55);
}
.p-en .hero__mark{font-size:120px;letter-spacing:.02em}
.hero__mark span{display:inline-block}

.intro{background:var(--hi);padding:61px var(--gut) 150px}
.intro__h{
  font-size:54px;line-height:84px;font-weight:500;
  max-width:1112px;font-family:var(--dsp);
}
.p-en .intro__h{font-size:60px;line-height:71px;font-weight:700;font-family:var(--sans)}
.btnrow{display:flex;gap:18px;margin-top:64px}

.feat{
  background:var(--hi);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;align-items:center;
  padding:0 163px 118px;
}
.feat__fig{margin:0;justify-self:start;width:546px;max-width:100%}
.feat__fig img{width:100%;aspect-ratio:546/733;object-fit:cover;border-radius:14px}
.feat__fig--wide{justify-self:end}
.feat__fig--wide img{aspect-ratio:546/677}
.feat__txt{overflow:clip}
.feat--imgfirst .feat__txt{padding-left:126px}
.feat__txt .kick{margin-bottom:22px}
.feat__txt .lede{margin-top:44px;max-width:430px}
.feat__txt .btn{margin-top:36px}
.feat--imgfirst .feat__txt{padding-top:26px}

.venues{position:relative;background:var(--hi);isolation:isolate}
.venues__label{
  position:relative;z-index:2;text-align:center;font-size:19px;
  padding:0 0 40px;color:var(--kinari);letter-spacing:.12em;
}
.venues__bgwrap{position:absolute;inset:0;z-index:0}
.venues__bg{position:sticky;top:0;height:100vh;background:var(--hi)}
.venue{position:relative;height:100vh;z-index:1}
.venue__in{
  position:sticky;top:0;height:100vh;
  padding:0 var(--gut);
  will-change:transform,opacity;
}
.venue figure{position:absolute;margin:0;overflow:hidden;border-radius:14px;will-change:clip-path}
.venue figure img{width:100%;height:100%;object-fit:cover}
.venue__tall{width:430px;height:648px}
.venue__wide{width:576px;height:384px}

.venue--a .venue__tall{left:97px;top:98px}
.venue--a .venue__wide{right:97px;top:48px}
.venue--b .venue__wide{left:48px;top:110px}
.venue--b .venue__tall{right:97px;top:100px}

.venue__word{
  position:absolute;left:0;right:0;top:52%;transform:translateY(-50%);
  text-align:center;
  font-family:var(--dsp);font-weight:900;font-size:var(--wsize,20vw);line-height:.92;
  letter-spacing:.01em;white-space:nowrap;
  z-index:2;pointer-events:none;
}
.venue__word > *{font-style:normal}
.venue__word em{font-size:.5em;vertical-align:.42em;font-style:normal}
.venue__word--round{
  font-family:var(--round);font-weight:900;
  letter-spacing:-.005em;line-height:1;
}
.p-en .venue__word--round{text-transform:lowercase}

.venue__addr{
  position:absolute;left:var(--gut);bottom:48px;
  font-size:18px;line-height:28px;z-index:3;
}
.venue__note{
  position:absolute;left:var(--gut);bottom:48px;width:640px;max-width:60%;
  font-size:20px;line-height:33px;z-index:3;
}
.p-en .venue__note{font-size:23px;line-height:30px}
.pin{
  display:block;width:15px;height:20px;margin-bottom:22px;
  background:currentColor;
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
.venue__btns{position:absolute;right:var(--gut);bottom:52px;display:flex;gap:18px;z-index:3}
.venue__btns--lifted{bottom:60px}

.lunch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--sumi)}
.lunch__txt{padding:104px var(--gut) 104px;display:flex;flex-direction:column;min-height:900px;overflow:clip}
.lunch__txt .lede{margin-top:56px;max-width:520px}
.lunch__txt .btn{margin-top:auto;align-self:flex-start;background:var(--kinari);color:var(--sumi);height:55px}
.lunch__fig{margin:0}
.lunch__fig img{width:100%;height:100%;object-fit:cover;min-height:900px}

.faq{background:var(--kinari);color:var(--sumi);padding:104px var(--gut) 112px}
.faq .dsp{margin-bottom:22px}
.faq__lead{font-size:18px;line-height:31px;max-width:620px;margin-bottom:56px}
.faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 64px;max-width:1340px}
.faq__q{font-size:21px;line-height:32px;font-weight:700;margin-bottom:12px}
.faq__a{font-size:17px;line-height:30px}

.fimport{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);background:var(--yamabuki)}
.fimport__yellow{background:var(--yamabuki);color:var(--sumi);padding:60px var(--gut) 72px}
.fimport__h{font-size:56px;line-height:88px;font-weight:500;font-family:var(--dsp);max-width:800px}
.p-en .fimport__h{font-size:62px;line-height:68px;font-weight:700;font-family:var(--sans);letter-spacing:-.015em}
.fimport__yellow .btn{margin-top:56px}
.fimport__black{background:var(--sumi);color:var(--kinari);padding:60px 60px 60px 48px;overflow:clip}
.fimport__black .dsp{margin-bottom:36px}
.fimport__black p{font-size:16px;line-height:29px;max-width:380px}
.p-en .fimport__black p{font-size:17px;line-height:22px}
.fimport__black em{font-style:normal;border-bottom:1px solid rgba(241,233,216,.5)}
.p-en .fimport__black em{font-style:italic;border-bottom:0}
.ico{display:inline-block;width:24px;height:24px;margin-top:60px}
.ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9}
.ico svg .fill{fill:currentColor;stroke:none}

.foot{
  position:fixed;left:0;right:0;bottom:0;z-index:-1;
  display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);min-height:514px;
}
.foot__red{
  background:var(--hi);color:var(--kinari);
  padding:56px var(--gut) 56px;
  display:grid;grid-template-columns:554px minmax(0,1fr);gap:0;
  align-content:start;
}
.foot__links{display:flex;flex-direction:column;font-family:var(--dsp);font-weight:900;font-size:38px;line-height:56px}
.p-en .foot__links{font-size:44px;line-height:58px;text-transform:uppercase}
.foot__links a{transform-origin:left center}
.foot__ack{grid-column:1;font-size:16px;line-height:27px;max-width:500px;margin-top:34px}
.foot__info{grid-column:2;grid-row:1 / span 2;font-size:17px;line-height:27px}
.foot__info .kick{margin:26px 0 10px}
.foot__info .kick:first-child{margin-top:0}
.foot__addr{margin-top:30px}
.foot__addr .pin{margin-bottom:8px}
.foot__cream{
  background:var(--kinari);color:var(--sumi);
  padding:56px 48px 40px;position:relative;overflow:clip;
}
.foot__cream .dsp{margin-bottom:24px;font-size:40px}
.p-en .foot__cream .dsp{font-size:45px}
.foot__cream p{font-size:16px;line-height:27px;max-width:270px}
.foot__cream .btn{margin-top:34px}
.foot__soc{display:flex;gap:26px}
.foot__soc .ico{margin-top:26px}
.foot__copy{margin-top:56px;font-size:16px;max-width:none;display:flex;flex-wrap:wrap;gap:.42em}

main{position:relative;z-index:1;background:var(--kinari)}
body{margin-bottom:514px}

.reveal img{opacity:0;transition:opacity .85s ease}
.reveal.is-in img{opacity:1}

@media (max-width:1024px){
  :root{--gut:32px}
  .hdr__nav{display:none}
  .hdr__lang{margin-left:auto}
  .hdr__mob{display:flex;margin-left:0}
  .hero{height:100vh;min-height:640px}
  .hero__mark{font-size:clamp(66px,13vw,118px)}
  .p-en .hero__mark{font-size:clamp(56px,9.8vw,88px)}
  .intro{padding:60px var(--gut) 64px}
  .intro__h{font-size:38px;line-height:62px}
  .p-en .intro__h{font-size:44px;line-height:48px}
  .btnrow{margin-top:44px}
  .feat{grid-template-columns:1fr;gap:0;padding:0 var(--gut) 80px}
  .feat--imgfirst .feat__fig{order:-1}
  .feat--txtfirst .feat__fig{order:-1}
  .feat__txt{padding-left:0 !important}
  .feat__fig{width:100%;justify-self:stretch}
  .feat__fig img{aspect-ratio:835/930}
  .feat__fig--wide img{aspect-ratio:835/930}
  .feat__txt{padding-top:26px}
  .dsp--lg{font-size:12vw;line-height:1.14}
  .dsp--md{font-size:11.2vw;line-height:1.16}
  .p-en .dsp--lg{font-size:14.5vw;line-height:1.03}
  .p-en .dsp--md{font-size:13.5vw;line-height:1.05}


  .venue__tall{width:55%;height:68vh;max-height:660px}
  .venue__wide{width:65%;height:38vh;max-height:360px}
  .venue--a .venue__tall,.venue--b .venue__tall{left:7%;right:auto;top:12vh}
  .venue--a .venue__wide,.venue--b .venue__wide{right:7%;left:auto;top:38vh;bottom:auto}
  .venue__word{font-size:var(--wsize1024,22vw);top:50%}
  .venue__addr,.venue__note{bottom:32px;font-size:15px;line-height:25px;width:auto;max-width:56%}
  .venue__btns{bottom:32px;flex-direction:column;align-items:flex-end;gap:12px}

  .lunch{grid-template-columns:1fr}
  .lunch__txt{min-height:0;padding:64px var(--gut) 72px}
  .lunch__txt .btn{margin-top:56px}
  .lunch__fig img{min-height:0;aspect-ratio:1/1}
  .faq{padding:64px var(--gut) 72px}
  .faq__list{grid-template-columns:1fr;gap:34px}
  .faq__lead{margin-bottom:40px}
  .fimport{grid-template-columns:1fr}
  .fimport__h{font-size:34px;line-height:60px}
  .p-en .fimport__h{font-size:40px;line-height:50px}
  .fimport__black{padding:48px var(--gut)}
  .lunch__fig{order:-1}

  .foot{position:relative;z-index:1;display:flex;flex-direction:column}
  body{margin-bottom:0}
  .foot__cream{order:-1;padding:48px var(--gut)}
  .foot__red{display:flex;flex-direction:column;padding:48px var(--gut)}
  .foot__info{order:1;margin-top:0}
  .foot__links{order:2;margin-top:40px}
  .foot__ack{order:3;margin-top:30px;max-width:none}
}

@media (max-width:640px){
  :root{--gut:16px}
  .hdr{padding-top:20px;gap:14px}
  .btn--book{height:44px;padding:0 16px;font-size:12px}
  .hdr__logo{font-size:25px}
  .hdr__lang{font-size:13px;padding:5px 9px;margin-left:auto}
  .hdr__mob{gap:14px}
  .intro__h{font-size:25px;line-height:44px}
  .p-en .intro__h{font-size:29px;line-height:34px}
  .btnrow{gap:10px}
  .btn{height:44px;padding:0 14px;font-size:12px}
  .dsp--lg{font-size:13.5vw}
  .dsp--md{font-size:12.6vw}
  .dsp--sm{font-size:31px}
  .p-en .dsp--lg{font-size:16vw}
  .p-en .dsp--md{font-size:15vw}
  .p-en .dsp--sm{font-size:38px}
  .lede{font-size:16px;line-height:29px}
  .p-en .lede{font-size:17px;line-height:26px}
  .feat__txt .lede{max-width:none}
  .venue__tall{width:55%;height:41vh}
  .venue__wide{width:65%;height:22vh}
  .venue--a .venue__tall,.venue--b .venue__tall{left:8%;top:4vh}
  .venue--a .venue__wide,.venue--b .venue__wide{right:8%;top:54vh}
  .venue__word{font-size:var(--wsize640,23vw);top:50%}
  .venue__addr{font-size:13px;line-height:22px;max-width:50%}
  .venue__note{font-size:14px;line-height:24px;max-width:60%}
  .venue__btns{gap:10px}
  .faq__q{font-size:18px;line-height:29px}
  .faq__a{font-size:15px;line-height:27px}
  .fimport__h{font-size:25px;line-height:45px}
  .p-en .fimport__h{font-size:30px;line-height:38px}
  .foot__links{font-size:30px;line-height:48px}
  .p-en .foot__links{font-size:34px;line-height:44px}
  .foot__cream p{max-width:none}
  .foot__copy{gap:.4em}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
