:root{--navy:#001a33;--navy2:#002f57;--ink:#0b1f33;--sub:#4a5d6b;--teal:#3d9ca3;--teal-btn:#0c858b;--teal-ink:#0b5c63;--teal-pale:#e3f2f3;--amber:#f6c58f;--amber-pale:#fbe3c4;--bg:#f4f7f7;--line:#c9d6dc;--ease:cubic-bezier(.16,1,.3,1);--sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;--latin:"Space Grotesk","Zen Kaku Gothic New",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.8}img{max-width:100%;display:block}a{color:var(--teal-ink)}a:hover{color:var(--navy2)}.wrap{width:100%;max-width:1360px;margin:0 auto;padding-inline:clamp(20px,4vw,56px)}.hd{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #002f5714;transition:box-shadow .3s;position:sticky;top:0}.hd.is-scrolled{box-shadow:0 6px 24px #002f5714}.hd-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:14px;display:flex}.logo{align-items:center;display:flex}.logo img{width:auto;height:40px}.gnav{font-family:var(--latin);letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:6px 44px;font-size:16px;display:flex}.gnav a{color:var(--navy2);font-weight:500;text-decoration:none;position:relative}.gnav a:after{content:"";background:var(--teal);height:2px;transition:transform .3s var(--ease);border-radius:2px;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.gnav a:hover{color:var(--teal-ink)}.gnav a:hover:after{transform:scaleX(1)}.btn-contact{background:var(--navy2);color:#fff;letter-spacing:.06em;border-radius:999px;align-items:center;gap:12px;min-height:46px;padding:0 22px 0 26px;font-size:14px;font-weight:500;text-decoration:none;transition:background .3s;display:inline-flex}.btn-contact:hover{color:#fff;background:#0b4a80}.arrow{transition:transform .3s var(--ease)}a:hover .arrow{transform:translate(4px)}.hero{color:#fff;background:#020b1c;align-items:center;min-height:min(100svh - 69px,1040px);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:-4%}.hero-svg{width:100%;height:100%;display:block}.hb-pulse{mix-blend-mode:screen;opacity:0}.hero-ready .hb-pulse{animation:3.6s ease-in-out infinite rmBeat}@keyframes rmBeat{0%,to{opacity:0}14%{opacity:.55}28%{opacity:.1}40%{opacity:.4}60%{opacity:0}}.hero-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#00163880 0%,#00163838 40%,#00163800 60%);position:absolute;inset:0}.hero-dust{z-index:2;pointer-events:none;position:absolute;inset:0}.dust{opacity:0;background:#ffd9a6;border-radius:50%;animation:linear infinite rmFloat;position:absolute}.dust.far{width:2px;height:2px;box-shadow:0 0 6px #ffd9a6}.dust.near{filter:blur(2px);width:7px;height:7px;box-shadow:0 0 18px #ffc98a}@keyframes rmFloat{0%{opacity:0;transform:translate(0,0)}15%{opacity:.85}to{opacity:0;transform:translate(30px,-360px)}}.hero-body{z-index:3;width:100%;padding-top:72px;padding-bottom:110px;position:relative}.eyebrow{font-family:var(--latin);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:20px;margin:0 0 28px;font-size:15px;display:flex}.eyebrow:before{content:"";background:currentColor;width:34px;height:1px}.hero h1{letter-spacing:.1em;margin:0;font-size:clamp(40px,5.2vw,72px);font-weight:500;line-height:1.32}.hero-lead{letter-spacing:.1em;color:#e6eef4;max-width:600px;margin:32px 0 0;font-size:clamp(14px,1.25vw,17px);line-height:2}.hero-cta{flex-wrap:wrap;gap:24px;margin-top:44px;display:flex}.btn{letter-spacing:.12em;border-radius:999px;justify-content:center;align-items:center;gap:16px;min-height:56px;padding:0 40px;font-size:16px;font-weight:500;text-decoration:none;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.btn-primary{background:var(--teal-btn);color:#fff}.btn-primary:hover{color:#fff;background:#0a7378}.btn-ghost{color:#fff;border:1.5px solid #ffffffd9}.btn-ghost:hover{color:#fff;background:#ffffff1a;border-color:#fff}.hero-edge{z-index:4;width:100%;height:40px;display:block;position:absolute;bottom:-1px;left:0;right:0}.sec-no{font-family:var(--latin);color:var(--navy2);margin:0;font-size:40px;font-weight:600;line-height:1}.sec-no span{margin-left:8px;font-weight:400}.sec-ttl{font-family:var(--latin);letter-spacing:.1em;color:var(--navy2);margin:20px 0 0;font-size:28px;font-weight:600;line-height:1.35}.sec-en{font-family:var(--latin);letter-spacing:.06em;color:var(--teal-ink);margin:28px 0 0;font-size:15px;line-height:1.6}.vm{background:var(--bg);padding:clamp(72px,8vw,110px) 0 clamp(80px,9vw,120px);position:relative;overflow:hidden}.vm-arcs{pointer-events:none;width:560px;height:560px;position:absolute;bottom:-300px;left:-260px}.vm-grid{grid-template-columns:minmax(190px,230px) minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid;position:relative}.vm-grid>div{padding:4px clamp(24px,3.4vw,64px)}.vm-grid>div:first-child{padding-left:0}.vm-grid>div+div{border-left:1px solid var(--line)}.pill{font-family:var(--latin);letter-spacing:.14em;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600;line-height:1.6;display:inline-block}.pill-amber{background:var(--amber-pale);color:#7a4210}.pill-teal{background:var(--teal-btn);color:#fff}.vm h2,.vm h3{color:var(--navy2);letter-spacing:.1em;margin:12px 0 0;font-weight:500;line-height:1.5}.vm h2{word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(24px,2.3vw,36px)}.vm h3{word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(22px,2.15vw,34px)}.vm-mission{margin-top:44px}.vm-body p{letter-spacing:.06em;color:var(--ink);margin:0;font-size:15px;line-height:2.25}.vm-body p+p{margin-top:36px}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:72px 0 0 calc(min(240px,22%) + 40px);padding-top:28px;display:grid;position:relative}.step{grid-template-columns:62px minmax(0,1fr);align-items:start;column-gap:18px;padding-right:36px;display:grid;position:relative}.step-ic{background:var(--teal-pale);width:62px;height:62px;color:var(--teal-ink);border-radius:50%;grid-row:1/4;justify-content:center;align-items:center;display:flex}.step-no{font-family:var(--latin);letter-spacing:.16em;color:var(--teal-ink);margin:4px 0 0;font-size:13px;font-weight:600}.step h4{letter-spacing:.08em;color:var(--navy2);margin:2px 0 0;font-size:24px;font-weight:500}.step p{letter-spacing:.06em;color:var(--ink);margin:18px 0 0;font-size:14px;line-height:1.9}.step-arr{color:var(--teal);position:absolute;top:30px;right:16px}.rm-card{transition:transform .25s,box-shadow .25s;position:relative}.rm-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #002f571f}.rm-card svg{transition:transform .3s}.rm-card:hover svg{transform:translate(4px)}.rm-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),#ffffff38,transparent 60%);transition:opacity .4s;position:absolute;inset:0}.rm-card.is-tilt:after{opacity:1}.rm-card.is-tilt{transition:box-shadow .3s}.rm-news a{color:#0b1f33;text-decoration:none}.rm-news a:hover{color:#0b5c63}.rm-foot a{color:#b8c9d3;text-decoration:none}.rm-foot a:hover{color:#fff}.svc{background:#fff;padding:clamp(80px,9vw,130px) 0}.svc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 64px;margin-bottom:56px;display:flex}.svc-head .sec-ttl{margin-top:16px}.svc-head-txt{flex:0 640px}.svc-head-txt h3{letter-spacing:.1em;color:var(--navy2);margin:0;font-size:clamp(26px,2.8vw,38px);font-weight:500;line-height:1.5}.svc-head-txt p{letter-spacing:.06em;color:var(--sub);margin:16px 0 0;font-size:15px}.svc-list{flex-direction:column;gap:28px;display:flex}.svc-card{border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:40px 56px;padding:clamp(28px,4vw,56px);text-decoration:none;display:grid;overflow:hidden}.svc-navy{background:var(--navy);color:#fff}.svc-teal{color:var(--ink);background:#e8f2f3}.svc-amber{color:var(--ink);background:#fff4e8}.svc-navy:hover{color:#fff}.svc-teal:hover,.svc-amber:hover{color:var(--ink)}.svc-meta{align-items:center;gap:14px;display:flex}.svc-no{font-family:var(--latin);letter-spacing:.1em;font-size:14px}.svc-navy .svc-no{color:var(--amber)}.svc-teal .svc-no{color:var(--teal-ink)}.svc-amber .svc-no{color:#8a4b12}.svc-tag{opacity:.8;border:1px solid;border-radius:999px;padding:4px 12px;font-size:12px}.svc-name{letter-spacing:.02em;margin:18px 0 0;font-size:clamp(34px,3.8vw,52px);font-weight:700;line-height:1.15}.svc-name.latin{font-family:var(--latin);font-weight:600}.svc-catch{letter-spacing:.06em;margin:18px 0 0;font-size:clamp(17px,1.6vw,21px);font-weight:700;line-height:1.6}.svc-desc{letter-spacing:.04em;opacity:.85;margin:14px 0 0;font-size:14.5px;line-height:1.95}.svc-link{letter-spacing:.06em;align-items:center;gap:14px;margin-top:28px;font-size:14px;display:inline-flex}.svc-btn{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.svc-navy .svc-btn{background:var(--teal);color:var(--navy)}.svc-teal .svc-btn{background:var(--navy2);color:#fff}.svc-amber .svc-btn{color:#fff;background:#8a4b12}.svc-vis{aspect-ratio:16/9;background:#fff;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 12px 32px #002f571a}.svc-vis-photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.svc-card:hover .svc-vis-photo img{transform:scale(1.03)}@media (width<=900px){.svc-card{grid-template-columns:1fr}.svc-vis{order:-1}}.msg{max-width:1152px;margin:0 auto;position:relative}.msg-head{flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:clamp(40px,5vw,64px);display:flex}.msg-label{font-family:var(--latin);letter-spacing:.24em;color:var(--amber);margin:0;font-size:13px}.msg-head h2{letter-spacing:.1em;white-space:nowrap;margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:500}.msg-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:48px clamp(48px,7vw,104px);display:grid}.msg-fig{text-align:center;flex-direction:column;align-items:center;gap:28px;margin:0;display:flex}.msg-photo{aspect-ratio:1;width:100%;max-width:300px;position:relative}.msg-photo:before{content:"";border:1px solid #f6c58f8c;border-radius:50%;position:absolute;inset:-14px}.msg-photo:after{content:"";border:1px solid #3d9ca359;border-radius:50%;position:absolute;inset:-28px}.msg-photo img{z-index:1;object-fit:cover;object-position:50% 20%;background:#f3f3f1;border-radius:50%;width:100%;height:100%;position:relative}.msg-fig figcaption{flex-direction:column;gap:4px;display:flex}.msg-role{letter-spacing:.08em;color:#b8c9d3;font-size:13px}.msg-name{letter-spacing:.16em;font-size:24px;font-weight:500}.msg-en{font-family:var(--latin);letter-spacing:.2em;color:var(--amber);font-size:12px}.msg-body{flex-direction:column;gap:24px;display:flex}.msg-body p{letter-spacing:.05em;color:#c9d8e0;margin:0;font-size:16px;line-height:2.1}.msg-body .msg-lead{letter-spacing:.08em;color:#fff;margin-bottom:8px;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.6}@media (width<=860px){.msg-grid{grid-template-columns:1fr}.msg-photo{max-width:220px}}.rm-p{transform:translate3d(calc(var(--mx,0) * var(--dx,0px)), calc(var(--my,0) * var(--dx,0px) + var(--sy,0) * var(--sf,0px)), 0);will-change:transform}.hero-text{opacity:calc(1 - var(--sy,0) / 560)}.js .hero-svg{opacity:.3;animation:rmDawn 3.6s var(--ease) .1s forwards;transform:scale(1.1)}.js .hm{stroke-dasharray:1 1;stroke-dashoffset:1px}@keyframes rmDawn{to{opacity:1;transform:scale(1)}}.js .hd{opacity:0;animation:rmIn .9s var(--ease) .2s forwards;transform:translateY(-12px)}.rm-line{perspective:900px;padding-bottom:.06em;display:block;overflow:hidden}.rm-line>span{display:block}.js .rm-line>span{transform-origin:50% 100%;opacity:0;animation:rmUp 1.4s var(--ease) var(--d) forwards;transform:translateY(100%)rotateX(-75deg)}.js .rm-in{opacity:0;filter:blur(6px);animation:rmIn 1.2s var(--ease) var(--d) forwards;transform:translateY(16px)}@keyframes rmUp{to{opacity:1;transform:none}}@keyframes rmIn{to{opacity:1;filter:none;transform:none}}.js .rm-reveal{opacity:0;transform-origin:50% 0;transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transform:perspective(1400px)translateY(70px)rotateX(10deg)}.js .rm-reveal.is-in{opacity:1;transform:none}.js .rm-reveal.is-in .rm-card{animation:rmCardIn 1.1s var(--ease) backwards}.js .rm-reveal.is-in .rm-card:nth-child(2){animation-delay:.12s}.js .rm-reveal.is-in .rm-card:nth-child(3){animation-delay:.24s}@keyframes rmCardIn{0%{opacity:0;transform:perspective(1200px)translateY(50px)rotateX(18deg)}to{opacity:1;transform:none}}.js .rm-reveal.is-in .step{animation:rmCardIn 1.1s var(--ease) backwards}.js .rm-reveal.is-in .step:nth-child(2){animation-delay:.15s}.js .rm-reveal.is-in .step:nth-child(3){animation-delay:.3s}.js .rm-reveal.is-in .step-ic{animation:rmPop .9s var(--ease) backwards .3s}@keyframes rmPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.js .vm-arcs circle{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 2.4s var(--ease)}.js .vm.is-in .vm-arcs circle{stroke-dashoffset:0}@media (width<=1080px){.vm-grid{grid-template-columns:1fr;row-gap:40px}.vm-grid>div{padding:0}.vm-grid>div+div{border-left:0;border-top:1px solid var(--line);padding-top:40px}.steps{grid-template-columns:1fr;gap:36px;margin-left:0}.step{padding-right:0}.step-arr{display:none}.gnav{gap:6px 24px;font-size:14px}}@media (width<=720px){.gnav{display:none}.hd-in{flex-wrap:nowrap;padding-block:14px}.logo img{height:30px}.btn-contact{gap:8px;min-height:40px;padding:0 16px 0 18px;font-size:13px}.eyebrow{letter-spacing:.16em;gap:12px;margin-bottom:20px;font-size:11px}.eyebrow:before{width:22px}.hero h1{letter-spacing:.06em;font-size:clamp(28px,8.4vw,40px)}.hero-lead br{display:none}.hero-shade{background:linear-gradient(#00163826 0%,#0016388c 35%,#00163880 70%,#0016380d 92%)}.hero-lead{letter-spacing:.06em}.hero-cta{gap:14px}.sec-no{font-size:32px}.hero-body{padding-top:56px;padding-bottom:90px}.btn{min-height:52px;padding:0 28px;font-size:15px}}@media (prefers-reduced-motion:reduce){.rm-p{transform:none!important}.hero-text{opacity:1}.js .hero-svg,.js .hd,.js .rm-line>span,.js .rm-in,.js .rm-reveal.is-in .rm-card,.js .rm-reveal.is-in .step,.js .rm-reveal.is-in .step-ic{opacity:1;filter:none;animation:none;transform:none}.dust{display:none}.js .hm{stroke-dashoffset:0}.js .rm-reveal{opacity:1;transition:none;transform:none}.js .vm-arcs circle{stroke-dashoffset:0;transition:none}}.cp-head{background:var(--navy);color:#fff;padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px)}.cp-head .cp-label{font-family:var(--latin);letter-spacing:.24em;color:var(--amber);margin:0;font-size:13px}.cp-head h1{letter-spacing:.1em;margin:10px 0 0;font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1.5}.cp-main{background:var(--bg);padding:clamp(48px,6vw,96px) 0 clamp(80px,9vw,130px)}.cp-box{max-width:880px;margin:0 auto}.cp-crumb{color:var(--sub);margin:0 0 28px;font-size:13px}.cp-crumb a{color:var(--sub)}.cp-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cp-list li{border-bottom:1px solid var(--line)}.cp-list a{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px 24px;padding:24px 0;text-decoration:none;display:flex}.cp-list a:hover{color:var(--teal-ink)}.cp-date{font-family:var(--latin);color:var(--sub);min-width:96px;font-size:14px}.cp-pill{border-radius:999px;padding:2px 10px;font-size:12px}.cp-ttl{flex:320px;font-size:16px}.cp-article{background:#fff;border-radius:24px;padding:clamp(28px,5vw,64px)}.cp-meta{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 12px;display:flex}.cp-article h1{letter-spacing:.04em;color:var(--navy);margin:0 0 32px;font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1.6}.cp-body{letter-spacing:.03em;font-size:16px;line-height:2}.cp-body h2{border-left:4px solid var(--teal);color:var(--navy2);margin:48px 0 16px;padding-left:14px;font-size:21px;line-height:1.6}.cp-body h3{color:var(--navy2);margin:36px 0 12px;font-size:18px}.cp-body p{margin:0 0 20px}.cp-body ul,.cp-body ol{margin:0 0 20px;padding-left:1.4em}.cp-body img{border-radius:12px;height:auto;margin:12px 0 24px}.cp-body a{word-break:break-all}.cp-back{align-items:center;gap:8px;margin-top:40px;font-size:15px;display:inline-flex}.cp-note{color:var(--sub);background:#fff;border-radius:16px;margin:0 0 32px;padding:24px 28px;font-size:14px;line-height:1.9}.cp-form{background:#fff;border-radius:24px;padding:clamp(12px,3vw,32px);overflow:hidden}.cp-form iframe{border:0;width:100%;height:1250px;display:block}@media (width<=720px){.cp-form iframe{height:1400px}}.cp-article,.cp-body,.cp-body p,.cp-body h2,.cp-body h3,.cp-body li{text-align:left}@media (hover:hover) and (pointer:fine){.rm-card{transform-style:preserve-3d}.rm-card>*{transform:translateZ(30px)}}.hero-off .hb-pulse,.hero-off .dust{animation-play-state:paused}@media (width<=720px),(hover:none){.hd{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff7}.hero-ready .hb-pulse{opacity:0;animation:none}.dust:nth-child(2n){display:none}.rm-p{will-change:auto}}
