:root{--red:#ba0f20;--red-dark:#8c0715;--ink:#121b2c;--muted:#5e6673;--light:#f5f6f8;--line:#dcdfe4;--white:#fff;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8;background:#fff}a{color:inherit}button{font:inherit}.skip{position:absolute;left:-9999px;top:0;background:white;padding:8px;z-index:100}.skip:focus{left:8px}.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.red{color:var(--red)}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);box-shadow:0 2px 12px #0f1b2818;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:20px}.brand{font-weight:900;text-decoration:none;font-size:18px;white-space:nowrap}.brand-slash{display:inline-block;background:var(--red);width:7px;height:26px;transform:skew(-20deg);vertical-align:middle;margin-right:13px}.nav{display:flex;gap:22px;align-items:center;font-size:13px;font-weight:800}.nav a{text-decoration:none}.nav>a:not(.nav-contact):hover{color:var(--red)}.nav-contact,.button{background:linear-gradient(125deg,var(--red) 0%,#d31426 60%,var(--red-dark) 100%);color:#fff!important;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:12px 23px;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);transition:filter .2s,transform .2s}.nav-contact:hover,.button:hover{filter:brightness(1.13);transform:translateY(-2px)}.nav-contact{padding-inline:28px}.menu-toggle{display:none}.hero{background:linear-gradient(125deg,#f4f5f7 0%,#fff 63%,#e9eaed 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:56% 44%;min-height:570px;align-items:center}.hero-copy{position:relative;z-index:2;padding:62px 0}.handwritten{font-family:serif;font-weight:800;font-style:italic;letter-spacing:.05em}.hero-lead{font-size:clamp(23px,3vw,35px);line-height:1.65;transform:rotate(-4deg);margin:8px 0 44px 8px;display:inline-block;border-bottom:4px solid var(--red)}.eyebrow{font-weight:800;font-size:17px;margin:0 0 8px}.hero h1{font-size:clamp(48px,6.5vw,83px);font-weight:1000;line-height:1.17;letter-spacing:-.07em;margin:0 0 28px;text-shadow:2px 3px 0 #edf0f3}.hero h1 em{color:var(--red);font-style:normal}.hero h1 span{font-size:.79em}.hero-points{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 32px}.hero-points span{border:1px solid #cfd3db;border-radius:30px;padding:6px 13px;background:#fff;font-size:13px;font-weight:800}.hero-visual{height:100%;min-height:530px;background:linear-gradient(35deg,rgba(17,24,37,.8),transparent 55%),linear-gradient(145deg,#c3c5c8,#f4f4f5 45%,#8a8c92);position:relative;display:flex;align-items:center;justify-content:center;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}.placeholder-art{border:2px dashed #ffffffa8;border-radius:6px;min-width:55%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-shadow:0 1px 6px #0008;letter-spacing:.14em;font-weight:900}.placeholder-art small{font-size:12px;letter-spacing:0}.photo-icon{font-size:46px}.hero-visual-label{position:absolute;bottom:24px;right:20px;color:white;letter-spacing:.15em;font-size:12px;font-weight:800}.hero-visual-label b{color:#ff3d54}.section{padding:85px 0}.section-title{font-size:clamp(24px,3vw,35px);font-weight:1000;letter-spacing:-.035em;text-align:center;margin:0 0 42px;line-height:1.4}.section-title:before{content:"";display:inline-block;width:7px;height:29px;background:var(--red);transform:skew(-22deg);margin-right:17px;vertical-align:-5px}.section-title-dark:before{background:var(--red)}.align-left{text-align:left}.problems{padding:54px 0 62px;background:#f7f7f7}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.problem{padding:25px 12px;text-align:center;position:relative;font-weight:800;line-height:1.6}.problem:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#d4d8de}.line-icon{display:block;color:var(--ink);font-size:48px;line-height:1.4}.problem p{margin:9px 0 0}.concept{background:#151b27;color:white;overflow:hidden}.concept-inner{display:grid;grid-template-columns:58% 42%;min-height:345px}.concept-inner>div:first-child{padding:48px 40px 52px 0;z-index:1}.mini-label{font-size:12px;letter-spacing:.25em;color:#eaaaaf;font-weight:800}.concept h2{font-size:clamp(26px,3.2vw,42px);line-height:1.4;margin:12px 0 24px}.concept p{max-width:680px}.concept-art{background:radial-gradient(circle at 65% 70%,#ce864f 0,transparent 22%),repeating-linear-gradient(125deg,transparent 0,transparent 24px,#ffffff12 26px),linear-gradient(45deg,#24272b,#42464b);display:grid;place-items:center;transform:skew(-9deg);margin-right:-80px}.concept-art span{font-size:14px;letter-spacing:.16em;color:#ffffffb3;transform:skew(9deg)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.feature{text-align:center;padding:29px 19px 26px;background:linear-gradient(#fff,#faf7f7);border-radius:10px;box-shadow:0 8px 25px #1418240b}.feature-icon{display:grid;place-items:center;color:var(--red);width:104px;height:104px;border-radius:50%;box-shadow:0 7px 24px #1112;margin:0 auto 20px;font-size:57px;background:#fff}.feature h3{font-size:20px;line-height:1.5;margin:0 0 12px}.feature p{font-size:14px;color:#4e5663;margin:0}.program{background:#fafafa}.duration{font-size:.7em}.program-list{display:grid;gap:24px}.program-card{display:grid;grid-template-columns:285px 1fr;background:#fff;border:1px solid #eaebee;border-radius:9px;box-shadow:0 10px 25px #1720300b;overflow:hidden}.program-photo{min-height:235px;background:linear-gradient(130deg,#eee 0%,#abb2bb 100%);position:relative;display:grid;place-items:center}.program-photo-2{background:linear-gradient(130deg,#e2e7ed,#b5c6d6)}.photo-label{color:#354355;font-size:13px;border:2px dashed #7f8b9a;padding:23px;text-align:center;line-height:1.55;font-weight:700;background:#fff9}.program-number{position:absolute;left:0;top:0;background:var(--red);color:white;padding:8px 24px 10px;font-weight:900;line-height:1.3;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.program-copy{padding:30px 35px}.program-kicker{font-size:13px;color:var(--red);font-weight:800;margin:0}.program-copy h3{font-size:25px;line-height:1.4;margin:8px 0 12px}.program-copy p:last-child{margin:0;color:#515b67}.lecturers{background:#fff}.lecturer-full{display:grid;grid-template-columns:210px 265px minmax(0,1fr);gap:0;border:1px solid #e4e5e8;border-radius:10px;overflow:hidden;margin-bottom:26px;box-shadow:0 4px 20px #171b2710;background:#fff}.lecturer-photo{background:linear-gradient(160deg,#9da5af,#eff0f2);display:grid;place-items:center;min-height:360px}.lecturer-photo-alt{background:linear-gradient(160deg,#b0bdc8,#edf1f6)}.lecturer-identity{padding:26px 22px 20px;border-right:1px solid #e0e2e6}.ribbon{display:inline-block;background:var(--red);color:white;font-weight:900;padding:3px 15px;transform:skew(-12deg);font-size:12px;margin:0 0 14px}.lecturer-identity h3{font-size:28px;white-space:nowrap;letter-spacing:-.03em;line-height:1.4;margin:4px 0 16px}.lecturer-identity h3 small{font-size:13px}.role-list{padding:0;list-style:none;margin:0 0 14px}.role-list li{padding:3px 0 3px 14px;border-left:3px solid var(--red);font-size:13px;font-weight:700;line-height:1.5;margin:7px 0}.lecturer-identity>p:last-child{font-size:13px;color:#4e5662;line-height:1.8}.lecturer-details{padding:21px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.detail{border-bottom:1px solid var(--line);padding-bottom:8px}.detail h4{font-size:18px;margin:0 0 8px;line-height:1.35}.detail h4:before{content:"／";font-weight:1000;color:var(--red);margin-right:5px}.detail p{font-size:13px;line-height:1.85;margin:0;color:#424b57}.flow{background:#f4f5f7}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:0;padding:0}.flow-grid li{background:white;border-radius:8px;padding:22px 17px;box-shadow:0 3px 14px #19243908}.flow-grid li span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;color:white;background:var(--red);font-size:17px;font-weight:900}.flow-grid h3{font-size:16px;margin:15px 0 6px}.flow-grid p{font-size:13px;margin:0;color:#565e69}.deliverable-flex{display:flex;align-items:center;gap:42px}.deliverable .section-title{margin-bottom:20px}.report-mark{width:190px;flex:0 0 190px;height:170px;border-radius:9px;background:#f0f2f4;display:grid;place-items:center;font-size:95px;color:#273447}.deliverable h3{font-size:21px;margin:0 0 10px}.deliverable p{margin:0 0 9px}.note{font-size:13px;color:#6b7280}.price{background:#f4f5f6}.price-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.price .section-title{margin-bottom:18px}.price-inner p{margin:6px 0}.price-inner>div:first-child>p:first-of-type{font-size:20px;font-weight:900}.price-meta{font-size:14px;color:#5c6571;max-width:640px}.price-value{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.price-value strong{font-size:84px;color:var(--red);letter-spacing:-.07em;line-height:1.15}.price-value strong span{font-size:39px;letter-spacing:0}.price-value small{font-size:12px;color:#666}.price-note{font-size:12px;color:#6d7580;margin-top:12px}.closing{background:linear-gradient(105deg,#121923,#252d3c);color:white;padding:42px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.closing h2{font-size:clamp(24px,3vw,32px);line-height:1.5;margin:0}.closing p{font-size:14px;margin:11px 0 0;color:#dce0e6}.closing .button{flex-shrink:0}.faq-wrap{max-width:860px}.faq details{border:1px solid #e0e3e7;margin:11px 0;border-radius:6px;background:white}.faq summary{font-size:16px;cursor:pointer;font-weight:800;padding:17px 48px 17px 21px;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";position:absolute;right:17px;color:var(--red);font-size:23px;top:13px}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 21px 20px;margin:0;color:#555e69}.footer{background:#0f1620;color:#ced2d9;padding:30px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer a{color:white;text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f5a30b;outline-offset:4px}@media(max-width:1020px){.nav{gap:13px}.nav a{font-size:12px}.brand{font-size:15px}.lecturer-full{grid-template-columns:180px 220px 1fr}.lecturer-details{grid-template-columns:1fr}.lecturer-photo{min-height:480px}.lecturer-identity h3{font-size:23px}.hero h1{font-size:58px}}@media(max-width:760px){.wrap{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:63px}.menu-toggle{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;font-size:13px;font-weight:800;cursor:pointer}.menu-toggle span{font-size:19px}.nav{display:none;position:absolute;top:63px;left:0;right:0;background:white;padding:16px 20px 22px;box-shadow:0 12px 20px #1113;flex-direction:column;align-items:stretch;gap:7px}.nav.is-open{display:flex}.nav a{padding:9px 8px;font-size:14px}.nav-contact{clip-path:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:48px 0 37px}.hero-lead{font-size:24px;margin-bottom:30px}.hero h1{font-size:clamp(45px,10vw,68px)}.hero-visual{min-height:210px;clip-path:none;margin:0 -16px}.hero-visual-label{font-size:10px}.placeholder-art{min-height:130px}.section{padding:62px 0}.section-title{margin-bottom:28px}.problems{padding:45px 0}.problem-grid{grid-template-columns:repeat(2,1fr)}.problem:nth-child(2):after{display:none}.line-icon{font-size:37px}.problem{font-size:13px}.concept-inner{grid-template-columns:1fr}.concept-inner>div:first-child{padding:44px 0}.concept-art{display:none}.feature-grid{grid-template-columns:1fr;gap:14px}.feature{padding:25px 20px}.feature-icon{width:85px;height:85px;font-size:46px}.program-card{grid-template-columns:1fr}.program-photo{min-height:185px}.program-copy{padding:25px}.program-copy h3{font-size:22px}.desktop-only{display:none}.lecturer-full{grid-template-columns:140px 1fr}.lecturer-photo{min-height:260px}.lecturer-identity{border-right:0;padding:16px}.lecturer-identity h3{font-size:22px}.lecturer-identity h3 small{display:block;font-size:12px}.lecturer-identity>p:last-child{font-size:12px}.lecturer-details{grid-column:1/-1;grid-template-columns:1fr 1fr;border-top:1px solid #dce0e5;padding:16px}.detail h4{font-size:16px}.detail p{font-size:12px}.flow-grid{grid-template-columns:repeat(2,1fr)}.deliverable-flex{align-items:flex-start;gap:20px}.report-mark{width:90px;flex-basis:90px;height:105px;font-size:54px}.price-inner,.closing-inner{flex-direction:column;align-items:flex-start}.price-value{align-items:flex-start}.price-value strong{font-size:70px}.closing .button{width:100%;clip-path:none}.footer-inner{flex-direction:column;gap:8px}}@media(max-width:430px){.hero h1{font-size:43px}.hero-points span{font-size:11px}.lecturer-full{grid-template-columns:108px 1fr}.lecturer-identity{padding:12px}.lecturer-photo{min-height:245px}.lecturer-identity h3{font-size:19px}.role-list li{font-size:11px}.lecturer-details{grid-template-columns:1fr;gap:14px}.flow-grid{grid-template-columns:1fr}.deliverable-flex{flex-direction:column}.report-mark{width:100%;height:85px;flex-basis:auto}.price-value strong{font-size:61px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
