@charset "UTF-8";

/*
Theme Name: 株式会社CIS PLUS
Description: 株式会社CIS PLUSのオリジナルWordPressテーマ
Version: 1.0
*/



:root{--navy:#061a37;--blue:#0c58a7;--bright:#168bd0;--ink:#10233c;--muted:#64758a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}header{height:88px;display:flex;align-items:center;padding:0 5vw;gap:3vw;background:#fff}.logo{display:flex;align-items:center;gap:11px;margin-right:auto}.logo>span:last-child{display:flex;align-items:baseline;gap:7px}.logo small{font-size:9px}.logo strong{font:700 24px Georgia,serif;letter-spacing:.08em}.mark{width:48px;height:40px;position:relative;display:block}.mark i,.mark b{position:absolute;border:3px solid var(--blue);border-radius:50%;width:44px;height:25px;top:8px;transform:rotate(24deg)}.mark b{width:30px;height:36px;left:8px;top:2px;border-color:#8098ae;transform:rotate(-35deg)}.mark em{position:absolute;right:-3px;top:-5px;color:var(--bright);font-style:normal;font-weight:700}nav{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:700}.contact-link{background:var(--blue);color:#fff;padding:15px 18px}.menu{display:none}.home-hero{min-height:calc(100vh - 88px);display:flex;align-items:center;padding:8vw;color:#fff;background:linear-gradient(125deg,#06162f,#07589a)}.home-hero>div{max-width:850px}.home-hero span,.label,.page-hero>span{color:#70bde8;font:700 10px Arial;letter-spacing:.22em}.home-hero h1{font:500 clamp(46px,6vw,90px)/1.3 "Yu Mincho",serif;margin:28px 0}.home-hero em{font-style:normal;color:#78c4ed}.home-hero p{max-width:680px;color:#c2d4e6;line-height:2}.home-hero a,.button{display:inline-block;background:#fff;color:var(--blue);padding:17px 23px;margin-top:25px;font-size:13px;font-weight:700}.section{padding:100px 8vw}.section>h2,.intro h2{font:500 clamp(30px,4vw,52px)/1.5 "Yu Mincho",serif}.intro>p{max-width:800px;color:var(--muted);line-height:2.2}.dark{background:var(--navy);color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#29405c;margin-top:50px}.card{background:#0a2341;padding:30px;min-height:245px}.card>span{color:#67b8e5;font-size:10px}.card h3{font-size:18px;margin:36px 0 15px}.card p{color:#9bb0c5;font-size:13px;line-height:1.8}.card b{color:#73c4ef;font-size:11px}.light-cards{background:#dce5ed;margin:0}.light-cards .card{background:#fff;color:var(--ink)}.light-cards .card p{color:var(--muted)}.license-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.license-grid article{padding:35px;border-top:4px solid var(--blue);background:#f3f7fa}.license-grid small{color:var(--muted)}.page-hero{padding:90px 9vw;color:#fff;background:linear-gradient(125deg,#06162f,#07589a)}.page-hero h1{font:500 clamp(40px,5vw,70px) "Yu Mincho",serif;margin:25px 0 18px}.page-hero p{color:#c2d4e6}.detail,.access{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw}.detail h2,.access h2{font:500 clamp(28px,3.5vw,44px)/1.6 "Yu Mincho",serif}.detail>div>p,.access p{color:var(--muted);line-height:2}.detail aside{background:#f2f7fb;padding:38px}.detail ul{list-style:none;padding:0}.detail li{padding:14px 0;border-bottom:1px solid #d5e1ea}.detail li:before{content:"＋";color:var(--blue);margin-right:12px}.back{padding:0 8vw 70px;color:var(--blue)}.contact-band{background:#0a427b;color:#fff;padding:60px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-band h2{font:500 30px "Yu Mincho",serif}.contact-band>div:last-child{display:flex;flex-direction:column;gap:9px}.contact-band a{background:#fff;color:var(--navy);padding:16px 20px;font-weight:700}.profile{max-width:900px;margin:auto;border-top:1px solid #d8e1e9}.profile div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #d8e1e9;padding:24px}.profile dt{color:var(--muted)}.profile dd{margin:0;line-height:2}.map{min-height:400px;background:#e8f0f6;display:flex;align-items:center;justify-content:center;position:relative}.map i{width:22px;height:22px;background:var(--blue);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.map b{position:absolute;transform:translateY(40px)}.access .button,.detail .button{background:var(--blue);color:#fff}.sitemap{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.sitemap>div{display:flex;flex-direction:column}.sitemap h2{font:500 25px "Yu Mincho",serif;border-bottom:2px solid var(--navy);padding-bottom:16px}.sitemap a{padding:14px;border-bottom:1px solid #dbe4eb}footer{background:#041429;color:#8ea3ba;padding:50px 7vw 30px;display:grid;grid-template-columns:auto 1fr auto;gap:4vw;align-items:center;font-size:11px}footer .logo{color:#fff}footer>div{display:flex;gap:15px;flex-wrap:wrap}footer>small{grid-column:1/-1;border-top:1px solid #18314c;padding-top:22px}@media(max-width:900px){header{height:72px;padding:0 20px}.menu{display:block;border:0;background:var(--blue);color:#fff;padding:12px;font-size:10px}nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;padding:20px;z-index:10;flex-direction:column;align-items:stretch}nav.open{display:flex}.home-hero{min-height:calc(100vh - 72px)}.cards{grid-template-columns:repeat(2,1fr)}.detail,.access,.contact-band{grid-template-columns:1fr}footer{grid-template-columns:1fr}.license-grid{grid-template-columns:1fr}}@media(max-width:560px){.logo small{display:none}.logo strong{font-size:19px}.mark{width:40px}.home-hero,.section,.page-hero{padding:70px 22px}.home-hero h1{font-size:43px}.cards{grid-template-columns:1fr}.card{min-height:auto}.profile div{grid-template-columns:1fr;gap:8px;padding:20px 0}.sitemap{grid-template-columns:1fr}.contact-band{padding:50px 22px}footer{padding:45px 22px}}
:root{--cyan:#55c8ff;--line:rgba(116,180,224,.22);--shadow:0 28px 80px rgba(2,22,48,.14)}
body{background:#f8fbfd;letter-spacing:.02em;overflow-x:hidden}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,26,55,.07);transition:height .3s,box-shadow .3s}
header.scrolled{height:72px;box-shadow:0 12px 40px rgba(4,25,51,.1)}
header nav>a:not(.contact-link){position:relative;padding:32px 0;transition:color .25s}
header nav>a:not(.contact-link):after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:linear-gradient(90deg,var(--bright),var(--cyan));transition:right .3s}
header nav>a:hover{color:var(--bright)} header nav>a:hover:after{right:0}
.contact-link{background:linear-gradient(135deg,var(--blue),var(--bright));box-shadow:0 10px 28px rgba(12,88,167,.24);transition:transform .25s,box-shadow .25s}.contact-link:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 15px 32px rgba(12,88,167,.34)}
.mark{filter:drop-shadow(0 6px 10px rgba(15,105,175,.15))}.mark i,.mark b{transition:transform .7s}.logo:hover .mark i{transform:rotate(204deg)}.logo:hover .mark b{transform:rotate(-215deg)}
.home-hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 76% 20%,rgba(29,155,222,.24),transparent 24%),linear-gradient(132deg,#031128 0%,#082b58 55%,#0672b7 120%)}
.home-hero:before,.page-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(100deg,transparent,#000)}
.home-hero:after,.page-hero:after{content:"CIS+";position:absolute;right:-4vw;bottom:-7vw;z-index:-1;font:700 clamp(130px,25vw,390px)/1 Georgia,serif;letter-spacing:-.08em;color:rgba(255,255,255,.035)}
.home-hero h1,.page-hero h1{text-shadow:0 18px 55px rgba(0,0,0,.22)}.home-hero h1 em{background:linear-gradient(100deg,#6fc9f5,#b9eaff);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-hero>div>span,.label,.page-hero>span{display:inline-flex;align-items:center;gap:14px}.home-hero>div>span:before,.label:before,.page-hero>span:before{content:"";width:32px;height:1px;background:currentColor}
.home-hero>a,.button{border-radius:2px}.home-hero a{position:relative;overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.18);transition:transform .25s,background .25s}.home-hero a:hover{transform:translateY(-3px);background:#eaf8ff}
.section{position:relative}.intro{background:linear-gradient(90deg,#eef5fa 0 31%,#fff 31%)}.intro h2{max-width:900px}.intro>p{margin-left:31%;padding-left:8vw}
.dark{background:radial-gradient(circle at 15% 15%,#103969 0,transparent 32%),var(--navy);overflow:hidden}.dark:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(78,186,239,.15);border-radius:50%;right:-180px;top:-130px;box-shadow:0 0 0 70px rgba(78,186,239,.035),0 0 0 140px rgba(78,186,239,.02)}
.cards{gap:14px;background:transparent}.card{position:relative;border:1px solid rgba(120,177,214,.18);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;background:linear-gradient(145deg,rgba(15,52,91,.92),rgba(5,27,54,.96))}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(90,201,255,.09));opacity:0;transition:opacity .3s}.card:hover{transform:translateY(-7px);border-color:rgba(93,202,255,.58);box-shadow:0 24px 55px rgba(0,0,0,.24)}.card:hover:before{opacity:1}.card>span{font-weight:700;letter-spacing:.18em}.card b{display:inline-block;margin-top:16px;transition:transform .25s}.card:hover b{transform:translateX(5px)}
.light-cards .card{border:1px solid #e0e8ef;background:linear-gradient(145deg,#fff,#f6fafc);box-shadow:0 18px 50px rgba(5,31,61,.06)}.light-cards .card:hover{border-color:#8bccec;box-shadow:var(--shadow)}
.license-grid article{position:relative;border:0;border-left:4px solid var(--bright);background:#fff;box-shadow:0 20px 55px rgba(5,31,61,.08);transition:transform .3s,box-shadow .3s}.license-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.detail aside{border:1px solid #dce9f2;border-top:4px solid var(--bright);background:linear-gradient(145deg,#f6fbfe,#eaf3f8);box-shadow:0 24px 60px rgba(4,33,66,.09)}.detail li{transition:padding-left .25s,color .25s}.detail li:hover{padding-left:8px;color:var(--blue)}
.profile{background:#fff;box-shadow:0 24px 70px rgba(4,31,62,.08);border:1px solid #e0e8ef}.profile div{padding:25px 32px;transition:background .2s}.profile div:hover{background:#f4f9fc}.profile dt{font-weight:700;color:#3473a7}
.map{overflow:hidden;background-color:#e8f1f7;background-image:linear-gradient(35deg,transparent 47%,#d0e0ea 48%,#d0e0ea 51%,transparent 52%),linear-gradient(-35deg,transparent 47%,#d6e4ed 48%,#d6e4ed 51%,transparent 52%);background-size:95px 72px;box-shadow:var(--shadow)}.map:after{content:"TOYOHASHI / AICHI";position:absolute;left:28px;top:25px;color:#8099ad;font:700 10px Arial;letter-spacing:.2em}.map i{box-shadow:0 12px 25px rgba(12,88,167,.35);animation:pin 2.2s ease-in-out infinite}.map b{letter-spacing:.12em}
.contact-band{position:relative;overflow:hidden;background:linear-gradient(120deg,#073a70,#087ab9)}.contact-band:after{content:"+";position:absolute;right:3vw;bottom:-8vw;color:rgba(255,255,255,.06);font:700 240px Georgia,serif}.contact-band a{position:relative;z-index:1;border-left:3px solid var(--cyan);transition:transform .25s,background .25s}.contact-band a:hover{transform:translateX(7px);background:#eaf8ff}
.sitemap>div{background:#fff;padding:28px 32px;box-shadow:0 18px 50px rgba(4,31,62,.06)}.sitemap a{transition:padding-left .25s,color .25s}.sitemap a:hover{padding-left:22px;color:var(--blue)}
footer{background:radial-gradient(circle at 80% 20%,#0a315d,transparent 30%),#020e1e;border-top:1px solid #12375d}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.card.reveal:nth-child(2n){transition-delay:.08s}.card.reveal:nth-child(3n){transition-delay:.14s}
@keyframes pin{0%,100%{transform:rotate(-45deg) translate(0,0)}50%{transform:rotate(-45deg) translate(5px,-5px)}}
@media(max-width:900px){header.scrolled{height:64px}header nav>a:not(.contact-link){padding:12px 0}header nav>a:not(.contact-link):after{bottom:5px}.intro{background:#f4f8fb}.intro>p{margin-left:0;padding-left:0}.cards{gap:10px}nav{box-shadow:0 20px 40px rgba(3,25,50,.14);backdrop-filter:blur(18px)}}
@media(max-width:560px){.home-hero:before,.page-hero:before{background-size:48px 48px}.home-hero h1{letter-spacing:.01em}.license-grid article{padding:28px 24px}.profile{box-shadow:none}.profile div{padding:20px}.reveal{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.map i{animation:none}}

.long-copy{max-width:900px;margin:38px 0 0 24%;display:grid;grid-template-columns:1fr 1fr;gap:4vw}.long-copy p,.section-lead{color:var(--muted);font-size:14px;line-height:2.25;margin:0}.section-lead{max-width:760px;color:#9eb5ca;margin:22px 0 0}.ink-lead{color:var(--muted);margin-bottom:42px}.strengths-copy{background:#fff}.copy-grid,.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.copy-grid article,.flow-grid article{background:#f4f8fb;border:1px solid #dfe9f0;padding:34px;transition:transform .3s,box-shadow .3s,border-color .3s}.copy-grid article:hover,.flow-grid article:hover{transform:translateY(-5px);border-color:#9bd4ef;box-shadow:0 22px 55px rgba(4,31,62,.09)}.copy-grid b,.flow-grid b{color:var(--bright);font:700 11px Arial;letter-spacing:.16em}.copy-grid h3,.flow-grid h3{font:500 21px "Yu Mincho",serif;margin:30px 0 15px}.copy-grid p,.flow-grid p{color:var(--muted);font-size:13px;line-height:2;margin:0}.service-intro>h2,.company-message>h2,.company-data>h2,.flow>h2{font:500 clamp(30px,4vw,50px)/1.55 "Yu Mincho",serif}.service-intro .light-cards{margin-top:65px}.flow{padding-top:80px;background:#eef5f9}.company-message{background:linear-gradient(90deg,#eef5fa 0 31%,#fff 31%)}.company-data{background:#f3f7fa}.company-data>h2{margin-bottom:42px}.detail>div>p+p{margin-top:22px}.detail aside>h3:not(:first-child){margin-top:34px}.detail aside>p{color:var(--muted);font-size:13px;line-height:2}.access>div:last-child>p{max-width:520px}
@media(max-width:900px){.long-copy{margin-left:0;grid-template-columns:1fr;gap:10px}.copy-grid,.flow-grid{grid-template-columns:1fr}.company-message{background:#f4f8fb}.flow{padding-top:65px}}

.logo.official{width:245px;max-width:32vw;height:64px;display:flex;align-items:center;overflow:hidden}.logo.official img{display:block;width:100%;height:auto;object-fit:contain}.logo.official:hover img{filter:drop-shadow(0 7px 10px rgba(14,87,157,.16))}.footer-official{background:#fff;border-radius:2px;padding:8px 12px;width:225px!important;height:72px!important;max-width:none!important}.footer-official img{width:100%}.footer-official+.logo{display:none}
@media(max-width:900px){.logo.official{width:195px;max-width:55vw;height:54px}.footer-official{width:210px!important;max-width:100%!important}}
@media(max-width:560px){.logo.official{width:165px;max-width:52vw}.footer-official{width:200px!important}}

/* Editorial corporate layout inspired by the reference site's information design */
header{height:94px;padding:0 2.4vw;border-bottom:1px solid #e6e8eb;background:rgba(255,255,255,.96)}header.scrolled{height:76px}.logo.official{width:220px;height:68px;max-width:22vw}header nav{align-self:stretch;gap:0}header nav>a:not(.contact-link){display:flex;align-items:center;max-width:120px;padding:0 20px;border-left:1px solid #edf0f2;font-size:12px;line-height:1.45}header nav>a:not(.contact-link):after{bottom:0;height:4px}.contact-link{align-self:center;margin-left:15px;border-radius:50px;padding:15px 22px}
.editorial-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,.95fr);min-height:680px;padding:0;color:var(--ink);background:#fff;isolation:isolate}.editorial-hero:before{inset:0 33% 0 0;opacity:.34;background-image:linear-gradient(rgba(13,91,161,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(13,91,161,.07) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(100deg,transparent,#000 70%)}.editorial-hero:after{content:"CIS+";right:32%;bottom:-3vw;color:rgba(7,64,121,.025);font-size:22vw}.hero-main{position:relative;display:flex;flex-direction:column;justify-content:center;padding:80px 6.5vw;overflow:hidden}.hero-main:after{content:"";position:absolute;right:6%;top:17%;width:270px;height:270px;border:2px solid rgba(17,127,191,.16);border-radius:50%;box-shadow:0 0 0 55px rgba(17,127,191,.035),0 0 0 110px rgba(17,127,191,.025);z-index:-1}.hero-main>span{color:var(--blue);font-size:11px;letter-spacing:.28em}.hero-main .hero-index{position:absolute;right:25px;bottom:25px;color:#9aa8b5;font:700 9px Arial;letter-spacing:.24em;writing-mode:vertical-rl}.editorial-hero .hero-main h1{margin:34px 0 28px;color:#15202e;text-shadow:none;font-size:clamp(52px,5vw,76px);line-height:1.18;letter-spacing:.01em}.editorial-hero .hero-main h1 em{background:linear-gradient(90deg,#0759a6,#15a5db);-webkit-background-clip:text;background-clip:text;color:transparent}.editorial-hero .hero-main>p:not(.hero-index){max-width:660px;color:#5b6570;font-size:14px;line-height:2.15}.round-link{display:flex!important;align-items:center;justify-content:space-between;width:220px!important;margin-top:35px!important;padding:17px 22px!important;border:1px solid #d7dce1;border-radius:999px!important;background:#fff!important;color:#26313d!important;box-shadow:0 8px 20px rgba(5,31,61,.06)!important}.round-link b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--blue);color:#fff}
.hero-pickup{padding:50px 3.2vw;background:#f0f2f5;border-left:1px solid #e1e5e9}.pickup-title{display:flex;align-items:center;gap:14px;margin:5px 0 32px}.pickup-title i{width:6px;height:28px;border-left:3px solid var(--blue);border-right:3px solid var(--bright)}.pickup-title strong{font:600 27px Arial;letter-spacing:.05em}.hero-pickup>a{display:block;margin-bottom:20px;padding:27px;background:#fff;border:1px solid #e4e7ea;box-shadow:0 14px 35px rgba(13,35,57,.06);transition:transform .3s,box-shadow .3s}.hero-pickup>a:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(13,35,57,.12)}.hero-pickup small{color:var(--blue);font:700 9px Arial;letter-spacing:.18em}.hero-pickup h2{margin:14px 0 10px;font:500 24px "Yu Mincho",serif}.hero-pickup p{color:#737b84;font-size:12px;line-height:1.8}.hero-pickup b{font:700 9px Arial;letter-spacing:.12em;color:var(--blue)}
.notice-strip{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:25px;margin:0 6vw;padding:23px 28px;background:#f3f4f5;border-top:1px solid #e3e6e8;border-bottom:1px solid #e3e6e8}.notice-strip strong{font:700 11px Arial;letter-spacing:.16em;color:var(--blue)}.notice-strip p{margin:0;color:#626a73;font-size:12px;line-height:1.7}.notice-strip a{font-size:11px;font-weight:700}
.editorial-section{padding-top:125px;padding-bottom:125px}.editorial-section>.label{position:relative;font-size:12px;color:#3d4853}.editorial-section>.label:after{content:attr(data-text);position:absolute;left:-1vw;top:-62px;font:700 clamp(60px,9vw,130px)/1 Arial;color:rgba(8,62,112,.035);letter-spacing:-.04em;white-space:nowrap}.editorial-section>h2{margin-top:28px}.editorial-section .long-copy{margin-top:45px}.strengths-copy{background:#f3f5f7}.copy-grid{gap:0;border-top:1px solid #d9dee3;border-left:1px solid #d9dee3}.copy-grid article{border:0;border-right:1px solid #d9dee3;border-bottom:1px solid #d9dee3;background:#fff;min-height:270px}.copy-grid article:hover{transform:none;background:#f8fbfd;box-shadow:none}.service-showcase{background:#fff;color:var(--ink)}.service-showcase .section-lead{color:var(--muted)}.service-showcase .cards{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #dce1e5;border-left:1px solid #dce1e5}.service-showcase .card{min-height:280px;border:0;border-right:1px solid #dce1e5;border-bottom:1px solid #dce1e5;background:#fff;color:var(--ink);box-shadow:none}.service-showcase .card:nth-child(1){grid-column:span 2;background:linear-gradient(135deg,#092b55,#0878b8);color:#fff}.service-showcase .card:nth-child(1) p{color:#c7dfef}.service-showcase .card p{color:var(--muted)}.service-showcase .card:hover{transform:none;background:#f3f7fa;box-shadow:inset 0 -5px 0 var(--bright)}.service-showcase .card:nth-child(1):hover{background:linear-gradient(135deg,#0b376c,#0a8ac9)}.license-showcase{background:#f1f3f5}.license-showcase .license-grid{gap:1px;background:#d6dce1}.license-showcase .license-grid article{border:0;background:#fff;box-shadow:none}.license-showcase .license-grid article:hover{transform:none;background:#f8fbfd;box-shadow:none}
.page-hero{min-height:330px;padding:95px 8vw 70px;background:#fff;color:var(--ink);border-bottom:1px solid #e1e5e8}.page-hero:before{opacity:.35;background-image:linear-gradient(rgba(13,91,161,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(13,91,161,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000)}.page-hero:after{right:2vw;bottom:-3vw;color:rgba(6,73,135,.035);font-size:16vw}.page-hero h1{color:var(--ink);text-shadow:none}.page-hero p{color:#66717d}.page-top{position:fixed;right:28px;bottom:28px;z-index:80;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#303841;color:#fff;font-size:20px;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .2s,background .2s}.page-top:hover{transform:translateY(-4px);background:var(--blue)}
@media(max-width:1060px){header nav>a:not(.contact-link){padding:0 12px}.editorial-hero{grid-template-columns:1fr 340px}.service-showcase .cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){header{height:72px;padding:0 20px}.logo.official{max-width:55vw}.editorial-hero{grid-template-columns:1fr;min-height:auto}.hero-main{min-height:610px;padding:80px 6vw}.hero-pickup{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:32px 6vw}.pickup-title{grid-column:1/-1}.hero-pickup>a{margin:0}.notice-strip{grid-template-columns:1fr;margin:0;padding:22px 6vw}.service-showcase .cards{grid-template-columns:repeat(2,1fr)}.service-showcase .card:nth-child(1){grid-column:span 2}.editorial-section{padding-top:90px;padding-bottom:90px}.page-top{width:48px;height:48px;right:18px;bottom:18px}}
@media(max-width:560px){.hero-main{min-height:560px;padding:65px 22px}.editorial-hero .hero-main h1{font-size:45px}.hero-main:after{width:170px;height:170px;right:-10%;top:14%}.hero-pickup{grid-template-columns:1fr;padding:28px 22px}.pickup-title{grid-column:1}.notice-strip{padding:22px}.service-showcase .cards{grid-template-columns:1fr}.service-showcase .card:nth-child(1){grid-column:1}.service-showcase .card{min-height:auto}.editorial-section{padding:75px 22px}.editorial-section>.label:after{font-size:54px}.page-hero{min-height:270px;padding:75px 22px 55px}.page-top{width:44px;height:44px}}

/* Responsive typography and layout safeguards */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:280px}img{max-width:100%}h1,h2,h3,p,dd,li,a{overflow-wrap:anywhere}h1,h2,h3{line-break:strict}.mobile-only{display:none}.editorial-hero .hero-main h1 .catch-line{display:block;white-space:nowrap;overflow-wrap:normal;font:inherit;letter-spacing:inherit;color:inherit}.editorial-hero .hero-main h1 em.catch-line{color:transparent}.menu{min-width:48px;min-height:44px;border-radius:999px;letter-spacing:.08em;cursor:pointer}.contact-band strong,.contact-band a{min-width:0}.profile dd{min-width:0}.hero-pickup>a,.card,.copy-grid article,.flow-grid article{min-width:0}
@media(max-width:1180px) and (min-width:901px){header{padding-inline:22px}.logo.official{width:190px;max-width:19vw}header nav>a:not(.contact-link){max-width:105px;padding-inline:12px;font-size:11px}.contact-link{margin-left:10px;padding:14px 17px;font-size:11px}.editorial-hero{grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr)}.editorial-hero .hero-main h1{font-size:clamp(50px,5.6vw,70px)}.hero-main{padding-inline:5vw}.hero-pickup{padding-inline:30px}.detail,.access{gap:5vw}.section{padding-inline:6vw}}
@media(max-width:900px){header nav{top:100%;max-height:calc(100dvh - 64px);overflow-y:auto;border-top:1px solid #e2e7eb}header nav>a:not(.contact-link){max-width:none;padding:15px 5px;border-left:0;border-bottom:1px solid #e5e9ec;font-size:13px}.contact-link{margin:8px 0 0;padding:16px 20px;text-align:center}.editorial-hero .hero-main h1{font-size:clamp(46px,8vw,64px);max-width:760px}.hero-main>span{font-size:10px}.hero-main>p:not(.hero-index){font-size:14px}.hero-pickup h2{font-size:22px}.notice-strip p{font-size:13px}.section>h2,.intro h2,.service-intro>h2,.company-message>h2,.company-data>h2,.flow>h2{font-size:clamp(31px,5.2vw,44px)}.detail h2,.access h2{font-size:clamp(29px,5vw,40px)}.detail,.access{gap:50px}.contact-band{gap:35px}.contact-band a{font-size:14px}.profile div{grid-template-columns:145px 1fr}.sitemap{gap:30px}.page-hero h1{font-size:clamp(40px,7vw,58px)}}
@media(max-width:620px){header{padding-inline:16px}.logo.official{width:172px;max-width:56vw}.menu{font-size:9px}.mobile-only{display:block}.catch-line{white-space:normal}.hero-main{min-height:520px;padding:58px 22px 52px}.editorial-hero .hero-main h1{font-size:clamp(38px,11vw,52px);line-height:1.28;letter-spacing:0}.hero-main .hero-index{display:none}.hero-main>p:not(.hero-index){font-size:13px;line-height:2}.round-link{width:100%!important;max-width:245px}.pickup-title{margin-bottom:8px}.pickup-title strong{font-size:23px}.hero-pickup>a{padding:24px}.notice-strip{gap:12px}.notice-strip a{justify-self:start;padding-top:4px}.editorial-section,.section{padding-inline:22px}.editorial-section>h2,.section>h2,.intro h2,.service-intro>h2,.company-message>h2,.company-data>h2,.flow>h2{font-size:clamp(27px,8.2vw,36px);line-height:1.55;letter-spacing:.01em}.editorial-section>h2 br,.service-intro>h2 br,.company-message>h2 br,.detail h2 br{display:none}.long-copy{gap:18px}.long-copy p,.section-lead{font-size:13px;line-height:2}.copy-grid article,.flow-grid article{padding:27px 24px;min-height:auto}.copy-grid h3,.flow-grid h3{margin-top:22px;font-size:20px}.card{padding:25px 23px}.card h3{margin:24px 0 12px}.license-grid article{padding:28px 22px}.license-grid h3{font-size:20px;line-height:1.55}.detail,.access{gap:35px}.detail h2,.access h2{font-size:clamp(27px,8vw,34px);line-height:1.55}.detail aside{padding:28px 22px}.detail li{font-size:13px;line-height:1.75}.profile{border-inline:0}.profile div{grid-template-columns:1fr;gap:9px;padding:20px 0}.profile dt{font-size:12px}.profile dd{font-size:13px}.map{min-height:300px}.contact-band h2{font-size:clamp(25px,7.6vw,32px);line-height:1.5}.contact-band a{padding:15px 17px;font-size:13px;overflow-wrap:anywhere}.sitemap{gap:35px}.sitemap>div{padding:24px 20px}.sitemap h2{font-size:22px}.page-hero{padding:68px 22px 50px}.page-hero h1{font-size:clamp(36px,10vw,46px);line-height:1.35}.page-hero p{font-size:13px;line-height:1.9}footer{padding:42px 22px 28px;gap:25px}footer>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}footer>p{line-height:1.9}.page-top{right:14px;bottom:14px}}
@media(max-width:380px){.logo.official{width:150px}.editorial-hero .hero-main h1{font-size:36px}.hero-main{padding-inline:18px}.hero-pickup,.editorial-section,.section,.contact-band{padding-inline:18px}.hero-pickup>a{padding:21px}.notice-strip{padding-inline:18px}.editorial-section>h2,.section>h2,.intro h2,.service-intro>h2,.company-message>h2,.company-data>h2,.flow>h2,.detail h2,.access h2{font-size:27px}.contact-band a{font-size:12px}.footer-official{width:180px!important}footer>div{grid-template-columns:1fr}}
