/* ミライワークス（架空）｜7拠点展開サービスサイトTOP デモ
   Figma取り込み前提：実色の変数／Google Fontsのみ／整数px／装飾はSVG／アニメなし */
:root{--primary:#1F4E9E;--primary-dark:#163A78;--primary-soft:#E8EFFA;--accent:#F2A33A;--ink:#1B2433;--sub:#5A6577;--line:#DDE3EC;--bg:#F6F8FB;--white:#FFFFFF;--navy:#0F1B33}
:root{--on-accent:#0F1B33}
html[data-store="fukuoka"],html[data-store="yokohama"]{--on-accent:#FFFFFF}
html[data-store="osaka"]{--primary:#0E7C66;--primary-dark:#0A5C4C;--primary-soft:#E3F3EF;--accent:#E8743B}
html[data-store="nagoya"]{--primary:#6E3AA0;--primary-dark:#522A78;--primary-soft:#EFE7F6;--accent:#F2B84B}
html[data-store="fukuoka"]{--primary:#C0431F;--primary-dark:#8F3016;--primary-soft:#FBEAE3;--accent:#1F6F9E}
html[data-store="sapporo"]{--primary:#1B6FA8;--primary-dark:#125178;--primary-soft:#E2F0F8;--accent:#6CC1D6}
html[data-store="sendai"]{--primary:#2E6B3E;--primary-dark:#204D2D;--primary-soft:#E6F1E8;--accent:#D6A23C}
html[data-store="yokohama"]{--primary:#1E3568;--primary-dark:#14254A;--primary-soft:#E6EAF4;--accent:#D94F5C}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:28px;font-weight:400}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer}
.container{width:1120px;margin:0 auto}
.section{padding:96px 0}
.section--bg{background:var(--bg)}
.section__head{text-align:center;margin-bottom:56px}
.section__eyebrow{font-size:14px;line-height:20px;font-weight:700;letter-spacing:2px;color:var(--primary);margin-bottom:12px}
.section__title{font-size:36px;line-height:52px;font-weight:700}
.section__lead{margin-top:16px;color:var(--sub)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 32px;border-radius:28px;font-size:16px;font-weight:700;border:2px solid var(--primary);background:var(--primary);color:var(--white)}
.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn--ghost{background:var(--white);color:var(--primary)}
.btn--sm{height:44px;padding:0 24px;font-size:14px}

/* demo bar */
.demobar{background:var(--navy);color:var(--white);font-size:13px;line-height:20px}
.demobar__inner{width:1120px;margin:0 auto;padding:10px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.demobar__label{font-weight:700}
.demobar__btn{border:1px solid #4A5A7A;background:transparent;color:var(--white);border-radius:14px;padding:2px 12px;font-size:13px}
.demobar__btn.is-active{background:var(--white);color:var(--navy);border-color:var(--white)}
.demobar__note{color:#B9C4DA;font-size:12px}
html.is-figma .demobar{display:none}

/* header */
.header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:30}
.header__inner{width:1120px;margin:0 auto;height:80px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:12px}
.logo__mark{width:40px;height:40px}
.logo__text{font-size:20px;line-height:24px;font-weight:700;letter-spacing:1px}
.logo__store{display:block;font-size:12px;line-height:16px;font-weight:500;color:var(--sub);letter-spacing:0}
.nav{display:flex;align-items:center;gap:32px}
.nav__list{display:flex;gap:28px;font-size:15px;font-weight:500}
.nav__panel{display:flex;align-items:center;gap:32px}
.nav__toggle{display:none}

/* hero */
.hero{background:var(--primary-soft);overflow:hidden}
.hero__inner{width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:80px 0 72px}
.hero__text{width:580px}
.hero__eyebrow{display:inline-block;background:var(--white);color:var(--primary);border-radius:16px;padding:2px 16px;font-size:14px;line-height:28px;font-weight:700;margin-bottom:24px}
.hero__title{font-size:48px;line-height:68px;font-weight:700}
.hero__title em{font-style:normal;color:var(--primary)}
.hero__sub{margin-top:24px;color:var(--sub);font-size:17px;line-height:30px}
.hero__cta{display:flex;gap:16px;margin-top:36px}
.hero__badges{display:flex;gap:24px;margin-top:40px}
.badge{background:var(--white);border-radius:12px;padding:12px 20px;text-align:center}
.badge__num{display:block;font-size:28px;line-height:36px;font-weight:700;color:var(--primary)}
.badge__label{display:block;font-size:12px;line-height:18px;color:var(--sub)}
.hero__visual{width:480px;height:440px}

/* stats */
.stats{background:var(--primary);color:var(--white)}
.stats__inner{width:1120px;margin:0 auto;display:flex;justify-content:space-between;padding:40px 0}
.stat{text-align:center;width:25%;border-left:1px solid #FFFFFF55}
.stat:first-child{border-left:0}
.stat__num{font-size:44px;line-height:56px;font-weight:700}
.stat__unit{font-size:18px;font-weight:500;margin-left:4px}
.stat__label{font-size:14px;line-height:22px;opacity:.9}

/* worries */
.worries__list{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.worry{width:352px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px 24px;display:flex;gap:14px;align-items:flex-start;font-weight:500}
.worry__check{flex:0 0 28px;width:28px;height:28px}
.worries__arrow{margin:40px auto 0;width:48px;height:32px}
.worries__msg{margin-top:16px;text-align:center;font-size:24px;line-height:40px;font-weight:700}
.worries__msg em{font-style:normal;color:var(--primary)}

/* reasons */
.reason{display:flex;align-items:center;gap:56px;margin-bottom:64px}
.reason:last-child{margin-bottom:0}
.reason--rev{flex-direction:row-reverse}
.reason__visual{flex:0 0 480px;height:300px;background:var(--primary-soft);border-radius:20px;display:flex;align-items:center;justify-content:center}
.reason__icon{width:160px;height:160px}
.reason__no{font-size:56px;line-height:56px;font-weight:700;color:var(--primary);opacity:.25}
.reason__title{font-size:28px;line-height:42px;font-weight:700;margin:8px 0 16px}
.reason__text{color:var(--sub)}
.reason__points{margin-top:20px}
.reason__points li{position:relative;padding-left:28px;margin-bottom:6px;font-weight:500}
.reason__points li:before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;border-radius:6px;background:var(--accent)}

/* services */
.services{display:flex;flex-wrap:wrap;gap:24px}
.service{width:548px;background:var(--white);border-radius:16px;border:1px solid var(--line);padding:32px}
.service__head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.service__icon{width:56px;height:56px;border-radius:14px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center}
.service__icon svg{width:32px;height:32px}
.service__title{font-size:22px;line-height:32px;font-weight:700}
.service__text{color:var(--sub);margin-bottom:16px}
.service__tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--primary-soft);color:var(--primary-dark);border-radius:14px;padding:0 14px;font-size:13px;line-height:28px;font-weight:500}

/* flow */
.flow{display:flex;gap:20px}
.flow__step{flex:1;background:var(--white);border-radius:16px;padding:28px 20px;text-align:center;position:relative;border:1px solid var(--line)}
.flow__no{width:44px;height:44px;border-radius:22px;background:var(--primary);color:var(--white);font-weight:700;font-size:18px;line-height:44px;margin:0 auto 16px}
.flow__title{font-size:18px;line-height:28px;font-weight:700;margin-bottom:8px}
.flow__text{font-size:14px;line-height:24px;color:var(--sub)}

/* plans */
.plans{display:flex;gap:24px;align-items:stretch}
.plan{flex:1;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:36px 28px;text-align:center;position:relative}
.plan--main{border:3px solid var(--primary);padding-top:48px}
.plan__flag{position:absolute;top:-16px;left:50%;margin-left:-60px;width:120px;height:32px;border-radius:16px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;line-height:32px}
.plan__name{font-size:20px;line-height:30px;font-weight:700}
.plan__for{font-size:14px;color:var(--sub);margin:4px 0 20px}
.plan__price{font-size:44px;line-height:56px;font-weight:700;color:var(--primary)}
.plan__price small{font-size:16px;font-weight:500;color:var(--ink)}
.plan__list{margin-top:24px;text-align:left;border-top:1px solid var(--line);padding-top:20px}
.plan__list li{position:relative;padding-left:26px;margin-bottom:8px;font-size:15px;line-height:24px}
.plan__list li:before{content:"";position:absolute;left:2px;top:5px;width:8px;height:12px;border-right:3px solid var(--primary);border-bottom:3px solid var(--primary);transform:rotate(45deg)}
.plans__note{margin-top:24px;text-align:center;font-size:14px;color:var(--sub)}

/* voices */
.voices{display:flex;gap:24px}
.voice{flex:1;background:var(--white);border-radius:16px;padding:28px;border:1px solid var(--line)}
.voice__quote{font-size:40px;line-height:32px;color:var(--accent);font-weight:700}
.voice__text{margin:8px 0 20px}
.voice__who{display:flex;align-items:center;gap:12px;font-size:14px;line-height:22px}
.voice__avatar{width:44px;height:44px;border-radius:22px;background:var(--primary-soft);color:var(--primary);font-weight:700;text-align:center;line-height:44px}
.voice__who small{display:block;color:var(--sub)}

/* faq */
.faq{width:880px;margin:0 auto}
.faq__item{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}
.faq__q{display:flex;gap:16px;padding:20px 28px;font-weight:700;font-size:17px;background:var(--white)}
.faq__a{display:flex;gap:16px;padding:20px 28px;border-top:1px solid var(--line);background:var(--bg);color:var(--sub)}
.faq__mark{flex:0 0 32px;width:32px;height:32px;border-radius:16px;background:var(--primary);color:var(--white);font-weight:700;text-align:center;line-height:32px}
.faq__mark--a{background:var(--accent);color:var(--on-accent)}

/* store */
.store{display:flex;gap:48px;align-items:flex-start}
.store__map{flex:0 0 480px;height:340px;border-radius:20px;background:var(--primary-soft)}
.store__info{flex:1}
.store__name{font-size:28px;line-height:40px;font-weight:700;margin-bottom:16px}
.store__table{width:100%;border-collapse:collapse}
.store__table th,.store__table td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:15px;line-height:24px;vertical-align:top}
.store__table th{width:120px;color:var(--sub);font-weight:500}
.branches{margin-top:56px;text-align:center}
.branches__title{font-size:18px;font-weight:700;margin-bottom:16px}
.branches__list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.branch{border:1px solid var(--line);background:var(--white);border-radius:22px;height:44px;padding:0 24px;font-size:15px;font-weight:500}

/* cta */
.cta{background:var(--navy);color:var(--white);text-align:center;padding:80px 0}
.cta__title{font-size:34px;line-height:52px;font-weight:700}
.cta__text{margin:12px 0 32px;color:#C5CFE3}
.cta__btns{display:flex;gap:16px;justify-content:center}
.cta__tel{font-size:32px;line-height:48px;font-weight:700;margin-top:28px}
.cta__tel small{display:block;font-size:13px;font-weight:400;color:#C5CFE3;line-height:20px}

/* footer */
.footer{background:#0A1426;color:#9FAEC9;padding:40px 0;font-size:13px;line-height:22px}
.footer__inner{width:1120px;margin:0 auto;display:flex;justify-content:space-between;gap:24px}

/* ===== SP ===== */
@media (max-width:820px){
  body{font-size:15px;line-height:26px}
  .container,.header__inner,.hero__inner,.stats__inner,.footer__inner,.demobar__inner{width:auto;margin:0;padding-left:20px;padding-right:20px}
  .section{padding:56px 0}
  .section__head{margin-bottom:32px}
  .section__title{font-size:26px;line-height:38px}
  .header__inner{height:64px;padding-top:0;padding-bottom:0}
  .logo__mark{width:34px;height:34px}.logo__text{font-size:17px}
  .nav{gap:0}
  .nav__toggle{display:block;width:44px;height:44px;border:1px solid var(--line);background:var(--white);border-radius:8px;position:relative}
  .nav__toggle span{position:absolute;left:11px;width:20px;height:2px;background:var(--ink)}
  .nav__toggle span:nth-child(1){top:14px}.nav__toggle span:nth-child(2){top:21px}.nav__toggle span:nth-child(3){top:28px}
  .nav__panel{display:none;position:absolute;left:0;right:0;top:64px;background:var(--white);border-bottom:1px solid var(--line);padding:8px 20px 20px;z-index:40}
  .header.is-open .nav__panel{display:block}
  .nav__list{display:block}
  .nav__list li{border-bottom:1px solid var(--line)}
  .nav__list a{display:block;padding:14px 0}
  .nav__panel .btn{width:100%;margin-top:16px}
  .hero__inner{display:block;padding-top:40px;padding-bottom:40px}
  .hero__text{width:auto}
  .hero__title{font-size:32px;line-height:46px}
  .hero__sub{font-size:15px;line-height:26px}
  .hero__cta{flex-direction:column}
  .hero__cta .btn{width:100%}
  .hero__badges{gap:10px}
  .badge{flex:1;padding:10px 4px}.badge__num{font-size:17px;line-height:26px}
  .hero__visual{width:100%;height:auto;margin-top:32px}
  .stats__inner{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}
  .stat{width:50%;padding:12px 0}.stat:nth-child(3){border-left:0}
  .stat__num{font-size:34px;line-height:44px}
  .worry{width:100%}
  .worries__msg{font-size:19px;line-height:32px}
  .reason,.reason--rev{display:block;margin-bottom:48px}
  .reason__visual{width:100%;height:200px;margin-bottom:20px}.reason__icon{width:110px;height:110px}
  .reason__title{font-size:22px;line-height:34px}
  .services{display:block}.service{width:auto;margin-bottom:16px;padding:24px}
  .flow{display:block}.flow__step{margin-bottom:12px;text-align:left;display:flex;gap:16px;padding:20px}.flow__no{margin:0;flex:0 0 44px;text-align:center}
  .plans{display:block}.plan{margin-bottom:28px}
  .voices{display:block}.voice{margin-bottom:16px}
  .faq{width:auto}.faq__q,.faq__a{padding:16px 18px;font-size:15px}
  .store{display:block}.store__map{width:100%;height:220px;margin-bottom:24px}
  .cta__title{font-size:24px;line-height:38px}.cta__btns{flex-direction:column;padding:0 20px}
  .footer__inner{display:block}
  .demobar__note{display:none}
}
