@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Shippori+Mincho+B1:wght@400;500;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
:root{--paper:#f4eee4;--ink:#2d2923;--brown:#5b4333;--line:#cfc5b7;--muted:#80776c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans","Yu Gothic UI",Meiryo,sans-serif;line-height:1.75}.sample-note{padding:7px 18px;text-align:center;background:#33281f;color:#faf6ed;font-size:11px;letter-spacing:.03em}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,7vw,118px);border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.05;text-decoration:none}.brand span{font-family:"Noto Serif JP",serif;font-size:15px;font-weight:500;letter-spacing:.04em}nav{display:flex;gap:30px}nav a,.reserve-link{color:var(--ink);font-size:12px;text-decoration:none}.reserve-link{padding-bottom:4px;border-bottom:1px solid var(--ink);font-weight:700}.reserve-link b{margin-left:8px}.hero{max-width:1440px;margin:auto;min-height:650px;display:grid;grid-template-columns:minmax(310px,.82fr) minmax(450px,1.18fr)}.hero-copy{position:relative;display:flex;justify-content:center;flex-direction:column;padding:90px clamp(30px,7vw,115px)}.vertical-copy{position:absolute;top:76px;left:28px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.15em;color:var(--muted)}h1,h2,h3{font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:500}.hero h1{font-size:clamp(42px,4.6vw,72px);letter-spacing:-.06em;line-height:1.27;margin:0 0 26px}.hero h1 em{font-style:normal;color:var(--brown)}.hero-copy>p:not(.vertical-copy){font-size:14px;margin:0 0 30px;color:#625a51}.solid-button{display:inline-flex;align-items:center;gap:28px;align-self:flex-start;padding:15px 18px;background:var(--ink);color:#fff;text-decoration:none;font-size:12px;font-weight:700;transition:transform .2s ease,background .2s ease}.solid-button b{font-size:18px}.hero-photo{position:relative;margin:0;background:url("assets/hero-cafe.png") center/cover no-repeat}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,34,24,.08),transparent 40%)}.hero-photo figcaption{position:absolute;z-index:1;bottom:22px;right:22px;color:#fff;font-size:9px;letter-spacing:.14em;writing-mode:vertical-rl}.opening,.menu,.ritual,.visit,.faq,.reservation{max-width:1180px;margin:auto;padding:clamp(80px,11vw,156px) clamp(24px,5vw,64px)}.opening{display:grid;grid-template-columns:1.05fr .85fr 44px;gap:clamp(35px,8vw,110px);border-top:1px solid var(--line)}.opening-title>p,.rule-heading p,.ritual>div>p,.visit>div>p,.faq>p{font-size:12px;font-weight:700;letter-spacing:.1em;margin:0 0 25px}.opening h2,.menu h2,.ritual h2,.visit h2,.reservation h2{font-size:clamp(34px,3.3vw,48px);line-height:1.35;letter-spacing:-.055em;margin:0}.opening-copy{font-size:14px;color:#625a51;padding-top:60px}.opening-copy p{margin:0 0 22px}.opening blockquote{margin:42px 0 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"Noto Serif JP",serif;font-size:18px;color:var(--ink)}.opening cite{display:block;margin-top:13px;color:var(--muted);font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;font-style:normal}.vertical-jp{writing-mode:vertical-rl;font-family:"Noto Serif JP",serif;font-size:15px;color:var(--brown);letter-spacing:.14em}.menu{border-top:1px solid var(--line)}.rule-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.rule-heading p{margin:0}.rule-heading span{font-size:10px;color:var(--muted);letter-spacing:.12em}.menu-lead{display:flex;justify-content:space-between;gap:30px;padding:55px 0}.menu-lead p{max-width:260px;align-self:end;color:var(--muted);font-size:12px;margin:0}.menu-list{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.menu-list li{display:grid;grid-template-columns:48px 1fr auto;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .2s ease}.menu-list li:hover{padding-left:13px}.menu-list span{font-size:10px;color:var(--muted)}.menu-list h3{font-size:21px;margin:0 0 3px}.menu-list p{font-size:12px;color:var(--muted);margin:0}.menu-list strong{font-size:16px}.menu-list small{display:block;font-size:9px;font-weight:500;color:var(--muted)}.text-button{display:inline-block;margin-top:35px;color:var(--ink);font-size:12px;font-weight:700;text-underline-offset:7px}.text-button b{font-size:18px;margin-left:9px}.ritual{display:grid;grid-template-columns:80px 1fr 1fr;gap:45px;border-top:1px solid var(--line)}.ritual-number{font-size:12px;color:var(--brown)}.ritual-list{padding-top:40px}.ritual-list p{padding:15px 0;margin:0;border-bottom:1px solid var(--line);font-size:13px}.ritual-list b{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.1em}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;border-top:1px solid var(--line)}.visit-info{padding-top:45px}.visit-info p{padding:13px 0;margin:0;border-bottom:1px solid var(--line);font-size:12px}.visit-info b{font-size:10px;letter-spacing:.1em}.faq{max-width:820px;border-top:1px solid var(--line)}.faq details{padding:19px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:14px;font-weight:700;cursor:pointer}.faq details div{padding:15px 0 0;color:var(--muted);font-size:12px}.reservation{text-align:center;border-top:1px solid var(--line)}.reservation>p{font-size:10px;letter-spacing:.12em;margin:0 0 20px}.reservation h2{margin-bottom:35px}.reservation .solid-button{margin:auto}.reservation small{display:block;margin-top:15px;color:var(--muted);font-size:10px}footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:35px clamp(24px,7vw,118px);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}footer p{margin:0}.solid-button:hover{transform:translateY(-3px);background:var(--brown)}a:focus-visible,summary:focus-visible{outline:3px solid var(--brown);outline-offset:5px}@media(max-width:720px){header{height:70px;padding:0 18px}nav{display:none}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{min-height:480px;padding:70px 32px}.vertical-copy{display:none}.hero h1{font-size:46px}.hero-photo{height:390px}.opening,.ritual,.visit{grid-template-columns:1fr;gap:28px}.opening-copy{padding-top:0}.vertical-jp{display:none}.menu-lead{display:block;padding:35px 0}.menu-lead p{margin-top:18px}.menu-list li{grid-template-columns:30px 1fr}.menu-list strong{grid-column:2}.ritual-list{padding-top:0}.visit-info{padding-top:0}footer{display:block}footer p{margin-top:12px}}
/* 第4ラウンド：カフェ固有の版面・リズム（共通指定はしない） */
body{font-family:"Zen Kaku Gothic New","Yu Gothic UI",sans-serif}h1,h2,h3,.brand span,.vertical-jp{font-family:"Shippori Mincho B1","Yu Mincho",serif}.hero{grid-template-columns:minmax(430px,.94fr) minmax(450px,1.06fr)}.hero-copy{padding-inline:clamp(100px,8vw,115px)}.hero h1{font-size:clamp(38px,3.35vw,48px);line-height:1.38;letter-spacing:-.035em}.opening,.menu,.ritual,.visit,.reservation{border-top:0}.opening{padding:170px clamp(24px,5vw,64px) 400px}.menu{padding:0 clamp(24px,5vw,64px) 150px}.ritual{padding:0 clamp(24px,5vw,64px) 400px}.visit{padding:0 clamp(24px,5vw,64px) 150px;grid-template-columns:.92fr 1.08fr;gap:70px}.reservation{padding:0 clamp(24px,5vw,64px) 150px}.menu-lead{align-items:flex-end;padding:54px 0}.menu-lead>div{display:flex;gap:48px;align-items:flex-end;justify-content:space-between;flex:1}.menu-photo{margin:0;width:300px;aspect-ratio:1.14;overflow:hidden}.menu-photo img,.visit-photo img{display:block;width:100%;height:100%;object-fit:cover}.visit-copy{display:grid;gap:48px}.visit-info{padding:0}.visit-photo{margin:0;align-self:end;width:100%;aspect-ratio:1.28;overflow:hidden}.reservation{text-align:left}.reservation .solid-button{margin:0}.reservation h2{line-height:1.4}.opening h2,.menu h2,.ritual h2,.visit h2{letter-spacing:-.03em;line-height:1.42}.opening-copy{font-size:15px;max-width:430px}.opening blockquote{font-family:"Shippori Mincho B1",serif}@media(max-width:720px){.hero{display:flex;flex-direction:column}.hero-copy{order:1;min-height:auto;padding:72px 28px 58px}.hero-photo{order:2;height:300px;min-height:300px}.hero h1{font-size:38px;line-height:1.42}.opening{padding:100px 24px 260px}.menu{padding:0 24px 115px}.ritual{padding:0 24px 260px}.visit{padding:0 24px 115px;grid-template-columns:1fr;gap:34px}.reservation{padding:0 24px 115px}.menu-lead,.menu-lead>div{display:block}.menu-photo{width:100%;margin-top:28px}.visit-copy{gap:32px}.opening h2,.menu h2,.ritual h2,.visit h2,.reservation h2{font-size:34px;line-height:1.42}}
/* 和文の折り返し規則（第3ラウンド【S】。style.cssへのマージ時に脱落していたため復旧 2026-07-28） */
h1,h2,h3,p,li,blockquote,summary,dd,dt,figcaption{word-break:auto-phrase;line-break:strict;overflow-wrap:normal}
h1,h2,h3{text-wrap:balance}
p,blockquote,summary,dd{text-wrap:pretty}
