:root{--ink: #1e2a55;--ink-2: #4a5275;--muted: #7a8099;--line: #e4e6f0;--bg: #ffffff;--bg-soft: #f5f7fc;--cyan: #b8f1f8;--lav: #b4b1e6;--blue: #8aa9e5;--blue-deep: #4f6fc4;--sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo UI", system-ui, sans-serif;--en: "Montserrat", "Helvetica Neue", Arial, sans-serif;--wrap: 1200px;--gutter: clamp(16px, 4vw, 48px);--header-h: 84px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;letter-spacing:.04em}img,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:12px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}.narrow{max-width:calc(860px + var(--gutter) * 2)}.env-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#ffe9a8;color:#4a3a00;text-align:center;font-size:12px;padding:4px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 32px;border-radius:999px;border:1.5px solid transparent;font-size:15px;font-weight:700;text-decoration:none;letter-spacing:.06em;transition:background .25s,color .25s,border-color .25s}.btn.sm{min-height:44px;padding:0 26px;font-size:14px}.btn.block{display:flex;width:100%;white-space:normal;text-align:center}.btn.fill{background:var(--ink);color:#fff}.btn.fill:hover{background:var(--blue-deep)}.btn.line{border-color:var(--ink);color:var(--ink);background:#fff}.btn.line:hover{background:var(--ink);color:#fff}.btn .arr{font-family:var(--en);transition:transform .25s}.btn:hover .arr{transform:translate(4px)}.more{display:inline-flex;align-items:center;gap:14px;font-family:var(--en);font-weight:600;font-size:14px;letter-spacing:.12em;text-decoration:none}.more:after{content:"→";display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);font-size:15px;transition:background .25s,color .25s}.more:hover:after{background:var(--ink);color:#fff}.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 1px 0 var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:36px;padding:0 clamp(16px,3vw,40px)}.brand{display:block;flex:none}.brand-logo{width:176px;height:auto}.gnav{margin-left:auto}.gnav ul{display:flex;gap:32px}.gnav a{font-size:14px;font-weight:500;text-decoration:none;position:relative;padding:6px 0}.gnav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .25s}.gnav a:hover:after,.gnav a[aria-current]:after{transform:scaleX(1)}.mnav{display:none;margin-left:auto}.mnav summary{list-style:none;cursor:pointer;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--ink)}.mnav summary::-webkit-details-marker{display:none}.burger,.burger span,.burger:before,.burger:after{display:block;width:20px;height:2px;background:#fff;position:relative;transition:transform .25s}.burger{background:transparent}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-6px}.burger:after{top:6px}.mnav[open] .burger:before{transform:translateY(6px) rotate(45deg)}.mnav[open] .burger:after{transform:translateY(-6px) rotate(-45deg)}.mnav[open] .burger span{opacity:0}.mnav-panel{position:absolute;left:12px;right:12px;top:calc(var(--header-h) - 6px);background:#fff;border-radius:16px;box-shadow:0 20px 50px #1e2a552e;padding:20px;display:grid;gap:10px}.mnav-panel ul{margin-bottom:8px}.mnav-panel li a{display:flex;align-items:baseline;gap:14px;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px;font-weight:500}.mnav-panel .en{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.12em;width:76px;color:var(--blue-deep);text-transform:uppercase}.dm,.bit,.ph-dm{position:absolute;display:block;transform:rotate(45deg)}.hero{isolation:isolate;position:relative;min-height:min(calc(100svh - var(--header-h)),760px);display:flex;align-items:center;overflow:hidden;padding:80px 0 110px}.hero:before{content:"";position:absolute;left:-14vw;top:-22vw;width:62vw;height:62vw;max-width:900px;max-height:900px;border-radius:12%;background:var(--bg-soft);transform:rotate(45deg);z-index:-1}.hero-shapes{position:absolute;right:max(-120px,-8vw);top:50%;width:min(640px,52vw);aspect-ratio:1 / .86;transform:translateY(-50%);z-index:-1}.hero-shapes .dm{width:50%;aspect-ratio:1;border-radius:14%;mix-blend-mode:multiply}.dm-a{left:8%;top:4%;background:var(--lav)}.dm-b{left:42%;top:4%;background:var(--blue)}.dm-c{left:25%;top:34%;background:var(--cyan)}.dm-d{left:59%;top:34%;width:34%!important;background:var(--lav);opacity:.85}.hero-bits{position:absolute;inset:0;z-index:-1;pointer-events:none}.bit{border-radius:18%;animation:float 7s ease-in-out infinite alternate}.b1{width:46px;height:46px;left:22%;top:9%;background:var(--blue)}.b2{width:22px;height:22px;left:15%;top:20%;background:var(--lav);animation-delay:-2s}.b3{width:14px;height:14px;left:31%;top:22%;background:var(--cyan);animation-delay:-4s}.b4{width:30px;height:30px;left:37%;top:14%;background:var(--cyan);animation-delay:-1s}.b5{width:56px;height:56px;left:9%;bottom:16%;background:var(--lav);animation-delay:-3s}.b6{width:16px;height:16px;left:18%;bottom:12%;background:var(--blue);animation-delay:-5s}.b7{width:24px;height:24px;left:50%;bottom:20%;background:var(--blue);animation-delay:-2.5s}.b8{width:18px;height:18px;right:6%;top:12%;background:var(--cyan);animation-delay:-1.5s}@keyframes float{0%{translate:0 0}to{translate:0 -10px}}.hero-inner{position:relative}.hero-en{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.24em;color:var(--blue-deep);text-transform:uppercase}.hero h1{margin-top:18px;font-weight:700;font-size:clamp(34px,4.6vw,60px);line-height:1.5;letter-spacing:.04em}.hero h1 .line{display:block}.hero-lead{margin-top:28px;max-width:520px;font-size:clamp(14px,1.4vw,16px);font-weight:500;line-height:2.1}.hero-actions{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px}.hero-tab{position:absolute;right:0;bottom:40px;display:flex;align-items:center;gap:16px;padding:16px 28px 16px 20px;border:2px solid var(--ink);border-right:0;border-radius:14px 0 0 14px;background:#fff;text-decoration:none;transition:background .25s}.hero-tab:hover{background:var(--bg-soft)}.hero-tab .tag{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;line-height:1.3;text-align:center}.hero-tab small{display:block;font-size:12px;font-weight:500;color:var(--ink-2)}.hero-tab b{font-family:var(--en);font-size:24px;font-weight:700;letter-spacing:.04em}.section{position:relative;padding:clamp(80px,10vw,140px) 0}.section.soft{background:var(--bg-soft)}.section.tight{padding:clamp(56px,7vw,96px) 0}.sec-head{position:relative;margin-bottom:clamp(40px,5vw,64px)}.sh-bg{position:absolute;left:-.06em;top:-.62em;font-family:var(--en);font-weight:700;font-size:clamp(80px,13vw,180px);line-height:1;letter-spacing:.02em;color:var(--bg-soft);text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:0}.section.soft .sh-bg{color:#fff}.sh-en,.sh-ja,.sh-lead{position:relative}.sh-en{display:flex;align-items:center;gap:10px;font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.22em;color:var(--blue-deep);text-transform:uppercase}.dot{width:10px;height:10px;border-radius:2px;background:var(--blue);transform:rotate(45deg);flex:none}.sh-ja{margin-top:10px;font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.5}.sh-lead{margin-top:18px;max-width:720px;color:var(--ink-2)}.sec-head.center{text-align:center}.sec-head.center .sh-en{justify-content:center}.sec-head.center .sh-bg{left:50%;transform:translate(-50%)}.sec-head.center .sh-lead{margin-left:auto;margin-right:auto}.sec-foot{margin-top:40px;text-align:right}.news-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:32px 64px;align-items:start}.news-split .sec-head{margin-bottom:0}.news-split .more{margin-top:32px}.news-list li{border-bottom:1px solid var(--line)}.news-list li:first-child{border-top:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:104px 96px minmax(0,1fr);gap:20px;align-items:center;padding:26px 8px;text-decoration:none;transition:background .25s}.news-list a:hover{background:var(--bg-soft)}.news-list a:hover .ttl{color:var(--blue-deep)}.news-list time{font-family:var(--en);font-weight:600;font-size:15px;letter-spacing:.06em}.cat{justify-self:start;font-size:11px;font-weight:700;padding:2px 10px;border-radius:4px;background:var(--ink);color:#fff;white-space:nowrap}.cat.c-media{background:var(--lav);color:var(--ink)}.cat.c-service{background:var(--blue);color:var(--ink)}.news-list .ttl{font-weight:500;transition:color .25s}.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.svc-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .35s,box-shadow .35s}.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #1e2a551a}.svc-visual{position:relative;aspect-ratio:16 / 8;overflow:hidden;display:flex;align-items:flex-end;padding:24px 28px}.svc-visual.lav{background:var(--cyan)}.svc-visual.blue{background:#dfe8f9}.svc-visual .v1,.svc-visual .v2,.svc-visual .v3{position:absolute;aspect-ratio:1;border-radius:14%;transform:rotate(45deg);mix-blend-mode:multiply}.svc-visual .v1{width:46%;right:4%;top:-18%;background:var(--lav)}.svc-visual .v2{width:32%;right:30%;top:30%;background:var(--blue)}.svc-visual .v3{width:14%;right:8%;bottom:10%;background:#fff;mix-blend-mode:normal;opacity:.8}.svc-visual.blue .v2{background:var(--cyan)}.svc-visual .no{position:relative;font-family:var(--en);font-weight:700;font-size:15px;letter-spacing:.16em}.svc-visual .en{position:relative;margin-left:14px;font-family:var(--en);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.2}.svc-body{padding:28px 30px 32px;display:flex;flex-direction:column;flex:1}.svc-body .tag{align-self:flex-start;font-size:12px;font-weight:700;padding:2px 12px;border-radius:999px;border:1.5px solid var(--ink)}.svc-body h3{margin-top:14px;font-size:clamp(18px,1.8vw,22px);font-weight:700;line-height:1.6}.svc-body p{margin-top:12px;font-size:15px;color:var(--ink-2)}.svc-body .go{margin-top:auto;padding-top:20px;align-self:flex-end;font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.12em;display:inline-flex;align-items:center;gap:12px}.svc-body .go:after{content:"→";display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff}.about-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px 80px;align-items:center}.about-copy .catch{font-weight:700;font-size:clamp(24px,2.8vw,34px);line-height:1.7}.about-copy p.body{margin-top:20px;color:var(--ink-2)}.about-copy .more{margin-top:32px}.stats{display:grid;gap:14px}.stat{display:flex;align-items:baseline;gap:8px;padding:22px 28px;border-radius:16px;background:#fff;border:1px solid var(--line)}.stat .num{font-family:var(--en);font-weight:700;font-size:clamp(40px,4.4vw,56px);line-height:1;color:var(--ink)}.stat .unit{font-weight:700;font-size:15px}.stat .label{margin-left:auto;font-size:13px;font-weight:500;color:var(--ink-2)}.stat:before{content:"";width:12px;height:12px;border-radius:2px;transform:rotate(45deg);align-self:center;margin-right:6px;flex:none}.stat:nth-child(1):before{background:var(--cyan)}.stat:nth-child(2):before{background:var(--lav)}.stat:nth-child(3):before{background:var(--blue)}.stats-note{margin-top:10px;font-size:12px;color:var(--muted);text-align:right}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contact-box{position:relative;overflow:hidden;border-radius:20px;padding:40px 40px 36px;display:flex;flex-direction:column;gap:14px}.contact-box.c1{background:var(--ink);color:#fff}.contact-box.c2{background:#fff;border:1.5px solid var(--ink)}.contact-box:after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:16%;transform:rotate(45deg);background:var(--blue);opacity:.5}.contact-box.c2:after{background:var(--cyan);opacity:1}.contact-box .who{position:relative;font-size:13px;font-weight:700;letter-spacing:.1em}.contact-box h3{position:relative;font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.6}.contact-box p{position:relative;font-size:14px}.contact-box.c1 p{color:#ffffffd9}.contact-box.c2 p{color:var(--ink-2)}.contact-box .btn{position:relative;margin-top:10px;align-self:flex-start}.contact-box.c1 .btn{background:#fff;color:var(--ink)}.contact-box.c1 .btn:hover{background:var(--cyan)}.page-head{position:relative;overflow:hidden;padding:clamp(64px,8vw,110px) 0 clamp(48px,6vw,72px);background:var(--bg-soft)}.ph-bg{position:absolute;right:-.04em;bottom:-.2em;font-family:var(--en);font-weight:700;font-size:clamp(80px,14vw,200px);line-height:1;color:#fff;text-transform:uppercase;white-space:nowrap;pointer-events:none}.ph-dm{border-radius:16%;mix-blend-mode:multiply}.ph-dm1{width:150px;height:150px;right:14%;top:-60px;background:var(--lav)}.ph-dm2{width:96px;height:96px;right:7%;top:40px;background:var(--cyan)}.ph-dm3{width:34px;height:34px;right:24%;top:110px;background:var(--blue)}.page-head .wrap{position:relative}.ph-en{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.24em;color:var(--blue-deep);text-transform:uppercase}.page-head h1{margin-top:10px;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.4}.ph-lead{margin-top:22px;max-width:720px;color:var(--ink-2);font-weight:500}.crumb{padding-top:16px;padding-bottom:16px;font-size:12px;color:var(--muted)}.crumb ol{display:flex;flex-wrap:wrap;gap:8px}.crumb li+li:before{content:">";margin-right:8px;opacity:.6}.crumb a{text-decoration:none}.crumb a:hover{color:var(--blue-deep)}.local-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.local-nav a{font-size:13px;font-weight:500;padding:8px 18px;border-radius:999px;border:1.5px solid var(--ink);background:#fff;text-decoration:none}.local-nav a:hover{background:var(--ink);color:#fff}.mv-grid{display:grid;gap:24px}.mv-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px 48px;padding:40px 0;border-bottom:1px solid var(--line)}.mv-row:first-child{border-top:1px solid var(--line)}.mv-row .label{font-family:var(--en);font-weight:700;font-size:22px;letter-spacing:.1em;display:flex;align-items:center;gap:12px}.mv-row .label small{display:block;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--muted)}.mv-row .big{font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.6}.mv-row .note{margin-top:14px;color:var(--ink-2)}.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.value{position:relative;overflow:hidden;padding:34px 32px;border-radius:20px;background:#fff;border:1px solid var(--line)}.value:after{content:"";position:absolute;right:-26px;top:-26px;width:92px;height:92px;border-radius:16%;transform:rotate(45deg)}.value:nth-child(4n+1):after{background:var(--cyan)}.value:nth-child(4n+2):after{background:var(--lav)}.value:nth-child(4n+3):after{background:var(--blue)}.value:nth-child(4n+4):after{background:var(--cyan)}.value .no{font-family:var(--en);font-weight:700;font-size:15px;letter-spacing:.14em;color:var(--blue-deep)}.value .en{margin-left:10px;font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.value h3{margin-top:12px;font-size:22px;font-weight:700}.value p{margin-top:10px;color:var(--ink-2);font-size:15px}.message{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px 80px}.message .catch{font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.7}.message .body p{color:var(--ink-2)}.message .body p+p{margin-top:1.3em}.message .sign{margin-top:36px;text-align:right}.message .sign .role{font-size:13px;color:var(--muted);margin-right:14px}.message .sign .name{font-size:24px;font-weight:700;letter-spacing:.14em}.message .sign .en{display:block;font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--muted)}.overview div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:24px 8px;border-bottom:1px solid var(--line)}.overview div:first-child{border-top:2px solid var(--ink)}.overview dt{font-weight:700;font-size:15px}.overview dd{font-size:15px;color:var(--ink-2)}.overview dd a{color:var(--blue-deep)}.history{position:relative}.history li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:22px 0 22px 34px;border-left:2px solid var(--line);position:relative}.history li:before{content:"";position:absolute;left:-8px;top:32px;width:14px;height:14px;border-radius:3px;transform:rotate(45deg);background:var(--blue)}.history time{font-family:var(--en);font-weight:700;font-size:18px;letter-spacing:.06em}.access{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:32px 36px;border-radius:20px;background:var(--bg-soft);margin-top:40px}.svc-block{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 72px;padding:clamp(56px,8vw,96px) 0;border-top:1px solid var(--line)}.svc-block:first-of-type{border-top:0;padding-top:0}.svc-block .svc-visual{border-radius:20px;aspect-ratio:4 / 3}.svc-detail .tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 12px;border-radius:999px;border:1.5px solid var(--ink)}.svc-detail h2{margin-top:16px;font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1.6}.svc-detail>p{margin-top:18px;color:var(--ink-2)}.svc-detail h3{margin-top:36px;font-size:14px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chips li{font-size:13px;font-weight:500;padding:6px 14px;border-radius:8px;background:var(--bg-soft)}.steps{margin-top:14px;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.steps li:before{content:counter(s,decimal-leading-zero);font-family:var(--en);font-weight:700;font-size:18px;color:var(--blue-deep)}.steps b{display:block;font-weight:700}.steps span{color:var(--ink-2);font-size:14px}.svc-detail .actions{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px}.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:18px}.article-meta time{font-family:var(--en);font-weight:600;font-size:16px;letter-spacing:.06em}.article h1{font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.6;padding-bottom:28px;border-bottom:2px solid var(--ink)}.article .body{padding:36px 0}.article .body p+p{margin-top:1.3em}.article .back{padding-top:32px;border-top:1px solid var(--line)}.prose h2{font-size:18px;font-weight:700;margin:2.4em 0 .8em;display:flex;align-items:center;gap:12px;line-height:1.6}.prose h2:before{content:"";width:10px;height:10px;border-radius:2px;transform:rotate(45deg);background:var(--blue);flex:none}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--ink-2);font-size:15px}.prose p+p{margin-top:1em}.prose a{color:var(--blue-deep)}.form-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px 72px;align-items:start}.form-aside{position:sticky;top:calc(var(--header-h) + 24px)}.form-aside h2{font-size:24px;font-weight:700;line-height:1.6}.form-aside p{margin-top:16px;color:var(--ink-2);font-size:14px}.aside-card{margin-top:28px;padding:24px;border-radius:16px;background:var(--bg-soft)}.aside-card b{display:block;font-size:15px}.aside-card p{margin-top:8px}.aside-card .btn{margin-top:16px}.form{display:grid;gap:26px;padding:clamp(24px,4vw,44px);border-radius:20px;border:1px solid var(--line);background:#fff}.field label,.field .label{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;margin-bottom:8px}.req,.opt{font-size:11px;font-weight:700;padding:1px 8px;border-radius:4px}.req{background:var(--ink);color:#fff}.opt{background:var(--bg-soft);color:var(--muted)}.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;font:inherit;font-size:16px;padding:13px 16px;border:1.5px solid #d3d6e4;border-radius:10px;background:#fff;color:var(--ink)}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue-deep);box-shadow:0 0 0 3px #8aa9e54d}.field [aria-invalid=true]{border-color:#c0392b}.field .err{color:#c0392b;font-size:13px;margin-top:6px}.radios{display:grid;gap:8px}.radios label{font-weight:500;margin:0;padding:12px 16px;border:1.5px solid #d3d6e4;border-radius:10px;cursor:pointer;min-height:48px}.radios label:has(input:checked){border-color:var(--ink);background:var(--bg-soft)}.radios input,.consent input{width:18px;height:18px;accent-color:var(--ink);flex:none}.consent label{font-weight:500;margin:0}.consent a{color:var(--blue-deep)}.form-summary{padding:14px 16px;border-radius:10px;background:#fdecea;color:#8a2a1f;font-size:14px}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form .btn{justify-self:center;min-width:280px;min-height:58px;font-size:16px}.form .btn:disabled{opacity:.6}.center-box{text-align:center;max-width:640px;margin:0 auto}.center-box h1{font-size:clamp(24px,3.4vw,34px);font-weight:700}.center-box p{margin-top:20px;color:var(--ink-2)}.center-box .actions{margin-top:36px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.site-footer{position:relative;overflow:hidden;background:var(--bg-soft);border-top:1px solid var(--line)}.site-footer:before{content:"";position:absolute;right:-80px;bottom:-120px;width:300px;height:300px;border-radius:14%;transform:rotate(45deg);background:var(--cyan);opacity:.6}.footer-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding-top:64px;padding-bottom:40px;font-size:13px}.footer-logo{width:176px;height:auto;margin-bottom:20px}.footer-brand p{color:var(--ink-2)}.footer-nav ul{display:flex;flex-wrap:wrap;gap:12px 32px}.footer-nav a{text-decoration:none;font-weight:500}.footer-nav a:hover{color:var(--blue-deep)}.footer-sub{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:12px}.footer-sub a{font-weight:400!important;color:var(--ink-2)}.copyright{position:relative;padding-bottom:28px;font-family:var(--en);font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--muted)}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.will-reveal.is-in{opacity:1;transform:none}@media(max-width:1080px){.gnav ul{gap:22px}.hero-shapes{opacity:.55}}@media(max-width:900px){:root{--header-h: 68px}.gnav,.header-cta{display:none}.mnav{display:block}.brand-logo{width:150px}.news-split,.about-grid,.message,.svc-block,.form-wrap,.footer-grid,.contact-grid,.svc-grid,.values{grid-template-columns:minmax(0,1fr)}.mv-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:28px 0}.form-aside{position:static}.hero{min-height:0;padding:56px 0 150px}.hero-shapes{width:92vw;right:-30vw;top:auto;bottom:-10vw;transform:none;opacity:.5}}@media(max-width:640px){.hero h1{font-size:clamp(26px,7.4vw,34px);letter-spacing:.02em}.hero-actions .btn{width:100%}.hero-tab{left:16px;right:16px;bottom:24px;border-right:2px solid var(--ink);border-radius:14px;padding:12px 16px}.hero-tab b{font-size:18px}.hero-tab .tag{width:44px;height:44px;font-size:11px}.news-list a{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;padding:20px 4px}.news-list .ttl{grid-column:1 / -1}.stat{padding:18px 20px;flex-wrap:wrap}.stat .label{margin-left:0;width:100%}.overview div{grid-template-columns:minmax(0,1fr);gap:4px;padding:18px 4px}.history li{grid-template-columns:minmax(0,1fr);gap:2px}.access{grid-template-columns:minmax(0,1fr);padding:24px}.contact-box{padding:30px 24px}.contact-box .btn,.form .btn{width:100%;min-width:0}.btn{white-space:normal;text-align:center}.value{padding:28px 24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.b2{left:4%;top:30%}.svc-visual .v1,.svc-visual .v2{mix-blend-mode:normal}.svc-visual .v1{opacity:.9}.svc-visual .v2{opacity:.75}.svc-visual.lav .v2{background:#fff;opacity:.7}.svc-visual.blue .v1{background:var(--blue)}.svc-visual.blue .v2{background:var(--cyan);opacity:.9}.stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:baseline;column-gap:8px;row-gap:4px}.stat:before{grid-row:1 / span 2;align-self:center;margin-right:14px}.stat .label{grid-column:2;grid-row:1;margin-left:0;width:auto}.stat .num{grid-column:2;grid-row:2}.stat .num+.unit{grid-column:2;grid-row:2;justify-self:start}.stat-val{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:6px}.about-copy .catch{margin-top:-8px}@media(max-width:640px){.b1,.b2,.b4{display:none}}.biz-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px 48px;padding:40px 0;border-top:1px solid var(--line)}.biz-row:first-of-type{border-top:0;padding-top:0}.biz-en{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--blue-deep);text-transform:uppercase}.biz-name{margin-top:6px;font-size:clamp(20px,2vw,24px);font-weight:700;display:flex;align-items:center;gap:10px}.biz-name:before{content:"";width:12px;height:12px;border-radius:2px;transform:rotate(45deg);background:var(--blue);flex:none}.svc-grid.one{grid-template-columns:minmax(0,1fr)}.svc-grid.one .svc-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.svc-grid.one .svc-visual{aspect-ratio:auto;min-height:220px}.svc-body h4{margin-top:14px;font-size:clamp(18px,1.8vw,22px);font-weight:700;line-height:1.5}.svc-visual.cyan{background:#eef9fb}.svc-visual.cyan .v1{background:var(--cyan);opacity:1}.svc-visual.cyan .v2{background:var(--lav);opacity:.8}.svc-visual.lav{background:#efeefb}.svc-visual.lav .v1{background:var(--lav)}.svc-visual.lav .v2{background:var(--cyan);opacity:.9}.svc-visual.blue{background:#e9effb}.biz-block{padding-top:clamp(48px,6vw,80px)}.biz-block:first-of-type{padding-top:0}.biz-block>.biz-head{padding-bottom:20px;border-bottom:2px solid var(--ink)}.soon{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--bg-soft);color:var(--ink-2);font-weight:700;font-size:14px}@media(max-width:900px){.biz-row,.svc-grid.one .svc-card{grid-template-columns:minmax(0,1fr)}}.svc-detail .svc-title{margin-top:16px;font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1.5}.svc-detail .svc-catch{margin-top:8px;font-weight:700;color:var(--blue-deep)}.svc-detail h4{margin-top:36px;font-size:14px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:10px}.biz-block .svc-block:first-of-type{border-top:0;padding-top:clamp(40px,5vw,64px)}.biz-row{grid-template-columns:minmax(0,1fr);gap:20px}.section,.page-head{isolation:isolate}.sh-bg,.ph-bg{z-index:-1}.hero-shapes .dm{animation:drift 9s ease-in-out infinite alternate}.dm-a{animation-duration:11s!important;--dx: 14px;--dy: -18px}.dm-b{animation-duration:9s!important;animation-delay:-3s!important;--dx: -16px;--dy: 12px}.dm-c{animation-duration:13s!important;animation-delay:-5s!important;--dx: 12px;--dy: 16px}.dm-d{animation-duration:10s!important;animation-delay:-2s!important;--dx: -10px;--dy: -14px}.bit{animation-name:drift!important;--dx: 6px;--dy: -12px}.b2,.b5,.b7{--dx: -8px;--dy: 10px}.b3,.b6{animation-duration:9s!important;--dx: 10px;--dy: 8px}@keyframes drift{0%{translate:0 0}to{translate:var(--dx, 8px) var(--dy, -10px)}}.contact-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-box.c3{background:#fff;border:1.5px solid var(--line)}.contact-box.c3:after{background:var(--lav);opacity:1}.contact-box.c3 p{color:var(--ink-2)}.contact-box .soon{position:relative;margin-top:10px;align-self:flex-start}.contact-box h3{font-size:clamp(18px,1.7vw,22px)}@media(max-width:1080px){.contact-grid.three{grid-template-columns:minmax(0,1fr)}}.map{margin-top:20px;border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16 / 7;background:var(--bg-soft)}.map iframe{display:block;width:100%;height:100%;border:0}@media(max-width:640px){.map{aspect-ratio:4 / 3}}.biz-summary{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px}.biz-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:36px 34px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .35s,box-shadow .35s}.biz-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1e2a551a}.biz-card.main{background:var(--ink);color:#fff;border-color:var(--ink)}.biz-card.main .biz-en{color:var(--cyan)}.biz-card:after{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:16%;transform:rotate(45deg);background:var(--lav)}.biz-card.main:after{background:var(--blue);opacity:.6}.biz-card .biz-name{font-size:clamp(22px,2.4vw,28px)}.biz-card ul{margin-top:18px;display:grid;gap:8px;font-weight:500}.biz-card li{padding-left:18px;position:relative}.biz-card li:before{content:"";position:absolute;left:0;top:.75em;width:7px;height:7px;border-radius:1px;transform:rotate(45deg);background:currentColor;opacity:.6}.biz-card .go{margin-top:auto;padding-top:24px;align-self:flex-end;font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.12em}@media(max-width:900px){.biz-summary{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.hero-shapes .dm,.hero-bits .bit{animation-name:drift!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-direction:alternate!important}.hero-shapes .dm{animation-duration:10s!important}.hero-shapes .dm-a{animation-duration:11s!important}.hero-shapes .dm-b{animation-duration:9s!important;animation-delay:-3s!important}.hero-shapes .dm-c{animation-duration:13s!important;animation-delay:-5s!important}.hero-shapes .dm-d{animation-duration:10s!important;animation-delay:-2s!important}.hero-bits .bit{animation-duration:7s!important}}
