:root{--grad-hero: linear-gradient(135deg, #DCEAF5 0%, #EEF5FB 35%, #E8F5EE 70%, #FFFFFF 100%);--grad-hero-deep: linear-gradient(135deg, #C5DCEC 0%, #DBEDE2 100%);--grad-accent: linear-gradient(135deg, #1F2E47 0%, #2A4670 100%);--grad-brass: linear-gradient(135deg, #8B6F37 0%, #B89149 100%);--brand: #1F2E47;--brand-deep: #15213A;--brand-soft: #2A4670;--brand-mid: #4A6593;--brass: #8B6F37;--brass-soft: #B89149;--teal: #4A8FA0;--teal-soft: #9CC5CF;--paper: #F8F6F2;--paper-soft: #EFEAE1;--white: #FFFFFF;--sky-pale: #EEF5FB;--mint-pale: #E8F5EE;--blue-pale: #DCEAF5;--ink: #2A2520;--ink-soft: #4D4640;--ink-light: #807870;--line: #E5E0D7;--line-soft: #F0ECE3;--glass-bg: rgba(255,255,255,.62);--glass-bg-strong: rgba(255,255,255,.78);--glass-border: rgba(255,255,255,.7);--paper2: var(--sky-pale);--paper3: var(--mint-pale)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Plus Jakarta Sans,Outfit,sans-serif;font-weight:400;background:var(--paper);color:var(--ink);line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:Plus Jakarta Sans,Outfit,Noto Sans JP,sans-serif;font-weight:700;line-height:1.35;color:var(--brand);letter-spacing:-.005em}.font-en{font-family:Outfit,Plus Jakarta Sans,sans-serif;letter-spacing:.02em}.font-jp{font-family:Noto Sans JP,sans-serif}.font-serif{font-family:"Noto Serif JP",serif}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line-soft);transition:padding .3s ease,background .3s ease}.site-header.shrink{padding:10px 40px;background:#ffffffeb}.brand-mark{display:flex;align-items:center;gap:14px}.brand-glyph{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand);background:var(--blue-pale);border-radius:10px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-jp{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--brand)}.brand-en{font-family:Outfit,sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.18em;color:var(--brass);margin-top:3px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:18px}.main-nav a{font-family:Noto Sans JP,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.04em;color:var(--brand);transition:color .3s;position:relative}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--brass);transition:width .3s ease}.main-nav a:not(.nav-cta):hover:after{width:100%}.main-nav a:hover{color:var(--brass)}.main-nav .nav-cta{background:var(--grad-accent);color:#fff;padding:11px 22px;font-weight:700;letter-spacing:.08em;transition:transform .25s,box-shadow .25s;border-radius:100px;box-shadow:0 6px 18px #1f2e4740}.main-nav .nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1f2e4759;color:#fff}.nav-toggle{display:none;width:42px;height:42px;background:transparent;border:1.5px solid var(--brand);border-radius:50%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-toggle span{display:block;width:16px;height:1.6px;background:var(--brand);transition:all .3s}main{min-height:60vh;padding-top:80px;position:relative;z-index:2}.hero{min-height:90vh;position:relative;display:flex;align-items:center;justify-content:center;background:var(--grad-hero);overflow:hidden;padding:100px 40px 80px}.hero:before{content:"";position:absolute;top:-10%;right:-8%;width:540px;height:540px;background:radial-gradient(circle,#4a8fa038,#4a8fa000 70%);border-radius:50%;animation:blobFloat 18s ease-in-out infinite}.hero:after{content:"";position:absolute;bottom:-15%;left:-8%;width:480px;height:480px;background:radial-gradient(circle,#8b6f3729,#8b6f3700 70%);border-radius:50%;animation:blobFloat 22s ease-in-out infinite reverse}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.06)}66%{transform:translate(-20px,15px) scale(.96)}}.hero-inner{max-width:1240px;width:100%;display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;position:relative;z-index:3}.hero-content{position:relative}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:12px;letter-spacing:.25em;color:var(--brand);margin-bottom:24px;padding:7px 16px 7px 14px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:100px;font-weight:600;text-transform:uppercase}.hero-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brass);display:inline-block;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}.hero-title{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-size:clamp(28px,4.4vw,56px);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-bottom:28px;color:var(--brand)}.hero-title .accent{color:var(--brass);font-weight:700}.hero-title .serif{font-family:"Noto Serif JP",serif;font-weight:600}.hero-sub{font-size:16px;letter-spacing:.03em;font-weight:500;color:var(--ink-soft);margin-bottom:38px;line-height:1.95;max-width:580px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-image{position:relative}.hero-image img{width:100%;height:500px;object-fit:cover;border-radius:20px;background:var(--sky-pale);box-shadow:0 30px 70px -25px #1f2e4759}.hero-image .glass-badge{position:absolute;background:var(--glass-bg-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:14px;padding:14px 18px;box-shadow:0 16px 36px #1f2e471f;font-size:12.5px;font-weight:700;color:var(--brand);display:flex;align-items:center;gap:10px}.hero-image .glass-badge .num{font-family:Outfit,sans-serif;font-size:22px;font-weight:700;color:var(--brass);letter-spacing:-.02em}.hero-image .glass-badge.b1{top:28px;left:-28px}.hero-image .glass-badge.b2{bottom:50px;right:-32px}.page-hero{padding:150px 40px 80px;background:var(--grad-hero);position:relative;text-align:center;overflow:hidden}.page-hero:before{content:"";position:absolute;top:-20%;left:50%;width:720px;height:720px;background:radial-gradient(circle,rgba(74,143,160,.1) 0%,transparent 70%);transform:translate(-50%)}.page-hero h1{position:relative;font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.01em;margin-bottom:14px;color:var(--brand);font-weight:700}.page-hero .page-en{position:relative;font-family:Outfit,sans-serif;color:var(--brass);letter-spacing:.3em;font-size:12px;margin-bottom:16px;font-weight:600;text-transform:uppercase}.page-hero p.lead-sub{position:relative;max-width:760px;margin:18px auto 0;font-size:15.5px;color:var(--ink-soft);font-weight:500}section.block{padding:100px 40px;max-width:1240px;margin:0 auto;position:relative}section.block.paper{background:var(--paper);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}section.block.paper2{background:var(--sky-pale);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}section.block.paper3{background:var(--mint-pale);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}section.block.white{background:var(--white);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}section.block.gradient-soft{background:var(--grad-hero);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;color:var(--brass);letter-spacing:.28em;font-size:12px;margin-bottom:18px;font-weight:600;text-transform:uppercase}.eyebrow:before{content:"";display:inline-block;width:24px;height:2px;background:var(--brass)}h2.section-title{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-size:clamp(26px,3.2vw,40px);margin-bottom:32px;letter-spacing:-.01em;color:var(--brand);font-weight:700;line-height:1.3}h2.section-title .brass{color:var(--brass)}.section-deco{width:48px;height:3px;background:var(--brand);margin-bottom:24px;border-radius:2px}.lead{font-size:16px;line-height:2;max-width:820px;font-weight:500;color:var(--ink-soft)}.reveal,.reveal-up,.reveal-scale{opacity:0;transition:opacity .9s cubic-bezier(.16,.84,.44,1),transform .9s cubic-bezier(.16,.84,.44,1)}.reveal-up{transform:translateY(36px)}.reveal-scale{transform:scale(.95)}.reveal.in,.reveal-up.in,.reveal-scale.in{opacity:1;transform:translate(0) scale(1)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-2-asym{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:1px solid var(--glass-border);padding:30px 28px;border-radius:16px;transition:all .4s ease;position:relative;overflow:hidden;box-shadow:0 10px 30px -10px #1f2e471a}.glass-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px -16px #1f2e4733;background:var(--glass-bg-strong)}.glass-card .glass-num{font-family:Outfit,sans-serif;font-size:13px;color:var(--brass);letter-spacing:.2em;margin-bottom:12px;font-weight:600}.glass-card h3{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-size:18px;margin-bottom:12px;color:var(--brand);font-weight:700}.glass-card p{font-size:14px;color:var(--ink-soft);line-height:1.85;font-weight:500}.card{background:var(--white);padding:32px 28px;border:1px solid var(--line);border-radius:16px;transition:all .4s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--grad-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.card:hover{transform:translateY(-5px);box-shadow:0 20px 48px -16px #1f2e4729;border-color:var(--brass-soft)}.card:hover:before{transform:scaleX(1)}.card .card-num{font-family:Outfit,sans-serif;font-size:13px;color:var(--brass);letter-spacing:.2em;margin-bottom:14px;font-weight:600}.card h3{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-size:18px;margin-bottom:14px;color:var(--brand);font-weight:700}.card p{font-size:14px;color:var(--ink-soft);line-height:1.85;font-weight:500}.logocloud{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.logo-tile{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 14px 18px;text-align:center;transition:all .3s;cursor:pointer;position:relative;overflow:hidden}.logo-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--grad-hero-deep);transition:height .35s ease;z-index:0}.logo-tile:hover{transform:translateY(-4px);box-shadow:0 16px 34px -14px #1f2e4729;border-color:var(--brass-soft)}.logo-tile:hover:before{height:100%}.logo-tile .tile-icon{position:relative;z-index:1;width:44px;height:44px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:var(--blue-pale);border-radius:12px;color:var(--brand)}.logo-tile:hover .tile-icon{background:var(--white);color:var(--brand-deep)}.logo-tile .tile-icon svg{width:22px;height:22px}.logo-tile .tile-label{position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--brand);letter-spacing:.02em;display:block;line-height:1.4}.field-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;transition:all .4s;display:block}.field-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px -20px #1f2e472e;border-color:var(--brass-soft)}.field-card .field-img-wrap{position:relative;overflow:hidden}.field-card img{width:100%;height:220px;object-fit:cover;background:var(--sky-pale);transition:transform .7s ease}.field-card:hover img{transform:scale(1.06)}.field-card .field-body{padding:26px 28px}.field-card h3{font-size:18px;margin-bottom:10px}.field-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.85}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:var(--grad-accent);color:#fff;font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-weight:700;letter-spacing:.04em;font-size:14px;transition:all .3s;border:1.5px solid transparent;border-radius:100px;cursor:pointer;position:relative;box-shadow:0 8px 20px #1f2e4733}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px #1f2e4752;color:#fff}.btn.btn-outline{background:transparent;color:var(--brand);border-color:var(--brand);box-shadow:none}.btn.btn-outline:hover{background:var(--brand);color:#fff}.btn.btn-brass{background:var(--grad-brass);color:#fff}.btn .arrow{display:inline-block;width:18px;height:1.6px;background:currentColor;position:relative;transition:transform .3s}.btn .arrow:after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg)}.btn:hover .arrow{transform:translate(4px)}.site-footer{background:var(--paper);color:var(--ink);padding:80px 40px 36px;border-top:1px solid var(--line);position:relative}.footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px}.footer-mark{font-family:Outfit,sans-serif;font-weight:700;font-size:28px;letter-spacing:.04em;color:var(--brand);margin-bottom:10px}.footer-name{font-family:Noto Sans JP,sans-serif;font-weight:700;color:var(--brand);margin-bottom:6px;font-size:15px}.footer-tag{font-size:13px;color:var(--ink-soft);font-weight:500;margin-bottom:6px;line-height:1.7}.footer-tagsmall{font-family:Outfit,sans-serif;font-size:11px;letter-spacing:.25em;color:var(--brass);text-transform:uppercase;font-weight:500}.footer-col{display:flex;flex-direction:column;gap:8px}.footer-col .footer-h{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-weight:700;font-size:13.5px;color:var(--brand);margin-bottom:8px;letter-spacing:.04em}.footer-col a{font-size:13px;color:var(--ink-soft);font-weight:500;transition:color .3s}.footer-col a:hover{color:var(--brass)}.footer-info p{font-size:12.5px;color:var(--ink-soft);font-weight:500;line-height:1.7;margin-bottom:2px}.footer-bottom{max-width:1240px;margin:50px auto 0;padding-top:28px;border-top:1px solid var(--line);text-align:center}.footer-copy{font-size:11.5px;letter-spacing:.18em;color:var(--ink-light);font-family:Outfit,sans-serif;font-weight:500}.footer-note{font-size:11px;color:var(--ink-light);margin-top:8px;font-weight:500}.tbl{width:100%;border-collapse:collapse;font-size:14px;background:var(--white);border-radius:14px;overflow:hidden}.tbl th,.tbl td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-weight:500}.tbl th{width:240px;color:var(--brand);background:var(--sky-pale);font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-weight:700}.tbl td .note{display:block;font-size:12px;color:var(--ink-light);margin-top:4px}.price-row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:0;padding:26px 28px;border-bottom:1px solid var(--line);align-items:start;background:var(--white)}.price-row:nth-child(2n){background:var(--sky-pale)}.price-row .price-title{font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-weight:700;color:var(--brand);font-size:16px}.price-row .price-amount{font-family:Outfit,sans-serif;color:var(--brass);font-weight:700;font-size:19px;letter-spacing:-.01em}.price-row .price-note{color:var(--ink-soft);font-size:14px;font-weight:500}.timeline{position:relative;padding-left:36px;border-left:2px solid var(--brand-mid);list-style:none}.timeline li{margin-bottom:26px;padding-left:22px;position:relative;font-size:14.5px;font-weight:500;line-height:1.9}.timeline li:before{content:"";position:absolute;left:-44px;top:8px;width:14px;height:14px;background:var(--brand);border-radius:50%;box-shadow:0 0 0 4px var(--white),0 0 0 6px var(--sky-pale)}.timeline li strong{color:var(--brand);font-family:Plus Jakarta Sans,Noto Sans JP,sans-serif;font-weight:700;display:inline-block;min-width:110px;margin-right:8px}ul.list-clean{list-style:none}ul.list-clean li{padding-left:26px;position:relative;margin-bottom:12px;font-size:14.5px;font-weight:500;line-height:1.9;color:var(--ink-soft)}ul.list-clean li:before{content:"";position:absolute;left:0;top:12px;width:14px;height:2px;background:var(--brass);border-radius:1px}ul.list-check{list-style:none}ul.list-check li{padding-left:30px;position:relative;margin-bottom:14px;font-size:14.5px;font-weight:500;line-height:1.85;color:var(--ink-soft)}ul.list-check li:before{content:"✓";position:absolute;left:0;color:#fff;font-weight:700;font-size:11px;background:var(--brand);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;top:3px}.notice{background:var(--sky-pale);border-left:3px solid var(--brand);padding:20px 26px;font-size:13.5px;color:var(--ink-soft);font-weight:500;line-height:1.85;border-radius:0 12px 12px 0}.notice.warm{background:var(--paper-soft);border-left-color:var(--brass)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}.stat-item{padding:36px 16px;background:var(--glass-bg-strong);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:1px solid var(--glass-border);border-radius:18px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 24px -10px #1f2e471a}.stat-item:hover{transform:translateY(-4px);box-shadow:0 18px 36px -14px #1f2e4733}.stat-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--grad-accent)}.stat-num{font-family:Outfit,sans-serif;font-size:44px;font-weight:700;color:var(--brand);display:block;line-height:1.1;margin-bottom:6px;letter-spacing:-.02em}.stat-label{font-size:12.5px;color:var(--ink-soft);font-weight:600;letter-spacing:.06em}.stat-unit{font-size:16px;font-weight:700;color:var(--brass);margin-left:2px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:7px 16px;border:1.5px solid var(--brand);color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.06em;background:var(--white);border-radius:100px;transition:all .3s}.chip:hover{background:var(--brand);color:#fff}.chip.brass{border-color:var(--brass);color:var(--brass)}.chip.brass:hover{background:var(--brass);color:#fff}.form-glass{background:var(--glass-bg-strong);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:1px solid var(--glass-border);border-radius:20px;padding:40px;box-shadow:0 20px 50px -20px #1f2e4726}.form-row{margin-bottom:22px}.form-row label{display:block;font-size:13px;font-weight:700;color:var(--brand);margin-bottom:8px;letter-spacing:.04em}.form-row input,.form-row textarea,.form-row select{width:100%;padding:14px 18px;border:1px solid var(--line);background:var(--white);font-family:inherit;font-size:14.5px;color:var(--ink);border-radius:10px;transition:border-color .3s,box-shadow .3s}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #1f2e4714}.form-row textarea{min-height:140px;resize:vertical}@media(max-width:1100px){.main-nav{gap:14px}.main-nav a{font-size:12.5px}.logocloud{grid-template-columns:repeat(4,1fr)}}@media(max-width:980px){.nav-toggle{display:flex}.main-nav{position:fixed;top:0;left:0;right:0;height:100vh;background:var(--paper);flex-direction:column;justify-content:center;padding:80px 40px 40px;transform:translate(100%);transition:transform .4s;gap:24px;overflow-y:auto}.main-nav.open{transform:translate(0)}.main-nav a{font-size:16px}.hero-inner{grid-template-columns:1fr;gap:50px}.hero-image{order:-1}.hero-image img{height:320px}.hero-image .glass-badge.b1{left:8px;top:12px}.hero-image .glass-badge.b2{right:8px;bottom:12px}.grid-3,.grid-4,.grid-5,.grid-2,.grid-2-asym{grid-template-columns:1fr}.stats,.logocloud{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;gap:32px}section.block{padding:70px 24px}.page-hero{padding:130px 24px 70px}.hero{padding:110px 24px 70px;min-height:auto}.site-header{padding:14px 20px}.price-row{grid-template-columns:1fr;gap:8px}.form-glass{padding:28px}}
