:root{--ink:#123b4a;--blue:#168ba2;--aqua:#ddf3f2;--sand:#f3ebdd;--paper:#faf9f5;--text:#30383b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--paper);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-weight:500;letter-spacing:.06em}.header{height:80px;padding:0 max(4vw,28px);display:flex;align-items:center;gap:34px;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 12px #123b4a0d}.brand{display:flex;align-items:center;gap:10px;font-family:"Yu Mincho",serif;color:var(--ink);font-size:22px;white-space:nowrap}.logo{color:var(--blue);font-size:25px}.header nav{display:flex;justify-content:center;gap:28px;font-size:13px;flex:1;color:var(--ink)}.menu-toggle{display:none;width:46px;height:46px;padding:0;border:0;background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;align-items:center;justify-content:center}.header nav a:hover{color:var(--blue)}.button,.outline,.white-button,.dark-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:3px;font-weight:700;letter-spacing:.04em}.button{background:var(--blue);color:#fff}.outline{border:1px solid var(--blue);color:var(--blue);background:#ffffffd9}.outline.small{min-height:42px;padding:0 20px;font-size:13px}.hero{min-height:640px;background:linear-gradient(90deg,#fff 0%,#ffffffed 28%,#ffffff22 58%),url('/images/hero-miyako.jpeg') center/cover no-repeat;display:flex;align-items:center;padding:60px max(6vw,48px);position:relative}.hero:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:45px;background:var(--paper);clip-path:polygon(0 65%,12% 50%,25% 70%,39% 43%,55% 65%,70% 40%,85% 66%,100% 45%,100% 100%,0 100%)}.hero-copy{max-width:590px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--blue);font-weight:700;margin-bottom:10px}.hero h1{font-size:clamp(42px,4.7vw,70px);line-height:1.45;margin-bottom:22px}.hero p:not(.eyebrow){font-size:18px}.actions{display:flex;gap:16px;margin:30px 0 16px}.note{font-size:13px;color:#60757d}.section{max-width:1200px;margin:auto;padding:82px 28px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro h2{font-size:34px;line-height:1.6}.intro img{width:100%;height:300px;object-fit:cover;border-radius:7px}.sea-search{max-width:none;background:linear-gradient(#edfafa,#fff);padding-inline:max(4vw,28px)}.sea-search>*{max-width:1200px;margin-left:auto;margin-right:auto}.section-title{text-align:center;margin-bottom:34px}.section-title h2{font-size:36px;margin-bottom:4px}.section-title p:last-child{font-size:14px}.region-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.region-grid a{height:125px;background:#fff;border:1px solid #d9e4e6;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink);position:relative}.region-grid a span{font-size:28px;color:var(--blue)}.region-grid a.featured{border:2px solid var(--blue)}.region-grid b{position:absolute;right:12px;top:-12px;background:var(--blue);color:#fff;border-radius:12px;padding:1px 11px;font-size:11px}.miyako{margin-top:18px!important;background:linear-gradient(90deg,#073e55e8,#073e5560),url('/images/hero-sea.png') center 58%/cover;border-radius:7px;color:#fff;padding:42px}.miyako>div{max-width:700px}.miyako h2{color:#fff;font-size:36px;margin-bottom:6px}.light{color:#bfeff1}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chips span{border:1px solid #ffffff99;border-radius:18px;padding:2px 14px;font-size:12px}.white-button{background:#fff;color:var(--ink);min-width:360px}.card-grid,.story-grid,.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card-grid article,.plans article,.story-grid article,.article-grid article{background:#fff;border:1px solid #dbe4e5;border-radius:5px;box-shadow:0 6px 20px #123b4a08}.card-grid article{padding:26px}.card-grid i{font-style:normal;font-size:34px;color:var(--blue)}.card-grid h3{color:var(--ink)}.card-grid p{font-size:13px}.card-grid a,.story-grid a{font-size:12px;color:var(--blue);font-weight:700}.compare{max-width:none;background:#f7f2e9;padding-inline:max(5vw,28px)}.compare>*{max-width:1200px;margin-left:auto;margin-right:auto}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plans article{padding:28px}.plans h3{text-align:center;font-family:"Yu Mincho",serif;color:var(--ink);font-size:22px}.plans dl{display:grid;grid-template-columns:100px 1fr;font-size:13px}.plans dt{color:var(--blue);font-weight:700;border-top:1px solid #e3e5e3;padding:12px 0}.plans dd{margin:0;border-top:1px solid #e3e5e3;padding:12px 0}.story-grid,.article-grid{grid-template-columns:repeat(3,1fr)}.story-grid article>div:last-child,.article-grid article{padding-bottom:20px}.story-grid h3,.story-grid p,.story-grid a,.article-grid h3,.article-grid p,.article-grid small{margin-left:20px;margin-right:20px}.story-img{height:150px;background:url('/images/hero-sea.png') center/cover;border-radius:5px 5px 0 0}.story-2{background-position:center 70%;filter:saturate(.55)}.story-3{background-position:center top;filter:saturate(.45) sepia(.2)}.story-grid p,.article-grid p{font-size:13px}.issues{max-width:1144px;margin:0 auto 60px;padding:36px 48px;background:linear-gradient(110deg,#063448,#0d5b6a);border-radius:5px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.issues>div{display:flex;align-items:center;gap:25px}.issues h2{color:#fff;margin-bottom:5px;font-size:30px}.issues p{margin:0;max-width:720px;font-size:14px}.seal{width:70px;height:70px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:28px}.dark-outline{border:1px solid #fff;min-width:210px}.search{background:#edf8f8;max-width:none;padding-inline:max(4vw,28px);text-align:center}.search>*{max-width:1200px;margin-left:auto;margin-right:auto}.search form{display:grid;grid-template-columns:repeat(5,1fr) 180px;gap:12px;text-align:left;align-items:end}.search label{font-size:12px;font-weight:700}.search select,.check{display:flex;width:100%;height:46px;background:#fff;border:1px solid #ccdadd;border-radius:4px;padding:0 12px;margin-top:5px;align-items:center}.search button{height:46px;border:0;background:var(--blue);color:#fff;border-radius:4px;font-weight:700}.search>p{font-size:12px;margin-top:15px}.article-grid small{display:block;color:#72868d;font-size:10px;margin-top:15px}.article-grid h3{color:var(--ink)}footer{background:#073e55;color:#dfecef;padding:55px max(5vw,32px) 30px}.foot-brand{color:#fff}.footer-links{display:flex;flex-wrap:wrap;gap:22px;margin:25px 0;font-size:13px}footer small{opacity:.7}@media(max-width:900px){.header{height:68px}.header nav,.header>.outline{display:none}.menu-toggle{display:flex;margin-left:auto}.header nav{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:#fff;box-shadow:0 14px 26px #123b4a1f;border-top:1px solid #e6eded;padding:4px 0;z-index:30}.header nav.is-open{display:flex}.header nav a{padding:15px 26px;font-size:15px}.header nav a+a{border-top:1px solid #eef3f3}.hero{min-height:700px;align-items:flex-start;padding:70px 26px;background:linear-gradient(180deg,#fffffff5 0%,#ffffffcc 40%,#ffffff00 70%),url('/images/hero-miyako.jpeg') 58% center/cover}.hero h1{font-size:40px}.actions{flex-direction:column;max-width:340px}.intro{grid-template-columns:1fr;gap:30px}.intro img{height:240px}.region-grid{grid-template-columns:repeat(2,1fr)}.miyako{padding:28px 22px}.miyako h2,.section-title h2{font-size:29px}.white-button{min-width:0;width:100%}.card-grid,.plans,.story-grid,.article-grid{grid-template-columns:1fr}.issues{margin:0 18px 40px;padding:30px 24px;flex-direction:column;align-items:flex-start}.issues>div{align-items:flex-start}.seal{display:none}.search form{grid-template-columns:1fr}.section{padding:60px 20px}.footer-links{flex-direction:column;gap:10px}}
/* Hero title: keep the intended two-line composition. */
.hero h1{font-size:clamp(36px,4vw,58px);white-space:nowrap}
@media(max-width:900px){.hero h1{font-size:clamp(29px,8.5vw,40px);white-space:nowrap}}
