@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@500;600;700&display=swap");
:root{--accent:#50677e;--accent2:#d9a16f;--soft:#f3f5f6;--ink:#25303a;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea,select{font:inherit}.sampleBar{padding:7px 20px;background:var(--ink);color:#fff;text-align:center;font-size:10px;letter-spacing:.08em}.showcaseHeader{height:80px;padding:0 clamp(20px,5vw,80px);display:grid;grid-template-columns:1fr auto auto;gap:32px;align-items:center;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid #0000000d}.showcaseBrand{font:700 21px var(--serif);letter-spacing:.04em}.showcaseNav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.showcaseNav a:hover{color:var(--accent)}.showcaseCta,.primaryButton,.ghostButton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:999px;font-size:12px;font-weight:800}.showcaseCta,.primaryButton{background:var(--accent);color:#fff}.ghostButton{border:1px solid currentColor}.showcaseMenu{display:none;width:44px;height:44px;border:0;background:none;font-size:22px}.showcaseHero{min-height:650px;padding:75px clamp(22px,6vw,96px);display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;background:var(--soft)}.showcaseHeroCopy{max-width:650px}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.22em}.showcaseHero h1,.pageHero h1,.sectionHead h2,.splitStory h2,.finalCta h2{font-family:var(--serif);font-weight:600;line-height:1.35;text-wrap:balance}.showcaseHero h1{margin:0 0 24px;font-size:clamp(43px,5.7vw,78px)}.showcaseHeroLead{max-width:600px;color:#58626a;font-size:16px}.heroActions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.showcaseHeroVisual{height:540px;overflow:hidden;border-radius:3px 170px 3px 3px;box-shadow:25px 30px 70px #14243324}.showcaseHeroVisual img{object-position:center}.factStrip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff}.factStrip div{padding:30px clamp(20px,4vw,60px);border-right:1px solid #ffffff1f}.factStrip div:last-child{border:0}.factStrip b{display:block;color:var(--accent2);font:34px "DM Serif Display",serif}.factStrip span{font-size:12px}.contentSection{padding:100px clamp(22px,7vw,112px)}.contentSection.soft{background:var(--soft)}.sectionHead{max-width:850px;margin-bottom:46px}.sectionHead.centered{margin-left:auto;margin-right:auto;text-align:center}.sectionHead h2{margin:0 0 16px;font-size:clamp(34px,4vw,58px)}.sectionHead>p:last-child{color:#667078}.cardGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;border:1px solid #00000018;background:#fff}.card b{color:var(--accent);font:30px "DM Serif Display",serif}.card h3{margin:18px 0 8px;font:600 21px var(--serif)}.card p{margin:0;color:#687178;font-size:13px}.card .price{display:block;margin-top:20px;color:var(--accent);font-size:18px;font-weight:800}.splitStory{display:grid;grid-template-columns:1fr 1fr;min-height:580px}.splitStory>div{overflow:hidden}.splitStory article{padding:80px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:#fff}.splitStory h2{margin:0 0 22px;font-size:clamp(34px,4vw,58px)}.splitStory article>p:not(.eyebrow){color:#dce1e4}.splitStory .eyebrow{color:var(--accent2)}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9dcde}.steps article{padding:30px;background:#fff}.steps article:before{counter-increment:steps;content:"0" counter(steps);display:block;color:var(--accent);font:28px "DM Serif Display",serif}.steps h3{font:600 19px var(--serif)}.steps p{color:#697279;font-size:13px}.dataTable{width:100%;border-collapse:collapse}.dataTable th,.dataTable td{padding:18px;border-bottom:1px solid #d9dddf;text-align:left}.dataTable th{width:26%;color:var(--accent);font-size:12px}.quoteBand{padding:90px clamp(22px,8vw,130px);text-align:center;background:var(--accent);color:#fff}.quoteBand blockquote{max-width:900px;margin:0 auto;font:500 clamp(25px,3.2vw,44px)/1.7 var(--serif)}.quoteBand small{display:block;margin-top:22px;opacity:.75}.pageHero{min-height:430px;padding:85px clamp(22px,7vw,112px);display:flex;align-items:end;background:linear-gradient(135deg,var(--soft),#fff)}.pageHero>div{max-width:900px}.pageHero h1{margin:0 0 15px;font-size:clamp(42px,5.5vw,72px)}.pageHero p:not(.eyebrow){max-width:700px;color:#667078}.detailList{display:grid;gap:0}.detailList article{display:grid;grid-template-columns:150px 1fr;gap:35px;padding:40px 0;border-bottom:1px solid #d9dddf}.detailList b{color:var(--accent);font:34px "DM Serif Display",serif}.detailList h2{margin:0 0 10px;font:600 clamp(25px,3vw,39px) var(--serif)}.detailList p{color:#667078}.galleryGrid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}.galleryGrid figure{margin:0;position:relative;overflow:hidden;background:var(--soft)}.galleryGrid figure:nth-child(1){grid-column:span 7;grid-row:span 3}.galleryGrid figure:nth-child(2){grid-column:span 5;grid-row:span 2}.galleryGrid figure:nth-child(3){grid-column:span 5;grid-row:span 2}.galleryGrid figure:nth-child(4){grid-column:span 7;grid-row:span 2}.galleryGrid figcaption{position:absolute;left:12px;bottom:12px;padding:7px 12px;background:#fffffff0;font-size:11px;font-weight:700}.faqList{max-width:900px;margin:auto}.faqList details{border-top:1px solid #d9dddf}.faqList details:last-child{border-bottom:1px solid #d9dddf}.faqList summary{padding:22px 45px 22px 0;cursor:pointer;font-weight:700}.faqList p{padding:0 25px 22px;color:#667078}.demoForm{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}.demoForm label{font-size:12px;font-weight:700}.demoForm input,.demoForm textarea,.demoForm select{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid #cdd2d5;background:#fff}.demoForm .wide{grid-column:1/-1}.demoForm button{border:0;cursor:not-allowed}.formNote{padding:14px;background:#fff4d9;color:#725719;font-size:12px}.finalCta{padding:90px 22px;text-align:center;background:var(--accent);color:#fff}.finalCta h2{margin:8px 0 16px;font-size:clamp(34px,4.5vw,62px)}.finalCta p{opacity:.84}.finalCta .ghostButton{margin-top:18px}.showcaseFooter{padding:50px clamp(22px,7vw,112px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#151b20;color:#fff}.showcaseFooter strong{font:22px var(--serif)}.showcaseFooter p{max-width:570px;color:#aeb6bb;font-size:12px}.footerLinks{display:flex;justify-content:flex-end;align-content:flex-start;flex-wrap:wrap;gap:16px;font-size:11px}.showcaseFooter small{grid-column:1/-1;padding-top:24px;border-top:1px solid #ffffff1c;color:#8c989f}.fixedDemoNote{position:fixed;right:13px;bottom:13px;z-index:50;padding:8px 12px;border-radius:999px;background:#1b1d20;color:#fff;font-size:9px}.nail{--accent:#a55775;--accent2:#e7a8bd;--soft:#fbf1f5;--ink:#382831}.nail .showcaseHero{background:linear-gradient(110deg,#fff 0 46%,var(--soft) 46%)}.nail .showcaseHeroVisual{border-radius:220px 220px 8px 8px}.nail .card{border-radius:22px}.seitai{--accent:#39766f;--accent2:#b9d6b4;--soft:#eef6f3;--ink:#213936}.seitai .showcaseHeroVisual{border-radius:42% 4px 42% 4px}.seitai .primaryButton,.seitai .showcaseCta{border-radius:10px}.esthetic{--accent:#8b715e;--accent2:#d7c2a9;--soft:#f7f2ec;--ink:#332d29}.esthetic .showcaseHero{background:#efe8df}.esthetic .showcaseHeroVisual{border-radius:260px 260px 0 0}.esthetic .card{border:0;box-shadow:0 15px 45px #5d493014}.handmade{--accent:#b15f43;--accent2:#e4b56e;--soft:#fbf2e6;--ink:#423127}.handmade .showcaseHero{background:radial-gradient(circle at 8% 15%,#e9b86855 0 100px,transparent 101px),var(--soft)}.handmade .showcaseHeroVisual{transform:rotate(1.5deg);border-radius:6px;box-shadow:18px 20px 0 #e6bf82}.corporate{--accent:#2f5f87;--accent2:#68a6c9;--soft:#edf3f7;--ink:#1f303e}.corporate .showcaseHeroVisual{border-radius:0}.corporate .card{border-top:4px solid var(--accent)}.lpDemo{--accent:#7752b7;--accent2:#ffbd6a;--soft:#f2effb;--ink:#251d34}.lpDemo .showcaseHero{min-height:760px;background:radial-gradient(circle at 90% 15%,#ffbd6a55 0 180px,transparent 181px),linear-gradient(135deg,#251d34,#563f7d);color:#fff}.lpDemo .showcaseHeroLead{color:#e8e1f4}.lpDemo .eyebrow{color:var(--accent2)}.lpDemo .showcaseHeroVisual{border-radius:28px;transform:rotate(1deg)}
@media(max-width:900px){.showcaseHeader{grid-template-columns:1fr auto auto}.showcaseMenu{display:block}.showcaseNav{position:fixed;inset:110px 0 auto;display:none;padding:25px;flex-direction:column;background:#fff;box-shadow:0 20px 35px #0002}.showcaseNav.open{display:flex}.showcaseCta{display:none}.showcaseHero{grid-template-columns:1fr}.showcaseHeroVisual{height:440px}.factStrip,.cardGrid,.steps{grid-template-columns:1fr 1fr}.splitStory{grid-template-columns:1fr}.splitStory>div{height:420px}.showcaseFooter{grid-template-columns:1fr}.footerLinks{justify-content:flex-start}.instructor-credentials{grid-template-columns:1fr}}
@media(max-width:600px){.sampleBar{font-size:8px}.showcaseHeader{height:68px}.showcaseBrand{font-size:17px}.showcaseHero{padding:55px 20px}.showcaseHero h1{font-size:43px}.showcaseHeroVisual{height:340px}.factStrip,.cardGrid,.steps{grid-template-columns:1fr}.factStrip div{border-right:0;border-bottom:1px solid #ffffff1f}.contentSection{padding:72px 20px}.splitStory>div{height:320px}.splitStory article{padding:58px 22px}.detailList article{grid-template-columns:55px 1fr;gap:12px}.galleryGrid{display:grid;grid-template-columns:1fr;grid-auto-rows:260px}.galleryGrid figure:nth-child(n){grid-column:auto;grid-row:auto}.demoForm{grid-template-columns:1fr}.demoForm .wide{grid-column:auto}.showcaseFooter{padding:45px 20px 90px}.handmade .showcaseHeroVisual{transform:none}.lpDemo .showcaseHeroVisual{transform:none}}


/* ── 見出しの改行調整（2026-08-22） ────────────────────
   日本語は単語区切りがないため、段の幅に対して文字が大きすぎると
   行末に1〜2文字だけ取り残される。文字サイズを段幅に合わせて調整する。 */
.showcaseHero h1,.pageHero h1{font-size:clamp(29px,3.5vw,52px);text-wrap:balance;line-break:strict}
.sectionHead h2,.splitStory h2,.finalCta h2,.detailList h2{font-size:clamp(23px,2.8vw,40px);text-wrap:balance;line-break:strict}
.quoteBand blockquote{font:500 clamp(20px,2.3vw,32px)/1.7 var(--serif);text-wrap:balance;line-break:strict}
.showcaseHeroCopy{max-width:none}
.showcaseHero{grid-template-columns:1fr 1fr}
@media(max-width:600px){.showcaseHero h1{font-size:32px}}
