:root{
      --yellow:#ffdc55;--yellow2:#fff4bd;--green:#01a081;--orange:#f56401;
      --ink:#352b25;--muted:#746b64;--cream:#fffaf0;--mint:#e3f6f1;
      --line:#eadfce;--shadow:0 18px 50px rgba(111,75,42,.13);--max:1160px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;line-height:1.8;overflow-x:hidden}
    img{display:block;max-width:100%}
    a{color:inherit}
    h1,h2,h3,p{margin-top:0}
    h2{font-size:46px;line-height:1.4;margin-bottom:18px}
    .wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
    .header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #eee5d8}
    .nav{height:84px;display:flex;align-items:center;gap:30px}
    .logo{width:176px;margin-right:auto}
    .navlinks{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:800}
    .navlinks a{text-decoration:none}
    .navlinks a[aria-current="page"]{color:var(--green)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:.65em;min-height:52px;padding:11px 24px;border-radius:999px;background:var(--yellow);color:var(--muted);text-decoration:none;font-weight:900;box-shadow:0 10px 24px rgba(255,220,85,.34);transition:.2s}
    .btn:after{content:"＞"}
    .btn:hover{transform:translateY(-2px)}
    .nav>.btn{background:var(--green);color:#fff;min-height:45px;padding:9px 19px;box-shadow:0 10px 24px rgba(1,160,129,.3)}
    .menu{display:none;border:0;background:var(--yellow2);border-radius:14px;padding:11px 13px;font-weight:900}
    .page-title-shell{padding:16px 20px 0;background:#fff}
    .page-title{display:flex;align-items:center;min-height:142px;max-width:1460px;margin:auto;border:1px solid #eee5d8;border-radius:26px;background:#fff;overflow:hidden}
    .page-title-inner{position:relative;width:min(var(--max),calc(100% - 40px));margin:auto;padding-left:26px}
    .page-title-inner:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:6px;border-radius:10px;background:linear-gradient(180deg,var(--green),var(--yellow))}
    .page-title-en{display:block;margin-bottom:5px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.18em}
    .page-title h1{margin:0;font-size:clamp(31px,3.4vw,43px);line-height:1.35;letter-spacing:.02em}
    .page-title-copy{margin:5px 0 0;color:var(--muted);font-size:14px;font-weight:700}
    .breadcrumbs{display:flex;align-items:center;gap:10px;width:min(var(--max),calc(100% - 40px));margin:16px auto 0;padding-bottom:18px;color:var(--muted);font-size:13px;font-weight:700}
    .breadcrumbs a{text-decoration:none}
    .breadcrumbs span[aria-hidden]{color:#b9afa6}
    .eyebrow{display:inline-flex;align-items:center;gap:.6em;margin:0 0 16px;color:var(--muted);font-size:15px;font-weight:900;letter-spacing:.06em}
    .eyebrow:before{content:"";width:28px;height:4px;border-radius:9px;background:var(--yellow)}
    .section-head{text-align:center;max-width:960px;margin:0 auto 46px}
    .section-head>p:last-child{color:var(--muted);font-weight:600}
    .intro{padding:74px 0 92px;background:var(--cream)}
    .intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
    .intro-copy h2{font-size:clamp(34px,3vw,42px);line-height:1.45}
    .intro-copy h2 span{white-space:nowrap}
    .intro-copy .lead{font-size:17px;color:var(--muted);font-weight:700}
    .intro-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}
    .intro-point{padding:15px 10px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}
    .intro-point b{display:block;color:var(--green);font-size:13px}
    .intro-point strong{font-size:16px}
    .intro-image{position:relative}
    .intro-image img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:52px 52px 18px 52px;box-shadow:var(--shadow)}
    .intro-badge{position:absolute;right:-15px;bottom:22px;padding:12px 19px;border:2px solid var(--yellow);border-radius:18px;background:#fff;font-weight:900;box-shadow:var(--shadow)}
    .learning-path{padding:100px 0}
    .pathline{display:grid;grid-template-columns:1fr 92px 1fr;align-items:stretch}
    .path-step{border:2px solid var(--yellow);border-radius:34px;padding:34px;background:#fff}
    .path-step:last-child{border-color:var(--green);background:#fbfffe}
    .path-step small{color:var(--green);font-weight:900;letter-spacing:.06em}
    .path-step h3{margin:8px 0 12px;font-size:29px;line-height:1.45}
    .path-step p{margin:0;color:var(--muted);font-weight:600}
    .path-arrow{display:grid;place-items:center;color:var(--orange);font-family:"Arial Black",sans-serif;font-size:52px}
    .foundation{padding:100px 0;background:var(--cream)}
    .course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
    .course-card{display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--yellow);border-radius:30px;background:#fff}
    .course-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
    .course-body{display:flex;flex:1;flex-direction:column;padding:26px}
    .course-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
    .course-meta span{padding:4px 11px;border-radius:999px;background:var(--yellow2);font-size:12px;font-weight:900}
    .course-meta small{color:var(--green);font-weight:900}
    .course-body h3{margin-bottom:9px;font-size:25px}
    .course-body p{color:var(--muted);font-weight:600}
    .skills{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
    .skills span{padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:800}
    .advanced{padding:100px 0}
    .advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
    .advanced-card{overflow:hidden;border:3px solid var(--orange);border-radius:34px;background:#fff}
    .advanced-card.ai{border-color:var(--green)}
    .advanced-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
    .advanced-body{padding:28px}
    .advanced-label{display:inline-flex;padding:4px 12px;border-radius:999px;background:#fff0e5;color:var(--orange);font-size:12px;font-weight:900}
    .ai .advanced-label{background:var(--mint);color:var(--green)}
    .advanced-body h3{margin:10px 0 8px;font-size:29px}
    .advanced-body p{color:var(--muted);font-weight:600}
    .advanced-body ul{margin:15px 0 0;padding-left:1.2em}
    .advanced-body li{margin:5px 0;font-weight:700}
    .compare{padding:100px 0;background:var(--cream)}
    .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
    .compare-table{width:100%;min-width:820px;border-collapse:collapse}
    .compare-table th,.compare-table td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
    .compare-table thead th{background:var(--yellow2);font-size:16px}
    .compare-table thead th:first-child{background:#fff}
    .compare-table tbody th{width:130px;color:var(--green);font-size:13px}
    .compare-table tr:last-child>*{border-bottom:0}
    .compare-note{margin:18px 0 0;text-align:center;color:var(--muted);font-weight:700}
    .support{padding:100px 0}
    .support-box{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;padding:42px;border:2px solid var(--yellow);border-radius:36px;background:#fff}
    .support-box h2{margin-bottom:12px}
    .support-box p{color:var(--muted);font-weight:600}
    .support-list{display:grid;gap:12px}
    .support-item{padding:17px 20px;border-radius:18px;background:var(--cream)}
    .support-item b{color:var(--green)}
    .cta{padding:90px 0;text-align:center;color:#fff;background:linear-gradient(90deg,rgba(47,41,37,.58),rgba(47,41,37,.30) 54%,rgba(47,41,37,.08)),url("../about-cta-closeup.jpg") center/cover no-repeat}
    .cta .wrap{position:relative}
    .cta h2,.cta p{text-shadow:0 2px 12px rgba(0,0,0,.42)}
    .cta p{font-weight:700}
    .cta-actions{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:28px}
    .cta .line{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(1,160,129,.3)}
    .footer{padding:54px 0 95px;background:#2f2925;color:#e9e0d8}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
    .footer-logo{background:#fff;border-radius:16px;padding:10px;width:190px}
    .footer h3{font-size:15px;color:var(--yellow)}
    .footer a{display:block;color:#e9e0d8;text-decoration:none;margin:5px 0}
    .copyright{border-top:1px solid #514943;margin-top:35px;padding-top:20px;color:#bcb2a9;font-size:12px}
    .mobile-cta{display:none}
    @media(max-width:900px){
      .navlinks{display:none}.menu{display:block}h2{font-size:38px}
      .intro-grid,.advanced-grid,.support-box{grid-template-columns:1fr}
      .intro-image{order:-1}.course-grid{grid-template-columns:1fr}
      .pathline{grid-template-columns:1fr}.path-arrow{min-height:80px;transform:rotate(90deg)}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
      .mobile-cta{display:flex;position:fixed;z-index:50;left:12px;right:12px;bottom:10px;justify-content:center;background:var(--yellow);color:var(--ink);border:3px solid #fff;border-radius:999px;padding:12px;text-decoration:none;font-weight:900;box-shadow:0 8px 30px rgba(65,45,30,.25)}
    }
    @media(max-width:560px){
      .wrap{width:min(100% - 28px,var(--max))}.nav{height:70px}.logo{width:145px}h2{font-size:30px}
      .page-title-shell{padding:10px 12px 0}.page-title{min-height:112px;border-radius:20px}
      .page-title-inner,.breadcrumbs{width:calc(100% - 36px)}.page-title-inner{padding-left:18px}
      .page-title-inner:before{width:4px}.page-title h1{font-size:25px}.page-title-en{font-size:10px;margin-bottom:2px}
      .page-title-copy{font-size:11px;line-height:1.5;margin-top:3px}.breadcrumbs{margin-top:10px;padding-bottom:12px}
      .intro,.learning-path,.foundation,.advanced,.compare,.support{padding:74px 0}
      .intro-points{grid-template-columns:1fr}.intro-image img{border-radius:34px 34px 14px 34px}
      .intro-badge{right:8px}.path-step,.course-body,.advanced-body{padding:24px}
      .path-step h3,.advanced-body h3{font-size:25px}.support-box{padding:24px}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
    }
    @media(max-width:600px){
      .cta{min-height:900px;padding:370px 0 82px;background-color:#f3e6d5;background-image:linear-gradient(180deg,rgba(255,250,240,0) 0%,rgba(255,250,240,.08) 31%,rgba(255,250,240,.82) 48%,rgba(255,250,240,.94) 66%,rgba(255,250,240,.98) 100%),url("../course-cta-sp.png");background-position:center top;background-repeat:no-repeat;background-size:cover;color:var(--ink)}
      .cta .eyebrow{color:var(--brown)!important}.cta h2,.cta p{color:var(--ink);text-shadow:none}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
