:root{--font-ui:"Manrope","Noto Sans JP",sans-serif;--font-jp:"Noto Serif JP","Yu Mincho",serif;--font-display:"Cormorant Garamond",Georgia,serif}
body{font-family:var(--font-ui);font-weight:400;letter-spacing:.015em}
header{top:12px;margin:12px 20px 0;border:1px solid rgba(9,45,50,.1);border-radius:6px;box-shadow:0 5px 24px rgba(9,45,50,.05)}
.hd{height:76px;max-width:1360px;padding:0 28px}
.hd .logo{height:64px}
.hd .logo img{height:88px}
#main-nav{gap:24px}
#main-nav a{font-size:11px;letter-spacing:.04em}
#main-nav a[aria-current="page"]:not(.nav-cta){text-decoration:none;position:relative}
#main-nav a[aria-current="page"]:not(.nav-cta)::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);left:50%;bottom:-12px}
.nav-cta{padding:10px 22px;font-weight:500}
.hero{margin:14px 20px 0;min-height:610px;height:calc(100svh - 118px);max-height:820px;padding:80px 0;border-radius:6px}
.hero .wrap{max-width:1240px}
.hero h1.hero-story{font-family:var(--font-display);font-weight:500;font-size:clamp(46px,5.1vw,74px);letter-spacing:-.02em;line-height:1.16;min-height:280px;max-width:1000px}
.hero .story-japanese{font-family:var(--font-jp);font-size:15px;letter-spacing:.08em;line-height:2.1;margin-top:30px}
.hero.story-static{height:auto;max-height:none}
.hero h1,.hero p,.hero .en{text-shadow:0 2px 6px rgba(0,0,0,.4)}
.en{font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.2em}
.en::before{width:18px}
section{padding:88px 0}
h2,.page-head h1{font-family:var(--font-jp);font-weight:500;letter-spacing:.04em;line-height:1.6}
h2{font-size:clamp(28px,3vw,40px)}
.page-head{margin:14px 20px 0;border-radius:6px;padding:72px 0 60px;background:var(--navy);background-image:none}
.page-head h1{font-size:clamp(34px,4vw,52px)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:34px}
.section-heading h2{margin:10px 0 0}
.section-heading .text-link{margin:0 0 8px}
.grid{gap:18px;margin-top:0;max-width:1040px}
.card{border:0;border-radius:4px;background:#fcfdfb;grid-template-columns:42% 1fr;transition:transform .25s,box-shadow .25s}
.card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 8px 24px rgba(9,45,50,.09)}
.card-copy{padding:23px 22px;position:relative}
.card .num{font-family:var(--font-ui);font-size:10px;letter-spacing:.14em;color:#507b75;font-weight:500}
.card h3{font-family:var(--font-jp);font-size:15px;font-weight:600;letter-spacing:.025em;line-height:1.8;margin:8px 0 12px}
.card p{font-size:11px;line-height:2;color:#385956}
.card .more{font-size:10px;color:var(--ink);font-weight:500;margin-top:14px}
.card-photo,.card-photo img{height:190px}
.rela-feature{padding:76px 0}
.rela-layout{grid-template-columns:1.2fr 1fr;gap:72px}
.rela-layout h2{font-family:var(--font-jp);font-size:clamp(24px,2.8vw,36px);line-height:1.7}
.rela-visual img{border-radius:4px}
.rela-layout p,.portal-heading p,.lead{line-height:2.1}
.portal-feature{border-top:1px solid rgba(9,45,50,.18);padding:72px 0}
.portal-heading h2,.portal-heading h3{font-family:var(--font-ui);font-weight:500;letter-spacing:-.025em}
.portal-heading h2{font-size:clamp(28px,3.2vw,42px)}
.portal-agents figure{border-radius:4px}
.portal-agents strong{font-family:var(--font-jp);font-weight:500}
.entrance-grid{gap:32px}
.entrance-grid>a{border-top-color:rgba(9,45,50,.25);padding:28px 0}
.entrance-grid h2{font-family:var(--font-jp);font-size:20px;font-weight:500}
.text-link{font-size:11px;gap:24px;padding-bottom:10px;border-bottom-color:rgba(9,45,50,.4)}
.bsec{border-bottom-color:rgba(9,45,50,.2);scroll-margin-top:106px}
.bhead .num{font-family:var(--font-display);font-size:36px;color:#416c66;font-weight:500}
.prod{border:0;border-radius:4px;overflow:hidden;background:#fcfdfb;padding:28px}
.prod .pimg{margin:-28px -28px 26px;width:calc(100% + 56px)}
.prod h3{font-family:var(--font-jp);font-size:19px;font-weight:600;line-height:1.8;letter-spacing:.015em}
.prod .tag{font-size:10px;font-weight:500}
.fact{border-left:1px solid var(--ink);padding:10px 24px}
.fact b{font-size:11px;font-weight:500}
.gal img,.care-visual img,.tea-store-layout figure img{border-radius:4px}
.gal figcaption strong{font-family:var(--font-jp);font-weight:600}
.co table{border-top:1px solid rgba(9,45,50,.25)}
th,td{border-bottom-color:rgba(9,45,50,.18);line-height:2}
.contact h2{font-family:var(--font-jp);font-weight:500}
.btn{font-size:13px;font-weight:500}
footer{padding:48px 0 32px}
.footer-top nav{gap:26px}
.footer-bottom{margin-top:36px;letter-spacing:.06em}
a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:5px}
@media(max-width:1000px){#main-nav{border-radius:0 0 6px 6px;padding:16px 28px 24px}#main-nav a[aria-current="page"]:not(.nav-cta)::after{display:none}.card{grid-template-columns:1fr}.card-photo,.card-photo img{height:auto;aspect-ratio:4/3}.rela-layout{gap:40px}.menu-toggle{font-size:11px;border-color:rgba(9,45,50,.2)}}
@media(max-width:760px){header{margin:8px 10px 0;top:8px}.hd{height:64px;padding:0 14px}.hd .logo{height:56px}.hd .logo img{height:76px}.hero{margin:10px 10px 0;height:auto;min-height:580px;padding:80px 0}.hero .wrap{padding:0 20px}.hero h1.hero-story{font-size:clamp(32px,8.8vw,44px);line-height:1.25;min-height:270px}.hero .story-japanese{font-size:12px;letter-spacing:.04em;line-height:2;margin-top:26px}.page-head{margin:10px 10px 0;padding:52px 0 44px}.page-head h1{font-size:34px}section{padding:60px 0}.section-heading{display:block;margin-bottom:26px}.section-heading .text-link{margin-top:16px}.grid{gap:14px}.card-copy{padding:18px 14px}.card h3{font-size:13px;line-height:1.9;margin-bottom:10px}.card p{font-size:11px;line-height:1.9}.card .more{font-size:10px}.rela-feature,.portal-feature{padding:56px 0}.rela-layout{grid-template-columns:1fr;gap:28px}.rela-layout h2{font-size:25px}.portal-heading h2{font-size:30px}.bsec{scroll-margin-top:88px}.bsec h2{font-size:25px}.bhead .num{font-size:30px}.entrance-grid h2{font-size:19px}.prod h3{font-size:18px}.footer-top nav{gap:18px}.footer-bottom{line-height:1.9}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
