/* Japanese page. Shared and foreign-language styles remain unchanged. */
.japanese-page {
  --ink:#302923; --muted:#655d54; --paper:#faf8f3; --cream:#f0ebe2;
  --orange:#554131; --orange-dark:#554131; --jade:#554131; --line:#d9d0c4;
  --radius:8px; --shadow:none;
  background:var(--paper); color:var(--ink); font-size:17px; line-height:1.85;
  font-variant-numeric:lining-nums tabular-nums;
}
.japanese-page [id] { scroll-margin-top:120px; }
.japanese-page figure { margin:0; }
.japanese-page figcaption { color:var(--muted); font-size:15px; line-height:1.7; margin-top:12px; }
.japanese-page section { padding-block:80px; }
.japanese-page .title { font-size:clamp(1.8rem,3.2vw,2.65rem); line-height:1.5; }
.japanese-page .kicker { color:#72604c; font-size:14px; letter-spacing:.1em; }
.japanese-page .utility { background:#eee8de; color:var(--ink); font-size:14px; }
.japanese-page .utility strong { color:var(--ink); }
.japanese-page .languages a { color:#655d54; }
.japanese-page .languages a[aria-current] { color:var(--ink); }
.japanese-page .header { background:var(--paper); backdrop-filter:none; }
.japanese-page .header .wrap { height:90px; gap:24px; }
.japanese-page .logo { width:236px; max-width:30vw; }
.japanese-page .logo img { max-height:78px; }
.japanese-page .nav { gap:20px; font-size:15px; }
.japanese-page .nav a:hover { color:#887155; }
.japanese-page .btn, .japanese-page .phone-pill {
  border-radius:6px; box-shadow:none; border-width:1px; min-height:52px;
  font-size:16px; line-height:1.4; padding:14px 22px; font-weight:700;
}
.japanese-page .btn-primary, .japanese-page .phone-pill, .japanese-page .btn-jade {
  background:var(--orange); border-color:var(--orange); color:#fff;
}
.japanese-page .btn-light { background:transparent; color:var(--ink); border-color:#ad9f8c; }
.japanese-page .btn:hover { transform:none; box-shadow:none; background:#e9e1d5; color:var(--ink); }
.japanese-page .btn-primary:hover, .japanese-page .phone-pill:hover, .japanese-page .btn-jade:hover { background:#3c2e23; color:#fff; }
.japanese-page a:focus-visible, .japanese-page summary:focus-visible { outline:3px solid #9e7b4a; outline-offset:4px; }
.japanese-page .phone-cta { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.japanese-page .cta-label { font-size:15px; line-height:1.4; font-weight:600; }
.japanese-page .cta-number { font-family:inherit; font-size:25px; line-height:1.2; letter-spacing:.03em; white-space:nowrap; font-weight:700; font-variant-numeric:lining-nums tabular-nums; }
.japanese-page .phone-pill { padding:10px 18px; }
.japanese-page .phone-pill .cta-label { font-size:12px; }
.japanese-page .phone-pill .cta-number { font-size:19px; }
.japanese-page .hero { padding:46px 0 0; background:var(--paper); }
.japanese-page .hero:before { display:none; }
.japanese-page .hero-grid { gap:64px; grid-template-columns:1fr 1.04fr; align-items:center; }
.japanese-page .eyebrow { font-size:14px; letter-spacing:.09em; margin-bottom:16px; color:#71604e; }
.japanese-page .eyebrow:before { display:none; }
.japanese-page .hero h1 { font-size:clamp(2rem,3.15vw,2.8rem); line-height:1.48; letter-spacing:.03em; margin-bottom:18px; font-weight:600; }
.japanese-page .hero h1 em { color:var(--ink); }
.japanese-page .hero .lead { font-size:16px; line-height:1.9; color:#51493f; margin:0; }
.japanese-page .hero-visual { padding:0; }
.japanese-page .hero-visual .main-photo { width:100%; height:570px; aspect-ratio:auto; object-fit:cover; border-radius:6px; box-shadow:none; }
.japanese-page .hero-menu { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; border-top:1px solid var(--line); padding-top:16px; }
.japanese-page .hero-menu>div { display:flex; flex-direction:column; gap:6px; }
.japanese-page .hero-menu>div>span { font-size:15px; color:var(--muted); }
.japanese-page .amount, .japanese-page .price {
  font-family:inherit; font-variant-numeric:lining-nums tabular-nums;
  display:inline-flex; align-items:baseline; gap:4px; white-space:nowrap;
  color:var(--ink); font-weight:600; font-size:32px; line-height:1.25; letter-spacing:.015em;
}
.japanese-page .amount .yen, .japanese-page .price small { font-family:inherit; font-size:17px; line-height:1; font-weight:500; }
.japanese-page .hero-tea { font-size:15px; margin:12px 0 0; color:#64523e; }
.japanese-page .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.japanese-page .hero-actions .phone-cta { grid-column:1/-1; }
.japanese-page .hero-actions .btn-light { font-size:15px; }
.japanese-page .quick { margin-top:36px; }
.japanese-page .quick-grid { grid-template-columns:1fr .75fr 1.25fr; background:#f0ebe2; border:0; border-radius:0; box-shadow:none; }
.japanese-page .quick-item { padding:22px 28px; border-right:1px solid #d9d0c4; }
.japanese-page .quick-item small { font-size:14px; font-weight:500; }
.japanese-page .quick-item strong { font-size:17px; line-height:1.65; font-weight:600; margin-top:6px; }
.japanese-page .quick-item .hours { font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; }
.japanese-page .quick-item a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.japanese-page #menu { padding-top:72px; }
.japanese-page .menu-label { border-bottom:1px solid #bbae9b; align-items:center; }
.japanese-page .menu-label h3 { font-size:28px; }
.japanese-page .menu-label p { font-size:15px; }
.japanese-page .price-grid { gap:24px; }
.japanese-page .price-card { padding:26px; border:1px solid var(--line); border-radius:6px; background:#fffdfa; gap:18px; grid-template-columns:1fr auto; align-items:center; }
.japanese-page .price-card.featured { border-color:var(--line); background:#fffdfa; }
.japanese-page .price-card h4 { font-size:18px; line-height:1.65; margin:0 0 6px; font-weight:600; }
.japanese-page .price-card p { font-size:15px; line-height:1.6; color:var(--muted); }
.japanese-page .price-note, .japanese-page .note { font-size:15px; color:var(--muted); }
.japanese-page .course-example { margin:36px 0 56px; padding:28px 0 40px; border-bottom:1px solid var(--line); }
.japanese-page .course-intro { max-width:820px; }
.japanese-page .course-intro h3 { font-family:"Yu Mincho",serif; font-size:28px; line-height:1.5; margin:0 0 14px; }
.japanese-page .course-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:28px; }
.japanese-page .course-photo-grid img { display:block; width:100%; height:340px; object-fit:cover; border-radius:6px; }
.japanese-page .example-detail { font-size:15px; color:var(--muted); margin-block:24px; }
.japanese-page .dinner-callout { background:#eee7dc; color:var(--ink); border-radius:6px; padding:26px; }
.japanese-page .dinner-callout p { color:var(--muted); font-size:16px; }
.japanese-page .anchor-card { border-radius:6px; padding:24px; box-shadow:none; background:transparent; }
.japanese-page .anchor-card:hover { transform:none; border-color:#887155; box-shadow:none; }
.japanese-page .anchor-icon { display:none; }
.japanese-page .anchor-card h3 { margin-top:0; }
.japanese-page .anchor-card p { font-size:16px; }
.japanese-page .anchor-card strong { font-size:15px; }
.japanese-page .story-photos img { border-radius:6px; }
.japanese-page .definition { border-left:2px solid #9a8262; background:transparent; }
.japanese-page .proof-row strong { font-family:inherit; font-size:23px; color:var(--ink); font-weight:600; line-height:1.5; }
.japanese-page .proof-row span { font-size:15px; font-weight:400; }
.japanese-page .occasion { background:#eae3d7; color:var(--ink); }
.japanese-page .occasion .desc, .japanese-page .occasion-item span { color:#5c5348; }
.japanese-page .occasion-item { border:1px solid #c8bba8; border-radius:6px; }
.japanese-page .occasion-item strong { color:var(--ink); }
.japanese-page .occasion-item span { font-size:15px; }
.japanese-page .occasion img { border-radius:6px; }
.japanese-page .takeout-photo img { border-radius:6px; }
.japanese-page .season-tag { background:#faf8f3; color:var(--ink); border-radius:4px; }
.japanese-page .takeout-card { border-radius:6px; background:#fffdfa; }
.japanese-page .takeout-card>span { font-size:16px; }
.japanese-page .takeout-card strong { font-family:inherit; font-size:32px; color:var(--ink); margin-top:10px; }
.japanese-page .takeout-card .yen { display:inline; color:var(--ink); font-size:17px; }
.japanese-page .room-photo-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.japanese-page .room-photo-grid img { width:100%; height:400px; object-fit:cover; border-radius:6px; }
.japanese-page .chef-portrait { min-height:350px; border:0; border-radius:6px; background:#e7ded0; }
.japanese-page .chef-portrait .seal { background:#554131; border-radius:6px; }
.japanese-page .chef-portrait:before { color:rgba(85,65,49,.06); }
.japanese-page .review-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.japanese-page .review-card { border:1px solid var(--line); border-radius:6px; padding:30px; background:#fffdfa; display:flex; flex-direction:column; }
.japanese-page .review-platform { font-size:14px; color:#72604c; }
.japanese-page blockquote { margin:16px 0 24px; }
.japanese-page blockquote p { font-family:"Yu Mincho",serif; font-size:23px; line-height:1.8; margin:0; }
.japanese-page .review-card figcaption { margin-top:auto; }
.japanese-page .review-card a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.japanese-page .review-note { font-size:14px; color:var(--muted); margin-top:18px; }
.japanese-page .media-list { margin-top:40px; }
.japanese-page .media-item { border-top:2px solid #a48c6c; background:transparent; border-radius:0; }
.japanese-page .visitor { background:#eee8de; color:var(--ink); }
.japanese-page .visitor .desc { color:var(--muted); }
.japanese-page .visitor-panel { border:1px solid var(--line); border-radius:6px; background:#faf8f3; }
.japanese-page .lang-links a { border-radius:4px; }
.japanese-page .phone-large { font-family:inherit; font-variant-numeric:lining-nums tabular-nums; font-size:clamp(28px,3vw,40px); color:var(--ink); font-weight:600; letter-spacing:.02em; }
.japanese-page .map { border-radius:6px; }
.japanese-page .map-shell { position:relative; height:440px; border:1px solid var(--line); border-radius:6px; background:var(--cream); overflow:hidden; }
.japanese-page .map-shell .map { position:relative; z-index:1; display:block; width:100%; height:100%; min-height:0; background:transparent; }
.japanese-page .map-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:26px; }
.japanese-page .map-placeholder strong { font-family:"Yu Mincho",serif; font-size:28px; }
.japanese-page .map-placeholder p { margin:12px 0 0; color:var(--muted); font-size:16px; }
.japanese-page .map-help { font-size:14px; color:var(--muted); margin:16px 0; }
.japanese-page .info-row { grid-template-columns:105px 1fr; gap:16px; }
.japanese-page .week { gap:6px; }
.japanese-page .day { border-radius:4px; font-size:14px; }
.japanese-page .day.open { color:#493c2f; background:#ebe2d4; }
.japanese-page .day.closed { color:#766e63; background:#f4f0e9; }
.japanese-page .arrival-photos { padding-top:0; }
.japanese-page .press { background:var(--paper); }
.japanese-page .press-box { border:1px solid #b9aa96; border-radius:6px; padding:30px; }
.japanese-page footer { background:#eae3d7; color:var(--ink); }
.japanese-page .footer-logo { background:transparent; padding:0; border-radius:0; width:280px; }
.japanese-page .copyright { border-top:1px solid #cbbdaa; color:#655b4e; }
.japanese-page .mobile-call { background:#554131; border-radius:6px; color:#fff; }
@media(min-width:981px) { .japanese-page .mobile-call { display:none; } }
@media(max-width:1100px) and (min-width:981px) {
  .japanese-page .nav { gap:12px; font-size:14px; }
  .japanese-page .logo { width:210px; }
  .japanese-page .hero-grid { gap:36px; }
  .japanese-page .price-card { padding:20px; gap:12px; }
  .japanese-page .price { font-size:28px; }
  .japanese-page .price-card h4 { font-size:16px; }
}
@media(max-width:980px) {
  .japanese-page .hero-grid { grid-template-columns:1fr; }
  .japanese-page .hero-visual .main-photo { height:auto; max-height:620px; object-fit:contain; }
  .japanese-page .hero-copy { max-width:650px; }
  .japanese-page .quick-grid { grid-template-columns:1fr; }
  .japanese-page .quick-item { border-right:0; border-bottom:1px solid var(--line); }
  .japanese-page .course-photo-grid { grid-template-columns:1fr; }
  .japanese-page .course-photo-grid img { height:auto; max-height:580px; object-fit:contain; }
  .japanese-page .room-photo-grid, .japanese-page .review-grid { grid-template-columns:1fr; }
  .japanese-page .room-photo-grid img { height:auto; }
}
@media(max-width:620px) {
  .japanese-page { font-size:16px; }
  .japanese-page .logo { max-width:48vw; width:180px; }
  .japanese-page .header .wrap { height:78px; gap:10px; }
  .japanese-page .phone-pill { padding:9px; }
  .japanese-page .phone-pill .cta-label { font-size:10px; }
  .japanese-page .phone-pill .cta-number { font-size:14px; }
  .japanese-page .hero { padding-top:32px; }
  .japanese-page .hero h1 { font-size:30px; }
  .japanese-page .hero .lead br { display:none; }
  .japanese-page .hero-menu { gap:16px; }
  .japanese-page .amount { font-size:27px; }
  .japanese-page .price { font-size:30px; }
  .japanese-page .price-card { grid-template-columns:1fr auto; padding:20px 16px; gap:12px; }
  .japanese-page .price-card h4 { font-size:16px; }
  .japanese-page .price-card p { font-size:14px; }
  .japanese-page .menu-label { display:block; }
  .japanese-page .menu-label>p { margin-top:10px; }
  .japanese-page .course-intro h3 { font-size:23px; }
  .japanese-page .info-row { grid-template-columns:1fr; gap:2px; }
  .japanese-page .mobile-call { min-height:62px; padding:8px; }
  .japanese-page .mobile-call .cta-label { font-size:12px; }
  .japanese-page .mobile-call .cta-number { font-size:22px; }
}

.japanese-page .chef-achievements {margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.japanese-page .chef-achievements h3 {font-size:23px;line-height:1.6}
.japanese-page .chef-achievements ul {list-style:none;padding:0}
.japanese-page .chef-achievements li {padding:16px 0;border-bottom:1px solid var(--line)}
.japanese-page .chef-achievements li p {margin:8px 0 0}
.japanese-page .chef-achievements a {text-decoration:underline;text-underline-offset:4px}
.japanese-page .dish-title{display:block;font-size:24px;letter-spacing:.08em;line-height:1.5;margin-bottom:8px}
.japanese-page .dish-description{display:block;font-size:17px;line-height:1.8;color:var(--muted)}
.japanese-page .news-rows a{display:grid;grid-template-columns:110px 1fr 24px;gap:20px;padding:22px 0;border-top:1px solid var(--line);align-items:center}
.japanese-page .news-rows a:last-child{border-bottom:1px solid var(--line)}
.japanese-page .news-rows span{font-size:16px;color:var(--muted)}
.japanese-page .news-rows strong{font-size:19px;font-weight:600}
.japanese-page .commitments article{border-top:1px solid var(--line);padding:20px 0}
.japanese-page .commitments h3{font-size:23px;margin:0 0 12px}
.japanese-page .commitments p{margin:0}
@media(max-width:620px){.japanese-page .news-rows a{grid-template-columns:1fr 20px;gap:8px}.japanese-page .news-rows span{grid-column:1/-1}.japanese-page .news-rows strong{font-size:18px}}
/* Mobile-first readability revision */
body.japanese-page, body.japanese-page * {
 font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP","MS PMincho",serif!important;
 font-variant-numeric:lining-nums tabular-nums;
}
body.japanese-page {font-size:18px;line-height:1.85;padding-bottom:110px}
body.japanese-page :is(p,small,figcaption,.note,.price-note,.kicker,.eyebrow,.review-platform,.review-note,.map-help,.proof-row span,.occasion-item span,.media-item a,.review-card a,.menu-label p,.price-card p,.hero-tea,.hero-menu>div>span,.copyright){font-size:16px}
body.japanese-page .hero .lead,body.japanese-page .desc{font-size:18px}
body.japanese-page .utility-info,body.japanese-page .week{display:none}
body.japanese-page .hours-link{font-size:16px;font-weight:700;text-decoration:underline}
body.japanese-page .header .wrap{height:82px}
body.japanese-page .hero{padding-top:24px}
body.japanese-page .quick{margin-top:28px}
body.japanese-page .opening-panel{background:#eee8de;border-top:3px solid #554131;padding:24px}
body.japanese-page .opening-panel h2{font-size:22px;margin:0 0 18px}
body.japanese-page .opening-times{display:grid;gap:12px}
body.japanese-page .opening-times>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid #d5cbbb}
body.japanese-page .opening-times span{font-size:18px;font-weight:700}
body.japanese-page .opening-times strong{font-size:26px;white-space:nowrap}
body.japanese-page .closed-days{font-size:19px;margin:16px 0}
body.japanese-page .opening-panel>a{font-size:16px}
body.japanese-page .course-card{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:26px}
body.japanese-page .course-card h4{font-size:22px}
body.japanese-page .course-card .price{font-size:34px}
body.japanese-page .course-contents{border-top:1px solid var(--line);padding-top:20px}
body.japanese-page .course-contents h5{font-size:18px;margin:0 0 12px}
body.japanese-page .course-contents ol{list-style:none;margin:0;padding:0}
body.japanese-page .course-contents li{padding:10px 0;border-bottom:1px solid #e6dfd5;font-size:18px}
body.japanese-page .course-contents li:last-child{border:0}
body.japanese-page .course-contents p{margin:16px 0 0}
body.japanese-page .dish-name-pending{display:block;font-size:16px;color:var(--muted)}
body.japanese-page .news-heading{margin-top:42px;font-size:26px}
body.japanese-page .latest-news{background:#f0ebe2}
body.japanese-page .mobile-call{display:flex;position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:100;min-height:74px;padding:10px 20px;box-shadow:0 3px 20px #30292326;max-width:460px;margin-inline:auto;border:1px solid #fff6}
body.japanese-page .mobile-call .cta-label{font-size:16px}
body.japanese-page .mobile-call .cta-number{font-size:24px}
body.japanese-page footer{padding-bottom:45px}
body.japanese-page [id]{scroll-margin-top:100px}
@media(min-width:981px){
 body.japanese-page .opening-times{grid-template-columns:1fr 1fr;gap:40px}
 body.japanese-page .mobile-call{left:auto;right:24px;width:340px}
}
@media(max-width:980px){
 body.japanese-page .nav{display:flex;gap:18px}
 body.japanese-page .nav a[href="#menu"],body.japanese-page .nav a[href="#access"]{display:block;font-size:16px}
 body.japanese-page .nav a[href="#menu"]{font-size:0}
 body.japanese-page .nav a[href="#menu"]:after{content:"メニュー";font-size:16px}
 body.japanese-page .hero-grid{gap:26px}
 body.japanese-page .hero h1{font-size:30px}
 body.japanese-page .hero .lead{font-size:17px}
 body.japanese-page .price-grid{grid-template-columns:1fr}
 body.japanese-page section{padding-block:48px}
 body.japanese-page .hero{padding-top:24px;padding-bottom:0}
 body.japanese-page .logo{width:165px;max-width:45vw}
 body.japanese-page .header .wrap{gap:12px}
 body.japanese-page .languages{flex-wrap:wrap}
 body.japanese-page .languages a{font-size:14px;min-height:32px;display:inline-flex;align-items:center}
 body.japanese-page .hero-visual .main-photo{max-height:380px}
 body.japanese-page .quick{margin-top:24px}
 body.japanese-page .opening-panel{padding:22px 18px}
 body.japanese-page .opening-times strong{font-size:24px}
 body.japanese-page .hero-actions{margin-top:18px}
 body.japanese-page .title{font-size:27px}
 body.japanese-page .room-photo-grid,body.japanese-page .review-grid{gap:22px}
 body.japanese-page .info-row dt,body.japanese-page .info-row dd{font-size:18px}
 body.japanese-page .press-box{padding:22px}
 body.japanese-page .hero-menu{gap:16px}
}
@media(max-width:360px){
 body.japanese-page .nav{gap:10px}
 body.japanese-page .logo{width:145px}
 body.japanese-page .opening-times strong{font-size:22px}
}
