:root{--gold:#b09049;--ink:#31312e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:2}body.menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{opacity:.75}h1,h2,h3,h4{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:500;line-height:1.5}button{font:inherit;cursor:pointer}.header{height:100px;display:flex;align-items:center;background:#fff;padding-left:4%;position:relative;z-index:10}.logo{width:220px}.logo img{display:block;width:100%}.desktop-nav{display:flex;gap:26px;margin-left:auto;padding:0 30px;font-size:13px}.head-tel,.head-book{display:grid;place-items:center;height:100%;padding:0 25px;font-size:14px}.head-tel{background:#f3f0e8}.head-book{background:var(--gold);color:#fff}.hamb{display:none;border:0;background:#fff;font-size:28px}.hero{height:calc(100vh - 100px);min-height:520px;position:relative;overflow:hidden;color:white}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s}.hero-bg.active{opacity:1}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent)}.hero-copy{position:absolute;z-index:1;left:9%;top:30%;text-shadow:0 2px 9px #333}.hero-copy h1{font-size:clamp(36px,4vw,60px);letter-spacing:.1em}.reserve{position:absolute;right:0;bottom:30px;width:180px;z-index:2}.wide{max-width:1200px;margin:auto;padding-left:28px;padding-right:28px}.home-section,.feature,.surround{padding:100px 0}.section-title{font-size:clamp(30px,3vw,46px);letter-spacing:.08em;margin:0 0 45px}.section-title small{display:block;font:14px sans-serif;letter-spacing:.1em;margin-top:10px}.cards{display:flex;gap:20px;overflow-x:auto;padding-bottom:20px}.card{flex:0 0 300px;background:#f6f4ef;padding:24px;min-height:180px}.card h3{font-size:18px}.card p{font-size:13px}.feature:nth-of-type(even){background:#f7f5f0}.feature-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}.feature-grid img{width:100%;height:420px;object-fit:cover}.feature-grid h3{font-size:30px}.more{display:inline-block;border-bottom:1px solid var(--gold);padding:10px 45px 10px 0;margin-top:25px}.surround{background:#514d41;color:white}.page-banner{background:#f4f1eb;padding:70px max(6%,calc((100% - 1200px)/2));min-height:220px}.page-banner p{font-size:13px;letter-spacing:.2em;color:var(--gold);margin:0}.page-banner h1{font-size:36px;margin:.3em 0}.page-content,.article{max-width:1000px;margin:auto;padding:80px 28px;overflow-wrap:anywhere}.article{max-width:850px}.page-content h1,.article h1{font-size:32px}.page-content h2,.article h2{font-size:26px;margin:2.5em 0 1em}.page-content h3,.article h3{font-size:22px}.page-content img,.article img{display:block;max-width:100%;height:auto;margin:25px auto}.page-content p,.article p{margin:1.4em 0}.page-content a,.article a{color:var(--gold)}.article time,.category-label{color:var(--gold);font-size:14px}.article table,.page-content table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto}.article td,.article th,.page-content td,.page-content th{border:1px solid #ddd;padding:10px}.listing{padding:40px 0}.listing>a{display:block;padding:24px 0;border-bottom:1px solid #ddd}.listing h2,.listing h3{font-size:20px;margin:4px 0}.listing p{font-size:14px}.listing time{font-size:13px;color:var(--gold)}footer{background:#efede7;padding:70px 28px}.footer-inner{max-width:1200px;margin:auto}.footer-logo{width:210px}.footer-inner nav{display:flex;gap:25px;flex-wrap:wrap;margin:30px 0}.footer-inner small{display:block;font-size:11px}.to-top{position:fixed;bottom:20px;right:20px;background:var(--gold);color:#fff;width:44px;height:44px;text-align:center;line-height:44px;z-index:5}.drawer-layer[hidden]{display:none}.drawer-layer{position:fixed;inset:0;z-index:20}.backdrop{position:absolute;inset:0;border:0;background:#0009;width:100%}.drawer{position:absolute;right:0;top:0;height:100%;width:min(88%,400px);overflow:auto;background:white;padding:35px}.drawer img{width:180px;margin-bottom:30px}.drawer>a{display:block;padding:16px 0;border-bottom:1px solid #ddd}.drawer small{display:block;color:var(--gold)}.close{float:right;border:0;background:none;font-size:32px}@media(max-width:1050px){.desktop-nav{display:none}.header{height:76px}.hamb{display:block;margin-left:auto;padding:0 20px}.head-tel,.head-book{height:76px}.hero{height:calc(100vh - 76px)}}@media(max-width:600px){.header{padding-left:20px}.logo{width:150px}.head-tel,.head-book{display:none}.hero{min-height:500px}.hero-copy{left:7%;right:7%;top:30%}.hero-copy h1{font-size:34px}.hero-copy p{font-size:13px}.reserve{width:120px}.home-section,.feature,.surround{padding:65px 0}.feature-grid{display:block}.feature-grid img{height:260px}.feature-grid h3{font-size:24px}.page-banner{padding:48px 24px;min-height:0}.page-banner h1{font-size:28px}.page-content,.article{padding:50px 24px}.page-content h1,.article h1{font-size:26px}.page-content h2,.article h2{font-size:23px}.footer-inner nav{display:block}.footer-inner nav a{display:block;padding:5px 0}}
.card img{width:100%;height:160px;object-fit:cover;margin-bottom:12px}.listing>a{display:flow-root}.listing-image{float:left;width:180px;height:120px;object-fit:cover;margin-right:25px}.category-nav{display:flex;gap:24px;flex-wrap:wrap;padding-top:45px;color:#9b7c38}@media(max-width:600px){.listing-image{width:110px;height:85px;margin-right:15px}.listing h2,.listing h3{font-size:16px}.listing p{display:none}}
.article-layout{max-width:1152px;margin:auto;padding:80px 28px;display:grid;grid-template-columns:minmax(0, 1fr) 270px;gap:65px;align-items:start}.article-layout .article{padding:0;max-width:none;width:100%}.article-layout .article>img{width:100%;margin:35px 0}.article-layout .article h1{line-height:1.55}.related{padding-top:15px}.related h2{font:24px Georgia,serif;border-bottom:1px solid #ddd;padding-bottom:16px;margin:0 0 20px}.related h2 small{display:block;font:12px sans-serif;color:#ae965b;margin-top:8px}.related>a:not(.related-category){display:flex;gap:14px;border-bottom:1px solid #eee;padding:13px 0;font-size:12px;line-height:1.7}.related img{width:80px;height:60px;object-fit:cover}.related time{display:block;color:#999;font-size:11px}.related h2:not(:first-child){margin-top:45px}.related-category{display:block;border-bottom:1px solid #eee;padding:10px 0;font-size:13px}@media(max-width:767px){.article-layout{display:block;padding:50px 24px}.related{margin-top:70px}.related img{width:100px;height:70px}}
.page-stay,.page-restaurant,.page-access{max-width:1152px}.page-stay>h1,.page-restaurant>h1,.page-access>h1{font-size:36px;color:#3d3b36;border-bottom:1px solid #ded7c8;padding-bottom:25px}.page-stay>a:has(img){display:block;float:left;width:48%;margin:50px 5% 45px 0;font-family:'Yu Mincho',serif;font-size:15px;color:#a58b52}.page-stay>a:has(img) img{width:100%;height:350px;object-fit:cover;margin:0 0 12px}.page-stay>a:has(img)~h2{padding-top:60px}.page-stay>a:has(img):nth-of-type(even){float:right;margin-left:5%;margin-right:0}.page-stay>a:has(img):after{content:'';display:block}.page-stay>h2{clear:right}.page-stay:after,.page-restaurant:after,.page-access:after{content:'';display:block;clear:both}.page-restaurant>img:nth-of-type(2){float:left;width:48%;margin:25px 5% 40px 0;object-fit:cover}.page-restaurant>h2{color:#6a5a3e}.page-access>img{width:45%;float:right;margin:15px 0 30px 40px}.page-access>h2{clear:both;padding-top:40px}.page-room-single>img:first-child,.page-room-twin>img:first-child,.page-room-triple>img:first-child,.page-room-tatami>img:first-child{width:100%;max-height:520px;object-fit:cover;margin:0 0 50px}@media(max-width:767px){.page-stay>a:has(img),.page-stay>a:has(img):nth-of-type(even),.page-restaurant>img:nth-of-type(2),.page-access>img{float:none;width:100%;margin:30px 0}.page-stay>a:has(img) img{height:260px}.page-stay>a:has(img)~h2{padding-top:0}.page-stay>h1,.page-restaurant>h1,.page-access>h1{font-size:28px}}
.pagination{display:flex;justify-content:center;gap:30px;padding:0 0 60px;color:#9b7c38}
.header .logo img,.footer-logo,.drawer>img{filter:brightness(0)}
/* Visible menu control on light subpage headers. */
.hamb i{display:block;width:25px;height:2px;background:#333}
@media(max-width:1050px){.header .hamb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:70px;height:76px;padding:0;margin-left:auto;background:#fff}}
@media(max-width:600px){.page-stay{padding-top:32px}.page-stay>h2:first-child{margin:0 0 20px}.page-stay>img:first-of-type{width:100%;margin:0 0 28px}.page-content{min-width:0;overflow-wrap:anywhere}.header .logo{flex-shrink:1;min-width:0}}
.overlay-header .header{position:absolute;top:0;left:0;width:100%;height:70px;z-index:10;display:flex;align-items:flex-start;padding:25px 0 0 5%;color:#fff;background:transparent}.overlay-header .header .logo{width:220px;margin-right:auto}.overlay-header .header .logo img{filter:none}.overlay-header .desktop-nav{display:flex;align-items:center;gap:22px;height:35px;padding:0;margin:0;font-size:11px;font-weight:bold}.overlay-header .head-tel,.overlay-header .head-book{display:block;height:auto;padding:12px 20px;margin-left:22px;font-size:12px;color:white;background:#af975c}.overlay-header .head-book{margin-left:0;background:#8b403c}.overlay-header .hamb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:70px;height:70px;margin:-25px 0 0;padding:0;background:#161616}.overlay-header .hamb i{width:25px;height:1px;background:#fff}.fixed-hero{height:60vh;min-height:430px;background-position:center;background-size:cover;position:relative;color:#fff}.fixed-hero:before{content:'';position:absolute;inset:0;background:#0008}.fixed-hero-inner{position:absolute;left:10%;bottom:14%;z-index:1}.fixed-hero-inner p{font:45px Georgia,serif;letter-spacing:.04em;margin:0;line-height:1.3}.fixed-hero-inner h1{font:500 17px 'Yu Gothic',sans-serif;margin:8px 0 0}.stay-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;max-width:1440px;margin:auto;padding:5% 10%}.stay-intro img{width:100%;height:auto}.stay-intro small{color:#b09049;font-size:13px}.stay-intro h2{font-size:30px;line-height:1.5}.stay-intro p{line-height:2}.page-stay{padding-top:20px}@media(max-width:1050px){.overlay-header .desktop-nav,.overlay-header .head-tel,.overlay-header .head-book{display:none}}@media(max-width:767px){.overlay-header .header{padding:27px 0 0 31px}.overlay-header .header .logo{width:165px}.overlay-header .hamb{width:60px;height:60px;margin-top:-27px}.fixed-hero{min-height:360px;height:55vh}.fixed-hero-inner{left:30px;bottom:14%}.fixed-hero-inner p{font-size:32px}.fixed-hero-inner h1{font-size:14px}.stay-intro{display:block;padding:50px 30px}.stay-intro img{margin-bottom:30px}.stay-intro h2{font-size:24px}.page-stay{padding-top:0}}
footer{background:#aa9259;color:#fff;padding:85px 28px 35px}.footer-logo{filter:none}.footer-inner p{font-size:12px;line-height:2.2;margin:35px 0}.footer-inner nav{border-top:1px solid #ffffff55;padding:35px 0;margin:0}.footer-inner small{text-align:right;font-size:10px}@media(max-width:600px){.footer-inner small{text-align:left}}
.access-intro{display:grid;grid-template-columns:1fr 1fr;min-height:400px}.access-intro img{width:100%;height:100%;object-fit:cover}.access-intro>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 10%}.access-intro h2{font-size:27px;margin:0 0 20px}.access-intro p{font-size:14px;line-height:2;margin:0 0 24px}.access-intro a{background:#ab9259;color:#fff;padding:13px 25px;font-size:13px}.page-access{padding-top:50px}@media(max-width:767px){.access-intro{display:block}.access-intro img{height:260px}.access-intro>div{padding:40px 30px}.access-intro h2{font-size:23px}.page-access{padding-top:20px}}
.news-hero{height:280px;min-height:0;background-image:url('/media/2025/02/AdobeStock_381829114-1-scaled.jpeg')}.article-layout{max-width:none;background:#f5f5f3;padding:80px max(28px,calc((100% - 1152px)/2));}.article-layout .article,.article-layout .related{background:#fff;padding:35px}.article-layout .related{padding:30px}@media(max-width:767px){.news-hero{height:360px;min-height:360px}.article-layout{padding:40px 20px}.article-layout .article,.article-layout .related{padding:24px}}


  .kgh-reservation,
  .kgh-reservation * {
    box-sizing: border-box;
  }

  .kgh-reservation {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #f7f5ef;
    padding: 96px 20px 112px;
    color: #2f2b26;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    overflow-x: hidden;
  }

  .kgh-reservation__inner {
    max-width: 1080px;
    margin: 0 auto;
  }

  .kgh-section-heading {
    text-align: center;
    margin-bottom: 44px;
  }

  .kgh-section-heading__en {
    margin: 0 0 10px;
    color: #b79a55;
    font-size: 13px;
    letter-spacing: 0.22em;
    line-height: 1.4;
    font-family: "Times New Roman", "Yu Mincho", serif;
  }

  .kgh-section-heading__ja {
    margin: 0;
    color: #2f2b26;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.45;
  }

  .kgh-section-heading__line {
    display: block;
    width: 72px;
    height: 1px;
    margin: 22px auto 0;
    background: #b79a55;
  }

  .kgh-reservation__lead {
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
    font-size: 15px;
    line-height: 2.1;
    letter-spacing: 0.04em;
  }

  .kgh-reservation__lead p {
    margin: 0 0 8px;
  }

  .kgh-reservation__main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-bottom: 36px;
  }

  .kgh-reservation-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(183, 154, 85, 0.38);
    padding: 42px 38px 38px;
    min-height: 330px;
    box-shadow: 0 14px 34px rgba(90, 72, 35, 0.06);
    overflow: hidden;
  }

  .kgh-reservation-card::after {
    content: "RESERVATION";
    position: absolute;
    right: -12px;
    bottom: -18px;
    color: rgba(183, 154, 85, 0.08);
    font-family: "Times New Roman", serif;
    font-size: 56px;
    letter-spacing: 0.08em;
    line-height: 1;
    pointer-events: none;
  }

  .kgh-reservation-card--booking {
    border-top: 4px solid #b79a55;
  }

  .kgh-reservation-card--cancel {
    border-top: 4px solid #173b5a;
  }

  .kgh-reservation-card__label {
    margin-bottom: 16px;
    color: #b79a55;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-family: "Times New Roman", serif;
  }

  .kgh-reservation-card__title {
    margin: 0 0 18px;
    color: #2f2b26;
    font-size: clamp(21px, 2.4vw, 28px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.55;
  }

  .kgh-reservation-card--cancel .kgh-reservation-card__title {
    color: #173b5a;
  }

  .kgh-reservation-card__text {
    margin: 0 0 30px;
    color: #3d372f;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  .kgh-reservation-card__button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    padding: 15px 24px;
    background: #b79a55;
    color: #ffffff;
    border: 1px solid #b79a55;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.08em;
    transition: 0.25s ease;
  }

  .kgh-reservation-card__button span {
    display: inline-block;
    margin-left: 14px;
    font-size: 20px;
    line-height: 1;
  }

  .kgh-reservation-card__button:hover {
    background: #9f823f;
    border-color: #9f823f;
    color: #ffffff;
  }

  .kgh-reservation-card__button--cancel {
    background: transparent;
    color: #173b5a;
    border-color: #b79a55;
  }

  .kgh-reservation-card__button--cancel:hover {
    background: #173b5a;
    color: #ffffff;
    border-color: #173b5a;
  }

  .kgh-reservation-notice {
    background: #ffffff;
    border-left: 4px solid #b79a55;
    padding: 28px 32px;
    margin: 0 0 34px;
    box-shadow: 0 10px 24px rgba(90, 72, 35, 0.04);
  }

  .kgh-reservation-notice__title {
    margin: 0 0 14px;
    color: #3d372f;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.08em;
  }

  .kgh-reservation-notice p {
    margin: 0 0 8px;
    color: #3d372f;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }

  .kgh-reservation-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background: #b79a55;
    color: #ffffff;
    padding: 34px 40px;
  }

  .kgh-reservation-contact__label {
    margin: 0 0 8px;
    color: #fff7df;
    font-family: "Times New Roman", serif;
    font-size: 12px;
    letter-spacing: 0.18em;
  }

  .kgh-reservation-contact__title {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.08em;
  }

  .kgh-reservation-contact__text {
    margin: 0;
    color: #fffaf0;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }

  .kgh-reservation-contact__tel {
    flex: 0 0 auto;
    color: #ffffff;
    text-decoration: none;
    font-family: "Times New Roman", serif;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 0.06em;
    line-height: 1;
  }

  .kgh-reservation-contact__tel::before {
    content: "TEL ";
    color: #fff7df;
    font-size: 15px;
    letter-spacing: 0.12em;
    vertical-align: middle;
  }

  @media (max-width: 768px) {
    .kgh-reservation {
      padding: 64px 28px 78px;
    }

    .kgh-section-heading {
      margin-bottom: 34px;
    }

    .kgh-section-heading__en {
      font-size: 12px;
    }

    .kgh-section-heading__ja {
      font-size: 28px;
      letter-spacing: 0.06em;
    }

    .kgh-reservation__lead {
      text-align: left;
      font-size: 14px;
      line-height: 2;
      margin-bottom: 34px;
    }

    .kgh-reservation__main-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .kgh-reservation-card {
      padding: 34px 28px;
      min-height: auto;
    }

    .kgh-reservation-card::after {
      font-size: 40px;
      right: -18px;
      bottom: -10px;
    }

    .kgh-reservation-card__label {
      font-size: 11px;
      letter-spacing: 0.14em;
    }

    .kgh-reservation-card__title {
      font-size: 22px;
    }

    .kgh-reservation-card__text {
      font-size: 13px;
      line-height: 1.9;
    }

    .kgh-reservation-card__button {
      width: 100%;
      min-width: 0;
    }

    .kgh-reservation-notice {
      padding: 26px 28px;
    }

    .kgh-reservation-notice__title {
      font-size: 17px;
      line-height: 1.7;
    }

    .kgh-reservation-contact {
      display: block;
      padding: 32px 28px;
    }

    .kgh-reservation-contact__title {
      font-size: 20px;
      line-height: 1.7;
    }

    .kgh-reservation-contact__tel {
      display: inline-block;
      margin-top: 22px;
      font-size: 30px;
    }
  }

  @media (max-width: 380px) {
    .kgh-reservation {
      padding-left: 24px;
      padding-right: 24px;
    }

    .kgh-reservation-card {
      padding-left: 24px;
      padding-right: 24px;
    }

    .kgh-reservation-notice {
      padding-left: 24px;
      padding-right: 24px;
    }

    .kgh-reservation-contact {
      padding-left: 24px;
      padding-right: 24px;
    }
  }

.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.topic-grid>a{padding:0 0 25px;border:0}.topic-grid .listing-image{float:none;display:block;width:100%;height:auto;aspect-ratio:1.43;object-fit:cover;margin:0 0 15px}.topic-grid h2{font-size:16px}.topic-grid p{display:none}.category-nav{padding-top:45px}.facility-banner{background:#f5f5f5;padding:50px max(6%,calc((100% - 1200px)/2));min-height:0}.facility-banner p{display:none}.facility-banner h1{font-size:30px}.page-content[class*='page-facilities-']{max-width:1200px}.facility-room{padding:0 0 55px;margin:0 0 55px;border-bottom:1px solid #ddd}.facility-room>a:first-child img{width:100%;margin:0 0 20px}.facility-room h2{margin:0;font-size:26px}.facility-room h2+a{display:none}.facility-room p{margin:15px 0}.page-content[class*='page-room-']{max-width:1200px;min-height:400px;padding-top:100px}.page-content[class*='page-room-'] h1{font-size:34px;margin:0}.room-meta{font-size:13px;color:#999}.page-privacy-policy{max-width:1152px}.page-privacy-policy p,.page-privacy-policy li{font-size:15px}@media(max-width:767px){.topic-grid{grid-template-columns:1fr;gap:20px}.topic-grid .listing-image{height:auto;width:100%;margin:0 0 12px}.topic-grid p{display:none}.page-content[class*='page-room-']{padding-top:60px}}
.article-hero:before{display:none}.article-hero .fixed-hero-inner p{color:#666}.article-hero .fixed-hero-inner h1{color:#b09049}.article-layout .category-label{display:inline-block;background:#ae965b;color:#fff;padding:3px 12px;margin:0 0 15px;font-size:12px}.article-layout .article time{display:block;color:#999}.article-layout .article>img{margin:20px 0 35px}
/* Shared footer: navigation and booking links sit above the hotel information. */
footer{padding:0;background:#aa9259;color:#fff}.footer-bar{border-bottom:1px solid #ffffff66}.footer-bar-inner{max-width:1152px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:80px}.footer-bar-inner nav{display:flex;align-items:center;flex-wrap:wrap;gap:30px;font-size:12px}.footer-actions{display:flex;gap:20px}.footer-actions a{background:#fff;color:#aa9259;text-align:center;min-width:182px;padding:8px 20px;font-size:11px}.footer-inner{max-width:1152px;margin:auto;padding:110px 0 35px;display:grid;grid-template-columns:1fr auto;gap:0 30px}.footer-logo{width:230px;filter:none!important}.footer-inner p{font-size:12px;line-height:2.1;margin:25px 0}.footer-links{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:20px;font-size:11px}.footer-inner small{grid-column:1/-1;text-align:right;font-size:10px}.footer-inner a{color:#fff}.footer-actions a{color:#aa9259}
@media(max-width:767px){.footer-bar-inner{display:block;padding:25px 30px}.footer-bar-inner nav{gap:14px 20px;font-size:11px}.footer-actions{margin-top:25px;gap:10px}.footer-actions a{flex:1;min-width:0}.footer-inner{margin:0;padding:55px 30px 30px;display:block}.footer-logo{width:200px}.footer-links{align-items:flex-start;margin:35px 0}.footer-inner small{text-align:left}}
.listing-category{display:inline-block;background:#a99157;color:#fff;font-size:10px;padding:2px 9px;margin-right:10px}.topic-grid time{font-size:12px;color:#999}.topic-grid h2{line-height:1.7;margin-top:10px}.access-map{display:block;width:100%;height:400px;border:0}.information{background:#f7f7f7;padding:80px max(28px,calc((100% - 1152px)/2))}.information h2{font:36px Georgia,serif;margin:0 0 30px}.information nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.information a{position:relative;display:block;background:#fff;padding:30px;min-height:120px}.information small,.information span{display:block}.information small{color:#ac935a;font:12px Georgia,serif}.information span{font-family:'Yu Mincho',serif;margin-top:10px}.information b{position:absolute;right:25px;bottom:25px;color:#ac935a;font-weight:400}.page-restaurant>img:first-child{width:100%;margin:0 0 45px}.article-layout .article h1{margin:15px 0}.article-layout .related>a:not(.related-category){display:block}
@media(max-width:767px){.access-map{height:300px}.information{padding:60px 30px}.information nav{grid-template-columns:1fr 1fr}.information a{padding:20px;min-height:100px}.information b{right:15px;bottom:15px}}
.drawer .drawer-tel,.drawer .drawer-book{display:block;background:#a99157;color:#fff;text-align:center;padding:14px;margin-top:25px;border:0;font-size:12px}.drawer .drawer-tel strong{font-size:20px}.drawer .drawer-book{background:#8b403c;margin-top:10px;padding:20px}.drawer .drawer-link strong{font-size:14px;font-weight:500}.drawer .drawer-link small{font:11px Georgia,serif;margin-top:5px}
@media(max-width:767px){.drawer{width:263px;padding:55px 20px 30px 40px}.drawer>img{width:170px;margin:0 auto 25px}.drawer .drawer-link{padding:12px 0}.drawer .drawer-link strong{font-size:12px}.drawer .drawer-link small{font-size:9px}}
/* News archives use a shallower banner and a centered four-column list. */
.news-hero{height:260px;min-height:260px}.news-hero .fixed-hero-inner p{font-size:32px}.news-hero .fixed-hero-inner h1{font-size:14px}.topic-listing{max-width:1040px;margin:0 auto;padding:0 20px}.topic-listing .listing{padding:65px 0}.topic-listing .topic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
@media(max-width:767px){.news-hero{height:360px;min-height:360px}.topic-listing{padding:0 30px}.topic-listing .listing{padding:40px 0}.topic-listing .topic-grid{grid-template-columns:1fr;gap:20px}}
/* Keep both footer rows inside the viewport when the navigation wraps. */
.footer-bar-inner,.footer-inner{width:100%;min-width:0;padding-left:28px;padding-right:28px}.footer-bar-inner nav{min-width:0;flex:1 1 auto}.footer-actions{flex:0 1 384px;min-width:0}.footer-actions a{flex:1 1 0;min-width:0}.footer-contact,.footer-links{min-width:0}.footer-contact p{overflow-wrap:anywhere}
@media(max-width:767px){.footer-bar-inner{padding:25px 30px}.footer-inner{padding:55px 30px 30px}.footer-actions{width:100%}}
@media(min-width:1051px){.overlay-header .desktop-nav{font-size:15px;font-weight:400;gap:20px}.overlay-header .head-tel,.overlay-header .head-book{min-width:100px;font-weight:400}}
.article-hero{height:272px;min-height:272px}.article-layout{grid-template-columns:minmax(0,640px) minmax(0,425px);gap:30px;padding-left:max(28px,calc((100% - 1095px)/2));padding-right:max(28px,calc((100% - 1095px)/2))}.article-layout .article h1{font-size:26px;line-height:1.6}
@media(max-width:767px){.article-hero{height:360px;min-height:360px}.article-layout{padding:40px 20px}.article-layout .article h1{font-size:23px}}
@media(min-width:1051px) and (max-width:1200px){.overlay-header .header .logo{width:180px}.overlay-header .desktop-nav{font-size:13px;gap:12px}.overlay-header .head-tel,.overlay-header .head-book{padding-left:10px;padding-right:10px;margin-left:10px}}
/* The article card has a narrower reading column than its outer panel. */
@media(min-width:768px){.article-layout{padding-top:70px}.article-layout .article{padding:45px clamp(30px,6.35vw,87px)}}
@media(max-width:767px){.footer-bar-inner nav{display:none}.footer-actions{margin-top:0}.footer-inner{text-align:center}.footer-logo{margin:0 auto}.footer-links{align-items:center}.footer-inner small{text-align:center}}
.category-event{background:#9a3a3a!important}.category-news{background:#1d1d1d!important}
@media(max-width:767px){.overlay-header .hamb{background:transparent}.news-hero,.article-hero{height:240px;min-height:240px}.news-hero .fixed-hero-inner p{font:400 24px Georgia,serif}.news-hero .fixed-hero-inner h1{font-size:13px}.article-layout{background:#fff;padding:40px 24px}.article-layout .article,.article-layout .related{padding:0}.article-layout .article time{color:#333}.article-layout .article time:before{content:'▣';margin-right:8px}.article-layout .article>img{width:100%}}
@media(max-width:767px){.news-hero,.article-hero{height:247px;min-height:247px}.news-hero .fixed-hero-inner{left:39px}.article-layout{padding-left:35px;padding-right:35px}.article-layout .category-label{font-size:10px;padding:2px 8px}.article-layout .article time:before{content:'';display:inline-block;width:10px;height:9px;border:1px solid currentColor;border-top-width:3px;border-radius:1px;margin-right:8px;vertical-align:0}}
@media(max-width:767px){.topic-listing{padding-left:38px;padding-right:38px}.topic-listing .listing{padding-top:60px}}
.restaurant-intro{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;margin:30px 0 60px}.restaurant-intro img{width:100%;margin:0}.restaurant-intro h2{color:#6a5a3e;margin:0 0 20px}.restaurant-intro p{margin:1em 0}
@media(max-width:767px){.fixed-hero:not(.news-hero){height:60vh;min-height:0;background-size:auto 120%}.fixed-hero:not(.news-hero) .fixed-hero-inner{left:39px;bottom:15%}.fixed-hero:not(.news-hero) .fixed-hero-inner p{font:400 25px Georgia,serif}.fixed-hero:not(.news-hero) .fixed-hero-inner h1{font:400 13px 'Yu Gothic',sans-serif;letter-spacing:1.5px}.stay-intro{display:flex;flex-direction:column-reverse;align-items:stretch;padding:0}.stay-intro>div{padding:15% 10% 10%}.stay-intro img{margin:0}.page-restaurant>img:first-child{display:none}.restaurant-intro{display:flex;flex-direction:column-reverse;gap:0;margin:0}.restaurant-intro>div{padding:15% 0 10%}.restaurant-intro img{margin:0 0 30px}}
@media(max-width:767px){.page-restaurant{padding-top:0}}
@media(max-width:767px){.fixed-hero:not(.news-hero){background-position:center 25%}.fixed-hero:not(.news-hero) .fixed-hero-inner{bottom:calc(15% - 15px)}.stay-intro>div,.restaurant-intro>div{padding-top:12%}.stay-intro small,.restaurant-intro .restaurant-label{font-size:11px;font-weight:400;color:#c5b792}.stay-intro h2,.restaurant-intro h2{font-size:23px;font-weight:400;color:#858585}}
.drawer>img{display:block;margin-left:auto;margin-right:auto}.drawer .drawer-tel,.drawer .drawer-book{font-size:12px;font-weight:400;padding:15px}.drawer .drawer-book{margin-top:10px}
@media(max-width:767px){.drawer{padding-right:10px}.drawer>img{display:block;margin:0 auto 25px}.drawer .drawer-tel{margin-top:22px}}
