@import url('/assets/fonts/use.typekit.net/rrj4asi.css');
@import url('/assets/fonts/fonts.googleapis.com/ad68b0e6ea29-css2.css');
:root{--rail:8.333vw;--ink:#333;--paper:#fbfbfb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;letter-spacing:.07em;line-height:1.8;background:white}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid #5c813f;outline-offset:6px}main,footer{margin-right:var(--rail)}.skip{position:fixed;left:20px;top:-80px;padding:12px;background:white;z-index:50}.skip:focus{top:15px}.mobile-header,.mobile-only{display:none}.rail{position:fixed;right:0;top:0;width:var(--rail);height:100svh;z-index:15;display:flex;flex-direction:column}.menu-button{width:100%;height:62%;background:#252323;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.menu-button img{width:68px;height:68px}.menu-button span,.brew-shortcut span{font-family:futura-pt,sans-serif;font-size:12px;letter-spacing:.14em;font-weight:500}.brew-shortcut{background:white;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.brew-shortcut img{width:36px;height:36px}.hero{height:100svh;min-height:640px;position:relative;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:65% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#00000035,#00000012 64%)}.hero-copy{position:absolute;left:10.51%;top:50%;transform:translateY(-50%);color:white}.hero-brand{font-family:futura-pt,sans-serif;font-size:clamp(62px,5.4vw,96px);font-weight:500;letter-spacing:.34em;line-height:1}.hero-origin{font-size:17px;font-weight:700;letter-spacing:.5em;margin:30px 0 24px}.hero h1{font-size:16px;font-weight:500;letter-spacing:.2em;margin:0 0 13px}.hero-lead{font-size:11px;letter-spacing:.08em;line-height:2}.scroll-link{display:flex;align-items:center;gap:16px;margin-top:35px;font-family:futura-pt,sans-serif;font-size:12px;letter-spacing:.14em}.scroll-link span{width:60px;height:1px;background:white}.hero-progress{position:absolute;left:4.2%;top:13.25%;height:53.5%;width:2px;background:#ffffff45}.hero-progress span{display:block;width:100%;height:40%;background:white}.section{padding:10.625% 9.375% 0}.section .inner{padding-bottom:10.625%;border-bottom:1px solid #b3b3b3}.section-kicker{font-family:futura-pt,sans-serif;font-size:14px;letter-spacing:.14em;margin:0 0 23px;font-weight:300}.section-kicker span{margin-right:20px}.section-english{font-family:futura-pt,sans-serif;font-size:clamp(36px,3.9vw,74px);font-weight:500;line-height:1.1;letter-spacing:.1em}.section-heading h2{position:relative;font-size:18px;font-weight:700;letter-spacing:.25em;margin:64px 0 26px}.section-heading h2:before{content:'';position:absolute;top:-30px;left:0;width:44px;height:4px;background:#333}.landscape{width:100%;aspect-ratio:3.37;object-fit:cover;margin-bottom:45px}.statement{font-size:14px;line-height:3.1;letter-spacing:.2em}.statement p{margin:0 0 20px}.statement p:last-child{margin:25px 0 0}.product-name{font-weight:700;font-size:22px;letter-spacing:.3em;padding-left:65px;position:relative;margin:50px 0 22px}.product-name:before{content:'';width:45px;height:1px;background:#333;position:absolute;left:0;top:50%}.panel{display:grid;grid-template-columns:62% 38%;min-height:570px}.panel[hidden]{display:none}.product-image{overflow:hidden;margin-right:6px}.product-image img{width:100%;height:100%;object-fit:cover;object-position:center}.product-text{background:#fbfbfb;padding:55px 32px 30px;text-align:center;font-size:12px;line-height:2.4}.panel-english{font-family:futura-pt,sans-serif;font-weight:500;font-size:28px;letter-spacing:.14em;line-height:1.2;margin:0 0 22px}.panel-number{font-size:12px;letter-spacing:.15em}.product-text h3{font-size:19px;letter-spacing:.18em;margin:20px 0 27px}.product-text>p:not(.panel-english):not(.panel-number){text-align:left}.facts{border-top:1px solid #ddd;margin-top:30px;padding-top:17px;display:flex;justify-content:space-around;font-size:11px}.facts dd{margin:8px 0}.product-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.product-tabs button{display:flex;align-items:center;justify-content:center;gap:17px;min-height:82px;background:#f0f0f0;font-size:12px;letter-spacing:.08em;transition:background .25s}.product-tabs button img{width:27px;height:30px;filter:brightness(0);opacity:.6}.product-tabs button[aria-selected=true]{background:#333;color:white}.product-tabs button[aria-selected=true] img{filter:brightness(0) invert(1);opacity:1}.taste{display:flex;flex-direction:column;justify-content:center}.taste h3{font-size:24px;line-height:2.5}.taste>p:not(.panel-english){text-align:center!important}.brew{padding:34px 22px 25px}.brew h3{font-size:16px;margin-bottom:20px}.brew ol{padding-left:1.5em;text-align:left;font-size:11px;line-height:2.4}.servings{font-size:10px;text-align:right!important}.brew-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:10px;margin:25px 0}.brew-facts img{height:26px;width:26px;margin:15px auto}.brew-facts dd{margin:0;white-space:nowrap;font-size:11px;font-family:futura-pt,sans-serif}.brew-more{font-size:10px;line-height:2.2}.closing{text-align:center;padding:100px 9.375% 55px}.closing>p{font-size:17px;letter-spacing:.18em;line-height:2.4}.closing a{display:inline-block;margin-top:60px}.closing img{width:135px}.closing .closing-origin{font-size:12px;margin-top:15px}footer{text-align:center;padding:0 20px 40px}footer small{font-family:futura-pt,sans-serif;font-size:11px;letter-spacing:.12em}.image-note{font-size:9px;color:#888;margin-top:35px}dialog{padding:0;border:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;color:#333;background:#fff;z-index:30}dialog::backdrop{background:#ffffff}.close-menu{position:absolute;right:6%;top:45px;background:none;font-family:futura-pt,sans-serif;font-size:13px;letter-spacing:.12em;display:flex;align-items:center;gap:22px}.close-menu span{font-size:32px;font-weight:300}.menu-layout{max-width:1000px;margin:auto;min-height:100%;display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center;padding:100px 55px}.menu-brand{text-align:center}.menu-brand img{width:230px;margin:auto}.menu-brand p{font-size:12px;letter-spacing:.2em;margin-top:30px}nav a{display:block;margin:30px 0}nav a>span{font-family:futura-pt,sans-serif;font-size:34px;font-weight:500;letter-spacing:.17em}nav small{display:block;font-size:12px;color:#888;letter-spacing:.1em;margin:4px 0 0 45px}.menu-signature{font-size:12px;margin-top:65px;letter-spacing:.15em}
@media(min-width:1600px){.product-text{padding:70px 50px 35px;font-size:14px}.panel{min-height:640px}}
@media(max-width:1100px) and (min-width:768px){.panel{grid-template-columns:1fr}.product-image{height:500px;margin:0 0 6px}.product-text{padding:45px 13%;min-height:380px}.brew-more{font-size:12px}}
@media(max-width:767px){:root{--rail:0px}html{scroll-padding-top:20px}body{font-size:12px;padding-bottom:66px}.mobile-only{display:block}.mobile-header{display:flex;height:105px;align-items:center;justify-content:center;text-align:center}.brand{font-family:futura-pt,sans-serif;font-size:28px;letter-spacing:.32em;line-height:1}.brand-sub{display:block;font-size:8px;letter-spacing:.25em;margin-top:6px}.rail{left:0;top:auto;bottom:0;width:100%;height:66px;flex-direction:row}.menu-button{width:50%;height:100%;order:2;flex-direction:row;gap:12px}.menu-button img{width:37px;height:37px}.brew-shortcut{width:50%;background:#999;color:white;flex-direction:row;gap:13px}.brew-shortcut img{width:25px;height:25px;filter:invert(1)}.brew-shortcut br{display:none}.menu-button span,.brew-shortcut span{font-size:11px}.hero{height:calc(100svh - 171px);min-height:600px}.hero-photo{object-position:66% 50%}.hero-shade{background:linear-gradient(90deg,#00000038,#00000008)}.hero-copy{left:10%;top:43%;transform:translateY(-50%);width:82%}.hero-brand{font-size:52px;letter-spacing:.22em}.hero-origin{font-size:14px;margin:20px 0 22px}.hero h1{font-size:16px;max-width:200px;line-height:2;letter-spacing:.16em}.hero-lead{font-size:10px;max-width:235px;line-height:2.3}.scroll-link{margin-top:30px;font-size:10px}.scroll-link span{width:40px}.hero-progress{left:4%;top:20%;height:55%}.section{padding:80px 6% 0}.section .inner{padding-bottom:75px}.section-kicker{font-size:11px;letter-spacing:.1em;margin-bottom:20px}.section-kicker span{margin-right:10px}.section-english{font-size:34px;letter-spacing:.06em;line-height:1.15}.section-heading h2{font-size:14px;letter-spacing:.12em;margin:56px 0 25px}.section-heading h2:before{top:-26px;width:32px;height:3px}.landscape{aspect-ratio:1.5;object-fit:cover;margin-bottom:33px}.statement{font-size:12px;line-height:2.8;letter-spacing:.09em}.statement p{margin-bottom:23px}.statement br{display:none}.product-name{font-size:17px;padding-left:45px;letter-spacing:.2em;margin-top:35px}.product-name:before{width:32px}.panel{grid-template-columns:1fr;min-height:0}.product-image{height:330px;margin:0 0 6px}.product-text{padding:40px 9% 35px;font-size:12px;min-height:410px}.product-text h3{font-size:18px}.panel-english{font-size:27px}.product-tabs{gap:4px}.product-tabs button{flex-direction:column;gap:10px;min-height:90px;padding:12px 3px;font-size:10px;letter-spacing:0}.product-tabs button img{width:22px;height:24px}.brew{padding:35px 7% 30px}.brew-facts{gap:10px;font-size:11px}.brew-facts img{width:30px;height:30px}.brew-facts dd{font-size:14px}.brew-more{font-size:11px}.brew ol{font-size:12px}.taste{min-height:410px}.closing{padding:70px 6% 30px}.closing>p{font-size:15px;letter-spacing:.13em}.closing a{margin-top:35px}.closing img{width:110px}.menu-layout{padding:70px 10% 90px;display:block}.menu-brand img{width:100px}.menu-brand p{margin-top:10px;font-size:10px}.close-menu{top:16px;right:7%;font-size:10px;gap:12px}.close-menu span{font-size:26px}nav{margin-top:30px}nav a{margin:24px 0}nav a>span{font-size:25px;letter-spacing:.12em}nav small{font-size:10px;margin-left:33px}.menu-signature{font-size:10px;margin-top:40px}footer{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* v3: photo sequence, origin and charcoal footer */
.hero-slides{position:absolute;inset:0;background:#25272a}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease;object-position:center}.hero-slide.is-active{opacity:1}.hero-slide[data-scene=woodland]{object-position:68% center}.hero-slide[data-scene=box]{object-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(12,17,17,.42),rgba(12,17,17,.08) 80%)}.slide-controls{position:absolute;bottom:6.5%;left:10.51%;display:flex;align-items:center;gap:15px;color:#fff;font-family:futura-pt,sans-serif;font-size:12px;letter-spacing:.1em}.slide-controls button{background:transparent;color:white;padding:8px;font-size:17px;min-width:30px}.slide-controls button:hover{background:#ffffff1a}.slide-controls .slide-pause{margin-left:12px;font-size:13px}.hero-progress span{height:0;animation:hero-progress 7s linear infinite}.hero.is-paused .hero-progress span{animation-play-state:paused}@keyframes hero-progress{from{height:0}to{height:100%}}.feature-row{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;align-items:center;margin-top:75px}.feature-row.reverse .feature-copy{order:2}.feature-row.reverse figure{order:1}.feature-number{font-family:futura-pt,sans-serif;font-size:38px;line-height:1;letter-spacing:.12em;margin:0 0 20px}.feature-copy h3{font-size:19px;letter-spacing:.12em;line-height:1.8;margin:0 0 25px}.feature-copy>p:not(.feature-number){font-size:12px;line-height:2.8;letter-spacing:.1em}.feature-row figure{position:relative;margin:0}.feature-row figure img{width:100%;aspect-ratio:2.1;object-fit:cover;object-position:center 58%}.feature-row figcaption{position:absolute;bottom:25px;left:20px;color:white;font-family:futura-pt,sans-serif;font-size:19px;letter-spacing:.08em;text-shadow:0 2px 12px #0008}.taste .taste-description{text-align:left!important;font-size:14px;line-height:2.7;margin-top:28px}.closing{position:relative;isolation:isolate;background:#25272a;color:white;padding:115px 9.375% 65px;overflow:hidden}.closing-bg{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.16;filter:grayscale(.55)}.closing:before{content:'';position:absolute;inset:0;background:linear-gradient(#25272a44,#25272a);z-index:-1}.closing a{margin-top:46px}.closing a img{width:185px;height:158px;object-fit:contain}.closing .closing-origin{letter-spacing:.35em;font-size:13px;margin-top:25px}footer{background:#25272a;color:white;padding-bottom:36px}.image-note{color:#a8abad;font-size:9px}
@media(max-width:1100px){.feature-row{gap:30px}.feature-copy h3{font-size:17px}.feature-copy>p:not(.feature-number){font-size:11px}}
@media(max-width:767px){.hero-slide[data-scene=woodland]{object-position:77% center}.hero-copy{top:38%}.slide-controls{left:10%;bottom:5%;gap:12px}.slide-controls button{padding:6px}.feature-row{grid-template-columns:1fr;gap:25px;margin-top:45px}.feature-row.reverse .feature-copy,.feature-row.reverse figure{order:initial}.feature-number{font-size:30px;margin-bottom:16px}.feature-copy h3{font-size:17px;margin-bottom:18px}.feature-copy>p:not(.feature-number){font-size:12px;line-height:2.7}.feature-copy br{display:none}.feature-row figure img{aspect-ratio:2.1}.feature-row figcaption{font-size:16px;bottom:18px}.taste .taste-description{font-size:13px}.closing{padding:78px 6% 45px}.closing a img{width:160px;height:137px}.closing .closing-origin{font-size:12px}.image-note{font-size:8px;line-height:2}}
@media(prefers-reduced-motion:reduce){.hero-progress span{animation:none;height:100%}.hero-slide{transition:none}}

/* Keep the foreground tea rows visible in the first origin photograph. */
#feature .feature-row:not(.reverse) figure img{object-position:center bottom}
/* Give the footer a clear ending above viewport edges and mobile navigation. */
footer{padding-bottom:100px}
@media(max-width:767px){footer{padding-bottom:88px}body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.rail{height:calc(66px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#252323}}

/* Mobile navigation: one clear menu entry; brewing stays in product tabs. */
@media(max-width:767px){.rail .brew-shortcut,#menu nav a[data-brew]{display:none}.rail .menu-button{width:100%}}

/* One continuous photograph behind the closing message and footer details. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:0;background:#25272a}
.site-footer>.closing-bg{z-index:-2;opacity:.3;object-position:center;filter:grayscale(.35)}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(25,28,29,.5)}
.site-footer .closing{position:static;isolation:auto;overflow:visible;background:transparent}
.site-footer .closing::before{content:none}
.footer-meta{padding:0 20px 100px}
@media(max-width:767px){
  .footer-meta{padding-bottom:88px}
  .hero h1,.section-heading h2,.feature-copy h3,.closing>p{ text-wrap:balance }
  .hero-lead,.statement p,.feature-copy>p,.product-text>p,.brew li,.image-note{ text-wrap:pretty }
  .section-english{font-size:min(34px,8.8vw)}
  .product-tabs{margin:0 0 6px}
  .product-tabs button{min-height:76px}
}

/* Start the mobile page directly with the hero photograph. */
@media(max-width:767px){
  .mobile-header{display:none}
  .hero{height:calc(100svh - 66px - env(safe-area-inset-bottom,0px))}
}

/* Justify reading copy while preserving headings, labels and centered copy. */
.hero-lead,
.statement p:not(:last-child),
.feature-copy>p:not(.feature-number),
.product-text>p:not(.panel-english):not(.panel-number):not(.servings),
.taste .taste-description,
.brew li{
  text-align:justify!important;
  text-align-last:start;
  text-justify:inter-character;
}

/* Explicit mobile line breaks in the first-view copy. */
br.sp{display:none}
@media(max-width:767px){br.sp{display:block}.hero h1,.hero-lead{text-wrap:wrap}}

/* Keep each product attribute and its value visibly grouped. */
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:0;padding-top:0;margin:28px 0 0;text-align:center}
.facts>div{padding:16px 8px;background:#f0f0ed}
.facts dt{font-size:10px;line-height:1.5;color:#656560;letter-spacing:.12em}
.facts dd{margin:7px 0 0;font-size:15px;line-height:1.6;font-weight:500;letter-spacing:.12em}

/* Mobile menu closes from the same fixed bottom position as its opener. */
@media(max-width:767px){
  #menu .close-menu{position:fixed;top:auto;right:0;bottom:0;left:0;z-index:1;width:100%;height:calc(66px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);justify-content:center;gap:12px;background:#252323;color:white;font-size:11px}
  #menu .close-menu span{font-size:26px;line-height:1}
  #menu .menu-layout{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}

/* Soft photo entrances; preserve each photograph's established crop. */
@media(prefers-reduced-motion:no-preference){
  .photo-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity 900ms ease,transform 1100ms cubic-bezier(.2,.65,.3,1)}
  .photo-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
}

/* Keep the box and cup together within narrow photo crops. */
.hero-slide[data-scene=woodland]{object-position:72% center}
#panel-brew .product-image img{object-position:85% center}
@media(max-width:767px){.hero-slide[data-scene=woodland]{object-position:85% center}}

/* Preserve responsive crop ratios with intrinsic image dimensions. */
.landscape,.feature-row figure img{height:auto}

/* Clearly distinguish manufacturer from brand operators. */
.footer-company{display:table;margin:0 auto 40px;text-align:left;font-size:12px;line-height:2;letter-spacing:.08em}
.footer-company>div{display:table-row}
.footer-company dt,.footer-company dd{display:table-cell;vertical-align:top;padding:5px 0}
.footer-company dt{padding-right:24px;color:#c1c4c2;white-space:nowrap}
.footer-company dd{margin:0;color:#fff}
.footer-company dd span{display:inline-block}
.footer-company dd span+span::before{content:"、"}
@media(max-width:767px){.footer-company{font-size:11px}.footer-company dt{padding-right:18px}.footer-company dd span{display:block}.footer-company dd span+span::before{content:none}}

.footer-company a{text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px}.footer-company a:hover{color:#a9ce83;text-decoration-color:currentColor}
