/*
Theme Name: NS2 Therapist School Latest
Theme URI: https://example.com/
Author: ChatGPT
Description: 次世代セラピスト育成スクール用WordPressテーマ。最新トップページ・講師・講座・会員制度・理念・お知らせテンプレート付き。
Version: 3.0.0
Text Domain: ns2-therapist-school
*/
:root{
      --base:#f7f6f2;
      --base2:#ffffff;
      --ink:#111;
      --muted:#666;
      --gold:#b99249;
      --gold2:#d7bd79;
      --gold3:#f3e5c2;
      --line:rgba(185,146,73,.18);
      --shadow:0 24px 64px rgba(17,17,17,.08);
      --shadow2:0 12px 34px rgba(17,17,17,.06);
      --radius:28px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif;color:var(--ink);background:var(--base);line-height:1.85;letter-spacing:.035em;overflow-x:hidden}
    img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
    .container{width:min(1160px,calc(100% - 44px));margin-inline:auto}
    .bg{position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 12% 12%,rgba(185,146,73,.14),transparent 30%),radial-gradient(circle at 86% 20%,rgba(215,189,121,.16),transparent 32%),linear-gradient(180deg,#fff 0%,#f7f6f2 48%,#fff 100%)}
    .header{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;line-height:1.22;white-space:nowrap}.logo-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#111 0%,#51401f 52%,var(--gold) 100%);font-family:Georgia,serif;box-shadow:0 12px 26px rgba(17,17,17,.16)}.logo small{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;margin-top:2px}.menu,.header-actions{display:none}.hamburger{width:48px;height:48px;border-radius:999px;border:1px solid rgba(185,146,73,.28);background:rgba(255,255,255,.86);display:grid;place-items:center;gap:0;cursor:pointer;box-shadow:0 12px 28px rgba(17,17,17,.06);position:relative;transition:.25s}.hamburger:hover{transform:translateY(-2px);background:#fffdf8}.hamburger span{position:absolute;width:22px;height:2px;background:#111;border-radius:999px;transition:.28s}.hamburger span:nth-child(1){transform:translateY(-7px)}.hamburger span:nth-child(2){transform:translateY(0)}.hamburger span:nth-child(3){transform:translateY(7px)}.hamburger.active span:nth-child(1){transform:rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)}.drawer-overlay{position:fixed;inset:0;background:rgba(17,17,17,.34);backdrop-filter:blur(4px);z-index:88;opacity:0;pointer-events:none;transition:.28s}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;width:min(430px,88vw);height:100svh;background:rgba(255,255,255,.96);z-index:89;box-shadow:-24px 0 70px rgba(17,17,17,.16);transform:translateX(105%);transition:.35s cubic-bezier(.2,.8,.2,1);padding:28px;display:flex;flex-direction:column;border-left:1px solid rgba(185,146,73,.22)}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px}.drawer-title{font-weight:900;line-height:1.3}.drawer-title small{display:block;color:var(--gold);font-size:11px;letter-spacing:.14em;margin-top:2px}.drawer-close{width:42px;height:42px;border-radius:999px;border:1px solid rgba(185,146,73,.25);background:#fff;cursor:pointer;font-size:22px;line-height:1}.drawer-links{display:grid;gap:8px;margin-bottom:22px}.drawer-links a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid rgba(185,146,73,.16);font-weight:900}.drawer-links a:after{content:"→";color:var(--gold)}.drawer-cta{display:grid;gap:12px;margin-top:auto}.drawer-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:900;letter-spacing:.04em;border:1px solid transparent;transition:.25s;white-space:nowrap}.btn-primary{background:#111;color:#fff;box-shadow:0 16px 36px rgba(17,17,17,.16)}.btn-primary:hover{background:linear-gradient(135deg,#8b6a2f,var(--gold));transform:translateY(-2px)}.btn-ghost{background:rgba(255,255,255,.9);border-color:rgba(185,146,73,.28);color:#111}.btn-ghost:hover{background:#fffdf8;transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,17,17,.06)}.btn-line{background:#06c755;color:#fff;box-shadow:0 16px 34px rgba(6,199,85,.18)}.btn-line:hover{filter:brightness(.96);transform:translateY(-2px)}
    .hero{position:relative;isolation:isolate;overflow:hidden;padding:128px 0 72px;min-height:100svh;display:grid;align-items:center;background:#181715;color:#fff}
    .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 34%,rgba(201,167,92,.18),transparent 22%),radial-gradient(circle at 18% 18%,rgba(255,255,255,.06),transparent 16%);pointer-events:none;z-index:0}
    .hero-video-wrap{position:absolute;inset:0;z-index:-2;overflow:hidden}
    .hero-video{width:100%;height:100%;object-fit:cover;filter:brightness(.34) saturate(.75) contrast(1.02)}
    .hero-video-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,21,19,.82) 0%,rgba(22,21,19,.66) 34%,rgba(22,21,19,.34) 68%,rgba(22,21,19,.40) 100%),linear-gradient(180deg,rgba(22,21,19,.12),rgba(22,21,19,.26) 100%)}
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:48px;align-items:center}
    .hero-left{position:relative;padding-top:12px}
    .hero-brand{display:flex;align-items:flex-start;gap:14px;margin-bottom:28px}
    .hero-brand-mark{width:58px;height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.05));display:grid;place-items:center;color:#fff;font-size:15px;font-weight:800;letter-spacing:.12em;backdrop-filter:blur(8px)}
    .hero-brand-text{font-size:14px;line-height:1.65;font-weight:700;color:rgba(255,255,255,.92)}
    .eyebrow{display:inline-flex;gap:10px;align-items:center;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(222,194,130,.32);color:#f4e6c2;font-size:13px;font-weight:800;letter-spacing:.01em;margin-bottom:26px;backdrop-filter:blur(10px);box-shadow:0 12px 24px rgba(0,0,0,.08);opacity:0;transform:translateY(20px);animation:fadeUp .8s ease forwards .15s}
    .eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(185,146,73,.18)}
    h1{font-size:clamp(46px,7vw,94px);line-height:1.06;letter-spacing:.02em;margin:0 0 24px;font-weight:600}
    .hero-title{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN","HGS明朝E","Noto Serif JP",serif;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.12)}
    .hero-line{display:block;opacity:0;transform:translateY(28px);animation:titleReveal .9s cubic-bezier(.2,.8,.2,1) forwards}
    .hero-line:nth-child(2){animation-delay:.18s}
    .hero-line:nth-child(3){animation-delay:.34s}
    .hero-line.accent{color:#d8bb71}
    .hero-copy{font-size:17px;color:rgba(255,255,255,.88);margin:0 0 30px;max-width:620px;line-height:1.9;opacity:0;transform:translateY(26px);animation:fadeUp .9s ease forwards .88s}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px;opacity:0;transform:translateY(24px);animation:fadeUp .9s ease forwards 1.05s}
    .hero .btn-primary{background:linear-gradient(135deg,#d0af56 0%,#b99249 100%);color:#fff;box-shadow:0 18px 40px rgba(185,146,73,.28)}
    .hero .btn-primary:hover{background:linear-gradient(135deg,#c7a24b 0%,#a88440 100%)}
    .hero .btn-ghost{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.18);color:#6d5421}
    .hero .btn-ghost:hover{background:#fff;color:#5a4319}
    .hero-note{display:flex;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(24px);animation:fadeUp .9s ease forwards 1.2s}
    .hero-note span{font-size:12px;font-weight:800;color:#f8f1de;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;backdrop-filter:blur(8px)}
    .hero-note span:before{content:"✓";margin-right:7px;color:#d8bb71}
    .hero-watermark{position:absolute;left:0;right:0;bottom:-22px;font-family:Georgia,serif;font-size:clamp(84px,12vw,180px);line-height:.8;letter-spacing:.04em;color:rgba(255,255,255,.06);pointer-events:none;user-select:none;white-space:nowrap}
    .hero-photo-wrap{position:relative;min-height:560px}
    .hero-orbit{position:absolute;border:1px solid rgba(222,202,150,.22);border-radius:50%;pointer-events:none}
    .hero-orbit.orbit-1{width:680px;height:680px;right:-140px;top:-120px}
    .hero-orbit.orbit-2{width:420px;height:420px;right:-10px;top:46px;opacity:.55}
    .hero-photo{position:absolute;right:40px;top:58px;width:min(470px,100% - 40px);height:585px;border-radius:260px 260px 34px 34px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 80px rgba(0,0,0,.24);background:#bca98f}
    .hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.98)}
    .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12))}
    .hero-badge{position:absolute;right:-10px;top:138px;width:138px;height:138px;border-radius:50%;background:linear-gradient(135deg,rgba(200,170,96,.96),rgba(164,131,57,.92));color:#fff;display:grid;place-items:center;text-align:center;font-weight:800;letter-spacing:.06em;box-shadow:0 18px 40px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);transform:rotate(-7deg);z-index:3}
    .hero-badge span{display:block;font-size:13px;margin-top:8px;letter-spacing:.09em}
    .floating-card{position:absolute;left:0;bottom:56px;width:min(320px,72%);background:rgba(246,242,235,.96);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.34);border-radius:28px;padding:24px 24px 20px;box-shadow:0 20px 50px rgba(0,0,0,.16);opacity:0;transform:translateY(20px);animation:fadeUp .9s ease forwards 1.1s;z-index:4}
    .floating-card b{display:block;font-size:17px;line-height:1.65;font-family:"Yu Mincho","Hiragino Mincho ProN","HGS明朝E","Noto Serif JP",serif;color:#8f6a29}
    .floating-card p{margin:8px 0 0;color:#7b7468;font-size:13px;line-height:1.7;font-weight:700;letter-spacing:.04em}
    .section{padding:94px 0}.section.alt{background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-kicker{font-family:Georgia,serif;color:var(--gold);font-weight:900;font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}h2{font-size:clamp(30px,3.6vw,48px);line-height:1.28;margin:0;font-weight:900}.lead{font-size:16px;color:var(--muted);max-width:720px;margin:14px 0 0}.concept{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:white}.photo-card img{width:100%;height:420px;object-fit:cover}.concept-box{background:#fff;border-radius:var(--radius);padding:42px;box-shadow:var(--shadow2);border:1px solid var(--line)}.concept-box p{color:var(--muted);margin:0 0 18px}.concept-list{display:grid;gap:13px;margin-top:24px}.concept-list div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#faf8f3;border-radius:16px;font-weight:900}.concept-list div:before{content:"✓";color:var(--gold);font-weight:900}
    .category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{background:white;border:1px solid var(--line);border-radius:24px;padding:18px;transition:.25s;overflow:hidden;box-shadow:0 10px 24px rgba(17,17,17,.04)}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.category-thumb{border-radius:18px;overflow:hidden;margin-bottom:16px;background:#f4f1ea}.category-thumb img{width:100%;height:156px;object-fit:cover;transition:.45s;filter:saturate(.88)}.category-card:hover .category-thumb img{transform:scale(1.05)}.category-card h3{margin:0 0 8px;font-size:19px}.category-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}
    .lesson-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lesson-type{position:relative;overflow:hidden;border-radius:26px;padding:28px;background:linear-gradient(135deg,#fff,#faf7ef);border:1px solid rgba(185,146,73,.22);box-shadow:var(--shadow2)}.lesson-type:after{content:"";position:absolute;right:-44px;bottom:-54px;width:140px;height:140px;border-radius:50%;background:rgba(185,146,73,.10)}.type-label{font-family:Georgia,serif;color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.lesson-type h3{font-size:24px;margin:8px 0}.lesson-type p{color:var(--muted);font-size:13px;margin:0;line-height:1.75}

    .news-section{padding:48px 0}.news-section .section-head{margin-bottom:18px;align-items:center}.news-section h2{font-size:clamp(24px,2.6vw,34px)}.news-section .lead{font-size:13px;margin-top:6px}.news-list{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 28px rgba(17,17,17,.045);overflow:hidden}.news-item{display:grid;grid-template-columns:110px 92px 1fr auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(185,146,73,.13);transition:.22s}.news-item:last-child{border-bottom:0}.news-item:hover{background:#fffaf0}.news-date{font-family:Georgia,serif;color:var(--gold);font-weight:900;letter-spacing:.06em;font-size:12px}.news-label{display:inline-flex;justify-content:center;border-radius:999px;background:#f6ecd8;color:#7b5d22;padding:4px 9px;font-size:11px;font-weight:900}.news-item h3{font-size:14px;line-height:1.55;margin:0}.news-link{font-size:12px;font-weight:900;color:#7b5d22;white-space:nowrap}.news-link:after{content:"→";margin-left:6px}.vision-panel{background:linear-gradient(135deg,#111 0%,#2e2719 56%,#7f6532 100%);color:#fff;border-radius:34px;padding:44px;box-shadow:var(--shadow);position:relative;overflow:hidden}.vision-panel:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}.vision-panel .section-kicker{color:var(--gold3)}.vision-panel h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}.vision-panel p{color:rgba(255,255,255,.82);max-width:820px}.vision-list{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px}.vision-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:20px;backdrop-filter:blur(10px)}.vision-num{font-family:Georgia,serif;color:var(--gold3);font-size:26px;font-weight:900;line-height:1}.vision-item h3{font-size:16px;line-height:1.55;margin:10px 0 8px;color:#fff}.vision-item p{font-size:12px;line-height:1.75;margin:0;color:rgba(255,255,255,.78)}
    .five-s-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.five-s-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow2);position:relative;overflow:hidden}.five-s-card:before{content:"";position:absolute;right:-44px;bottom:-44px;width:120px;height:120px;border-radius:50%;background:rgba(185,146,73,.08)}.five-s-card .en{font-family:Georgia,serif;color:var(--gold);font-size:23px;font-weight:900;line-height:1.1}.five-s-card h3{font-size:15px;margin:8px 0}.five-s-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.75}
    .school-feature-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.school-feature{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow2)}.school-feature b{display:block;color:#7b5d22;margin-bottom:8px}.school-feature p{font-size:13px;color:var(--muted);margin:0;line-height:1.75}
    .membership-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}.member-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow2)}.member-card.premium{background:linear-gradient(135deg,#fff,#faf4e7);border-color:rgba(185,146,73,.36)}.member-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.member-head h3{font-size:28px;margin:0}.price{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;background:#111;color:#fff;font-weight:900;font-size:13px}.member-benefits{display:grid;gap:10px;margin:0;padding:0;list-style:none}.member-benefits li{position:relative;padding:12px 14px 12px 34px;background:#faf9f6;border-radius:14px;font-size:13px;line-height:1.65;color:#444}.member-benefits li:before{content:"✓";position:absolute;left:14px;top:12px;color:var(--gold);font-weight:900}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.future-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow2)}.future-card b{display:block;color:#7b5d22;margin-bottom:6px}.future-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.75}.message-box{margin-top:24px;background:#111;color:#fff;border-radius:26px;padding:26px;border:1px solid rgba(185,146,73,.3)}.message-box p{margin:0;color:rgba(255,255,255,.86);font-weight:900;line-height:1.8}
    .course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}.course-card{background:white;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow2);display:flex;flex-direction:column;transition:.28s}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.course-card img{height:220px;width:100%;object-fit:cover}.course-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:11px;font-weight:900;color:#111;background:#f5f3ef;border-radius:999px;padding:5px 10px}.tag.gold{color:#fff;background:linear-gradient(135deg,#8b6a2f,var(--gold))}.course-card h3{font-size:21px;line-height:1.45;margin:0}.course-body p{font-size:13px;color:var(--muted);margin:0}.course-meta{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px}.course-meta b{color:var(--ink)}.course-action .btn{width:100%;padding:12px 16px}.course-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.course-link{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:999px;background:white;border:1px solid rgba(185,146,73,.24);font-size:14px;font-weight:900;color:#111;box-shadow:0 10px 22px rgba(17,17,17,.05);transition:.25s}.course-link:hover{transform:translateY(-2px);background:#faf8f3}.course-link:after{content:"→";margin-left:8px}.course-links-note{font-size:12px;color:var(--muted);margin-top:10px}
    .teacher-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.teacher-card{background:white;border-radius:24px;padding:14px;border:1px solid var(--line);box-shadow:var(--shadow2);display:flex;flex-direction:column;transition:.25s}.teacher-card:hover{transform:translateY(-4px)}.teacher-card img{height:210px;width:100%;object-fit:cover;border-radius:18px}.teacher-card h3{margin:16px 0 4px;font-size:19px}.teacher-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.teacher-specialty{margin-top:12px;color:var(--gold)!important;font-weight:900!important}.teacher-actions{display:grid;gap:8px;margin-top:auto;padding-top:14px}.teacher-actions a{display:flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 12px;font-size:12px;font-weight:900;border:1px solid rgba(185,146,73,.28);transition:.22s}.teacher-actions a:first-child{background:#111;color:#fff;border-color:#111}.teacher-actions a:last-child{background:#faf8f3;color:#111}.teacher-actions a:hover{transform:translateY(-2px)}
    .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.flow-card{background:white;border-radius:24px;padding:26px;border:1px solid var(--line);box-shadow:var(--shadow2)}.flow-num{font-family:Georgia,serif;color:var(--gold);font-size:34px;line-height:1;font-weight:900}.flow-card h3{margin:18px 0 8px}.flow-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}.cta-panel{background:linear-gradient(135deg,#0c0c0c 0%,#2c2418 55%,#7f6532 100%);color:white;border-radius:32px;padding:38px;position:sticky;top:100px;overflow:hidden;box-shadow:0 24px 60px rgba(17,17,17,.18)}.cta-panel:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.1);right:-80px;bottom:-80px}.cta-panel h2{font-size:34px}.cta-panel p{color:rgba(255,255,255,.82)}.cta-panel ul{padding-left:1.2em;margin:24px 0 0}.cta-panel li{margin-bottom:10px;font-weight:700}form{background:white;border-radius:32px;padding:34px;box-shadow:var(--shadow);border:1px solid rgba(185,146,73,.18)}.field{margin-bottom:18px}label{display:block;font-weight:900;font-size:13px;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid rgba(185,146,73,.18);background:#fffdf9;border-radius:14px;padding:14px 15px;outline:none}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(185,146,73,.12)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 0}
    .faq{display:grid;gap:14px;max-width:900px;margin:auto}.faq details{background:white;border-radius:18px;padding:20px 24px;border:1px solid var(--line);box-shadow:0 8px 20px rgba(17,17,17,.04)}.faq summary{cursor:pointer;font-weight:900}.faq p{color:var(--muted);margin:12px 0 0}.footer{background:#0d0d0d;color:white;padding:48px 0 96px}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer p{color:rgba(255,255,255,.65);font-size:13px;margin:10px 0 0}.footer-links{display:flex;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.78);font-size:13px;font-weight:900}.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:90;padding:10px 12px}.mobile-cta a{flex:1;text-align:center;border-radius:14px;padding:10px 8px;font-size:12px;font-weight:900}.mobile-cta a:first-child{background:#f7f2e7;color:#7b5d22}.mobile-cta a:nth-child(2){background:#06c755;color:#fff}.mobile-cta a:last-child{background:#111;color:#fff}
    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes titleReveal{0%{opacity:0;transform:translateY(30px);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes lineGrow{from{transform:scaleX(0);opacity:.35}to{transform:scaleX(1);opacity:1}}@keyframes floatAura{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,18px,0) scale(1.06)}}@keyframes kenburns{from{transform:scale(1.01)}to{transform:scale(1.06)}}
    @media(max-width:1050px){.hero-grid,.concept,.form-wrap,.membership-grid{grid-template-columns:1fr}.teacher-row{grid-template-columns:repeat(3,1fr)}.vision-list,.five-s-grid{grid-template-columns:repeat(2,1fr)}.school-feature-list,.future-grid{grid-template-columns:repeat(2,1fr)}.hero-left{padding-top:0}.hero-watermark{bottom:-8px;font-size:120px}.hero-photo-wrap{min-height:620px}.hero-photo{right:0}.floating-card{left:20px}.cta-panel{position:relative;top:auto}}
    @media(max-width:780px){.category-grid,.course-grid,.lesson-types,.flow{grid-template-columns:1fr 1fr}.news-item{grid-template-columns:96px 86px 1fr;gap:10px}.news-item .news-link{display:none}.section-head{display:block}.section{padding:72px 0}.teacher-row{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:640px){.container{width:min(100% - 28px,1160px)}.nav{height:66px}.logo div:last-child{font-size:12px}.hero{padding:104px 0 58px;min-height:auto}.hero-brand{margin-bottom:20px}.hero-brand-mark{width:50px;height:50px;font-size:13px}.hero-brand-text{font-size:12px}.hero-copy{font-size:15px}.hero-actions .btn{width:100%}.hero-watermark{display:none}.hero-note span{width:100%}.hero-photo-wrap{min-height:420px;margin-top:10px}.hero-orbit.orbit-1{width:360px;height:360px;right:-70px;top:20px}.hero-orbit.orbit-2{width:260px;height:260px;right:10px;top:78px}.hero-photo{right:0;top:34px;width:calc(100% - 16px);height:360px;border-radius:180px 180px 26px 26px}.hero-badge{width:96px;height:96px;right:-4px;top:94px;font-size:14px}.hero-badge span{font-size:10px}.floating-card{left:0;bottom:0;width:82%;padding:18px 18px 16px}.category-grid,.course-grid,.lesson-types,.teacher-row,.flow,.form-grid,.vision-list,.five-s-grid,.school-feature-list,.future-grid{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;align-items:start;gap:6px;padding:14px 16px}.news-label{width:max-content}.concept-box,form,.cta-panel,.vision-panel,.member-card{padding:26px;border-radius:24px}.photo-card img{height:300px}.teacher-card img{height:245px}.mobile-cta{display:flex;gap:8px}.footer{padding-bottom:120px}}

/* WordPress helpers */
.admin-bar .header{top:32px}.wp-caption{max-width:100%}.aligncenter{margin-left:auto;margin-right:auto}.entry-content img{height:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}
.sub-hero{position:relative;overflow:hidden;background:#171614;color:#fff;padding:150px 0 78px}.sub-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 16%,rgba(185,146,73,.22),transparent 32%),linear-gradient(90deg,rgba(17,17,17,.88),rgba(17,17,17,.62));z-index:0}.sub-hero .container{position:relative;z-index:1}.sub-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;max-width:900px}.sub-hero p{max-width:760px;color:rgba(255,255,255,.82)}
.page-cta{background:#111;color:#fff;border-radius:34px;padding:38px;margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.page-cta p{color:rgba(255,255,255,.78);margin:8px 0 0}.list-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}.list-filter a{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;font-weight:900;font-size:13px}.list-filter a.active{background:#111;color:#fff;border-color:#111}.archive-layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start}.side-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow2);position:sticky;top:102px}.side-box h3{margin-top:0}.side-box ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.side-box li a{font-weight:900;color:#6d5421}.wide-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow2);overflow:hidden;display:grid;grid-template-columns:280px 1fr;margin-bottom:20px}.wide-card img{width:100%;height:100%;min-height:230px;object-fit:cover}.wide-card-body{padding:26px}.wide-card h2,.wide-card h3{margin-top:0}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.meta-pill{background:#f6ecd8;color:#7b5d22;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start}.detail-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow2);margin-bottom:22px}.detail-box h2{font-size:32px}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{border-bottom:1px solid rgba(185,146,73,.18);padding:14px;text-align:left;vertical-align:top}.info-table th{width:34%;color:#7b5d22}.timeline{display:grid;gap:14px}.timeline-item{background:#faf8f3;border-radius:18px;padding:18px;border:1px solid rgba(185,146,73,.14)}.simple-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.simple-list li{background:#faf8f3;border-radius:14px;padding:12px 14px}.profile-hero{position:relative;background:#171614;color:#fff;padding:140px 0 82px;overflow:hidden}.profile-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 24%,rgba(185,146,73,.22),transparent 30%),linear-gradient(90deg,rgba(17,17,17,.92),rgba(17,17,17,.56));z-index:0}.profile-hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}.profile-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}.profile-photo{border-radius:260px 260px 34px 34px;overflow:hidden;border:1px solid rgba(255,255,255,.20);box-shadow:0 30px 80px rgba(0,0,0,.25)}.profile-photo img{width:100%;height:560px;object-fit:cover}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.achievement-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow2)}.achievement-card h3{margin-top:0;color:#7b5d22}.two-column-list{columns:2;column-gap:28px}.two-column-list li{break-inside:avoid;margin-bottom:8px}.message-quote{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px;line-height:1.7;color:#7b5d22}.news-archive-list{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow2)}.news-archive-list .news-item{grid-template-columns:130px 120px 1fr auto}
@media(max-width:900px){.archive-layout,.detail-grid,.profile-hero .container{grid-template-columns:1fr}.side-box{position:relative;top:auto}.wide-card{grid-template-columns:1fr}.wide-card img{height:240px}.achievement-grid{grid-template-columns:1fr}.two-column-list{columns:1}.profile-photo img{height:420px}.news-archive-list .news-item{grid-template-columns:1fr}}

/* Header hamburger fix: keep the button perfectly circular even on narrow screens or with the WP admin bar */
.header .nav{
  min-width:0;
}
.header .logo{
  min-width:0;
  flex:1 1 auto;
}
.header .hamburger{
  flex:0 0 48px !important;
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  line-height:1 !important;
  appearance:none;
  -webkit-appearance:none;
  align-self:center;
  display:block !important;
  position:relative;
  overflow:hidden;
}
.header .hamburger span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:22px !important;
  height:2px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  background:#111 !important;
  border-radius:999px !important;
  transform-origin:center !important;
}
.header .hamburger span:nth-child(1){transform:translate(-50%,-8px) !important;}
.header .hamburger span:nth-child(2){transform:translate(-50%,-1px) !important;}
.header .hamburger span:nth-child(3){transform:translate(-50%,6px) !important;}
.header .hamburger.active span:nth-child(1){transform:translate(-50%,-1px) rotate(45deg) !important;}
.header .hamburger.active span:nth-child(2){opacity:0 !important;}
.header .hamburger.active span:nth-child(3){transform:translate(-50%,-1px) rotate(-45deg) !important;}

@media (max-width:640px){
  .header .nav{gap:10px;}
  .header .logo{flex:1 1 auto; min-width:0;}
  .header .logo div:last-child{overflow:hidden; text-overflow:ellipsis;}
  .header .hamburger{
    flex-basis:44px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
}

/* ===== Hero redesign: online / offline / hybrid訴求 ===== */
.hero{padding:132px 0 92px;min-height:100vh;display:flex;align-items:center}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(460px,.95fr);gap:56px;align-items:center}
.hero-left{max-width:660px}
.hero-title-refined{font-size:clamp(54px,7.2vw,86px);line-height:1.06;letter-spacing:.02em;margin:0 0 18px;max-width:700px}
.hero-title-refined .hero-line{white-space:nowrap}
.hero-copy-refined{max-width:640px;margin:0 0 26px}
.hero-note-refined{margin-bottom:16px}
.hero-subnote{margin:14px 0 0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.8;opacity:0;transform:translateY(24px);animation:fadeUp .9s ease forwards 1.28s}
.hero-watermark{bottom:-10px;font-size:clamp(60px,9vw,132px);letter-spacing:.03em;color:rgba(255,255,255,.05)}
.hero-visual{position:relative;min-height:610px;padding:20px 0 36px 0}
.hero-main-media{position:relative;width:calc(100% - 116px);margin-left:116px;border-radius:42px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 32px 80px rgba(0,0,0,.26);background:#c0b09c}
.hero-main-media img{width:100%;height:530px;object-fit:cover;display:block}
.hero-main-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16))}
.hero-main-caption{position:absolute;left:-54px;bottom:34px;z-index:2;width:320px;padding:24px 24px 20px;border-radius:26px;background:rgba(250,244,235,.96);border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 44px rgba(0,0,0,.16);color:#5f4b22}
.hero-main-caption strong{display:block;font-size:24px;line-height:1.45;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:700;margin-bottom:8px}
.hero-main-caption p{margin:0;color:#6b6458;font-size:13px;line-height:1.8}
.hero-stat-badge{position:absolute;right:12px;top:92px;z-index:3;width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,rgba(208,175,86,.95),rgba(170,136,64,.93));color:#fff;border:1px solid rgba(255,255,255,.26);box-shadow:0 20px 44px rgba(0,0,0,.18);transform:rotate(-8deg)}
.hero-stat-badge span{font-size:12px;letter-spacing:.1em;font-weight:800;margin-bottom:6px}
.hero-stat-badge strong{font-size:24px;line-height:1.2}
.hero-format-stack{position:absolute;left:0;top:48px;width:310px;display:grid;gap:16px;z-index:3}
.hero-format-card{padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,rgba(19,19,19,.82),rgba(19,19,19,.68));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 18px 40px rgba(0,0,0,.18);color:#fff}
.hero-format-card h3{font-size:21px;margin:8px 0 6px;color:#fff}
.hero-format-card p{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.75}
.hero-format-tag{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(216,187,113,.16);border:1px solid rgba(216,187,113,.38);color:#edd9a1;font-size:10px;font-weight:900;letter-spacing:.14em}
@media(max-width:1180px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-left{max-width:none}
  .hero-visual{min-height:auto;padding-top:8px}
  .hero-main-media{width:100%;margin-left:0}
  .hero-main-media img{height:460px}
  .hero-format-stack{position:relative;left:auto;top:auto;width:100%;grid-template-columns:repeat(3,1fr);margin-top:18px}
  .hero-main-caption{left:20px;bottom:20px;width:min(340px,calc(100% - 40px))}
  .hero-stat-badge{right:18px;top:18px}
  .hero-watermark{bottom:-4px;font-size:86px}
}
@media(max-width:760px){
  .hero{padding:104px 0 56px;min-height:auto}
  .hero-title-refined{font-size:clamp(40px,13vw,64px);line-height:1.12}
  .hero-title-refined .hero-line{white-space:normal}
  .hero-copy-refined{font-size:15px}
  .hero-note-refined{gap:10px}
  .hero-note-refined span{width:100%}
  .hero-main-media{border-radius:32px;overflow:visible}
  .hero-main-media img{height:320px;border-radius:32px 32px 0 0}
  .hero-main-caption{position:relative;left:auto;bottom:auto;width:100%;border-radius:0 0 24px 24px;padding:18px 18px 16px;box-shadow:0 14px 24px rgba(0,0,0,.12)}
  .hero-main-caption strong{font-size:20px}
  .hero-format-stack{grid-template-columns:1fr}
  .hero-format-card h3{font-size:18px}
  .hero-stat-badge{width:92px;height:92px;right:10px;top:10px}
  .hero-stat-badge span{font-size:9px;margin-bottom:3px}
  .hero-stat-badge strong{font-size:18px}
  .hero-watermark{display:none}
}

/* ===== Hero desktop layout fix & brighter background ===== */
.hero-video{filter:brightness(.58) saturate(.88) contrast(1.02)}
.hero-video-wrap:after{background:linear-gradient(90deg,rgba(22,21,19,.60) 0%,rgba(22,21,19,.46) 34%,rgba(22,21,19,.18) 68%,rgba(22,21,19,.24) 100%),linear-gradient(180deg,rgba(22,21,19,.04),rgba(22,21,19,.12) 100%)}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(520px,.96fr);gap:64px}
.hero-title-refined{max-width:760px}
.hero-visual{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;min-height:auto;padding:10px 0 0}
.hero-main-media{width:100%;margin-left:0;border-radius:34px;overflow:hidden}
.hero-main-media img{height:460px}
.hero-main-caption{left:24px;bottom:24px;width:min(340px,calc(100% - 48px))}
.hero-stat-badge{right:-18px;top:24px}
.hero-format-stack{position:relative;left:auto;top:auto;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hero-format-card{min-height:100%;padding:18px 18px 16px}
.hero-format-card h3{font-size:18px}
.hero-format-card p{font-size:12px;line-height:1.7}
.hero-note{max-width:640px}
@media(max-width:1280px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);gap:48px}
  .hero-main-media img{height:420px}
}
@media(max-width:1180px){
  .hero-format-stack{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .hero-main-media img{height:360px}
  .hero-format-stack{grid-template-columns:1fr}
  .hero-stat-badge{right:14px;top:14px}
}

/* ===== Recommended hero v3: bright background image + stable premium layout ===== */
.recommended-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 0 56px;background:#151412;color:#fff;isolation:isolate}
.recommended-hero-bg{position:absolute;inset:0;z-index:-3;overflow:hidden;background-image:linear-gradient(90deg,rgba(15,14,13,.56) 0%,rgba(15,14,13,.40) 38%,rgba(15,14,13,.18) 100%),linear-gradient(180deg,rgba(15,14,13,.03),rgba(15,14,13,.20)),url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=80");background-size:cover;background-position:center center;filter:saturate(.96) brightness(.92) contrast(1.02)}
.recommended-hero:before{content:"";position:absolute;width:640px;height:640px;right:-180px;top:40px;border-radius:50%;border:1px solid rgba(216,187,113,.18);z-index:-1}
.recommended-hero:after{content:"";position:absolute;width:520px;height:520px;right:8%;top:18%;border-radius:50%;background:radial-gradient(circle,rgba(185,146,73,.11),transparent 68%);filter:blur(8px);z-index:-1}
.recommended-hero-grid{display:grid;grid-template-columns:1fr 500px;gap:72px;align-items:center;position:relative;z-index:2}
.recommended-kicker{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(216,187,113,.22);color:#f2dfae;font-size:12px;font-weight:900;letter-spacing:.11em;margin-bottom:28px;backdrop-filter:blur(10px);animation:fadeUp .75s ease forwards;opacity:0;transform:translateY(18px)}
.recommended-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#d5b76a;box-shadow:0 0 0 6px rgba(185,146,73,.16)}
.recommended-title{margin:0 0 24px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:600;letter-spacing:.045em;font-size:clamp(48px,6.2vw,86px);line-height:1.16;text-shadow:0 6px 22px rgba(0,0,0,.18)}
.recommended-title span{display:block;opacity:0;transform:translateY(28px);animation:titleIn .85s cubic-bezier(.2,.8,.2,1) forwards .12s;white-space:nowrap}
.recommended-title .gold{color:#d8bd73;animation-delay:.28s}
.recommended-lead{max-width:650px;margin:0 0 32px;color:rgba(255,255,255,.86);font-size:17px;line-height:2.05;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .52s}
.recommended-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .72s}
.recommended-actions .btn{min-width:184px}
.recommended-actions .btn-primary{background:linear-gradient(135deg,#d2af56,#b99249);color:#fff;box-shadow:0 20px 44px rgba(185,146,73,.28)}
.recommended-actions .btn-ghost{background:rgba(255,255,255,.92);color:#5e4619;border:1px solid rgba(255,255,255,.45)}
.recommended-chips{display:flex;flex-wrap:wrap;gap:10px;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .9s}
.recommended-chips span{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:800;color:#f5edd8;backdrop-filter:blur(8px)}
.recommended-chips span:before{content:"✓";color:#d8bd73;font-weight:900}
.recommended-subnote{margin:18px 0 0;color:rgba(255,255,255,.68);font-size:13px;line-height:1.9;opacity:0;transform:translateY(18px);animation:fadeUp .85s ease forwards 1.05s}
.recommended-visual{position:relative;min-height:610px;opacity:0;transform:translateY(18px);animation:fadeUp .9s ease forwards .5s}
.recommended-photo{position:relative;border-radius:42px;overflow:hidden;border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 90px rgba(0,0,0,.32);background:#d7c8b6;height:510px;margin-top:28px}
.recommended-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.98)}
.recommended-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18))}
.recommended-badge{position:absolute;right:-18px;top:0;width:136px;height:136px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(135deg,#d2b058,#aa8340);border:1px solid rgba(255,255,255,.24);box-shadow:0 24px 54px rgba(0,0,0,.2);transform:rotate(-7deg);z-index:3;font-weight:900}
.recommended-badge span{font-size:12px;letter-spacing:.08em}.recommended-badge strong{font-size:26px;line-height:1.2}
.recommended-info-panel{position:absolute;left:-46px;bottom:48px;z-index:4;width:min(360px,82%);padding:24px 24px 20px;border-radius:28px;background:rgba(250,246,238,.96);border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 54px rgba(0,0,0,.18);color:#5a4320}
.recommended-info-panel strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:24px;line-height:1.5;margin-bottom:8px}
.recommended-info-panel p{margin:0;color:#6f675d;font-size:13px;line-height:1.8;font-weight:700}
.recommended-format-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.recommended-format-row article{padding:16px 14px;border-radius:22px;background:rgba(18,18,18,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.recommended-format-row .en{display:inline-flex;border-radius:999px;padding:4px 8px;background:rgba(216,189,115,.13);border:1px solid rgba(216,189,115,.34);color:#ecd8a3;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:8px}
.recommended-format-row h3{margin:0 0 5px;font-size:16px;line-height:1.45;color:#fff}.recommended-format-row p{margin:0;font-size:11px;color:rgba(255,255,255,.72);line-height:1.65}
.recommended-watermark{position:absolute;left:0;right:0;bottom:-18px;font-family:Georgia,serif;font-size:clamp(76px,11vw,150px);line-height:.8;letter-spacing:.035em;color:rgba(255,255,255,.045);pointer-events:none;white-space:nowrap;z-index:0}
@keyframes titleIn{0%{opacity:0;transform:translateY(28px);filter:blur(6px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:1080px){
  .recommended-hero-grid{grid-template-columns:1fr;gap:34px}.recommended-visual{min-height:auto}.recommended-photo{height:430px;margin-top:0}.recommended-info-panel{left:24px}.recommended-format-row{grid-template-columns:repeat(3,1fr)}.recommended-watermark{display:none}
}
@media(max-width:640px){
  .recommended-hero{padding:100px 0 54px}.recommended-kicker{font-size:10px}.recommended-hero-grid{gap:26px}.recommended-title{font-size:clamp(38px,12vw,58px);line-height:1.18}.recommended-title span{white-space:normal}.recommended-lead{font-size:15px}.recommended-actions .btn{width:100%;min-width:0}.recommended-chips span{width:100%;justify-content:flex-start}.recommended-photo{height:320px;border-radius:30px 30px 0 0}.recommended-badge{width:92px;height:92px;right:8px;top:8px}.recommended-badge span{font-size:9px}.recommended-badge strong{font-size:18px}.recommended-info-panel{position:relative;left:auto;bottom:auto;width:100%;border-radius:0 0 24px 24px}.recommended-format-row{grid-template-columns:1fr}.recommended-format-row article{padding:16px}.recommended-visual{display:flex;flex-direction:column}.recommended-info-panel{order:2}.recommended-format-row{order:3}
}

/* ===== Recommended hero animated slider final ===== */
.recommended-hero.recommended-hero-slider{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 0 56px;background:#151412;color:#fff;isolation:isolate}
.recommended-hero-slider .recommended-hero-bg{position:absolute;inset:0;z-index:-3;overflow:hidden}
.recommended-hero-slider .recommended-bg-slide{position:absolute;inset:0;opacity:0;transform:scale(1.08);background-position:center center;background-size:cover;background-repeat:no-repeat;animation:ns2BgSlide 18s infinite ease-in-out}
.recommended-hero-slider .recommended-bg-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,10,.80) 0%,rgba(12,11,10,.62) 34%,rgba(12,11,10,.34) 62%,rgba(12,11,10,.28) 100%),linear-gradient(180deg,rgba(12,11,10,.08),rgba(12,11,10,.22))}
.recommended-hero-slider .recommended-bg-slide.s1{background-image:url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=2000&q=80");animation-delay:0s}
.recommended-hero-slider .recommended-bg-slide.s2{background-image:url("https://images.unsplash.com/photo-1515378960530-7c0da6231fb1?auto=format&fit=crop&w=2000&q=80");animation-delay:6s}
.recommended-hero-slider .recommended-bg-slide.s3{background-image:url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=2000&q=80");animation-delay:12s}
.recommended-hero-slider:before{content:"";position:absolute;width:860px;height:860px;right:-240px;top:-80px;border-radius:50%;border:1px solid rgba(216,187,113,.14);z-index:-1}
.recommended-hero-slider:after{content:"";position:absolute;width:620px;height:620px;right:2%;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(185,146,73,.12),transparent 70%);filter:blur(12px);z-index:-1}
.recommended-hero-slider .recommended-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(520px,.96fr);gap:70px;align-items:center;position:relative;z-index:2}
.recommended-hero-slider .recommended-hero-copyarea{max-width:720px}
.recommended-hero-slider .recommended-hero-labelrow{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.recommended-hero-slider .recommended-hero-mark{width:58px;height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;backdrop-filter:blur(10px)}
.recommended-hero-slider .recommended-hero-schoolname{color:#fff;font-size:15px;line-height:1.7;font-weight:700}
.recommended-hero-slider .recommended-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(216,187,113,.24);color:#f2dfae;font-size:13px;font-weight:800;letter-spacing:.08em;margin-bottom:26px;backdrop-filter:blur(10px);animation:fadeUp .75s ease forwards;opacity:0;transform:translateY(18px)}
.recommended-hero-slider .recommended-kicker:before{content:"";width:10px;height:10px;border-radius:50%;background:#d5b76a;box-shadow:0 0 0 6px rgba(185,146,73,.14)}
.recommended-hero-slider .recommended-title{margin:0 0 20px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:600;letter-spacing:.04em;font-size:clamp(48px,6.6vw,86px);line-height:1.14;text-shadow:0 6px 22px rgba(0,0,0,.18)}
.recommended-hero-slider .recommended-title span{display:block;opacity:0;transform:translateY(28px);animation:titleIn .85s cubic-bezier(.2,.8,.2,1) forwards .12s}
.recommended-hero-slider .recommended-title .gold{color:#d8bd73;animation-delay:.28s}
.recommended-hero-slider .recommended-lead{max-width:650px;margin:0 0 30px;color:rgba(255,255,255,.86);font-size:18px;line-height:2.0;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .52s}
.recommended-hero-slider .recommended-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .72s}
.recommended-hero-slider .recommended-actions .btn{min-width:184px}
.recommended-hero-slider .recommended-actions .btn-primary{background:linear-gradient(135deg,#d2af56,#b99249);color:#fff;box-shadow:0 20px 44px rgba(185,146,73,.28)}
.recommended-hero-slider .recommended-actions .btn-ghost{background:rgba(255,255,255,.93);color:#5e4619;border:1px solid rgba(255,255,255,.45)}
.recommended-hero-slider .recommended-chips{display:flex;flex-wrap:wrap;gap:10px;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards .9s}
.recommended-hero-slider .recommended-chips span{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:800;color:#f5edd8;backdrop-filter:blur(8px)}
.recommended-hero-slider .recommended-chips span:before{content:"✓";color:#d8bd73;font-weight:900}
.recommended-hero-slider .recommended-subnote{margin:18px 0 0;color:rgba(255,255,255,.68);font-size:15px;line-height:1.95;opacity:0;transform:translateY(18px);animation:fadeUp .85s ease forwards 1.05s}
.recommended-hero-slider .recommended-visual{display:grid;gap:20px;align-items:start;min-height:auto;position:relative;opacity:0;transform:translateY(18px);animation:fadeUp .9s ease forwards .5s}
.recommended-hero-slider .recommended-photo{position:relative;border-radius:38px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(0,0,0,.24);background:#d7c8b6;height:560px}
.recommended-hero-slider .recommended-photo-slide{position:absolute;inset:0;opacity:0;transform:scale(1.06);animation:ns2PhotoSlide 18s infinite ease-in-out}
.recommended-hero-slider .recommended-photo-slide.s1{animation-delay:0s}
.recommended-hero-slider .recommended-photo-slide.s2{animation-delay:6s}
.recommended-hero-slider .recommended-photo-slide.s3{animation-delay:12s}
.recommended-hero-slider .recommended-photo-slide img{width:100%;height:100%;object-fit:cover;display:block}
.recommended-hero-slider .recommended-photo-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.14))}
.recommended-hero-slider .recommended-indicators{position:absolute;left:24px;top:24px;display:flex;gap:10px;z-index:5}
.recommended-hero-slider .recommended-indicators span{display:block;width:46px;height:4px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden;position:relative}
.recommended-hero-slider .recommended-indicators span:after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(90deg,#d5b76a,#e9d59e);transform:translateX(-100%);animation:ns2Indicator 18s infinite}
.recommended-hero-slider .recommended-indicators span:nth-child(2):after{animation-delay:6s}
.recommended-hero-slider .recommended-indicators span:nth-child(3):after{animation-delay:12s}
.recommended-hero-slider .recommended-badge{position:absolute;right:24px;top:24px;width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(135deg,rgba(211,176,97,.98),rgba(185,147,66,.95));border:1px solid rgba(255,255,255,.24);box-shadow:0 16px 40px rgba(0,0,0,.16);transform:rotate(-8deg);z-index:4;font-weight:900}
.recommended-hero-slider .recommended-badge span{font-size:12px;letter-spacing:.08em}
.recommended-hero-slider .recommended-badge strong{font-size:28px;line-height:1.2}
.recommended-hero-slider .recommended-info-panel{position:absolute;left:24px;bottom:24px;z-index:4;width:min(370px,calc(100% - 48px));padding:24px 24px 20px;border-radius:28px;background:rgba(250,246,239,.95);border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 44px rgba(0,0,0,.14);color:#5a4320}
.recommended-hero-slider .recommended-info-panel strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:28px;line-height:1.45;margin-bottom:8px}
.recommended-hero-slider .recommended-info-panel p{margin:0;color:#6f675d;font-size:14px;line-height:1.85;font-weight:700}
.recommended-hero-slider .recommended-format-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0}
.recommended-hero-slider .recommended-format-row article{padding:22px 20px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:0 12px 34px rgba(0,0,0,.10)}
.recommended-hero-slider .recommended-format-row .en{display:inline-flex;border-radius:999px;padding:7px 11px;background:rgba(216,189,115,.13);border:1px solid rgba(216,189,115,.34);color:#ecd8a3;font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:12px}
.recommended-hero-slider .recommended-format-row h3{margin:0 0 10px;font-size:24px;line-height:1.3;color:#fff}
.recommended-hero-slider .recommended-format-row p{margin:0;font-size:14px;color:rgba(255,255,255,.78);line-height:1.8}
.recommended-hero-slider .recommended-watermark{position:absolute;left:0;right:0;bottom:-16px;font-family:Georgia,serif;font-size:clamp(78px,11vw,150px);line-height:.8;letter-spacing:.035em;color:rgba(255,255,255,.045);pointer-events:none;white-space:nowrap;z-index:0}
@keyframes ns2BgSlide{0%{opacity:0;transform:scale(1.08)}4%{opacity:1}30%{opacity:1;transform:scale(1.00)}34%{opacity:0}100%{opacity:0;transform:scale(1.00)}}
@keyframes ns2PhotoSlide{0%{opacity:0;transform:scale(1.06)}4%{opacity:1}30%{opacity:1;transform:scale(1.00)}34%{opacity:0}100%{opacity:0;transform:scale(1.00)}}
@keyframes ns2Indicator{0%,4%{transform:translateX(-100%)}28%{transform:translateX(0%)}34%,100%{transform:translateX(100%)}}
@media(max-width:1180px){.recommended-hero.recommended-hero-slider{padding:110px 0 52px;min-height:auto}.recommended-hero-slider .recommended-hero-grid{grid-template-columns:1fr;gap:36px}.recommended-hero-slider .recommended-photo{height:470px}.recommended-hero-slider .recommended-format-row{grid-template-columns:repeat(3,1fr)}.recommended-hero-slider .recommended-watermark{display:none}}
@media(max-width:860px){.recommended-hero-slider .recommended-title{font-size:clamp(38px,12vw,58px);line-height:1.18}.recommended-hero-slider .recommended-lead{font-size:15px}.recommended-hero-slider .recommended-actions .btn{width:100%;min-width:0}.recommended-hero-slider .recommended-chips span{font-size:12px}.recommended-hero-slider .recommended-photo{height:360px;border-radius:30px}.recommended-hero-slider .recommended-indicators{left:14px;top:14px}.recommended-hero-slider .recommended-badge{width:92px;height:92px;right:14px;top:14px}.recommended-hero-slider .recommended-badge span{font-size:9px}.recommended-hero-slider .recommended-badge strong{font-size:18px}.recommended-hero-slider .recommended-info-panel{left:14px;bottom:14px;width:calc(100% - 28px);padding:18px 18px 16px;border-radius:20px}.recommended-hero-slider .recommended-info-panel strong{font-size:18px}.recommended-hero-slider .recommended-format-row{grid-template-columns:1fr}.recommended-hero-slider .recommended-format-row article{padding:16px}.recommended-hero-slider .recommended-format-row h3{font-size:20px}}
@media(max-width:640px){.recommended-hero.recommended-hero-slider{padding:96px 0 48px}.recommended-hero-slider .recommended-kicker{font-size:11px}.recommended-hero-slider .recommended-title span{white-space:normal}.recommended-hero-slider .recommended-hero-grid{gap:26px}.recommended-hero-slider .recommended-photo{height:320px}.recommended-hero-slider .recommended-chips span{width:100%;justify-content:flex-start}.recommended-hero-slider .recommended-hero-mark{width:52px;height:52px;border-radius:16px}.recommended-hero-slider .recommended-hero-schoolname{font-size:14px}.recommended-hero-slider .recommended-watermark{display:none}}


/* ===== FINAL HERO STABILITY FIX ===== */
.recommended-hero.recommended-hero-slider{
  padding: 148px 0 72px !important;
  min-height: auto !important;
}
.recommended-hero-slider .recommended-hero-grid{
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 520px) !important;
  gap: 56px !important;
  align-items: center !important;
}
.recommended-hero-slider .recommended-hero-copyarea{
  max-width: 700px !important;
}
.recommended-hero-slider .recommended-title{
  font-size: clamp(52px, 6vw, 84px) !important;
  line-height: 1.18 !important;
}
.recommended-hero-slider .recommended-title span{
  white-space: normal !important;
}
.recommended-hero-slider .recommended-lead,
.recommended-hero-slider .recommended-subnote{
  max-width: 620px !important;
}
.recommended-hero-slider .recommended-bg-slide::after{
  background:
    linear-gradient(90deg, rgba(12,11,10,.66) 0%, rgba(12,11,10,.50) 34%, rgba(12,11,10,.24) 62%, rgba(12,11,10,.18) 100%),
    linear-gradient(180deg, rgba(12,11,10,.03), rgba(12,11,10,.14)) !important;
}
.recommended-hero-slider .recommended-visual{
  width: 100% !important;
  max-width: 520px !important;
  justify-self: end !important;
  display: block !important;
  position: relative !important;
}
.recommended-hero-slider .recommended-photo{
  position: relative !important;
  width: 100% !important;
  height: 600px !important;
  margin: 0 !important;
  border-radius: 34px !important;
  overflow: hidden !important;
}
.recommended-hero-slider .recommended-badge{
  top: 18px !important;
  right: 18px !important;
  width: 116px !important;
  height: 116px !important;
  z-index: 6 !important;
}
.recommended-hero-slider .recommended-badge strong{
  font-size: 26px !important;
}
.recommended-hero-slider .recommended-info-panel{
  left: 20px !important;
  right: 20px !important;
  bottom: 20px !important;
  width: auto !important;
  max-width: none !important;
  z-index: 6 !important;
  padding: 22px 22px 18px !important;
  border-radius: 24px !important;
}
.recommended-hero-slider .recommended-info-panel strong{
  font-size: 22px !important;
  line-height: 1.55 !important;
}
.recommended-hero-slider .recommended-info-panel p{
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.recommended-hero-slider .recommended-format-row{
  display: none !important;
}
.recommended-hero-slider .recommended-watermark{
  bottom: -6px !important;
  font-size: clamp(64px, 10vw, 138px) !important;
  color: rgba(255,255,255,.04) !important;
}

@media (max-width: 1240px){
  .recommended-hero.recommended-hero-slider{
    padding: 138px 0 64px !important;
  }
  .recommended-hero-slider .recommended-hero-grid{
    grid-template-columns: minmax(0,1fr) 460px !important;
    gap: 40px !important;
  }
  .recommended-hero-slider .recommended-photo{
    height: 560px !important;
  }
}

@media (max-width: 1040px){
  .recommended-hero.recommended-hero-slider{
    padding: 132px 0 58px !important;
  }
  .recommended-hero-slider .recommended-hero-grid{
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .recommended-hero-slider .recommended-visual{
    max-width: 640px !important;
    width: 100% !important;
    justify-self: stretch !important;
  }
  .recommended-hero-slider .recommended-photo{
    height: 520px !important;
  }
}

@media (max-width: 767px){
  .recommended-hero.recommended-hero-slider{
    padding: 112px 0 48px !important;
  }
  .recommended-hero-slider .recommended-title{
    font-size: clamp(40px, 13vw, 58px) !important;
    line-height: 1.18 !important;
  }
  .recommended-hero-slider .recommended-lead{
    font-size: 15px !important;
    line-height: 1.95 !important;
  }
  .recommended-hero-slider .recommended-actions{
    gap: 12px !important;
  }
  .recommended-hero-slider .recommended-actions .btn{
    width: 100% !important;
    min-width: 0 !important;
  }
  .recommended-hero-slider .recommended-chips span{
    width: auto !important;
    font-size: 12px !important;
  }
  .recommended-hero-slider .recommended-visual{
    max-width: 100% !important;
  }
  .recommended-hero-slider .recommended-photo{
    height: 420px !important;
    border-radius: 28px !important;
  }
  .recommended-hero-slider .recommended-badge{
    top: 14px !important;
    right: 14px !important;
    width: 92px !important;
    height: 92px !important;
  }
  .recommended-hero-slider .recommended-badge strong{
    font-size: 18px !important;
  }
  .recommended-hero-slider .recommended-info-panel{
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 16px 16px 14px !important;
    border-radius: 20px !important;
  }
  .recommended-hero-slider .recommended-info-panel strong{
    font-size: 18px !important;
  }
  .recommended-hero-slider .recommended-info-panel p{
    font-size: 13px !important;
  }
}

@media (max-width: 480px){
  .recommended-hero-slider .recommended-photo{
    height: 360px !important;
  }
  .recommended-hero-slider .recommended-chips{
    gap: 8px !important;
  }
  .recommended-hero-slider .recommended-chips span{
    width: 100% !important;
    justify-content: flex-start !important;
  }
}


/* ===== HERO FORMAT ROW REMOVAL =====
   PC・スマホともにメインビジュアル下部の3つの受講形式カードを非表示。 */
.recommended-hero-slider .recommended-format-row{
  display: none !important;
}


/* ===== requested hero copy animation + icon removal ===== */
.recommended-hero-slider .recommended-title.recommended-title-animated{
  position:relative !important;
  display:inline-block !important;
  margin-bottom:28px !important;
  letter-spacing:.055em !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated::after{
  content:"";
  position:absolute;
  left:.06em;
  bottom:-12px;
  width:min(260px,48%);
  height:1px;
  background:linear-gradient(90deg,rgba(216,189,115,0),rgba(216,189,115,.95),rgba(255,255,255,.14));
  transform:scaleX(0);
  transform-origin:left center;
  animation:ns2TitleHairline .9s cubic-bezier(.2,.8,.2,1) forwards 1.05s;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
  display:block !important;
  width:max-content;
  max-width:100%;
  white-space:nowrap !important;
  opacity:1 !important;
  transform:none !important;
  overflow:hidden;
  clip-path:inset(0 100% 0 0);
  animation:ns2TitleClip .92s cubic-bezier(.17,.84,.28,1) forwards !important;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(2){
  animation-delay:.24s !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line.gold{
  color:transparent !important;
  background:linear-gradient(100deg,#b98a38 0%,#f3dc92 28%,#d8bd73 48%,#fff3bf 58%,#a87928 82%,#e7cf87 100%);
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  animation:ns2TitleClip .92s cubic-bezier(.17,.84,.28,1) forwards .24s, ns2GoldSheen 5.8s ease-in-out infinite 1.3s !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line.gold::after{
  content:"";
  display:inline-block;
  width:.34em;
  height:.34em;
  margin-left:.14em;
  margin-bottom:.12em;
  border-radius:999px;
  background:radial-gradient(circle,#fff5c9 0%,#d8bd73 38%,rgba(216,189,115,0) 72%);
  box-shadow:0 0 24px rgba(216,189,115,.55);
  opacity:0;
  transform:scale(.4);
  animation:ns2TitleDot .7s ease forwards 1.2s;
}
.recommended-hero-slider .recommended-lead{
  animation-delay:.78s !important;
}
.recommended-hero-slider .recommended-actions{
  animation-delay:.98s !important;
}
.recommended-hero-slider .recommended-chips{
  animation-delay:1.14s !important;
}
.recommended-hero-slider .recommended-chips span{
  gap:0 !important;
  padding-left:15px !important;
  padding-right:15px !important;
}
.recommended-hero-slider .recommended-chips span::before,
.recommended-chips span::before{
  content:none !important;
  display:none !important;
}
@keyframes ns2TitleClip{
  0%{clip-path:inset(0 100% 0 0);filter:blur(8px);transform:translateY(18px)}
  100%{clip-path:inset(0 0 0 0);filter:blur(0);transform:translateY(0)}
}
@keyframes ns2GoldSheen{
  0%,100%{background-position:0% center}
  50%{background-position:100% center}
}
@keyframes ns2TitleHairline{
  0%{transform:scaleX(0);opacity:0}
  100%{transform:scaleX(1);opacity:1}
}
@keyframes ns2TitleDot{
  0%{opacity:0;transform:scale(.4)}
  55%{opacity:1;transform:scale(1.15)}
  100%{opacity:.82;transform:scale(1)}
}
@media(max-width:860px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    margin-bottom:24px !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
    white-space:normal !important;
    width:auto;
  }
}
@media(max-width:480px){
  .recommended-hero-slider .recommended-title.recommended-title-animated::after{
    width:52%;
  }
}

/* スマホでも登録講師カードを2カラムで崩れにくく見せる調整 */
@media(max-width:640px){
  .teacher-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .teacher-card{padding:10px;border-radius:18px}
  .teacher-card img{height:clamp(130px,42vw,175px);border-radius:14px}
  .teacher-card h3{font-size:15px;margin:12px 0 3px}
  .teacher-card p{font-size:11px;line-height:1.55}
  .teacher-specialty{margin-top:8px}
  .teacher-actions{gap:6px;padding-top:10px}
  .teacher-actions a{font-size:10px;padding:8px 6px;line-height:1.25}
}
@media(max-width:360px){
  .teacher-card h3{font-size:14px}
  .teacher-card p{font-size:10.5px}
  .teacher-actions a{font-size:9.5px;padding:7px 4px}
}

/* ===== Philosophy / Strength sections moved to lower-page gateway ===== */
.philosophy-gateway-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 20%,rgba(185,146,73,.16),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f7f1e6 100%);
}
.philosophy-gateway-section:before{
  content:"PHILOSOPHY";
  position:absolute;
  right:-.06em;
  top:18px;
  font-family:Georgia,serif;
  font-size:clamp(64px,11vw,148px);
  line-height:1;
  letter-spacing:.04em;
  color:rgba(185,146,73,.055);
  pointer-events:none;
}
.philosophy-gateway{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  gap:46px;
  align-items:center;
}
.philosophy-gateway-copy h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  font-size:clamp(34px,4.5vw,58px);
  line-height:1.35;
  letter-spacing:.035em;
  margin:14px 0 18px;
}
.philosophy-gateway-copy .lead{
  max-width:560px;
  color:#5f5a50;
}
.philosophy-gateway-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.philosophy-gateway-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.philosophy-gateway-card{
  position:relative;
  min-height:250px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  border-radius:30px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(185,146,73,.18);
  box-shadow:0 18px 46px rgba(17,17,17,.07);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.philosophy-gateway-card:first-child{
  grid-row:span 2;
  min-height:516px;
}
.philosophy-gateway-card:before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-70px;
  top:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(185,146,73,.18),rgba(185,146,73,0) 68%);
}
.philosophy-gateway-card:after{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:26px;
  height:1px;
  background:linear-gradient(90deg,rgba(185,146,73,.65),rgba(185,146,73,0));
}
.philosophy-gateway-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 64px rgba(17,17,17,.11);
  border-color:rgba(185,146,73,.36);
}
.philosophy-gateway-card.is-dark{
  color:#fff;
  background:
    linear-gradient(180deg,rgba(17,17,17,.18),rgba(17,17,17,.82)),
    url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1100&q=80") center/cover;
  border-color:rgba(255,255,255,.16);
  box-shadow:0 28px 74px rgba(17,17,17,.18);
}
.philosophy-gateway-card.is-dark:before{
  background:radial-gradient(circle,rgba(216,189,115,.28),rgba(216,189,115,0) 70%);
}
.philosophy-gateway-card.is-dark:after{
  background:linear-gradient(90deg,rgba(216,189,115,.9),rgba(255,255,255,.06));
}
.philosophy-num{
  position:absolute;
  left:24px;
  top:34px;
  font-family:Georgia,serif;
  font-size:46px;
  line-height:1;
  color:rgba(185,146,73,.25);
}
.philosophy-gateway-card.is-dark .philosophy-num{
  color:rgba(255,255,255,.24);
}
.philosophy-card-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:max-content;
  margin-bottom:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(185,146,73,.10);
  border:1px solid rgba(185,146,73,.22);
  color:#8a6426;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.philosophy-gateway-card.is-dark .philosophy-card-kicker{
  background:rgba(216,189,115,.14);
  border-color:rgba(216,189,115,.32);
  color:#f2d999;
}
.philosophy-gateway-card h3{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  font-size:clamp(22px,2.2vw,31px);
  line-height:1.4;
}
.philosophy-gateway-card p{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  color:#6a6258;
  font-size:14px;
  line-height:1.85;
}
.philosophy-gateway-card.is-dark p{
  color:rgba(255,255,255,.82);
}
.philosophy-gateway-card b{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#7b5d22;
  font-size:13px;
}
.philosophy-gateway-card b:after{
  content:"→";
  transition:transform .25s ease;
}
.philosophy-gateway-card:hover b:after{
  transform:translateX(4px);
}
.philosophy-gateway-card.is-dark b{
  color:#f2d999;
}
@media(max-width:1040px){
  .philosophy-gateway{
    grid-template-columns:1fr;
  }
  .philosophy-gateway-copy .lead{
    max-width:none;
  }
}
@media(max-width:700px){
  .philosophy-gateway-section{
    padding:70px 0;
  }
  .philosophy-gateway-cards{
    grid-template-columns:1fr;
  }
  .philosophy-gateway-card,
  .philosophy-gateway-card:first-child{
    min-height:260px;
    grid-row:auto;
    border-radius:24px;
    padding:24px;
  }
  .philosophy-gateway-actions .btn{
    width:100%;
  }
  .philosophy-num{
    top:28px;
    font-size:40px;
  }
}

/* ===== Premium hamburger / drawer navigation polish ===== */
.header{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(22px) saturate(1.08);
  -webkit-backdrop-filter:blur(22px) saturate(1.08);
}
.header .hamburger{
  flex:0 0 106px !important;
  width:106px !important;
  min-width:106px !important;
  max-width:106px !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  padding:0 16px 0 18px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  overflow:hidden !important;
  isolation:isolate;
  border:1px solid rgba(222,194,130,.44) !important;
  background:
    radial-gradient(circle at 76% 20%,rgba(215,189,121,.34),transparent 34%),
    linear-gradient(135deg,#161514 0%,#2a2317 50%,#5f471b 100%) !important;
  box-shadow:0 16px 36px rgba(17,17,17,.16), inset 0 1px 0 rgba(255,255,255,.16) !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s, border-color .28s !important;
}
.header .hamburger:before{
  content:"MENU";
  position:relative;
  z-index:2;
  display:block;
  color:#f2dfaa;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.24em;
  transform:translateY(1px);
  transition:letter-spacing .28s, color .28s;
}
.header .hamburger:after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 38%,rgba(255,255,255,.06));
  opacity:.8;
  z-index:-1;
  pointer-events:none;
}
.header .hamburger:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(242,223,170,.72) !important;
  box-shadow:0 22px 48px rgba(17,17,17,.20), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.header .hamburger:hover:before{letter-spacing:.28em;color:#fff3cf}
.header .hamburger span{
  position:absolute !important;
  left:auto !important;
  right:17px !important;
  top:50% !important;
  width:21px !important;
  height:1.5px !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  background:#f5e3aa !important;
  transform-origin:center !important;
  box-shadow:0 0 14px rgba(245,227,170,.26);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), opacity .22s, width .3s, right .3s !important;
}
.header .hamburger span:nth-child(1){transform:translateY(-7px) !important;width:17px !important;}
.header .hamburger span:nth-child(2){transform:translateY(-1px) !important;width:21px !important;}
.header .hamburger span:nth-child(3){transform:translateY(5px) !important;width:13px !important;}
.header .hamburger:hover span:nth-child(1),
.header .hamburger:hover span:nth-child(3){width:21px !important;}
.header .hamburger.active:before{content:"CLOSE";letter-spacing:.16em;color:#fff3cf}
.header .hamburger.active span:nth-child(1){transform:translateY(-1px) rotate(45deg) !important;width:22px !important;}
.header .hamburger.active span:nth-child(2){opacity:0 !important;transform:translateY(-1px) scaleX(.25) !important;}
.header .hamburger.active span:nth-child(3){transform:translateY(-1px) rotate(-45deg) !important;width:22px !important;}
.drawer-overlay{
  background:rgba(10,9,8,.48) !important;
  backdrop-filter:blur(10px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05) !important;
  transition:opacity .34s ease !important;
}
.drawer{
  width:min(470px,92vw) !important;
  padding:0 !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 8%,rgba(216,187,113,.24),transparent 30%),
    radial-gradient(circle at 8% 88%,rgba(185,146,73,.16),transparent 32%),
    linear-gradient(155deg,#151411 0%,#0f0f0e 54%,#211a10 100%) !important;
  border-left:1px solid rgba(216,187,113,.36) !important;
  box-shadow:-34px 0 90px rgba(0,0,0,.30) !important;
  transition:transform .46s cubic-bezier(.16,1,.3,1) !important;
  overflow-y:auto;
}
.drawer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035),transparent 18%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 1px,transparent 1px 12px);
  pointer-events:none;
}
.drawer-head{
  position:relative;
  z-index:1;
  padding:32px 30px 24px !important;
  margin:0 !important;
  border-bottom:1px solid rgba(216,187,113,.18);
}
.drawer-title{
  position:relative;
  padding-left:54px;
  color:#fff;
  font-size:15px;
  letter-spacing:.04em;
}
.drawer-title:before{
  content:"S";
  position:absolute;
  left:0;
  top:50%;
  width:38px;
  height:38px;
  transform:translateY(-50%);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Georgia,serif;
  color:#fff;
  background:linear-gradient(135deg,#2a2417,#b99249);
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.22);
}
.drawer-title small{
  color:#d8bb71 !important;
  letter-spacing:.22em !important;
}
.drawer-close{
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  color:#f5e3aa !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(216,187,113,.28) !important;
  font-size:24px !important;
  line-height:1 !important;
  transition:transform .25s, background .25s, border-color .25s !important;
}
.drawer-close:hover{
  transform:rotate(90deg);
  background:rgba(216,187,113,.12) !important;
  border-color:rgba(216,187,113,.55) !important;
}
.drawer-links{
  position:relative;
  z-index:1;
  counter-reset:drawerMenu;
  display:grid !important;
  gap:10px !important;
  padding:24px 28px 18px !important;
  margin:0 !important;
}
.drawer-links a{
  counter-increment:drawerMenu;
  position:relative;
  display:grid !important;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:14px;
  min-height:58px;
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px;
  color:rgba(255,255,255,.92) !important;
  background:rgba(255,255,255,.045);
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
  opacity:0;
  transform:translateX(18px);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), background .28s, border-color .28s, color .28s !important;
}
.drawer.open .drawer-links a{animation:drawerLinkIn .46s cubic-bezier(.2,.8,.2,1) forwards;}
.drawer.open .drawer-links a:nth-child(1){animation-delay:.06s}.drawer.open .drawer-links a:nth-child(2){animation-delay:.09s}.drawer.open .drawer-links a:nth-child(3){animation-delay:.12s}.drawer.open .drawer-links a:nth-child(4){animation-delay:.15s}.drawer.open .drawer-links a:nth-child(5){animation-delay:.18s}.drawer.open .drawer-links a:nth-child(6){animation-delay:.21s}.drawer.open .drawer-links a:nth-child(7){animation-delay:.24s}.drawer.open .drawer-links a:nth-child(8){animation-delay:.27s}
.drawer-links a:before{
  content:counter(drawerMenu,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  color:#d8bb71;
  font-size:11px;
  font-family:Georgia,serif;
  letter-spacing:.04em;
  background:rgba(216,187,113,.10);
  border:1px solid rgba(216,187,113,.18);
}
.drawer-links a:after{
  content:"↗" !important;
  color:#d8bb71 !important;
  font-size:15px;
  transform:translateX(0);
  transition:transform .28s !important;
}
.drawer-links a:hover{
  transform:translateX(-4px) !important;
  border-color:rgba(216,187,113,.34) !important;
  background:rgba(216,187,113,.11) !important;
  color:#fff !important;
}
.drawer-links a:hover:after{transform:translate(4px,-4px);}
.drawer-cta{
  position:relative;
  z-index:1;
  padding:18px 28px 32px;
  margin-top:auto !important;
  display:grid !important;
  gap:12px !important;
  border-top:1px solid rgba(216,187,113,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.055));
}
.drawer-cta .btn-primary{
  background:linear-gradient(135deg,#d1ad54,#a9843d) !important;
  color:#fff !important;
  box-shadow:0 18px 34px rgba(185,146,73,.22) !important;
}
.drawer-note{
  color:rgba(255,255,255,.62) !important;
  margin:8px 2px 0 !important;
}
@keyframes drawerLinkIn{
  from{opacity:0;transform:translateX(18px)}
  to{opacity:1;transform:translateX(0)}
}
@media (max-width:640px){
  .header .hamburger{
    flex:0 0 46px !important;
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:0 !important;
    justify-content:center !important;
  }
  .header .hamburger:before{display:none;}
  .header .hamburger span{
    right:auto !important;
    left:50% !important;
    width:20px !important;
  }
  .header .hamburger span:nth-child(1){transform:translate(-50%,-7px) !important;width:17px !important;}
  .header .hamburger span:nth-child(2){transform:translate(-50%,-1px) !important;width:20px !important;}
  .header .hamburger span:nth-child(3){transform:translate(-50%,5px) !important;width:13px !important;}
  .header .hamburger.active span:nth-child(1){transform:translate(-50%,-1px) rotate(45deg) !important;width:22px !important;}
  .header .hamburger.active span:nth-child(2){opacity:0 !important;transform:translate(-50%,-1px) scaleX(.25) !important;}
  .header .hamburger.active span:nth-child(3){transform:translate(-50%,-1px) rotate(-45deg) !important;width:22px !important;}
  .drawer{width:100vw !important;}
  .drawer-head{padding:26px 22px 20px !important;}
  .drawer-links{padding:20px 18px 14px !important;gap:8px !important;}
  .drawer-links a{min-height:56px;padding:12px 14px !important;border-radius:16px;grid-template-columns:38px 1fr auto;gap:10px;}
  .drawer-cta{padding:16px 18px 28px;}
}


/* Membership gateway and detail page update */
.membership-gateway-section{position:relative;overflow:hidden}
.membership-gateway{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.membership-gateway-copy h2{font-size:clamp(32px,4vw,54px);line-height:1.28;margin:0 0 18px;font-weight:900}
.membership-gateway-panel{position:relative;background:linear-gradient(135deg,#111 0%,#24211b 58%,#6d5421 100%);color:#fff;border-radius:34px;padding:34px;border:1px solid rgba(215,189,121,.28);box-shadow:0 28px 70px rgba(17,17,17,.16);overflow:hidden}
.membership-gateway-panel:before{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(215,189,121,.42),rgba(215,189,121,0) 68%)}
.membership-gateway-panel span{display:inline-flex;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:7px 13px;color:#f4e6c2;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.membership-gateway-panel p{position:relative;color:rgba(255,255,255,.84);font-size:15px;line-height:1.9;margin:0 0 24px}
.membership-gateway-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.membership-gateway-panel .btn-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.membership-sub-hero{background:#161410}
.membership-sub-hero:before{background:radial-gradient(circle at 78% 22%,rgba(215,189,121,.28),transparent 32%),linear-gradient(90deg,rgba(17,17,17,.9),rgba(17,17,17,.58)),url('https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&w=1600&q=80');background-size:cover;background-position:center}
.sub-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.member-intro{color:var(--muted);font-size:14px;line-height:1.9;margin:-6px 0 20px}
.membership-detail-grid{align-items:stretch}
.membership-detail-grid .member-card{display:flex;flex-direction:column}
.membership-detail-grid .member-benefits{margin-top:auto}
.membership-compare-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow2)}
.compare-table-wrap{overflow:auto;border-radius:22px;border:1px solid rgba(185,146,73,.16)}
.compare-table{width:100%;border-collapse:collapse;min-width:620px;background:#fff}
.compare-table th,.compare-table td{padding:16px 18px;border-bottom:1px solid rgba(185,146,73,.14);text-align:left;font-size:14px}
.compare-table th{background:#faf4e7;color:#6d5421;font-weight:900}
.compare-table td:nth-child(2){font-weight:900;color:#111}
.compare-table tr:last-child td{border-bottom:0}
@media(max-width:1050px){.membership-gateway,.membership-compare-card{grid-template-columns:1fr}}
@media(max-width:640px){.membership-gateway-copy h2{font-size:30px}.membership-gateway-panel,.membership-compare-card{border-radius:26px;padding:24px}.membership-gateway-actions .btn,.sub-hero-actions .btn{width:100%}.compare-table th,.compare-table td{padding:13px 14px;font-size:13px}}

/* LINE-only entry section */
.line-entry-section{position:relative;overflow:hidden}.line-entry-wrap{position:relative}.line-entry-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch;background:radial-gradient(circle at 12% 18%,rgba(212,180,96,.28),transparent 34%),linear-gradient(135deg,#0b0b0b 0%,#211b13 56%,#6e552b 100%);border-radius:34px;padding:42px;position:relative;overflow:hidden;box-shadow:0 28px 72px rgba(17,17,17,.2);color:#fff}.line-entry-panel:before{content:"";position:absolute;inset:1px;border-radius:33px;border:1px solid rgba(255,255,255,.14);pointer-events:none}.line-entry-panel:after{content:"LINE";position:absolute;right:-24px;bottom:-34px;font-family:Georgia,serif;font-size:142px;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.055);line-height:1}.line-entry-copy,.line-entry-card{position:relative;z-index:1}.line-entry-copy .section-kicker{color:var(--gold-soft)}.line-entry-copy h2{font-size:clamp(32px,4.2vw,58px);letter-spacing:.06em;line-height:1.22;margin:12px 0 18px}.line-entry-copy p{color:rgba(255,255,255,.82);font-size:15px;line-height:2;max-width:660px}.line-entry-points{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.line-entry-points span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900;letter-spacing:.04em}.line-entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.line-entry-actions .btn{min-width:180px}.line-entry-card{background:rgba(255,255,255,.94);color:#111;border-radius:28px;padding:32px;box-shadow:0 18px 48px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.42);align-self:center}.line-status{display:inline-flex;align-items:center;border-radius:999px;background:#06c755;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:8px 13px;margin-bottom:18px}.line-entry-card h3{font-size:24px;margin:0 0 18px}.line-entry-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.line-entry-card li{position:relative;background:#f8f5ef;border-radius:14px;padding:14px 14px 14px 38px;font-weight:800;font-size:13px;color:#35312b}.line-entry-card li:before{content:"";position:absolute;left:16px;top:18px;width:8px;height:8px;border-radius:50%;background:#06c755;box-shadow:0 0 0 5px rgba(6,199,85,.12)}.line-entry-note{margin:18px 0 0!important;color:var(--muted)!important;font-size:12px!important;line-height:1.8!important}
@media(max-width:900px){.line-entry-panel{grid-template-columns:1fr;padding:30px;border-radius:28px}.line-entry-panel:before{border-radius:27px}.line-entry-panel:after{font-size:92px;right:-18px;bottom:-20px}.line-entry-copy h2{font-size:34px}.line-entry-card{padding:24px;border-radius:24px}.line-entry-actions .btn{width:100%}}
@media(max-width:640px){.line-entry-panel{padding:24px}.line-entry-copy p{font-size:14px}.line-entry-points{gap:8px}.line-entry-points span{width:100%;text-align:center}.line-entry-card h3{font-size:21px}.line-entry-card li{font-size:12px;line-height:1.7}}


/* ===== Logo image replacement + mobile hero copy refinement ===== */
.logo-mark{
  overflow:hidden !important;
  background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#14120e 0%,#4e3b19 54%,#b99249 100%) !important;
}
.logo-mark img{
  width:76% !important;
  height:76% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.18));
}
.recommended-hero-slider .recommended-hero-mark{
  overflow:hidden !important;
  background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.16),transparent 32%),linear-gradient(135deg,rgba(12,12,12,.78),rgba(96,74,32,.58)) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
.recommended-hero-slider .recommended-hero-mark img{
  width:78% !important;
  height:78% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.22));
}
@media(max-width:640px){
  .recommended-hero-slider .recommended-hero-labelrow{
    align-items:center !important;
    gap:12px !important;
    margin-bottom:20px !important;
  }
  .recommended-hero-slider .recommended-hero-mark{
    width:50px !important;
    height:50px !important;
    border-radius:15px !important;
    flex:0 0 50px !important;
  }
  .recommended-hero-slider .recommended-hero-schoolname{
    font-size:13px !important;
    line-height:1.55 !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,10.2vw,44px) !important;
    line-height:1.28 !important;
    letter-spacing:.02em !important;
    margin-bottom:22px !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
    display:block !important;
    width:max-content !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line.gold::after{
    width:.24em !important;
    height:.24em !important;
    margin-left:.08em !important;
    margin-bottom:.08em !important;
  }
  .recommended-hero-slider .recommended-lead{
    font-size:14px !important;
    line-height:1.9 !important;
    margin-bottom:24px !important;
  }
}
@media(max-width:374px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    font-size:32px !important;
    letter-spacing:.01em !important;
  }
}


/* ===== Philosophy page premium design ===== */
.philo-page{background:linear-gradient(180deg,#fff 0%,#f7f6f2 45%,#fff 100%)}
.philo-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:138px 0 72px;background:#171614;color:#fff;isolation:isolate}
.philo-hero-bg{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(17,17,17,.88) 0%,rgba(17,17,17,.62) 46%,rgba(17,17,17,.38) 100%),linear-gradient(180deg,rgba(17,17,17,.04),rgba(17,17,17,.44)),url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1900&q=80") center/cover;filter:saturate(.9) contrast(1.03);transform:scale(1.02);animation:philoSlowZoom 18s ease-in-out infinite alternate}
.philo-hero:before{content:"";position:absolute;width:760px;height:760px;right:-240px;top:60px;border-radius:50%;border:1px solid rgba(216,189,115,.18);z-index:-1}.philo-hero:after{content:"PHILOSOPHY";position:absolute;right:-.08em;bottom:-.18em;font-family:Georgia,serif;font-size:clamp(82px,15vw,220px);letter-spacing:.06em;line-height:1;color:rgba(255,255,255,.045);pointer-events:none;z-index:-1}.philo-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);align-items:center;gap:70px;position:relative;z-index:1}.philo-breadcrumb{display:inline-flex;color:#e4ca83;font-family:Georgia,serif;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;opacity:0;transform:translateY(16px);animation:philoFadeUp .75s ease forwards .1s}.philo-logo-line{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:rgba(255,255,255,.9);font-size:13px;font-weight:900;letter-spacing:.08em;opacity:0;transform:translateY(16px);animation:philoFadeUp .75s ease forwards .22s}.philo-logo-mark{width:50px;height:50px;border-radius:18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);display:grid;place-items:center;backdrop-filter:blur(10px)}.philo-logo-mark img{width:34px;height:34px;object-fit:contain}.philo-hero h1{margin:0 0 28px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:600;font-size:clamp(42px,5.6vw,82px);line-height:1.25;letter-spacing:.045em;text-shadow:0 10px 32px rgba(0,0,0,.28);opacity:0;transform:translateY(22px);animation:philoFadeUp .9s cubic-bezier(.2,.8,.2,1) forwards .38s}.philo-hero h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,#b98a38 0%,#f3dc92 28%,#d8bd73 48%,#fff3bf 58%,#a87928 82%,#e7cf87 100%);background-size:260% auto;-webkit-background-clip:text;background-clip:text;animation:philoGoldSheen 6s ease-in-out infinite 1.2s}.philo-hero-copy p{max-width:720px;margin:0;color:rgba(255,255,255,.83);font-size:16px;line-height:2.08;opacity:0;transform:translateY(20px);animation:philoFadeUp .85s ease forwards .62s}.philo-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;opacity:0;transform:translateY(20px);animation:philoFadeUp .85s ease forwards .82s}.philo-hero-actions .btn-primary{background:linear-gradient(135deg,#d2af56,#b99249);color:#fff;box-shadow:0 20px 44px rgba(185,146,73,.28)}.philo-hero-card{position:relative;overflow:hidden;min-height:520px;border-radius:42px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05)),rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:0 34px 90px rgba(0,0,0,.30);backdrop-filter:blur(16px);opacity:0;transform:translateY(20px);animation:philoFadeUp .9s ease forwards .58s}.philo-hero-card:before{content:"";position:absolute;inset:16px;border-radius:32px;border:1px solid rgba(216,189,115,.18);pointer-events:none}.philo-hero-card:after{content:"";position:absolute;right:-110px;top:-110px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(216,189,115,.28),rgba(216,189,115,0) 70%)}.philo-card-kicker{position:relative;z-index:1;display:inline-flex;width:max-content;padding:8px 12px;margin-bottom:18px;border-radius:999px;background:rgba(216,189,115,.14);border:1px solid rgba(216,189,115,.34);color:#f2d999;font-size:11px;font-weight:900;letter-spacing:.16em}.philo-quote{position:relative;z-index:1;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(26px,2.7vw,38px);line-height:1.62;color:#fff}.philo-hero-points{position:relative;z-index:1;display:grid;gap:10px;margin-top:28px}.philo-hero-points span{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.86);font-size:13px;font-weight:900}.philo-hero-points span:before{content:"";width:7px;height:7px;border-radius:50%;background:#d8bd73;box-shadow:0 0 0 6px rgba(216,189,115,.11)}
.philo-statement{position:relative;overflow:hidden}.philo-statement:before{content:"";position:absolute;left:-200px;top:80px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(185,146,73,.12),rgba(185,146,73,0) 70%)}.philo-statement-panel{position:relative;padding:48px;border-radius:38px;background:#fff;border:1px solid rgba(185,146,73,.18);box-shadow:var(--shadow);overflow:hidden}.philo-statement-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(185,146,73,.10),rgba(185,146,73,0) 38%);pointer-events:none}.philo-statement-panel h2{position:relative;margin:12px 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(34px,4vw,56px);line-height:1.45;font-weight:600}.philo-statement-panel p{position:relative;max-width:900px;margin:0;color:#5f5a50;font-size:16px;line-height:2.05}.philo-principle-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px;margin-top:22px}.philo-principle-card{position:relative;overflow:hidden;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;border-radius:30px;background:rgba(255,255,255,.86);border:1px solid rgba(185,146,73,.18);box-shadow:var(--shadow2)}.philo-principle-card.is-large{grid-row:span 2;min-height:478px;color:#fff;background:linear-gradient(180deg,rgba(17,17,17,.10),rgba(17,17,17,.82)),url("https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1200&q=80") center/cover}.philo-principle-card span{position:absolute;left:26px;top:24px;font-family:Georgia,serif;font-size:42px;line-height:1;color:rgba(185,146,73,.26);font-weight:900}.philo-principle-card.is-large span{color:rgba(255,255,255,.28)}.philo-principle-card h3{margin:0 0 10px;font-size:24px;line-height:1.45}.philo-principle-card p{margin:0;color:#665f54;font-size:14px;line-height:1.86}.philo-principle-card.is-large p{color:rgba(255,255,255,.82)}
.philo-five{background:linear-gradient(180deg,#f8f2e8 0%,#fff 100%);position:relative;overflow:hidden}.philo-section-head{align-items:end;margin-bottom:32px}.philo-section-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(34px,4vw,54px);line-height:1.35;margin-top:10px}.philo-section-head .lead{max-width:560px}.philo-s-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.philo-s-card{position:relative;overflow:hidden;min-height:280px;padding:28px 24px;border-radius:30px;background:#fff;border:1px solid rgba(185,146,73,.18);box-shadow:var(--shadow2);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .28s ease, box-shadow .28s ease}.philo-s-card:hover{transform:translateY(-6px);box-shadow:0 26px 64px rgba(17,17,17,.10)}.philo-s-card:before{content:"";position:absolute;width:150px;height:150px;right:-64px;top:-64px;border-radius:50%;background:rgba(185,146,73,.10)}.philo-s-card.is-accent{color:#fff;background:linear-gradient(135deg,#111 0%,#2d2618 60%,#8b6a2f 100%)}.philo-s-en{position:absolute;top:28px;left:24px;font-family:Georgia,serif;color:#b99249;font-size:24px;font-weight:900;line-height:1.08}.philo-s-card.is-accent .philo-s-en{color:#f2d999}.philo-s-card h3{margin:0 0 10px;font-size:22px;line-height:1.45}.philo-s-card p{margin:0;color:#686157;font-size:13px;line-height:1.85}.philo-s-card.is-accent p{color:rgba(255,255,255,.82)}
.philo-strength{background:#fff}.philo-strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.philo-strength-grid.is-four{grid-template-columns:repeat(2,1fr)}.philo-strength-grid article{position:relative;overflow:hidden;min-height:210px;padding:26px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#faf7ef 100%);border:1px solid rgba(185,146,73,.18);box-shadow:var(--shadow2)}.philo-strength-grid article:before{content:"";position:absolute;left:26px;top:0;width:54px;height:3px;background:linear-gradient(90deg,#b99249,#e8d08c);border-radius:999px}.philo-strength-grid b{display:block;margin:22px 0 10px;color:#6e511f;font-size:18px;line-height:1.55}.philo-strength-grid p{margin:0;color:#655f56;font-size:13px;line-height:1.85}.philo-promise{padding-top:40px}.philo-promise-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:.9fr 1fr auto;align-items:center;gap:32px;padding:44px;border-radius:38px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(216,189,115,.26),transparent 28%),linear-gradient(135deg,#111 0%,#251f15 62%,#735928 100%);box-shadow:0 34px 90px rgba(17,17,17,.18)}.philo-promise-panel:before{content:"";position:absolute;inset:14px;border-radius:30px;border:1px solid rgba(255,255,255,.12);pointer-events:none}.philo-promise-panel h2{margin:10px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(30px,3.7vw,50px);line-height:1.45}.philo-promise-panel p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.82);line-height:2}.philo-promise-panel .btn{position:relative;z-index:1}@keyframes philoSlowZoom{0%{transform:scale(1.02)}100%{transform:scale(1.08)}}@keyframes philoFadeUp{to{opacity:1;transform:translateY(0)}}@keyframes philoGoldSheen{0%,100%{background-position:0% center}50%{background-position:100% center}}
@media(max-width:1080px){.philo-hero-grid,.philo-promise-panel{grid-template-columns:1fr}.philo-hero-card{min-height:auto}.philo-principle-grid{grid-template-columns:1fr 1fr}.philo-s-grid{grid-template-columns:repeat(3,1fr)}.philo-strength-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.philo-hero{min-height:auto;padding:104px 0 58px}.philo-hero-grid{gap:28px}.philo-breadcrumb{font-size:10px;margin-bottom:14px}.philo-logo-line{align-items:center;font-size:12px;line-height:1.6;margin-bottom:20px}.philo-logo-mark{width:44px;height:44px;border-radius:15px}.philo-logo-mark img{width:30px;height:30px}.philo-hero h1{font-size:clamp(36px,11.5vw,48px);line-height:1.32;letter-spacing:.035em;margin-bottom:20px}.philo-hero-copy p{font-size:14px;line-height:1.95}.philo-hero-actions .btn{width:100%}.philo-hero-card{border-radius:30px;padding:28px}.philo-quote{font-size:25px}.philo-statement-panel{padding:28px;border-radius:28px}.philo-statement-panel h2{font-size:clamp(28px,8.8vw,38px)}.philo-statement-panel p{font-size:14px}.philo-principle-grid,.philo-s-grid,.philo-strength-grid{grid-template-columns:1fr}.philo-principle-card,.philo-principle-card.is-large{min-height:250px;grid-row:auto;border-radius:24px;padding:24px}.philo-section-head{display:block}.philo-section-head h2{font-size:clamp(30px,9vw,42px)}.philo-s-card{min-height:230px;border-radius:24px}.philo-strength-grid article{min-height:auto;border-radius:24px}.philo-promise-panel{padding:30px;border-radius:28px}.philo-promise-panel .btn{width:100%}}

/* ===== Final WordPress theme polish ===== */
.logo-mark img{width:100%;height:100%;object-fit:contain;padding:7px;border-radius:50%}
.footer .logo{display:inline-flex;margin-bottom:14px}.footer .logo-mark img{padding:7px}
.sub-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.single-main-photo{margin-bottom:24px}.single-main-photo img{width:100%;max-height:460px;object-fit:cover}.pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:28px}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:900;padding:0 12px}.pagination .current,.nav-links .current{background:#111;color:#fff;border-color:#111}.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box .search-form{display:flex;gap:10px;flex-wrap:wrap}.search-box input[type="search"]{flex:1;min-width:240px;border:1px solid var(--line);border-radius:999px;padding:14px 18px;background:#fff}.search-box input[type="submit"],.search-box button{border:0;border-radius:999px;padding:14px 22px;background:#111;color:#fff;font-weight:900}.teacher-archive-row{align-items:stretch}.teacher-card a img{transition:.35s}.teacher-card:hover a img{transform:scale(1.04)}.course-thumb-link{display:block;overflow:hidden}.course-thumb-link img{transition:.35s}.course-card:hover .course-thumb-link img{transform:scale(1.04)}
@media(max-width:760px){.sample-grid{grid-template-columns:1fr}.sub-hero-actions{flex-direction:column}.sub-hero-actions .btn{width:100%}.search-box .search-form{display:grid}.search-box input[type="search"]{min-width:0;width:100%}.pagination .page-numbers,.nav-links .page-numbers{min-width:36px;height:36px}.wide-card-body{padding:22px}.detail-box{padding:24px}}


/* ===== Top page philosophy copy refinement ===== */
.recommended-hero-slider .recommended-title.recommended-title-animated{
  max-width: 820px !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
  letter-spacing: .045em !important;
}
.recommended-hero-slider .recommended-subnote{
  border-left: 1px solid rgba(216,189,115,.52);
  padding-left: 16px;
}
@media(max-width:767px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    font-size: clamp(34px, 10.8vw, 48px) !important;
    line-height: 1.28 !important;
    letter-spacing: .035em !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
    width: auto !important;
    max-width: 100% !important;
  }
  .recommended-hero-slider .recommended-subnote{
    font-size: 13px !important;
    line-height: 1.85 !important;
    padding-left: 12px;
  }
}
@media(max-width:390px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    font-size: clamp(31px, 10vw, 40px) !important;
  }
}

/* ===== HERO TITLE PC LAYOUT FIX =====
   キャッチコピーがPCでビジュアル側へはみ出さないように、
   3行構成＋行ごとの余白・サイズを最終調整 */
.recommended-hero-slider .recommended-hero-copyarea{
  position: relative;
  z-index: 3;
}
.recommended-hero-slider .recommended-title.recommended-title-animated{
  display:block !important;
  width:100% !important;
  max-width:640px !important;
  font-size:clamp(44px,4.9vw,74px) !important;
  line-height:1.10 !important;
  letter-spacing:.03em !important;
  text-wrap:balance;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line + .recommended-title-line{
  margin-top:.06em;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(2),
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(3){
  line-height:1.02 !important;
}
.recommended-hero-slider .recommended-title.recommended-title-animated::after{
  width:min(230px,42%) !important;
}
@media (min-width: 1281px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    max-width:660px !important;
    font-size:72px !important;
  }
}
@media (max-width: 1180px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    max-width:100% !important;
    font-size:clamp(42px,6vw,64px) !important;
  }
}
@media (max-width: 640px){
  .recommended-hero-slider .recommended-title.recommended-title-animated{
    font-size:clamp(34px,10.2vw,44px) !important;
    line-height:1.22 !important;
  }
  .recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line + .recommended-title-line{
    margin-top:.08em;
  }
}

/* ===== HERO TITLE 4-LINE ADJUSTMENT ===== */
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(1),
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(2){
  color:#fff;
}
.recommended-hero-slider .recommended-title.recommended-title-animated .recommended-title-line:nth-child(2){
  margin-top:.03em;
}
