:root{
  --navy:#06183e;
  --navy2:#03163f;
  --blue:#0b57d0;
  --blue2:#0a3b97;
  --light:#f7fbff;
  --line:#06c755;
  --text:#102044;
  --muted:#5d6b86;
  --border:#dbe8ff;
  --white:#fff;
  --shadow:0 14px 40px rgba(20,60,130,.12);
  --soft-shadow:0 8px 24px rgba(20,60,130,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--text);background:#fff;line-height:1.75}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.section{padding:72px 0}.section-light{background:var(--light)}.section-title{text-align:center;font-size:clamp(26px,3.2vw,36px);color:var(--blue2);margin:0 0 16px;line-height:1.35}.section-title.left{text-align:left}.small-title{font-size:24px}.section-sub{text-align:center;color:var(--muted);margin:0 auto 38px;max-width:780px}.note{color:var(--muted);font-size:13px}.card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}

.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e8efff;transition:.25s ease}.header.is-scrolled{box-shadow:0 8px 24px rgba(20,60,130,.10)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;transition:.25s ease}.header.is-scrolled .header-inner{height:62px}.logo{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:900;color:#081a44;white-space:nowrap}.logo img{width:55px;height:55px;object-fit:contain}.logo span span{font-weight:500}.nav{display:flex;gap:24px;font-size:14px;font-weight:800;color:#102044}.nav a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 24px;font-weight:900;line-height:1.2;transition:.2s;border:none;cursor:pointer}.btn:hover{transform:translateY(-2px);opacity:.94}.btn-line{background:var(--line);color:#fff;box-shadow:0 8px 20px rgba(6,199,85,.25)}.btn-blue{background:var(--blue);color:#fff}

.hero{position:relative;min-height:640px;overflow:hidden;background:#f8fbff}.hero::before{content:"";position:absolute;inset:0;background-image:url("image/hero-ea-desk.png");background-size:cover;background-position:center right;background-repeat:no-repeat;z-index:0}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,251,255,1) 0%,rgba(248,251,255,.98) 24%,rgba(248,251,255,.82) 43%,rgba(248,251,255,.42) 62%,rgba(248,251,255,.08) 82%,rgba(248,251,255,0) 100%),linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.28) 45%,rgba(255,255,255,.08) 100%);z-index:1}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,600px) 1fr;align-items:center;min-height:640px}.hero-mobile-visual{display:none}.hero-left{padding:70px 0}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#e7f1ff;color:var(--blue2);font-size:13px;font-weight:900;margin-bottom:18px}.badge::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--line);box-shadow:0 0 0 5px rgba(6,199,85,.12)}.hero h1{font-size:clamp(34px,4.5vw,54px);line-height:1.24;margin:0 0 22px;color:#081a44;letter-spacing:.02em}.hero h1 span{color:var(--blue)}.hero .lead{color:#34415f;font-size:18px;margin:0 0 30px;max-width:620px}.hero-points{display:flex;gap:28px;margin:0 0 32px;font-weight:900;color:#0b2a6f}.hero-point{position:relative;min-width:110px;text-align:center}.hero-point:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;transform:translateY(-50%);width:1px;height:36px;background:#c9d9f5}.hero-point b{display:block;font-size:30px;margin-bottom:4px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.hero-trust{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 10px}.hero-trust span{background:#fff;color:var(--blue2);border:1px solid var(--border);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:900;box-shadow:0 6px 18px rgba(20,60,130,.08)}

.stats-band{background:linear-gradient(90deg,#03163f 0%,#041f5a 50%,#05276f 100%);color:#fff;padding:30px 0;overflow:hidden}.stats-banner{display:grid;grid-template-columns:1.05fr 2.4fr;align-items:center;gap:30px}.stats-left h2{margin:0;font-size:26px;line-height:1.6;font-weight:900}.stats-items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stats-item{display:flex;align-items:center;gap:14px;justify-content:center}.stats-item img{width:78px;height:78px;object-fit:contain}.stats-item span{display:block;font-size:14px;color:#d6e4ff;font-weight:800}.stats-item strong{display:block;font-size:30px;line-height:1.2;color:#fff}

.problem-section{background:radial-gradient(circle at top left, rgba(11,87,208,.08), transparent 30%),#fff}.problem-talks{display:grid;grid-template-columns:1fr 1fr;gap:28px}.problem-talk{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px 32px;box-shadow:var(--soft-shadow);min-height:210px;overflow:visible}.problem-talk.reverse{grid-template-columns:1fr 150px}.problem-talk.reverse img{order:2}.problem-talk.reverse .talk-bubble{order:1}.problem-talk img{width:150px;height:150px;object-fit:contain;align-self:center}.talk-bubble{position:relative;background:#f7fbff;border:2px solid #dbe8ff;border-radius:22px;padding:24px 28px;margin:0;box-shadow:0 8px 20px rgba(20,60,130,.06)}.talk-bubble::before{content:"";position:absolute;left:-22px;top:50%;transform:translateY(-50%);border-top:18px solid transparent;border-bottom:18px solid transparent;border-right:22px solid #dbe8ff}.talk-bubble::after{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);border-top:15px solid transparent;border-bottom:15px solid transparent;border-right:19px solid #f7fbff}.problem-talk.reverse .talk-bubble::before{left:auto;right:-22px;border-right:none;border-left:22px solid #dbe8ff}.problem-talk.reverse .talk-bubble::after{left:auto;right:-18px;border-right:none;border-left:19px solid #f7fbff}.talk-bubble p{margin:0 0 10px;font-size:20px;line-height:1.55;font-weight:900;color:#102044}.talk-bubble small{display:block;color:var(--muted);font-size:14px;font-weight:800}

.services{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.service-card img{width:100%;height:132px;object-fit:cover;background:#eaf2ff}.card-content{padding:19px}.card-content h3{margin:0 0 8px;color:var(--blue2);font-size:18px}.card-content p{margin:0;color:var(--muted);font-size:14px}

.ea-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ea-tile{position:relative;background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px 24px;box-shadow:var(--soft-shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.ea-tile::before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,rgba(11,87,208,.12),rgba(6,199,85,.08))}.ea-tile:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(20,60,130,.16)}.ea-tile-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eaf2ff;font-size:30px;margin-bottom:16px}.ea-tile h3{margin:0 0 8px;color:var(--blue2);font-size:20px}.ea-tile p{margin:0;color:var(--muted);font-size:14px}

.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.case-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow);overflow:hidden}.case-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:rgba(11,87,208,.06)}.case-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.case-head span{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:900}.case-head strong{color:var(--blue2);font-size:14px}.case-card h3{margin:0 0 10px;color:var(--text);font-size:22px}.case-card p{margin:0 0 16px;color:var(--muted)}.case-card ul{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.case-card li{background:#eaf2ff;color:var(--blue2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}

.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.plan{padding:30px;text-align:center;border:2px solid var(--border)}.plan:nth-child(1){border-color:#a8eac8}.plan:nth-child(2){border-color:#8dc1ff}.plan:nth-child(3){border-color:#c6a3ff}.plan-icon{font-size:54px;margin-bottom:6px}.plan-label{display:inline-block;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:900;margin-bottom:12px}.green{background:#e8fff1;color:#009944}.blue{background:#e8f1ff;color:#0b57d0}.purple{background:#f2e9ff;color:#7b35d8}.price{font-size:36px;font-weight:900;margin:8px 0;color:#081a44}.price small{font-size:16px}.plan p{color:var(--muted);font-size:14px;margin:0 0 14px}.plan ul{text-align:left;padding-left:1.2em;color:#34415f;font-size:14px;margin:14px 0}.deadline{display:inline-block;margin-top:6px;border:1px solid currentColor;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:900}

.middle-cta{background:var(--navy);color:#fff;padding:38px 0}.middle-cta-box{display:flex;align-items:center;justify-content:space-between;gap:24px}.middle-cta h2{margin:0 0 6px;font-size:26px}.middle-cta p{margin:0;color:#cbd8ff}.table-wrap{overflow:auto}table{width:100%;min-width:760px;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}th,td{padding:17px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#eaf2ff;color:var(--blue2)}

.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.flow-card{position:relative;padding:58px 18px 26px;text-align:center}.flow-card::before{content:attr(data-step);position:absolute;top:14px;left:14px;width:32px;height:32px;border-radius:999px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;z-index:2}.flow-card .icon{font-size:42px;margin-bottom:12px}.flow-card h3{margin:0 0 8px;color:var(--blue2);font-size:17px}.flow-card p{margin:0;color:var(--muted);font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-card{padding:32px;border-radius:24px;border:1px solid transparent;box-shadow:var(--soft-shadow)}.info-card h3{margin:0 0 20px;color:var(--blue2);font-size:24px;font-weight:900}.info-card ul{margin:0;padding-left:1.2em}.info-card li{margin:16px 0;font-size:16px;font-weight:700}.check li::marker{color:var(--line)}.warn li::marker{color:#ff6b6b}.scope-inner{gap:14px}.ng-card{background:#fff4f4;border:1px solid #ffd7d7}.ng-card h3{color:#d93c3c}.ng-card li::marker{color:#ff6b6b}.ok-card{background:#f2fff6;border:1px solid #c9f4d5}.ok-card h3{color:#14a44d}.ok-card li::marker{color:#19c15f}

.chat-list{display:flex;flex-direction:column;gap:24px}.chat-card-wide{background:var(--light);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.chat-user,.chat-staff{display:flex;align-items:center;gap:16px}.chat-user{margin-bottom:20px}.chat-staff{justify-content:flex-end}.chat-avatar{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;flex-shrink:0}.staff-avatar{color:var(--blue2)}.chat-message{max-width:80%;padding:18px 24px;border-radius:22px;font-weight:800;line-height:1.6}.user-msg{background:#fff;border:1px solid var(--border);color:var(--text)}.staff-msg{background:var(--line);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.voice{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:24px}.voice img{width:140px;height:100px;object-fit:cover;border-radius:14px;background:#dbe8ff}.voice p{margin:0 0 10px;color:#34415f}.voice b{color:var(--blue2)}.faq details{background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:17px 20px;box-shadow:var(--soft-shadow)}.faq summary{cursor:pointer;font-weight:900;color:#092b72}.faq p{color:var(--muted);margin-bottom:0}

.line-template{background:var(--navy);padding:54px 0;color:#fff}.line-template-box{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center}.line-template h2{margin:0;font-size:30px;line-height:1.4}.line-template ul{margin:0;padding:24px 28px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px}.line-template li{margin:.45em 0}.cta{background:linear-gradient(90deg,#edf7ff,#ffffff 50%,#dff1ff);padding:60px 0;overflow:hidden}.cta-inner{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:center}.cta h2{font-size:clamp(26px,3.2vw,38px);color:var(--blue2);margin:0 0 12px;line-height:1.35}.cta p{color:var(--muted);margin:0 0 22px}.cta img{width:100%;max-height:260px;object-fit:contain}.disclaimer{background:#f8fbff;border-top:1px solid #e8efff}.disclaimer-box{color:var(--muted);font-size:13px}.footer{background:var(--navy);color:#cbd8ff;padding:30px 0;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:20px;align-items:start}.footer strong{color:#fff;font-size:16px}.footer span{color:#cbd8ff}.fixed-line{display:none}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.stats-item.reveal{transform:translateY(14px) scale(.96)}.stats-item.reveal.is-visible{transform:translateY(0) scale(1)}.card,.problem-talk,.ea-tile,.case-card,.chat-card-wide,.bubble,.flow-card,.plan{transition:transform .25s ease,box-shadow .25s ease}.card:hover,.problem-talk:hover,.ea-tile:hover,.case-card:hover,.chat-card-wide:hover,.bubble:hover,.flow-card:hover,.plan:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(20,60,130,.16)}

@media(max-width:980px){
  .container{width:min(100% - 32px,1120px)}.section{padding:52px 0}.section-sub{margin-bottom:28px}.nav,.header .btn{display:none}.header-inner{height:64px}.header.is-scrolled .header-inner{height:58px}.logo{font-size:17px}.logo img{width:38px;height:38px}
  .hero{min-height:auto;padding-bottom:0;background:radial-gradient(circle at top right,rgba(11,87,208,.10),transparent 34%),linear-gradient(180deg,#f8fbff 0%,#fff 100%)}.hero::before,.hero::after{display:none}.hero-grid{display:flex;flex-direction:column;gap:22px;min-height:auto;padding:22px 0 44px}.hero-mobile-visual{display:block;width:100%;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 42px rgba(20,60,130,.16)}.hero-mobile-visual img{width:100%;height:220px;object-fit:cover;object-position:center}.hero-left{padding:0}.badge{margin-bottom:14px;font-size:12px;padding:7px 12px}.hero h1{font-size:clamp(28px,8.2vw,38px);line-height:1.28;margin-bottom:18px}.hero .lead{font-size:15px;line-height:1.9;margin-bottom:22px}.hero-actions{gap:10px}.hero-actions .btn{width:100%;padding:15px 18px;font-size:16px}.hero-actions .btn-blue{display:none}.hero-trust{justify-content:flex-start;margin:16px 0 0}.hero-trust span{font-size:12px;padding:7px 12px;background:#fff}.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 0}.hero-point{min-width:auto;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px 8px;box-shadow:var(--soft-shadow);font-size:12px}.hero-point:not(:last-child)::after{display:none}.hero-point b{font-size:24px;margin-bottom:6px}.hero .note{margin-top:16px;font-size:12px}
  .stats-banner,.stats-items,.problem-talks,.services,.ea-tile-grid,.case-grid,.plans,.flow,.two-col,.split,.cta-inner,.line-template-box,.footer-grid{grid-template-columns:1fr}.stats-banner{text-align:center}.stats-items{gap:20px}.stats-item{justify-content:center}.stats-item img{width:66px;height:66px}.stats-item strong{font-size:28px}
  .problem-talk,.problem-talk.reverse{grid-template-columns:82px 1fr;gap:14px;padding:18px;min-height:auto}.problem-talk.reverse img,.problem-talk.reverse .talk-bubble{order:0}.problem-talk img{width:82px;height:108px}.talk-bubble{padding:16px 18px;border-radius:18px}.talk-bubble p{font-size:15px;line-height:1.55}.talk-bubble small{font-size:12px}.problem-talk.reverse .talk-bubble::before{left:-18px;right:auto;border-left:none;border-right:18px solid #dbe8ff;border-top:14px solid transparent;border-bottom:14px solid transparent}.problem-talk.reverse .talk-bubble::after{left:-15px;right:auto;border-left:none;border-right:16px solid #f7fbff;border-top:12px solid transparent;border-bottom:12px solid transparent}.talk-bubble::before{left:-18px;border-right-width:18px;border-top-width:14px;border-bottom-width:14px}.talk-bubble::after{left:-15px;border-right-width:16px;border-top-width:12px;border-bottom-width:12px}
  .service-card img{height:170px}.middle-cta-box{flex-direction:column;text-align:center}.middle-cta-box .btn{width:100%}.info-card{padding:22px}.info-card h3{font-size:20px;margin-bottom:16px}.info-card li{font-size:14px;margin:12px 0}.chat-card-wide{padding:18px}.chat-user,.chat-staff{gap:10px}.chat-message{max-width:100%;font-size:14px;padding:14px}.chat-avatar{width:42px;height:42px;font-size:14px}.voice{grid-template-columns:1fr}.voice img{width:100%;height:180px}.line-template h2{font-size:24px}.cta img{max-height:210px}.fixed-line{display:block;position:fixed;right:14px;left:auto;bottom:14px;transform:none;width:auto;z-index:120}.fixed-line .btn{width:auto;min-width:auto;padding:12px 16px;border-radius:999px;font-size:13px;box-shadow:0 10px 28px rgba(6,199,85,.35)}body{padding-bottom:24px}
}

@media(max-width:520px){.container{width:min(100% - 24px,1120px)}.section{padding:44px 0}.section-title{font-size:25px}.problem-talk,.problem-talk.reverse{grid-template-columns:72px 1fr}.problem-talk img{width:72px;height:108px}.case-card,.ea-tile,.plan,.info-card,.chat-card-wide{padding:20px}.case-head{align-items:flex-start;flex-direction:column}.chat-user,.chat-staff{align-items:flex-start}.chat-staff{justify-content:flex-start}.chat-staff .staff-avatar,.chat-staff .staff-msg{order:0}.fixed-line{bottom:12px;right:12px}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
