:root{--ink:#16382b;--text:#334b3d;--muted:#65776c;--line:#dce8df;--paper:#fff;--soft:#f3f8f4;--soft2:#e8f2e9;--green:#126b4c;--deep:#0b3329;--mint:#bdebd0;--shadow:0 22px 60px rgba(9,54,33,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--paper);color:var(--text);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea{font:inherit}
button{cursor:pointer}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;padding:10px 16px;border-radius:8px;color:var(--green)}
.skip-link:focus{top:10px}
.reading-progress{height:3px;position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;pointer-events:none}
.reading-progress span{display:block;height:100%;width:100%;background:#29b884;transform:scaleX(0);transform-origin:left}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:76px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:var(--ink);font-size:21px;font-weight:850;letter-spacing:-.045em}
.brand img{object-fit:contain;flex:none}
.main-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.main-nav a{font-size:14px;text-decoration:none;color:#52695b;font-weight:700;white-space:nowrap}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--green)}
.header-actions{display:flex;align-items:center;gap:24px}
.language-switch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#98a99b}
.language-switch a{text-decoration:none;color:#6c8171}
.language-switch a[aria-current=page]{color:var(--green)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:0;border-radius:9px;padding:15px 21px;background:var(--green);color:#fff;text-decoration:none;font-size:15px;font-weight:800;line-height:1.35;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);background:#0a543a;box-shadow:0 12px 25px #07351f26}
.button:focus-visible,.text-link:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #61cba1;outline-offset:4px}
.button-small{padding:11px 15px;font-size:13px;white-space:nowrap}
.button-light{background:#e5f5e8;color:#0a3f2d}
.button-light:hover{background:#fff}
.text-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#d3f1dd;font-size:15px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.text-link.dark{color:var(--green);margin-top:24px}
.text-link:hover{opacity:.78}
.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 16px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.08em}
.eyebrow:before{content:"";width:23px;height:2px;background:currentColor}
.eyebrow-light{color:#b7eed0}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{color:var(--ink);letter-spacing:-.055em;line-height:1.34}
h2{font-size:clamp(31px,3.4vw,45px);margin:0 0 21px;font-weight:850}
h3{font-size:21px;margin:0 0 13px;font-weight:800}
.section{padding:104px 0}
.section-lead{font-size:19px;color:#536d5d;max-width:760px;margin:0 0 36px;line-height:1.85}
.section-note{font-size:13px;color:#718274;margin:17px 0 0}
.hero{position:relative;overflow:hidden;background-color:#052b29;background-image:linear-gradient(90deg,#031f20b3 0%,#031f208c 48%,#031f2026 72%,#031f2000 100%),url("/lp/hero-background-optimized.webp");background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}
.hero-grid{width:min(1280px,calc(100% - 48px));min-height:645px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:44px;padding-top:64px;padding-bottom:64px;position:relative;z-index:1}
.hero-copy{container-type:inline-size}
.hero h1{font-size:clamp(47px,4.8vw,64px);line-height:1.22;color:#fff;margin:0 0 27px}
html[lang=en] .hero h1{font-size:clamp(38px,3.6vw,50px)}
.hero h1 em{font-style:normal;color:#c3f0d3}
.hero-lead{font-size:20px;line-height:1.9;color:#e4f1e7;max-width:620px;margin-bottom:31px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.hero-facts{display:flex;gap:13px;flex-wrap:wrap;margin-top:44px}
.hero-facts span{display:inline-flex;align-items:center;gap:8px;border:1px solid #a6dcc067;border-radius:100px;padding:7px 13px;color:#d9f2e2;font-size:13px;font-weight:700}
.hero-facts span:before{content:"✓";color:#9ce3b8;font-weight:900}
.hero-product{position:relative;width:100%;margin:0;min-width:0}
.hero-product-artwork{width:100%;height:auto}
.hero-product-note{margin:14px 0 0;text-align:center;color:#d8f5e3;font-size:12px;font-weight:700;letter-spacing:.02em}
.section-problems{background:linear-gradient(180deg,#faf7ff 0%,#f1e9f9 74%,#f7f2fc 100%)}
.problem-intro{font-size:19px;line-height:1.8;color:#556a5d;margin:0;max-width:760px}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.problem-card{border:1px solid #e4d9ee;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 14px 40px #4d2d7118}
.problem-card-top{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 17px}
.card-label{font-size:13px;font-weight:900;color:#66458e;letter-spacing:.05em}
.problem-card-inspector .card-label{color:#865085}
.problem-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#efe5f8;color:#704497;font-size:19px;font-weight:900;line-height:1}
.problem-card-inspector .problem-mark{background:#f5e2f1;color:#965087}
.problem-scene{height:211px;position:relative;margin:0 25px;border-radius:12px;overflow:hidden;border:1px solid #ddc9ec}
.provider-scene{background:radial-gradient(circle at 55% 90%,#d9c3ee 0,#efe2f9 58%,#faf5ff 100%)}
.provider-scene:before{content:"?";position:absolute;font-size:185px;line-height:1;font-weight:900;color:#8859af16;right:10px;top:-46px}
.scene-question{position:absolute;z-index:2;top:16px;left:21px;background:#fff;border:1px solid #d9bcea;box-shadow:0 7px 22px #67418b1f;border-radius:10px;padding:8px 13px;color:#643981;font-weight:900;font-size:15px}
.scene-files{position:absolute;left:28px;bottom:19px;display:flex;align-items:flex-end;gap:9px}
.scene-file{position:relative;width:102px;height:87px;background:#fff;border:1px solid #e0d4c1;border-radius:7px;box-shadow:0 11px 17px #73532f2b;padding:12px 10px;display:flex;flex-direction:column;gap:10px;color:#375341}
.scene-file:before{content:"";display:block;width:28px;height:3px;background:#c7d4c9;border-radius:2px;position:absolute;top:40px}
.scene-file small{font-size:10px;color:#8b9a8b;font-weight:900;letter-spacing:.05em}
.scene-file strong{font-size:14px;white-space:nowrap}
.scene-file-sheet{transform:rotate(-9deg) translateY(7px)}
.scene-file-pdf{transform:rotate(3deg) translateY(-7px)}
.scene-file-mail{transform:rotate(10deg) translateY(6px)}
.scene-warning{position:absolute;right:18px;top:20px;display:flex;align-items:center;gap:7px;z-index:2;background:#fff;color:#ac4b27;border:1px solid #efc7ae;border-radius:8px;box-shadow:0 8px 23px #8b4b2728;padding:8px 10px;font-size:12px;font-weight:850;transform:rotate(-5deg)}
.scene-warning span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#d55d3e;color:#fff;font-weight:900}
.inspector-scene{background:radial-gradient(circle at 83% 21%,#e7c9eb 0,#f3e1f4 60%,#fcf6fd 100%);border-color:#e4cce9}
.inspector-scene:before{content:"!";position:absolute;font-size:185px;line-height:1;font-weight:900;color:#8f5caf16;right:23px;top:-39px}
.scene-review{position:absolute;left:24px;top:18px;width:min(60%,310px);background:#fff;border:1px solid #edddd8;border-radius:9px;box-shadow:0 12px 22px #9a4d3b22;transform:rotate(-2deg);padding:11px 15px;color:#42564b}
.scene-review-head,.scene-review-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.scene-review-head{font-size:12px;font-weight:900;border-bottom:1px solid #e7ede8;padding-bottom:8px}
.scene-review-head span:last-child{font-size:10px;color:#9baca0}
.scene-review-row{padding:8px 0;border-bottom:1px solid #eef0ec;font-size:12px;font-weight:700}
.scene-review-row:last-child{border:0}
.scene-review-row b{font-size:10px;padding:3px 7px;border-radius:5px;white-space:nowrap}
.review-ok{background:#e8f5e9;color:#347457}
.review-missing,.review-unknown{background:#fff0e9;color:#ba513e}
.scene-request{position:absolute;right:16px;bottom:18px;z-index:2;display:flex;align-items:center;gap:11px;background:#fff;color:#b44c37;border:1px solid #edb8a9;border-radius:9px;box-shadow:0 11px 25px #a546302d;padding:10px 13px;font-size:13px;font-weight:900;transform:rotate(5deg)}
.scene-request span{font-size:16px}
.problem-card-content{padding:25px 30px 30px}
.problem-card h3{font-size:24px;line-height:1.45;margin-bottom:13px}
.problem-card ul{padding:0;margin:0;list-style:none}
.problem-card li{border-top:1px solid #eee8f2;padding:10px 0 10px 28px;position:relative;font-size:15px;line-height:1.65}
.problem-card li:before{content:"❌";position:absolute;top:16px;left:0;font-size:13px;line-height:1}
.motion-ready:not(.motion-off) .problem-card.in-view li{animation:problem-point-in .48s cubic-bezier(.2,.75,.25,1) both}
.motion-ready:not(.motion-off) .problem-card.in-view li:nth-child(1){animation-delay:.22s}
.motion-ready:not(.motion-off) .problem-card.in-view li:nth-child(2){animation-delay:.42s}
.motion-ready:not(.motion-off) .problem-card.in-view li:nth-child(3){animation-delay:.62s}
@keyframes problem-point-in{from{opacity:0;transform:translateY(-11px)}to{opacity:1;transform:translateY(0)}}
.problem-root{display:flex;align-items:center;gap:18px;margin-top:19px;padding:18px 22px;border-radius:10px;background:#e9dcf3;color:#3e2861}
.problem-root span{font-size:12px;letter-spacing:.06em;font-weight:900;color:#74509b;white-space:nowrap}
.problem-root strong{font-size:18px;line-height:1.5}
.section-solution{background:linear-gradient(180deg,#eaf7ef 0%,#f5faf7 43%,#fff 100%);border-top:1px solid #dcebe1}
.section-solution .shell{width:min(1280px,calc(100% - 48px))}
.section-solution .section-lead{max-width:none}
.step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:35px}
.step-card{background:#fff;border:1px solid #d6e8db;border-top:3px solid #1ea975;border-radius:17px;overflow:hidden;box-shadow:0 15px 38px #0e5d3920;transition:transform .25s ease,box-shadow .25s ease}
.step-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px #0e5d3927}
.step-visual{height:218px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d6f0df,#e7f5ec);border-bottom:1px solid #d9e9df}
.step-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#064e3214 0%,transparent 38%,#0a55301c 100%);pointer-events:none}
.step-visual img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.step-result{position:absolute;z-index:1;font-weight:850;line-height:1.3}
.step-result{right:11px;bottom:12px;display:flex;align-items:center;gap:6px;background:#fff;color:#165a40;border:1px solid #c9e5d3;border-radius:8px;padding:7px 9px;font-size:11px;box-shadow:0 8px 23px #0e583739}
.step-result b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#169a6b;color:#fff;font-size:11px;line-height:1}
.step-card-copy{padding:21px 20px 26px}
.step-number{font-size:13px;font-weight:900;color:#0b8860;letter-spacing:.12em}
.step-card h3{font-size:21px;line-height:1.4;margin:9px 0 7px;color:var(--ink)}
.step-card p{font-size:14px;line-height:1.75;color:#52695a;margin:0}
.solution-band{margin-top:28px;background:linear-gradient(110deg,#0e5b44,#0b7954);color:#fff;border-radius:13px;padding:22px 25px;display:flex;align-items:center;gap:19px;box-shadow:0 14px 32px #0c624527}
.solution-band-check{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:#e4f7eb;color:#0f7954;font-size:25px;font-weight:900}
.solution-band>div{display:flex;flex-direction:column;gap:2px;flex:1}
.solution-band strong{font-size:19px;letter-spacing:-.035em}
.solution-band>div span{font-size:13px;color:#d4f1df}
.solution-band a{color:#fff;text-decoration:none;white-space:nowrap;border:1px solid #ffffff68;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:800}
.solution-band a:hover,.solution-band a:focus-visible{background:#ffffff1c}
.section-stakeholders{background:#f4f8f5}
.stakeholder-matrix{display:grid;gap:16px;margin-top:36px}
.stakeholder-row{display:grid;grid-template-columns:210px minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid #d1e2d6;border-radius:14px;background:#fff;box-shadow:0 12px 34px #0c513515}
.stakeholder-who{padding:26px 22px;background:#e6f1e9}
.stakeholder-who span{font-size:11px;font-weight:900;letter-spacing:.06em;color:#237556}
.stakeholder-who h3{margin:13px 0 0;font-size:22px;line-height:1.45;color:var(--ink)}
.stakeholder-cell{padding:24px 27px}
.stakeholder-cell h4{margin:0 0 13px;font-size:14px;font-weight:900;color:#5a6d60}
.stakeholder-cell ul{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.stakeholder-cell li{position:relative;padding-left:25px;font-size:15px;line-height:1.55;color:#405749}
.stakeholder-cell li:before{position:absolute;left:0;top:0;font-weight:900;color:#a06375;content:"×"}
.stakeholder-gain{background:#eaf7ed;border-left:1px solid #d1e8d7}
.stakeholder-gain h4,.stakeholder-gain li:before{color:#167c55}
.stakeholder-gain li:before{content:"✓"}
.section-screens{background:#fff}
.product-scene{margin:34px 0 25px;overflow:hidden;background:#dceff1;border-radius:17px;border:1px solid #d4e5e1;box-shadow:var(--shadow)}
.product-scene img{width:100%;height:auto}
.product-scene figcaption{font-weight:750;font-size:15px;padding:15px 21px;color:var(--ink);background:#fff;display:flex;justify-content:space-between;gap:12px}
.product-scene figcaption span{font-size:13px;color:var(--green);white-space:nowrap}
.screen-link{display:block;overflow:hidden}
.screen-link img{transition:transform .25s ease}
.screen-link:hover img{transform:scale(1.015)}
.reminder-showcase{margin:30px 0;border:1px solid #b9ddc8;border-radius:17px;overflow:hidden;background:#f1f8f3;box-shadow:var(--shadow)}
.reminder-showcase-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 29px}
.reminder-showcase-head .eyebrow{margin-bottom:9px}
.reminder-showcase-head h3{font-size:28px;margin-bottom:10px}
.reminder-title-end{display:inline-block}
.reminder-showcase-head p:not(.eyebrow){font-size:16px;margin:0;color:#536d5d}
.reminder-range{display:inline-flex;flex:none;padding:9px 13px;border:1px solid #b9dcc7;border-radius:100px;background:#fff;color:var(--green);font-size:12px;font-weight:800;white-space:nowrap}
.reminder-screen{margin:0;background:#fff}
.reminder-screen img{width:100%;height:auto}
.reminder-screen figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 21px;border-top:1px solid var(--line);border-bottom:1px solid #dce8df;color:var(--ink);font-size:15px}
.reminder-screen figcaption span{font-size:13px;color:var(--green);white-space:nowrap}
.reminder-flow{list-style:none;margin:0;padding:25px 29px 17px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.reminder-flow li{position:relative;padding:14px 16px;border:1px solid #cfe4d5;border-radius:10px;background:#fff}
.reminder-flow li:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:#368260;font-weight:900}
.reminder-flow small{display:block;color:#547560;font-size:12px;font-weight:750;margin-bottom:3px}
.reminder-flow strong{display:block;color:var(--ink);font-size:16px;line-height:1.5}
.reminder-note{margin:0;padding:0 29px 22px;color:#65776c;font-size:12px}
.screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.screen-card{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 35px #0d3d1c0c}
.screen-card img{width:100%;height:auto;aspect-ratio:1920/934;object-fit:cover}
.screen-card:last-child{grid-column:1/-1}
.screen-card figcaption{display:flex;align-items:baseline;gap:13px;padding:14px 17px;border-top:1px solid var(--line)}
.screen-card b{color:var(--ink);font-size:16px}
.screen-card span{font-size:13px;color:var(--muted)}
.section-inspection{background:#eaf3ec}
.inspection-summary{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:10px;margin:30px 0 20px}
.inspection-summary-side{display:grid;gap:10px;align-content:center;min-height:112px;padding:20px 24px;border:1px solid #cddfd2;border-radius:12px;background:#fff}
.inspection-summary-side>span{font-size:12px;font-weight:900;letter-spacing:.07em;color:#68766b}
.inspection-summary-side strong{font-size:19px;line-height:1.5;color:var(--ink)}
.inspection-summary-side.is-after{border-color:#91d9aa;background:#e4f7e9}
.inspection-summary-side.is-after>span,.inspection-summary-side.is-after strong{color:#126b48}
.inspection-summary-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#167b55;color:#fff;font-size:24px;font-weight:900}
.comparison-wrap{overflow-x:auto;border:1px solid #cddfd2;border-radius:14px;box-shadow:var(--shadow)}
.comparison{width:100%;border-collapse:collapse;background:#fff;table-layout:fixed;font-size:16px;line-height:1.65}
.comparison th,.comparison td{text-align:left;vertical-align:top;padding:19px 21px;border-bottom:1px solid #e2ece4}
.comparison tr:last-child th,.comparison tr:last-child td{border-bottom:0}
.comparison thead th{background:#0d503a;color:#fff;font-weight:800;font-size:14px}
.comparison thead th:first-child{width:18%}
.comparison tbody th{color:var(--ink);font-weight:850}
.comparison tbody td:last-child{background:#f3faf4;color:#1a5f3d;font-weight:750}
.section-features{background:#fff}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.feature-card{position:relative;padding:28px;border:1px solid var(--line);border-radius:13px;background:#fff;min-height:207px;transition:transform .2s,box-shadow .2s,border-color .2s}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b5d6be}
.feature-head{padding-right:58px}
.feature-index{font-size:11px;font-weight:900;color:var(--green);letter-spacing:.12em}
.feature-icon{position:absolute;top:19px;right:19px;display:grid;place-items:center;width:52px;height:52px;border:1px solid #c8e7d2;border-radius:13px;background:#eff9f2;color:#147b54}
.feature-icon svg{display:block;width:30px;height:30px}
.feature-card h3{margin:10px 0 10px}
.feature-card p{margin:0;font-size:15px;color:#5a6d5f}
.section-about{position:relative;overflow:hidden;background:#f4f8f4}
.section-about h2{font-size:clamp(28px,2.35vw,42px);line-height:1.33;letter-spacing:-.04em}
.about-deco{position:absolute;width:430px;right:-110px;top:-110px;opacity:.18;pointer-events:none}
.about-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;column-gap:70px;row-gap:28px;align-items:center}
.about-side{width:100%}
.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;color:#50695a}
.about-mark{border-radius:15px;background:#fff;border:1px solid var(--line);padding:42px 35px;text-align:center;box-shadow:var(--shadow)}
.about-mark>img{width:min(290px,100%);height:auto;max-height:116px;object-fit:contain;margin:0 auto 24px}
.about-mark>div{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ink);font-size:16px}
.about-mark>div span{color:var(--green);font-weight:900}
.about-mark p{font-size:13px!important;margin:20px 0 0;color:#758679!important}
.supervisor{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px;align-items:start;margin-top:8px;padding:30px 34px;border:1px solid #d5e5d9;border-radius:15px;background:#fff;box-shadow:0 14px 36px #0b4d3012}
.supervisor-profile{display:flex;align-items:flex-start;gap:21px}
.supervisor-profile img{width:118px;height:118px;border-radius:12px;object-fit:cover;flex:none}
.supervisor-profile small{display:block;font-size:12px;color:var(--green);font-weight:900;letter-spacing:.04em}
.supervisor-profile h3{margin:7px 0 10px;font-size:26px;line-height:1.3;color:var(--ink)}
.supervisor-profile p{font-size:14px;line-height:1.7;margin:0;color:#556d5c}
.supervisor-career{padding-left:32px;border-left:1px solid #dce8df}
.supervisor-career-label{margin:0 0 8px;font-size:12px;font-weight:900;letter-spacing:.08em;color:#237756}
.supervisor-career ul{list-style:none;margin:0;padding:0}
.supervisor-career li{padding:9px 0}
.supervisor-career li+li{border-top:1px solid #e8eee9}
.supervisor-career strong,.supervisor-career span{display:block}
.supervisor-career strong{font-size:15px;line-height:1.45;color:var(--ink)}
.supervisor-career span{margin-top:2px;font-size:13px;line-height:1.55;color:#5e7063}
.section-partners{padding:52px 0 62px;background:#fff}
.section-partners h2{margin:0 0 32px;text-align:center;font-size:22px;letter-spacing:.04em}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.partner-card{min-width:0;text-align:center;padding:28px 30px 30px;border:1px solid #e1e9e3;border-radius:16px;background:#fbfdfb}
.partner-brand{height:76px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.partner-brand img{height:auto;max-height:48px;object-fit:contain}
.partner-brand .hana-card-logo-en{width:min(376.1875px,100%)}
.partner-brand .hana-card-logo-ja{width:min(384.7472px,100%)}
html[lang=ja] .partner-brand img[src*="draper-dragon"]{width:min(300.9945px,78.231759%)}
html[lang=en] .partner-brand img[src*="draper-dragon"]{width:min(300.9945px,80.011824%)}
.partner-card h3{width:fit-content;max-width:100%;min-height:0;margin:0 auto 20px;padding:5px 12px;border-radius:6px;background:#eaf2ec;color:#315a46;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.01em}
.partner-card p{margin:0;text-align:left;font-size:16px;line-height:1.8;color:#536d5d}
@media(max-width:900px){.partner-grid{gap:20px}.partner-card{padding:22px}}
@media(max-width:700px){.section-partners{padding:40px 0 46px}.section-partners h2{font-size:21px;margin-bottom:26px}.partner-grid{grid-template-columns:1fr;gap:20px}.partner-card{padding:22px 20px 24px}.partner-brand{height:60px;margin-bottom:14px}.partner-card h3{margin-bottom:18px}.partner-card p{font-size:15px}}
.section-faq{background:#fff}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;color:var(--ink);font-weight:800;font-size:18px;padding:22px 4px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:22px;color:var(--green);font-weight:400;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 30px 22px 4px;color:#5c7162}
.section-contact{position:relative;overflow:hidden;background:#0b3329;color:#fff}
.contact-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;pointer-events:none}
.contact-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.contact-copy{padding-top:24px}
.contact-copy h2{color:#fff;font-size:clamp(37px,3.5vw,52px)}
html[lang=ja] .contact-copy h2{font-size:clamp(34px,3.2vw,48px)}
.contact-title-main{white-space:nowrap}
html[lang=en] .contact-title-break{display:none}
.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.9;color:#deefe2}
.contact-callout{display:grid;gap:7px;border-left:3px solid #9de4bb;padding-left:19px;margin-top:40px}
.contact-callout strong{color:#c8efd7}
.contact-callout span{font-size:14px;color:#d4e9da}
.contact-form-card{background:#fff;color:var(--ink);border-radius:16px;padding:34px;box-shadow:0 25px 75px #001e1855}
.contact-form-card h3{font-size:23px;margin-bottom:6px}
.form-intro{color:var(--muted);font-size:14px;margin-bottom:22px}
.form{display:grid;gap:13px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.form-row>label{min-width:0}
.form>label:not(.agree):not(.hp),.form-row>label{display:grid;gap:5px;font-size:13px;font-weight:800}
.field-label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.source-field{display:grid;gap:5px;font-size:13px;font-weight:800;min-width:0}
.source-input{position:relative;min-width:0}
.source-input input{padding-right:52px!important}
.source-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:42px;height:42px;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer;font-size:16px;line-height:1}
.source-clear:hover{background:#f9eeee}
.source-clear:focus-visible{outline:2px solid #16865f;outline-offset:1px}
.source-clear[hidden]{display:none!important}
.form input:not([type=checkbox]),.form textarea{width:100%;border:1px solid #cad9ce;border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px;font-size:15px;min-height:44px;outline:none}
.form textarea{resize:vertical;min-height:112px}
.form input:focus,.form textarea:focus{border-color:#16865f;box-shadow:0 0 0 3px #1a966129}
.form .bad{border-color:#c64747!important}
.req{display:inline-flex;align-items:center;flex:none;color:#ab4539;background:#fff0ec;border-radius:5px;padding:2px 7px;font-size:11px}
.form .agree{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:#566c5b;margin:5px 0}
.form .agree input{margin-top:3px;accent-color:var(--green)}
.form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.button-submit{width:100%;min-height:49px}
.button-submit:disabled{opacity:.55;cursor:wait;transform:none}
.msg{font-size:13px;margin:0;min-height:1em}
.msg.ok{color:#156a48}.msg.ng{color:#ae4239}
.site-footer{background:#08281f;color:#bed5c4;padding:34px 0}
.footer-inner{display:flex;align-items:center;gap:24px 26px;flex-wrap:wrap}
.site-footer .brand{font-size:17px;color:#e8f4ea;margin-right:auto}
.footer-companies{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.site-footer .footer-companies a{display:grid;grid-template-columns:auto 14px;gap:3px 8px;text-decoration:none;line-height:1.5}
.footer-companies a>span:first-child{grid-column:1 / -1;font-size:11px;color:#a3c2af}
.footer-companies strong{font-size:14px;font-weight:700;color:#e8f4ea}
.footer-external{align-self:center;color:#b7d4c1}
.site-footer .footer-companies a:hover strong{text-decoration:underline}
.site-footer a:focus-visible{outline:2px solid #7bdab8;outline-offset:5px}
@media(max-width:900px){.footer-companies{width:100%;gap:22px 30px}}
@media(max-width:600px){.footer-companies{gap:19px;align-items:flex-start;flex-direction:column;margin:9px 0 12px}}
.site-footer p,.site-footer a:not(.brand),.site-footer small{font-size:12px;margin:0;color:#bed5c4}
.site-footer a:not(.brand):hover{text-decoration:underline}
.motion-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease;transition-delay:var(--delay,0ms)}
.motion-ready .reveal.in-view{opacity:1;transform:none}
.motion-off .reveal,.tab-inactive .reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:1000px){.main-nav{gap:16px}.header-inner{gap:20px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px}.hero h1{font-size:clamp(38px,4.8vw,50px)}.about-grid,.contact-grid{gap:35px}}
@media(max-width:900px){.problem-grid{grid-template-columns:1fr}}
@media(max-width:900px){.stakeholder-row{grid-template-columns:1fr 1fr}.stakeholder-who{grid-column:1/-1;padding:18px 22px}.stakeholder-who h3{margin-top:5px}}
@media(max-width:650px){.stakeholder-row{grid-template-columns:1fr}.stakeholder-who{grid-column:auto}.stakeholder-cell{padding:21px 22px}.stakeholder-gain{border-left:0;border-top:1px solid #d1e8d7}}
@media(max-width:700px){.inspection-summary{grid-template-columns:1fr;gap:8px}.inspection-summary-arrow{margin:auto;transform:rotate(90deg)}}
@media(max-width:800px){.hero{background-position:left center}.main-nav{display:none}.header-actions{margin-left:auto}.hero-grid{grid-template-columns:1fr;gap:32px;min-height:0;padding-top:67px;padding-bottom:66px}.hero-product{max-width:650px;margin-inline:auto}.step-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.about-mark{max-width:550px}.section{padding:76px 0}}
@media(max-width:1000px){.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shell{width:min(100% - 30px,1180px)}.header-inner{min-height:66px;gap:9px}.brand{font-size:17px;gap:6px}.brand img{width:30px;height:30px}.header-actions{gap:10px}.button-small{padding:10px 9px;font-size:11px}.language-switch{font-size:11px;gap:4px}.hero-grid{width:calc(100% - 30px);padding-top:55px;padding-bottom:42px}.hero h1{font-size:clamp(38px,10vw,53px)}.hero-lead{font-size:17px}.hero-actions{align-items:flex-start;gap:19px;flex-direction:column}.hero-facts{margin-top:31px;gap:7px}.hero-facts span{font-size:11px;padding:5px 9px}.hero-visual{padding:14px}.visual-title strong{font-size:19px}.visual-row{padding:10px 8px}.visual-row b{font-size:12px}.visual-row small{font-size:10px}.visual-status{font-size:9px}.section{padding:60px 0}h2{font-size:clamp(29px,8vw,38px)}.section-lead{font-size:17px}.problem-grid,.step-grid,.screen-grid,.feature-grid{grid-template-columns:1fr}.problem-card{padding:25px 23px}.problem-card h3{font-size:22px}.problem-card li{font-size:15px}.step-card{min-height:0}.solution-band{align-items:flex-start;flex-direction:column;padding:20px}.product-scene{margin-top:23px}.screen-card figcaption{flex-direction:column;gap:0}.comparison{min-width:570px;font-size:14px}.comparison th,.comparison td{padding:12px}.comparison thead th{font-size:12px}.about-grid>div>p:not(.eyebrow){font-size:16px}.about-mark{padding:30px 20px}.faq-list summary{font-size:16px}.contact-copy{padding:0}.contact-form-card{padding:24px 20px}.footer-inner{align-items:flex-start;flex-direction:column;gap:11px}}
@media(max-width:600px){.screen-card:last-child{grid-column:auto}.product-scene figcaption{flex-direction:column}.product-scene figcaption span{white-space:normal}}
@media(max-width:600px){.problem-intro{font-size:16px}.problem-card{padding:0}.problem-card-top{padding:19px 19px 13px}.problem-scene{height:190px;margin:0 16px}.scene-question{top:13px;left:12px;font-size:13px}.scene-files{left:20px;bottom:14px;gap:6px}.scene-file{width:78px;height:71px;padding:8px 7px;gap:7px}.scene-file:before{width:22px;top:31px}.scene-file small{font-size:8px}.scene-file strong{font-size:11px}.scene-warning{top:57px;right:9px;bottom:auto;font-size:10px;padding:6px 8px}.inspector-scene{height:230px}.scene-review{left:13px;top:15px;width:82%;padding:8px 11px}.scene-review-row{padding:6px 0}.scene-request{right:7px;bottom:8px;font-size:11px;padding:7px 9px}.problem-card-content{padding:22px 21px 23px}.problem-root{align-items:flex-start;flex-direction:column;gap:4px;padding:15px 17px}.problem-root strong{font-size:16px}}
@media(max-width:600px){.section-solution .shell{width:min(100% - 30px,1280px)}.step-visual{height:225px}.step-result{right:10px;bottom:10px;font-size:12px;padding:7px 9px}.step-card-copy{padding:21px 22px 25px}.step-card h3{font-size:22px}.solution-band a{white-space:normal}}
@media(max-width:600px){.hero-product-note{font-size:11px;margin-top:10px}}
@media(max-width:600px){html[lang=en] .hero h1{font-size:clamp(34px,8vw,42px)}}
@media(max-width:600px){html[lang=ja] .contact-copy h2{font-size:clamp(29px,8vw,37px)}}
@media(max-width:380px){.header-actions .button-small{display:none}.brand{font-size:16px}.hero h1{font-size:36px}.hero-facts span{font-size:10px}}
@media(max-width:380px){.section-about h2{font-size:25px}}
@media(max-width:800px){.supervisor{grid-column:auto;grid-template-columns:1fr;gap:23px}.supervisor-career{padding-left:0;padding-top:21px;border-left:0;border-top:1px solid #dce8df}}
@media(max-width:600px){.supervisor{padding:22px 19px}.supervisor-profile{gap:14px}.supervisor-profile img{width:82px;height:82px}.supervisor-profile h3{font-size:21px}.supervisor-profile p{font-size:13px}.supervisor-career strong{font-size:14px}}
@media(max-width:600px){html[lang=ja] .section-screens h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

@media(max-width:800px){.reminder-showcase-head{align-items:flex-start;flex-direction:column;gap:16px}.reminder-flow{gap:11px;padding-inline:20px}.reminder-flow li{padding:12px 10px}.reminder-flow strong{font-size:14px}}
@media(max-width:600px){.reminder-showcase-head{padding:23px 20px}.reminder-showcase-head h3{font-size:23px}.reminder-showcase-head p:not(.eyebrow){font-size:15px}.reminder-screen figcaption{align-items:flex-start;flex-direction:column;gap:5px;padding:15px 18px}.reminder-flow{grid-template-columns:1fr;padding:19px 20px 15px;gap:8px}.reminder-flow li{display:flex;align-items:center;gap:18px;padding:12px 15px}.reminder-flow small{min-width:70px;margin:0}.reminder-flow strong{font-size:15px}.reminder-flow li:after{display:none}.reminder-note{padding:0 20px 22px}}

html[lang=ja] .hero h1{font-size:clamp(29px,9.8cqw,60px)}

@media(max-width:600px){.form-row{grid-template-columns:1fr}}

.contact-grid>div{min-width:0}
@media(max-width:600px){html[lang=en] .contact-title-main{white-space:normal}}

.form>[hidden]{display:none!important}

.analytics-settings{border:0;padding:0;background:none;color:#bed5c4;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.analytics-consent{position:fixed;z-index:100;bottom:18px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 30px));display:flex;align-items:center;gap:24px;background:#fff;color:#17392d;border:1px solid #bad4c4;border-radius:14px;padding:20px 24px;box-shadow:0 12px 45px #001e1850;font-size:13px;line-height:1.7}
.analytics-consent[hidden],.analytics-settings[hidden]{display:none!important}
.analytics-consent p{margin:0;flex:1}.analytics-consent b,.analytics-consent span{display:block}.analytics-consent b{font-size:15px;margin-bottom:3px}.analytics-consent a{font-size:12px;color:#17684e;text-decoration:underline}.analytics-consent>div{display:flex;gap:8px;flex:none}.analytics-consent button{border:1px solid #b9cfbf;border-radius:8px;background:#fff;color:#17392d;font:inherit;font-weight:700;padding:10px 14px;cursor:pointer}.analytics-consent button[data-consent=granted]{background:#156b4f;color:#fff;border-color:#156b4f}.analytics-consent button:focus-visible{outline:3px solid #44a87f;outline-offset:2px}
@media(max-width:600px){.analytics-consent{bottom:10px;flex-direction:column;align-items:stretch;gap:12px;padding:17px 18px}.analytics-consent>div{justify-content:flex-end}}

/* Country calling codes stay readable on small screens. */
.phone-input{display:grid;grid-template-columns:minmax(105px,0.9fr) minmax(0,1.1fr);gap:8px;min-width:0}
.form select{width:100%;min-width:0;border:1px solid #cad9ce;border-radius:8px;background:#fff;color:var(--ink);padding:10px 8px;font:inherit;font-size:14px;min-height:44px}
.form select:focus{border-color:#16865f;box-shadow:0 0 0 3px #1a966129}
.form-privacy{font-size:12px;line-height:1.6;color:#52675a;margin:0}

.form-row:has(.phone-input){grid-template-columns:1fr}

/* English navigation needs more room before the tablet breakpoint. */
@media(max-width:1050px){html[lang=en] .main-nav{display:none}html[lang=en] .header-actions{margin-left:auto}}

/* Search stays at the top of the country dropdown; the native select is a no-JS fallback. */
.form-row>.phone-field{min-width:0;display:grid;gap:5px;font-size:13px;font-weight:800}
.country-picker{position:relative;min-width:0}
.country-picker select[hidden]{display:none!important}
.country-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;min-width:0;border:1px solid #cad9ce;border-radius:8px;background:#fff;color:var(--ink);padding:10px 9px;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.country-selected{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.country-trigger:focus-visible,.country-trigger[aria-expanded=true]{outline:none;border-color:#16865f;box-shadow:0 0 0 3px #1a966129}
.country-trigger.bad{border-color:#bd4848;box-shadow:0 0 0 2px #bd48481c}
.country-menu{position:absolute;z-index:25;top:calc(100% + 6px);left:0;width:min(340px,calc(100vw - 72px));padding:10px;background:#fff;border:1px solid #bdd4c5;border-radius:10px;box-shadow:0 12px 32px #052b2933;color:var(--ink);font-weight:400}
.country-menu[hidden]{display:none!important}
.country-menu.opens-up{top:auto;bottom:calc(100% + 6px)}
.form .country-search{font-size:14px;padding:10px 11px}
.country-options{position:relative;max-height:220px;overflow-y:auto;overscroll-behavior:contain;margin-top:8px;scrollbar-width:thin}
.country-option{font-size:14px;line-height:1.5;padding:11px 10px;border-radius:6px;cursor:pointer;overflow-wrap:anywhere}
.country-option:hover,.country-option.is-active{background:#edf7f0}
.country-option[aria-selected=true]{color:#126747;font-weight:700}
.country-status{margin:8px 3px 0;font-size:12px;line-height:1.5;color:#607566}
