:root{--navy:#062252;--blue:#067bef;--blue2:#005dc9;--cyan:#26cde2;--teal:#00a790;--red:#ff5546;--yellow:#f5b82e;--ink:#0a2858;--muted:#536982;--line:#d9e9f4;--soft:#f2f9fd;--max:1240px;--font:"Noto Sans JP","Yu Gothic UI","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:fixed;top:-80px;left:10px;z-index:999;padding:9px 14px;background:#fff}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:80;min-height:78px;padding:0 max(22px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.97);border-bottom:1px solid #e5eef5;backdrop-filter:blur(12px)}.logo{display:flex;flex-direction:column;flex:0 0 auto}.logo img{width:190px;height:auto}.logo small{margin-top:1px;color:#55708e;font-size:9px;letter-spacing:.09em}.header nav{display:flex;align-items:center;gap:clamp(12px,1.35vw,24px);font-size:11px;font-weight:700;white-space:nowrap}.header nav>a:not(.nav-outline):not(.nav-fill){padding:25px 0;border-bottom:2px solid transparent}.header nav>a:not(.nav-outline):not(.nav-fill):hover{color:var(--blue);border-color:var(--blue)}.nav-outline,.nav-fill{padding:9px 14px;border:1px solid var(--blue);border-radius:4px;color:var(--blue)}.nav-fill{color:#fff;background:var(--blue)}.menu-button{display:none}
.hero{position:relative;display:grid;grid-template-columns:minmax(470px,.88fr) minmax(0,1.12fr);min-height:585px;background:#fff}.hero-copy{position:relative;z-index:3;padding:78px max(36px,calc((100vw - var(--max))/2));padding-right:34px;display:flex;flex-direction:column;justify-content:center}.hero h1{margin:0;font-size:clamp(40px,3.25vw,55px);line-height:1.38;letter-spacing:-.035em;font-weight:900}.hero h2{margin:13px 0 9px;font-size:20px;color:var(--ink)}.hero-copy>p{max-width:540px;margin:0;color:#48617e;font-size:13px}.hero-actions{display:flex;gap:13px;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;border:1px solid var(--blue);border-radius:4px;font-size:12px;font-weight:700}.btn.primary{color:#fff;background:var(--blue)}.btn.secondary{color:var(--blue);background:#fff}.hero-photo{position:relative;min-height:585px;background:url("./hero-photo.png") center/cover no-repeat;overflow:hidden}.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.08) 22%,transparent 65%)}.scribble{position:absolute;z-index:2;top:52px;left:14%;font-size:24px;font-weight:500;line-height:1.2;transform:rotate(-7deg)}.scribble em{font-style:normal;border-bottom:3px solid var(--cyan)}.hero-photo svg{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;filter:drop-shadow(0 4px 8px rgba(0,99,180,.14))}.hero-photo path{fill:none;stroke:#36c8df;stroke-width:2}.hero-photo g circle{fill:rgba(255,255,255,.96);stroke:#9bdbe8}.hero-photo g text{fill:var(--ink);font:700 12px var(--font);text-anchor:middle}.hero-proof{position:absolute;z-index:5;left:max(36px,calc((100vw - var(--max))/2));bottom:24px;display:flex;gap:28px}.hero-proof div{display:flex;align-items:center;gap:9px}.hero-proof i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--blue);background:#edf7ff;font-style:normal;font-weight:800}.hero-proof span{font-size:9px;line-height:1.4}.hero-proof b{display:block;font-size:10px}
.newsbar{min-height:74px;padding:0 max(22px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:95px 1fr auto;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.newsbar>strong{color:var(--blue);font-size:11px;letter-spacing:.16em}.newsbar>a:not(.news-all){display:flex;align-items:center;gap:18px}.newsbar time{color:var(--muted)}.newsbar span{padding:2px 9px;color:var(--blue);background:#edf7ff;border-radius:30px;font-size:9px}.newsbar b{margin-left:auto;color:var(--blue)}.news-all{margin-left:25px;color:var(--blue);font-weight:700}
.trust-band{padding:0 max(22px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:repeat(4,1fr);background:#071d42;color:#fff}.trust-band>div{min-height:108px;padding:21px 22px;border-left:1px solid rgba(124,181,229,.2)}.trust-band>div:last-child{border-right:1px solid rgba(124,181,229,.2)}.trust-band small,.trust-band strong,.trust-band span,.trust-band a{display:block}.trust-band small{color:#4edbed;font-size:8px;font-weight:800;letter-spacing:.16em}.trust-band strong{margin:4px 0 2px;font-size:13px}.trust-band span,.trust-band a{color:#9fb6d1;font-size:9px}.trust-band a{color:#69d9f0}
.section{padding:88px 0}.section-inner{width:min(calc(100% - 44px),var(--max));margin:auto}.eyebrow{margin:0 0 4px!important;color:var(--blue)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important}.section-title{margin-bottom:34px}.section-title h2,.section-copy h2,.enterprise-head h2,.faq h2{margin:0;font-size:clamp(29px,2.65vw,42px);line-height:1.42;letter-spacing:-.025em}.section-title>p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px}.section-title.compact{margin-bottom:28px}.section-title.inline{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-title.inline>p{margin:0 0 4px;color:var(--muted);font-size:12px}.section-title.inline>a{color:var(--blue);font-size:11px;font-weight:700}.arrow-link{display:inline-block;margin-top:13px;color:var(--blue);border-bottom:1px solid currentColor;font-size:11px;font-weight:700}
.approach{background:linear-gradient(135deg,#fff 20%,#f3fbff)}.approach-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:4%;align-items:center}.section-copy>p:not(.eyebrow){max-width:375px;margin:17px 0;color:var(--muted);font-size:12px}.cycle{position:relative;height:460px}.cycle::before{content:"";position:absolute;left:50%;top:50%;width:350px;height:350px;border:2px solid #74dfd8;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 25px rgba(76,205,234,.06)}.cycle-center{position:absolute;z-index:2;left:50%;top:50%;width:210px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff,#e9f9ff);text-align:center}.cycle-center span,.cycle-center b{color:var(--blue2);font-size:23px;line-height:1.25;transform:rotate(-5deg)}.cycle-center small{margin-top:9px;color:#75a9c7;font-size:9px}.cycle article{position:absolute;z-index:3;width:150px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 7px 22px rgba(11,83,126,.08)}.cycle article i,.cycle article b,.cycle article span{display:block}.cycle article i{float:left;margin-right:6px;color:var(--blue);font-size:9px;font-style:normal}.cycle article b{font-size:13px}.cycle article span{color:var(--muted);font-size:9px;line-height:1.45}.c1{left:3%;top:3%}.c2{right:7%;top:2%}.c3{right:0;top:43%}.c4{right:13%;bottom:0}.c5{left:14%;bottom:0}.c6{left:0;top:43%}.c2 i,.c6 i{color:var(--teal)!important}.c3 i{color:var(--yellow)!important}.c5 i{color:var(--red)!important}
.model{position:relative;overflow:hidden;padding-top:78px;color:#fff;background:#061b3d;background-image:linear-gradient(rgba(59,168,236,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(59,168,236,.05) 1px,transparent 1px),radial-gradient(circle at 50% 18%,#123d6b 0,#061b3d 52%);background-size:36px 36px,36px 36px,auto}.model .section-inner{position:relative;z-index:2}.model .section-title{text-align:center}.model .eyebrow{color:#50d9ef!important}.model .section-title>p:last-of-type{max-width:900px;margin:9px auto 0;color:#a9bfd6}.model-tags{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:17px;color:#6addec;font-size:8px;font-weight:800;letter-spacing:.18em}.model-tags i{width:45px;height:1px;background:linear-gradient(90deg,#1b83d3,#56e4ea)}.data-orbit{position:absolute;border:1px solid rgba(76,218,237,.18);border-radius:50%;pointer-events:none}.orbit-a{width:560px;height:560px;left:-280px;top:110px}.orbit-b{width:760px;height:760px;right:-470px;top:-180px}.data-orbit::before,.data-orbit::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#39d9ed;box-shadow:0 0 18px #39d9ed}.data-orbit::before{left:14%;top:14%}.data-orbit::after{right:8%;bottom:25%}.model-visual{margin:0;padding:12px;background:rgba(255,255,255,.98);border:1px solid rgba(102,220,240,.55);border-radius:12px;box-shadow:0 0 0 1px rgba(0,123,255,.12),0 24px 70px rgba(0,0,0,.35),0 0 55px rgba(19,166,218,.12)}.model-visual img{width:100%;border-radius:8px}.model-visual figcaption{display:flex;align-items:center;justify-content:center;gap:13px;padding:10px 8px 0;color:var(--muted);font-size:10px;text-align:center}.model-visual figcaption b{color:var(--blue);letter-spacing:.06em}
.products{padding-top:78px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.product-grid article{position:relative;min-height:300px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#f4fbff;border:1px solid var(--line);border-radius:9px}.product-grid article:nth-child(2){background:#f2fbf8}.product-content{position:relative;z-index:2;padding:30px 0 27px 30px}.product-brand{color:var(--blue);font-size:34px;font-weight:900;letter-spacing:-.04em}.gaku-brand{color:#007e72;font-size:24px}.gaku-brand small{display:block;margin-top:-8px;font-size:10px;text-align:center}.product-grid h3{margin:8px 0 8px;font-size:17px}.product-grid p{margin:0 0 20px;color:var(--muted);font-size:11px}.product-grid a{color:var(--blue);border-bottom:1px solid currentColor;font-size:10px;font-weight:700}.product-grid img{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.enterprise{background:#fff}.enterprise-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:25px}.enterprise-head>p{max-width:590px;margin:0 0 5px;color:var(--muted);font-size:12px}.enterprise-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:9px;overflow:hidden}.steps li{position:relative;min-height:205px;padding:25px 20px;background:linear-gradient(145deg,#f8fcff,#eef8fe);border-right:1px solid var(--line)}.steps li:last-child{border:0}.steps li::after{content:"→";position:absolute;right:-14px;top:50%;z-index:2;width:28px;height:28px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:50%;font-weight:800}.steps li:last-child::after{display:none}.steps b{display:block;color:var(--blue);font:italic 800 27px Georgia,serif}.steps strong,.steps span{display:block}.steps strong{margin:11px 0 5px;font-size:16px}.steps span{color:var(--muted);font-size:10px}.fit{padding:23px;background:linear-gradient(145deg,#f1fbff,#f3fff9);border:1px solid var(--line);border-radius:9px;text-align:center}.fit h3{margin:0 0 17px;font-size:11px}.fit>div{display:flex;justify-content:center}.fit span{width:80px;height:80px;margin:0 -4px;display:grid;place-items:center;color:#fff;border-radius:50%;font-size:11px;font-weight:800;line-height:1.2}.fit .green{background:var(--teal)}.fit .blue{background:var(--blue)}.fit .red{background:var(--red)}.fit p{margin:17px 0 0;padding:7px;color:#087f67;background:#fff;border:1px solid #8bdccb;border-radius:5px;font-size:12px;font-weight:800}.enterprise-links{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.enterprise-links a{padding:10px 17px;color:var(--blue);border:1px solid var(--blue);border-radius:4px;font-size:11px;font-weight:700}.enterprise-links a:last-child{color:#fff;background:var(--blue)}
.programs{background:var(--soft)}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.program-grid img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:7px}.program-grid article:nth-child(2) img{object-position:35% 52%}.program-grid article:nth-child(3) img{object-position:70% 60%}.program-grid article:nth-child(4) img{object-position:60% 45%}.program-grid h3{margin:8px 4px 0;font-size:13px}.program-grid p{margin:0 4px;color:var(--muted);font-size:9px}
.stakeholders{padding-top:75px}.stake-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stake-grid>a{display:flex;gap:15px;padding:21px;background:#fff;border:1px solid var(--line);border-radius:8px}.stake-grid i{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;color:#fff;background:var(--navy);border-radius:50%;font-style:normal;font-weight:800}.stake-grid>a:nth-child(2) i{background:var(--teal)}.stake-grid>a:nth-child(3) i{background:var(--blue)}.stake-grid h3{margin:0;font-size:15px}.stake-grid p{margin:3px 0;color:var(--muted);font-size:9px}.stake-grid b{color:var(--blue);font-size:9px}
.credibility{color:#fff;background:linear-gradient(120deg,#071c40,#0a2d5c)}.credibility-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:end;margin-bottom:32px}.credibility-head h2{margin:0;font-size:clamp(29px,2.65vw,42px);line-height:1.42}.credibility-head>p{margin:0 0 6px;color:#aec2d9;font-size:12px}.credibility .eyebrow{color:#53dbea!important}.credibility-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(137,184,225,.25);border-left:1px solid rgba(137,184,225,.25)}.credibility-grid a{position:relative;min-height:195px;padding:25px 22px;border-right:1px solid rgba(137,184,225,.25);border-bottom:1px solid rgba(137,184,225,.25);background:rgba(255,255,255,.015);transition:background .2s,transform .2s}.credibility-grid a:hover{z-index:2;background:rgba(44,181,227,.09);transform:translateY(-3px)}.credibility-grid span{color:#4bd9ed;font-size:9px;font-weight:800}.credibility-grid h3{margin:11px 0 7px;font-size:17px}.credibility-grid p{margin:0;color:#9fb6d1;font-size:10px}.credibility-grid b{position:absolute;left:22px;bottom:22px;color:#65d7ef;font-size:9px}
.initiatives{padding:67px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.partner-row{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:25px;text-align:center}.partner-row>a{min-height:82px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#111;font-size:28px;font-weight:800;border:1px solid transparent;border-radius:8px;transition:border-color .2s,box-shadow .2s,transform .2s}.partner-row>a:hover,.partner-row>a:focus-visible{border-color:var(--line);box-shadow:0 8px 24px rgba(6,34,82,.09);transform:translateY(-2px);outline:none}.partner-row small{display:block;font-size:7px;letter-spacing:.04em}.partner-row .sophia{color:#b21d35;font-family:serif}.partner-row .hokkaido{color:#277549;font-family:serif}.partner-row .sanseido{color:#d7193f;font-family:serif}.partner-row .dormy img{width:158px;max-height:64px;object-fit:contain}.partner-row .norm{font-family:Arial,sans-serif;font-weight:600;letter-spacing:-.04em}
.contents{background:#fff}.content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.featured{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid var(--line);border-radius:8px}.featured img{width:100%;height:100%;object-fit:cover}.featured>div{padding:22px}.featured span,.content-list span{color:var(--blue);font-size:9px}.featured h3{margin:8px 0;font-size:18px;line-height:1.55}.featured p{margin:0;color:var(--muted);font-size:10px}.content-list{border-top:1px solid var(--line)}.content-list a{display:grid;grid-template-columns:85px 1fr;gap:3px 10px;padding:13px 4px;border-bottom:1px solid var(--line)}.content-list b{font-size:11px}.content-list small{grid-column:2;color:#8292a5;font-size:8px}
.faq{background:var(--soft)}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:8%}.faq-layout>div:first-child>p:last-child{color:var(--muted);font-size:11px}.faq details{border-top:1px solid #bed0df}.faq details:last-child{border-bottom:1px solid #bed0df}.faq summary{position:relative;padding:17px 42px 17px 30px;cursor:pointer;list-style:none;font-size:13px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary::before{content:"Q";position:absolute;left:2px;color:var(--blue);font-weight:900}.faq summary::after{content:"＋";position:absolute;right:6px;color:var(--blue)}.faq details[open] summary::after{content:"−"}.faq details p{position:relative;margin:0;padding:0 30px 18px;color:var(--muted);font-size:11px}.faq details p::before{content:"A";position:absolute;left:2px;color:var(--teal);font-weight:900}
footer{padding:39px max(22px,calc((100vw - var(--max))/2)) 20px;color:#fff;background:var(--navy)}.footer-main{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:34px}.footer-logo img{width:180px;filter:brightness(0) invert(1)}.footer-logo span{display:block;margin-top:3px;color:#93a9c5;font-size:9px}.footer-main h3{margin:0 0 7px;font-size:10px}.footer-main>div a{display:block;margin:3px 0;color:#c2d0e1;font-size:9px}.footer-bottom{display:flex;gap:22px;margin-top:32px;padding-top:15px;border-top:1px solid #25446b;color:#91a4be;font-size:8px}.footer-bottom span{margin-right:auto}
@media(max-width:1050px){.header{min-height:72px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav>a:not(.nav-outline):not(.nav-fill){padding:10px 3px}.nav-outline,.nav-fill{margin-top:6px;text-align:center}.menu-button{display:flex;width:50px;padding:6px;border:0;background:transparent;flex-direction:column;gap:4px}.menu-button i{width:100%;height:2px;background:var(--ink)}.menu-button span{font-size:8px}.hero{grid-template-columns:1fr;min-height:auto}.hero-photo{order:-1;min-height:55vw}.hero-copy{padding:52px 24px 86px}.hero-proof{left:24px;right:24px;bottom:22px}.trust-band{grid-template-columns:1fr 1fr}.trust-band>div:nth-child(3){border-top:1px solid rgba(124,181,229,.2)}.trust-band>div:nth-child(4){border-top:1px solid rgba(124,181,229,.2)}.approach-layout{grid-template-columns:1fr}.section-copy{text-align:center}.section-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.product-grid,.enterprise-layout,.content-grid{grid-template-columns:1fr}.enterprise-head{align-items:flex-start;flex-direction:column;gap:12px}.program-grid{grid-template-columns:1fr 1fr}.stake-grid{grid-template-columns:1fr}.credibility-head{grid-template-columns:1fr;gap:15px}.credibility-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-main>div:nth-child(4),.footer-main>div:nth-child(5){margin-top:10px}}
@media(max-width:650px){.logo img{width:165px}.hero-photo{min-height:76vw}.scribble{top:25px;font-size:17px}.hero h1{font-size:clamp(32px,9.6vw,41px)}.hero h2{font-size:16px}.hero-copy>p{font-size:12px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-proof{position:static;display:grid;grid-template-columns:1fr;padding:18px 22px;background:var(--soft)}.newsbar{padding:14px 18px;grid-template-columns:60px 1fr}.newsbar>a:not(.news-all){align-items:flex-start;flex-wrap:wrap;gap:4px 10px}.newsbar b{display:none}.news-all{display:none}.trust-band{grid-template-columns:1fr}.trust-band>div{min-height:auto;border-top:1px solid rgba(124,181,229,.2)}.section{padding:64px 0}.section-inner{width:min(calc(100% - 30px),var(--max))}.section-title h2,.section-copy h2,.enterprise-head h2,.faq h2,.credibility-head h2{font-size:28px}.section-title.inline{align-items:flex-start;flex-direction:column;gap:8px}.cycle{height:600px}.cycle::before{width:280px;height:280px}.cycle-center{width:180px;height:180px}.cycle-center span,.cycle-center b{font-size:19px}.cycle article{width:130px;padding:8px}.c1{left:0}.c2{right:0}.c3{right:0;top:40%}.c4{right:0}.c5{left:0}.c6{left:0;top:40%}.model-tags{gap:7px}.model-tags i{width:18px}.model-visual{padding:4px;border-radius:7px;overflow-x:auto}.model-visual img{max-width:none;width:860px}.model-visual figcaption{align-items:flex-start;flex-direction:column;text-align:left}.product-grid{grid-template-columns:1fr}.product-grid article{grid-template-columns:1fr;min-height:400px}.product-content{padding:24px}.product-grid img{height:190px;order:-1;mask-image:linear-gradient(180deg,#000 70%,transparent)}.steps{grid-template-columns:1fr}.steps li{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.steps li::after{right:calc(50% - 14px);top:auto;bottom:-14px;transform:rotate(90deg)}.enterprise-links{flex-direction:column}.enterprise-links a{text-align:center}.program-grid{grid-template-columns:1fr 1fr}.credibility-grid{grid-template-columns:1fr}.credibility-grid a{min-height:165px}.partner-row{grid-template-columns:1fr 1fr;gap:22px}.partner-row>a{font-size:21px}.featured{grid-template-columns:1fr}.featured img{aspect-ratio:16/9}.faq-layout{grid-template-columns:1fr;gap:28px}.footer-main{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/3}.footer-bottom{flex-wrap:wrap}.footer-bottom span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Approved full-page concept fidelity pass — 2026-10-18 */
.header{min-height:66px}.logo img{width:176px}.header nav>a:not(.nav-outline):not(.nav-fill){padding:20px 0}
.hero{grid-template-columns:minmax(540px,.92fr) minmax(0,1.08fr);min-height:540px;background:linear-gradient(100deg,#fff 0,#fff 43%,#f7fcff 55%,#fff 100%)}
.hero-copy{padding-top:54px;padding-bottom:126px}.hero h1{font-size:clamp(42px,3.15vw,54px);line-height:1.32;white-space:nowrap}.hero h2{margin-top:12px;font-size:21px}.hero-copy>p{max-width:490px}.hero-photo{min-height:540px;background-image:url("./hero-photo.png");background-position:center;background-size:cover}.hero-photo::before{background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.75) 8%,rgba(255,255,255,.12) 27%,transparent 52%)}.scribble{top:50px;left:18%;font-size:25px}.hero-proof{bottom:24px;gap:30px}.hero-proof div{min-width:150px}.hero-proof i{width:38px;height:38px}.hero-proof span{font-size:9px}.hero-proof b{font-size:10px}
.newsbar{min-height:60px;background:#fff}.newsbar>strong{font-size:10px;letter-spacing:.09em}.newsbar span{background:#eaf5ff}.trust-band{color:var(--ink);background:linear-gradient(90deg,#f5fbff,#eef8fd)}.trust-band>div{min-height:96px;padding:18px 20px;border-color:#d6e7f3}.trust-band>div:last-child{border-color:#d6e7f3}.trust-band small{color:var(--blue)}.trust-band strong{font-size:13px}.trust-band span,.trust-band a{color:#59718a}.trust-band a{color:var(--blue)}
.section{padding:72px 0}.section-title{margin-bottom:28px}.approach{background:#fff}.approach-layout{grid-template-columns:.72fr 1.28fr}.cycle{height:420px}.cycle::before{width:330px;height:330px}.cycle-center{width:190px;height:190px}.cycle article{width:145px;padding:7px 9px;border-color:transparent;box-shadow:none;background:rgba(255,255,255,.92)}
.model{padding-top:66px;padding-bottom:70px}.model .section-title{margin-bottom:25px}.model-visual{max-width:1140px;margin-inline:auto}.products{padding-top:66px}.product-grid article{min-height:270px}.enterprise{padding-block:66px}.programs{padding-block:66px;background:#fff}.stakeholders{padding-top:64px;padding-bottom:64px}.credibility{padding-block:62px}.credibility-grid a{min-height:170px}.initiatives{padding:52px 0}.partner-row>a{min-height:72px}.contents{padding-block:58px}.faq{padding-block:45px}.faq-layout{grid-template-columns:.58fr 1.42fr;gap:6%}.faq summary{padding-top:13px;padding-bottom:13px}.faq details p{padding-bottom:14px}footer{padding-top:32px}
@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:auto}.hero h1{white-space:normal}.hero-photo{min-height:55vw}.hero-copy{padding-top:46px}.header{min-height:72px}}
@media(max-width:650px){.hero-copy{padding:42px 22px 22px}.hero-photo{min-height:76vw}.hero h1{font-size:clamp(31px,9.2vw,40px);line-height:1.4}.hero-proof{position:static}.trust-band>div{min-height:92px}.section{padding:58px 0}.cycle{height:535px}.model{padding-block:58px}.initiatives{padding-block:45px}.faq{padding-block:42px}}

.experience-map{position:relative;display:grid;grid-template-columns:.9fr 1.2fr .9fr;gap:26px;align-items:center;max-width:1140px;margin:0 auto;padding:28px;border:1px solid rgba(99,214,235,.42);border-radius:12px;background:rgba(255,255,255,.035);box-shadow:0 24px 70px rgba(0,0,0,.26)}
.map-column{padding:18px;background:rgba(255,255,255,.97);border:1px solid rgba(99,214,235,.42);border-radius:9px;color:var(--ink)}.map-column h3{margin:0 0 13px;font-size:13px;text-align:center}.map-column article{display:flex;align-items:center;gap:11px;padding:10px 4px;border-top:1px solid #dcebf4}.map-column article i{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;color:#fff;background:var(--blue);border-radius:50%;font-size:10px;font-style:normal;font-weight:800}.map-inputs article:first-of-type i,.map-data article:first-of-type i{background:var(--teal)}.map-inputs article:last-of-type i{background:var(--red)}.map-column article div{min-width:0}.map-column article b,.map-column article span{display:block}.map-column article b{font-size:11px}.map-column article span{color:var(--muted);font-size:8px}.map-core{position:relative;min-height:330px;display:flex;align-items:center;justify-content:center}.service-circles{display:flex;justify-content:center}.service-circle{position:relative;width:205px;height:205px;margin:0 -16px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(66,196,230,.65);border-radius:50%;background:radial-gradient(circle at 45% 35%,#fff,#dff5ff 72%,#bde9f7);color:var(--ink);text-align:center;box-shadow:0 0 0 10px rgba(46,193,225,.07)}.service-circle.gaku{border-color:rgba(33,202,174,.62);background:radial-gradient(circle at 45% 35%,#fff,#dff9f2 72%,#bfeadf)}.service-circle strong{color:#0877c9;font-size:26px;line-height:1}.service-circle.gaku strong{color:#007a70;font-size:17px}.service-circle small{color:#158b7e;font-size:8px}.service-circle span{margin-top:12px;font-size:12px;font-weight:800;line-height:1.45}.profile-core{position:absolute;left:50%;bottom:0;width:200px;padding:13px 15px;transform:translateX(-50%);border:2px solid #48d8e6;border-radius:45px;color:#fff;background:linear-gradient(135deg,#087bdc,#06477d);text-align:center;box-shadow:0 10px 30px rgba(0,90,170,.35)}.profile-core small,.profile-core b{display:block}.profile-core small{color:#a9ecf5;font-size:8px}.profile-core b{font-size:14px}.experience-map::before,.experience-map::after{content:"→";position:absolute;top:50%;z-index:4;color:#56dceb;font-size:30px;font-weight:800}.experience-map::before{left:25.5%}.experience-map::after{right:25.5%;transform:rotate(180deg)}
@media(max-width:900px){.experience-map{grid-template-columns:1fr;max-width:680px}.experience-map::before,.experience-map::after{display:none}.map-core{min-height:300px}.map-column{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.map-column h3{grid-column:1/3}.service-circle{width:190px;height:190px}}
@media(max-width:650px){.experience-map{padding:14px;gap:14px}.map-column{grid-template-columns:1fr}.map-column h3{grid-column:1}.map-core{min-height:260px}.service-circle{width:150px;height:150px;margin:0 -10px}.service-circle strong{font-size:21px}.service-circle.gaku strong{font-size:14px}.service-circle span{font-size:10px}.profile-core{width:180px;padding:10px}.map-column article{padding:8px 3px}}

.approach.section{padding-block:60px}.cycle{height:360px}.cycle::before{width:285px;height:285px}.cycle-center{width:165px;height:165px}.cycle-center span,.cycle-center b{font-size:20px}.cycle article{width:190px;min-height:54px;padding:4px 4px 4px 60px}.cycle article::before{content:"";position:absolute;left:0;top:50%;width:50px;height:50px;border:3px solid #fff;border-radius:50%;transform:translateY(-50%);background:url("./hero-photo.png") center/cover no-repeat;box-shadow:0 5px 16px rgba(6,34,82,.16)}.cycle .c2::before,.cycle .c4::before,.cycle .c6::before{background-image:url("./case-study-photo.png")}.cycle article b{font-size:12px}.cycle article span{font-size:8px}.c1{left:5%;top:1%}.c2{right:5%;top:1%}.c3{right:-2%;top:42%}.c4{right:8%;bottom:0}.c5{left:8%;bottom:0}.c6{left:-2%;top:42%}
@media(max-width:650px){.approach.section{padding-block:52px}.cycle{height:500px}.cycle::before{width:235px;height:235px}.cycle article{width:138px;min-height:46px;padding-left:44px}.cycle article::before{width:38px;height:38px}.c1{left:0;top:8%}.c2{right:0;top:2%}.c3{right:0;top:39%}.c4{right:2%;bottom:0}.c5{left:0;bottom:0}.c6{left:0;top:39%}}

/* Full-page density correction against the approved 754x2086 concept */
.section{padding:42px 0}.section-title{margin-bottom:20px}.section-title.compact{margin-bottom:18px}.section-title h2,.section-copy h2,.enterprise-head h2,.faq h2{font-size:clamp(25px,2.15vw,34px);line-height:1.34}.section-title>p:last-child{margin-top:5px;font-size:11px}.eyebrow{font-size:8px!important}.section-title.inline{align-items:center}.section-title.inline>p{font-size:10px}
.approach.section{padding-block:38px}.approach-layout{grid-template-columns:.72fr 1.28fr}.section-copy>p:not(.eyebrow){margin:12px 0;font-size:10px}.cycle{height:300px}.cycle::before{width:238px;height:238px}.cycle-center{width:140px;height:140px}.cycle-center span,.cycle-center b{font-size:17px}.cycle article{width:170px;min-height:46px;padding-left:50px}.cycle article::before{width:42px;height:42px}.cycle article b{font-size:11px}.cycle article span{font-size:7px}.c1{left:7%;top:0}.c2{right:7%;top:0}.c3{right:0;top:41%}.c4{right:9%;bottom:0}.c5{left:9%;bottom:0}.c6{left:0;top:41%}
.model{padding:38px 0 42px}.model .section-title{margin-bottom:16px}.model .section-title h2{font-size:32px}.model .section-title>p:last-of-type{font-size:10px}.model-tags{margin-top:10px}.experience-map{grid-template-columns:.9fr 1.2fr .9fr;gap:18px;padding:16px}.map-column{padding:12px}.map-column h3{margin-bottom:8px;font-size:11px}.map-column article{gap:8px;padding:6px 2px}.map-column article i{width:28px;height:28px;flex-basis:28px;font-size:8px}.map-column article b{font-size:9px}.map-column article span{font-size:7px}.map-core{min-height:245px}.service-circle{width:160px;height:160px;margin:0 -12px}.service-circle strong{font-size:23px}.service-circle.gaku strong{font-size:15px}.service-circle span{margin-top:8px;font-size:10px}.profile-core{width:170px;padding:9px 12px}.profile-core b{font-size:12px}
.products{padding:40px 0}.product-grid article{min-height:225px}.product-content{padding:22px 0 20px 24px}.product-brand{font-size:29px}.gaku-brand{font-size:21px}.product-grid h3{font-size:15px}.product-grid p{margin-bottom:12px;font-size:9px}
.enterprise{padding:38px 0}.enterprise-head{margin-bottom:16px}.enterprise-head>p{font-size:10px}.steps li{min-height:145px;padding:17px 16px}.steps b{font-size:22px}.steps strong{margin:6px 0 3px;font-size:13px}.steps span{font-size:8px}.fit{padding:16px}.fit h3{margin-bottom:11px}.fit span{width:66px;height:66px;font-size:9px}.fit p{margin-top:11px;font-size:10px}.enterprise-links{margin-top:11px}.enterprise-links a{padding:7px 13px;font-size:9px}
.programs{padding:38px 0}.program-grid img{aspect-ratio:16/7}.program-grid h3{margin-top:5px;font-size:11px}.program-grid p{font-size:8px}
.stakeholders{padding:38px 0}.stake-grid>a{gap:11px;padding:14px}.stake-grid i{width:40px;height:40px;flex-basis:40px}.stake-grid h3{font-size:13px}.stake-grid p,.stake-grid b{font-size:8px}
.credibility{padding:38px 0}.credibility-head{margin-bottom:18px}.credibility-head h2{font-size:32px}.credibility-head>p{font-size:10px}.credibility-grid a{min-height:130px;padding:17px}.credibility-grid h3{margin:7px 0 4px;font-size:14px}.credibility-grid p,.credibility-grid b{font-size:8px}.credibility-grid b{left:17px;bottom:14px}
.initiatives{padding:34px 0}.initiatives .section-title{margin-bottom:15px}.partner-row{gap:18px}.partner-row>a{min-height:56px;padding:7px;font-size:24px}.partner-row .dormy img{width:135px;max-height:48px}
.contents{padding:38px 0}.featured>div{padding:16px}.featured h3{margin:5px 0;font-size:15px}.featured p{font-size:8px}.content-list a{padding:9px 3px}.content-list b{font-size:9px}
.faq{padding:30px 0}.faq-layout{gap:5%}.faq summary{padding-top:9px;padding-bottom:9px;font-size:11px}.faq details p{padding-bottom:10px;font-size:9px}footer{padding-top:28px}.footer-main{gap:25px}.footer-bottom{margin-top:22px}
@media(max-width:650px){.section{padding:48px 0}.section-title h2,.section-copy h2,.enterprise-head h2,.faq h2{font-size:27px}.approach.section{padding-block:48px}.cycle{height:470px}.cycle::before{width:220px;height:220px}.cycle-center{width:135px;height:135px}.cycle article{width:135px;padding-left:42px}.cycle article::before{width:36px;height:36px}.model{padding-block:50px}.experience-map{padding:12px}.map-column{padding:11px}.map-core{min-height:245px}.service-circle{width:145px;height:145px}.products,.enterprise,.programs,.stakeholders,.credibility,.contents{padding-block:48px}.product-grid article{min-height:390px}.steps li{min-height:auto}.credibility-grid a{min-height:145px}.initiatives{padding-block:42px}.faq{padding-block:40px}}

/* Reference-image fidelity: every experience has its own photograph. */
.stake-grid>a{display:grid;grid-template-columns:112px 1fr;align-items:stretch;gap:15px;padding:0;overflow:hidden}
.stake-grid img{width:112px;height:100%;min-height:106px;object-fit:cover}
.stake-grid>a:first-child img{object-position:67% center}
.stake-grid>a:nth-child(3) img{object-position:66% center}
.stake-grid>a>div{align-self:center;padding:15px 15px 15px 0}
@media(max-width:1050px){.stake-grid>a{grid-template-columns:160px 1fr}.stake-grid img{width:160px;min-height:118px}}
@media(max-width:650px){.stake-grid>a{grid-template-columns:92px 1fr;gap:11px}.stake-grid img{width:92px;min-height:92px}.stake-grid>a>div{padding:11px 11px 11px 0}}

/* Full-page reference proportions. */
.credibility{position:relative;overflow:hidden;padding:34px 0;background-color:#062a55;background-image:linear-gradient(rgba(64,185,239,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(64,185,239,.08) 1px,transparent 1px),radial-gradient(circle at 20% 40%,rgba(0,155,226,.17),transparent 35%);background-size:34px 34px,34px 34px,auto}
.credibility::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 44%,rgba(54,198,239,.08) 44.2% 44.35%,transparent 44.6% 61%,rgba(54,198,239,.06) 61.2% 61.35%,transparent 61.6%);pointer-events:none}
.credibility-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr 3.2fr;align-items:stretch;gap:22px}
.credibility-head{display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0;padding:2px 8px 2px 0}
.credibility-head h2{font-size:26px;line-height:1.35}
.credibility-head>p{margin:0;max-width:330px;font-size:9px;line-height:1.75}
.credibility-grid{grid-template-columns:repeat(4,1fr);gap:10px;border:0}
.credibility-grid a{min-height:142px;padding:18px 15px;border:1px solid rgba(125,199,234,.28);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(25,114,176,.08));border-radius:5px}
.credibility-grid span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#008ee8,#25c7d8);font-size:16px}
.credibility-grid h3{margin:10px 0 5px;font-size:14px}
.credibility-grid p{font-size:8px;line-height:1.55}
.credibility-grid b{display:none}
@media(max-width:1050px){.credibility-layout{grid-template-columns:1fr}.credibility-head{display:grid;grid-template-columns:1fr 1fr}.credibility-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.credibility{padding:44px 0}.credibility-head{display:block}.credibility-head>p{margin-top:12px}.credibility-grid{grid-template-columns:1fr}.credibility-grid a{min-height:126px}}

/* Match the reference board's compact desktop rhythm. */
@media(min-width:1051px){
  .enterprise{padding:25px 0 27px}.enterprise-head{margin-bottom:10px}.steps li{min-height:112px;padding:12px 14px}.steps b{font-size:20px}.steps strong{margin:3px 0 2px;font-size:12px}.fit{padding:11px}.fit h3{margin-bottom:7px}.fit span{width:55px;height:55px;font-size:8px}.fit p{margin-top:7px;padding:5px;font-size:9px}.enterprise-links{margin-top:8px}
  .programs{padding:23px 0 25px}.programs .section-title{margin-bottom:12px}.program-grid img{aspect-ratio:16/6.2}.program-grid h3{margin-top:4px}.program-grid p{line-height:1.3}
  .stakeholders{padding:24px 0 26px}.stakeholders .section-title{margin-bottom:13px}.stake-grid img{min-height:82px}.stake-grid>a>div{padding:9px 10px 9px 0}.stake-grid h3{font-size:12px}
  .initiatives{padding:23px 0}.initiatives .section-title{margin-bottom:8px}.partner-row>a{min-height:45px;padding:4px;font-size:22px}.partner-row .dormy img{max-height:39px}
  .contents{padding:24px 0 25px}.contents .section-title{margin-bottom:12px}.featured>div{padding:13px}.featured h3{font-size:14px;line-height:1.42}.content-list a{padding:7px 3px}
  .faq{padding:17px 0}.faq-layout{grid-template-columns:.48fr 1.52fr;gap:4%}.faq h2{font-size:25px}.faq summary{padding-top:6px;padding-bottom:6px;font-size:10px}.faq details p{padding-bottom:7px;font-size:8px}.faq-layout>div:first-child>p:last-child{font-size:9px}
  footer{padding-top:20px;padding-bottom:13px}.footer-logo img{width:155px}.footer-main{gap:25px}.footer-bottom{margin-top:15px;padding-top:10px}
}

.cycle-arrows{position:absolute;z-index:0;left:50%;top:50%;width:500px;height:360px;transform:translate(-50%,-50%);overflow:visible}.cycle-arrows path:not([fill]){fill:none;stroke-width:2.5;stroke-linecap:round}.cycle-arrows path:nth-of-type(1){stroke:#13b9d2}.cycle-arrows path:nth-of-type(2){stroke:#19b99a}.cycle-arrows path:nth-of-type(3){stroke:#f0b223}.cycle-arrows path:nth-of-type(4){stroke:#5979ed}.cycle-arrows path:nth-of-type(5){stroke:#ef655b}.cycle-arrows path:nth-of-type(6){stroke:#25bd9c}.cycle::before{opacity:.36}.cycle-center,.cycle article{z-index:2}
@media(max-width:650px){.cycle-arrows{width:390px;height:290px;transform:translate(-50%,-50%) scale(.78)}}

.steps li{display:grid;grid-template-columns:minmax(0,1fr) 88px;grid-template-rows:auto 1fr;column-gap:9px;align-items:center}.steps li>b{grid-column:1;grid-row:1}.steps li>span{grid-column:1;grid-row:2}.steps li>img{grid-column:2;grid-row:1/3;width:88px;height:76px;object-fit:cover;border-radius:5px;box-shadow:0 4px 12px rgba(9,75,130,.12)}
@media(max-width:650px){.steps li{grid-template-columns:minmax(0,1fr) 110px}.steps li>img{width:110px;height:82px}}

/* Mobile visual alignment with the approved hero: message first, photo second. */
@media(max-width:1050px){.hero-photo{order:initial}.hero-copy{order:0}.hero-photo{order:1}.hero-proof{order:2}}
@media(max-width:650px){.hero-copy{padding:34px 22px 27px}.hero h1{font-size:clamp(29px,9.1vw,38px);line-height:1.38}.hero h2{line-height:1.65}.hero-photo{min-height:92vw;background-position:58% center}.hero-photo::before{background:linear-gradient(90deg,rgba(255,255,255,.23),transparent 28%)}.scribble{top:18px;left:7%;font-size:16px;transform:rotate(-6deg)}.hero-photo svg{bottom:-7px}.hero-proof{order:2;padding:16px 22px}}

/* Final mobile layout: keep every section inside the viewport and restore readable hierarchy. */
@media(max-width:650px){
  html{scroll-padding-top:70px}
  body{width:100%;min-width:0}
  main,section,footer,.section-inner,.hero,.hero-copy,.hero-photo,
  .approach-layout,.enterprise-layout,.content-grid,.faq-layout,
  .product-grid,.program-grid,.stake-grid,.credibility-grid,
  .experience-map,.map-column,.map-core{min-width:0;max-width:100%}

  .header{min-height:70px;padding:0 16px;gap:12px}
  .logo img{width:148px}
  .logo small{font-size:8px}
  .menu-button{width:40px;padding:4px 0}
  .header nav{top:70px;padding:14px 18px}

  .section{padding:44px 0}
  .section-inner{width:calc(100% - 32px)}
  .section-title,.section-title.compact{margin-bottom:22px}
  .section-title h2,.section-copy h2,.enterprise-head h2,.faq h2,.credibility-head h2{
    font-size:clamp(24px,7.7vw,29px);line-height:1.45;overflow-wrap:anywhere
  }
  .section-title.inline{gap:8px}
  .section-title.inline>a{align-self:flex-start}

  .hero-copy{padding:34px 20px 28px}
  .hero h1{font-size:clamp(28px,9vw,36px);line-height:1.36}
  .hero h2{font-size:16px;line-height:1.65}
  .hero-actions{gap:10px;margin-top:22px}
  .hero-photo{min-height:95vw;background-position:59% center}
  .hero-proof{grid-template-columns:1fr 1fr;gap:13px 8px;padding:16px 20px}
  .hero-proof div:last-child{grid-column:1/-1}

  .newsbar{min-height:0;padding:14px 16px;grid-template-columns:54px minmax(0,1fr);gap:8px}
  .newsbar>a:not(.news-all){min-width:0}
  .newsbar a,.newsbar time{overflow-wrap:anywhere}
  .trust-band{grid-template-columns:1fr 1fr;padding:0}
  .trust-band>div{padding:16px;min-width:0}

  .approach-layout{gap:20px}
  .section-copy{text-align:left}
  .section-copy>p:not(.eyebrow){margin-left:0;margin-right:0}
  .cycle{width:100%;height:500px;margin:0 auto}
  .cycle-arrows{width:340px;height:260px;max-width:none;transform:translate(-50%,-50%) scale(.72)}
  .cycle::before{width:245px;height:245px}
  .cycle-center{width:154px;height:154px}
  .cycle-center span,.cycle-center b{font-size:18px}
  .cycle article{width:118px;padding:8px 9px}
  .cycle article b{font-size:11px}
  .cycle article span{font-size:8px}

  .model{padding-top:48px;padding-bottom:48px}
  .model .section-title{text-align:left}
  .model .section-title>p:last-of-type{margin-left:0}
  .model-tags{justify-content:flex-start;gap:7px;letter-spacing:.1em;white-space:nowrap}
  .model-tags i{width:18px}
  .experience-map{grid-template-columns:1fr;gap:12px;padding:12px}
  .experience-map::before,.experience-map::after{display:none}
  .map-column{grid-template-columns:1fr 1fr;gap:0 12px;padding:12px}
  .map-column h3{grid-column:1/-1}
  .map-column article{min-width:0;padding:8px 2px}
  .map-column article b,.map-column article span{overflow-wrap:anywhere}
  .map-core{min-height:238px}
  .service-circles{width:100%;transform:scale(.9)}
  .profile-core{width:168px}

  .products,.enterprise,.programs,.stakeholders,.credibility,.initiatives,.contents{padding-block:44px}
  .product-grid article{min-height:0;grid-template-columns:1fr}
  .product-content{padding:24px 22px 18px}
  .product-grid img{width:100%;height:190px;mask-image:linear-gradient(0deg,#000 70%,transparent 100%)}
  .enterprise-head{margin-bottom:20px}
  .steps li{grid-template-columns:minmax(0,1fr) 86px;column-gap:10px;padding:14px 12px}
  .steps li>img{width:86px;height:72px}
  .enterprise-links{display:grid;grid-template-columns:1fr;gap:9px}
  .enterprise-links a{text-align:center}

  .program-grid{grid-template-columns:1fr;gap:18px}
  .program-grid img{aspect-ratio:16/8}
  .program-grid h3{font-size:13px}
  .program-grid p{font-size:9px}
  .stake-grid>a{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:14px}
  .stake-grid>a>img{width:82px;height:82px}
  .credibility-grid{grid-template-columns:1fr 1fr}
  .credibility-grid a{min-height:168px;padding:18px 14px}
  .credibility-grid h3{font-size:15px}

  .initiatives .section-title.inline{align-items:flex-start}
  .partner-row{grid-template-columns:1fr 1fr;gap:10px 12px}
  .partner-row>a{width:100%;min-width:0;min-height:62px;padding:8px 4px;font-size:18px;white-space:nowrap}
  .partner-row small{font-size:6px}
  .partner-row .hokkaido{font-size:17px}
  .partner-row .sanseido{font-size:18px}
  .partner-row .dormy img{width:112px;max-height:46px}
  .partner-row .norm{grid-column:1/-1;width:50%;justify-self:center;font-size:22px}

  .featured{grid-template-columns:1fr}
  .featured img{height:190px}
  .featured>div{padding:18px 14px}
  .featured h3{font-size:16px}
  .content-list a{grid-template-columns:68px minmax(0,1fr);gap:4px 8px}
  .faq-layout{gap:20px}

  footer{padding:32px 16px 18px}
  .footer-main{grid-template-columns:1fr 1fr;gap:24px 16px}
  .footer-logo{grid-column:1/-1}
  .footer-logo img{width:158px}
  .footer-main>div:nth-child(4),.footer-main>div:nth-child(5){margin-top:0}
  .footer-bottom{flex-wrap:wrap;gap:8px 16px;margin-top:24px}
  .footer-bottom span{width:100%;margin-right:0}
}

@media(max-width:360px){
  .hero-proof{grid-template-columns:1fr}
  .hero-proof div:last-child{grid-column:auto}
  .trust-band{grid-template-columns:1fr}
  .map-column{grid-template-columns:1fr}
  .map-column h3{grid-column:1}
  .credibility-grid{grid-template-columns:1fr}
  .steps li{grid-template-columns:minmax(0,1fr) 76px}
  .steps li>img{width:76px;height:66px}
}

/* Definitive responsive rules. Earlier desktop density rules must never restore two columns below 1050px. */
@media(max-width:1050px){
  .approach-layout{grid-template-columns:1fr!important;gap:24px}
  .approach-layout .section-copy{max-width:620px;margin-inline:auto;text-align:center}
  .approach-layout .section-copy>p:not(.eyebrow){margin-inline:auto}
  .cycle{width:min(100%,760px);margin-inline:auto}
}

@media(max-width:650px){
  .approach-layout{display:block!important}
  .approach-layout .section-copy{max-width:none;text-align:left}
  .approach-layout .section-copy>p:not(.eyebrow){margin-inline:0}
  .cycle{width:100%;max-width:340px;margin:22px auto 0}
}

/* News and useful information use the same balanced two-panel composition as the approved reference. */
.news-useful-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info-panel{padding:24px;border:1px solid var(--line);border-radius:9px;background:#fff}
.info-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.info-panel-head h2{margin:0;font-size:28px;line-height:1.3}
.info-panel-head a{color:var(--blue);font-size:10px;font-weight:700;white-space:nowrap}
.news-list{border-top:1px solid var(--line)}
.news-list a{display:grid;grid-template-columns:82px 78px minmax(0,1fr) 18px;gap:10px;align-items:center;min-height:74px;border-bottom:1px solid var(--line);font-size:11px}
.news-list time{color:#7990a8;font-size:9px}
.news-list span{padding:3px 8px;color:var(--blue);background:#edf7ff;border-radius:20px;font-size:8px;text-align:center}
.news-list b{line-height:1.55}
.news-list i{color:var(--blue);font-style:normal;font-weight:800;text-align:right}
.useful-feature{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid var(--line);border-radius:7px}
.useful-feature img{width:100%;height:100%;min-height:170px;object-fit:cover}
.useful-feature>div{padding:18px}
.useful-feature span{color:var(--blue);font-size:8px}
.useful-feature h3{margin:7px 0;font-size:15px;line-height:1.5}
.useful-feature p{margin:0;color:var(--muted);font-size:9px}
.useful-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.useful-mini a{padding:11px 12px;border:1px solid var(--line);border-radius:6px}
.useful-mini span{display:block;color:var(--blue);font-size:8px}
.useful-mini b{display:block;margin-top:4px;font-size:10px;line-height:1.45}

@media(max-width:850px){
  .news-useful-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .info-panel{padding:18px 14px}
  .info-panel-head{align-items:flex-start;flex-direction:column;gap:4px}
  .info-panel-head h2{font-size:25px}
  .news-list a{grid-template-columns:70px minmax(0,1fr) 14px;grid-template-rows:auto auto;gap:3px 7px;min-height:78px;padding:10px 0}
  .news-list time{grid-column:1;grid-row:1}
  .news-list span{grid-column:2;grid-row:1;justify-self:start}
  .news-list b{grid-column:1/3;grid-row:2}
  .news-list i{grid-column:3;grid-row:1/3;align-self:center}
  .useful-feature{grid-template-columns:1fr}
  .useful-feature img{height:180px;min-height:0}
  .useful-mini{grid-template-columns:1fr}
}

/* Mobile experience graph: the six steps become a stable grid below the central circle. */
@media(max-width:650px){
  .cycle{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    height:auto!important;
    min-height:0;
    padding-top:205px;
  }
  .cycle::before{
    left:50%;top:0;
    width:180px;height:180px;
    transform:translateX(-50%);
  }
  .cycle-arrows{
    left:50%;top:90px;
    width:300px;height:216px;
    transform:translate(-50%,-50%) scale(.55);
  }
  .cycle-center{
    left:50%;top:20px;
    width:140px;height:140px;
    transform:translateX(-50%);
  }
  .cycle-center span,.cycle-center b{font-size:17px}
  .cycle article,.cycle .c1,.cycle .c2,.cycle .c3,.cycle .c4,.cycle .c5,.cycle .c6{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    min-width:0;
    min-height:74px;
    padding:10px 7px 9px 45px!important;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 6px 18px rgba(6,34,82,.08);
  }
  .cycle article::before{
    left:6px;top:50%;
    width:32px;height:32px;
  }
  .cycle article i{float:none;margin:0;font-size:8px}
  .cycle article b{font-size:10px;line-height:1.35}
  .cycle article span{font-size:7px;line-height:1.4;overflow-wrap:anywhere}
}

/* Compact 2 x 2 trust cards on phones. */
@media(max-width:650px){
  .credibility{padding-block:42px}
  .credibility-head{margin-bottom:20px}
  .credibility-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
    border:0;
  }
  .credibility-grid a{
    min-width:0;
    min-height:138px;
    padding:14px 12px;
    border:1px solid rgba(137,184,225,.25)!important;
    border-radius:7px;
  }
  .credibility-grid span{font-size:18px}
  .credibility-grid h3{margin:7px 0 4px;font-size:13px;line-height:1.4}
  .credibility-grid p{font-size:8px;line-height:1.55}
  .credibility-grid b{display:none}
}

/* Desktop composition aligned to the approved full-page reference. */
@media(min-width:1051px){
  .hero{min-height:610px;padding-bottom:86px}
  .hero-copy,.hero-photo{min-height:524px}
  .hero-proof{
    left:0;right:0;bottom:0;
    min-height:86px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    padding:0 max(22px,calc((100vw - var(--max))/2));
    background:rgba(255,255,255,.98);
    border-top:1px solid var(--line);
  }
  .hero-proof div{justify-content:center;padding:15px 28px;border-right:1px solid var(--line)}
  .hero-proof div:first-child{border-left:1px solid var(--line)}
  .hero-proof i{width:45px;height:45px;font-size:18px}
  .hero-proof span{font-size:10px}
  .hero-proof b{font-size:12px}

  .trust-band>div{position:relative;padding-left:74px}
  .trust-band>div::before{
    content:"";
    position:absolute;left:22px;top:50%;
    width:38px;height:38px;
    transform:translateY(-50%);
    display:grid;place-items:center;
    color:#fff;background:var(--blue);border-radius:50%;
    font-size:18px;font-weight:900;
  }
  .trust-band>div:nth-child(1)::before{content:"▥"}
  .trust-band>div:nth-child(2)::before{content:"●"}
  .trust-band>div:nth-child(3)::before{content:"▤"}
  .trust-band>div:nth-child(4)::before{content:"✓";background:var(--teal)}
}

.model{
  background-color:#042a58;
  background-image:
    radial-gradient(circle at 72% 28%,rgba(0,172,255,.26),transparent 31%),
    radial-gradient(circle at 18% 82%,rgba(0,100,214,.28),transparent 34%),
    linear-gradient(rgba(60,183,255,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(60,183,255,.1) 1px,transparent 1px),
    linear-gradient(135deg,#06386d,#031a3d 70%);
  background-size:auto,auto,34px 34px,34px 34px,auto;
}

/* Official product logos. */
.product-logo{width:auto;height:44px;object-fit:contain;object-position:left center}
.rooky-product-logo{max-width:178px}
.gakuchika-product-logo{max-width:220px}
.service-logo{display:block;width:auto;max-width:128px;height:38px;object-fit:contain}
.rooky-service-logo{max-width:112px;height:35px}
.gakuchika-service-logo{max-width:132px;height:32px}
.service-circle span{margin-top:10px}
.product-grid .product-content .product-logo{
  width:auto;
  height:44px;
  object-fit:contain;
  object-position:left center;
  mask-image:none;
  -webkit-mask-image:none;
}
.product-grid .product-content .rooky-product-logo{max-width:178px}
.product-grid .product-content .gakuchika-product-logo{max-width:220px}
@media(max-width:650px){
  .product-logo{height:39px}
  .rooky-product-logo{max-width:158px}
  .gakuchika-product-logo{max-width:194px}
  .service-logo{max-width:112px;height:31px}
  .rooky-service-logo{max-width:96px;height:29px}
  .gakuchika-service-logo{max-width:114px;height:27px}
  .service-circle span{margin-top:7px}
  .product-grid .product-content .product-logo{height:39px}
  .product-grid .product-content .rooky-product-logo{max-width:158px}
  .product-grid .product-content .gakuchika-product-logo{max-width:194px}
}

/* Use distinct documentary photos around the experience cycle to avoid visual repetition. */
.cycle .c1::before{background-image:url("./program-open-company.png");background-position:48% center}
.cycle .c2::before{background-image:url("./program-work-experience.png");background-position:58% center}
.cycle .c3::before{background-image:url("./product-gakuchika.png");background-position:66% center}
.cycle .c4::before{background-image:url("./case-study-photo.png");background-position:30% center}
.cycle .c5::before{background-image:url("./enterprise-meeting.png");background-position:55% center}
.cycle .c6::before{background-image:url("./program-workshop.png");background-position:58% center}
.stake-grid>a:first-child img{object-position:30% center}
.stake-grid>a:nth-child(3) img{object-position:66% 42%}

/* Staging QA: keep the mobile header controls visible and prevent hero-copy clipping. */
@media(max-width:650px){
  .menu-button{
    display:flex!important;
    flex:0 0 40px;
    margin-left:auto;
    position:relative;
    z-index:90;
    align-items:stretch;
  }
  .menu-button i{display:block;flex:0 0 2px}
  .hero h1{
    max-width:100%;
    font-size:clamp(28px,8.2vw,32px);
    line-height:1.45;
    letter-spacing:-.04em;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
