:root{--ink:#283d39;--muted:#596660;--orange:#c94b1b;--cream:#faf6ee;--line:#e3dfd4;--sage:#edf2ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fffefb;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:17px;line-height:1.95;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:1.25em}h1,h2,h3{font-feature-settings:"palt";line-height:1.55;letter-spacing:.025em}h2{font-size:clamp(27px,3vw,39px);margin:12px 0 34px}h3{font-size:23px}em{font-style:normal;color:var(--orange)}b{font-weight:700}.wrap{width:min(1080px,calc(100% - 64px));margin:auto}.narrow{width:min(790px,calc(100% - 64px));margin:auto}section{padding:100px 0}.cream{background:var(--cream)}.eyebrow{font-size:14px;letter-spacing:.09em;color:var(--orange);font-weight:700}.section-lead{margin-bottom:40px;line-height:2}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}.split p{max-width:38em}.large{font-size:clamp(25px,2.7vw,34px);margin:20px 0}.center{text-align:center;margin-top:36px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:58px;padding:15px 27px;border-radius:7px;border:1px solid transparent;text-decoration:none;font-weight:700;font-size:16px;line-height:1.6;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{color:white;background:var(--orange);box-shadow:0 5px 0 #a83e1615}.primary:hover{background:#ac3e14}.secondary{border-color:var(--ink);background:white;color:var(--ink)}.text-link{font-size:15px;font-weight:700}.skip{position:absolute;left:10px;top:-80px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #216fac;outline-offset:5px}header{background:#fffefbef;border-bottom:1px solid #eae5d9;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.header-inner{max-width:1240px;margin:auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.1em}.brand-mark{border-radius:50% 50% 10% 50%;background:var(--orange);color:white;font-size:17px;width:35px;height:40px;display:grid;place-items:center}nav{display:flex;align-items:center;gap:26px}nav a{font-size:13px;font-weight:700;text-decoration:none}.nav-cta{background:var(--ink);color:white;border-radius:5px;padding:11px 18px}.hero{background:var(--cream);padding:60px 0 70px}.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:64px;align-items:center}.audience{font-size:13px;border-left:3px solid var(--orange);padding-left:14px;line-height:1.8;margin-bottom:30px}.hero-pre{font-size:21px;font-weight:700;margin-bottom:8px}.hero h1{font-size:clamp(32px,3.8vw,49px);line-height:1.48;letter-spacing:-.025em}.hero-lead{font-size:24px;font-weight:700;margin:24px 0 18px}.hero-lead em{background:linear-gradient(transparent 72%,#f9dfaf 0)}.hero .actions{align-items:flex-start;flex-direction:column;gap:15px}.dm-label{font-size:13px;text-align:center;font-weight:700;margin-bottom:13px}.dm-button{padding:0;border:0;background:white;display:block;position:relative;box-shadow:0 18px 45px #51412520;transform:rotate(1.4deg)}.dm-button img{display:block;width:100%}.dm-button span{position:absolute;bottom:12px;right:12px;border-radius:24px;background:var(--ink);color:white;padding:5px 15px;font-size:12px}.intro{text-align:center;padding:82px 0}.intro p{line-height:2.2}.intro h2{margin:40px 0 26px;font-size:clamp(25px,2.8vw,35px)}.placeholder{position:relative;aspect-ratio:var(--ratio);width:100%;display:flex;align-items:center;justify-content:center;padding:52px 24px 25px;background:repeating-linear-gradient(-45deg,#f3f3ed,#f3f3ed 12px,#f6f6f0 12px,#f6f6f0 24px);border:1px dashed #8e9b8c;border-radius:8px;color:#435446;text-align:center}.placeholder>div{max-width:330px}.placeholder b{display:block;font-size:16px;line-height:1.65}.placeholder small{display:block;margin-top:10px;font-size:12px}.placeholder p{font-size:12px;line-height:1.8;margin-top:12px;color:#586356}.image-no{position:absolute;left:15px;top:14px;font-size:11px;letter-spacing:.1em;font-weight:700;padding:1px 10px;background:white;border-radius:3px}.photo-symbol{font-size:30px;font-weight:400;color:#7a8c78;display:block;margin-bottom:8px}.mini-flow{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px}.mini-flow li{font-size:12px;padding:5px 9px;background:#fff;border-bottom:2px solid #e0a45a}.statement{margin-top:55px;border-top:1px solid #d8ccbb;padding-top:40px;text-align:center;font-weight:700;font-size:clamp(24px,3vw,36px)}.statement small{display:block;font-size:18px;color:var(--muted);margin-bottom:8px}.statement p{font-size:16px;font-weight:400;margin-top:12px}.compare{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:center}.compare>div{padding:34px;border-radius:8px}.compare-before{background:#f0f0eb;color:#67726c}.compare-after{border:2px solid #d9a580;background:#fff8ed}.compare h3{font-size:22px}.compare ul{list-style:none;padding:0;margin:22px 0 0}.compare li{position:relative;padding-left:26px;margin:12px 0;font-size:16px}.compare-before li:before{content:'−';position:absolute;left:0}.compare-after li:before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:700}.program-title{margin-bottom:38px}.program-title b{font-size:22px}.steps{background:#fffefa;border-radius:10px;padding:0 35px}.step{display:grid;grid-template-columns:76px 1fr 100px;gap:30px;padding:36px 0;border-bottom:1px solid var(--line);align-items:start}.step:last-child{border:0}.step-number{font-size:11px;letter-spacing:.1em;color:var(--orange);line-height:1.4}.step-number b{display:block;font-size:42px;letter-spacing:-.04em}.step h3{font-size:25px;margin-bottom:15px}.step p{font-size:16px;line-height:1.9}.step p+p{margin-top:10px}.icon{width:90px;height:90px}.result{display:inline-block;font-size:12px;color:var(--orange);background:#fff1df;padding:2px 12px;margin-top:18px;border-radius:3px}.workshop{margin-top:60px;gap:44px;grid-template-columns:1fr 1fr}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.audience-card{padding-top:20px;border-top:3px solid #d8b481}.audience-card h3{font-size:21px;margin:16px 0}.audience-card .quote{font-size:15px;color:var(--orange);font-weight:700;min-height:60px}.audience-card p{font-size:15px;line-height:1.9}.ink{background:var(--ink);color:#fffdf6}.ink .eyebrow{color:#f9c792}.ink .section-lead{color:#e1e7df}.principles article{border-top:1px solid #67756e;padding-top:24px}.principles span{font-family:Georgia,serif;color:#f3bc8b;font-size:35px}.principles h3{font-size:20px;margin:15px 0}.principles p{font-size:15px;color:#e1e7df}.teacher-key{font-size:24px;font-weight:700;border-top:1px solid var(--line);padding-top:25px}.teacher-key span{color:var(--orange);margin:0 8px}.teacher-name{margin-top:18px}.teacher-name small{display:block;font-size:12px}.teacher-name b{font-size:26px;margin-right:18px}.teacher-name span{font-size:12px}.books{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-top:54px;padding-top:35px;border-top:1px solid var(--line)}.books h3{font-size:20px;margin-bottom:12px}.books p{font-size:15px}.experience{gap:22px}.experience .placeholder{padding:40px 16px 18px;min-height:290px}.experience .placeholder b{font-size:14px}.experience .photo-symbol{display:none}.experience h3{font-size:17px;margin-top:18px}.tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:10px;margin:32px 0 0}.tags li{font-size:13px;border:1px solid #d0ccbf;border-radius:3px;padding:7px 14px}.theme-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.theme-list>div{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:25px 0;font-size:18px;font-weight:700}.theme-list .icon{width:55px;height:55px}.theme-list small{display:block;font-size:11px;color:var(--muted);font-weight:400}details{border-bottom:1px solid #d6d2c7;background:#fffefa}details:first-of-type{border-top:1px solid #d6d2c7}summary{display:flex;align-items:baseline;gap:18px;cursor:pointer;list-style:none;padding:25px 22px;font-size:17px;font-weight:700}summary::-webkit-details-marker{display:none}summary span{color:var(--orange);font-family:Georgia,serif;font-size:23px}summary:after{content:'＋';margin-left:auto;flex-shrink:0;font-size:22px;font-weight:400}details[open] summary:after{content:'−'}details p{padding:0 55px 26px;font-size:16px}.schedule-box{background:var(--sage);padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:10px}.schedule-box h2{font-size:26px;margin-bottom:18px}.schedule-box p{font-size:15px}.schedule-box>div:last-child{flex-shrink:0}.draft-note{font-size:11px!important;color:#73796f;line-height:1.7;margin-top:12px}.contact{background:#fff0df;text-align:center}.contact h2{font-size:clamp(29px,3.4vw,43px)}.contact-lead{font-size:24px;font-weight:700;margin-bottom:28px}.contact .actions{justify-content:center}.closing{font-size:23px;font-weight:700;margin-top:50px;padding-top:28px;border-top:1px solid #dbc8b4}footer{padding:36px 32px;display:flex;justify-content:center;gap:28px;align-items:center;flex-wrap:wrap}footer .brand{font-size:14px;white-space:normal}footer>a{font-size:12px}dialog{border:0;border-radius:10px;padding:55px 25px 25px;max-width:calc(100% - 30px);max-height:92vh;color:var(--ink);box-shadow:0 20px 70px #0004}dialog::backdrop{background:#182724c9}#dm-dialog{width:min(850px,95vw)}#dm-dialog img{display:block;width:100%}.close{position:sticky;top:0;float:right;margin-top:-43px;border:0;background:var(--ink);color:white;border-radius:5px;padding:6px 15px;font-size:14px;z-index:1}#pending-dialog{width:560px;padding:65px 30px 35px}#pending-dialog h2{font-size:22px}
@media(max-width:900px){nav{gap:15px}nav a:not(.nav-cta){display:none}.hero-grid{gap:34px}.split{gap:35px}.step{gap:18px;grid-template-columns:60px 1fr 70px}.step .icon{width:70px;height:70px}.three{gap:22px}.schedule-box{display:block}.schedule-box>div:last-child{margin-top:24px}.theme-list{grid-template-columns:1fr 1fr}.experience .placeholder{min-height:320px}}
@media(max-width:640px){body{font-size:16px;line-height:1.9}.wrap,.narrow{width:calc(100% - 40px)}section{padding:65px 0}.header-inner{padding:11px 16px;gap:8px}.brand{font-size:18px;gap:7px}.brand small{font-size:8px}.brand-mark{display:none}.nav-cta{font-size:11px;padding:9px 12px}.hero{padding:35px 0 45px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(31px,8vw,43px)}.hero .audience{margin-bottom:23px}.hero-lead{font-size:22px}.desktop{display:none}.dm-wrap{max-width:330px;margin:auto}.hero .actions{gap:17px}.intro{text-align:left}.intro br{display:none}.intro h2{line-height:1.65}.intro h2 br{display:initial}h2{margin-bottom:27px}.split,.compare,.three,.books{grid-template-columns:1fr;gap:30px}.split .placeholder{max-width:380px;margin:auto}.placeholder{padding:45px 22px 24px}.statement{margin-top:35px;padding-top:28px}.statement small{font-size:15px}.compare>div{padding:25px}.steps{padding:0 20px}.step{grid-template-columns:45px 1fr;gap:12px;padding:27px 0}.step-number b{font-size:32px}.step h3{font-size:21px}.step .icon{display:none}.step p{font-size:15px}.program-title b{display:block;font-size:20px}.workshop{gap:30px}.audience-card .quote{min-height:0}.audience-card{position:relative;padding-top:22px}.audience-card .icon{width:65px;height:65px;float:right;margin-left:15px}.audience-card h3{font-size:21px}.audience-card p{font-size:16px}.principles article{padding-top:18px}.books .placeholder{min-height:230px}.experience .placeholder{min-height:240px}.experience h3{margin-top:12px}.theme-list{grid-template-columns:1fr;gap:0}.theme-list>div{padding:18px 0}.center{text-align:left}.schedule-box{padding:28px;width:calc(100% - 40px)}.schedule-box h2{font-size:25px}.schedule-box .button{width:100%;font-size:15px}summary{padding:20px 15px;gap:12px;font-size:16px}details p{padding:0 20px 24px}.contact h2{font-size:29px}.contact-lead{font-size:21px}.contact .actions{flex-direction:column}.contact .button{width:100%}.contact p{font-size:15px}.contact .closing{font-size:21px}footer{display:block;text-align:center;padding:28px 20px}footer .brand{justify-content:center;margin-bottom:15px}footer>a+a{margin:0 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}@media print{header,footer,.actions,.draft-note{display:none}section{padding:30px 0;break-inside:avoid}body{font-size:12px}h2{font-size:24px}dialog{display:none}}
/* 写真反映版：元画像を保ったまま組み合わせるコラージュ */
.brand-logo{display:block;width:240px;height:auto}.zoom-photo{display:block;position:relative;text-decoration:none;overflow:hidden;border-radius:6px;background:#f4f0e9}.zoom-photo img{display:block;width:100%;height:auto}.zoom-label{position:absolute;right:8px;bottom:8px;background:#283d39e8;color:white;padding:2px 10px;border-radius:20px;font-size:10px;line-height:1.8}.zoom-photo:hover .zoom-label{background:#c94b1b}.workshop-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workshop-collage .wide{grid-column:1/-1}.workshop-collage .zoom-photo{aspect-ratio:3/2}.workshop-collage img{width:100%;height:100%;object-fit:cover}.workshop-collage figcaption,.teacher-collage figcaption,.book-collage figcaption{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.8;text-align:center;margin-top:3px}.teacher-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.teacher-collage .portrait{grid-column:1/-1;margin-left:auto;width:78%;box-shadow:0 14px 28px #293d3915}.teacher-collage .scene{grid-column:1/-1;width:76%;margin-top:-110px;z-index:1;border:6px solid #fffefb;transform:rotate(-3deg);box-shadow:0 8px 20px #293d3915}.teacher-collage figcaption{margin-top:14px}.book-collage{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:14px;padding:26px 18px 18px;background:#f4f0e8;align-items:end;border-radius:8px}.book-collage .book{box-shadow:3px 5px 9px #293d391c;border-radius:1px}.book-collage .book:first-child{transform:rotate(-5deg)}.book-collage .book:nth-child(2){transform:rotate(3deg)}.book-collage .magazines{align-self:center}.book-collage .zoom-label{font-size:9px;padding:1px 5px;right:3px;bottom:3px}.book-collage figcaption{margin-top:12px}.books{grid-template-columns:1.35fr 1fr}.experience-photo .zoom-photo{aspect-ratio:3/2}.experience-photo img{width:100%;height:100%;object-fit:cover}.program-intro{display:flex;gap:30px;align-items:center;justify-content:space-between;margin:0 0 30px}.program-intro .program-title{margin:0;flex:1;order:0}.character-start{width:105px;height:auto;order:1}.character-happy{display:block;width:105px;height:auto;margin:38px auto 0}.contact .closing{margin-top:20px}.credentials{margin-top:40px;display:grid;grid-template-columns:1fr 1.3fr;gap:30px;border-top:1px solid var(--line);padding-top:26px}.credentials>div{display:flex;align-items:center;gap:20px}.credentials>div>img{width:75px;height:75px;object-fit:contain}.credentials .zoom-photo{width:160px;flex-shrink:0;border:1px solid var(--line)}.credentials p{font-size:15px;line-height:1.7}.credentials small{font-size:11px}.books{margin-top:30px}#photo-dialog{width:min(1100px,95vw);text-align:center}#photo-full{display:block;width:auto;height:auto;max-height:72vh;max-width:100%;margin:auto;object-fit:contain}#photo-caption{font-size:14px;margin:15px 0 0}.schedule-box .draft-note{display:none}
@media(max-width:900px){.credentials{grid-template-columns:1fr}.credentials .zoom-photo{width:130px}.book-collage{gap:10px;padding:20px 12px}.brand-logo{width:210px}}
@media(max-width:640px){.brand-logo{width:190px}.books{grid-template-columns:1fr}.teacher-collage{max-width:380px;margin:auto}.teacher-collage .portrait{width:72%}.teacher-collage .scene{width:74%;margin-top:-90px}.program-intro{gap:15px;align-items:center}.character-start{width:80px}.program-title b{font-size:18px}.credentials{gap:24px;margin-top:28px}.credentials>div{gap:16px}.workshop-collage{gap:9px}.book-collage{padding:25px 18px 16px;gap:14px}.experience-photo .zoom-photo{aspect-ratio:3/2}.character-happy{width:90px}.header-inner{gap:5px}#photo-caption{font-size:12px}.teacher-collage figcaption{font-size:11px}}
@media(max-width:360px){.brand-logo{width:165px}.nav-cta{font-size:10px;padding:8px}}
