:root{--bg:#FAFAF8;--bg-warm:#F5F3EF;--bg-card:#FFFFFF;--text:#3A3A3A;--text-light:#6B6B6B;--text-muted:#9A9A9A;--accent:#6B9E8A;--accent-hover:#5A8B79;--accent-bg:#E8F0EC;--line:#E8E6E2;--cta:#057f3e;--cta-hover:#046b34;--white:#FFFFFF}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-zen-kaku),"Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic UI","Yu Gothic","Meiryo",sans-serif;color:var(--text);background:var(--bg);line-height:1.85;letter-spacing:.02em}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--accent-bg);color:var(--text)}::selection{background:var(--accent-bg);color:var(--text)}input:focus,textarea:focus{border-color:var(--accent)!important;outline:none}.page-main{padding-top:76px}.fade-in{opacity:1;transform:none}.fade-in.fade-in-pending{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.fade-in.fade-in-pending.visible{opacity:1;transform:translateY(0)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;border-bottom:1px solid transparent;transition:all .4s ease;padding:0 14px 0 8px}.header.scrolled{background:rgba(250,250,248,.92);backdrop-filter:blur(12px);border-bottom-color:var(--line)}.header-inner{max-width:940px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}.logo-btn{background:none;border:none;cursor:pointer;font-size:14.5px;font-weight:500;color:var(--accent);letter-spacing:.06em;font-family:Zen Kaku Gothic New,sans-serif}.logo-img{display:block;width:auto;height:28px}@media (min-width:600px){.logo-img{height:36px}}.desktop-nav{display:none;gap:24px;align-items:center}.nav-link{background:none;border:none;cursor:pointer;font-size:12.5px;color:var(--text-light);font-weight:400;font-family:inherit;transition:color .2s}.nav-link.active{color:var(--accent);font-weight:500}.mobile-menu-btn{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.mobile-overlay{position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(250,250,248,.97);backdrop-filter:blur(16px);z-index:999;display:flex;flex-direction:column;padding:36px 24px;gap:6px;animation:fadeInOverlay .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.mobile-nav-link{background:none;border:none;cursor:pointer;font-size:15px;color:var(--text);text-align:left;padding:18px 0;border-bottom:1px solid var(--line);font-family:inherit;width:100%}.mobile-nav-link.active{color:var(--accent)}.line-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--cta);color:#fff;padding:17px 24px;border-radius:14px;font-size:15px;font-weight:500;letter-spacing:.04em;border:none;cursor:pointer;transition:all .3s;box-shadow:0 2px 16px rgba(5,127,62,.25);font-family:inherit}.line-cta:active{transform:scale(.98)}.line-cta.compact{padding:14px 24px;font-size:14px;border-radius:10px}.line-cta.fallback{background:var(--accent);box-shadow:0 2px 16px rgba(107,158,138,.22)}.line-cta.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.consent-check{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--text-sub);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.consent-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--cta);cursor:pointer;flex-shrink:0}.consent-check a{color:var(--accent);text-decoration:underline}.section{padding:60px 20px;border-top:1px solid var(--line)}.section-inner{max-width:700px;margin:0 auto}.section-title{text-align:center;margin-bottom:32px}.section-title .sub{display:block;font-size:11px;color:var(--accent);letter-spacing:.16em;margin-bottom:10px;font-weight:500}.section-title h2{font-size:clamp(21px,5vw,26px);font-weight:600;line-height:1.55;color:var(--text);text-wrap:balance}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 24px 60px;background:linear-gradient(170deg,#F0F7F3,#E8F2EC 40%,#F5F3EF);position:relative;overflow:hidden}.hero-blob-1{top:4%;right:0;width:300px;height:300px;background:radial-gradient(circle at 40% 40%,rgba(107,158,138,.5),rgba(107,158,138,0) 70%);filter:blur(40px);animation:blob1 9s ease-in-out infinite}.hero-blob-1,.hero-blob-2{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}.hero-blob-2{bottom:8%;left:0;width:260px;height:260px;background:radial-gradient(circle at 50% 50%,rgba(140,195,170,.45),rgba(107,158,138,0) 70%);filter:blur(32px);animation:blob2 12s ease-in-out infinite}.hero-blob-3{top:42%;left:10%;width:180px;height:180px;background:radial-gradient(circle,rgba(180,220,200,.4),transparent 70%);filter:blur(22px);animation:blob3 7s ease-in-out infinite}.hero-blob-3,.hero-ring{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}.hero-ring{top:10%;right:12%;width:100px;height:100px;border:1.5px solid rgba(107,158,138,.45);animation:ringPulse 5s ease-in-out infinite;display:none}@media (min-width:480px){.hero-ring{display:block}}.hero-ring:after{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(107,158,138,.25);animation:ringPulse 5s ease-in-out 1s infinite}@keyframes blob1{0%{transform:translate(0) scale(1)}30%{transform:translate(-20px,24px) scale(1.08)}65%{transform:translate(12px,-14px) scale(.93)}to{transform:translate(0) scale(1)}}@keyframes blob2{0%{transform:translate(0) scale(1)}35%{transform:translate(24px,-30px) scale(1.12)}70%{transform:translate(-10px,14px) scale(.92)}to{transform:translate(0) scale(1)}}@keyframes blob3{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-22px) scale(1.18)}to{transform:translate(0) scale(1)}}@keyframes ringPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.3}to{transform:scale(1);opacity:1}}.hero h1{font-size:25px;font-weight:600;line-height:1.7;margin-bottom:22px;letter-spacing:.02em;text-wrap:balance}.stats-bar{display:flex;justify-content:center;gap:0;background:var(--white);border-bottom:1px solid var(--line);padding:20px 0}.stat-item{flex:1;min-width:80px;text-align:center;padding:0 12px;border-right:1px solid var(--line)}.stat-item:last-child{border-right:none}.stat-number{font-size:22px;font-weight:600;color:var(--accent);letter-spacing:-.01em;line-height:1.2}.stat-label{font-size:10px;color:var(--text-muted);letter-spacing:.06em;margin-top:3px}.job-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}.job-tab{padding:8px 20px;border-radius:100px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;letter-spacing:.04em}.job-tab.active,.job-tab:hover{background:var(--accent);color:var(--white)}.hero-scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;animation:bounceDown 2.4s ease-in-out infinite;pointer-events:none}.hero-scroll-hint span{font-size:9px;letter-spacing:.18em;color:var(--text-muted)}@keyframes bounceDown{0%,to{transform:translateX(-50%) translateY(0);opacity:.6}50%{transform:translateX(-50%) translateY(7px);opacity:1}}.policy-card{padding:20px 0 20px 20px;margin-bottom:4px;border-left:2px solid var(--accent);position:relative}.policy-card h3{font-size:14.5px;font-weight:500;margin-bottom:6px;text-wrap:balance;color:var(--text)}.policy-card p{font-size:13px;color:var(--text-light);line-height:1.85;text-wrap:pretty;white-space:pre-line}.check-item{display:flex;gap:14px;margin-bottom:8px;align-items:flex-start;background:var(--bg);border-radius:12px;padding:16px 18px;transition:box-shadow .2s}.check-icon{width:32px;height:32px;border-radius:50%;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.voice-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.voice-scroll::-webkit-scrollbar{display:none}.voice-swipe-hint{text-align:center;font-size:10.5px;color:var(--text-muted);letter-spacing:.1em;margin-top:16px}.voice-card{background:var(--white);border-radius:18px;padding:28px 24px 24px;margin-bottom:0;box-shadow:0 2px 16px rgba(107,158,138,.07),0 1px 4px rgba(0,0,0,.04);position:relative;overflow:hidden;flex:0 0 100%;scroll-snap-align:start}.voice-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),rgba(107,158,138,.12))}.voice-tag{display:inline-block;font-size:10px;color:var(--accent);background:var(--accent-bg);border-radius:20px;padding:4px 12px;letter-spacing:.08em;margin-bottom:16px;font-weight:500}.voice-quote{font-size:13.5px;line-height:1.85;color:var(--text);margin-bottom:0;text-wrap:pretty}.voice-footer{justify-content:flex-end;gap:8px}.voice-avatar,.voice-footer{display:flex;align-items:center}.voice-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-bg);justify-content:center;font-size:10px;color:var(--accent);font-weight:600;flex-shrink:0}.voice-profile{font-size:11.5px;color:var(--text-muted);text-align:right;letter-spacing:.04em}.flow-item{display:flex;gap:20px;align-items:flex-start;margin-bottom:0}.flow-step{flex-direction:column}.flow-number,.flow-step{display:flex;align-items:center;flex-shrink:0;width:40px}.flow-number{height:40px;border-radius:50%;border:1.5px solid var(--accent);justify-content:center;font-size:11px;font-weight:500;color:var(--accent);letter-spacing:.05em;background:var(--white)}.flow-item:not(:last-child) .flow-step:after{content:"";flex:1;width:1px;min-height:32px;background:linear-gradient(to bottom,var(--accent),transparent);opacity:.35;margin-top:6px}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}.faq-q-label{color:var(--accent);font-size:13.5px;font-weight:600}.faq-q-label,.faq-toggle{flex-shrink:0;margin-top:1px}.faq-toggle{font-size:18px;color:var(--text-muted);transition:transform .3s}.faq-toggle.open{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s;opacity:0}.faq-answer.open{max-height:400px;opacity:1}.final-cta{padding:76px 24px;background:linear-gradient(180deg,var(--bg-warm),#EDF3EF);text-align:center}.footer{background:var(--bg-warm);padding:44px 24px 28px;border-top:1px solid var(--line)}.footer-inner{max-width:700px;margin:0 auto}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;margin-bottom:20px}.footer-link{background:none;border:none;cursor:pointer;font-size:11.5px;color:var(--text-light);font-family:inherit;padding:8px 4px}.sticky-cta{position:fixed;bottom:0;left:0;right:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:rgba(250,250,248,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:900;transition:transform .4s ease}.sticky-cta.hidden{transform:translateY(100%)}.form-input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:var(--bg);color:var(--text);outline:none;transition:border-color .2s}.form-input::-moz-placeholder{color:var(--text-muted);opacity:.6}.form-input::placeholder{color:var(--text-muted);opacity:.6}.form-textarea{resize:vertical;line-height:1.7}.form-submit{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .2s}.form-submit:hover{background:var(--accent-hover)}.story-block{max-width:520px;margin:0 auto;text-align:center}.story-deco{font-size:52px;line-height:1;color:var(--accent);opacity:.18;font-family:Georgia,serif;margin-bottom:20px;display:block}.story-lead{font-size:15px;font-weight:500;color:var(--text);line-height:1.95;margin-bottom:22px}.story-body{font-size:13.5px;color:var(--text-light);line-height:2.05;margin-bottom:20px}.story-body:last-of-type{margin-bottom:0}.text-link{background:none;color:var(--accent);cursor:pointer;font-size:12.5px;font-family:inherit;border:none;border-bottom:1px solid rgba(107,158,138,.18);padding-bottom:2px}.info-box{padding:24px 26px;background:var(--bg-warm);border-radius:12px;font-size:13px;color:var(--text-light);line-height:1.9}@media (min-width:769px){.desktop-nav{display:flex}.mobile-menu-btn,.sticky-cta{display:none}.section{padding:80px 20px}.hero h1{font-size:clamp(27px,4vw,34px)}.voice-scroll{display:grid;grid-template-columns:repeat(2,1fr);overflow-x:visible;margin:0;padding:0;gap:16px}.voice-card{min-width:unset}.voice-swipe-hint{display:none}}.blog-content{font-size:14.5px;line-height:2;color:var(--text-light)}.blog-content h2{font-size:17px;font-weight:600;color:var(--text);margin:32px 0 10px}.blog-content h3{font-size:15px;font-weight:500;color:var(--text);margin:24px 0 8px}.blog-content p,.blog-content ul{margin-bottom:18px}.blog-content ul{padding-left:20px}.blog-content li{margin-bottom:6px}.blog-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:13px;overflow-x:auto;display:block}.blog-content td,.blog-content th{padding:10px 14px;border:1px solid var(--line);line-height:1.6;text-align:left;white-space:nowrap}.blog-content th{background:var(--bg-warm);font-weight:600;color:var(--text);font-size:12.5px}.blog-content td{color:var(--text-light)}