:root{--ink:#101c26;--navy:#071821;--blue:#00a7b5;--cyan:#59d5d7;--sand:#f4f1eb;--line:#d9dfe1;--white:#fff;--text:#34434c;--max:1280px;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fff;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit}.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.section{padding:clamp(88px,9vw,144px) 0}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 28px;color:#087c86;font:600 12px/1 "Manrope",sans-serif;letter-spacing:.2em}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.eyebrow.light{color:#79e5e4}.heading{margin:0;font-size:clamp(36px,4.3vw,66px);line-height:1.25;letter-spacing:-.045em;font-weight:600}.heading.light{color:#fff}.section-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:64px;margin-bottom:64px}.section-head>p{margin:0 0 5px;color:#aab8bd}.solutions .section-head>p,.cases .section-head>p{color:#52616a}.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:84px;color:#fff;transition:.35s;background:linear-gradient(180deg,rgba(0,13,20,.55),transparent)}.site-header.is-scrolled{background:rgba(7,24,33,.96);backdrop-filter:blur(14px);box-shadow:0 1px rgba(255,255,255,.1)}.header-inner{height:100%;padding:0 36px;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-mark{display:grid;place-items:center;width:43px;aspect-ratio:1;background:var(--blue);color:#fff;font:700 12px "Manrope";clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:700 17px "Manrope";letter-spacing:.08em}.brand-copy small{margin-top:6px;font:500 8px "Manrope";letter-spacing:.23em;color:#8fb5bd}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a{position:relative;font-size:13px;font-weight:500}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-contact{height:46px;padding:0 20px;display:flex;align-items:center;gap:22px;background:#fff;color:var(--navy);font:700 11px "Manrope";letter-spacing:.12em;transition:.3s}.header-contact:hover{background:var(--cyan);transform:translateY(-2px)}.menu-button{display:none;color:#fff;border:0;background:none;align-items:center;gap:12px;cursor:pointer}.menu-label{font:600 10px "Manrope";letter-spacing:.14em}.menu-lines{width:30px}.menu-lines i{display:block;height:1px;background:#fff;margin:7px 0}.mobile-menu{position:fixed;z-index:150;inset:0;height:100dvh;overflow-y:auto;background:var(--navy);color:#fff;visibility:hidden;opacity:0;transform:translateY(-12px);transition:.42s var(--ease)}.mobile-menu.is-open{visibility:visible;opacity:1;transform:none}.mobile-menu-head{height:78px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29404a;font:700 14px "Manrope";letter-spacing:.12em}.menu-close{border:0;color:#fff;background:none;cursor:pointer;font:600 10px "Manrope";letter-spacing:.15em}.menu-close i{font-style:normal;font-size:28px;margin-left:10px;vertical-align:-3px}.mobile-menu nav{padding:18px 24px}.mobile-menu nav a{position:relative;display:grid;grid-template-columns:42px 1fr auto;align-items:center;min-height:72px;border-bottom:1px solid #29404a;font:600 clamp(24px,8vw,38px) "Manrope";letter-spacing:.04em;transition:.3s}.mobile-menu nav a:hover{padding-left:8px;color:var(--cyan)}.mobile-menu nav span{font-size:10px;color:var(--cyan)}.mobile-menu nav small{font:500 11px "Noto Sans JP";letter-spacing:0;color:#87a2ad}.mobile-menu-contact{margin:5px 24px 28px;padding:20px 22px;display:flex;justify-content:space-between;background:var(--blue);font-weight:600}
.hero{position:relative;min-height:100svh;height:100svh;overflow:hidden;color:#fff;background:var(--navy)}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.5s ease}.hero-slide.is-active{opacity:1}.hero-slide img{height:100%;object-fit:cover;object-position:center}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,25,.83) 0%,rgba(3,16,25,.48) 48%,rgba(3,16,25,.12) 100%)}.hero-shade{background:linear-gradient(0deg,rgba(3,17,25,.42),transparent 44%)}.hero-content{position:absolute;z-index:2;left:max(48px,calc((100vw - var(--max))/2));top:50%;transform:translateY(-45%);max-width:850px}.hero h1{margin:0;font-size:clamp(43px,5.5vw,84px);line-height:1.18;letter-spacing:-.055em;font-weight:600;text-shadow:0 3px 30px rgba(0,0,0,.22)}.hero h1 span{color:#d4ffff}.hero-lead{max-width:660px;margin:30px 0 0;font-size:clamp(16px,1.4vw,20px);line-height:1.9}.hero-actions{display:flex;gap:12px;margin-top:40px}.button{min-height:60px;min-width:250px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;font-weight:600;transition:.35s var(--ease)}.button i{font-style:normal;font-size:20px}.button-primary{background:var(--blue)}.button-primary:hover{background:#008997;transform:translateY(-3px)}.button-glass{border:1px solid rgba(255,255,255,.54);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.button-glass:hover{background:#fff;color:var(--navy);transform:translateY(-3px)}.hero-trust{position:absolute;z-index:3;right:34px;bottom:34px;display:flex;background:rgba(4,22,31,.66);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16)}.hero-trust div{padding:17px 24px;border-right:1px solid rgba(255,255,255,.15)}.hero-trust div:last-child{border:0}.hero-trust strong{display:block;font:600 25px "Manrope"}.hero-trust span{display:block;color:#91adb5;font:500 8px "Manrope";letter-spacing:.18em}.scroll-guide{position:absolute;z-index:3;left:30px;bottom:25px;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;font:500 8px "Manrope";letter-spacing:.18em}.scroll-guide i{width:1px;height:38px;background:#fff;animation:scroll 1.7s ease-in-out infinite;transform-origin:top}@keyframes scroll{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(1);transform-origin:bottom;opacity:0}}
.about{background:var(--sand)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,120px);align-items:center}.about-copy .lead{margin:42px 0 12px;color:var(--ink);font-size:20px;font-weight:600}.about-copy>p:not(.eyebrow):not(.lead){color:#58656d}.text-link{display:inline-flex;align-items:center;gap:14px;margin-top:30px;font-weight:600}.text-link i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;transition:.3s}.text-link span{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:.35s}.text-link:hover i{background:var(--blue);transform:translateX(4px)}.text-link:hover span{background-size:100% 1px}.about-visual{position:relative}.about-visual img{height:clamp(430px,52vw,660px);object-fit:cover}.about-note{position:absolute;left:-42px;bottom:-32px;width:250px;padding:24px;background:var(--navy);color:#fff}.about-note span{display:block;color:var(--cyan);font:500 9px "Manrope";letter-spacing:.18em}.about-note strong{display:block;margin-top:6px;font:600 18px "Manrope"}
.section-dark{background:var(--navy);color:#fff}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#30444d}.service-card{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;min-height:350px;background:#0a202a;overflow:hidden;transition:.45s var(--ease)}.service-card:first-child{grid-column:span 2;grid-template-columns:1.15fr .85fr;min-height:420px}.service-card:hover{background:#0e2a35;transform:translateY(-5px)}.service-image{overflow:hidden}.service-image img{height:100%;object-fit:cover;filter:saturate(.75)}.service-card:hover img{transform:scale(1.045);filter:saturate(1);transition:transform .8s var(--ease),filter .5s}.service-body{position:relative;padding:40px 34px}.service-body>span{color:var(--cyan);font:600 9px "Manrope";letter-spacing:.17em}.service-body h3{margin:18px 0 14px;font-size:clamp(21px,2vw,29px);line-height:1.45}.service-body p{margin:0;color:#b6c3c8;font-size:14px}.service-body>i{position:absolute;right:24px;bottom:22px;font-style:normal;font-size:22px;transition:.35s}.service-card:hover .service-body>i{color:var(--cyan);transform:translate(4px,-4px)}
.solutions{background:#fff}.solution-list{border-top:1px solid var(--line)}.solution-item{display:grid;grid-template-columns:70px 1fr 32%;gap:35px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:.4s}.solution-item:hover{padding-left:14px;background:#f7f9f8}.solution-num{align-self:start;padding-top:7px;color:var(--blue);font:600 12px "Manrope"}.solution-copy .question{margin:0 0 12px;color:#637079;font-size:13px}.solution-copy h3{margin:0 0 12px;font-size:clamp(22px,2.2vw,31px);line-height:1.45}.solution-copy>p:last-child{margin:0;color:#52616a;font-size:14px}.solution-item img{height:210px;object-fit:cover;filter:saturate(.75);transition:.6s}.solution-item:hover img{filter:saturate(1);transform:scale(.98)}
.cases{background:var(--sand)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.case-card{background:#fff;box-shadow:0 14px 38px rgba(8,29,37,.06);transition:.4s var(--ease)}.case-card:hover{transform:translateY(-10px);box-shadow:0 22px 55px rgba(8,29,37,.13)}.case-card>div:first-child{position:relative;overflow:hidden}.case-card img{height:280px;object-fit:cover;transition:.75s var(--ease)}.case-card:hover img{transform:scale(1.05)}.case-card>div:first-child span{position:absolute;left:18px;bottom:18px;padding:7px 12px;color:#fff;background:rgba(7,24,33,.8);font:600 9px "Manrope";letter-spacing:.14em}.case-card>div:last-child{padding:26px}.case-card p{margin:0 0 10px;color:#087c86;font-size:12px;font-weight:600}.case-card h3{min-height:98px;margin:0;font-size:19px;line-height:1.7}.case-card dl{display:flex;align-items:end;justify-content:space-between;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line)}.case-card dt{font-size:12px;color:#65737a}.case-card dd{margin:0}.case-card dd strong{margin-right:4px;color:var(--blue);font:600 28px "Manrope"}
.process .container{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.process-intro>p:last-child{color:#aab8bd}.process-steps{margin:0;padding:0;list-style:none;border-top:1px solid #38505a}.process-steps li{position:relative;display:grid;grid-template-columns:90px 120px 1fr;gap:20px;align-items:center;padding:28px 50px 28px 0;border-bottom:1px solid #38505a}.process-steps li:after{content:"→";position:absolute;right:2px;color:var(--cyan);font-size:20px;transition:.3s}.process-steps li:hover:after{transform:translateX(6px)}.process-steps span{color:#78919b;font:600 9px "Manrope";letter-spacing:.15em}.process-steps strong{color:var(--cyan);font:600 14px "Manrope";letter-spacing:.09em}.process-steps h3{margin:0;font-size:18px}.process-steps p{grid-column:3;margin:0;color:#9fb0b7;font-size:13px}
.results{position:relative;min-height:650px;color:#fff;overflow:hidden}.results>img,.results-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.results-overlay{background:linear-gradient(90deg,rgba(4,20,29,.92),rgba(4,20,29,.28))}.results-inner{position:relative;z-index:1;padding-top:130px}.results h2{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.3}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin-top:70px;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}.result-grid div{padding:26px 30px 26px 0}.result-grid strong{font:500 clamp(40px,5vw,68px) "Manrope"}.result-grid p{margin:2px 0 0;color:#bfd0d4;font-size:13px}
.faq-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:90px}.faq-grid>div:first-child>p:last-child{color:#607078}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:grid;grid-template-columns:42px 1fr 30px;align-items:center;min-height:92px;cursor:pointer;list-style:none;font-size:17px;font-weight:600}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font:600 17px "Manrope"}summary i{font-style:normal;font-size:22px;font-weight:400;transition:.35s}details[open] summary i{transform:rotate(45deg);color:var(--blue)}details>p{margin:-5px 28px 25px 42px;color:#56656d;font-size:14px}
.news{padding-top:0}.news .section-head{margin-bottom:35px}.news-list{border-top:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:130px 100px 1fr 40px;align-items:center;min-height:90px;border-bottom:1px solid var(--line);transition:.3s}.news-list a:hover{padding-left:14px;background:#f5f8f7}.news-list time{font:500 12px "Manrope"}.news-list span{width:max-content;padding:5px 10px;background:#e3f4f4;color:#087c86;font:600 9px "Manrope";letter-spacing:.12em}.news-list p{font-size:14px}.news-list i{font-style:normal;color:var(--blue);font-size:20px}.company{background:var(--sand)}.company-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.company-grid>div>p:last-child{color:#617078}.company-grid dl{margin:0;border-top:1px solid #cbd1d1}.company-grid dl div{display:grid;grid-template-columns:140px 1fr;padding:22px 0;border-bottom:1px solid #cbd1d1}.company-grid dt{font-weight:600}.company-grid dd{margin:0;color:#53626a}
.dual-cta{display:grid;grid-template-columns:1fr 1fr}.dual-cta>a{position:relative;min-height:510px;padding:78px clamp(35px,6vw,95px);overflow:hidden;color:#fff}.dual-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.dual-cta>a:after{content:"";position:absolute;inset:0;background:rgba(4,22,31,.72);transition:.4s}.dual-cta>a:nth-child(2):after{background:rgba(0,104,115,.67)}.dual-cta>a:hover img{transform:scale(1.06)}.dual-cta>a:hover:after{background:rgba(4,22,31,.6)}.dual-cta span,.dual-cta h2,.dual-cta b{position:relative;z-index:1}.dual-cta>a>span{font:600 11px "Manrope";letter-spacing:.18em;color:var(--cyan)}.dual-cta h2{margin:25px 0 60px;color:#fff;font-size:clamp(18px,2.3vw,46px);line-height:1.4}.dual-cta b{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(255,255,255,.42);font-size:14px}.dual-cta b i{font-style:normal;transition:.3s}.dual-cta>a:hover b i{transform:translateX(7px)}
.footer{padding:76px 48px 22px;background:#06141c;color:#fff}.footer-main{display:flex;justify-content:space-between;max-width:var(--max);margin:auto}.footer-nav{display:grid;grid-template-columns:repeat(2,180px);gap:30px}.footer-nav div{display:flex;flex-direction:column;gap:11px}.footer-nav strong{margin-bottom:8px;color:var(--cyan);font:600 10px "Manrope";letter-spacing:.15em}.footer-nav a{color:#a9bbc2;font-size:13px;transition:.25s}.footer-nav a:hover{color:#fff;transform:translateX(4px)}.footer-bottom{display:flex;justify-content:space-between;max-width:var(--max);margin:65px auto 0;padding-top:20px;border-top:1px solid #273b44;color:#81969f;font:500 10px "Manrope";letter-spacing:.08em}.footer-bottom a:hover{color:var(--cyan)}
@media(max-width:1100px){.desktop-nav,.header-contact{display:none}.menu-button{display:flex;margin-left:auto}.container{width:min(calc(100% - 64px),var(--max))}.hero-content{left:50px}.service-card,.service-card:first-child{grid-template-columns:1fr;min-height:0}.service-card:first-child{grid-column:auto}.service-image{height:260px}.service-grid{grid-template-columns:repeat(2,1fr)}.process .container{grid-template-columns:1fr;gap:50px}.case-grid{gap:14px}.case-card h3{min-height:125px}.faq-grid{grid-template-columns:.55fr 1.45fr;gap:45px}}
@media(max-width:768px){html{scroll-padding-top:70px}.site-header{height:70px}.header-inner{padding:0 18px}.brand-mark{width:37px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:7px}.container{width:calc(100% - 40px)}.section{padding:78px 0}.eyebrow{margin-bottom:20px}.heading{font-size:clamp(32px,10vw,44px)}.section-head{grid-template-columns:1fr;gap:24px;margin-bottom:42px}.section-head>p{color:#64737b}.hero{height:100svh;min-height:650px}.hero-slide img{object-position:62% center}.hero-content{left:20px;right:20px;top:47%;transform:translateY(-50%);max-width:none}.hero h1{font-size:clamp(38px,10.2vw,54px);line-height:1.28}.hero h1 br{display:none}.hero h1 span{display:block}.hero-lead{max-width:520px;margin-top:22px;font-size:15px;line-height:1.75}.hero-actions{margin-top:27px;flex-direction:column;gap:8px;width:min(100%,390px)}.button{min-height:54px;min-width:0}.hero-trust{right:16px;bottom:18px}.hero-trust div{padding:10px 12px}.hero-trust strong{font-size:18px}.hero-trust span{font-size:6px}.scroll-guide{display:none}.about-grid{grid-template-columns:1fr;gap:48px}.about-copy .lead{margin-top:30px;font-size:18px}.about-visual img{height:480px}.about-note{left:14px;bottom:-22px;width:220px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{grid-template-columns:1fr}.service-image{height:230px}.service-body{padding:28px 25px 48px}.solution-item{grid-template-columns:40px 1fr;gap:10px;padding:28px 0}.solution-item img{grid-column:1/-1;height:210px;margin-top:12px}.solution-copy .question{font-size:12px}.case-grid{grid-template-columns:1fr;gap:22px}.case-card h3{min-height:0}.case-card img{height:260px}.process-steps li{grid-template-columns:72px 1fr;padding:24px 35px 24px 0}.process-steps strong{font-size:12px}.process-steps h3{grid-column:1/-1}.process-steps p{grid-column:1/-1}.results{min-height:720px}.results-inner{padding-top:90px}.result-grid{grid-template-columns:1fr;margin-top:45px}.result-grid div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.25)}.result-grid div:last-child{border:0}.result-grid strong{font-size:42px}.faq-grid{grid-template-columns:1fr;gap:40px}summary{font-size:15px;line-height:1.6;padding:16px 0}.news-list a{grid-template-columns:92px 1fr 25px;padding:18px 0;gap:8px}.news-list a:hover{padding-left:8px}.news-list span{grid-column:2}.news-list p{grid-column:1/3;margin:4px 0}.news-list i{grid-column:3;grid-row:1/3}.company-grid{grid-template-columns:1fr;gap:45px}.company-grid dl div{grid-template-columns:100px 1fr;gap:12px}.dual-cta{grid-template-columns:1fr}.dual-cta>a{min-height:420px;padding:56px 25px}.dual-cta h2{margin-bottom:45px;font-size:27px}.footer{padding:56px 22px 18px}.footer-main{flex-direction:column;gap:52px}.footer-nav{grid-template-columns:1fr 1fr}.footer-bottom{margin-top:48px}.footer-bottom span{font-size:8px}}
@media(max-width:390px){.brand-copy{display:none}.hero h1{font-size:36px}.hero-lead{font-size:14px}.hero-trust div{padding:8px 9px}.hero-trust strong{font-size:16px}.heading{font-size:31px}.about-visual img{height:400px}.service-image{height:205px}.solution-item img{height:180px}.company-grid dl div{grid-template-columns:1fr;gap:5px}.footer-nav{grid-template-columns:1fr;gap:35px}}

/* Requested refinements */
.fixed-heading>span,.hero-title-line{display:block;white-space:nowrap}.dual-cta .fixed-heading{letter-spacing:-.04em}
.hero h1{letter-spacing:-.065em}
.hero h1 .hero-title-line:first-child{color:#fff}
.about-copy .about-lead{font-size:18px;white-space:nowrap}
.service-card:first-child{grid-column:auto;grid-template-columns:.85fr 1.15fr;min-height:350px}
.process-steps li{transition:background-color .4s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease)}
.process-steps li:hover{padding-left:22px;background:linear-gradient(90deg,rgba(0,167,181,.16),rgba(0,167,181,0));box-shadow:inset 3px 0 var(--cyan)}
.faq{position:relative;background:linear-gradient(135deg,#eaf6f5 0%,#f5f8f4 48%,#e7f0ee 100%);overflow:hidden}
.faq:before{content:"";position:absolute;right:-170px;top:-210px;width:520px;height:520px;border:1px solid rgba(0,132,145,.14);border-radius:50%;box-shadow:0 0 0 70px rgba(0,132,145,.035),0 0 0 140px rgba(0,132,145,.025)}
.faq-grid{position:relative}
.faq-intro{position:relative;padding:44px 36px;background:var(--navy);color:#fff;min-height:340px;box-shadow:0 20px 55px rgba(7,24,33,.16)}
.faq-intro:has(.text-link){min-height:440px}
.faq-intro:has(.text-link) .faq-decor{bottom:16px}
.faq-intro .text-link{margin-top:26px}
.faq-intro .heading{font-size:clamp(33px,4vw,52px)}
.faq-intro>p:last-of-type{color:#a9bec5}
.faq-decor{position:absolute;left:36px;bottom:30px;color:rgba(121,229,228,.2);font:700 30px/1.05 "Manrope";letter-spacing:.03em}
.accordion{align-self:center;border-top:0}
.faq-item{margin-bottom:12px;background:#fff;border:1px solid rgba(7,52,60,.1);box-shadow:0 8px 28px rgba(7,38,44,.055);transition:border-color .35s,box-shadow .35s,transform .35s}
.faq-item:hover{transform:translateY(-2px);border-color:rgba(0,167,181,.34);box-shadow:0 14px 34px rgba(7,38,44,.1)}
.faq-question{width:100%;display:grid;grid-template-columns:42px 1fr 30px;align-items:center;min-height:84px;padding:0 24px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.faq-question span{color:var(--blue);font:600 17px "Manrope"}
.faq-question b{font-size:16px;line-height:1.55}
.faq-question i{font-style:normal;font-size:22px;font-weight:400;transition:transform .45s var(--ease),color .35s}
.faq-item.is-open .faq-question i{transform:rotate(45deg);color:var(--blue)}
.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .48s var(--ease),opacity .38s ease}
.faq-answer>div{overflow:hidden}
.faq-answer p{margin:0;padding:0 54px 26px 66px;color:#56656d;font-size:14px;transform:translateY(-7px);transition:transform .45s var(--ease)}
.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}
.faq-item.is-open .faq-answer p{transform:none}

@media(max-width:1100px){.service-card:first-child{grid-template-columns:1fr;min-height:0}}
@media(max-width:1200px) and (min-width:769px){.about-copy .about-lead{font-size:15px}}
@media(max-width:768px){
  .hero-content{left:12px;right:12px}
  .hero h1{font-size:clamp(21px,6.7vw,45px);line-height:1.35}
  .fixed-heading{font-size:clamp(29px,8.8vw,44px)}
  .about-copy .about-lead{white-space:normal;font-size:17px}
  .process-steps li:hover{padding-left:14px}
  .faq-intro{min-height:300px;padding:36px 26px}
  .faq-decor{left:26px;bottom:24px;font-size:25px}
  .faq-question{grid-template-columns:34px 1fr 24px;min-height:78px;padding:0 16px}
  .faq-question b{font-size:15px}
  .faq-answer p{padding:0 38px 22px 50px}
  .dual-cta .fixed-heading{font-size:clamp(16px,5.3vw,34px)}
}
@media(max-width:390px){.hero h1{font-size:clamp(20px,6.55vw,25px)}.fixed-heading{font-size:clamp(27px,8.5vw,33px)}}

/* ---------------------------------------------------------------------- */
/* Sub pages (下層ページ)                                                  */
/* ---------------------------------------------------------------------- */
.page-header{position:relative;min-height:clamp(200px,24vw,300px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding-top:84px}
.page-header img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-header:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,29,.45) 0%,rgba(4,20,29,.88) 100%)}
.page-header .container{position:relative;z-index:1;padding-bottom:34px}
.breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 14px;font:600 11px "Manrope",sans-serif;letter-spacing:.12em;color:#a9c0c6}
.breadcrumb a{color:#a9c0c6;transition:.25s}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{opacity:.55}
.page-header h1{margin:0;font-size:clamp(28px,3.6vw,44px);line-height:1.35;letter-spacing:-.02em;font-weight:600}
.page-header p{margin:12px 0 0;max-width:540px;color:#c9dade;font-size:14px;line-height:1.85}
@media(max-width:768px){.page-header{min-height:clamp(170px,46vw,230px);padding-top:70px}.page-header .container{padding-bottom:24px}.page-header p{display:none}}

.content-lead{max-width:760px;margin:0 0 8px;color:#52616a;font-size:15px;line-height:1.9}
.section-intro{margin-bottom:56px}
.section-intro .eyebrow{margin-bottom:22px}
.section-intro h2{margin:0 0 20px}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.value-grid>div{background:#fff;padding:38px 32px}
.value-grid strong{display:block;margin-bottom:18px;color:var(--blue);font:600 12px "Manrope",sans-serif;letter-spacing:.14em}
.value-grid h3{margin:0 0 12px;font-size:19px}
.value-grid p{margin:0;color:#56656d;font-size:14px}
@media(max-width:768px){.value-grid{grid-template-columns:1fr}}

.history-list{border-top:1px solid var(--line);margin:0;padding:0}
.history-list div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.history-list dt{margin:0;font:600 16px "Manrope",sans-serif;color:var(--blue)}
.history-list dd{margin:0;color:#3c4a52;font-size:14px}
@media(max-width:768px){.history-list div{grid-template-columns:76px 1fr;gap:14px}}

.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.contact-info{background:var(--navy);color:#fff;padding:42px 36px}
.contact-info h3{margin:0 0 16px;font-size:19px}
.contact-info p{margin:0 0 26px;color:#b6c3c8;font-size:14px;line-height:1.8}
.contact-info dl{margin:0;border-top:1px solid #29404a}
.contact-info dl div{padding:16px 0;border-bottom:1px solid #29404a}
.contact-info dt{font:600 10px "Manrope",sans-serif;letter-spacing:.14em;color:var(--cyan)}
.contact-info dd{margin:4px 0 0;font-size:14px}
.contact-form{display:grid;gap:20px}
.contact-form label{display:block;margin-bottom:8px;font:600 12px "Manrope",sans-serif;letter-spacing:.03em;color:var(--ink)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);transition:.25s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue)}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form .consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#56656d}
.contact-form .consent input{width:auto;margin-top:3px}
.contact-form .consent a{color:var(--blue);text-decoration:underline}
.contact-form button{justify-self:start;min-height:56px;padding:0 42px;border:0;background:var(--blue);color:#fff;font:700 14px "Noto Sans JP",sans-serif;letter-spacing:.04em;cursor:pointer;transition:.3s var(--ease)}
.contact-form button:hover{background:#008997;transform:translateY(-2px)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:44px}.contact-form .form-row{grid-template-columns:1fr}}

.case-card p.case-desc{color:#52616a;font-weight:400;font-size:13px;line-height:1.8;margin:0 0 16px}
.text-link.on-dark{color:#fff}
.text-link.on-dark i{background:var(--cyan);color:var(--navy)}
.text-link.on-dark:hover i{background:#fff}

.faq-grid.faq-grid-full{grid-template-columns:.5fr 1.5fr}
@media(max-width:1100px){.faq-grid.faq-grid-full{grid-template-columns:.55fr 1.45fr}}
@media(max-width:768px){.faq-grid.faq-grid-full{grid-template-columns:1fr}}

/* Sub page section rhythm: consistent, moderate top/bottom padding for every
   section on the 下層ページ, replacing the old padding-top:0 hacks so section
   titles never sit flush against a section boundary, while keeping the total
   gap between stacked sections from growing too large. Fluid via clamp() so
   it scales correctly at both desktop and responsive widths without a
   separate media-query override. */
.section-sub{padding:clamp(64px,7vw,100px) 0}
