/*
Theme Name: TS Vocal Manual
Author: TS Vocal School
Description: 通常の固定ページを手動編集するテーマ。本文の自動置換・一括切替機能なし。
Version: 2.0.1
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ts-vocal-manual
*/

:root{--ink:#303137;--muted:#74777e;--accent:#d76c73;--light:#f4f5f8;--line:#dadddf;--green:#31815a;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;background:white;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a,button,summary{touch-action:manipulation}button,input,textarea{font:inherit}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}p{margin:0 0 1.05em}h1,h2,h3{line-height:1.5;margin:0;font-weight:700}h2{font-size:30px;letter-spacing:.055em}h3{font-size:24px}.container{width:min(var(--max),calc(100% - 80px));margin:auto}.narrow{max-width:900px}.section{padding:100px 0}.section-head{margin-bottom:38px}.eyebrow{display:block;color:var(--accent);font-size:14px;font-weight:800;letter-spacing:.16em;margin-bottom:10px}.center{text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.center .buttons{justify-content:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 25px;min-height:58px;min-width:240px;text-align:left;font-weight:700;font-size:14px;transition:background .2s,color .2s}.button span{font-size:20px;font-weight:400}.button:hover{background:var(--accent);border-color:var(--accent);color:white}.button.line{background:var(--green);border-color:var(--green)}.button.line:hover{background:#286947}.micro{font-size:14px;letter-spacing:.06em;margin:18px 0 8px}.site-header{background:white;position:relative;z-index:20}.header-inner{max-width:1440px;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:auto}.brand{display:flex;align-items:center;gap:24px}.brand-mark{font-family:Arial,sans-serif;font-weight:900;line-height:.9;font-size:53px;letter-spacing:-.05em;display:block}.brand-mark span{font-size:9px;letter-spacing:.12em;display:block;line-height:2;margin-top:4px}.brand-text{font-size:13px;font-weight:700;max-width:355px;line-height:1.7}.brand-text small{display:block;color:var(--accent);font-size:11px;margin-bottom:4px}.header-contact{display:flex;align-items:center;gap:22px}.header-contact small{font-size:10px;line-height:1.8}.header-contact .button{min-width:168px;font-size:13px;padding:12px 20px;background:var(--accent);border-color:var(--accent)}#global-nav{border-top:1px solid #efefef;border-bottom:1px solid #e8e8e8}#global-nav>ul{display:flex;list-style:none;justify-content:center;max-width:1200px;margin:0 auto;padding:0}#global-nav>ul>li{position:relative;flex:1;text-align:center;white-space:nowrap;font-size:12px;font-weight:bold}#global-nav>ul>li>a{display:block;padding:15px 8px}#global-nav>ul>li:last-child{color:var(--green)}.submenu{display:none;position:absolute;top:100%;left:0;min-width:240px;text-align:left;background:white;box-shadow:0 8px 20px #0002;list-style:none;padding:10px;font-size:12px}.submenu a{display:block;padding:10px}#global-nav li:hover>.submenu,#global-nav li:focus-within>.submenu,#global-nav li.expanded>.submenu{display:block}.submenu-toggle{position:absolute;right:2px;top:13px;border:0;background:none;font-size:13px;padding:4px}.menu-toggle{display:none}.hero{height:min(680px,70vw);min-height:520px;background:#36383f;position:relative;overflow:hidden;color:white}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,#282a32 2%,#282a32ed 25%,#282a3299 48%,#282a321c 90%),url('assets/current-top.jpg') center right/80% auto no-repeat;filter:saturate(.5)}.hero-inner{position:relative;width:min(var(--max),calc(100% - 80px));margin:auto;padding:92px 0}.hero-kicker{font-size:16px;letter-spacing:.12em;font-weight:700;margin-bottom:22px}.hero h1{font-size:clamp(48px,5.3vw,78px);letter-spacing:.065em;line-height:1.4}.hero-bottom{display:flex;align-items:center;gap:38px;margin-top:32px}.hero-bottom>p{font-size:18px;letter-spacing:.06em;border-left:3px solid var(--accent);padding-left:18px;margin:0}.growth{line-height:1.2;display:flex;flex-wrap:wrap;align-items:baseline;width:175px;gap:4px;color:white;font-size:14px}.growth strong{font-size:64px;letter-spacing:-.06em;color:#f3a8ad;font-family:Arial,sans-serif}.growth small{font-size:26px;margin-left:4px}.growth span{width:100%;font-size:14px;letter-spacing:.1em}.hero-scroll{position:absolute;bottom:23px;left:40px;font-size:9px;letter-spacing:.19em;display:flex;gap:22px;align-items:center}.hero-scroll>span{font-size:22px}.info{background:var(--light)}.info .section-head{display:flex;align-items:baseline;gap:25px;flex-direction:row-reverse;justify-content:flex-end}.info .section-head h2{font-size:26px}.recruit{display:grid;grid-template-columns:260px 1fr;border:1px solid #dcc3c5;background:#fff;margin-bottom:35px}.recruit-label{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 20px;background:#f4e9ea;border-left:4px solid var(--accent)}.recruit h3{font-size:16px}.status-dot{height:8px;width:8px;background:var(--accent);border-radius:50%;flex-shrink:0}.recruit-copy{padding:23px 28px;font-size:14px;line-height:1.9}.recruit-copy p{margin:0}.recruit-copy p:first-child{font-weight:700;margin-bottom:4px}.recruit a,.feature-body p>a,.detail-body a,.lesson-layout p>a{border-bottom:1px solid currentColor;color:var(--green)}.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:35px}.article-card{background:white;transition:transform .2s}.article-card:hover{transform:translateY(-5px)}.article-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.article-card>span{padding:18px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;line-height:1.7}.article-card b{font-size:20px;color:var(--accent);font-weight:400}.welcome{padding:120px 0}.welcome-visual{position:relative;padding:0 22px 28px 0}.welcome-visual:after{content:"";position:absolute;inset:35px 0 0 35px;background:#f2ecec;z-index:-1}.welcome-visual img{aspect-ratio:4/5;object-fit:cover;object-position:45% center}.vertical-label{position:absolute;right:3px;top:8px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:var(--muted)}.welcome h2{font-size:26px}.welcome p{font-size:15px}.welcome .buttons{gap:10px}.welcome .button{min-width:0;flex:1;font-size:12px;padding:15px}.features{background:var(--light)}.features>.container>.section-head{margin-bottom:62px}.feature{display:grid;grid-template-columns:100px minmax(0,1fr);gap:34px;padding:50px 0;border-top:1px solid var(--line)}.feature-index{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.feature-index span{font-size:10px;letter-spacing:.13em;color:var(--muted)}.feature-index b{font-size:68px;letter-spacing:-.05em;font-family:Arial,sans-serif;margin-top:12px;color:var(--accent);font-weight:400}.feature h3{font-size:28px;margin-bottom:25px}.feature-body{max-width:840px}.feature-body p{font-size:15px;margin-bottom:12px}.feature-1,.feature-3{grid-template-columns:100px minmax(0,1fr) 29%}.feature-image{width:100%;height:100%;max-height:470px;object-fit:cover;object-position:50% 25%}.feature-1 .portrait{max-height:410px}.feature-3 .feature-image{object-fit:cover;object-position:40% center}details{border-bottom:1px solid #d5d7dc;margin-top:0;background:transparent}details:first-of-type{border-top:1px solid #d5d7dc}summary{font-size:17px;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 5px}summary::-webkit-details-marker{display:none}summary:after{content:"＋";font-weight:400;font-size:23px;color:var(--accent);line-height:1}details[open]>summary:after{content:"−"}.detail-body{padding:0 10px 25px;font-size:15px}.detail-body ul{padding-left:22px;margin:0}.detail-body li{margin-bottom:13px}.feature details{margin-top:28px}.feature summary{font-size:14px;padding:17px 4px}.video-grid{display:grid;gap:12px}.video-link{display:flex;gap:12px;align-items:center;font-size:12px}.play{color:var(--accent)}.video-link>span:last-child{margin-left:auto}.age{display:inline-block;padding:7px 20px;background:var(--light);font-size:14px;margin-bottom:30px}.lesson-layout{display:grid;grid-template-columns:250px 1fr;gap:50px;padding:45px 0;border-top:1px solid var(--line)}.lesson-label{display:flex;align-items:baseline;gap:18px}.lesson-label span{color:var(--accent);font-size:15px;font-family:Arial,sans-serif}.lesson-label h3{font-size:21px}.lesson-layout p{font-size:15px;margin-bottom:7px}.lesson-layout .recruit{display:block;margin:28px 0 0}.lesson-layout .recruit-label{justify-content:flex-start;padding:12px 22px}.lesson-layout .recruit-copy{padding:20px 24px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:15px;white-space:nowrap}th{background:var(--light);font-size:13px}th,td{padding:20px;border-bottom:1px solid var(--line)}td strong{font-size:27px;color:var(--accent)}.notes{margin:20px 0}.notes p{font-size:12px;margin:2px 0}.lesson-layout .micro{margin-top:25px}.lesson-layout .button{margin-top:14px}figure{margin:30px 0 0}figure img{width:100%}figcaption{font-size:12px;margin-top:10px;color:var(--muted)}.voices{padding:0;list-style:none;margin:0 0 20px}.voices li{border-bottom:1px solid var(--line);padding:18px 0 18px 25px;font-size:16px;position:relative}.voices li:before{content:'“';position:absolute;left:0;color:var(--accent);font-size:32px;top:7px}.method{background:var(--light)}.method>.container>p{margin-bottom:35px}.learn{padding-top:85px}.message{background:var(--light)}.message-layout{display:grid;grid-template-columns:34% 1fr;gap:85px;align-items:start}.coach-photo{position:sticky;top:40px}.coach-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%}.coach-photo>p{font-size:16px;font-family:Arial,sans-serif;margin-top:15px}.coach-photo>p span{font-size:11px;color:var(--muted)}.message-catch{font-size:35px;margin:0 0 35px;line-height:1.6}.message-layout>div>p{font-size:15px}.message-buttons{display:flex;align-items:end;flex-wrap:wrap;gap:20px;margin-top:32px}.message-buttons .button{min-width:230px;font-size:12px;padding:14px 18px}.message-buttons .micro{font-size:12px;text-align:center}.blog .split{grid-template-columns:1fr 1.3fr}.blog .section-head{margin:0}.contact{background:#35363e;color:white;padding:90px 0}.contact .section-head{margin:40px 0 20px}.contact .eyebrow{color:#efa0a5}.contact>.container>p{font-size:14px}.contact .buttons>.button{border-color:#666670;background:transparent}.contact .buttons>.button:last-child{background:var(--accent);border-color:var(--accent)}footer{background:#f1f2f5;padding:45px 0 25px}.share{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-bottom:35px;border-bottom:1px solid var(--line)}.share a,.share button{background:white;border:1px solid var(--line);padding:5px 14px;font-size:11px;color:var(--ink)}#copy-result{font-size:11px}.footer-main{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding:50px 0}.footer-main p{font-size:12px;margin:3px 0}.footer-brand{font-size:45px;font-family:Arial,sans-serif;font-weight:900;line-height:1;margin-bottom:25px}.footer-brand span{display:block;font-size:10px;letter-spacing:.2em;margin-top:5px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-content:start}.footer-links a{font-size:12px;border-bottom:1px solid var(--line);padding:8px 0}.copyright{font-size:9px;text-align:center;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:0}.mobile-bar{display:none}.demo-edit{position:fixed;bottom:20px;right:20px;background:#fff;color:var(--ink);border:1px solid #bbb;padding:9px 17px;font-size:11px;box-shadow:0 4px 15px #0001;z-index:30;border-radius:30px}dialog{border:0;width:min(600px,calc(100% - 32px));padding:35px;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#20212999}dialog h2{font-size:23px;margin-bottom:15px}dialog p,dialog label{font-size:13px}dialog textarea{width:100%;padding:12px;margin-top:10px;line-height:1.8;font-size:14px;border:1px solid #bbb}dialog .buttons{margin-top:20px}.dialog-close{position:absolute;right:12px;top:5px;background:none;border:0;font-size:26px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100;background:white;padding:10px}
@media(min-width:1700px){.hero-photo{background-size:65% auto}.hero-inner{padding-top:95px}}@media(max-width:1100px){.header-contact small{display:none}.brand-text{max-width:310px}.header-inner{padding:20px 30px}.container{width:calc(100% - 60px)}.hero-inner{width:calc(100% - 80px)}.split{gap:40px}.feature-1,.feature-3{grid-template-columns:75px minmax(0,1fr) 27%}.feature{gap:25px}.feature h3{font-size:25px}.message-layout{gap:50px}.lesson-layout{grid-template-columns:205px 1fr;gap:30px}.recruit{grid-template-columns:235px 1fr}.brand-mark{font-size:45px}}
@media(max-width:760px){body{font-size:15px}.container{width:calc(100% - 40px)}.section{padding:65px 0}h2{font-size:25px}.section-head{margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:8px}.header-inner{padding:15px 20px;gap:12px}.brand{gap:13px}.brand-mark{font-size:38px}.brand-mark span{font-size:7px}.brand-text{font-size:9px;max-width:200px;line-height:1.6}.brand-text small{font-size:9px;margin-bottom:3px}.header-contact{display:none}.menu-toggle{display:flex;align-items:center;flex-direction:column;font-size:8px;line-height:1.1;background:none;border:0;gap:5px;padding:7px}.menu-toggle span{font-size:22px}#global-nav{display:none}#global-nav.open{display:block}#global-nav>ul{display:block;padding:10px 20px 20px}#global-nav>ul>li{text-align:left;border-bottom:1px solid var(--line)}#global-nav>ul>li>a{padding:14px 10px}.submenu-toggle{top:7px;right:2px;padding:10px}.submenu{position:static;box-shadow:none;padding:0 20px;background:var(--light)}#global-nav li:hover>.submenu{display:none}#global-nav li.expanded>.submenu,#global-nav li:focus-within.expanded>.submenu{display:block}.hero{min-height:0;height:580px}.hero-photo{background:linear-gradient(180deg,#24262e20 10%,#24262e8c 38%,#24262e 74%),url('assets/current-top.jpg') 65% top/auto 70% no-repeat}.hero-inner{width:calc(100% - 40px);padding:228px 0 0}.hero-kicker{font-size:12px;letter-spacing:.08em;margin-bottom:14px}.hero h1{font-size:42px;letter-spacing:.035em;line-height:1.45}.hero-bottom{gap:20px;margin-top:24px;align-items:center}.hero-bottom>p{font-size:11px;padding-left:10px;line-height:1.8;white-space:nowrap}.growth{width:130px;font-size:11px;gap:1px}.growth strong{font-size:48px}.growth small{font-size:21px}.growth span{font-size:11px}.hero-scroll{left:20px;bottom:12px;font-size:8px}.hero-scroll>span{font-size:17px}.info .section-head{display:block}.info .section-head h2{font-size:25px}.recruit{display:block;margin-bottom:26px}.recruit-label{padding:14px 18px;justify-content:flex-start}.recruit h3{font-size:15px}.recruit-copy{padding:20px;font-size:13px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.article-card>span{font-size:11px;padding:13px 10px}.article-card b{font-size:17px}.button{min-width:240px;font-size:13px;padding:15px 20px;min-height:56px}.split{grid-template-columns:1fr;gap:42px}.welcome-visual{max-width:540px;padding-right:20px}.welcome-visual img{aspect-ratio:4/3}.welcome h2{font-size:24px}.welcome p{font-size:14px}.welcome .buttons{flex-direction:column}.welcome .button{flex:none;min-height:56px;font-size:13px;padding:15px 20px}.feature,.feature-1,.feature-3{grid-template-columns:46px minmax(0,1fr);gap:20px;padding:34px 0}.feature-index b{font-size:45px}.feature-index span{font-size:7px}.features>.container>.section-head{margin-bottom:35px}.feature h3{font-size:21px;margin-bottom:20px}.feature-body p{font-size:14px;line-height:2}.feature-image{grid-column:2;width:100%;height:240px;max-height:none;object-position:50% 20%}.feature-1 .feature-image{height:280px;object-position:50% 28%}.feature-3 .feature-image{height:auto;aspect-ratio:16/10}.feature summary{font-size:12px}.video-link{font-size:12px}.age{font-size:12px}.lesson-layout{grid-template-columns:1fr;gap:22px;padding:30px 0}.lesson-label h3{font-size:20px}.lesson-layout p{font-size:14px}.lesson-layout .recruit-copy p{font-size:13px}th,td{padding:14px 10px}th{font-size:11px}td{font-size:13px}td strong{font-size:23px}.notes p{font-size:11px}.voices li{font-size:14px}summary{font-size:15px;padding:21px 0}.detail-body{font-size:14px;padding:0 0 20px}.method>.container>p{font-size:14px}.message-layout{grid-template-columns:1fr;gap:30px}.coach-photo{position:static;max-width:340px}.coach-photo img{aspect-ratio:1/1.1;object-position:50% 25%}.message-catch{font-size:29px;margin-bottom:25px}.message-layout>div>p{font-size:14px}.message-buttons{display:block}.message-buttons .button{width:100%;font-size:13px;padding:15px 20px}.message-buttons .micro{margin-top:25px}.blog .split{grid-template-columns:1fr;gap:25px}.blog p{font-size:14px}.contact{padding:65px 0}.contact .section-head{margin-top:32px}.contact .buttons{display:grid}.contact>.container>p{font-size:13px}.footer-main{grid-template-columns:1fr;gap:30px;padding:35px 0}.footer-links{gap:7px 20px}.footer-links a{font-size:10px}.share{gap:7px}.share a,.share button{padding:5px 10px;font-size:10px}.copyright{font-size:8px;text-align:left;line-height:1.9}footer{padding-bottom:100px}.mobile-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:white;box-shadow:0 -2px 15px #0001;padding:7px 0 calc(7px + env(safe-area-inset-bottom));z-index:25}.mobile-bar a{text-align:center;font-size:9px;line-height:1.5;border-right:1px solid #eee}.mobile-bar a span{display:block;font-size:20px;line-height:1.5}.mobile-bar a:nth-child(3){color:var(--accent)}.demo-edit{bottom:83px;right:12px;font-size:10px;padding:7px 12px}dialog{padding:30px 22px}dialog .button{min-width:0}.buttons{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Rounded buttons coordinated with the original LINE button. */
.button{border-radius:32px;min-height:62px;padding:15px 26px;gap:14px;position:relative;overflow:hidden;box-shadow:0 3px 0 rgba(0,0,0,.12);transition:background .18s,transform .18s,box-shadow .18s}
.button:hover{transform:translateY(-2px);box-shadow:0 5px 10px #0002}
.button:active{transform:translateY(1px);box-shadow:none}
.button .btn-label{font:inherit!important;flex:1;text-align:center;line-height:1.5}
.button .btn-arrow{font-size:20px;line-height:1;font-weight:400}
.button .line-icon{width:29px;height:29px;flex:0 0 29px;color:white}
.button .mail-icon{width:23px;height:23px;flex:0 0 23px}
.button.line{background:#06c755!important;border:1px solid #06c755!important;color:white!important;justify-content:center}
.button.line:hover{background:#05b34c!important;border-color:#05b34c!important;color:white!important}
@media(max-width:760px){.button{min-height:60px}.welcome .button{padding:15px 22px;font-size:13px;min-height:60px}.header-contact .button{min-height:50px}.button .line-icon{width:27px;height:27px;flex-basis:27px}}

/* B option / larger readable type */
:root{--accent:#C9141D;--muted:#595d65;--green:#06c755}
body{font-size:20px;line-height:2;color:#303137}
.section-head h2,h2{font-size:36px;line-height:1.55}
.eyebrow{font-size:17px;letter-spacing:.1em;color:#C9141D}
.section-head{margin-bottom:40px}
.button,.header-contact .button,.welcome .button,.message-buttons .button,.contact .buttons>.button{font-size:18px;min-height:64px;padding:16px 24px;background:#C9141D;border-color:#C9141D;color:white}
.button:hover,.header-contact .button:hover,.welcome .button:hover,.message-buttons .button:hover{background:#9F1018;border-color:#9F1018}
.button.line{background:#06c755!important;border-color:#06c755!important}
.button .btn-label{font-size:inherit!important}
.brand-text{font-size:15px;max-width:420px}.brand-text small{font-size:13px}.header-contact small{font-size:13px}.header-inner{gap:22px}.header-contact{gap:16px}.header-contact .button{min-width:180px}
#global-nav>ul>li{font-size:15px}#global-nav>ul>li>a{padding:18px 10px}.submenu{font-size:16px;min-width:290px}.submenu-toggle{font-size:16px;top:15px}
.hero{height:700px;min-height:0;background:#171c22}
.hero-photo{filter:none;background-repeat:no-repeat;background-position:center;background-size:cover;opacity:0;transition:opacity 1.2s ease;inset:0}
.hero-photo.hero-man{background-image:url('assets/hero-man.webp')}
.hero-photo.hero-woman{background-image:url('assets/hero-woman.webp')}
.hero-photo.active{opacity:1}
.hero-inner{padding:105px 0 0;z-index:1;pointer-events:none}
.hero-kicker{font-size:21px;letter-spacing:.04em;margin-bottom:30px}
.hero h1{font-size:64px;line-height:1.5;letter-spacing:.035em;text-shadow:0 2px 15px #0004}
.hero-bottom{margin-top:40px;gap:30px}.hero-bottom>p{font-size:20px;max-width:none;white-space:normal}.growth{width:185px;font-size:18px}.growth strong{font-size:68px}.growth span{font-size:18px;letter-spacing:0}.growth small{font-size:30px}
.hero-controls{position:absolute;z-index:3;bottom:24px;right:40px;display:flex;gap:10px;align-items:center}
.hero-controls button{min-width:44px;height:44px;background:#242a32db;color:#fff;border:1px solid #ffffff99;border-radius:24px;font-size:16px;line-height:1;box-shadow:0 2px 10px #0002}
.hero-controls .slide-dot.current{background:#fff;color:#333}.hero-controls #slide-toggle{padding:0 20px;min-width:108px;font-size:15px}
.hero-scroll{font-size:12px;letter-spacing:.1em}
.info .section-head h2{font-size:34px}.recruit{grid-template-columns:285px 1fr}.recruit-label{padding:24px 20px}.recruit h3{font-size:21px}.recruit-copy{font-size:19px;padding:25px 30px;line-height:1.95}.recruit-copy p{margin:0 0 6px}.recruit a{color:#276345}
.article-card>span{font-size:18px;padding:20px 16px;line-height:1.65}.article-grid{gap:20px}
.welcome h2{font-size:32px}.welcome p,.feature-body p,.lesson-layout p,.method>.container>p,.message-layout>div>p,.blog p,.contact>.container>p{font-size:20px;line-height:2}
.welcome .split{gap:48px}.welcome .buttons{display:grid;grid-template-columns:1fr}.welcome .button{font-size:18px;padding:16px 24px}
.feature{grid-template-columns:100px minmax(0,1fr);gap:32px;padding:55px 0}.feature h3{font-size:32px}.feature-body p{margin-bottom:16px}.feature-1,.feature-3{grid-template-columns:90px minmax(0,1fr) 25%;gap:28px}.feature-body{max-width:820px}.feature-image{max-height:520px}.feature-3 .feature-image{height:350px;align-self:center}
summary{font-size:22px;padding:25px 8px;line-height:1.7}.feature summary{font-size:20px;padding:20px 5px}.detail-body{font-size:20px;line-height:2}.video-link{font-size:18px;line-height:1.8}.video-link .play{font-size:17px}.micro{font-size:18px}.age{font-size:19px}.lesson-layout{grid-template-columns:245px 1fr;gap:38px}.lesson-label h3{font-size:25px}.lesson-label span{font-size:19px}.lesson-layout .recruit-copy p{font-size:19px}.lesson-layout .recruit h3{font-size:21px}.lesson-layout .micro{font-size:18px}.notes p{font-size:17px;line-height:1.9}table{font-size:20px}th{font-size:18px}td strong{font-size:31px}.voices li{font-size:20px;line-height:1.9}figcaption{font-size:17px;color:#595d65}
.message-layout{grid-template-columns:31% 1fr;gap:65px}.message-catch{font-size:42px}.message-buttons{display:grid;grid-template-columns:1fr;max-width:410px}.message-buttons .micro{font-size:18px}.coach-photo>p{font-size:21px}.coach-photo>p span{font-size:17px}.blog .split{grid-template-columns:1fr 1.4fr}.contact .buttons>.button:last-child{background:#C9141D;border-color:#C9141D}.contact .eyebrow{color:#edacb2}.contact .section-head h2{font-size:36px}
.footer-main{grid-template-columns:1fr 1.4fr;gap:45px}.footer-main p{font-size:18px}.footer-links{gap:10px 24px}.footer-links a{font-size:17px;line-height:1.85}.copyright{font-size:14px}.share a,.share button{font-size:15px;padding:8px 15px}.demo-edit{font-size:14px;padding:10px 18px}dialog p,dialog label{font-size:18px}dialog textarea{font-size:18px}dialog h2{font-size:27px}dialog{width:min(680px,calc(100% - 32px))}
@media(max-width:1100px){.header-contact small{display:none}.brand-text{max-width:420px}.brand-text small{font-size:13px}.header-inner{padding:20px 30px}.feature-1,.feature-3{grid-template-columns:80px minmax(0,1fr)}.feature-1 .feature-image,.feature-3 .feature-image{grid-column:2;max-width:500px;max-height:360px;height:300px;object-fit:cover;object-position:50% 25%}.lesson-layout{grid-template-columns:210px 1fr;gap:30px}.recruit{grid-template-columns:235px 1fr}.recruit h3{font-size:20px}.article-card>span{font-size:17px}.hero h1{font-size:58px}.hero-kicker{font-size:19px}.message-layout{gap:40px}.button{min-width:230px}}
@media(max-width:760px){body{font-size:18px;line-height:1.95}.container{width:calc(100% - 40px)}.section{padding:65px 0}.section-head h2,h2,.info .section-head h2,.welcome h2,.contact .section-head h2{font-size:29px;line-height:1.6}.eyebrow{font-size:15px;letter-spacing:.08em}.section-head{margin-bottom:28px}
.header-inner{padding:15px 16px;gap:10px}.brand{gap:11px}.brand-mark{font-size:36px}.brand-text{font-size:12px;max-width:230px;line-height:1.6}.brand-text small{font-size:11px}.menu-toggle{min-width:45px;font-size:10px;padding:6px}.menu-toggle span{font-size:25px}#global-nav>ul>li{font-size:17px}#global-nav>ul>li>a{padding:17px 10px}.submenu{font-size:17px;min-width:0}.submenu-toggle{font-size:19px;top:7px;padding:12px}
.hero{height:735px;min-height:0}.hero-photo{background-size:auto 440px;background-position:72% top}.hero-photo.hero-woman{background-position:79% top}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#171c2220 35%,#171c22 59%,#171c22 100%)}
.hero-inner{width:calc(100% - 40px);padding:360px 0 0}.hero-kicker{font-size:16px;letter-spacing:0;margin-bottom:18px;line-height:1.8}.hero h1{font-size:38px;line-height:1.5;letter-spacing:.02em}.hero-bottom{gap:16px;margin-top:28px;align-items:center}.hero-bottom>p{font-size:17px;padding-left:10px;max-width:165px;white-space:normal;line-height:1.8}.growth{font-size:14px;width:143px}.growth strong{font-size:48px}.growth small{font-size:24px}.growth span{font-size:15px;letter-spacing:0}.hero-controls{bottom:20px;right:20px;gap:8px}.hero-controls button{height:44px;min-width:44px}.hero-controls #slide-toggle{min-width:100px;padding:0 14px;font-size:14px}.hero-scroll{display:none}
.button,.header-contact .button,.welcome .button,.message-buttons .button,.contact .buttons>.button{font-size:18px;min-width:0;width:100%;min-height:64px;padding:16px 22px}.buttons{display:grid;grid-template-columns:1fr;width:100%}.recruit{display:block}.recruit-label{padding:16px 18px}.recruit h3{font-size:20px}.recruit-copy{padding:21px 20px;font-size:18px;line-height:1.95}.article-grid{gap:14px}.article-card>span{font-size:17px;padding:16px 12px;line-height:1.65}.article-card b{font-size:20px;flex-shrink:0}.article-card img{aspect-ratio:4/3}
.welcome p,.feature-body p,.lesson-layout p,.method>.container>p,.message-layout>div>p,.blog p,.contact>.container>p{font-size:18px;line-height:2}.feature,.feature-1,.feature-3{grid-template-columns:1fr;gap:18px;padding:38px 0}.feature-index{flex-direction:row;align-items:baseline;gap:12px}.feature-index span{font-size:12px}.feature-index b{font-size:43px;margin:0}.feature h3{font-size:26px;margin-bottom:23px}.feature-image,.feature-1 .feature-image,.feature-3 .feature-image{grid-column:1;max-width:none;height:280px;max-height:360px;width:100%;object-position:50% 25%}.feature-3 .feature-image{height:auto;aspect-ratio:16/10}.feature-body p{margin-bottom:16px}.feature summary,summary{font-size:20px;line-height:1.7;padding:23px 0}.detail-body{font-size:18px;line-height:2;padding:0 0 24px}.video-link{font-size:17px;line-height:1.8}.micro,.lesson-layout .micro,.message-buttons .micro{font-size:17px}.age{font-size:18px}.lesson-layout{grid-template-columns:1fr;gap:24px;padding:35px 0}.lesson-label h3{font-size:24px}.lesson-label span{font-size:18px}.lesson-layout .recruit-copy p{font-size:18px}.lesson-layout .recruit h3{font-size:20px}.notes p{font-size:16px;line-height:1.9}table{font-size:18px}th{font-size:16px;white-space:normal}th,td{padding:18px 11px}td strong{font-size:26px}.voices li{font-size:18px}figcaption{font-size:16px}.message-layout{grid-template-columns:1fr;gap:32px}.message-catch{font-size:32px}.message-buttons{display:grid;max-width:none;gap:15px}.coach-photo>p{font-size:21px}.coach-photo>p span{font-size:16px}.blog .split{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:30px}.footer-main p{font-size:17px}.footer-links{grid-template-columns:1fr;gap:5px}.footer-links a{font-size:17px;line-height:1.85;padding:12px 0}.copyright{font-size:13px}.share a,.share button{font-size:14px;padding:8px 12px}.mobile-bar a{font-size:12px;line-height:1.7}.mobile-bar a span{font-size:23px}.mobile-bar{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.demo-edit{bottom:100px;font-size:13px;padding:9px 15px}footer{padding-bottom:125px}dialog p,dialog label,dialog textarea{font-size:17px}dialog .buttons{display:flex;flex-wrap:wrap}dialog .button{width:auto}}
@media(max-width:370px){.hero h1{font-size:35px}.hero-bottom>p{font-size:16px;max-width:145px}.growth{width:130px}.brand-text{font-size:11px}.brand-text small{font-size:10px}.mobile-bar a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}}
.brand-mark{flex-shrink:0}.brand-mark span{white-space:nowrap}
@media(min-width:1001px){#global-nav>ul>li:nth-child(2){flex:1.65}#global-nav>ul>li:has(.submenu)>a{padding-right:30px}.submenu-toggle{right:8px}}
@media(min-width:761px) and (max-width:1000px){.header-contact{display:none}.menu-toggle{display:flex;align-items:center;flex-direction:column;font-size:12px;line-height:1.2;background:none;border:0;gap:5px;padding:8px}.menu-toggle span{font-size:26px}#global-nav{display:none}#global-nav.open{display:block}#global-nav>ul{display:block;padding:10px 30px 20px}#global-nav>ul>li{text-align:left;border-bottom:1px solid var(--line)}#global-nav>ul>li>a{padding:16px 10px}.submenu-toggle{top:9px;right:2px;padding:10px}.submenu{position:static;box-shadow:none;padding:0 20px;background:var(--light)}#global-nav li:hover>.submenu{display:none}#global-nav li.expanded>.submenu{display:block}.hero h1{font-size:50px}.hero-kicker{font-size:18px}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#171c2266,transparent 80%)}.hero-bottom{flex-wrap:wrap;max-width:430px}}
@media(max-width:760px){.demo-edit{left:12px;right:auto;bottom:100px}.hero-bottom>p{width:165px;flex-shrink:0}.brand-mark span{font-size:7px}}

/* Photography, generous spacing, quiet editorial surfaces. */
:root{--accent:#C9141D;--line:#dedbd9}
body{background:#fffefa}.site-header{background:#fffefa}.header-inner{padding-top:25px;padding-bottom:25px}
.hero{height:710px}.hero-photo{background-color:#171c22}.hero-controls button{backdrop-filter:blur(8px)}
.hero-inner{padding-top:120px}.hero-kicker{letter-spacing:.08em}.hero h1{font-weight:700;letter-spacing:.05em}.hero-bottom{margin-top:38px}
.section{padding-top:108px;padding-bottom:108px}.eyebrow{font-family:Arial,"Yu Gothic",sans-serif;letter-spacing:.14em;font-weight:700}.section-head h2{letter-spacing:.035em}.section-head:after{content:"";display:block;width:42px;height:2px;background:#C9141D;margin-top:22px}.info .section-head:after{display:none}.info{background:#f4f1ef}.info .section-head{align-items:center}.recruit{background:#fffefa;border-color:#e5d1d1;border-radius:4px;overflow:hidden}.recruit-label{background:#f5e9e8}.article-grid{gap:22px}.article-card{background:#fffefa;border-bottom:1px solid #e0dcd7}.article-card img{aspect-ratio:1.5;object-fit:cover;filter:saturate(.75)}.article-card:first-child img{object-position:50% 18%}.article-card:nth-child(2) img{object-position:90% 65%}.article-card>span{padding:22px 14px}.article-card:hover{transform:translateY(-4px)}.article-card b{color:#C9141D}
.welcome{background:#fffefa}.welcome .split{align-items:center;gap:65px}.welcome-visual{padding:0 25px 145px 0;isolation:isolate}.welcome-visual:after{inset:32px 0 70px 38px;background:#eee9e4}.welcome-visual>img{aspect-ratio:1.12;width:100%;object-fit:cover;object-position:50% 50%;height:auto;filter:saturate(.8)}.welcome-inset{position:absolute;left:70px;right:0;bottom:0;border:10px solid #fffefa;box-shadow:0 15px 35px #33281d14}.welcome-inset img{width:100%;aspect-ratio:1.8;object-fit:cover}.vertical-label{right:5px;color:#68645e;top:20px;font-size:12px}.welcome p{margin-bottom:22px}
.features{background:#f2efeb}.features>.container{width:min(1240px,calc(100% - 64px))}.features>.container>.section-head{padding-left:58px;margin-bottom:50px}.feature,.feature-1,.feature-3{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:24px;padding:62px 58px;margin-bottom:32px;position:relative;isolation:isolate;border:0;overflow:hidden;box-shadow:0 8px 30px #342c2210;background:#f6f3ef;min-height:470px}.feature-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-2}.feature:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf8f5 0%,#faf8f5fa 38%,#faf8f5e8 57%,#faf8f58c 77%,#faf8f514 100%)}.feature-index{grid-column:1;position:relative}.feature-index span{font-size:11px;letter-spacing:.13em;color:#746a65}.feature-index b{font-size:62px;font-weight:400;color:#C9141D}.feature-body{grid-column:2;width:73%;max-width:740px}.feature h3{font-size:31px;line-height:1.6;letter-spacing:.02em;margin-bottom:28px}.feature-body p{font-size:20px;line-height:2;margin-bottom:16px}.feature-body>p:last-child{margin-bottom:0}.feature-body p>a{color:#326747}.feature-body details{margin-top:28px;background:#fffefa9c;border-color:#cfc7c2}.feature-body summary{padding:20px 12px;font-size:20px}.feature-body .detail-body{padding:0 16px 22px}.feature-1{background:#22262c;min-height:540px;color:#fffefa}.feature-1:before{background:linear-gradient(90deg,#20252bf9 0%,#20252bf2 34%,#20252bd9 58%,#20252b66 78%,#20252b10 100%)}.feature-1 .feature-index span{color:#d2c7c2}.feature-1 .feature-index b{color:#e9b4bb}.feature-1 .feature-body details{background:#282b3299;border-color:#a6a0a066}.feature-1 summary:after{color:#e9b4bb}.feature-1 .play{color:#e9b4bb}.feature-1 .video-link:hover{color:#e9b4bb}.feature-2 .feature-body{width:75%}.feature-3 .feature-body{width:73%}.feature-4{min-height:530px}.feature-5{margin-bottom:45px}.features>.container>.center{padding-top:0}.features .micro{color:#625850}.lessons{background:#fffefa}.lesson-layout{border-color:#e0dad5}.lesson-label span{color:#C9141D}.lesson-layout figure{padding:12px;background:#f5f1eb}.lesson-layout figure img{width:100%;aspect-ratio:1.55;object-fit:cover}.lesson-layout figcaption{padding:3px 6px}.method{background:#efece8}.learn{background:#fffefa}.message{background:#f1eeea}.coach-photo img{aspect-ratio:.77;object-fit:cover;object-position:50% 24%;box-shadow:20px 20px 0 #e5ddd5}.coach-photo>p{margin-top:36px}.message-catch{letter-spacing:.04em}.blog{background:#fffefa}.contact{background:#272b32}.contact .section-head:after{margin-left:auto;margin-right:auto;background:#e6afb7}.footer-main{padding-top:65px;padding-bottom:65px}footer{background:#eeeae5}.button{box-shadow:0 3px 0 #5e273324}.button:hover{box-shadow:0 7px 18px #5e273322}.button.line{box-shadow:0 3px 0 #006d2b33}.button.line:hover{box-shadow:0 7px 18px #006d2b22}
@media(max-width:1100px){.features>.container{width:calc(100% - 48px)}.features>.container>.section-head{padding-left:30px}.feature,.feature-1,.feature-3{padding:48px 34px;grid-template-columns:60px minmax(0,1fr);gap:20px}.feature-body,.feature-2 .feature-body,.feature-3 .feature-body{width:83%}.feature h3{font-size:29px}.feature:before{background:linear-gradient(90deg,#faf8f5 0%,#faf8f5fa 44%,#faf8f5ed 63%,#faf8f57a 87%,#faf8f530 100%)}.feature-1:before{background:linear-gradient(90deg,#20252bfc 0%,#20252bf5 45%,#20252be0 67%,#20252b66 100%)}.welcome .split{gap:45px}.welcome-visual{padding-bottom:110px}.welcome-inset{left:30px}.welcome-visual:after{bottom:50px}}
@media(max-width:760px){.header-inner{padding:15px 16px}.section{padding-top:68px;padding-bottom:68px}.hero{height:735px}.hero-inner{padding-top:360px}.hero-kicker{letter-spacing:0}.hero h1{font-size:38px;letter-spacing:.02em}.hero-bottom{margin-top:28px}.article-grid{gap:15px}.article-card img{aspect-ratio:1.4}.article-card>span{padding:18px 12px;font-size:17px}.article-card:first-child img{object-position:50% 15%}.welcome .split{gap:40px}.welcome-visual{padding:0 18px 95px 0}.welcome-visual>img{aspect-ratio:1.3}.welcome-visual:after{inset:25px 0 40px 25px}.welcome-inset{left:48px;border:7px solid #fffefa;bottom:0}.welcome-inset img{aspect-ratio:1.8}.vertical-label{right:2px;font-size:10px}.welcome p{margin-bottom:20px}.features>.container{width:calc(100% - 28px)}.features>.container>.section-head{padding:0 6px;margin-bottom:32px}.feature,.feature-1,.feature-3{display:flex;flex-direction:column;gap:0;padding:245px 24px 36px;min-height:0;margin-bottom:24px}.feature-backdrop{height:300px;object-fit:cover;object-position:right center;z-index:-2}.feature:before{background:linear-gradient(180deg,transparent 70px,#faf8f529 145px,#faf8f5d9 220px,#faf8f5 290px,#faf8f5 100%)}.feature-1:before{background:linear-gradient(180deg,#20252b10 70px,#20252b42 145px,#20252bd9 220px,#20252b 290px,#20252b 100%)}.feature-1{background:#20252b}.feature-body,.feature-2 .feature-body,.feature-3 .feature-body{width:100%;max-width:none}.feature-index{display:flex;flex-direction:row;align-items:baseline;gap:12px;margin-bottom:20px}.feature-index span{font-size:12px}.feature-index b{font-size:43px;line-height:1}.feature h3{font-size:26px;margin-bottom:24px;line-height:1.6}.feature-body p{font-size:18px;line-height:2;margin-bottom:17px}.feature-body summary{font-size:18px;padding:20px 0}.feature-body .detail-body{padding:0 0 20px}.feature-body details{background:transparent}.feature-1 .feature-body details{background:transparent}.feature-5{margin-bottom:35px}.features>.container>.center{padding:0 6px}.lesson-layout figure{padding:7px}.lesson-layout figure img{aspect-ratio:1.4}.lesson-layout figcaption{padding:2px}.coach-photo{padding-right:15px}.coach-photo img{box-shadow:15px 15px 0 #e5ddd5}.coach-photo>p{margin-top:28px}.footer-main{padding:40px 0}.hero-controls{bottom:20px}.contact .buttons{margin-top:30px}}
@media(max-width:370px){.hero h1{font-size:35px}.feature,.feature-1,.feature-3{padding-left:21px;padding-right:21px}.feature h3{font-size:25px}}

/* Dedicated image navigation / readable timetable / compact portrait. */
.article-grid{gap:22px;align-items:stretch}
.article-card{display:flex;flex-direction:column;border:1px solid #e4ded8;box-shadow:0 5px 15px #4d382408;transition:transform .2s,box-shadow .2s}
.article-card:hover{box-shadow:0 10px 22px #4d382416}
.article-card .card-visual{aspect-ratio:1.4;position:relative;overflow:hidden;background:#efe9e3;isolation:isolate}
.article-card .card-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;filter:none}
.article-card .card-visual.teacher{background:linear-gradient(130deg,#e8ddda,#d5c6c0)}
.card-visual.teacher:before{content:"";position:absolute;width:85%;aspect-ratio:1;border:1px solid #fff9;border-radius:50%;left:-23%;top:18%;z-index:-1}
.card-visual.teacher:after{content:"";position:absolute;width:70%;height:1px;background:#fff8;left:0;top:35%;transform:rotate(-35deg);z-index:-1}
.article-card .card-visual.teacher img{width:100%;height:calc(100% + 65px);object-fit:contain;object-position:center top;inset:8px 0 auto;max-width:none;filter:drop-shadow(0 8px 8px #4b302010)}
.article-card>span{flex:1;min-height:108px;align-items:center;gap:12px;padding:22px 16px;font-size:18px;background:#fffefa;border-top:1px solid #e7e1db}
.article-card b{flex-shrink:0}.welcome .split{display:block;max-width:840px;width:calc(100% - 80px)}
.welcome .section-head{max-width:none}.welcome .section-head h2{font-size:36px}.welcome p{font-size:20px;line-height:2.05;margin-bottom:21px}.welcome .buttons{display:flex;gap:20px;margin-top:36px}.welcome .button{flex:1;font-size:18px;min-width:0}
.message-layout{grid-template-columns:330px minmax(0,1fr);gap:65px;align-items:start}.coach-photo{width:100%;max-width:none;position:sticky;top:36px;padding:0}.coach-frame{width:100%;aspect-ratio:1;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#e8dfd6,#d8c9c0);border-radius:3px}
.coach-frame:before{content:"";position:absolute;width:105%;aspect-ratio:1;border-radius:50%;border:1px solid #fff9;left:-40%;top:15%;z-index:-1}
.coach-frame:after{content:"";position:absolute;inset:12px;border:1px solid #ffffff66;pointer-events:none;z-index:1}
.coach-photo .coach-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;aspect-ratio:auto;box-shadow:none;filter:drop-shadow(0 6px 8px #46322412)}
.coach-photo>p{margin-top:20px;line-height:1.8;font-size:22px}.coach-photo>p span{display:block;font-size:17px;color:#68615c}.message-layout>div:last-child{min-width:0}.message-catch{font-size:39px}
.schedule-table{border:1px solid #ded5cd;border-radius:4px;overflow:hidden;margin:0 0 22px;background:white}
.schedule-table table{width:100%;table-layout:fixed;border-collapse:collapse;white-space:normal;font-size:20px;line-height:1.65}
.schedule-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.schedule-table thead th{background:#8f4e58;color:#fff;font-size:18px;font-weight:700;border-bottom:0;padding:18px 22px}
.schedule-table thead th:first-child{width:38%}.schedule-table tbody th{background:#f5f1eb;color:#34363d;font-weight:700;font-size:19px}
.schedule-table td,.schedule-table tbody th{padding:22px;border-bottom:1px solid #e4dcd4;vertical-align:middle}
.schedule-table tbody td{background:#fffefa}.schedule-table tbody tr:last-child th,.schedule-table tbody tr:last-child td{border-bottom:0}
.schedule-table td strong{font-size:24px;font-weight:700;color:#41434a;letter-spacing:.025em;white-space:nowrap}
.schedule-table .closed td{font-size:19px;color:#69615e}.lesson-layout .taeko-note{font-size:18px;font-weight:700;line-height:1.9;background:#f3e7e6;border-left:3px solid #C9141D;padding:16px 18px;margin:0 0 25px;color:#68464a}
@media(max-width:1100px){.article-grid{gap:16px}.article-card>span{padding:18px 13px;font-size:17px}.message-layout{grid-template-columns:285px minmax(0,1fr);gap:40px}.message-catch{font-size:34px}.schedule-table td,.schedule-table tbody th{padding:20px 16px}.schedule-table thead th{padding:17px 16px}.schedule-table td strong{font-size:22px}}
@media(max-width:760px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.article-card .card-visual{aspect-ratio:1.2}.article-card .card-visual.teacher img{height:calc(100% + 45px);inset:5px 0 auto}.article-card>span{font-size:17px;line-height:1.65;padding:17px 12px;min-height:105px;gap:8px}.welcome .split{width:calc(100% - 40px)}.welcome .section-head h2{font-size:29px}.welcome p{font-size:18px;line-height:2;margin-bottom:20px}.welcome .buttons{display:grid;grid-template-columns:1fr;gap:15px;margin-top:28px}.welcome .button{width:100%;font-size:18px;padding:16px 22px}
.message-layout{grid-template-columns:1fr;gap:35px}.coach-photo{position:static;max-width:340px;width:100%;margin:0 auto;padding:0}.coach-frame{aspect-ratio:1.12}.coach-photo .coach-frame img{object-position:center top}.coach-photo>p{text-align:center;font-size:22px;margin-top:18px}.coach-photo>p span{font-size:17px}.message-catch{font-size:32px;line-height:1.65}.schedule-table table{font-size:18px}.schedule-table thead th{font-size:16px;line-height:1.7;padding:16px 12px}.schedule-table thead th:first-child{width:38%}.schedule-table tbody th{font-size:17px}.schedule-table td,.schedule-table tbody th{padding:20px 12px}.schedule-table td strong{font-size:20px;letter-spacing:0}.schedule-table .closed td{font-size:18px}.lesson-layout .taeko-note{font-size:17px;padding:15px 16px;line-height:1.85}}
@media(max-width:370px){.schedule-table thead th:first-child{width:36%}.schedule-table td,.schedule-table tbody th{padding:18px 9px}.schedule-table td strong{font-size:18px}.schedule-table tbody th{font-size:16px}.article-card>span{font-size:16px;padding:16px 10px}}

.ts-sub{--ts-rose:#C9141D;--ts-deep:#9F1018;--ts-ink:#303131;--ts-paper:#fffefa;--ts-warm:#f1eee9;--ts-border:#ded8d1;color:var(--ts-ink);background:var(--ts-paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:20px;line-height:1.95;overflow-wrap:anywhere;text-align:left}
.ts-sub,.ts-sub *{box-sizing:border-box}.ts-sub :is(h1,h2,h3,h4,p,figure,ul,ol,details,summary){padding:0;background:none;border:0;box-shadow:none;letter-spacing:normal;float:none}.ts-sub :is(h1,h2,h3,h4)::before,.ts-sub :is(h1,h2,h3,h4)::after{display:none}.ts-sub :is(h1,h2,h3,h4){color:var(--ts-ink);font-weight:700;line-height:1.55;margin:0 0 26px}.ts-sub h1{font-size:clamp(32px,3.7vw,52px)}.ts-sub h2{font-size:34px}.ts-sub h3{font-size:26px}.ts-sub h4{font-size:22px}.ts-sub p{margin:0 0 23px}.ts-sub a{color:var(--ts-deep);text-decoration:underline;text-underline-offset:5px}.ts-sub a:hover{opacity:.8}.ts-sub img{display:block;max-width:100%;height:auto;margin:0}.ts-sub .ts-wrap{width:calc(100% - 64px);max-width:1100px;margin:0 auto}.ts-sub .ts-narrow{max-width:880px}.ts-sub .ts-section{padding:85px 0}.ts-sub .ts-tint{background:var(--ts-warm)}.ts-sub .ts-eyebrow{display:block;font-size:16px;font-weight:700;letter-spacing:.16em;color:var(--ts-deep);margin-bottom:14px}.ts-sub .ts-heading{margin-bottom:40px}.ts-sub .ts-heading::after{content:"";display:block;width:42px;height:2px;background:var(--ts-rose);margin-top:25px}.ts-sub .ts-breadcrumb{font-size:15px;margin-bottom:32px}.ts-sub .ts-hero{position:relative;isolation:isolate;background:#f0ece7;padding:44px 0 65px;overflow:hidden}.ts-sub .ts-hero::after{position:absolute;content:"";z-index:-1;inset:0 0 0 48%;background:linear-gradient(90deg,#f0ece7 0%,#f0ece744 60%),url('assets/card-price.webp') center/cover;opacity:.85}.ts-sub.ts-profile .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/feature-professional.webp') center/cover;opacity:.17}.ts-sub .ts-hero p:last-child{max-width:660px;margin-bottom:0}.ts-sub .ts-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.ts-sub .ts-jumps a{display:flex;align-items:center;gap:24px;padding:10px 22px;border:1px solid #d5c8c1;border-radius:40px;background:#fffaf4d9;text-decoration:none;font-size:17px;font-weight:700}.ts-sub .ts-jumps a::after{content:"↓";color:var(--ts-rose)}.ts-sub .ts-btns{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:30px}.ts-sub a.ts-btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:66px;padding:17px 30px;border-radius:50px;background:var(--ts-rose);color:white;text-decoration:none;font-size:18px;line-height:1.6;font-weight:700;box-shadow:0 4px 0 #8b4c5622;max-width:100%}.ts-sub .ts-btn .btn-arrow{margin-left:18px;font-size:24px}.ts-sub .ts-btn.ts-line{background:#06c755}.ts-sub .line-icon{width:32px;height:32px;flex-shrink:0}.ts-sub .mail-icon{width:24px;height:24px;flex-shrink:0}.ts-sub .ts-label{display:inline-block;background:#f4e8e8;color:var(--ts-deep);font-size:17px;font-weight:700;padding:5px 14px;border-radius:4px}.ts-sub .ts-intro{padding:35px 40px;background:white;border:1px solid var(--ts-border);border-left:4px solid var(--ts-rose)}.ts-sub .ts-intro ul{margin:15px 0;padding-left:1.4em}.ts-sub .ts-note{font-size:17px;line-height:1.9;color:#525252}.ts-sub .ts-note p{margin-bottom:10px}.ts-sub .ts-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:20px;margin:0;border:1px solid var(--ts-border)}.ts-sub .ts-table :is(th,td){padding:20px 22px;border:1px solid var(--ts-border);text-align:left;vertical-align:middle;word-break:normal}.ts-sub .ts-table thead th{background:var(--ts-deep);color:white;font-size:18px}.ts-sub .ts-table tbody th{background:#f4f1eb}.ts-sub .ts-table strong{font-size:24px}.ts-sub .ts-schedule th:first-child{width:38%}.ts-sub .ts-callout{padding:17px 22px;border-left:3px solid var(--ts-rose);background:#f3e7e7;margin:20px 0;font-size:18px;font-weight:700}.ts-sub .ts-payment{padding:35px 40px;background:var(--ts-warm);margin-bottom:45px}.ts-sub .ts-first{display:grid;grid-template-columns:1fr 1.55fr;gap:45px;border:1px solid var(--ts-border);background:white;margin-bottom:32px}.ts-sub .ts-first-price{padding:40px;background:#f1e7e5}.ts-sub .ts-first-body{padding:40px 40px 40px 0}.ts-sub .ts-money{font-family:Arial,sans-serif;font-size:48px;line-height:1.4;color:var(--ts-deep);font-weight:700;margin:18px 0 5px;white-space:nowrap}.ts-sub .ts-money small{font-family:inherit;font-size:18px;margin-left:5px}.ts-sub .ts-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.ts-sub .ts-course{border:1px solid var(--ts-border);background:white;padding:38px}.ts-sub .ts-course.ts-standard{border-top:4px solid var(--ts-rose)}.ts-sub .ts-course.ts-spot{border-top:4px solid #8d8d82}.ts-sub .ts-course h3{margin-top:18px}.ts-sub .ts-course .ts-money{font-size:39px}.ts-sub .ts-rate{padding:18px 0;border-top:1px solid var(--ts-border)}.ts-sub .ts-rate p{margin:0}.ts-sub .ts-rate .ts-money{margin:3px 0}.ts-sub .ts-example{margin-top:50px}.ts-sub .ts-example td:last-child{font-weight:700}.ts-sub .ts-example tr:last-child{background:#f3e7e7}.ts-sub .ts-example .ts-note{margin-top:22px}.ts-sub .ts-coach{display:grid;grid-template-columns:310px minmax(0,1fr);gap:55px;padding:60px 0;border-bottom:1px solid var(--ts-border)}.ts-sub .ts-coach:first-of-type{padding-top:0}.ts-sub .ts-portrait{position:sticky;top:30px;align-self:start}.ts-sub .ts-portrait img{width:100%;height:390px;object-fit:cover;object-position:50% 38%;border-radius:2px;filter:saturate(.8)}.ts-sub .ts-portrait figcaption{font-size:17px;margin-top:18px;color:var(--ts-deep);letter-spacing:.03em}.ts-sub .ts-coach-name{font-family:Arial,sans-serif;font-size:30px;letter-spacing:.03em}.ts-sub .ts-coach-name small{display:block;font-family:Meiryo,sans-serif;font-size:17px;color:var(--ts-deep);margin-top:10px}.ts-sub .ts-message{padding:27px 30px;margin:35px 0;background:var(--ts-warm);border-left:3px solid var(--ts-rose)}.ts-sub .ts-message h4{font-size:20px;color:var(--ts-deep)}.ts-sub .ts-stage{margin:30px 0}.ts-sub .ts-stage img{width:100%;height:auto}.ts-sub .ts-stage figcaption{font-size:16px;margin-top:15px;color:#5c5b58;line-height:1.8}.ts-sub .ts-faq-group{margin:44px 0}.ts-sub .ts-faq-group h3{font-size:23px;padding-bottom:18px;border-bottom:2px solid var(--ts-rose);margin-bottom:0}.ts-sub details{margin:0;border-bottom:1px solid var(--ts-border)}.ts-sub summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:25px 4px;font-size:21px;line-height:1.7;font-weight:700}.ts-sub summary::-webkit-details-marker{display:none}.ts-sub summary::before{content:"Q";font-family:Georgia,serif;font-size:26px;color:var(--ts-rose);font-weight:400;flex-shrink:0}.ts-sub summary::after{content:"＋";margin-left:auto;color:var(--ts-rose);font-size:25px;flex-shrink:0}.ts-sub details[open] summary::after{content:"−"}.ts-sub .ts-answer{padding:0 45px 28px;color:#434343}.ts-sub .ts-answer p:last-child{margin-bottom:0}.ts-sub .ts-answer ul{padding-left:1.4em;margin:20px 0}.ts-sub .ts-bar-item{margin:22px 0;font-size:18px}.ts-sub .ts-bar-track{height:9px;background:#e8e2dc;margin-top:10px;border-radius:5px;overflow:hidden}.ts-sub .ts-bar-fill{height:100%;background:var(--ts-rose)}.ts-sub .ts-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ts-sub .ts-review{padding:30px;background:white;border:1px solid var(--ts-border)}.ts-sub .ts-review h3{font-size:23px}.ts-sub .ts-review .ts-review-person{font-size:17px;color:var(--ts-deep);font-weight:700}.ts-sub .ts-contact{text-align:center;border-top:1px solid var(--ts-border)}.ts-sub .ts-contact .ts-btns{justify-content:center}.ts-sub .ts-contact .ts-heading::after{margin-left:auto;margin-right:auto}.ts-sub :is(a,summary):focus-visible{outline:3px solid #98505f;outline-offset:5px}.ts-sub [id]{scroll-margin-top:25px}
@media(max-width:850px){.ts-sub .ts-coach{grid-template-columns:250px minmax(0,1fr);gap:30px}.ts-sub .ts-price-grid,.ts-sub .ts-first{grid-template-columns:1fr}.ts-sub .ts-first{gap:0}.ts-sub .ts-first-body{padding:30px}.ts-sub .ts-first-price{padding:30px}.ts-sub .ts-reviews{grid-template-columns:1fr}.ts-sub .ts-review{padding:30px}.ts-sub .ts-hero::after{inset:0 0 0 40%;opacity:.4}}
@media(max-width:600px){.ts-sub{font-size:18px;line-height:1.95}.ts-sub .ts-wrap{width:calc(100% - 40px)}.ts-sub .ts-section{padding:58px 0}.ts-sub .ts-hero{padding:28px 0 45px}.ts-sub h1{font-size:32px}.ts-sub h2{font-size:28px}.ts-sub h3{font-size:24px}.ts-sub .ts-heading{margin-bottom:30px}.ts-sub .ts-eyebrow{font-size:14px}.ts-sub .ts-hero::after{inset:0;opacity:.15}.ts-sub .ts-jumps{gap:9px}.ts-sub .ts-jumps a{font-size:16px;padding:9px 14px;gap:15px}.ts-sub .ts-intro,.ts-sub .ts-payment{padding:25px 22px}.ts-sub .ts-btns{flex-direction:column;align-items:stretch}.ts-sub .ts-btns a.ts-btn{width:100%}.ts-sub a.ts-btn{font-size:18px;padding:17px 20px}.ts-sub .ts-table{font-size:17px}.ts-sub .ts-table :is(th,td){padding:18px 12px}.ts-sub .ts-table thead th{font-size:16px}.ts-sub .ts-table strong{font-size:20px}.ts-sub .ts-example .ts-table :is(th,td){padding:16px 8px;font-size:16px}.ts-sub .ts-callout{font-size:17px;padding:16px}.ts-sub .ts-first-price,.ts-sub .ts-first-body,.ts-sub .ts-course{padding:28px 24px}.ts-sub .ts-money{font-size:44px}.ts-sub .ts-coach{display:block;padding:45px 0}.ts-sub .ts-portrait{position:static;max-width:340px;margin:0 auto 32px}.ts-sub .ts-portrait img{height:350px}.ts-sub .ts-coach-name{font-size:28px}.ts-sub .ts-message{padding:24px 20px}.ts-sub summary{font-size:19px;gap:13px;padding:23px 0}.ts-sub .ts-answer{padding:0 0 25px 0}.ts-sub .ts-faq-group h3{font-size:22px}.ts-sub .ts-stage figcaption{font-size:16px}.ts-sub .ts-review{padding:27px 24px}.ts-sub .ts-note{font-size:17px}}

.ts-sub .ts-portrait img.coach-cutout{background:linear-gradient(130deg,#eee5dd,#d8c7bd);object-position:center top}

.ts-sub .ts-wrap .ts-wrap{width:100%}.ts-sub .ts-example th:first-child{width:28%}.ts-sub .ts-example th:nth-child(2){width:40%}

.ts-sub .ts-frequency{background:#9F1018;color:white;border-radius:3px;padding:30px 38px;margin-bottom:28px}.ts-sub .ts-frequency .ts-eyebrow,.ts-sub .ts-frequency .ts-note{color:white}.ts-sub .ts-frequency p{font-size:24px;margin:0 0 10px}.ts-sub .ts-frequency strong{font-size:38px;display:inline-block;margin:0 10px;line-height:1.5;border-bottom:2px solid #e6b8ba}.ts-sub .ts-single-course{max-width:880px;margin:0 auto}.ts-sub .ts-single-course .ts-course{padding:40px}.ts-sub .ts-single-course .ts-rate{display:flex;gap:25px;justify-content:space-between;align-items:center}.ts-sub .ts-interval{padding:30px 36px;border:1px solid #ceadb1;background:#f4e9e8;margin-top:25px}.ts-sub .ts-interval h4{font-size:24px}.ts-sub .ts-interval p:last-child{margin-bottom:0}.ts-sub .ts-interval strong{font-size:23px;color:var(--ts-deep);white-space:nowrap}@media(max-width:600px){.ts-sub .ts-frequency{padding:25px 22px}.ts-sub .ts-frequency p{font-size:20px}.ts-sub .ts-frequency strong{display:block;font-size:36px;width:fit-content;margin:5px 0 10px}.ts-sub .ts-single-course .ts-course,.ts-sub .ts-interval{padding:28px 24px}.ts-sub .ts-single-course .ts-rate{display:block}.ts-sub .ts-interval h4{font-size:23px}}

.ts-sub.ts-access .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/card-access.webp') center/cover;opacity:.7}
.ts-sub.ts-flow .ts-hero::after,.ts-sub.ts-book .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/card-flow.webp') center/cover;opacity:.55}
.ts-sub.ts-review .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/feature-personal.webp') center/cover;opacity:.5}
.ts-sub.ts-solfege .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/feature-pitch.webp') center/cover;opacity:.5}
.ts-sub.ts-interview .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/feature-professional.webp') center/cover;opacity:.13}
.ts-sub .ts-arrival{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.ts-sub .ts-address{border-left:4px solid var(--ts-rose);background:var(--ts-warm);padding:30px 35px}.ts-sub .ts-address p:last-child{margin-bottom:0}.ts-sub .ts-walk{color:var(--ts-deep);font-weight:700;font-size:25px;margin:0 0 24px}.ts-sub .ts-map{margin-top:40px}.ts-sub .ts-map iframe{display:block;border:0;width:100%;height:440px;background:#ece8e3;border-radius:3px}.ts-sub .ts-map-fallback{font-size:17px;margin-top:15px}.ts-sub .ts-local-map{margin-bottom:35px}.ts-sub .ts-local-map img{width:100%;height:auto}.ts-sub .ts-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.ts-sub .ts-gallery figure{margin:0;background:white;border:1px solid var(--ts-border)}.ts-sub .ts-gallery figure a{display:block}.ts-sub .ts-gallery img{width:100%;height:auto}.ts-sub .ts-gallery figcaption{padding:18px 22px;font-size:19px}.ts-sub .ts-gallery figcaption small{display:block;color:#68615d;font-size:15px;margin-bottom:5px;letter-spacing:.12em}.ts-sub .ts-parking{border:1px solid #c8b1b4;border-left:4px solid var(--ts-rose);padding:32px;background:#f5eae8}.ts-sub .ts-parking strong{color:var(--ts-deep)}.ts-sub .ts-steps{margin:0;padding:0;list-style:none}.ts-sub .ts-steps>li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:35px;position:relative;margin:0;padding:0 0 48px}.ts-sub .ts-steps>li::before{content:"";position:absolute;top:80px;bottom:0;left:40px;width:1px;background:#ceb9bd}.ts-sub .ts-steps>li:last-child::before{display:none}.ts-sub .ts-step-number{width:82px;height:82px;border:1px solid #c5a8ad;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ts-deep);background:#fffefa;line-height:1.1;position:relative;z-index:1}.ts-sub .ts-step-number small{font-size:12px;letter-spacing:.1em}.ts-sub .ts-step-number b{font-family:Georgia,serif;font-size:36px;font-weight:400}.ts-sub .ts-step-card{padding:32px 38px;border:1px solid var(--ts-border);background:white}.ts-sub .ts-step-card p:last-child{margin-bottom:0}.ts-sub .ts-step-card h3{font-size:27px}.ts-sub .ts-book-table th:first-child{width:43%}.ts-sub .ts-book-table td{font-size:22px}.ts-sub .ts-interview-head{display:grid;grid-template-columns:175px minmax(0,1fr);gap:35px;align-items:center;margin-bottom:38px}.ts-sub .ts-interview-head img{width:175px;height:175px;object-fit:cover;border-radius:50%;border:7px solid white;box-shadow:0 0 0 1px #d9d0c8}.ts-sub .ts-interview-head h2{font-size:32px;margin:0}.ts-sub .ts-interview-head .ts-person-name{margin:0 0 10px;font-size:20px;letter-spacing:.05em;color:var(--ts-deep);font-weight:700}.ts-sub .ts-person-info{padding:25px 30px;background:var(--ts-warm);margin-bottom:38px}.ts-sub .ts-person-info p{margin:0 0 8px;font-size:18px}.ts-sub .ts-person-info p:last-child{margin-bottom:0}.ts-sub .ts-turn{margin:28px 0;padding:28px 32px;border:1px solid var(--ts-border);border-radius:3px}.ts-sub .ts-turn-question{background:#f2e9e6;border-color:#e7d7d5}.ts-sub .ts-turn-answer{background:white;margin-left:40px}.ts-sub .ts-turn .ts-speaker{font-size:16px;font-weight:700;color:var(--ts-deep);letter-spacing:.05em;margin-bottom:12px}.ts-sub .ts-turn p:last-child{margin-bottom:0}.ts-sub .ts-interview-article{border-top:1px solid var(--ts-border)}.ts-sub .ts-interview-article:nth-child(odd){background:#f7f4f0}.ts-sub .ts-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:65px;align-items:start}.ts-sub .ts-phone-example{margin:0;max-width:420px;padding:15px;border:1px solid #cfc7c1;background:white;box-shadow:0 12px 40px #5c4b3a12;border-radius:18px}.ts-sub .ts-phone-example img{border-radius:9px;width:100%;height:auto}.ts-sub .ts-phone-example figcaption{font-size:16px;line-height:1.7;padding:18px 6px 5px}.ts-sub .ts-phone-example a{display:block}.ts-sub .ts-review-lead{font-size:24px;font-weight:700;color:var(--ts-deep);line-height:1.9}.ts-sub .ts-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:35px}.ts-sub .ts-audio-card{padding:28px 30px;background:white;border:1px solid var(--ts-border);border-top:3px solid var(--ts-rose)}.ts-sub .ts-audio-card h3{font-size:24px;margin:0 0 20px}.ts-sub audio{display:block;width:100%;max-width:100%;height:54px}.ts-sub .ts-audio-card .ts-audio-direct{font-size:16px;display:inline-block;margin-top:15px}.ts-sub .ts-score{margin:0 0 35px}.ts-sub .ts-score img{width:100%;height:auto}.ts-sub .ts-page-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ts-sub .ts-page-link{display:flex;gap:22px;align-items:center;justify-content:space-between;padding:26px 28px;background:white;border:1px solid var(--ts-border);text-decoration:none;font-weight:700}.ts-sub .ts-page-link span{font-size:15px;color:#756b66;display:block;font-weight:400;margin-top:6px}.ts-sub .ts-related{padding-top:30px;border-top:1px solid var(--ts-border);margin-top:45px}.ts-sub .ts-related p{font-size:16px;color:#655c58}.ts-sub .ts-inline-photo{max-width:700px;margin:30px auto}.ts-sub .ts-inline-photo img{width:100%;height:auto}
@media(max-width:850px){.ts-sub .ts-review-layout{grid-template-columns:1fr 310px;gap:30px}.ts-sub .ts-audio-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ts-sub .ts-arrival,.ts-sub .ts-review-layout{grid-template-columns:1fr;gap:25px}.ts-sub .ts-address{padding:24px}.ts-sub .ts-walk{font-size:23px}.ts-sub .ts-map iframe{height:340px}.ts-sub .ts-gallery{grid-template-columns:1fr;gap:25px}.ts-sub .ts-gallery figcaption{font-size:18px}.ts-sub .ts-parking{padding:25px 22px}.ts-sub .ts-steps>li{grid-template-columns:54px minmax(0,1fr);gap:13px;padding-bottom:30px}.ts-sub .ts-step-number{width:54px;height:54px}.ts-sub .ts-step-number small{font-size:9px}.ts-sub .ts-step-number b{font-size:25px}.ts-sub .ts-steps>li::before{left:27px;top:54px}.ts-sub .ts-step-card{padding:23px 18px}.ts-sub .ts-step-card h3{font-size:23px}.ts-sub .ts-step-card .ts-btns a.ts-btn{font-size:17px;padding:15px 12px}.ts-sub .ts-book-table,.ts-sub .ts-book-table tbody,.ts-sub .ts-book-table tr,.ts-sub .ts-book-table th,.ts-sub .ts-book-table td{display:block;width:100%!important}.ts-sub .ts-book-table{border:0}.ts-sub .ts-book-table thead{display:none}.ts-sub .ts-book-table tr{margin-bottom:22px;border:1px solid var(--ts-border)}.ts-sub .ts-book-table :is(th,td){border:0;padding:20px 22px}.ts-sub .ts-book-table th{font-size:20px;background:var(--ts-deep);color:white}.ts-sub .ts-book-table td{font-size:19px}.ts-sub .ts-interview-head{display:block;margin-bottom:30px}.ts-sub .ts-interview-head img{width:145px;height:145px;margin:0 0 25px}.ts-sub .ts-interview-head h2{font-size:27px}.ts-sub .ts-person-info{padding:22px}.ts-sub .ts-turn{padding:23px 20px}.ts-sub .ts-turn-answer{margin-left:12px}.ts-sub .ts-turn .ts-speaker{font-size:16px}.ts-sub .ts-phone-example{margin:0 auto;width:100%;max-width:380px}.ts-sub .ts-review-lead{font-size:22px}.ts-sub .ts-audio-card{padding:25px 20px}.ts-sub .ts-page-links{grid-template-columns:1fr}.ts-sub .ts-page-link{padding:23px}.ts-sub .ts-hero::after{opacity:.15!important}}
@media(max-width:600px){.ts-sub .ts-steps>li{display:block}.ts-sub .ts-step-number{margin-bottom:16px}.ts-sub .ts-step-card{position:relative}.ts-sub .ts-step-card .btn-arrow{display:none}}

/* Explicit table selectors prevent the base table theme from reducing contrast. */
.ts-sub .ts-table.ts-book-table{border-color:#c6b9b2;font-size:22px;line-height:1.8}
.ts-sub .ts-table.ts-book-table thead th{background:#9F1018;color:#fff;font-size:20px;padding:24px 28px}
.ts-sub .ts-table.ts-book-table tbody th{background:#f0e4e2;color:#302c2b;font-size:23px;font-weight:700;padding:30px 28px;border-color:#c6b9b2}
.ts-sub .ts-table.ts-book-table tbody td{background:#fffefa;color:#302c2b;font-size:22px;padding:30px 28px;border-color:#c6b9b2}

/* Editorial interview layout: questions carry the visual rhythm, answers read naturally. */
.ts-sub .ts-interview-article{background:#fffefa}
.ts-sub .ts-interview-article:nth-child(odd){background:#f7f4ef}
.ts-sub .ts-interview-head{padding-bottom:36px;border-bottom:1px solid #cbbab1;margin-bottom:28px;gap:38px}
.ts-sub .ts-interview-head h2{font-size:35px;line-height:1.7;letter-spacing:.02em}
.ts-sub .ts-person-info{background:transparent;padding:0 0 28px;margin:0 0 25px;border-bottom:1px solid #ded5cd}
.ts-sub .ts-person-info p{font-size:17px;line-height:1.9;color:#5c5550}
.ts-sub .ts-turn{border:0;border-radius:0;box-shadow:none;background:transparent;margin:0;padding:0}
.ts-sub .ts-turn.ts-turn-question{padding:42px 0 24px;background:transparent;display:grid;grid-template-columns:94px minmax(0,1fr);gap:25px;border-top:1px solid #ded5cd;margin-top:38px}
.ts-sub .ts-person-info+.ts-turn.ts-turn-question{border-top:0;margin-top:0;padding-top:20px}
.ts-sub .ts-question-number{display:block;font-family:Georgia,serif;color:#C9141D;font-size:46px;line-height:1.15;letter-spacing:-.04em;margin-bottom:11px}
.ts-sub .ts-turn .ts-speaker{font-size:16px;font-weight:700;line-height:1.7;letter-spacing:0;color:#9F1018;margin:0}
.ts-sub .ts-question-meta .ts-speaker{font-size:13px;white-space:nowrap}
.ts-sub .ts-question-copy{padding-top:4px;font-size:23px;font-weight:700;line-height:1.85;color:#342e2b}
.ts-sub .ts-question-copy p{margin-bottom:16px}
.ts-sub .ts-turn.ts-turn-answer{margin:0 0 0 119px;padding:23px 0 8px;display:block;background:transparent}
.ts-sub .ts-answer-person{display:flex;align-items:center;gap:14px;margin:0 0 20px}
.ts-sub .ts-answer-person img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid #d9cbc2}
.ts-sub .ts-answer-person .ts-speaker{font-size:18px;color:#3e3430}
.ts-sub .ts-answer-copy{font-size:20px;line-height:2.05;color:#34312e}
.ts-sub .ts-answer-copy p{margin-bottom:24px}
.ts-sub.ts-ts-method .ts-hero::after{background:linear-gradient(90deg,#f0ece7,transparent),url('assets/feature-foundation.webp') center/cover;opacity:.35}
.ts-sub .ts-method-intro{font-size:22px;line-height:2;border-left:3px solid var(--ts-rose);padding-left:35px}
.ts-sub .ts-method-photo{margin:0 0 36px;border:1px solid #ddd3c9;background:#fff}
.ts-sub .ts-method-photo img{display:block;width:100%;height:auto}
.ts-sub .ts-method-copy{max-width:950px;margin:0 auto}
@media(max-width:700px){
 .ts-sub .ts-table.ts-book-table,.ts-sub .ts-table.ts-book-table tbody,.ts-sub .ts-table.ts-book-table tr,.ts-sub .ts-table.ts-book-table th,.ts-sub .ts-table.ts-book-table td{display:block;width:100%!important}
 .ts-sub .ts-table.ts-book-table{border:0}
 .ts-sub .ts-table.ts-book-table thead{display:none}
 .ts-sub .ts-table.ts-book-table tr{margin-bottom:24px;border:1px solid #bdaca5;border-radius:3px;overflow:hidden}
 .ts-sub .ts-table.ts-book-table tbody th{background:#f0e4e2;color:#302c2b;font-size:22px;line-height:1.8;padding:24px;border:0;border-bottom:1px solid #bdaca5}
 .ts-sub .ts-table.ts-book-table tbody td{background:#fffefa;color:#302c2b;font-size:20px;line-height:1.9;padding:24px;border:0}
 .ts-sub .ts-interview-head{gap:25px;padding-bottom:27px}
 .ts-sub .ts-interview-head h2{font-size:28px;line-height:1.75}
 .ts-sub .ts-turn.ts-turn-question{display:block;margin-top:32px;padding-top:28px;padding-bottom:18px}
 .ts-sub .ts-question-meta{display:flex;align-items:center;gap:15px;margin-bottom:14px}
 .ts-sub .ts-question-number{font-size:35px;margin:0}
 .ts-sub .ts-question-meta .ts-speaker{font-size:15px}
 .ts-sub .ts-question-copy{font-size:21px;padding:0;line-height:1.85}
 .ts-sub .ts-turn.ts-turn-answer{margin:0;padding:12px 0 0}
 .ts-sub .ts-answer-person{margin-bottom:16px}
 .ts-sub .ts-answer-person img{width:44px;height:44px}
 .ts-sub .ts-answer-copy{font-size:18px;line-height:2}
 .ts-sub .ts-method-intro{font-size:20px;padding-left:22px}
}

/* Booking uses stacked blocks instead of table-cell layout on every screen. */
.ts-sub .ts-booking-cards{display:block;width:100%;max-width:880px;margin:0 auto;min-width:0;white-space:normal}
.ts-sub .ts-booking-card{display:block;position:static;width:100%;height:auto;min-width:0;margin:0 0 28px;padding:0;border:1px solid #c9b5b0;border-radius:4px;background:#fffefa;overflow:visible;white-space:normal}
.ts-sub .ts-booking-card h3{display:block;position:static;width:auto;height:auto;margin:0;padding:26px 30px;background:#f0e4e2;color:#302c2b;font-size:24px;line-height:1.8;border:0;border-bottom:1px solid #c9b5b0;white-space:normal;word-break:normal;overflow-wrap:anywhere;overflow:visible}
.ts-sub .ts-booking-rule{display:block;position:static;width:auto;height:auto;padding:26px 30px;min-width:0;white-space:normal;overflow:visible}
.ts-sub .ts-booking-rule p{display:block;margin:0;color:#302c2b;background:#fffefa;font-size:22px;line-height:1.95;white-space:normal;word-break:normal;overflow-wrap:anywhere;height:auto;overflow:visible}
.ts-sub .ts-booking-rule strong{display:inline;color:#9F1018;font-weight:700;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.ts-sub .ts-booking-card h3{padding:22px;font-size:21px;line-height:1.85}.ts-sub .ts-booking-rule{padding:22px}.ts-sub .ts-booking-rule p{font-size:20px;line-height:1.95}}

/* TS: a shared identity, with no font downloads, image downloads or animation library. */
:root,.ts-sub{--brand-primary:#C9141D;--brand-secondary:#C9141D;--brand-deep:#9F1018;--brand-paper:#fffefa;--accent:#C9141D;--ts-rose:#C9141D;--ts-deep:#9F1018}
.brand-mark{color:#9F1018;letter-spacing:-.065em}.brand-mark>span{color:#393530;letter-spacing:.12em}.brand-text small{color:#C9141D}.footer-brand{color:#9F1018}
.eyebrow,.ts-sub .ts-eyebrow,.lesson-label span,.article-card b{color:#C9141D}
.button:not(.line),.ts-sub a.ts-btn:not(.ts-line){background:#C9141D!important;border-color:#C9141D!important;color:#fff!important}
a.button[href*="/contact/"]:not(.line),.ts-sub a.ts-btn[href*="/contact/"]:not(.ts-line),.ts-sub a.ts-btn[href*="forms.gle"],.ts-sub a.ts-btn[href*="docs.google.com/forms"]{background:#C9141D!important;border-color:#C9141D!important}
.button:not(.line):hover,.ts-sub a.ts-btn:not(.ts-line):hover{background:#9F1018!important;border-color:#9F1018!important;opacity:1}
.button.line,.ts-sub a.ts-btn.ts-line{background:#06c755!important;border-color:#06c755!important;color:#fff!important}
.ts-sub .ts-frequency{background:#9F1018}.ts-sub .ts-frequency .ts-eyebrow,.ts-sub .ts-frequency .ts-note{color:#fff}
.schedule-table thead th,.ts-sub .ts-table thead th{background:#9F1018;color:#fff}
.feature-index b,.feature .feature-index b{color:#C9141D}.feature-1 .feature-index b{color:#efbbc0}
.recruit{border-color:#d2b5b2}.status-dot{background:#C9141D}.recruit-label{background:#f3e6e2}
.section-head:after,.ts-sub .ts-heading::after{width:76px;height:15px;margin-top:23px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='15' viewBox='0 0 76 15'%3E%3Cpath d='M1 8h18c6 0 7-6 13-6s7 11 13 11S52 4 58 4h17' fill='none' stroke='%23C9141D' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") left center/76px 15px no-repeat}
.contact .section-head:after{filter:brightness(2.2)}
.button,.ts-sub a.ts-btn{transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;box-shadow:0 3px 0 #65232c20}
.button .btn-arrow,.ts-sub .ts-btn .btn-arrow{transition:transform .18s ease;display:inline-block}
.button:hover .btn-arrow,.ts-sub .ts-btn:hover .btn-arrow{transform:translateX(4px)}
.ts-sub a.ts-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #65232c20}
.ts-sub .ts-page-link{transition:background-color .18s ease,border-color .18s ease,transform .18s ease;border-radius:3px}
.ts-sub .ts-page-link:hover{opacity:1;background:#f5eae5;border-color:#b78583;transform:translateY(-2px)}
.ts-sub .ts-page-link b{color:#C9141D}.ts-sub .ts-page-link span{text-transform:uppercase;letter-spacing:.13em;font-size:13px;color:#75625c}
.ts-sub .ts-jumps a:hover{opacity:1;background:#f0e3de;border-color:#b78583}
.ts-sub summary:hover{color:#9F1018}summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #C9141D;outline-offset:5px}
.ts-sub details[open] .ts-answer{animation:ts-detail-reveal .18s ease-out}
@keyframes ts-detail-reveal{from{opacity:.75;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.ts-sub .ts-learning-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 45px;padding:0;list-style:none;counter-reset:learning}
.ts-sub .ts-learning-path li{list-style:none;position:relative;padding:25px 22px;background:#fffefa;border:1px solid #d9c8bf;border-top:3px solid #C9141D;margin:0;min-width:0}
.ts-sub .ts-learning-path li::before{counter-increment:learning;content:'0' counter(learning);display:block;font:30px Georgia,serif;color:#C9141D;margin-bottom:15px}
.ts-sub .ts-learning-path strong{display:block;font-size:22px;line-height:1.7;color:#39312d}.ts-sub .ts-learning-path span{display:block;font-size:17px;line-height:1.9;margin-top:12px;color:#56504b}
.ts-sub .ts-method-intro{border-color:#C9141D}.ts-sub .ts-person-name,.ts-sub .ts-question-number{color:#C9141D}
.ts-sub .ts-interview-head img{border-radius:50%;box-shadow:0 0 0 1px #c4aaa3}
.ts-sub .ts-method-photo{padding:10px;background:#fffefa;box-shadow:0 8px 25px #35271b08}
.ts-sub .ts-phone-example{box-shadow:0 14px 36px #35271b12;border-color:#d2bdb3}
.ts-sub .ts-booking-card{border-color:#c5aaa3}.ts-sub .ts-booking-card h3{color:#302c2b;background:#f0e4df;border-color:#c5aaa3}.ts-sub .ts-booking-rule p{color:#302c2b}.ts-sub .ts-booking-rule strong{color:#9F1018}
.ts-sub .ts-page-link .ts-hub-number{display:block;font:25px Georgia,serif;letter-spacing:0;color:#C9141D;margin:0 0 13px}
@media(max-width:600px){.ts-sub .ts-learning-path{grid-template-columns:1fr;gap:14px}.ts-sub .ts-learning-path li{padding:22px}.ts-sub .ts-learning-path strong{font-size:21px}.ts-sub .ts-method-photo{padding:6px}}
@media(prefers-reduced-motion:reduce){.button,.button .btn-arrow,.ts-sub a.ts-btn,.ts-sub .btn-arrow,.ts-sub .ts-page-link{transition:none!important;transform:none!important}.ts-sub details[open] .ts-answer{animation:none!important}}
.contact .eyebrow{color:#efbbc0}

/* C palette: saturated crimson, warm neutral paper, light red table surfaces. */
:root,.ts-sub{--brand-primary:#C9141D;--brand-secondary:#C9141D;--brand-deep:#9F1018;--accent:#C9141D;--ts-rose:#C9141D;--ts-deep:#9F1018;--ts-warm:#f3efea;--ts-border:#dfd2ca}
.schedule-table thead th,.ts-sub .ts-table thead th,.ts-sub .ts-table.ts-book-table thead th{background:#C9141D;color:#fff}
.schedule-table tbody th,.ts-sub .ts-table tbody th,.ts-sub .ts-table.ts-book-table tbody th{background:#FCEEEA;color:#302c2b}
.schedule-table td,.ts-sub .ts-table td,.ts-sub .ts-table.ts-book-table tbody td{background:#fffefa;color:#302c2b}
.ts-sub .ts-example .ts-table tr:last-child td,.ts-sub .ts-example .ts-table tr:last-child th{background:#FCEEEA;color:#302c2b}
.ts-sub .ts-booking-card h3{background:#FCEEEA;color:#302c2b;border-color:#e0bbb5}
.ts-sub .ts-booking-card{border-color:#e0bbb5}.ts-sub .ts-booking-rule strong{color:#C9141D}
.ts-sub .ts-label,.ts-sub .ts-first-price,.ts-sub .ts-callout,.ts-sub .ts-interval,.taeko-note,.recruit-label{background:#FCEEEA;color:#702027}
.ts-sub .ts-interval{border-color:#e0bbb5}.ts-sub .ts-callout,.taeko-note,.ts-sub .ts-message{border-left-color:#C9141D}
.ts-sub .ts-message{background:#f3efea}.ts-sub .ts-turn .ts-speaker,.ts-sub .ts-question-number{color:#9F1018}
.ts-sub .ts-person-info p{color:#5c5550}.ts-sub .ts-answer-person .ts-speaker{color:#3e3430}
.ts-sub .ts-course.ts-standard,.ts-sub .ts-audio-card,.ts-sub .ts-learning-path li{border-top-color:#C9141D}
.ts-sub .ts-money,.ts-sub .ts-coach-name small,.ts-sub .ts-portrait figcaption{color:#9F1018}
.ts-sub .ts-jumps a{border-color:#dfccc3;color:#9F1018;background:#fffcf7}.ts-sub .ts-jumps a::after{color:#C9141D}
.ts-sub .ts-jumps a:hover,.ts-sub .ts-page-link:hover{background:#FCEEEA;border-color:#d8aaa3}
.ts-sub .ts-first-price .ts-label{background:#fffefa;color:#9F1018}
.ts-sub .ts-frequency{background:#C9141D;color:#fff}.ts-sub .ts-frequency .ts-eyebrow,.ts-sub .ts-frequency .ts-note{color:#fff}
.feature-1 .feature-index b,.feature-1 summary:after,.feature-1 .play,.contact .eyebrow{color:#ffd6d0}

/* Contact CTA only: a gentle 4px vertical float, with no script or layout animation. */
:is(a.button,.ts-sub a.ts-btn):is(.line,.ts-line,[href*="/contact/"],[href*="forms.gle"],[href*="docs.google.com/forms"]){animation:ts-contact-float 3.8s ease-in-out infinite}
:is(a.button.line,.ts-sub a.ts-btn.ts-line){animation-delay:-.8s}
:is(a.button,.ts-sub a.ts-btn):is(.line,.ts-line,[href*="/contact/"],[href*="forms.gle"],[href*="docs.google.com/forms"]):is(:hover,:focus-visible,:active){animation-play-state:paused}
@keyframes ts-contact-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){:is(a.button,.ts-sub a.ts-btn):is(.line,.ts-line,[href*="/contact/"],[href*="forms.gle"],[href*="docs.google.com/forms"]){animation:none!important;transform:none!important}}

/* Approved lecturer photograph: readable copy beside an unobscured portrait. */
.article-card .card-visual.teacher img{inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 35%;filter:none}
.card-visual.teacher:before,.card-visual.teacher:after{display:none}
.ts-sub .ts-coach:first-child .ts-portrait img{object-position:67% center}
.ts-sub .ts-interview-head img[src*="coach-listening"]{object-position:67% center}

.coach-photo .coach-frame{aspect-ratio:4/5;background:#f3efea}
.coach-photo .coach-frame img{object-fit:cover;object-position:67% center;filter:none}
.coach-frame:before,.coach-frame:after{display:none}
@media(max-width:760px){.coach-photo{max-width:520px}.coach-photo .coach-frame{aspect-ratio:3/2}.coach-photo .coach-frame img{object-position:65% center}.article-card .card-visual.teacher img{inset:0;height:100%;object-position:62% center}}

/* A short sheen on contact CTAs; only a transformed pseudo-element is animated. */
:is(a.button,.ts-sub a.ts-btn):is(.line,.ts-line,[href*="/contact/"],[href*="forms.gle"],[href*="docs.google.com/forms"]){position:relative;overflow:hidden;isolation:isolate}
:is(a.button,.ts-sub a.ts-btn):is(.line,.ts-line,[href*="/contact/"],[href*="forms.gle"],[href*="docs.google.com/forms"])::after{content:"";display:block;position:absolute;inset:-35% auto -35% -60%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);pointer-events:none;transform:translateX(0) skewX(-22deg);opacity:0;animation:ts-contact-sheen 6s ease-in-out infinite}
:is(a.button.line,.ts-sub a.ts-btn.ts-line)::after{animation-delay:1.2s}
@keyframes ts-contact-sheen{0%,70%{transform:translateX(0) skewX(-22deg);opacity:0}73%{opacity:1}88%{transform:translateX(570%) skewX(-22deg);opacity:0}100%{transform:translateX(570%) skewX(-22deg);opacity:0}}
.notes .lesson-frequency{display:inline-block;padding:1px 9px;background:#FCEEEA;color:#9F1018;border-radius:4px;font-size:1.15em;font-weight:700}
@media(prefers-reduced-motion:reduce){:is(a.button,.ts-sub a.ts-btn)::after{animation:none!important;display:none!important}}

/* B: a quiet letter-style availability notice, with editable live text. */
.recruit,.lesson-layout .recruit{display:block;background:#fffdf8;border:1px solid #d1c7bf;border-radius:3px;padding:35px 42px;box-shadow:none;position:relative;overflow:visible}
.recruit:before,.recruit:after{content:"";display:block;width:64px;height:2px;background:#C9141D;margin:0 auto}
.recruit:before{margin-bottom:25px}.recruit:after{margin-top:25px}
.recruit .recruit-label,.lesson-layout .recruit .recruit-label{display:block;background:transparent;padding:0;border:0;text-align:center;color:#302c2b}
.recruit .status-dot{display:none}.recruit h3{font-size:26px;font-weight:700;line-height:1.65;margin:0 0 25px;color:#302c2b}
.recruit .recruit-copy,.lesson-layout .recruit .recruit-copy{padding:0;background:transparent;color:#302c2b;font-size:20px;line-height:1.95}
.recruit .recruit-copy p,.lesson-layout .recruit .recruit-copy p{font-size:20px;line-height:1.95;margin:0 0 12px}.recruit .recruit-copy p:last-child{margin-bottom:0}
.recruit .recruit-copy a{color:#08783f;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.lesson-layout .recruit{padding:28px}.lesson-layout .recruit h3{font-size:23px}
@media(max-width:760px){.recruit,.lesson-layout .recruit{padding:28px 22px}.recruit h3,.lesson-layout .recruit h3{font-size:22px;margin-bottom:22px}.recruit .recruit-copy,.recruit .recruit-copy p,.lesson-layout .recruit .recruit-copy p{font-size:18px;line-height:1.95}.recruit:before{margin-bottom:22px}.recruit:after{margin-top:22px}}
/* Signature integration: independent of the previous theme and its block rules. */
body{background:#fffefa;color:#302c2b}body.admin-bar .site-header{top:32px}.site-header{position:relative}.header-inner{padding:22px 0;align-items:center}.brand{align-items:center;gap:25px}.brand-text{max-width:430px;line-height:1.8}.brand-mark{font-size:46px}.brand-mark>span{font-size:12px}.header-contact{align-items:center}.header-contact small{font-size:14px;line-height:1.9}#global-nav>ul>li>a{font-size:16px}.hero{position:relative;width:100%;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;pointer-events:none}.hero-inner{position:relative}.hero h1{max-width:none;word-break:normal;overflow-wrap:normal}.hero-controls{display:none}.ts-standard{padding-top:65px;padding-bottom:90px;min-height:60vh;max-width:1000px}.ts-standard h1{font-size:clamp(28px,4vw,44px);margin-bottom:38px}.ts-standard h2{margin:45px 0 24px}.ts-standard h3{margin:32px 0 18px}.ts-standard .entry-content a{color:#b20e19;text-decoration:underline;text-underline-offset:3px}.ts-standard .entry-content img{height:auto;max-width:100%}.ts-standard .entry-content figure{max-width:100%;margin:25px 0}.ts-standard .wp-block-table{overflow-x:auto}.ts-standard .wp-block-columns{display:flex;gap:30px}.ts-standard .wp-block-column{min-width:0;flex:1}.ts-post-card{padding:28px 0;border-bottom:1px solid #ddd2cb}.ts-post-card h2{margin:0 0 10px;font-size:27px}.ts-post-card time{font-size:15px;color:#6a5e59}.ts-standard input,.ts-standard textarea{max-width:100%;padding:12px;border:1px solid #b9aca4}.ts-standard input[type=submit],.ts-standard button{background:#c9141d;color:white;border:0;padding:12px 20px}.menu-item-has-children>.sub-menu{display:none;position:absolute;background:#fffefa;box-shadow:0 7px 18px #0002;padding:15px;list-style:none;min-width:260px;z-index:20}.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{display:block}.sub-menu a{display:block;padding:10px;font-size:16px}.skip:focus{z-index:99999}.hero-kicker{color:#fffefa}
@media(min-width:761px){.hero h1{font-size:clamp(44px,4.5vw,66px)}.hero-inner{width:min(1120px,calc(100% - 80px));padding-top:105px}.hero{height:700px}}
@media(max-width:1000px){.header-inner{padding:18px 0}.brand-text{max-width:420px}.brand{gap:16px}#global-nav>ul>li>a{font-size:17px}}
@media(max-width:760px){body{font-size:18px}.brand-text{font-size:12px;max-width:225px;line-height:1.65}.brand-text small{font-size:11px}.brand-mark{font-size:32px}.brand-mark>span{font-size:8px}.brand{gap:12px}.header-inner{gap:10px}.hero{height:760px}.hero-photo{background-size:auto 470px;background-position:72% top}.hero-photo.hero-woman{background-position:79% top}.hero-photo:after{background:linear-gradient(180deg,transparent 25%,#171c2220 38%,#171c22 63%)}.hero-inner{padding-top:365px}.hero h1{font-size:clamp(34px,9vw,44px);line-height:1.45}.hero-kicker{font-size:16px}.hero-bottom{margin-top:24px;gap:12px}.hero-bottom>p{font-size:17px;max-width:175px}.growth{width:140px}.ts-standard{padding-top:40px;padding-bottom:70px}.ts-standard .wp-block-columns{flex-direction:column}.menu-item-has-children>.sub-menu{display:block;position:static;box-shadow:none;padding:0 16px}.sub-menu a{font-size:16px}.header-contact{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{transition:none!important}.button,.button:after,.ts-btn,.ts-btn:after{animation:none!important}}

/* 1.0.1: quiet paper and resonance artwork; no layout or copy changes. */
.section.welcome,.section.message{position:relative;isolation:isolate;background-color:#fffefa}
.section.welcome::before,.section.message::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-position:center;background-size:cover;background-repeat:no-repeat}
.section.welcome::before{background-image:linear-gradient(#fffefa48,#fffefa48),url('assets/welcome-paper.webp');opacity:.82}
.section.message::before{background-image:linear-gradient(#fffefa66,#fffefa66),url('assets/message-paper.webp');opacity:.8}
@media(max-width:760px){.section.welcome::before,.section.message::before{background-size:auto 100%;background-position:center;opacity:.65}}

/* 1.1.0: native Gutenberg page content, with the established visual system. */
.ts-native-root{width:100%;max-width:none!important;margin:0!important}
.ts-native-root .wp-block-group{box-sizing:border-box}
.ts-native-root .wp-block-image{margin:0}
.ts-native-root .hero-photo{background-image:none!important;max-width:none;overflow:hidden}
.ts-native-root .hero-photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.ts-native-root .feature-backdrop{margin:0;width:100%;height:100%}
.ts-native-root .feature-backdrop img{width:100%;height:100%;object-fit:cover}
.ts-native-root .ts-native-card>p{font-size:18px;font-weight:700;line-height:1.7;padding:20px 16px;margin:0}
.ts-native-root .ts-native-card>p>a{display:flex;justify-content:space-between;gap:8px;color:inherit}
.ts-native-root .wp-block-table{margin:20px 0;overflow-x:auto}
.ts-native-root .wp-block-table table{width:100%;margin:0}
.ts-native-root .wp-block-table td,.ts-native-root .wp-block-table th{word-break:normal;overflow-wrap:break-word;white-space:normal}
.ts-native-root .wp-block-details>summary{list-style:none;font-weight:700}
.ts-native-root .wp-block-details>summary::marker{content:""}
.ts-native-root .wp-block-details>summary::after{content:"＋";float:right}
.ts-native-root .wp-block-details[open]>summary::after{content:"−"}
.ts-native-root .ts-native-buttons{display:flex;flex-wrap:wrap;gap:14px}
.ts-native-root .ts-native-button{margin:0}
.ts-native-root .ts-native-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:240px;min-height:64px;padding:16px 26px;background:#C9141D;color:#fff;border:1px solid #C9141D;border-radius:999px;font-family:inherit;font-size:18px;font-weight:700;line-height:1.65;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 4px 0 #9f10181a}
.ts-native-root .ts-native-button .wp-block-button__link:hover{background:#9F1018;color:white}
.ts-native-root .ts-native-line .wp-block-button__link{background:#06c755;border-color:#06c755}
.ts-native-root .ts-native-line .wp-block-button__link:hover{background:#05a947;border-color:#05a947}
.ts-native-root .ts-native-line .wp-block-button__link:before{content:"";display:block;flex:0 0 28px;width:28px;height:28px;background-image:url('data:image/svg+xml,%3Csvg%20aria-hidden%3D%22true%22%20class%3D%22line-icon%22%20focusable%3D%22false%22%20viewBox%3D%220%200%20512%20512%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3C%21--%21%20Font%20Awesome%20Free%206.4.2%20by%20%40fontawesome%20-%20https%3A//fontawesome.com%20License%20-%20https%3A//fontawesome.com/license/free%20%28Icons%3A%20CC%20BY%204.0%2C%20Fonts%3A%20SIL%20OFL%201.1%2C%20Code%3A%20MIT%20License%29%20Copyright%202023%20Fonticons%2C%20Inc.%20--%3E%3Cpath%20d%3D%22M311%20196.8v81.3c0%202.1-1.6%203.7-3.7%203.7h-13c-1.3%200-2.4-.7-3-1.5l-37.3-50.3v48.2c0%202.1-1.6%203.7-3.7%203.7h-13c-2.1%200-3.7-1.6-3.7-3.7V196.9c0-2.1%201.6-3.7%203.7-3.7h12.9c1.1%200%202.4%20.6%203%201.6l37.3%2050.3V196.9c0-2.1%201.6-3.7%203.7-3.7h13c2.1-.1%203.8%201.6%203.8%203.5zm-93.7-3.7h-13c-2.1%200-3.7%201.6-3.7%203.7v81.3c0%202.1%201.6%203.7%203.7%203.7h13c2.1%200%203.7-1.6%203.7-3.7V196.8c0-1.9-1.6-3.7-3.7-3.7zm-31.4%2068.1H150.3V196.8c0-2.1-1.6-3.7-3.7-3.7h-13c-2.1%200-3.7%201.6-3.7%203.7v81.3c0%201%20.3%201.8%201%202.5c.7%20.6%201.5%201%202.5%201h52.2c2.1%200%203.7-1.6%203.7-3.7v-13c0-1.9-1.6-3.7-3.5-3.7zm193.7-68.1H327.3c-1.9%200-3.7%201.6-3.7%203.7v81.3c0%201.9%201.6%203.7%203.7%203.7h52.2c2.1%200%203.7-1.6%203.7-3.7V265c0-2.1-1.6-3.7-3.7-3.7H344V247.7h35.5c2.1%200%203.7-1.6%203.7-3.7V230.9c0-2.1-1.6-3.7-3.7-3.7H344V213.5h35.5c2.1%200%203.7-1.6%203.7-3.7v-13c-.1-1.9-1.7-3.7-3.7-3.7zM512%2093.4V419.4c-.1%2051.2-42.1%2092.7-93.4%2092.6H92.6C41.4%20511.9-.1%20469.8%200%20418.6V92.6C.1%2041.4%2042.2-.1%2093.4%200H419.4c51.2%20.1%2092.7%2042.1%2092.6%2093.4zM441.6%20233.5c0-83.4-83.7-151.3-186.4-151.3s-186.4%2067.9-186.4%20151.3c0%2074.7%2066.3%20137.4%20155.9%20149.3c21.8%204.7%2019.3%2012.7%2014.4%2042.1c-.8%204.7-3.8%2018.4%2016.1%2010.1s107.3-63.2%20146.5-108.2c27-29.7%2039.9-59.8%2039.9-93.1z%22%20fill%3D%22%23ffffff%22%3E%3C/path%3E%3C/svg%3E');background-size:contain;background-repeat:no-repeat}
.ts-native-root .ts-native-contact .wp-block-button__link{animation:ts-contact-float 3.8s ease-in-out infinite}
.ts-native-root .ts-native-contact .wp-block-button__link:after{content:"";position:absolute;inset:-20% auto -20% -35%;width:30%;background:linear-gradient(90deg,transparent,#ffffff75,transparent);pointer-events:none;animation:ts-contact-sheen 6s ease-in-out infinite}
.ts-native-root .recruit-copy .wp-block-block{margin:0}
@media(max-width:760px){.ts-native-root .hero-photo img{object-fit:cover;object-position:72% top;height:470px}.ts-native-root .hero-photo.hero-woman img{object-position:79% top}.ts-native-root .ts-native-card>p{font-size:15px;padding:14px 10px}.ts-native-root .ts-native-button,.ts-native-root .ts-native-buttons{width:100%}.ts-native-root .ts-native-button .wp-block-button__link{width:100%;min-width:0;font-size:17px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.ts-native-root .ts-native-contact .wp-block-button__link,.ts-native-root .ts-native-contact .wp-block-button__link:after{animation:none!important;transform:none!important}}
/* 1.1.1: parity fixes for WordPress-rendered block wrappers. */
.ts-native-root .article-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ts-native-root .article-grid>.article-card{min-width:0;overflow:hidden}
.ts-native-root .article-card .card-visual{width:100%;flex:none}
.ts-native-root .article-card .card-visual>.wp-block-image{position:absolute;inset:0;margin:0;width:100%;height:100%;padding:0;background:transparent}
.ts-native-root .article-card .card-visual>.wp-block-image>a{display:block;width:100%;height:100%}
.ts-native-root .article-card>:is(p,a){display:flex;align-items:center;flex:1;min-height:108px;gap:12px;padding:22px 16px;font-size:18px;font-weight:700;line-height:1.65;letter-spacing:normal;word-break:normal;overflow-wrap:break-word;background:#fffefa;border-top:1px solid #e7e1db;margin:0}
.ts-native-root .article-card>p>a{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;color:inherit;text-decoration:none;word-break:normal;overflow-wrap:break-word}
.ts-native-root .article-card>a{justify-content:space-between}
.ts-native-root .article-card>:is(p,a) b{flex:0 0 auto;font-size:20px;font-weight:400;color:#C9141D}
/* Image-specific decoration must not apply to the table block's figure. */
.ts-native-root .lesson-layout figure.wp-block-table{padding:0;background:transparent;margin:0;box-shadow:none;border:0}
.ts-native-root .table-wrap>.wp-block-table{margin:0 0 0;padding:0;background:transparent}
.ts-native-root .wp-block-table table{border-collapse:collapse;table-layout:auto;white-space:normal;text-align:left;font-size:20px;line-height:1.95}
.ts-native-root .wp-block-table thead{border:0}
.ts-native-root .wp-block-table tfoot{border:0}
.ts-native-root .wp-block-table :is(th,td){border:0;border-bottom:1px solid var(--line);padding:20px;vertical-align:middle;text-align:left;word-break:normal;overflow-wrap:break-word;white-space:normal}
.ts-native-root .wp-block-table th{background:var(--light);font-size:18px;font-weight:700}
.ts-native-root .wp-block-table td strong{font-size:31px;color:#C9141D}
.ts-native-root .schedule-table .wp-block-table{margin:0}
.ts-native-root .schedule-table .wp-block-table table{table-layout:fixed;font-size:20px;line-height:1.65}
.ts-native-root .schedule-table .wp-block-table thead th{background:#C9141D;color:#fff;font-size:18px;border:0;padding:18px 22px}
.ts-native-root .schedule-table .wp-block-table thead th:first-child{width:38%}
.ts-native-root .schedule-table .wp-block-table tbody th{background:#FCEEEA;color:#302c2b;font-size:19px;font-weight:700}
.ts-native-root .schedule-table .wp-block-table :is(td,tbody th){padding:22px;border:0;border-bottom:1px solid #e4dcd4}
.ts-native-root .schedule-table .wp-block-table tbody td{background:#fffefa;color:#302c2b}
.ts-native-root .schedule-table .wp-block-table tbody tr:last-child>*{border-bottom:0}
.ts-native-root .schedule-table .wp-block-table td strong{font-size:24px;color:#41434a;letter-spacing:.025em;white-space:nowrap}
.ts-native-root .schedule-table .wp-block-table>figcaption{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ts-native-root .ts-table table{table-layout:fixed;border:1px solid #d9cfc8}
.ts-native-root .ts-table :is(th,td){padding:20px 22px;border:1px solid #d9cfc8}
.ts-native-root .ts-table thead th{background:#C9141D;color:white}
.ts-native-root .ts-table tbody th{background:#FCEEEA;color:#302c2b}
.ts-native-root .ts-table strong{font-size:24px}
.ts-native-root .lesson-layout figure.wp-block-image{display:block;width:100%;max-width:100%;margin:30px 0 0;padding:12px;background:#f5f1eb}
.ts-native-root .lesson-layout figure.wp-block-image>img,.ts-native-root .lesson-layout figure.wp-block-image>a>img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.ts-native-root .lesson-layout figure.wp-block-image>figcaption{display:block;font-size:17px;line-height:1.8;color:#595d65;margin:10px 0 0;padding:3px 6px}
.ts-native-root .feature-backdrop>img{object-position:right center}
.ts-native-root .lesson-label>p{font-size:18px;letter-spacing:.14em;color:#C9141D;margin:0 0 10px}
.ts-native-root .notes>p{font-size:17px;line-height:1.9;margin-bottom:8px}
@media(max-width:760px){
 .ts-native-root .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ts-native-root .article-card>:is(p,a){font-size:17px;min-height:112px;padding:20px 14px;line-height:1.65}
 .ts-native-root .wp-block-table table{font-size:18px}
 .ts-native-root .wp-block-table :is(th,td){padding:18px 11px}
 .ts-native-root .wp-block-table th{font-size:16px}
 .ts-native-root .wp-block-table td strong{font-size:26px}
 .ts-native-root .schedule-table .wp-block-table :is(td,tbody th){font-size:18px;padding:18px 14px}
 .ts-native-root .schedule-table .wp-block-table thead th{font-size:17px;padding:16px 14px}
 .ts-native-root .schedule-table .wp-block-table td strong{font-size:20px;white-space:normal}
 .ts-native-root .lesson-layout figure.wp-block-image{padding:7px}
 .ts-native-root .lesson-layout figure.wp-block-image>img,.ts-native-root .lesson-layout figure.wp-block-image>a>img{aspect-ratio:1.4}
 .ts-native-root .lesson-layout figure.wp-block-image>figcaption{font-size:16px;padding:2px}
 .ts-native-root .feature-backdrop{height:300px}
 .ts-native-root .feature-backdrop>img{height:300px;object-position:right center}
 .ts-native-root .notes>p{font-size:16px}
}
/* 2.0.1: WordPress-managed footer and mobile navigation. */
.tsv-footer-menu{list-style:none;padding:0;margin:0}
.tsv-footer-menu li{list-style:none;margin:0;padding:0;min-width:0}
.tsv-footer-menu>li>a{display:block}
.tsv-footer-menu .sub-menu{position:static;display:block;box-shadow:none;background:transparent;list-style:none;margin:0;padding:0 0 0 16px}
.tsv-footer-menu .sub-menu a{font-size:inherit;padding:8px 0}
.mobile-bar.tsv-mobile-custom{display:none}
@media(max-width:760px){.mobile-bar.tsv-mobile-custom{display:block}.tsv-mobile-menu{display:grid;grid-template-columns:repeat(var(--tsv-mobile-count,5),minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0}.tsv-mobile-menu>li{list-style:none;margin:0;padding:0;min-width:0}.tsv-mobile-menu>li>a{display:block;padding:0 3px;color:#303137;font-size:12px;line-height:1.7}.tsv-mobile-menu>li>a[href*="/contact/"],.tsv-mobile-menu>li>a[href*="/line/"]{color:#C9141D}.tsv-mobile-menu>li>a>span{display:block;font-size:23px;line-height:1.5}}
