
  :root {
    --bg:#f8f4ef; --bg-soft:#fbf8f4; --card:#fff;
    --line:rgba(92,74,62,.12); --text:#3d342d; --muted:#756a60;
    --accent:#a68b73; --accent-dark:#6f5a48; --accent-darker:#4f3e30;
    --accent-soft:#ece1d3; --gold:#b1957b;
    --shadow-sm:0 6px 18px rgba(80,60,45,.06);
    --shadow:0 18px 44px rgba(80,60,45,.10);
    --shadow-lg:0 28px 70px rgba(80,60,45,.14);
    --max:1180px; --radius-lg:28px; --radius-md:20px; --radius-sm:14px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:'Noto Serif JP',-apple-system,BlinkMacSystemFont,'Hiragino Mincho ProN','Yu Mincho',serif;background:var(--bg);color:var(--text);line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .sans{font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif}
  .container{width:min(calc(100% - 32px),var(--max));margin:0 auto}
  .section{padding:80px 0}
  .section--soft{background:var(--bg-soft)}
  h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}
  ul,ol{padding:0;list-style:none}
  .eyebrow{font-family:'Noto Sans JP',sans-serif;display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;color:var(--accent-dark);font-weight:700;text-transform:uppercase;margin-bottom:18px}
  .eyebrow::before{content:"";width:30px;height:1px;background:var(--accent)}
  .eyebrow--center{justify-content:center}
  .eyebrow--center::before{display:none}
  .eyebrow--center::after{content:"";width:30px;height:1px;background:var(--accent)}
  h2{font-size:clamp(24px,5vw,38px);line-height:1.5;letter-spacing:.06em;font-weight:600;margin-bottom:16px}
  h3{font-size:clamp(17px,4vw,22px);line-height:1.6;font-weight:600;margin-bottom:10px}
  .lead{font-size:clamp(14px,3.5vw,16px);color:var(--muted);max-width:720px;line-height:2}
  .center{text-align:center}.center .lead{margin:0 auto}

  .site-header{position:sticky;top:0;z-index:30;background:rgba(248,244,239,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:10px}
  .site-header__logo img{height:34px;width:auto;filter:drop-shadow(0 4px 10px rgba(80,60,45,.08))}
  .nav-pc{display:none;gap:22px;align-items:center;font-family:'Noto Sans JP',sans-serif;font-size:13px;letter-spacing:.1em}
  .nav-pc a:hover{color:var(--accent-dark)}
  @media (min-width:861px){.nav-pc{display:flex} .site-header__logo img{height:40px}}

  .btn{font-family:'Noto Sans JP',sans-serif;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:56px;padding:8px 22px;border-radius:999px;font-weight:700;font-size:14px;letter-spacing:.06em;transition:transform .2s,box-shadow .2s;border:1px solid transparent;cursor:pointer;line-height:1.3;text-align:center}
  .btn__sub{font-size:10.5px;letter-spacing:.14em;opacity:.85;font-weight:600}
  .btn:hover{transform:translateY(-2px)}
  .btn--primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-darker) 100%);color:#fff;box-shadow:0 16px 34px rgba(111,90,72,.28)}
  .btn--secondary{background:#fff;border-color:rgba(92,74,62,.18);color:var(--accent-dark)}
  .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .center .cta-row{justify-content:center}

  .hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden}
  .hero__bg{position:absolute;inset:0;background-image:url('../images/img_001.jpg');background-size:cover;background-position:center;filter:brightness(.92) saturate(1.02)}
  .hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,244,239,.55) 0%,rgba(248,244,239,.25) 35%,rgba(248,244,239,.55) 100%)}
  .hero__inner{position:relative;z-index:1;padding:80px 0 100px;width:min(calc(100% - 32px),var(--max));margin:0 auto}
  .hero__logo{margin:0 auto 28px;max-width:280px;filter:drop-shadow(0 12px 28px rgba(80,60,45,.18))}
  .hero__lead{text-align:center;font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:.3em;color:var(--accent-darker);font-weight:600;margin-bottom:20px}
  .hero__h1{text-align:center;font-size:clamp(22px,6vw,46px);line-height:1.55;letter-spacing:.08em;font-weight:500;color:var(--accent-darker);margin-bottom:24px;text-shadow:0 2px 14px rgba(255,255,255,.5)}
  .hero__h1 .small{font-size:.65em;display:block;font-weight:600;color:var(--accent-dark);margin-bottom:6px}
  .hero__h1 .accent{color:var(--accent);font-style:italic;letter-spacing:.04em}
  .hero__sub{text-align:center;font-size:clamp(13px,3.3vw,16px);color:var(--text);margin:0 auto;max-width:540px;line-height:2}
  .hero__cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  @media (min-width:861px){.hero__logo{max-width:340px}}

  .empathy-wrap{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
  .empathy__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
  .empathy__img img{width:100%;height:100%;object-fit:cover}
  .empathy-list{display:grid;gap:12px;margin-top:24px}
  .empathy-item{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}
  .empathy-item__dot{flex:0 0 auto;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-top:13px}
  .empathy-item p{font-size:14px;color:var(--text);line-height:1.8;letter-spacing:.03em}
  @media (min-width:861px){.empathy-wrap{grid-template-columns:1fr 1fr;gap:60px} .empathy-item p{font-size:15px}}

  /* 選ばれる理由用画像 - 横長レイアウト */
  .reasons-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin:0 auto 40px;max-width:1000px;aspect-ratio:16/10;box-shadow:var(--shadow);background:#f0ebe5}
  .reasons-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
  .reasons-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:36px}
  .reason-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px 22px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
  .reason-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .reason-card__num{font-family:'Noto Serif JP',serif;font-size:28px;color:var(--accent);font-weight:500;letter-spacing:.08em;margin-bottom:6px}
  .reason-card p{font-size:14px;color:var(--muted);line-height:1.9}
  @media (min-width:861px){.reasons-grid{grid-template-columns:repeat(3,1fr);gap:28px}}

  /* 特徴セクション */
  .feature{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;margin-bottom:60px}
  .feature:last-child{margin-bottom:0}
  .feature__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:#f0ebe5}
  .feature__img img{width:100%;height:100%;object-fit:cover}
  .feature__body h3{color:var(--accent-darker)}
  .feature__body p{font-size:14.5px;color:var(--muted);line-height:2;margin-bottom:14px}
  @media (min-width:861px){.feature{grid-template-columns:1fr 1fr;gap:60px} .feature--reverse .feature__img{order:2}}

  /* 男性も選ばれている */
  .male-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr;align-items:stretch}
  .male-card__img{aspect-ratio:4/5;overflow:hidden;background:#f0ebe5}
  .male-card__img img{width:100%;height:100%;object-fit:cover;object-position:center}
  .male-card__body{padding:32px 26px}
  .male-card__body h3{color:var(--accent-darker);margin-bottom:14px}
  .male-card__body p{font-size:14.5px;color:var(--muted);line-height:2;margin-bottom:12px}
  .male-card__list{display:grid;gap:10px;margin:18px 0}
  .male-card__list li{font-family:'Noto Sans JP',sans-serif;font-size:13.5px;color:var(--text);padding-left:18px;position:relative}
  .male-card__list li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
  @media (min-width:861px){.male-card{grid-template-columns:1fr 1.2fr} .male-card__img{aspect-ratio:auto} .male-card__body{padding:48px 44px}}

  /* プロフィール */
  .profile{display:grid;grid-template-columns:1fr;gap:36px;align-items:flex-start}
  .profile__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:3/4;background:#f0ebe5}
  .profile__img img{width:100%;height:100%;object-fit:cover;object-position:center top}
  .profile__catch{font-family:'Noto Serif JP',serif;font-size:clamp(18px,4vw,24px);line-height:1.7;color:var(--accent-darker);font-weight:500;letter-spacing:.04em;margin-bottom:20px;padding-left:14px;border-left:2px solid var(--accent)}
  .profile__body p{font-size:14.5px;color:var(--muted);line-height:2;margin-bottom:14px}
  .profile__panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;margin-top:20px;box-shadow:var(--shadow-sm)}
  .profile__panel h4{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;letter-spacing:.18em;color:var(--accent-dark);font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .profile__panel ul{display:grid;gap:8px}
  .profile__panel li{font-family:'Noto Sans JP',sans-serif;font-size:13.5px;color:var(--text);padding-left:16px;position:relative;line-height:1.8}
  .profile__panel li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
  .profile__panel--awards li{font-weight:600;color:var(--accent-darker)}
  @media (min-width:861px){.profile{grid-template-columns:1fr 1.3fr;gap:60px}}

  /* キッズダンス */
  .kids-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
  .kids-grid__item{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:#f0ebe5;transition:transform .3s}
  .kids-grid__item:hover{transform:scale(1.02)}
  .kids-grid__item img{width:100%;height:100%;object-fit:cover}
  .kids-body{margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px 24px;box-shadow:var(--shadow-sm)}
  .kids-body p{font-size:14.5px;color:var(--muted);line-height:2}
  @media (min-width:861px){.kids-grid{gap:20px}}

  /* 流れ */
  .flow-grid{display:grid;grid-template-columns:1fr;gap:18px;counter-reset:flow}
  .flow-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px 22px 24px 70px;position:relative;box-shadow:var(--shadow-sm)}
  .flow-card::before{counter-increment:flow;content:counter(flow,decimal-leading-zero);position:absolute;left:22px;top:22px;font-family:'Noto Serif JP',serif;font-size:24px;color:var(--accent);font-weight:500;letter-spacing:.04em}
  .flow-card h3{font-size:16px;margin-bottom:6px}
  .flow-card p{font-size:13.5px;color:var(--muted);line-height:1.85}
  @media (min-width:861px){.flow-grid{grid-template-columns:repeat(2,1fr);gap:24px}}

  /* 料金 */
  .price-grid{display:grid;grid-template-columns:1fr;gap:18px}
  .price-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px 24px;text-align:center;box-shadow:var(--shadow-sm);position:relative;transition:transform .3s}
  .price-card:hover{transform:translateY(-3px)}
  .price-card--featured{border:2px solid var(--accent);box-shadow:var(--shadow);transform:scale(1.02)}
  .price-card--featured::before{content:"人気No.1";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--accent),var(--accent-darker));color:#fff;padding:5px 18px;border-radius:999px;font-family:'Noto Sans JP',sans-serif;font-size:11.5px;letter-spacing:.16em;font-weight:700}
  .price-card__cat{font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:.2em;color:var(--accent-dark);font-weight:700;margin-bottom:8px}
  .price-card h3{font-size:18px;color:var(--accent-darker);margin-bottom:14px}
  .price-card__price{font-family:'Noto Serif JP',serif;font-size:28px;color:var(--accent-darker);font-weight:600;letter-spacing:.04em;margin:8px 0}
  .price-card__price small{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:.05em;margin-left:2px}
  .price-card__per{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;color:var(--muted);margin-bottom:14px;letter-spacing:.05em}
  .price-card__note{font-size:12.5px;color:var(--muted);line-height:1.8;letter-spacing:.03em}
  @media (min-width:651px){.price-grid{grid-template-columns:repeat(3,1fr);gap:22px}}

  /* 単発・回数券 */
  .single-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:36px;padding-top:36px;border-top:1px solid var(--line)}
  .single-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;text-align:center;display:flex;flex-direction:column;justify-content:space-between}
  .single-card h4{font-size:16px;color:var(--accent-darker);margin-bottom:14px;font-weight:600}
  .single-card__row{padding:12px 0;border-bottom:1px solid var(--line)}
  .single-card__row:last-child{border-bottom:none}
  .single-card__label{font-family:'Noto Sans JP',sans-serif;font-size:11.5px;color:var(--accent-dark);letter-spacing:.15em;font-weight:700;margin-bottom:6px}
  .single-card__price{font-family:'Noto Serif JP',serif;font-size:20px;color:var(--accent-darker);font-weight:600;letter-spacing:.04em}
  .single-card__price small{font-size:12px;font-weight:400;color:var(--muted);margin-left:2px}
  .single-card__exp{font-family:'Noto Sans JP',sans-serif;font-size:11.5px;color:var(--muted);margin-top:4px}
  @media (min-width:861px){.single-grid{grid-template-columns:repeat(3,1fr);gap:22px}}

  /* お客様の声 */
  .voice-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
  .voice__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
  .voice__img img{width:100%;height:100%;object-fit:cover}
  .voice-prep{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius-md);padding:28px;text-align:center}
  .voice-prep p{color:var(--muted);font-size:14px;line-height:2}
  /* Googleレビュー枠 */
  .gmb-reviews{margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px;text-align:center;box-shadow:var(--shadow-sm)}
  .gmb-reviews__head{font-family:'Noto Sans JP',sans-serif;font-size:12px;letter-spacing:.16em;color:var(--accent-dark);font-weight:700;margin-bottom:10px}
  .gmb-reviews__title{font-size:16px;color:var(--accent-darker);margin-bottom:10px}
  .gmb-reviews__note{font-size:13px;color:var(--muted);line-height:1.9}
  @media (min-width:861px){.voice-grid{grid-template-columns:1fr 1.1fr;gap:50px}}

  /* グループ写真 (2枚に変更) */
  .group-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .group-strip div{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}
  .group-strip img{width:100%;height:100%;object-fit:cover}
  @media (min-width:861px){.group-strip{gap:20px}}

  /* Instagram */
  .insta-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:32px;text-align:center;box-shadow:var(--shadow-sm)}
  .insta-card p{font-size:14px;color:var(--muted);line-height:2;margin-bottom:18px}

  /* FAQ */
  .faq-list{max-width:780px;margin:0 auto;display:grid;gap:12px}
  .faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
  .faq-item summary{cursor:pointer;padding:18px 22px;font-family:'Noto Sans JP',sans-serif;font-weight:600;color:var(--accent-darker);font-size:14.5px;list-style:none;display:flex;align-items:center;gap:12px;letter-spacing:.04em}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::before{content:"Q.";color:var(--accent);font-family:'Noto Serif JP',serif;font-size:18px;font-weight:600}
  .faq-item summary::after{content:"+";margin-left:auto;color:var(--accent);font-size:20px;font-weight:300;transition:transform .25s}
  .faq-item[open] summary::after{transform:rotate(45deg)}
  .faq-item__body{padding:0 22px 20px 48px;color:var(--muted);font-size:13.5px;line-height:2;font-family:'Noto Sans JP',sans-serif}

  /* アクセス */
  .access-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:stretch}
  .access-info{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px;box-shadow:var(--shadow-sm)}
  .access-info h3{color:var(--accent-darker);margin-bottom:18px;font-size:18px}
  .access-info dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-family:'Noto Sans JP',sans-serif;font-size:13.5px;line-height:1.8}
  .access-info dt{color:var(--accent-dark);font-weight:700;letter-spacing:.05em;white-space:nowrap}
  .access-info dd{color:var(--text)}
  .access-info dd a{color:var(--accent-darker);font-weight:600;text-decoration:underline}
  .access-map{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4/3;background:#f0ebe5;position:relative}
  .access-map iframe{width:100%;height:100%;border:0}
  @media (min-width:861px){.access-grid{grid-template-columns:1fr 1.1fr}}

  /* 最終CTA */
  .cta-final{background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 60%,var(--bg-soft) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:50px 30px;text-align:center;box-shadow:var(--shadow)}
  .cta-final h2{color:var(--accent-darker)}
  .cta-final p{font-size:14.5px;color:var(--muted);line-height:2;max-width:620px;margin:0 auto 22px}
  .cta-final__qr{margin:24px auto 0;max-width:160px}
  .cta-final__qr img{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:#fff;padding:10px}
  .cta-final__lineid{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--accent-dark);margin-top:10px;letter-spacing:.06em}

  /* セクション内CTA */
  .inline-cta{margin-top:40px;text-align:center}
  .inline-cta__lead{font-family:'Noto Sans JP',sans-serif;font-size:12.5px;letter-spacing:.18em;color:var(--accent-dark);font-weight:700;margin-bottom:14px}

  /* フッター */
  footer{background:var(--accent-darker);color:#e8dccd;padding:50px 0 30px;font-family:'Noto Sans JP',sans-serif}
  footer .container{display:grid;grid-template-columns:1fr;gap:30px;text-align:center}
  footer h4{font-size:13px;letter-spacing:.18em;margin-bottom:10px;color:#fff}
  footer p,footer a{font-size:12.5px;line-height:2;color:#e8dccd}
  footer .copy{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;letter-spacing:.1em;opacity:.7}

  /* Sticky CTA */
  .sticky-cta{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;display:flex;gap:10px;padding:10px 14px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:999px;box-shadow:0 18px 40px rgba(80,60,45,.16);backdrop-filter:blur(8px)}
  .sticky-cta .btn{min-height:46px;padding:6px 18px;font-size:13px}
  @media (max-width:600px){
    .sticky-cta{left:12px;right:12px;transform:none;justify-content:center}
    .sticky-cta .btn{flex:1;font-size:12px;padding:6px 10px}
  }

  /* Areas SEO note */
  .area-note{margin-top:36px;padding:18px 24px;background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius-sm);font-family:'Noto Sans JP',sans-serif;font-size:12.5px;color:var(--muted);line-height:2;text-align:center;letter-spacing:.04em}
