:root{
      --ink:#17324b;--ink-soft:#496078;--blue:#0b80d8;--blue-dark:#075a9d;
      --sky:#dff4ff;--pink:#f02f91;--pink-dark:#be236f;--pink-pale:#fff0f8;
      --lav:#ece9ff;--cream:#fffaf6;--white:#fff;--line:#dce8f2;
      --radius-s:14px;--radius-m:20px;--radius-l:30px;
      --elevation-1:0 8px 24px #304b6510;--elevation-2:0 18px 48px #304b651a;
      --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
      --sans:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:#fff;overflow-x:hidden}
    img{max-width:100%}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}p,h1,h2,h3,figure{margin-top:0}
    p{max-width:68ch;text-wrap:pretty}h1,h2,h3{text-wrap:balance}
    :focus-visible{outline:3px solid #075a9d;outline-offset:4px;border-radius:6px}
    .wrap{width:min(1100px,calc(100% - 80px));margin-inline:auto}
    .narrow{width:min(820px,calc(100% - 80px));margin-inline:auto}
    section{position:relative;scroll-margin-top:90px}
    .skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 16px}
    header{position:sticky;top:0;z-index:30;height:80px;display:flex;align-items:center;background:#ffffffec;border-bottom:1px solid #e9edf4;backdrop-filter:blur(14px)}
    .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{font:600 20px/1.35 var(--serif);letter-spacing:.06em;white-space:nowrap}
    .brand small{display:block;color:var(--pink-dark);font:700 10px/1.4 var(--sans);letter-spacing:.16em}
    .nav{display:flex;align-items:center;gap:13px;color:#475d72}
    .nav>a:not(.nav-cta){display:flex;align-items:center;min-height:44px;padding:0 7px;border-radius:10px}
    .nav a:hover{color:var(--pink)}
    .nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 26px;border-radius:999px;background:linear-gradient(120deg,var(--pink),#ff67a9);color:#fff;box-shadow:0 10px 28px #f02f9130;transition:transform .2s,box-shadow .2s,filter .2s}
    .nav-cta{min-height:44px;padding:10px 18px;color:#fff!important}.cta-mobile{display:none}
    .button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px #f02f9140}.button:active,.nav-cta:active{transform:scale(.98);filter:saturate(.9)}
    .button.blue{background:linear-gradient(120deg,var(--blue),#56bbee);box-shadow:0 10px 28px #0b80d830}
    .eyebrow{display:flex;align-items:center;gap:12px;color:var(--pink-dark);}
    .eyebrow:before{content:"";width:34px;height:3px;background:linear-gradient(90deg,var(--pink),var(--blue))}
    .section-word{position:absolute;z-index:0;top:10px;left:50%;transform:translateX(-50%);width:min(1220px,95%);font:900 clamp(72px,12vw,170px)/.8 var(--sans);letter-spacing:-.065em;color:transparent;background:linear-gradient(90deg,#facfe6,#dad7ff,#cceeff);background-clip:text;-webkit-background-clip:text;opacity:.55;white-space:nowrap;pointer-events:none}
    .section-title{position:relative;z-index:1;margin:0 auto 42px;text-align:center}
    .section-title .eyebrow{justify-content:center}.section-title p{margin-inline:auto}
    .section-title h2{margin:12px 0 8px}
    .section-title p{color:var(--ink-soft);margin:0}

    .hero{min-height:calc(100vh - 80px);display:grid;align-items:center;overflow:hidden;background:linear-gradient(120deg,#fff 0 52%,#f7f1ff 52% 76%,#e7f7ff 76%)}
    .hero:before{content:"";position:absolute;inset:-25% 50% 25% -20%;background:linear-gradient(140deg,#fff0f8aa,#e9f5ff55);transform:skewY(-10deg)}
    .hero-word{position:absolute;left:2%;top:1%;color:#fff;font:900 clamp(100px,18vw,260px)/1 var(--sans);letter-spacing:-.08em;text-shadow:0 0 1px #eedbea;opacity:.72;z-index:0}
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:58px;padding:56px 0 62px}
    .hero-content{width:auto;text-align:left}
    h1{margin:20px 0 26px}
    .hero-line{display:block;white-space:nowrap}.hero-line:nth-child(2){color:var(--blue)}.hero-line:last-child{color:var(--pink-dark)}
    .hero-line.hero-magic{white-space:normal;font-weight:inherit}.hero-magic span{display:inline-block;white-space:nowrap}
    .hero-sub{font:600 24px/1.75 var(--serif);margin:0 0 8px}.hero-sub strong{color:var(--pink)}
    .hero-note{color:var(--ink-soft);margin:0 0 24px}
    .identity{display:flex;align-items:center;gap:16px;width:max-content;max-width:100%;padding:14px 0 14px 18px;border-left:5px solid var(--pink);text-align:left}
    .identity strong{font:600 24px/1.35 var(--serif);white-space:nowrap}.identity span{color:var(--blue-dark);}
    .hero-actions{display:flex;gap:16px;align-items:center;margin-top:28px}.text-link{color:var(--blue-dark);border-bottom:2px solid var(--pink);padding:4px 1px}
    .hero-photo{position:relative;width:auto;margin:0}
    .hero-photo:before{content:"";position:absolute;inset:28px -22px -20px 22px;border-radius:48% 48% 25px 25px;background:linear-gradient(150deg,var(--pink),#b89cff 52%,#73cfff)}
    .hero-photo img{position:relative;display:block;width:100%;height:min(680px,70vh);object-fit:cover;object-position:center 28%;border:8px solid #fff;border-radius:48% 48% 25px 25px;box-shadow:0 25px 70px #344a7130}
    .round-copy{position:absolute;z-index:4;right:-35px;bottom:38px;width:190px;height:190px;display:grid;place-content:center;text-align:center;border-radius:50%;background:linear-gradient(140deg,#ff48a1,var(--pink-dark));color:#fff;border:7px solid #fff;box-shadow:0 15px 40px #e7368945;font:700 18px/1.65 var(--serif);transform:rotate(-5deg)}
    .spark{position:absolute;width:13px;height:13px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.spark.s1{right:14px;top:25px}.spark.s2{left:17px;bottom:34px;width:9px;height:9px}

    .concept{overflow:hidden;isolation:isolate;padding:130px 0 110px;background:linear-gradient(165deg,#fff 0 72%,#edf8ff 72%)}
    .concept:after{content:"";position:absolute;z-index:0;right:-140px;top:30%;width:430px;height:430px;border:80px solid #f7dbeb80;border-radius:50%;pointer-events:none}
    .concept-grid{position:relative;z-index:2;display:grid;grid-template-columns:.94fr 1.06fr;gap:64px;align-items:center}
    .concept-photo{position:relative}.concept-photo:before{content:"";position:absolute;left:-28px;top:-28px;width:64%;height:46%;background:var(--pink-pale);clip-path:polygon(0 0,100% 0,78% 100%,0 76%)}
    .concept-photo img{position:relative;display:block;width:100%;aspect-ratio:1/1.08;object-fit:cover;border-radius:8px 110px 8px 8px;box-shadow:0 20px 55px #38547420}
    .concept-copy h2{margin:16px 0 22px}.concept-copy h2 strong{color:var(--pink-dark)}
    .lead{color:var(--blue-dark)}
    .concept-copy p:not(.lead){color:#3d5870;}
    .walk-steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}
    .walk-step{position:relative;padding:24px 18px 21px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--elevation-1)}
    .walk-step:before{content:attr(data-step);display:grid;place-items:center;width:38px;height:38px;margin-bottom:13px;border-radius:50%;background:var(--sky);color:var(--blue-dark);font-weight:900}
    .walk-step:nth-child(even):before{background:var(--pink-pale);color:var(--pink-dark)}
    .walk-step:not(:last-child):after{content:"";position:absolute;right:-13px;top:42px;width:12px;border-top:2px dashed var(--pink)}
    .walk-step h3{margin:0 0 7px}.walk-step p{color:var(--ink-soft);margin:0}
    .walk-steps .walk-step h3{font-size:1.25rem;line-height:1.5;letter-spacing:0;min-height:3em}
    .walk-step h3 span{display:block}

    .sense{overflow:hidden;padding:135px 0 110px;background:#f8fbff}
    .sense-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}
    .sense-copy h2{margin:17px 0 20px}.sense-copy h2 span{color:var(--pink-dark)}
    .sense-copy>.lead{margin-bottom:18px}.sense-copy>p{color:var(--ink-soft)}
    .sense-photo{position:relative}.sense-photo img{display:block;width:100%;aspect-ratio:1/1.06;object-fit:cover;border-radius:120px 12px 120px 12px;border:8px solid #fff;box-shadow:18px 18px 0 var(--sky),0 22px 55px #284b6a20}
    .sense-badge{position:absolute;left:-26px;bottom:32px;padding:15px 21px;background:#fff;border-left:5px solid var(--pink);box-shadow:0 12px 28px #27455f22;}
    .sense-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}
    .sense-card{padding:30px 27px;background:#fff;border-radius:var(--radius-m);border-top:6px solid var(--pink);box-shadow:var(--elevation-1)}
    .sense-card:nth-child(2){border-color:#907be8}.sense-card:nth-child(3){border-color:var(--blue)}
    .sense-card small{color:var(--pink-dark);}.sense-card h3{margin:10px 0}.sense-card p{color:var(--ink-soft);margin:0}

    .about{overflow:hidden;padding:135px 0 115px;background:#fff}
    .about-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:68px;align-items:center}
    .about-copy h2{margin:14px 0 4px}.about-role{color:var(--pink-dark);margin-bottom:24px}
    .about-copy p{color:var(--ink-soft);}.about-quote{padding:18px 22px;background:linear-gradient(110deg,var(--pink-pale),#f1f0ff);border-left:6px solid var(--pink);font:600 20px/1.8 var(--serif)!important;color:var(--ink)!important}
    .about-photo{position:relative}.about-photo:before{content:"";position:absolute;inset:-25px 26% 55% -25px;background:linear-gradient(120deg,#ffdeef,var(--lav));clip-path:polygon(0 0,100% 12%,78% 100%,8% 84%)}
    .about-photo img{position:relative;display:block;width:100%;aspect-ratio:16/11;object-fit:cover;border:8px solid #fff;border-radius:12px 12px 100px 12px;box-shadow:0 22px 55px #2f4d681f}
    .name-card{position:absolute;right:-25px;bottom:-28px;padding:20px 25px;background:#fff;border-bottom:5px solid var(--pink);box-shadow:0 14px 35px #28415820}.name-card small{display:block;color:var(--blue);font-weight:900;letter-spacing:.12em}.name-card strong{font:600 24px/1.5 var(--serif)}

    .story{overflow:hidden;padding:135px 0 115px;background:linear-gradient(155deg,#fff7fb 0 54%,#edf8ff 54%)}
    .story-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
    .story-collage{position:relative;min-height:610px}.story-collage img{position:absolute;object-fit:cover;border:8px solid #fff;box-shadow:0 18px 50px #304d6c2a}
    .story-collage img:first-child{left:0;top:0;width:78%;height:430px;object-position:68% center;border-radius:10px 100px 10px 10px}
    .story-collage img:last-child{right:0;bottom:0;width:58%;height:330px;border-radius:100px 10px 10px 10px}
    .story-copy h2{margin:16px 0 22px}.story-copy p{color:#405a70;}.story-copy strong{color:var(--pink-dark)}

    .method{overflow:hidden;padding:135px 0 115px;background:#fff}
    .method-intro{position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;margin-bottom:54px}
    .method-intro h2{margin:15px 0 0}.method-intro p{color:var(--ink-soft);margin:0}
    .home-page main p:has(+ p){margin-bottom:0}
    .home-page main p + p{margin-top:14px}
    .method-heading{container-type:inline-size}
    .method-heading h2{font-size:min(var(--type-h2),7.8cqi)}
    .method-heading-line{white-space:nowrap}
    .method-flow{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
    .flow-card{position:relative;padding:31px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--elevation-1);text-align:center}
    .flow-card:not(:last-child):after{content:"→";position:absolute;z-index:3;right:-26px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#fff;font-weight:900}
    .flow-icon{width:76px;height:76px;margin:0 auto 17px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--pink-pale),var(--lav));color:var(--pink-dark);font:800 25px var(--serif)}
    .flow-card:nth-child(even) .flow-icon{background:linear-gradient(145deg,var(--lav),var(--sky));color:var(--blue-dark)}
    .flow-card small{display:block;color:var(--blue);}.flow-card h3{margin:8px 0}.flow-card p{color:var(--ink-soft);margin:0}
    .method-note{position:relative;z-index:2;max-width:850px!important;margin:40px auto 0!important;padding:24px 32px;background:linear-gradient(120deg,#f7fbff,#fff8fc);border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:16px;color:var(--ink);text-align:center;box-shadow:var(--elevation-1)}

    .voice{overflow:hidden;padding:135px 0 115px;background:#f9f7ff}
    .voice-panel{position:relative;z-index:2;padding:46px;background:#fff;border-radius:var(--radius-l);box-shadow:var(--elevation-2)}
    .voice-photo{position:relative;overflow:hidden;margin:0 0 34px;border-radius:22px 70px 22px 22px;background:#eef7ff}
    .voice-photo img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 42%}
    .voice-photo figcaption{position:absolute;left:22px;bottom:20px;max-width:calc(100% - 44px);padding:10px 16px;border-radius:999px;background:#fffffff0;color:var(--blue-dark);box-shadow:0 8px 24px #17304a24}
    .voice-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center}
    .voice-label{padding:22px;text-align:center;border-radius:16px;background:linear-gradient(135deg,var(--pink),#8d78e7);color:#fff;font-weight:900;letter-spacing:.08em}
    .voice-intro h3{margin:0 0 8px}.voice-intro p{color:var(--ink-soft);margin:0}
    .voice-format{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
    .voice-step{padding:22px;background:#fbfdff;border:1px solid var(--line);border-radius:14px}.voice-step small{color:var(--pink-dark);}.voice-step h3{margin:7px 0}.voice-step p{color:var(--ink-soft);margin:0}

    .media{overflow:hidden;padding:135px 0 115px;background:#fff}
    .media-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .media-actions{position:relative;z-index:2;margin-top:32px;text-align:center}
    .home-page .article{position:relative}
    .article-title-link::after{content:"";position:absolute;inset:0;border-radius:var(--radius-m)}
    .article-title-link:focus-visible{outline:none}
    .article-title-link:focus-visible::after{outline:3px solid var(--blue-dark);outline-offset:-3px}
    .article{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--elevation-1);transition:transform .2s,box-shadow .2s}
    .article:hover{transform:translateY(-5px)}
    .article img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
    .article-body{padding:23px}.article-meta{display:flex;justify-content:space-between;gap:12px;color:#718296;}.tag{color:var(--pink-dark);}
    .article h3{margin:13px 0 17px}.article-more{color:var(--blue-dark);}

    .lesson{overflow:hidden;padding:120px 0;background:linear-gradient(120deg,#116fb8,#716bd0 62%,#dc398f);color:#fff}
    .lesson:before{content:"LESSON";position:absolute;right:-1%;top:-5%;font:900 clamp(90px,16vw,220px)/1 var(--sans);color:#ffffff12;letter-spacing:-.06em}
    .lesson-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}
    .lesson h2{margin:15px 0 20px}.lesson p{color:#f3f5ff}.lesson-list{padding:27px 30px;background:#ffffff14;border:1px solid #ffffff35;border-radius:18px;backdrop-filter:blur(8px)}.lesson-list h3{margin-bottom:12px}.lesson-list ul{margin:0;padding-left:1.3em}.lesson-list li+li{margin-top:8px}
    .heading-line{display:block;white-space:nowrap}.mobile-tail{display:inline}

    .line-cta{overflow:hidden;padding:115px 0;background:linear-gradient(145deg,#fff6fb,#eef9ff)}
    .line-card{position:relative;z-index:2;display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;overflow:hidden;background:#fff;border-radius:30px;box-shadow:0 22px 65px #334c6c18}
    .line-photo{height:100%;min-height:480px}.line-photo img{display:block;width:100%;height:100%;object-fit:cover}
    .line-copy{padding:55px 58px}.line-copy h2{margin:14px 0 18px}.line-copy h2 strong{color:var(--pink-dark)}.line-copy p{color:var(--ink-soft)}
    .line-ready{display:inline-flex;align-items:center;justify-content:center;min-height:58px;margin-top:10px;padding:14px 27px;border-radius:999px;background:linear-gradient(120deg,var(--pink),#ff67a9);color:#fff;box-shadow:0 10px 28px #f02f9130}

    footer{padding:50px 0;background:#18344d;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.footer-nav{display:flex;flex-wrap:wrap;gap:18px 25px;}.copyright{margin:26px 0 0;color:#b9c9d5;}
    .mobile-nav{display:none}
    @media(prefers-reduced-motion:no-preference){
      .hero-content{animation:heroCopyIn .9s cubic-bezier(.22,1,.36,1) both}
      .hero-photo{animation:heroPhotoIn 1.05s .12s cubic-bezier(.22,1,.36,1) both}
      .round-copy{animation:badgeFloat 4.8s 1.2s ease-in-out infinite}
      .spark{animation:sparkle 2.8s ease-in-out infinite}.spark.s2{animation-delay:1.1s}
      .section-word{animation:wordDrift 12s ease-in-out infinite alternate}
      .motion-on .reveal-item{opacity:0;transform:translate3d(0,28px,0) scale(.985);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
      .motion-on .reveal-item.reveal-left{transform:translate3d(-34px,12px,0) scale(.985)}
      .motion-on .reveal-item.reveal-right{transform:translate3d(34px,12px,0) scale(.985)}
      .motion-on .reveal-item.revealed{opacity:1;transform:translate3d(0,0,0) scale(1)}
      .motion-on .walk-step.revealed:hover,.motion-on .sense-card.revealed:hover,.motion-on .flow-card.revealed:hover,.motion-on .voice-step.revealed:hover,.motion-on .article.revealed:hover{transform:translateY(-6px);box-shadow:var(--elevation-2)}
      @keyframes heroCopyIn{from{opacity:0;transform:translate3d(-28px,18px,0)}to{opacity:1;transform:none}}
      @keyframes heroPhotoIn{from{opacity:0;transform:translate3d(34px,20px,0) scale(.97)}to{opacity:1;transform:none}}
      @keyframes badgeFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-9px) rotate(-3deg)}}
      @keyframes sparkle{0%,100%{opacity:.45;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(45deg)}}
      @keyframes wordDrift{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(-50%,-8px,0)}}
    }

    @media(max-width:900px){
      body{padding-bottom:78px}.wrap,.narrow{width:min(100% - 48px,680px)}
      header{height:72px}.nav a:not(.nav-cta){display:none}
      .hero{min-height:auto;background:linear-gradient(160deg,#fff 0 47%,#f6efff 47% 70%,#e7f7ff 70%)}
      .hero-grid{grid-template-columns:1fr;padding:42px 0 65px}.hero-content{order:0}.hero-photo{order:1;width:min(86%,520px);margin:auto}
      .hero-photo img{height:min(560px,100vw)}.round-copy{right:-28px;bottom:22px;width:160px;height:160px;font-size:16px}
      .hero-sub{font-size:21px}
      .concept,.sense,.about,.story,.method,.voice,.media{padding:110px 0 90px}
      .concept-grid,.sense-grid,.about-grid,.story-grid,.method-intro,.voice-intro,.lesson-grid,.line-card{grid-template-columns:1fr;gap:38px}
      .concept-copy,.sense-copy,.about-copy,.story-copy,.method-intro>div,.method-intro>p{width:100%;max-width:620px;margin-inline:auto}
      .section-title{max-width:620px}
      .concept-photo{order:1}.sense-photo{width:min(90%,520px);margin:auto}.about-photo{order:0}.about-copy{order:1}
      .walk-steps,.method-flow{grid-template-columns:repeat(2,1fr)}
      .walk-step:not(:last-child):after,.flow-card:not(:last-child):after{display:none}
      .story-collage{min-height:580px}
      .sense-cards,.voice-format,.media-grid{grid-template-columns:1fr}
      .section-word{top:22px;font-size:clamp(64px,16vw,105px)}
      .method-intro{align-items:start}.line-photo{min-height:430px}.line-copy{padding:42px}
      .mobile-nav{position:fixed;z-index:50;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;padding:5px;border:1px solid #ffffffaa;border-radius:20px;background:#fffffff0;box-shadow:0 12px 38px #17324b35;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
      .mobile-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:5px 2px;border-radius:15px;color:#3f5870;text-align:center}
      .mobile-nav a:last-child{background:linear-gradient(135deg,var(--pink),#ff70b2);color:#fff;box-shadow:0 5px 15px #f02f9130}
      .mobile-nav a:active{background:var(--pink-pale);color:var(--pink-dark)}
      .mobile-nav a:last-child:active{background:var(--pink-dark);color:#fff}
      .cta-desktop{display:none}.cta-mobile{display:inline}
    }
    @media(max-width:540px){
      .wrap,.narrow{width:calc(100% - 36px)}.brand{font-size:17px}.brand small{font-size:9px}.nav-cta{padding:9px 13px}
      .hero-word{font-size:92px;top:3%}.hero-grid{padding-top:28px}.hero-photo{width:92%}.hero-photo:before{inset:18px -10px -12px 12px}.hero-photo img{height:440px;border-width:6px}
      .round-copy{right:-19px;bottom:16px;width:138px;height:138px;border-width:5px;font-size:14px}
      .hero-line:nth-child(2){font-size:.82em}.hero-sub{font-size:19px}
      .identity{align-items:flex-start;flex-direction:column;gap:5px}.identity strong{font-size:22px}.hero-actions{align-items:stretch;flex-direction:column}.text-link{text-align:center}
      .section-word{font-size:58px;top:30px}
      .mobile-tail{display:block}
      .concept,.sense,.about,.story,.method,.voice,.media{padding:98px 0 76px}
      .concept-grid,.sense-grid,.about-grid,.story-grid{gap:30px}.concept-photo img{border-radius:8px 70px 8px 8px}.walk-steps,.method-flow{grid-template-columns:1fr}
      .method-note{padding:22px 20px;text-align:center}
      .sense-badge{left:-8px;bottom:18px}.name-card{right:-5px;bottom:-24px;padding:15px 18px}
      .story-collage{min-height:440px}.story-collage img:first-child{height:300px}.story-collage img:last-child{height:245px;width:62%}
      .voice-panel{padding:25px 20px}.voice-photo{border-radius:15px 48px 15px 15px}.voice-photo img{height:260px}.voice-photo figcaption{left:14px;bottom:14px;max-width:calc(100% - 28px);}.line-cta{padding:78px 0}.line-card{border-radius:20px}.line-photo{min-height:360px}.line-copy{padding:33px 24px}.line-ready{width:100%;text-align:center}
      .lesson{padding:85px 0}.lesson-list{padding:24px 22px}.footer-inner{flex-direction:column}.footer-nav{gap:14px 18px}
    }
    @media(max-width:360px){
      .hero-line:nth-child(2){font-size:.74em}
      .round-copy{width:126px;height:126px;font-size:13px}
      .mobile-nav{left:7px;right:7px}
    }
    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    }

/* Current page indication shared by the unified navigation. */
.footer-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.mobile-nav a[aria-current="page"]:not(:last-child){color:var(--pink-dark);background:var(--pink-pale)}

/* Responsive LINE gift banner, shared only by TOP and SNS. */
.line-gift-banner{padding:64px 0;background:var(--white)}
.line-gift-banner-inner{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.line-gift-banner picture,.line-gift-banner img{display:block;width:100%}
.line-gift-banner img{height:auto}
@media(max-width:767px){
  .line-gift-banner{padding:40px 0}
  .line-gift-banner-inner{width:calc(100% - 36px)}
}

/* Shared typography scale. Decorative lettering, numbers, quotes and logos keep their own styles. */
:root{
  --type-h1:2.75rem;--type-h2:2.25rem;--type-h3:1.625rem;--type-card:1.5rem;
  --type-body:1.125rem;--type-lead:1.25rem;--type-nav:.9375rem;--type-button:1rem;
  --type-label:.8125rem;--type-note:.9375rem;
  --leading-body:1.9;--leading-heading:1.5;--leading-lead:1.8;--leading-card:1.8;--leading-nav:1.5;
  --tracking-heading:.015em;
}
@media(min-width:768px) and (max-width:1024px){
  :root{--type-h1:2.5rem;--type-h2:2.0625rem;--type-h3:1.5625rem;--type-card:1.4375rem;--type-lead:1.1875rem}
}
@media(max-width:767px){
  :root{--type-h1:2.125rem;--type-h2:1.75rem;--type-h3:1.4375rem;--type-card:1.375rem;--type-lead:1.1875rem}
}
body{font:400 var(--type-body)/var(--leading-body) var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
body:has(>main .hero) h1{line-height:1.4}
h1{font-size:var(--type-h1)}
h2{font-size:var(--type-h2)}
h3{font-size:var(--type-h3)}
main p{font-size:var(--type-body);line-height:var(--leading-body);font-family:var(--sans);font-weight:400}
:is(.lead,.hero-sub,.column-hero-lead p,.sns-hero .column-hero-lead p,.miyuki-profile-lead){font-size:var(--type-lead);line-height:var(--leading-lead);font-family:var(--sans);font-weight:600}
:is(.walk-step,.sense-card,.flow-card,.voice-step,.article,.column-card,.miyuki-steps,.sns-card,.consult-cards) h3{font-size:var(--type-card)}
:is(.walk-step,.sense-card,.flow-card,.voice-step,.article,.column-card,.miyuki-steps,.sns-card,.consult-cards) p{line-height:var(--leading-card)}
.nav,.footer-nav,.mobile-nav a{font-size:var(--type-nav);line-height:var(--leading-nav);font-family:var(--sans);font-weight:700}
.button,.line-ready,.text-link,.article-more{font-size:var(--type-button);line-height:var(--leading-nav);font-family:var(--sans);font-weight:800}
.nav-cta{font-size:var(--type-button);line-height:var(--leading-nav);font-weight:800}
.eyebrow{font:800 var(--type-label)/var(--leading-nav) var(--sans);letter-spacing:.16em}
:is(.sense-card,.flow-card,.voice-step) small{font:800 var(--type-label)/var(--leading-nav) var(--sans)}
:is(.tag,.column-category,.article-meta,.sns-account,.sns-new-tab,.copyright,.identity span,.hero-note,.sense-badge,.about-role,.method-note){font-size:var(--type-note);line-height:var(--leading-body)}
figure figcaption:where(:not(.round-copy)){font-size:var(--type-note);line-height:var(--leading-body)}
.consult-checklist li{font-size:var(--type-body);line-height:var(--leading-body)}
.consult-questions summary{font-size:var(--type-lead);line-height:var(--leading-lead);font-weight:700}
.sns-platform{font:700 var(--type-card)/var(--leading-heading) var(--sans)}
@media(max-width:767px){
  .line-copy .heading-line,.lesson .heading-line{white-space:normal}
}
/* Introductory copy uses the lead role across all page heroes. */
.miyuki-hero .miyuki-copy p:where(:not(.eyebrow,.miyuki-signature,.miyuki-emphasis)),
.consult-hero .consult-copy p:where(:not(.eyebrow,.consult-emphasis)){
  font-size:var(--type-lead);line-height:var(--leading-lead);font-weight:400;
}
/* Two-column entrances follow the visual left/right positions on wide screens. */
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
  :is(.miyuki-grid,.miyuki-talk-card,.miyuki-quote-panel,.column-talk-card,.sns-journal-grid,.column-hero-inner,.consult-hero-grid,.consult-message-grid)>:first-child{--entry-x:-48px;--entry-y:0px}
  :is(.miyuki-grid,.miyuki-talk-card,.miyuki-quote-panel,.column-talk-card,.sns-journal-grid,.column-hero-inner,.consult-hero-grid,.consult-message-grid)>:last-child{--entry-x:48px;--entry-y:0px}
}
