*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#FDF7F2;color:#2b211a;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(100%,860px);margin:0 auto}.full-img{width:100%;height:auto}.click-image{display:block;cursor:pointer}.click-image img{width:100%}.section-img{margin:11px auto}.page{max-width:860px;margin:auto;padding:28px 24px 5px}.hero-photo{width:100%;border-radius:10px;object-fit:cover;max-height:550px}.article{max-width:760px;margin:30px auto 40px;font-size:18px;line-height:1.95;color:#42382f;white-space:pre-line}.article h1{font-size:30px;font-weight:500;margin:24px 0}.article .line{width:65px;height:2px;background:#cfaf81;margin:25px 0}.back{display:block;width:175px;background:#aa9487;color:white;font-weight:700;margin:25px auto 33px;text-align:center;padding:14px 16px;border-radius:3px}.reserve{border-top:5px solid #b58a4c;background:#f5eee4;margin:20px auto 0;text-align:center;padding:35px 18px}.reserve h2{font-size:28px;margin:0 0 14px}.reserve .tel{font-family:Georgia,serif;font-size:clamp(32px,7vw,66px);letter-spacing:1px;color:#513419;font-weight:700;margin:8px}.reserve .note{color:#8e744d}.reserve .call{display:inline-block;background:#14733a;color:white;border-radius:40px;padding:13px 30px;margin:20px 0 8px}.divider{height:1px;background:#e2d2bc;margin:24px 0}.video-items{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0 34px}.video-placeholder{aspect-ratio:9/16;background:linear-gradient(155deg,#3d2c25,#8a633c);border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;flex-direction:column;gap:10px;padding:9px;text-align:center;font-size:13px}.video-placeholder .play{border:1px solid #dec7aa;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:19px}.single-video{width:min(240px,80%);margin:24px auto}.single-video .video-placeholder{max-height:420px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 14px}.gallery a{aspect-ratio:1;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:hover{transform:scale(1.025)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:300;display:none;align-items:center;justify-content:center;padding:55px}.lightbox:target{display:flex}.lightbox img{max-width:85vw;max-height:84vh;object-fit:contain}.lightbox .close{position:absolute;right:15px;top:10px;font-size:45px;color:white}.lightbox .prev,.lightbox .next{position:absolute;top:50%;font-size:35px;color:#fff;background:#2228;padding:12px}.lightbox .prev{left:10px}.lightbox .next{right:10px}.contact-form{max-width:710px;margin:30px auto;background:#f0e9d8;padding:33px 30px}.contact-form label{display:block;margin:17px 0 5px;color:#5d5446}.contact-form input,.contact-form textarea{display:block;width:100%;padding:13px;background:none;border:0;border-bottom:1px solid #c2b8a6;outline:none;font:inherit}.contact-form button{margin:22px auto;display:block;width:155px;background:transparent;border:1px solid #7e7164;padding:12px;cursor:pointer}.small-note{font-size:13px;color:#786f65;text-align:center}footer{background:#eee7d6;padding:38px 24px 50px;font-size:13px;line-height:1.85}footer .inner{max-width:780px;margin:auto}footer h3{letter-spacing:.2em;color:#171717}.home-layout{padding-bottom:12px}@media(max-width:650px){.page{padding:15px 14px}.article{font-size:16px}.gallery{grid-template-columns:repeat(2,1fr)}.video-items{grid-template-columns:repeat(3,1fr)}.lightbox{padding:45px 15px}.lightbox img{max-width:82vw}}


/* Clean single-source layout. No legacy hero/header selectors. */
:root{--page-ivory:#FDF7F2;--contact-beige:#EEE7D6;--banner-dark:#2b211a}
html,body{width:100%;max-width:100%;overflow-x:clip}
body{background:var(--page-ivory)}
.hero-visual{position:relative;display:block;width:min(100%,848px);margin:0 auto;padding:0;line-height:0}
.hero-visual>img{display:block;width:100%;height:auto;margin:0;padding:0;max-width:none}
.hero-visual>a{position:absolute;left:0;right:0;z-index:2;display:block}
.hero-home-zone{top:0;height:13.18%}
.hero-reserve-zone{top:13.18%;bottom:0}
.container.home-layout{width:min(100%,848px);max-width:848px;margin:0 auto;padding:0 0 12px;background:var(--page-ivory)}
.section-img{margin:11px auto 0}
.phone-banner{width:100%;max-width:none;line-height:0;margin:0;background:var(--banner-dark)}
.phone-banner a{display:block;max-width:1600px;margin:0 auto}
.phone-banner img{width:100%;height:auto;display:block}
.reservation-guide{width:min(100%,860px);margin:24px auto 0;padding:0 12px}
.reservation-guide a{display:block}
.reservation-guide img{display:block;width:100%;height:auto}
body>.contact-form{width:100%;max-width:none;margin:0;border:0;background:var(--contact-beige);padding:42px 24px 30px}
body>.contact-form>form,body>.contact-form>.small-note{max-width:680px;margin-left:auto;margin-right:auto}
body>.contact-form h2{max-width:680px;margin:0 auto 15px;text-align:left!important;font-size:18px;font-weight:500}
body>.contact-form label{margin-top:24px;color:#9a9388}
body>.contact-form input,body>.contact-form textarea{padding-left:0;background:transparent;color:#342a20}
body>.contact-form button{background:transparent;color:#33291e}
body>footer{width:100%;max-width:none;margin:0;background:var(--contact-beige);padding:25px 24px 55px}
body>footer .inner{max-width:780px}
@media(max-width:650px){body>.contact-form{padding:28px 20px 20px}.reservation-guide{padding:0 9px}body>footer{padding:24px 20px 42px}}

/* 2026-10-26: transparent call banner, no upscaling */
body>.phone-banner {
  width:100%;
  margin:0;
  padding:0;
  background:#231a14;
  line-height:0;
  overflow:hidden;
}
body>.phone-banner>a {
  display:block;
  width:100%;
  max-width:2048px;
  margin:0 auto;
  padding:0;
}
body>.phone-banner img {
  display:block;
  width:100%;
  height:auto;
  max-width:2048px;
  margin:0 auto;
  object-fit:contain;
}

/* 2026-10-26: new compact consultation banner; only sides stretch */
body>.phone-banner{width:100%;margin:0;padding:0;background:#271c13;line-height:0;overflow:hidden}
body>.phone-banner>a{display:block;width:min(100%,1080px);max-width:1080px;margin:0 auto;padding:0}
body>.phone-banner img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;margin:0;padding:0}

/* User requested half-size phone banner, without upscaling. */
body>.phone-banner{background:#271c13!important}
body>.phone-banner>a{display:block!important;width:min(100%,540px)!important;max-width:540px!important;margin:0 auto!important}
body>.phone-banner img{display:block!important;width:100%!important;height:auto!important;max-width:540px!important;object-fit:contain!important}
