@font-face{font-family:"Nordoku CJK";src:local("HiraginoSans-W3"),local("Hiragino Sans W3");font-weight:100 500;unicode-range:U+3000-30FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:"Nordoku CJK";src:local("HiraginoSans-W6"),local("Hiragino Sans W6");font-weight:600 900;unicode-range:U+3000-30FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}
:root{--ink:#142a3b;--muted:#597081;--navy:#0c1d2c;--blue:#6f9ac0;--paper:#f6f5f0;--line:#dce3e4;--gold:#e7b968;--radius:22px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Nordoku CJK",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
button,a,summary{ -webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:focus-visible,summary:focus-visible{outline:3px solid #edbb67;outline-offset:4px;border-radius:4px}
img{display:block;max-width:100%}
h1,h2,h3,p{overflow-wrap:anywhere}
h1,h2,h3{margin:0;letter-spacing:-.045em;line-height:1.08}
p{margin:0}
.skip-link{position:absolute;z-index:100;top:-80px;left:12px;background:#fff;color:var(--ink);padding:12px 18px;border-radius:10px}
.skip-link:focus{top:12px}
.site-header{position:relative;z-index:30;background:#0d1e2c;color:#f4f7f9;border-bottom:1px solid rgba(255,255,255,.11)}
.header-inner{max-width:1280px;margin:auto;min-height:82px;padding:12px clamp(20px,4vw,48px);display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:1.34rem;font-weight:750;letter-spacing:-.055em;white-space:nowrap}
.brand img{border-radius:10px}
.brand-dot,.footer-brand span{color:#eabf7b}
.primary-nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.primary-nav a,.header-contact{font-size:.85rem;font-weight:650;text-decoration:none;opacity:.8;transition:opacity .2s}
.primary-nav a:hover,.header-contact:hover{opacity:1}
.header-actions{display:flex;align-items:center;gap:20px}
.header-contact{white-space:nowrap}
.language-menu{position:relative;font-size:.83rem;font-weight:650}
.language-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 14px;min-height:42px;white-space:nowrap}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu[open] summary{background:rgba(255,255,255,.1)}
.globe{font-size:1.2rem;line-height:1}.chevron{font-size:1.1rem;line-height:.7}
.language-list{position:absolute;right:0;top:calc(100% + 10px);z-index:40;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:4px;min-width:300px;max-height:min(70vh,430px);overflow:auto;padding:12px;background:#fff;color:var(--ink);border:1px solid #dce4e9;border-radius:16px;box-shadow:0 18px 50px rgba(6,18,30,.25)}
.language-list a{display:block;padding:8px 10px;text-decoration:none;border-radius:8px}
.language-list a:hover,.language-list a[aria-current]{background:#e9f1f5}
.hero{position:relative;overflow:hidden;isolation:isolate;color:#f7fbff;background:linear-gradient(123deg,#0b1c2c 5%,#142d40 64%,#153e54)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 44% 54% at 74% 45%,rgba(91,155,174,.25),transparent 70%),radial-gradient(ellipse 60% 38% at 48% 105%,rgba(140,163,114,.13),transparent 80%);z-index:-1}
.hero-glow{position:absolute;width:640px;height:700px;right:-120px;top:-60px;opacity:.65;filter:blur(28px);transform:rotate(-18deg);background:radial-gradient(ellipse 46% 65% at 45% 50%,rgba(121,209,182,.21),transparent 64%),radial-gradient(ellipse 38% 65% at 70% 40%,rgba(107,144,222,.2),transparent 65%)}
.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(90deg,rgba(255,255,255,.26) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.26) 1px,transparent 1px);background-size:110px 110px;mask-image:linear-gradient(90deg,transparent 25%,#000)}
.hero-inner{position:relative;max-width:1280px;min-height:650px;margin:auto;padding:70px clamp(20px,4vw,48px) 62px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:34px}
.hero-copy{position:relative;z-index:2;max-width:650px;padding-bottom:15px}
.eyebrow,.section-label{display:flex;align-items:center;gap:14px;color:#d1af77;font-size:.72rem;line-height:1.4;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow-line{display:inline-block;width:32px;height:1px;background:currentColor;flex:none}
.hero h1{max-width:760px;margin:25px 0 26px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.45rem,6.6vw,6.9rem);font-weight:400;letter-spacing:-.065em;line-height:.98;text-wrap:balance}
.hero-intro{max-width:560px;color:#d5e1e8;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:37px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:54px;padding:13px 20px;border-radius:8px;text-decoration:none;font-size:.91rem;font-weight:750;transition:transform .18s,box-shadow .18s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.button-light{background:#f6f7f3;color:#153044}
.button span{font-size:1.2rem;line-height:1}
.platform-note{font-size:.79rem;color:#b7cad3;letter-spacing:.02em}
.hero-visual{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center}
.orbit{position:absolute;border:1px solid rgba(226,242,246,.13);border-radius:50%;transform:rotate(-25deg)}
.orbit-one{width:510px;height:510px}.orbit-two{width:660px;height:660px}
.phone{position:relative;overflow:hidden;border:7px solid #1e2b38;border-radius:42px;background:#e7edf5;box-shadow:0 36px 90px rgba(0,0,0,.39),inset 0 0 0 1px rgba(255,255,255,.2)}
.phone:after{content:"";position:absolute;inset:0;border-radius:34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);pointer-events:none}
.phone img{width:100%;height:auto}
.phone-hero{width:min(300px,65vw);max-height:580px;transform:rotate(8deg) translate(18px,37px)}
.floating-card{position:absolute;left:0;bottom:100px;max-width:250px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f8f7f2;color:#183044;border:1px solid #fff;border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.21);font-size:.83rem;font-weight:700;line-height:1.35;transform:rotate(-4deg)}
.sparkle{font-size:1.35rem;color:#b4833e}
.intro-band{background:#edf0eb;border-bottom:1px solid #d7ddda}
.intro-band-inner{max-width:1280px;margin:auto;min-height:86px;padding:15px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.intro-band p{color:#415965;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-align:center;text-transform:uppercase}
.intro-band p span{color:#bd985b;padding:0 16px}
.section-index{color:#9b7642;font-size:.72rem;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.asterisk{color:#b48745;font-size:1.65rem}
.section-shell{max-width:1280px;margin:auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.learn-section{min-height:740px;padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:60px}
.learn-copy{max-width:540px}
.learn-copy h2,.feature-heading h2,.closing-inner h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,4.6vw,5.15rem);font-weight:400;line-height:1.05;text-wrap:balance}
.learn-copy h2{margin:25px 0}
.section-lead{max-width:500px;color:#546c79;font-size:1.08rem;line-height:1.75}
.step-list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid #cbd6d9}
.step-list li{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #cbd6d9;font-size:.92rem;font-weight:680}
.step-list li span{color:#9b7642;font-size:.72rem;font-weight:800;letter-spacing:.1em}
.learn-visual{position:relative;min-height:570px;display:flex;align-items:center;justify-content:center}
.learn-halo{position:absolute;width:min(530px,100%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,#c8e0dd 0%,#e1e9de 54%,transparent 70%)}
.phone-learn{width:254px;height:520px;border-color:#243847;border-radius:37px;transform:rotate(-8deg);box-shadow:0 36px 65px rgba(32,54,65,.23)}
.learn-star{position:absolute;right:6%;top:5%;color:#c29855;font-size:5.2rem;line-height:1}
.feature-section{background:#e7ecea;padding:105px 0 120px}
.feature-heading{max-width:650px;margin-bottom:48px}
.feature-heading h2{margin-top:20px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feature-card{position:relative;min-height:345px;padding:31px 29px;border:1px solid #d9e2e0;border-radius:18px;background:#f9faf7;display:flex;flex-direction:column}
.feature-card-warm{background:#f2e9d8;border-color:#e7dcc6}
.feature-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #cbd9db;border-radius:13px;color:#4b8093;font-size:1.8rem}
.feature-card-warm .feature-icon{color:#a87735;border-color:#dccaab}
.feature-number{position:absolute;top:35px;right:30px;color:#8d9da2;font-size:.69rem;letter-spacing:.12em;font-weight:800}
.feature-card h3{margin-top:auto;margin-bottom:13px;font-size:clamp(1.45rem,2vw,2rem);font-weight:660}
.feature-card p{color:#526773;font-size:.91rem;line-height:1.7}
.closing-section{position:relative;overflow:hidden;isolation:isolate;background:#172e3b;color:#f2f6f2;padding:115px clamp(20px,4vw,48px) 125px}
.closing-inner{position:relative;z-index:1;max-width:1280px;margin:auto}
.closing-inner h2{max-width:720px;margin:24px 0 24px}
.closing-inner>p:not(.section-label){max-width:570px;color:#c3d2d7;font-size:1.08rem;line-height:1.75}
.closing-status{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin-top:40px;padding:11px 17px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#d5e4e5;font-size:.79rem;font-weight:650}
.status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#e3b56d;box-shadow:0 0 0 4px rgba(227,181,109,.16)}
.closing-grid{position:absolute;right:-40px;top:-95px;z-index:-1;width:500px;display:grid;grid-template-columns:repeat(3,1fr);color:rgba(255,255,255,.06);font-size:9rem;line-height:1.1;font-weight:800;transform:rotate(-10deg)}
.closing-grid span{font-family:Georgia,serif;color:rgba(231,185,104,.15)}
.site-footer{background:#0c1d2c;color:#d5e0e6}
.footer-inner{max-width:1280px;margin:auto;padding:54px clamp(20px,4vw,48px) 36px;display:grid;grid-template-columns:1.5fr 1fr;gap:40px}
.footer-brand{font-size:1.4rem;font-weight:750;letter-spacing:-.055em;text-decoration:none;color:#fff}
.footer-inner p{margin-top:10px;color:#90a8b7;font-size:.83rem}
.footer-inner nav{display:flex;justify-content:flex-end;align-items:start;gap:18px;flex-wrap:wrap;font-size:.81rem}
.footer-inner nav a{text-decoration:none}
.footer-inner nav a:hover{text-decoration:underline}
.footer-inner small{grid-column:1/-1;padding-top:25px;border-top:1px solid rgba(255,255,255,.11);color:#829aa8;font-size:.76rem}
.document-hero{background:#142b3a;color:#f7fbff;padding:70px 0 80px}
.document-hero h1{margin-top:22px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.6rem);font-weight:400}
.document-wrap{max-width:1050px;margin:-34px auto 90px;padding:0 20px;position:relative}
.document-card{padding:clamp(26px,5vw,68px);background:#fff;border:1px solid #e2e7e6;border-radius:22px;box-shadow:0 25px 70px rgba(28,52,62,.08)}
.document-card section+section{margin-top:34px;padding-top:32px;border-top:1px solid #e3e9e8}
.document-card h2{font-size:clamp(1.18rem,2vw,1.55rem);letter-spacing:-.025em;margin-bottom:12px}
.document-card p{color:#415968;line-height:1.82;font-size:1rem}
.document-card a{color:#2b6687}
.contact-line{margin-top:36px;padding-top:28px;border-top:1px solid #e3e9e8;font-weight:700}
[lang="ja"] .hero h1,[lang="ja"] .learn-copy h2,[lang="ja"] .feature-heading h2,[lang="ja"] .closing-inner h2,[lang="ja"] .document-hero h1{font-family:"Nordoku CJK",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.055em}
@media(max-width:1000px){.primary-nav{display:none}.header-inner{gap:18px}.header-actions{margin-left:auto}.hero-inner{gap:10px}.hero h1{font-size:clamp(3rem,6.7vw,5.1rem)}.floating-card{left:-30px}.learn-section{gap:20px}}
@media(max-width:720px){.header-inner{min-height:70px;padding:10px 20px}.header-contact{display:none}.brand{font-size:1.18rem}.brand img{width:32px;height:32px}.language-menu summary{min-height:38px;padding:7px 10px}.language-menu summary span:nth-child(2){max-width:87px;overflow:hidden;text-overflow:ellipsis}.language-list{right:-2px;min-width:min(310px,calc(100vw - 40px))}.hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:64px 22px 0;gap:0}.hero h1{font-size:clamp(3.25rem,12vw,5.2rem);margin:20px 0 24px}.hero-intro{font-size:1.03rem}.hero-actions{margin-top:30px}.hero-visual{min-height:460px;margin-top:32px}.phone-hero{width:230px;max-height:430px;transform:rotate(7deg) translate(15px,46px)}.floating-card{left:max(0px,calc(50% - 180px));bottom:48px;max-width:205px;font-size:.76rem}.orbit-one{width:390px;height:390px}.orbit-two{width:510px;height:510px}.intro-band-inner{min-height:66px}.intro-band p{font-size:.7rem}.intro-band p span{padding:0 5px}.learn-section{display:flex;flex-direction:column;align-items:stretch;padding-top:80px;padding-bottom:45px;min-height:0;gap:30px}.learn-copy h2,.feature-heading h2,.closing-inner h2{font-size:clamp(2.85rem,10vw,4.2rem)}.learn-visual{min-height:485px}.learn-halo{width:420px;max-width:100%}.phone-learn{width:210px;height:430px}.feature-section{padding:78px 0 90px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:245px;padding:25px}.feature-card h3{margin-top:45px}.closing-section{padding:85px 22px 95px}.closing-grid{right:-260px}.footer-inner{grid-template-columns:1fr;padding-top:45px;gap:30px}.footer-inner nav{justify-content:flex-start}.document-hero{padding:58px 0 70px}.document-wrap{margin-bottom:65px}}
@media(max-width:380px){.brand{gap:7px}.header-inner{padding-inline:14px}.language-menu summary{gap:5px}.language-menu summary span:nth-child(2){max-width:66px}.hero h1{font-size:3.1rem}.hero-visual{min-height:400px}.phone-hero{width:200px}.floating-card{bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.primary-nav a,.header-contact{transition:none}}
