:root{
  --dark:#181818;
  --ink:#39362f;
  --muted:#6e6a60;
  --paper:#f7f7f4;
  --warm:#e9e8df;
  --warm2:#d6d3ca;
  --gold:#b58a3d;
  --line:rgba(181,138,61,.5);
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:1100px;background:var(--paper);color:var(--ink);font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:15px;line-height:1.95;letter-spacing:.055em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.inner{width:var(--max);margin:0 auto}
.pc99{display:block}.sp99{display:none}
.site-header{background:var(--dark);color:var(--gold)}
.site-header__inner{width:min(100%,1240px);height:74px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between}
.site-title{margin:0;font-size:15px;font-weight:400;letter-spacing:.12em}.site-title span{font-family:Georgia,serif;font-style:italic;margin-right:18px}
.reserve-btn{display:inline-flex;align-items:center;justify-content:center;min-width:176px;height:42px;padding:0 30px;background:var(--gold);color:#fff;border:1px solid var(--gold);font-size:15px;line-height:1;letter-spacing:.14em;transition:.2s}
.reserve-btn:hover{opacity:.86;transform:translateY(-1px)}
.reserve-btn--outline{min-width:120px;height:34px}.reserve-btn--wide{min-width:360px;height:58px;font-size:18px}
.hero{position:relative;overflow:hidden;background:#222}.hero__image{width:100%;height:auto}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 45%,rgba(0,0,0,.18));pointer-events:none}
.hero__title{position:absolute;z-index:2;right:max(8%,calc((100vw - var(--max))/2));top:9%;color:#fff;writing-mode:vertical-rl;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.hero__title p{margin:0;font-size:28px;line-height:1.75;letter-spacing:.17em}.hero__title small{margin-right:20px;font-size:13px;letter-spacing:.14em}
.hero__badge{position:absolute;z-index:2;left:max(7%,calc((100vw - var(--max))/2));bottom:10%;margin:0;padding:12px 8px;border-left:1px solid rgba(255,255,255,.75);color:#fff;writing-mode:vertical-rl;font-size:12px;line-height:1.7;letter-spacing:.14em;text-shadow:0 1px 5px #000}
.section{position:relative}.eyebrow,.eyebrow2,.eyebrow3{margin:0 0 28px;color:var(--gold);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:15px;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.eyebrow--left{text-align:left}.lead-title{margin:0;font-size:30px;font-weight:400;line-height:1.85;letter-spacing:.1em}.copy{margin:0}
.concept{background:var(--dark);color:rgba(255,255,255,.84);padding:92px 0 100px}.concept__grid{display:grid;grid-template-columns:430px 1fr;gap:92px;align-items:start}.concept .lead-title{color:#fff;font-size:28px}.concept__copy p{margin:0 0 16px}
.overview{background:var(--warm);padding:90px 0}.overview__grid{display:grid;grid-template-columns:510px 1fr;gap:60px;align-items:start}.overview__photo{width:460px;height:auto;object-fit:cover;background:#ccc}.info-list{margin:0;padding:0;list-style:none}.info-list li{position:relative;padding:9px 0 9px 1.15em;border-bottom:1px solid var(--line);line-height:1.7}.info-list li::before{content:"■";position:absolute;left:0;top:9px;color:var(--gold);font-size:.9em}.schedule-item{font-size:13px}.schedule-item b{color:var(--ink);font-weight:600}.schedule-item span{padding-left:1em}.schedule-item em{font-style:normal;color:var(--muted)}
.reservation-box{width:610px;margin:44px auto 0;text-align:center}.reservation-box__note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.guest-talk{background:#fff;padding:98px 0 84px}.guest-talk__grid{display:grid;grid-template-columns:340px 1fr;gap:100px;align-items:start}.vertical-title-wrap{min-height:340px;display:flex;flex-direction:column;align-items:center;gap:18px}
.vertical-title{writing-mode:vertical-rl;margin:0;font-size:31px;font-weight:700;line-height:1.7;letter-spacing:.2em}.theme-copy p{margin:0 0 18px}.theme-images{width:900px;margin:62px auto 0;display:grid;grid-template-columns:1fr 1fr}.theme-images img{width:100%;height:250px;object-fit:cover}
.profile{background:var(--warm);padding:58px 0}.profile__grid{display:grid;grid-template-columns:230px 1fr;gap:78px;align-items:center;width:700px}.profile__photo{width:160px;height:180px;object-fit:cover}.profile__name{margin:0 0 18px;font-size:20px;font-weight:400;letter-spacing:.1em}.profile__name span{font-size:15px;margin-left:8px}
.food-visual{background:#000}.food-visual img{width:100%;height:360px;object-fit:cover}
.menu{background:#fff;padding:100px 0 110px}.menu__grid{display:grid;grid-template-columns:330px 400px;gap:110px;justify-content:center;align-items:start}.menu__title-area{text-align:center}.menu__main-title{display:inline-block;writing-mode:vertical-rl;margin:12px auto 0;font-size:32px;font-weight:400;line-height:1.55;letter-spacing:.18em}.menu__description{margin:150px 0 0;text-align:left;font-size:13px;color:var(--muted)}.menu-gallery{display:grid;gap:8px}.menu-gallery img{width:100%;height:210px;object-fit:cover}
.facility{background:var(--warm)}.facility__photos{display:grid;grid-template-columns:1fr 1fr 1fr}.facility__photos img{width:100%;height:340px;object-fit:cover}.facility__inner{padding-top:74px;padding-bottom:96px}.facility__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 100px}.facility__grid h2{margin:0 0 14px;font-size:25px;font-weight:400;line-height:1.45;letter-spacing:.08em}.facility__grid p{margin:0;line-height:1.9}
.bar-heading{width:100%;height:48px;margin:0 auto 50px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.22em;font-weight:400}.access{background:var(--warm);padding:68px 0 82px}.map-frame{width:100%;height:430px;margin:0 auto 38px;background:#333}.map-frame iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(20%)}.access__text{width:800px;margin:0 auto;line-height:1.8}.access__text p{margin:0 0 18px}
.faq{background:var(--warm);padding:72px 0 86px}.faq__subtitle{margin:-18px 0 36px;text-align:center;font-size:19px;letter-spacing:.14em}.faq-list{width:700px;margin:0 auto;display:grid;gap:26px}.faq-card{background:rgba(255,255,255,.82);padding:32px 48px}.faq-row{display:grid;grid-template-columns:30px 1fr;gap:18px}
.faq-row+.faq-row{margin-top:17px;}
.bgbgg{font-weight: 700}
.faq-mark{color:var(--gold);font-size:17px}
.faq-card p{margin:0;line-height:1.85;}
.reserve-bottom{margin:52px auto 0;text-align:center}
.guide{background:var(--warm2);padding:72px 0 92px}.guide__title{width:500px;margin:0 auto 52px;padding:15px 0;text-align:center;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);font-size:24px;font-weight:400;letter-spacing:.12em}.guide__body{width:880px;margin:0 auto;color:#504c45;font-size:14px;line-height:1.8}.guide__body p{margin:0 0 24px}.guide__body b{color:#3f3b35}.site-footer{background:#050505;color:rgba(255,255,255,.76);padding:54px 0 44px;font-size:12px;letter-spacing:.08em}.site-footer__inner{width:780px;margin:0 auto;display:grid;grid-template-columns:170px 1fr;gap:48px;align-items:center}.footer-logo{width:135px}.footer-info p{margin:0;line-height:1.8}.copyright{margin-top:16px!important;color:rgba(255,255,255,.54);font-size:11px}
.site-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 700;
}

.overview__photo26 {
  display: block;
    width: 100px;
    height: 60px;
  object-fit: contain;
  flex-shrink: 0;
}
.theme-copy{
  max-width: 400px;
}
.facility__grid section{
max-width: 350px;
}

.uesita{
  margin:5px 0;
}
@media(max-width:768px){
  :root{--max:100%}html,body{width:100%;overflow-x:hidden}body{min-width:0;font-size:15px;line-height:1.9}
  .pc99{display:none}
  .sp99{display:block}.inner{width:100%;padding-left:20px;padding-right:20px}
  .site-header__inner{height:40px;padding:0 12px}
  .site-title{font-size:12px}
  .site-title span{margin-right:8px}
  .reserve-btn{min-width:108px;height:27px;padding:0 10px;font-size:12px}
  .reserve-btn--wide{width:100%;min-width:0;height:42px;font-size:14px}
  .hero__title{right:8%;top:8%}.hero__title p{font-size:20px;line-height:1.55}
  .hero__title small{font-size:9px;margin-right:12px}.hero__badge{left:5%;bottom:7%;font-size:9px}
  .eyebrow,.eyebrow2,.eyebrow3{margin-bottom:18px;font-size:15px;text-align: center}
  .eyebrow--left{text-align:left}
  .lead-title{font-size:19px}.concept{padding:46px 0}.concept__grid{display:block}
  .concept .lead-title{font-size:20px;margin-bottom:28px}.concept__copy p{margin-bottom:15px}
  .overview{padding:0 0 40px}.overview .inner{padding:0}.overview__grid{display:block}
  .overview__photo{width:100%;height:auto}.overview__grid>div{padding:30px 28px 0}
  .info-list li{padding-top:8px;padding-bottom:8px}.schedule-item{font-size:12px}
  .reservation-box{width:100%;padding:0 28px;margin-top:28px}.guest-talk{padding:50px 0 0}
  .guest-talk__grid{display:block}.vertical-title-wrap{min-height:0}.vertical-title{font-size:25px}
  .theme-copy{margin-top:38px}.theme-images{width:100vw;margin:42px 0 0 calc(50% - 50vw);grid-template-columns:1fr}
  .theme-images img{height:220px}.profile{padding:40px 0}.profile__grid{display:block;width:100%}
  .profile__photo{width:210px;height:250px;margin:0 auto 20px}.profile__name{text-align:center;font-size:17px}
  .profile__name span{display:block;margin:4px 0 0;font-size:12px}
  .food-visual img{height:auto}.menu{padding:48px 0}
  .menu__grid{display:block}.menu__main-title{font-size:27px}
  .menu__description{margin:42px auto 35px;width:88%;text-align:center}
  .menu-gallery{width:100%;margin:auto}.menu-gallery img{height:180px}
  .facility__photos{grid-template-columns:1fr}
  .facility__photos img{height:230px}
  .facility__photos img:nth-child(n+2){display:none}
  .facility__inner{padding-top:45px;padding-bottom:54px}
  .facility__grid{grid-template-columns:1fr;gap:34px}
  .facility__grid h2{font-size:20px}.access{padding:48px 0}
  .bar-heading{height:40px;margin-bottom:30px}.map-frame{height:290px}
  .access__text{width:100%;font-size:12px}.faq{padding:48px 0 56px}
  .faq__subtitle{margin:-8px 0 26px;font-size:16px}
  .faq-list{width:100%;gap:18px}
  .faq-card{padding:25px 20px}
  .faq-row{grid-template-columns:22px 1fr;gap:10px}
  .reserve-bottom{margin-top:36px}.guide{padding:48px 0 56px}
  .guide__title{width:100%;margin-bottom:36px;font-size:18px}
  .guide__body{width:100%;font-size:12px}
  .site-footer{padding:38px 28px}
  .site-footer__inner{width:100%;display:block}
  .footer-logo{width:115px;margin:0 auto 22px}
  .footer-info{text-align:center;font-size:10px}
.overview__photo26 {
    display: block;
    width: 50px;
    height: 30px;
    object-fit: contain;
    flex-shrink: 0;
}
}

/* ===== 食事会02：利き酒イベント調整 ===== */
.vertical-title span{font-size:.68em}
.menu__grid{grid-template-columns:430px 420px;gap:90px}
.menu__title-area{text-align:left}
.menu__intro{display:grid;grid-template-columns:90px 1fr;gap:50px;align-items:start}
.menu__main-title{margin:0;font-size:32px}
.menu__copy{padding-top:118px}
.menu__subheading{margin:0 0 12px;font-size:16px}
.menu-list{margin:0;padding:0;list-style:none;font-size:16px;line-height:2.05}
.menu-list li::before{content:"◎";margin-right:.3em}
.menu__description{width:auto;margin:48px 0 0;text-align:left;font-size:13px;line-height:1.8}
.menu-gallery{gap:8px}
.menu-gallery img{height:250px}

.venue{background:var(--warm);padding:100px 0}
.venue__grid{display:grid;grid-template-columns:620px 1fr;gap:90px;align-items:center}
.venue__gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.venue__gallery img{width:100%;height:210px;object-fit:cover}
.venue__gallery img:first-child{grid-column:1/-1;height:430px}
.venue__content h2{margin:0 0 38px;font-size:37px;font-weight:400;line-height:1.45;letter-spacing:.06em}
.venue__content h2 span{font-size:23px}
.venue__description{height:380px;margin:0;writing-mode:vertical-rl;text-orientation:mixed;line-height:2.2;letter-spacing:.08em}

@media(max-width:768px){
  .hero__title{right:7%;top:7%}
  .hero__title p{font-size:20px;line-height:1.55}
  .hero__badge{left:4%;bottom:7%;max-height:78%;padding:8px 5px;font-size:9px}
  .vertical-title span{font-size:.66em}
  .menu__grid{display:block}
  .menu__title-area{text-align:center}
  .menu__intro{display:block}
  .menu__main-title{margin:8px auto 0}
  .menu__copy{padding-top:34px;text-align:left}
  .menu__subheading{text-align:left}
  .menu-list{width:78%;margin:0 auto;font-size:15px}
  .menu__description{width:88%;margin:34px auto;text-align:left}
  .menu-gallery{width:100vw;margin-left:calc(50% - 50vw)}
  .menu-gallery img{height:auto;margin:5px 0}
  .venue{padding:48px 0 58px}
  .venue__grid{display:block}
  .venue__gallery{grid-template-columns:1fr 1fr;gap:6px}
  .venue__gallery img{height:150px}
  .venue__gallery img:first-child{height:auto}
  .venue__content{padding-top:38px}
  .venue__content .eyebrow{text-align:left}
  .venue__content h2{margin-bottom:24px;font-size:28px}
  .venue__content h2 span{font-size:18px}
  .venue__description{height:auto;writing-mode:horizontal-tb;line-height:1.95;letter-spacing:.055em}

  .gurindorin{
        display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin:40px 30px;
  }
}

/* ===== MENU：理想画像に合わせたPC配置調整 ===== */
@media (min-width: 769px) {
  .menu {
    padding: 82px 0 100px;
  }

  .menu__grid {
    width: 610px;
    grid-template-columns: 250px 285px;
    gap: 75px;
    justify-content: start;
    align-items: start;
  }

  .menu__title-area {
    width: 250px;
    text-align: left;
  }

  .menu__title-area > .eyebrow {
    margin: 8px 0 28px;
    text-align: center;
  }

  .menu__intro {
    display: block;
  }

  .menu__main-title {
    display: block;
    margin: 0 auto;
    font-size: 29px;
    line-height: 1.2;
    letter-spacing: .04em;
  }

  .menu__copy {
    width: 220px;
    padding-top: 55px;
  }

  .menu__subheading {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.6;
  }

  .menu-list {
    font-size: 14px;
    line-height: 2.02;
  }

  .menu__description {
    width: 220px;
    margin: 30px 0 0;
    color: var(--ink);
    font-size: 11px;
    line-height: 1.65;
  }

  .menu-gallery {
    width: 285px;
    gap: 6px;
  }

  .menu-gallery img {
    width: 285px;
    height: 185px;
    object-fit: cover;
  }
}


.js-enabled .fade-in-up {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 1.25s ease,
    transform 1.25s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--fade-delay, 0s);
  will-change: opacity, transform;
}

.js-enabled .fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-enabled .hero.fade-in-up {
  transform: none;
  transition-duration: 1.45s;
}

@media (prefers-reduced-motion: reduce) {
  .js-enabled .fade-in-up {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}