:root{--pink:#d99aa8;--pink-dark:#ad6373;--pink-soft:#f6e3e7;--cream:#fbf7f0;--beige:#e9d9c2;--ink:#3f3430;--muted:#766a64;--white:#fffdf9;--line:#06c755;--shadow:0 18px 48px rgba(102,72,65,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;line-height:1.8}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,56px);background:rgba(255,253,249,.92);border-bottom:1px solid rgba(173,99,115,.16);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark,.round-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--pink-dark);background:var(--pink-soft);border:1px solid rgba(173,99,115,.18);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700}.brand strong{display:block;line-height:1.25}.brand small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.nav{display:flex;gap:18px;color:var(--muted);font-size:14px}.header-actions{display:flex;align-items:center;gap:10px}.nav a:hover{color:var(--pink-dark)}.line-button,.ghost-button,.insta-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:999px;font-weight:700;line-height:1.3}.insta-button{color:var(--pink-dark);background:#fff;border:1px solid rgba(173,99,115,.24);box-shadow:0 8px 20px rgba(102,72,65,.08)}.insta-button:before{content:"IG";display:inline-grid;place-items:center;margin-right:8px;width:28px;height:22px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#d99aa8,#ad6373);font-size:11px;font-weight:900}.line-button{color:white;background:var(--line);box-shadow:0 10px 24px rgba(6,199,85,.24)}.line-button:before,.floating-line:before{content:"LINE";display:inline-grid;place-items:center;margin-right:8px;width:32px;height:22px;border-radius:999px;color:var(--line);background:#fff;font-size:11px;font-weight:900}.ghost-button{color:var(--pink-dark);background:white;border:1px solid rgba(173,99,115,.22)}.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.78fr);gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(42px,8vw,92px) clamp(18px,5vw,72px) 34px}.hero-copy{max-width:760px}.eyebrow{margin:0 0 12px;color:var(--pink-dark);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.35}h1{font-size:clamp(34px,5.4vw,64px)}h2{font-size:clamp(28px,4vw,42px)}h3{margin:0 0 8px;font-size:18px}.hero-copy>p:not(.eyebrow){max-width:680px;margin:22px 0 0;color:var(--muted);font-size:17px}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.final-cta .cta-actions{justify-content:center;margin-top:0}.hero-visual{position:relative}.hero-visual img,.photo-card img{width:100%;border-radius:8px;object-fit:cover;box-shadow:var(--shadow)}.hero-visual img.main-photo{aspect-ratio:4/5;object-position:center center}.hero-note{position:absolute;right:18px;bottom:18px;padding:14px 18px;border-radius:8px;background:rgba(255,253,249,.92);box-shadow:0 12px 30px rgba(63,52,48,.12)}.hero-note span{display:block;color:var(--pink-dark);font-size:12px;font-weight:800}.section{max-width:1120px;margin:0 auto;padding:clamp(44px,7vw,78px) 18px}.intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:18px}.feature{display:flex;align-items:center;gap:14px;min-height:96px;padding:18px;border-radius:8px;background:var(--white);box-shadow:0 10px 26px rgba(102,72,65,.08)}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.feature strong{color:var(--ink)}.section-heading{margin-bottom:24px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-card{overflow:hidden;border-radius:8px;background:var(--white);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.photo-card:hover{transform:translateY(-3px);box-shadow:0 22px 56px rgba(102,72,65,.18)}.photo-card img{aspect-ratio:4/3;border-radius:8px 8px 0 0;box-shadow:none;background:#fffdf9}.photo-card div{padding:18px}.photo-card p{margin:0;color:var(--muted);font-size:14px}.accordion-section{display:grid;gap:14px}details{border-radius:8px;background:var(--white);box-shadow:0 10px 30px rgba(102,72,65,.08);overflow:hidden}summary{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 18px;cursor:pointer;font-size:20px;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";margin-left:auto;color:var(--pink-dark);font-size:28px;line-height:1}details[open] summary:after{content:"−"}.detail-body{padding:0 22px 24px;color:var(--muted)}.detail-body p{margin:0 0 14px}.teacher-profile{display:flex;align-items:center;gap:18px;margin:4px 0 18px}.teacher-profile img{width:118px;height:118px;flex:0 0 auto;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 12px 28px rgba(102,72,65,.16);border:4px solid #fffdf9}.teacher-profile p{margin:0;color:var(--ink);font-weight:700}.check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--pink-dark);font-weight:900}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.price-card{position:relative;padding:20px;border-radius:8px;background:#fff7f8;border:1px solid rgba(173,99,115,.14)}.course-icon{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:10px;border-radius:50%;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:900}.price-card p:not(.price){margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.7}.target{padding-top:10px;border-top:1px solid rgba(63,52,48,.1);font-weight:700}.course-kids{background:#f2f8ee;border-color:#c8dfbf}.course-kids .course-icon{color:#5f8f58;background:#e1efd9}.course-student{background:#fff4f6;border-color:#e5b8c2}.course-student .course-icon{color:#ad6373;background:#f6e3e7}.course-adult{background:#fbf2e6;border-color:#dfc9aa}.course-adult .course-icon{color:#9a7356;background:#ead8c2}.price{color:var(--pink-dark);font-size:24px;font-weight:900}.schedule{margin-top:18px;padding:18px;border-radius:8px;background:#f8efe2}.schedule p{margin:6px 0 0}.faq h3{margin-top:18px;color:var(--ink)}.access-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(320px,1fr);gap:18px;align-items:stretch}.access-card{padding:24px;border-radius:8px;background:var(--white);box-shadow:var(--shadow)}.access-card p{color:var(--muted)}iframe{width:100%;min-height:360px;border:0;border-radius:8px;box-shadow:var(--shadow)}.final-cta{margin:18px auto 70px;max-width:960px;padding:clamp(34px,6vw,58px) 22px;text-align:center;background:var(--pink-soft);border-top:1px solid rgba(173,99,115,.12);border-bottom:1px solid rgba(173,99,115,.12)}.final-cta h2{margin-bottom:24px}.floating-line{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 18px;border-radius:999px;color:white;background:var(--line);box-shadow:0 14px 32px rgba(6,199,85,.3);font-weight:900}footer{padding:28px 18px 96px;color:var(--muted);text-align:center}footer a{color:var(--pink-dark);font-weight:800}@media (max-width:860px){.site-header{align-items:flex-start}.nav,.header-line,.header-actions .insta-button{display:none}.hero,.access-layout{grid-template-columns:1fr}.hero{padding-top:34px}.intro-strip,.photo-grid,.price-grid{grid-template-columns:1fr}.hero-note{position:static;margin-top:12px}.hero-visual img.main-photo{aspect-ratio:4/3}}@media (max-width:520px){.site-header{padding:12px 14px}.brand-mark,.round-icon{width:38px;height:38px}.brand strong{font-size:15px}.brand small{font-size:11px}.line-button,.ghost-button,.insta-button{width:100%}.hero-actions{flex-direction:column}summary{font-size:17px}.teacher-profile{align-items:flex-start}.teacher-profile img{width:92px;height:92px}.floating-line{right:12px;left:12px}}