:root{--bg:#f2fbfa;--bg2:#e3f6f3;--card:#fff;--ink:#0e2a31;--sub:#4b6a70;--line:#d3e9e6;--acc:#0a7a76;--acc-ink:#fff;--acc-soft:#dff4f1;
--sea1:#d9f6f1;--sea2:#8fdcd3;--shal:#b9ece4;--shal2:#e9f9ee;--sand:#f7e6bd;--leaf:#5cb86c;--leaf2:#3f9a55;--wave:#fff;
--p0:#ff7a59;--p1:#f5a623;--p2:#3fae6a;--p3:#2aa5c9;--p4:#7a6ff0;--p5:#e85d9a;
--hf:"Outfit","Zen Kaku Gothic New",system-ui,sans-serif;--bf:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;--rad:16px;
--shadow:0 1px 2px rgba(14,42,49,.06),0 8px 24px rgba(14,42,49,.07)}
:root[data-look=B]{--bg:#f6f0e1;--bg2:#efe6d0;--card:#fffdf6;--ink:#1b2942;--sub:#59637a;--line:#d8cdb3;--acc:#1b2942;--acc-ink:#fdf8ea;--acc-soft:#ebe2cb;
--sea1:#f6f0e1;--sea2:#ece2c8;--shal:#e7dcc0;--shal2:#f1e8d2;--sand:#fffaf0;--leaf:#c9d6b8;--leaf2:#1b2942;--wave:#1b2942;
--p0:#b5532f;--p1:#c58a1f;--p2:#4d7a52;--p3:#2f6f8f;--p4:#5a528f;--p5:#a3476b;
--hf:"Fraunces","Zen Old Mincho",serif;--rad:6px;--shadow:0 1px 0 rgba(27,41,66,.25),3px 4px 0 rgba(27,41,66,.10)}
:root[data-look=C]{--bg:#fff;--bg2:#f5f4ff;--card:#fff;--ink:#14141f;--sub:#5a5a6c;--line:#e9e8f2;--acc:#4a3aff;--acc-ink:#fff;--acc-soft:#eceaff;
--sea1:#f3f1ff;--sea2:#dcd7ff;--shal:#e6e2ff;--shal2:#f3f1ff;--sand:#fff;--leaf:#fff;--leaf2:#14141f;--wave:#b9b2ff;
--p0:#ff5a5f;--p1:#ffb400;--p2:#00c389;--p3:#00a6ff;--p4:#7b61ff;--p5:#ff66c4;--rad:22px;--shadow:0 2px 0 #14141f}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--bf);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--hf);letter-spacing:.01em;margin:0}
.mk-sea{fill:var(--acc)}.mk-a{fill:var(--p1)}.mk-b{fill:#fff}.mk-c{fill:var(--p0)}
:root[data-look=B] .mk-a,:root[data-look=B] .mk-b,:root[data-look=B] .mk-c{fill:var(--acc-ink)}
.isle{flex:0 0 auto;overflow:visible}
.isl-s{fill:color-mix(in srgb,var(--c) 16%,transparent)}.isl-b{fill:var(--c)}.isl-c{display:none}.isl-i{stroke:#fff}
:root[data-look=B] .isl-s{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:2 4;opacity:.45}
:root[data-look=B] .isl-b{fill:color-mix(in srgb,var(--c) 22%,var(--card));stroke:var(--ink);stroke-width:1.6}
:root[data-look=B] .isl-c{display:block;fill:none;stroke:var(--ink);stroke-width:.8;opacity:.3}
:root[data-look=B] .isl-i{stroke:var(--ink)}
:root[data-look=C] .isl-s{fill:var(--ink);transform:translate(3px,4px)}:root[data-look=C] .isl-b{stroke:var(--ink);stroke-width:2.2}
.scene{position:absolute;inset:0;width:100%;height:100%}
.scene .grid,.scene .route,.scene .compass{display:none}
.scene .wv{fill:none;stroke:var(--wave);stroke-width:2.2;stroke-linecap:round;opacity:.85;animation:wv 6s ease-in-out infinite}
.sc-sh{fill:var(--shal);opacity:.55}.sc-sh2{fill:var(--shal2);opacity:.8}.sc-b{fill:var(--sand)}.sc-in{fill:var(--leaf)}.sc-c{fill:var(--leaf2);opacity:.35}
.scene .tree path{stroke:#8a5a2b;stroke-width:3;stroke-linecap:round}.scene .tree circle{fill:var(--leaf2)}
.scene .flag path{stroke:var(--ink);stroke-width:2;stroke-linecap:round}.scene .flag .fg{fill:var(--p0);stroke:none}
.scene .boat path{fill:var(--ink)}.scene .boat .sail{fill:#fff;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.scene .fl{animation:fl 7s ease-in-out infinite}.scene .boat{animation:bt 9s ease-in-out infinite}
:root[data-look=B] .scene .grid{display:block}:root[data-look=B] .scene .grid path{stroke:var(--ink);stroke-width:.6;opacity:.12}
:root[data-look=B] .scene .route{display:block;fill:none;stroke:var(--p0);stroke-width:1.6;stroke-dasharray:3 7;stroke-linecap:round}
:root[data-look=B] .scene .compass{display:block}:root[data-look=B] .scene .compass circle{fill:none;stroke:var(--ink);stroke-width:1;opacity:.5}
:root[data-look=B] .scene .compass path{fill:var(--ink);opacity:.75}:root[data-look=B] .scene .compass text{font:600 13px var(--hf);fill:var(--ink)}
:root[data-look=B] .scene .wv{stroke-width:1.1;opacity:.35}
:root[data-look=B] .sc-sh{fill:none;stroke:var(--ink);stroke-width:.8;stroke-dasharray:2 5;opacity:.4}
:root[data-look=B] .sc-sh2{fill:var(--shal);opacity:.6}:root[data-look=B] .sc-b{stroke:var(--ink);stroke-width:1.5}
:root[data-look=B] .sc-in{fill:none;stroke:var(--ink);stroke-width:.9;opacity:.5}:root[data-look=B] .sc-c{fill:none;stroke:var(--ink);stroke-width:.8;opacity:.4}
:root[data-look=B] .scene .tree{display:none}
:root[data-look=C] .sc-sh{display:none}:root[data-look=C] .sc-sh2{fill:var(--ink);opacity:1;transform:translate(5px,7px) scale(.85)}
:root[data-look=C] .sc-b{fill:var(--c);stroke:var(--ink);stroke-width:2.5}:root[data-look=C] .sc-in{fill:#fff;opacity:.28}:root[data-look=C] .sc-c{display:none}
:root[data-look=C] .scene .tree{display:none}:root[data-look=C] .scene .wv{stroke-width:3}
@keyframes wv{50%{transform:translateX(10px)}}@keyframes fl{50%{transform:translateY(-6px)}}@keyframes bt{50%{transform:translate(26px,-4px) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.nav .wrap{display:flex;align-items:center;height:64px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 20px var(--hf)}
.links{margin-left:auto;display:flex;gap:6px}.links a{text-decoration:none;font-weight:500;font-size:14px;padding:8px 14px;border-radius:99px}
.links a:hover{background:var(--acc-soft)}
.hero{position:relative;overflow:hidden;min-height:540px;background:linear-gradient(180deg,var(--sea1),var(--sea2));display:flex;align-items:center}
.hero #scene{position:absolute;inset:0}.hero .wrap{width:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--sea1) 0,color-mix(in srgb,var(--sea1) 88%,transparent) 34%,transparent 62%);pointer-events:none}
.hero-in{position:relative;z-index:2;padding:72px 0 88px;max-width:560px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px var(--hf);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);background:var(--card);border:1px solid var(--line);padding:6px 14px;border-radius:99px;margin:0 0 22px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--p0)}
.hero h1{font-size:clamp(38px,5.4vw,64px);line-height:1.08;font-weight:800;margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--acc);background:linear-gradient(transparent 68%,color-mix(in srgb,var(--p1) 55%,transparent) 0)}
.lead{font-size:17px;color:var(--sub);margin:0 0 30px;max-width:30em}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--acc);color:var(--acc-ink);text-decoration:none;font-weight:700;padding:14px 26px;border-radius:99px;box-shadow:0 6px 0 color-mix(in srgb,var(--acc) 60%,#000);transition:transform .12s,box-shadow .12s}
.cta:hover{transform:translateY(2px);box-shadow:0 4px 0 color-mix(in srgb,var(--acc) 60%,#000)}.cta:active{transform:translateY(6px);box-shadow:none}
.hstat{display:flex;gap:28px;margin-top:38px;font-size:13px;color:var(--sub)}
.hstat b{display:block;font:800 30px/1.1 var(--hf);color:var(--ink)}
.shore{display:block;width:100%;height:56px;margin-top:-55px;position:relative;z-index:3}.shore path{fill:var(--bg)}
section{padding:72px 0}
.sec-h{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.sec-h h2{font-size:38px;font-weight:800;line-height:1.1}.sec-h p{margin:0 0 4px;color:var(--sub)}
.chips{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--card);padding:8px 16px;border-radius:99px;font-size:13px;font-weight:500;transition:.15s}
.chip b{font:700 12px var(--hf);opacity:.6;margin-left:6px}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px;text-decoration:none;box-shadow:var(--shadow);position:relative;transition:transform .18s cubic-bezier(.2,.8,.3,1.3),box-shadow .18s,border-color .18s}
.svc:hover{transform:translateY(-5px);border-color:var(--c)}
.svc:hover .isle{transform:rotate(-6deg) scale(1.08)}.svc .isle{transition:transform .25s cubic-bezier(.2,.8,.3,1.4)}
.svc h3{font:700 16px/1.4 var(--bf);margin-bottom:4px;text-wrap:balance}.svc p{margin:0 0 10px;font-size:13.5px;line-height:1.6;color:var(--sub)}
.dom{font:500 12px var(--hf);letter-spacing:.02em;color:var(--sub);display:inline-flex;gap:6px;align-items:center}
.dom i{font-style:normal;transition:transform .18s;color:color-mix(in srgb,var(--c) 62%,#000);font-weight:700}.svc:hover .dom i{transform:translate(3px,-3px)}
:root[data-look=C] .svc{border:2px solid var(--ink);box-shadow:5px 6px 0 var(--ink)}:root[data-look=C] .svc:hover{box-shadow:8px 10px 0 var(--c);border-color:var(--ink)}
.soon{grid-column:1/-1;display:flex;gap:20px;align-items:center;background:var(--card);border:1px dashed var(--line);border-radius:var(--rad);padding:28px}.soon h3{font:700 18px var(--bf);margin-bottom:4px}.soon p{margin:0;color:var(--sub)}
.about{background:var(--bg2)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pr{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.pr .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc);margin-bottom:14px}
.pr h3{font:700 18px var(--bf);margin-bottom:6px}.pr p{margin:0;color:var(--sub);font-size:14px}
footer{background:var(--ink);color:color-mix(in srgb,var(--bg) 82%,transparent);padding:44px 0 86px;font-size:13px}
footer .wrap{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
footer .brand{color:var(--bg)}footer nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}footer nav a{text-decoration:none;opacity:.85}footer nav a:hover{opacity:1;text-decoration:underline}
.op{width:100%;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;opacity:.65;font-size:12px}
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.3,1.2)}.rv.in{opacity:1;transform:none}
.toast{position:fixed;left:50%;bottom:70px;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:12px;font-size:13px;opacity:0;transition:.25s;z-index:95;pointer-events:none;max-width:90vw}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:900px){.grid,.three{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.wrap{padding:0 16px}.grid,.three{grid-template-columns:1fr}.hero{min-height:480px}.hero::after{background:linear-gradient(180deg,color-mix(in srgb,var(--sea1) 92%,transparent) 0,color-mix(in srgb,var(--sea1) 80%,transparent) 62%,transparent)}
.hero-in{padding:44px 0 150px}.sec-h h2{font-size:30px}.chips{margin-left:0}section{padding:52px 0}
.grid{grid-template-columns:1fr 1fr;gap:12px}.svc{flex-direction:column;gap:8px;padding:14px;align-items:flex-start}.svc .isle{width:52px;height:46px}.svc h3{font-size:14px;margin:0}.svc p,.svc .dom{display:none}
.three{gap:10px}.pr{display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:16px}.pr .ic{grid-row:1/3;width:44px;height:44px;margin:0}.pr h3{font-size:15px}.pr p{font-size:13px}}
.rv{opacity:1;transform:none;animation:rvin .5s cubic-bezier(.2,.8,.3,1.2) both}
.svc.rv{transition:transform .18s cubic-bezier(.2,.8,.3,1.3),box-shadow .18s,border-color .18s}
@keyframes rvin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.svc[hidden]{display:none}
.svc .intro{margin:0 0 10px;font-size:13px;line-height:1.7;color:var(--sub)}
.links a[aria-current=page]{background:var(--acc-soft)}
.about-lead{max-width:46em;margin:0 0 30px;font-size:15.5px;line-height:1.95;color:var(--ink)}
.about-lead a{color:var(--acc);font-weight:700}
.skip{position:absolute;left:-9999px;top:8px;z-index:99;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px}
.skip:focus{left:12px}
.ph{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sea1),var(--sea2));padding:56px 0 64px}
.ph .wrap{position:relative;z-index:2}
.ph .eyebrow{margin-bottom:16px}
.ph h1{font-size:clamp(30px,4.4vw,46px);line-height:1.15;font-weight:800}
.ph p{margin:12px 0 0;color:var(--sub);max-width:40em}
.ph-art{position:absolute;right:-40px;top:-30px;width:520px;height:300px;opacity:.55;pointer-events:none}
.doc-sec{padding:12px 0 72px}
.doc{max-width:820px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--shadow);padding:40px 44px;margin-top:-28px;position:relative;z-index:3}
.doc h2{font:700 21px/1.45 var(--bf);margin:38px 0 12px;padding-top:18px;border-top:1px solid var(--line)}
.doc h2:first-child{margin-top:0;padding-top:0;border-top:0}
.doc h3{font:700 16px/1.5 var(--bf);margin:22px 0 8px}
.doc p,.doc li{font-size:15px;line-height:1.9}
.doc p{margin:0 0 12px}
.doc ul,.doc ol{margin:0 0 14px;padding-left:1.4em}
.doc li{margin:4px 0}
.doc li::marker{color:var(--acc)}
.doc a{color:var(--acc);font-weight:500;overflow-wrap:anywhere}
.doc .note{font-size:13.5px;color:var(--sub)}
.doc .dates{margin-top:34px;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--sub)}
.facts{display:grid;grid-template-columns:9em 1fr;margin:0 0 8px;border-top:1px solid var(--line)}
.facts dt,.facts dd{margin:0;padding:14px 4px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.8}
.facts dt{font-weight:700;color:var(--sub)}
.xmit{border:1px solid var(--line);border-radius:12px;padding:6px 18px 4px;margin:0 0 14px;background:var(--bg)}
.xmit h3{margin:14px 0 6px}
.xmit .facts{grid-template-columns:12em 1fr;border-top:0}
.xmit .facts dt:last-of-type,.xmit .facts dd:last-of-type{border-bottom:0}
.todo{display:inline-block;font:700 13px/1.6 var(--bf);color:#8a4b00;background:#fff3dc;border:1px dashed #d99a2b;border-radius:6px;padding:1px 8px}
.mailbox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--acc-soft);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:4px 0 18px}
.mailbox .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--card);color:var(--acc)}
.mailbox b{font:700 18px var(--hf);letter-spacing:.01em;overflow-wrap:anywhere}
.mailbox a{text-decoration:none;color:var(--ink)}
.mailbox a:hover{text-decoration:underline}
.lost{padding:96px 0;text-align:center}
.lost h1{font-size:34px;margin-bottom:12px}
.lost p{color:var(--sub);margin:0 0 26px}
@media (max-width:620px){
.ph{padding:40px 0 56px}.ph-art{width:360px;height:210px;right:-120px;top:-20px;opacity:.4}
.doc{padding:26px 20px;margin-top:-24px;border-radius:14px}
.doc h2{font-size:18.5px}
.facts,.xmit .facts{grid-template-columns:1fr}.facts dt{padding-bottom:0;border-bottom:0}.facts dd{padding-top:4px}
.links a{padding:8px 10px}
.about-lead{font-size:14.5px}}
.c0{--c:var(--p0)}.c1{--c:var(--p1)}.c2{--c:var(--p2)}.c3{--c:var(--p3)}.c4{--c:var(--p4)}.c5{--c:var(--p5)}.ad0{animation-delay:-0.0s}.ad1{animation-delay:-0.1s}.ad2{animation-delay:-0.2s}.ad3{animation-delay:-0.3s}.ad4{animation-delay:-0.4s}.ad5{animation-delay:-0.5s}.ad6{animation-delay:-0.6s}.ad7{animation-delay:-0.7s}.ad8{animation-delay:-0.8s}.ad9{animation-delay:-0.9s}.ad10{animation-delay:-1.0s}.ad11{animation-delay:-1.1s}.ad12{animation-delay:-1.2s}.ad13{animation-delay:-1.3s}.ad14{animation-delay:-1.4s}.ad15{animation-delay:-1.5s}.ad16{animation-delay:-1.6s}.ad17{animation-delay:-1.7s}.ad18{animation-delay:-1.8s}.ad19{animation-delay:-1.9s}.ad20{animation-delay:-2.0s}.ad21{animation-delay:-2.1s}.ad22{animation-delay:-2.2s}.ad23{animation-delay:-2.3s}.ad24{animation-delay:-2.4s}.ad25{animation-delay:-2.5s}.ad26{animation-delay:-2.6s}.ad27{animation-delay:-2.7s}.ad28{animation-delay:-2.8s}.ad29{animation-delay:-2.9s}.ad30{animation-delay:-3.0s}.ad31{animation-delay:-3.1s}.ad32{animation-delay:-3.2s}.ad33{animation-delay:-3.3s}.ad34{animation-delay:-3.4s}.ad35{animation-delay:-3.5s}.ad36{animation-delay:-3.6s}.ad37{animation-delay:-3.7s}.ad38{animation-delay:-3.8s}.ad39{animation-delay:-3.9s}.ad40{animation-delay:-4.0s}.ad41{animation-delay:-4.1s}.ad42{animation-delay:-4.2s}.ad43{animation-delay:-4.3s}.ad44{animation-delay:-4.4s}.ad45{animation-delay:-4.5s}.ad46{animation-delay:-4.6s}.ad47{animation-delay:-4.7s}.ad48{animation-delay:-4.8s}.ad49{animation-delay:-4.9s}.ad50{animation-delay:-5.0s}.ad51{animation-delay:-5.1s}.ad52{animation-delay:-5.2s}.ad53{animation-delay:-5.3s}.ad54{animation-delay:-5.4s}.ad55{animation-delay:-5.5s}.ad56{animation-delay:-5.6s}.ad57{animation-delay:-5.7s}.ad58{animation-delay:-5.8s}.ad59{animation-delay:-5.9s}.ad60{animation-delay:-6.0s}.td0{animation-delay:0ms}.td1{animation-delay:40ms}.td2{animation-delay:80ms}.td3{animation-delay:120ms}.td4{animation-delay:160ms}.td5{animation-delay:200ms}.td6{animation-delay:240ms}.td7{animation-delay:280ms}.td8{animation-delay:320ms}.td9{animation-delay:360ms}
