@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');
:root{--ink:#142126;--muted:#64747a;--bg:#f6f8f7;--accent:#1a6c71;--blue:#2e7ab5;--lime:#18a85b;--line:#dfe7e6;--paper:#fff;--dark:#101c20}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 15px/1.95 'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-weight:300;letter-spacing:.055em;line-height:1.45}h1{font-size:clamp(36px,5.5vw,79px)}h2{font-size:clamp(29px,3.8vw,49px)}h3{font-size:21px;line-height:1.55}p{color:#4a5b60}strong{font-weight:600}.container{width:min(1160px,calc(100% - 44px));margin:auto}.mini{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);font-weight:600}.eyebrow{color:#acc8c7;font-size:12px;letter-spacing:.22em;font-weight:600}.header{height:79px;position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.header .container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:18px}.logo{font-size:18px;letter-spacing:.04em;font-weight:700;white-space:normal;line-height:1.25}.logo small{display:block;letter-spacing:.08em;font-size:9px;color:#657b7e}.nav{display:flex;align-items:center;gap:18px}.nav a{font-size:12px;white-space:nowrap;color:#345053}.nav a:hover,.nav a.active{color:#007f83}.nav-apply{background:#1f7277;color:white!important;padding:11px 16px;border-radius:3px}.menu-toggle{display:none;border:0;background:transparent;font-size:28px}.hero{min-height:660px;position:relative;color:white;background:linear-gradient(90deg,rgba(5,17,20,.88),rgba(5,17,20,.37) 70%),url('cover_nonres.webp') center/cover;display:flex;align-items:center}.hero .container{padding:95px 0}.hero h1{max-width:920px}.hero p{max-width:620px;color:#e0e8e9}.hero .mini{color:#c5e5e1}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:15px 25px;background:var(--blue);color:#fff;font-weight:600;font-size:13px;transition:.2s}.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn.outline{border:1px solid currentColor;background:transparent;color:inherit}.btn.line{background:var(--lime)}.btn.dark{background:var(--dark)}.section{padding:95px 0}.section.soft{background:var(--bg)}.section.dark{background:var(--dark);color:#fff}.section.dark p{color:#b6c7cb}.section-head{max-width:770px;margin-bottom:45px}.section-head p{font-size:16px}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px;min-width:0}.card p{font-size:13px;margin-bottom:0}.card .number{font-size:38px;color:#91bec0;font-weight:300;line-height:1;margin-bottom:18px}.card.image{padding:0;overflow:hidden}.card.image img{height:200px;width:100%;object-fit:cover}.card.image .content{padding:25px}.photo-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.photo-grid img{height:270px;width:100%;object-fit:cover}.photo-grid img:first-child{height:552px;grid-row:span 2}.band{padding:33px;background:#e9f1f0;border-left:3px solid var(--accent);margin-top:32px}.band p{margin-bottom:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;aspect-ratio:4/3;object-fit:cover}.steps{counter-reset:step}.step{padding:28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:20px}.step .n{font-size:39px;font-weight:300;color:var(--accent)}.page-hero{background:#14282c;color:white;padding:85px 0 75px;position:relative;overflow:hidden}.page-hero h1{font-size:clamp(34px,5vw,65px);margin:8px 0 22px}.page-hero p{color:#cad9d9;max-width:760px}.page-hero .mini{color:#7cd4cb}.muted{color:var(--muted)}.bullets{padding-left:1.2em;color:#4a5b60}.bullets li{padding:4px 0}.tag{display:inline-block;background:#e4f0ef;color:#1b7377;padding:4px 10px;font-size:11px;border-radius:2px;margin-bottom:13px}.image-label{position:relative;overflow:hidden}.image-label img{aspect-ratio:16/10;object-fit:cover;width:100%}.image-label span{position:absolute;bottom:14px;left:14px;background:rgba(0,0,0,.7);color:#fff;padding:4px 13px;font-size:12px}.timeline{border-left:1px solid #a9c5c3;padding-left:25px}.timeline .item{position:relative;padding:3px 0 27px}.timeline .item:before{content:'';position:absolute;left:-31px;top:12px;background:var(--accent);width:11px;height:11px;border-radius:50%}.timeline b{color:var(--accent)}.timeline p{margin:3px 0}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'＋';color:var(--accent)}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:15px}.cta{padding:85px 0;background:#14282c;text-align:center;color:white}.cta p{color:#b9cbca}.cta h2{margin-bottom:20px}.footer{background:#0d171a;color:#c5d5d6;padding:45px 0 95px}.footer .container{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap}.footer a{color:#d0e1e1}.footer small{font-size:11px;color:#93a8aa}.fixed-cta{position:fixed;z-index:100;right:0;top:39%;display:flex;flex-direction:column;box-shadow:0 5px 23px #0002}.fixed-cta a{width:60px;min-height:140px;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--blue);color:white;writing-mode:vertical-rl;letter-spacing:.13em;font-weight:700;font-size:14px;border-radius:5px 0 0 5px;padding:13px 10px}.fixed-cta a+ a{background:var(--lime);margin-top:5px}.fixed-cta a span{font-size:21px;writing-mode:horizontal-tb;line-height:1}.smallprint{font-size:12px;color:#718184}.demo{border:1px solid var(--line);background:#fff;padding:25px;border-radius:5px}.demo input[type=range]{width:100%;accent-color:var(--accent)}.focal-frame{height:300px;overflow:hidden;position:relative;background:#edf1f0}.focal-frame img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.focal-info{display:flex;justify-content:space-between;margin-top:14px;color:#3c6061}.pilllist{display:flex;flex-wrap:wrap;gap:9px}.pilllist span{font-size:12px;color:#305b5d;border:1px solid #b9d2d0;padding:8px 12px;border-radius:100px}.exposure-demo{width:100%;height:270px;object-fit:cover;transition:filter .2s}.compare-wrap{position:relative;overflow:hidden;aspect-ratio:16/9}.compare-wrap>img{height:100%;width:100%;object-fit:cover}.compare-wrap .before{position:absolute;inset:0;backdrop-filter:grayscale(.2) brightness(.66) contrast(1.1);-webkit-backdrop-filter:grayscale(.2) brightness(.66) contrast(1.1);clip-path:inset(0 50% 0 0)}.compare-wrap .divider-line{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid white;pointer-events:none}.compare-wrap .labelbefore,.compare-wrap .labelafter{position:absolute;bottom:12px;background:#0009;color:#fff;font-size:11px;padding:2px 9px}.compare-wrap .labelbefore{left:12px}.compare-wrap .labelafter{right:12px}.stats{display:flex;gap:26px;flex-wrap:wrap;margin:26px 0}.stat{min-width:140px}.stat strong{font-size:30px;font-weight:300;display:block;color:var(--accent)}.lead{font-size:18px;line-height:2.1}.line-cta-note{font-size:11px;color:#bdcece}
@media(max-width:1100px){.nav{gap:10px}.nav a{font-size:11px}.container{width:min(100% - 38px,1060px)}}@media(max-width:800px){body{font-size:14px}.header{height:66px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;padding:18px 23px 28px;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:stretch;gap:10px}.nav.open{display:flex}.nav a{padding:7px;font-size:14px}.hero{min-height:570px}.hero .container{padding:80px 0}.grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr;gap:35px}.section{padding:66px 0}.photo-grid img{height:170px}.photo-grid img:first-child{height:352px}.fixed-cta{top:auto;right:0;left:0;bottom:0;flex-direction:row;box-shadow:0 -5px 22px #0002}.fixed-cta a,.fixed-cta a+a{writing-mode:horizontal-tb;flex:1;min-height:58px;width:auto;margin:0;border-radius:0;letter-spacing:.02em;font-size:13px;padding:11px 8px}.fixed-cta a span{font-size:19px}.footer{padding-bottom:120px}}
@media(max-width:540px){.container{width:calc(100% - 34px)}h1{font-size:35px}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid img{height:165px}.photo-grid img:first-child{grid-column:span 2;grid-row:auto;height:240px}.step{grid-template-columns:55px 1fr}.page-hero{padding:65px 0}.card{padding:23px}.stats{gap:18px}.stat{min-width:120px}.focal-frame{height:220px}.logo{font-size:15px}.logo small{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.faq-photo{max-width:720px;margin:0 0 44px}.faq-photo img{width:100%;height:auto;max-height:380px;object-fit:cover;border-radius:5px}.faq-photo p{font-size:13px;color:var(--muted);margin-top:9px}


/* Visual storytelling — custom vector diagrams, built with CSS and inline SVG. */
.section-diagram{background:linear-gradient(145deg,#eaf2f1 0%,#f8faf9 72%);border-top:1px solid #d9e8e6;border-bottom:1px solid #d9e8e6;position:relative}
.section-diagram .section-head{max-width:900px}
.diagram-row{display:grid;gap:12px;align-items:stretch}
.diagram-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.diagram-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-row.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.diagram-step{background:#fff;position:relative;border:1px solid #d6e5e3;border-radius:10px;padding:25px 19px 23px;box-shadow:0 6px 24px #0a30300c;min-width:0}
.diagram-row .diagram-step:not(:last-child):after{content:'→';position:absolute;right:-14px;top:65px;z-index:2;color:#bb9251;font-size:22px;font-weight:600;background:#eaf2f1;border-radius:50%;height:22px;line-height:22px}
.diagram-visual{display:flex;align-items:center;justify-content:center;color:#28656d;width:68px;height:68px;background:#e4efed;border-radius:18px;margin-bottom:22px}.diagram-icon{width:37px;height:37px}
.diagram-count{font-size:11px;letter-spacing:.06em;color:#956f37;font-weight:700}.diagram-step h3{font-size:16px;margin:8px 0;line-height:1.5}.diagram-step p{font-size:12px;line-height:1.8;margin:0}
.diagram-footer{display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;color:#316269;margin-top:28px;border:1px dashed #acc9c6;border-radius:10px;padding:23px;font-size:13px;background:#ffffffc7}
.diagram-footer span{color:#bc9455}.diagram-footer .btn{color:#fff}.diagram-footer .btn+span{color:#397176}
.diagram-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:25px;padding:20px;border-radius:10px;background:#18383c;color:#fff}
.diagram-chip{border:1px solid #7db0b2;border-radius:4px;padding:9px 15px}.diagram-chip.gold{border-color:#c69c58}.diagram-plus,.diagram-equals{font-size:23px;color:#dcc393}.diagram-summary strong{font-size:21px}
.tech-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.diagram-panel{background:white;border:1px solid #d6e5e3;border-radius:10px;padding:28px}.diagram-panel svg:not(.diagram-icon){width:100%;max-height:240px;display:block;margin:10px auto 8px}.diagram-panel h3{margin:8px 0}.diagram-panel p{font-size:13px;margin:4px 0 0}.diagram-panel .mini{font-size:10px}
.hub-diagram{background:#fff;border:1px solid #d6e5e3;border-radius:12px;padding:34px;position:relative}.hub-center{margin:0 auto 28px;padding:23px;background:#214a50;color:white;display:flex;align-items:center;flex-direction:column;max-width:290px;border-radius:16px;text-align:center}.hub-center .diagram-icon{height:40px;width:40px;margin-bottom:10px}.hub-center b{font-size:19px;line-height:1.5}.hub-center small{font-size:11px;color:#c6dadc}.hub-ring{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hub-ring .diagram-step{box-shadow:none}.diagram-note{font-size:12px;margin-top:20px}
@media(max-width:960px){.diagram-row.four,.hub-ring{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-row.five{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-row .diagram-step:after{display:none}}
@media(max-width:650px){.diagram-row.four,.diagram-row.five,.diagram-row.three,.hub-ring,.tech-visual-grid{grid-template-columns:1fr}.diagram-step{display:grid;grid-template-columns:64px 1fr;column-gap:18px;align-items:center;padding:18px}.diagram-visual{grid-row:1 / span 3;margin:0;width:58px;height:58px}.diagram-icon{width:32px;height:32px}.diagram-step h3{font-size:16px;margin:3px 0}.diagram-step p{font-size:12px}.hub-diagram{padding:17px}.diagram-footer{padding:16px}.diagram-summary{gap:6px}.diagram-chip{font-size:12px;padding:8px}.diagram-panel{padding:18px}}
