@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&family=Noto+Sans+JP:wght@400;500;700;900&display=swap");

  body{margin:0;background:#FBFAF7;font-family:"Noto Sans JP",sans-serif;color:#26292E;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  * {box-sizing:border-box;}
  html {scroll-behavior:smooth;}
  #hamburger-btn{display:none;}
  @media (max-width:760px){
    #main-nav{display:none !important;}
    #hamburger-btn{display:flex !important;}
    #fv-hero{display:block !important;min-height:0 !important;width:100% !important;overflow:hidden !important;}
    #hero-main-mobile{display:block !important;position:relative !important;width:100% !important;height:auto !important;aspect-ratio:1536/1024 !important;background:none !important;}
    #fv-hero-content{position:absolute !important;inset:0 !important;flex-basis:100% !important;max-width:100% !important;width:100% !important;box-sizing:border-box !important;padding:16px 20px !important;text-align:left !important;justify-content:flex-start !important;}
    .ed-worry-card{padding:40px 20px !important;text-align:center !important;}
    .ed-worry-row{font-size:13px !important;white-space:nowrap !important;}
    #worry-comma{display:none !important;}
    #worry-break{display:block !important;}
    #features-title{display:inline !important;text-align:center !important;}
    #features-break{display:block !important;}
    #features-cards{gap:36px !important;}
    #lesson{padding:18px 0 40px !important;}
    #experiences{padding:9px 0 40px !important;}
    #exam-title-text{position:relative !important;top:-3px !important;}
    header.ed-sec-hdr{flex-wrap:nowrap !important;padding:8px 12px !important;gap:8px !important;}
    header.ed-sec-hdr img{height:32px !important;}
    header.ed-sec-hdr a[href="#contact"]{font-size:12px !important;padding:9px 14px !important;order:2 !important;}
    #hamburger-btn{order:3 !important;flex-shrink:0;}
    #hero-main{display:none !important;}
    #hero-main-mobile{display:block !important;object-fit:contain !important;background:#EDF3FA;}
    #fv-hero-content{padding:8px 20px !important;justify-content:center !important;}
    #fv-hero-content h1{font-size:clamp(15.625px,4.6875vw,21.875px) !important;margin-bottom:4px !important;}
    #fv-body-p{font-size:9px !important;line-height:1.45 !important;margin-bottom:6px !important;}
    #fv-mobile-comma{display:inline !important;}
    #fv-body-break-2,#fv-body-break-3{display:block !important;}
    #fv-hero-content > div:first-of-type{font-size:10.5px !important;padding:4px 10px !important;margin:0 0 6px !important;}
    #fv-hero-content > div:first-of-type img{width:22px !important;height:22px !important;}
    #fv-pills{gap:3px !important;flex-wrap:nowrap !important;}
    #fv-pills > div{font-size:7px !important;padding:2px 6px 2px 2px !important;gap:3px !important;white-space:nowrap !important;}
    #fv-pills > div img{width:14px !important;height:14px !important;}
    #fv-hero-content > div:last-of-type img{width:26px !important;height:26px !important;}
    #fv-hero-content{padding:20px 16px !important;gap:0;}
    #continuation-bg{display:none !important;}
    #continuation-bg-mobile{display:block !important;}
    #testimonials-grid{grid-template-columns:none !important;grid-auto-flow:column !important;grid-auto-columns:82% !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;padding-bottom:8px !important;}
    .ed-testi-card{scroll-snap-align:center !important;}
    #testimonials-nav-mobile{display:none !important;}
    #continuation-cards{grid-template-columns:none !important;grid-auto-flow:column !important;grid-auto-columns:78% !important;gap:14px !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;padding-bottom:8px !important;}
    #continuation-cards > div{scroll-snap-align:center !important;}
    #cert-boy{width:75% !important;margin:0 auto 16px !important;display:block !important;}
    #cert-text{text-align:center !important;}
    #cert-text > div{font-size:22px !important;}
    #cert-body{text-align:center !important;font-size:14px !important;}
    #faq-title-wrap{text-align:center !important;}
    #achievements-grid{grid-template-columns:1fr !important;}
    #achievements-grid > div{height:110px !important;}
    #achievements-grid > div img{width:auto !important;height:100% !important;object-fit:contain !important;}
    #achievements-grid > div:first-child{padding:4px !important;}
    #skills-band{display:none !important;}
    #skills-band-mobile{display:flex !important;}
    #worry-title-wrap{margin-bottom:36px !important;}
    #worry-cards{gap:48px !important;}
    #continuation-title-break{display:block !important;}
    #continuation-band{clip-path:inset(0 0 10px 0) !important;}
    #continuation-title{margin-top:-10px !important;text-align:right !important;text-shadow:0 0 8px #fff,0 0 8px #fff,0 2px 4px rgba(0,0,0,0.25) !important;}
    #continuation-content p{text-shadow:0 0 6px #fff,0 0 6px #fff,0 1px 3px rgba(0,0,0,0.2) !important;}
    .ed-cbr{display:none !important;}
  }
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  @keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
  @keyframes pulseRing{0%{box-shadow:0 8px 18px rgba(230,66,58,0.5),0 0 0 0 rgba(230,66,58,0.6)}70%{box-shadow:0 8px 18px rgba(230,66,58,0.5),0 0 0 18px rgba(230,66,58,0)}100%{box-shadow:0 8px 18px rgba(230,66,58,0.5),0 0 0 0 rgba(230,66,58,0)}}


.ed-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:10px;
  background:repeating-linear-gradient(45deg,#ECEFF4 0 8px,#F5F7FA 8px 16px);border:1.5px dashed #C9D0DA;border-radius:12px;
  color:#8B93A0;font-size:11px;font-weight:700;line-height:1.5;box-sizing:border-box}
.ed-ph small{font-size:9px;font-weight:500;color:#AEB5C0}
[hidden]{display:none!important}
#faq-more{display:none;align-items:center;justify-content:center;gap:8px;width:100%;margin:16px 0 0;padding:14px 16px;border:2px solid #F2861D;border-radius:999px;background:#fff;color:#F2861D;font-weight:800;font-size:14px;font-family:inherit;cursor:pointer;}
#faq-more span{font-size:16px;}
/* 学びは、もっと伸びる。帯（デスクトップ）：写真の男の子の顔(帯の左~30%)と文字が被らないよう、画面が狭いほど文字ブロックを右へ。広い画面でも少し右寄せ */
@media (min-width:761px){ #continuation-content{padding-left:max(100px, calc(720px - 40vw));} }
#ed-mnav-wrap{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;box-shadow:0 12px 24px rgba(20,30,60,.12);padding:4px 16px 12px}
header:not([style*="sticky"]):not([style*="fixed"]){position:relative}
/* FVのタグ3つがスマホで右端が切れる問題の修正（Claude Designの1行レイアウトは維持） */
@media (max-width:760px){
  /* 無料体験60分：4項目の高さを一番高い項目に揃え、文字は上下中央 */
  #lesson-steps{display:grid !important;grid-auto-rows:1fr !important;gap:14px !important;}
  #lesson-steps > div > div:last-child{display:flex !important;flex-direction:column !important;justify-content:center !important;}
  /* スマホ短縮①：セクション上下余白を約6割に */
  .ed-sec-02{padding-top:36px !important;padding-bottom:40px !important;}
  .ed-sec-03{padding-top:40px !important;padding-bottom:40px !important;}
  .ed-sec-04{padding-bottom:38px !important;}
  .ed-sec-06{padding-bottom:40px !important;}
  .ed-sec-07{padding-bottom:40px !important;}
  .ed-sec-08{padding-top:40px !important;padding-bottom:40px !important;}
  .ed-sec-11{padding-top:40px !important;padding-bottom:40px !important;}
  .ed-sec-12{padding-top:38px !important;padding-bottom:38px !important;}
  .ed-sec-13{padding-top:40px !important;padding-bottom:40px !important;}
  .ed-sec-15{padding-top:40px !important;padding-bottom:40px !important;}
  .ed-sec-16{padding-top:34px !important;padding-bottom:34px !important;}
  .ed-sec-17{padding-top:40px !important;padding-bottom:40px !important;}
  /* スマホ短縮②：4つの理由・入会までの流れを横スライド */
  #features-cards,#flow-cards{grid-template-columns:none !important;grid-auto-flow:column !important;grid-auto-columns:78% !important;gap:14px !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  #features-cards::-webkit-scrollbar,#flow-cards::-webkit-scrollbar{display:none;}
  #features-cards{padding:30px 10px 14px 4px !important;}
  #flow-cards{padding:2px 2px 8px !important;}
  #features-cards > div,#flow-cards > div{scroll-snap-align:center !important;}
  /* スマホ短縮③：FAQは3件だけ表示し「もっと見る」 */
  #faq-list:not(.ed-open) > .ed-faq-box:nth-child(n+4){display:none !important;}
  #faq-more{display:flex !important;margin-top:-20px !important;}
  #faq-list.ed-open ~ #faq-more{display:none !important;}
  /* 学びは、もっと伸びる。帯：400px幅の見た目を全スマホ幅で固定（480px幅で上限） */
  #continuation-bg-mobile{object-position:center center !important;}
  #continuation-band{padding:min(27.5vw,132px) min(5vw,24px) !important;clip-path:inset(0 0 min(2.5vw,12px) 0) !important;}
  #continuation-title{font-size:min(6.5vw,31.2px) !important;margin-top:max(-2.5vw,-12px) !important;margin-bottom:min(4vw,19.2px) !important;}
  #continuation-content p{font-size:min(3.5vw,16.8px) !important;}
  #fv-pills{margin-left:-8px !important;margin-right:-8px !important;gap:2px !important;}
  #fv-pills > div{padding:2px 3px 2px 2px !important;}
  #fv-pills > div img{width:12px !important;height:12px !important;}
}


.ed-hidden{display:none !important;}

/* Instagramアイコン: TinyMCEが<svg>を消すため、CSSの背景画像で描く */
a[aria-label="Instagram"]::before{content:"";display:block;width:20px;height:20px;background:url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2220%22%20height=%2220%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-width=%222%22><rect%20x=%222%22%20y=%222%22%20width=%2220%22%20height=%2220%22%20rx=%225%22/><circle%20cx=%2212%22%20cy=%2212%22%20r=%224.5%22/><circle%20cx=%2217.5%22%20cy=%226.5%22%20r=%221.2%22%20fill=%22%23fff%22%20stroke=%22none%22/></svg>") center/contain no-repeat;}
