:root{--paper:#FAFAF8;--ink:#1A1A1A;--ink-60:#6B6B68;--ink-30:#AFAFAB;--rule:#E2E1DC;--indigo:#1F3A5F;--paper-2:#F2F1EC;--mincho:"Shippori Mincho",serif;--gothic:"Zen Kaku Gothic New",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--gothic);font-size:13.5px;line-height:1.7;letter-spacing:.02em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.topbar{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50;background:#fafaf8eb;backdrop-filter:saturate(120%) blur(6px)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:58px}.brand{display:flex;align-items:center;gap:11px}.brand-logo{width:auto;height:26px;object-fit:contain}.nav{display:flex;gap:26px;font-size:11.5px;letter-spacing:.13em;color:var(--ink-60)}.nav a{transition:color .2s}.nav a:hover,.nav a.on{color:var(--ink)}.navtoggle{display:none;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:5px;position:relative;z-index:60}.navtoggle span{display:block;width:100%;height:1.4px;background:var(--ink);margin:5px 0;transition:transform .3s,opacity .3s}body.menu-open .navtoggle span:nth-child(1){transform:translateY(6.4px) rotate(45deg)}body.menu-open .navtoggle span:nth-child(2){opacity:0}body.menu-open .navtoggle span:nth-child(3){transform:translateY(-6.4px) rotate(-45deg)}.mobilemenu{position:fixed;inset:0;z-index:55;background:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:0 32px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}body.menu-open{overflow:hidden}body.menu-open .mobilemenu{opacity:1;visibility:visible}.mobilemenu nav{display:flex;flex-direction:column;gap:4px}.mobilemenu nav a{font-family:var(--mincho);font-size:22px;font-weight:500;letter-spacing:.08em;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--rule)}.mobilemenu nav a.on{color:var(--indigo)}.mobilemenu nav a:first-child{border-top:1px solid var(--rule)}.mm-foot{margin-top:34px}.mm-foot a{font-size:13px;letter-spacing:.06em;color:var(--indigo);border-bottom:1px solid var(--indigo);padding-bottom:2px}footer{border-top:1px solid var(--ink);padding:46px 0 38px;margin-top:0}footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.fbrand-logo{width:auto;height:24px;object-fit:contain}footer .fbrand p{font-size:11px;color:var(--ink-60);margin-top:14px;line-height:1.9;max-width:24em}footer h4{font-size:10px;letter-spacing:.22em;color:var(--ink-30);text-transform:uppercase;margin-bottom:14px}footer ul{list-style:none;font-size:12px;line-height:2.1}footer ul a{color:var(--ink-60)}footer ul a:hover{color:var(--ink)}.copy{border-top:1px solid var(--rule);margin-top:34px;padding-top:18px;font-size:10.5px;color:var(--ink-30);letter-spacing:.08em}.sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid var(--ink)}.sec-head .ja{font-family:var(--mincho);font-size:17px;font-weight:600;letter-spacing:.1em}.sec-head .en{font-size:10px;letter-spacing:.28em;color:var(--ink-30);text-transform:uppercase}.sec-head .more{font-size:11px;letter-spacing:.12em;color:var(--ink-60);border-bottom:1px solid var(--ink-30);padding-bottom:2px}.phead{border-bottom:1px solid var(--rule)}.phead .wrap{padding:54px 32px 40px}.crumb{font-size:10.5px;letter-spacing:.16em;color:var(--ink-30);margin-bottom:22px}.crumb a:hover{color:var(--ink-60)}.phead .en{font-size:10.5px;letter-spacing:.32em;color:var(--ink-30);text-transform:uppercase}.phead h1{font-family:var(--mincho);font-weight:500;font-size:clamp(28px,4.4vw,44px);letter-spacing:.06em;margin:14px 0 18px}.phead p{font-size:13px;color:var(--ink-60);line-height:2;max-width:42em}@media (max-width:980px){footer .wrap{grid-template-columns:1fr 1fr}}@media (max-width:860px){.nav{display:none}.navtoggle{display:block}}@media (max-width:620px){.wrap{padding:0 20px}footer .wrap{grid-template-columns:1fr}}
