@charset "UTF-8";
:root{--paper:#f1ead8;--ink:#1c1c19;--muted:#696153;--red:#a5382b;--line:#36332e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.7;background-image:radial-gradient(#463e2c12 .5px,transparent .6px);background-size:5px 5px}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.skip{position:absolute;top:-100px;left:1rem;z-index:10;background:#fff;padding:.7rem}.skip:focus{top:1rem}.topline{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 3vw;border-bottom:1px solid var(--line);font:700 .6rem Arial,sans-serif;letter-spacing:.16em}.masthead{padding:1rem 3vw 0;text-align:center}.masthead-meta,.masthead-bottom,.issue-bar,.section-ruler,figcaption,.front-brief>span,.story-kicker,.menu-heading>div>p,.visit-heading>span,.visit-card-label,.classified h3,footer{font-family:Arial,sans-serif;letter-spacing:.13em}.masthead-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.65rem;padding:.6rem 0}.paper-title{display:block;font-weight:900;font-size:clamp(5rem,11vw,11rem);line-height:1.2;letter-spacing:-.08em;text-decoration:none}.paper-title em{font-style:normal;color:var(--red)}.masthead-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-block:5px double var(--line);padding:.7rem 0;font-size:.7rem}.masthead-bottom nav{display:flex;gap:2rem}.masthead-bottom a{text-decoration:none}.masthead-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.front,.story,.menu,.visit,.classified{padding:0 3vw}.issue-bar,.section-ruler{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0;font-size:.63rem}.front h1{font-weight:900;font-size:clamp(4.2rem,8vw,9rem);line-height:1.18;letter-spacing:-.08em;text-align:center;margin:1.5rem 0;border-bottom:2px solid var(--line);padding-bottom:1.3rem}.front h1 i{font-style:normal;color:var(--red)}.front-grid{display:grid;grid-template-columns:23% 1fr 17%;gap:2vw;padding-bottom:4rem}.front-lead{border-right:1px solid var(--line);padding-right:2vw}.front-lead p{font-size:.94rem}.front-lead .dropcap:first-letter{float:left;font-size:5rem;line-height:.9;padding:.3rem .5rem 0 0;color:var(--red);font-weight:900}.front-lead a{display:inline-block;border-top:2px solid var(--line);padding-top:.7rem;margin-top:1rem;text-decoration:none;font-weight:900}.front-stamp{font:900 clamp(2rem,4vw,4rem)/.9 Georgia,serif;color:var(--red);border:5px double var(--red);width:max-content;max-width:100%;padding:1rem;transform:rotate(-8deg);margin:3rem 0}.front-photo{margin:0}.front-photo img{width:100%;height:580px;object-fit:cover;filter:sepia(.18) contrast(1.05)}figcaption{font-size:.6rem;border-bottom:1px solid var(--line);padding:.6rem 0}.front-brief{border-left:1px solid var(--line);padding-left:2vw}.front-brief>span{font-size:.63rem;font-weight:800;color:var(--red)}.front-brief ol{padding-left:1.2rem;border-block:2px solid var(--line);margin:1rem 0}.front-brief li{border-bottom:1px solid #a9a08e;padding:1rem 0;font-size:.9rem}.front-brief li:last-child{border:0}.front-brief li a{text-decoration:none}.front-brief p{font-size:.75rem}.story{border-top:7px solid var(--line);padding-bottom:6rem}.story-layout{display:grid;grid-template-columns:20% 1fr 25%;gap:3vw;padding-top:4rem}.story-kicker{font-size:.7rem;color:var(--red)}.story h2,.menu h2,.visit h2,.classified h2{font-weight:900;font-size:clamp(3rem,5vw,6rem);line-height:1.22;letter-spacing:-.07em;margin:0 0 2rem}.story-columns{columns:2;column-gap:2rem;column-rule:1px solid var(--line)}.story-columns p{margin:0 0 1rem;font-size:.94rem;line-height:2}.story blockquote{border-left:5px solid var(--red);padding-left:1.5rem;margin:0;font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:900}.menu{background:#e9dfc9;border-top:7px solid var(--line);padding-bottom:7rem}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding:4rem 0 2rem}.menu-heading>div>p{font-size:.67rem;color:var(--red)}.menu-heading>p{max-width:18rem;font-size:.88rem}.menu-layout{display:grid;grid-template-columns:42% 1fr;gap:3vw;align-items:start}.menu-layout figure{margin:0}.menu-layout img{height:590px;width:100%;object-fit:cover;filter:sepia(.18)}.menu-paper{border:4px double var(--line);padding:1.2rem 2vw;min-height:590px;background:#f5eedf;perspective:1000px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:3px solid var(--line)}.tabs button{border:0;border-right:1px solid var(--line);background:transparent;padding:1rem .2rem;cursor:pointer;font-size:1rem;font-weight:900}.tabs button:last-child{border-right:0}.tabs button[aria-pressed=true]{background:var(--red);color:#fff}.menu-item{display:grid;grid-template-columns:1fr auto;gap:1rem;border-bottom:1px solid var(--line);padding:1.2rem .2rem;animation:pageIn .45s ease-out both;transform-origin:left center}.menu-item:nth-child(2){animation-delay:.08s}.menu-item:nth-child(3){animation-delay:.16s}@keyframes pageIn{from{opacity:0;transform:rotateY(-25deg) translateX(-15px)}to{opacity:1;transform:rotateY(0) translateX(0)}}.menu-item h3{font-size:1.35rem;margin:0}.menu-item p{margin:.3rem 0 0;font-size:.82rem}.menu-item strong{white-space:nowrap;font-size:.9rem}.menu-disclaimer{font-size:.75rem;margin-top:2rem}.visit{border-top:7px solid var(--line);padding-bottom:7rem}.visit-heading{text-align:center;max-width:1000px;margin:4rem auto}.visit-heading>span{font-size:.66rem;color:var(--red)}.visit-heading h2{margin:1.5rem 0}.visit-heading p{max-width:45rem;margin:auto}.visit-layout{display:grid;grid-template-columns:1fr 1fr;border-block:3px solid var(--line)}.choices{padding:3rem 3vw 3rem 0;border-right:1px solid var(--line)}.choice-group{border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2rem}.choice-group h3{font:800 .7rem Arial,sans-serif;letter-spacing:.13em;color:var(--red)}.choice-row{display:flex;gap:.5rem;flex-wrap:wrap}.choice-row button,.reset{background:transparent;border:1px solid var(--line);padding:.8rem 1rem;cursor:pointer;font-size:.84rem}.choice-row button small{display:block;font:600 .65rem Arial,sans-serif}.choice-row button[aria-pressed=true]{background:var(--ink);color:#fff}.choice-row button:hover,.reset:hover{background:var(--red);color:#fff}.reset{border:0;text-decoration:underline}.visit-card{padding:3rem 3vw;animation:pageIn .4s ease-out;background:#f6f0e2}.visit-card-label{font-size:.63rem;color:var(--red)}.visit-card h3{font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.3}.visit-card>p{font-size:.9rem}.visit-card dl{border-top:2px solid var(--line)}.visit-card dl div{display:grid;grid-template-columns:40% 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:.8rem 0}.visit-card dt{font-weight:900}.visit-card dd{margin:0}.visit-card .card-note{font-size:.75rem;border-top:1px solid var(--line);padding-top:.8rem}.classified{border-top:7px solid var(--line);padding-bottom:7rem}.classified-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:2vw;padding-top:4rem}.classified h2{font-size:clamp(2.5rem,4vw,4rem)}.classified-grid>div{border-left:1px solid var(--line);padding-left:1rem}.classified h3{font-size:.72rem;color:var(--red)}.classified p{font-size:.84rem}footer{display:flex;justify-content:space-between;gap:1rem;border-top:5px double var(--line);padding:1.5rem 3vw;font-size:.63rem}footer a{text-decoration:none}
@media(max-width:1050px){.front-grid{grid-template-columns:1fr 2fr}.front-brief{grid-column:1/3;border-top:1px solid var(--line);border-left:0;padding:2rem 0}.front-brief ol{display:flex;gap:2rem;list-style:none;padding:0}.front-brief li{border:0}.story-layout{grid-template-columns:1fr 3fr}.story blockquote{grid-column:2}.classified-grid{grid-template-columns:1fr 1fr}.menu-layout{grid-template-columns:1fr}.menu-layout img{height:480px}}
@media(max-width:650px){.topline{font-size:.5rem}.topline span:nth-child(2),.masthead-meta span:first-child,.masthead-bottom>span{display:none}.masthead-meta{justify-content:center}.paper-title{font-size:clamp(4.5rem,15vw,7rem)}.masthead-bottom{font-size:.55rem}.masthead-bottom nav{gap:.7rem}.issue-bar span:nth-child(2){display:none}.front h1{font-size:clamp(3.7rem,13vw,6rem)}.front-grid{grid-template-columns:1fr}.front-lead{border-right:0;border-bottom:1px solid var(--line);padding:0 0 2rem}.front-stamp{display:none}.front-photo img{height:380px}.front-brief{grid-column:1}.front-brief ol{display:block}.story-layout{grid-template-columns:1fr}.story blockquote{grid-column:1}.story-columns{columns:1}.story h2,.menu h2,.visit h2{font-size:clamp(2.7rem,10vw,4.5rem)}.menu-heading{display:block}.menu-layout img{height:330px}.menu-paper{padding:1rem;min-height:0}.tabs button{font-size:.77rem}.visit-layout{grid-template-columns:1fr}.choices{border-right:0;border-bottom:1px solid var(--line);padding:2rem 0}.visit-card{padding:2rem 1rem}.classified-grid{grid-template-columns:1fr}.classified-grid>div{border-left:0;border-top:1px solid var(--line);padding:1rem 0}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-item,.visit-card{animation:none}}

/* 日本語の行頭禁則と短い最終行を抑える */
h1,h2,h3{line-break:strict;text-wrap:balance}p{line-break:strict;text-wrap:pretty}

/* Newspaper headline and coffee making scene lead the first page. */
.masthead .paper-title{font-size:clamp(3.4rem,8vw,7.2rem)}
.front h1{text-align:left;font-size:clamp(5rem,8vw,8rem);line-height:1.05;margin:1rem 0;padding-bottom:.8rem}
.front h1 i{display:inline-block;vertical-align:middle;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:700;letter-spacing:0;margin-left:1.5rem}
.front-photo img{height:520px;object-position:center 55%}
@media(max-width:650px){
  .masthead .paper-title{font-size:clamp(3rem,11vw,4.7rem);line-height:1.1}
  .masthead-meta{padding:.2rem 0}
  .masthead-bottom{padding:.45rem 0}
  .front h1{font-size:clamp(3.7rem,14vw,5.5rem);margin:.65rem 0 .5rem}
  .front h1 i{display:block;font-size:clamp(1.4rem,5.5vw,2rem);margin:.35rem 0 0}
  .front-photo{grid-row:1;grid-column:1}
  .front-lead{grid-row:2;grid-column:1}
  .front-brief{grid-row:3;grid-column:1}
  .front-photo img{height:320px;object-position:center 52%}
}
