/* TALK teaching page — scoped editorial layout, September 2026. */
.talk-teaching{--tp-blue:#0075bd;--tp-deep:#104b71;--tp-ink:#183d55;--tp-rule:#c9dfeb;color:var(--tp-ink);font-size:1rem;line-height:1.95;overflow-wrap:anywhere}
.talk-teaching *{box-sizing:border-box}
.tp-shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.talk-teaching p,.talk-teaching figure,.talk-teaching dl{margin:0}
.talk-teaching p+p{margin-top:1.15em}
.talk-teaching h1,.talk-teaching h2,.talk-teaching h3{margin:0;color:inherit;letter-spacing:.015em}
.talk-teaching h1,.talk-teaching h2{font-family:var(--serif,"Noto Serif JP","Yu Mincho",serif);font-weight:700}
.talk-teaching h1{font-size:clamp(2rem,3.35vw,3rem);line-height:1.65;letter-spacing:-.04em;margin:22px 0}
.talk-teaching h2{font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.7}
.talk-teaching h3{font-size:1.3rem;line-height:1.8;font-weight:700}
.talk-teaching a:focus-visible,.talk-teaching summary:focus-visible{outline:3px solid var(--tp-blue);outline-offset:5px}
.talk-teaching section[id]{scroll-margin-top:110px}
.talk-teaching strong{font-weight:700}
.tp-kicker{font-size:.9rem;font-weight:700;color:var(--tp-blue);letter-spacing:.08em;line-height:1.7}
.tp-kicker span{margin-left:1em;letter-spacing:.02em}
.tp-hero{padding:30px 0 24px;background:linear-gradient(90deg,#fff 0 58%,#eaf5fc 58%)}
.tp-hero-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:48px;align-items:center}
.tp-hero-copy>p:not(.tp-kicker):not(.tp-hero-sub){max-width:33em}
.talk-teaching .tp-hero-sub{font-size:1.2rem;font-weight:700;margin:0 0 20px;line-height:1.8;color:var(--tp-deep)}
.tp-hero-photo{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.tp-hero-photo img{width:100%;height:clamp(390px,38vw,520px);object-fit:cover;object-position:57% center;border-radius:2px}
.tp-hero-photo figcaption{background:var(--tp-deep);color:#fff;padding:17px 22px;font-size:.94rem;font-weight:700;letter-spacing:.04em}
.tp-image-note{font-size:.75rem;color:#5b7080;padding-top:22px;line-height:1.8}
.tp-mobile-break{display:none}
.tp-text-link{display:inline-flex;align-items:center;gap:22px;color:var(--tp-deep);font-weight:700;font-size:.95rem;text-decoration:none;border-bottom:1px solid currentColor;padding:9px 0;line-height:1.65;min-height:44px}
.tp-text-link span{display:inline-block;transition:transform .2s ease}
.tp-hero-copy>.tp-text-link{margin-top:19px}
.tp-intro{padding-block:85px 70px}
.tp-intro-grid,.tp-format,.tp-consult{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.tp-index{display:grid;grid-template-columns:1fr 1fr;column-gap:44px;margin-top:48px;border-top:1px solid var(--tp-rule)}
.tp-index a{display:flex;align-items:center;gap:18px;text-decoration:none;padding:23px 0;border-bottom:1px solid var(--tp-rule);min-width:0;transition:color .2s ease}
.tp-index-no{font-size:1.4rem;font-family:Georgia,serif;color:var(--tp-blue)}
.tp-index strong{display:block;font-size:1.06rem}
.tp-index small{display:block;font-size:.875rem;color:#526b7b;line-height:1.7;margin-top:3px}
.tp-index a>span:last-child{margin-left:auto;color:var(--tp-blue);transition:transform .2s ease}
.tp-section{padding-block:82px}
.tp-section-heading{margin-bottom:42px}
.tp-section-heading .tp-kicker{margin-bottom:16px}
.tp-split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}
.tp-prose h3{margin-bottom:19px}
.tp-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.tp-photo figcaption{font-size:.875rem;line-height:1.8;color:#526b7b;padding-top:14px}
.tp-custom{background:#f3f8fc}
.tp-route{margin-top:44px;border:1px solid var(--tp-rule);padding:30px;background:white}
.tp-diagram-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:23px}
.tp-diagram-heading p{font-size:.875rem;color:#526b7b;flex-shrink:0}
.tp-route-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;gap:24px}
.tp-route-steps li{position:relative;border-top:3px solid #6eafd4;padding:19px 14px 10px 0}
.tp-route-steps li:not(:last-child):after{content:'→';position:absolute;right:-17px;top:57px;color:var(--tp-blue);font-size:1.3rem}
.tp-step-label{display:block;color:var(--tp-blue);font-size:.9rem;font-weight:700;margin-bottom:13px}
.tp-route-steps strong{display:block;font-size:1.09rem;line-height:1.7}
.tp-route-steps p{font-size:.9rem;line-height:1.85;margin-top:12px}
.tp-route-steps .tp-route-goal{background:#eaf5fc;padding-left:18px;border-color:var(--tp-blue)}
.talk-teaching .tp-route-return{margin-top:21px;padding-top:17px;border-top:1px dashed var(--tp-rule);font-size:.9rem;color:#476274}
.tp-format{margin-top:40px;gap:45px;grid-template-columns:.8fr 1.2fr}
.tp-management{background:white}
.tp-management-grid{grid-template-columns:1.05fr .95fr;gap:65px}
.tp-notebook{border:1px solid var(--tp-rule);border-top:5px solid var(--tp-blue);padding:25px 28px 20px;background:#f8fbfd;box-shadow:8px 8px 0 #eaf3f9}
.tp-notebook-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--tp-blue);font-size:.9rem;font-weight:700;margin-bottom:16px}
.tp-example{font-size:.8rem;color:#526b7b;border:1px solid #b8d2e1;padding:2px 8px;white-space:nowrap;line-height:1.8;font-weight:400}
.tp-observation{padding-top:10px}
.tp-observation>div{padding:17px 0;border-bottom:1px solid var(--tp-rule)}
.tp-observation dt{font-size:.9rem;font-weight:700;color:var(--tp-blue);margin-bottom:5px}
.tp-observation dd{margin:0;line-height:1.9}
.tp-example-note{font-size:.75rem;color:#526b7b;padding-top:15px;line-height:1.8}
.tp-cycle{margin-top:46px;background:var(--tp-deep);color:#fff;padding:28px 30px 20px}
.tp-cycle ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.tp-cycle li{position:relative;display:grid;grid-template-columns:28px 1fr;column-gap:9px;align-items:baseline}
.tp-cycle li:not(:last-child):after{content:'→';position:absolute;right:-22px;top:23px;color:#92d6ff}
.tp-cycle li>span{font-family:Georgia,serif;font-size:1.2rem;color:#9fddff}
.tp-cycle strong{font-size:1.06rem}
.tp-cycle small{grid-column:2;font-size:.875rem;color:#d2e7f3;line-height:1.8;margin-top:8px}
.tp-cycle>p{font-size:.875rem;margin-top:22px!important;padding-top:17px;border-top:1px solid #477897;color:#e3f3fd}
.tp-followup{background:#f3f8fc}
.tp-support-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;margin:44px 0 0;padding:0}
.tp-support-steps li{border-top:1px solid #9fbdd0;padding-top:20px}
.tp-support-steps li>span{display:inline-block;font-size:.9rem;color:var(--tp-blue);font-weight:700;letter-spacing:.08em;margin-bottom:12px}
.tp-support-steps h3{font-size:1.1rem;margin-bottom:10px}
.tp-support-steps p{font-size:.96rem}
.tp-attendance{border-left:4px solid var(--tp-blue);background:white;margin-top:37px;padding:28px 30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:35px}
.tp-attendance h3{margin-top:8px}
.tp-attendance .tp-small{font-size:.875rem;color:#526b7b}
.tp-attendance .tp-text-link{margin-top:10px}
.tp-dialogue{background:white}
.tp-conversation{border:1px solid var(--tp-rule);background:#f2f8fc;padding:25px 28px}
.tp-conversation .tp-diagram-heading{align-items:center;margin-bottom:25px}
.tp-conversation .tp-diagram-heading h3{font-size:1.15rem}
.tp-utterance{position:relative;padding-left:48px;margin-bottom:25px}
.tp-utterance>span{position:absolute;left:0;top:10px;font-size:.8rem;color:#486879}
.tp-utterance>p{padding:15px 19px;background:#fff;border-radius:2px 16px 16px 16px;font-weight:700;line-height:1.8;font-size:1rem;box-shadow:0 1px 0 #d7e6f0}
.tp-utterance>small{display:block;color:#526b7b;font-size:.8rem;padding:6px 0 0 12px}
.tp-student{padding-left:70px}
.tp-student>span{left:22px}
.tp-student>p{background:#d9effd;color:#12476d;border-radius:16px 2px 16px 16px}
.tp-conversation-end{font-size:.94rem;border-top:1px solid var(--tp-rule);padding-top:18px;line-height:1.9}
.tp-conversation-end strong{display:block}
.tp-future{background:#105780;color:white;padding-block:78px}
.tp-future-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:55px}
.tp-future .tp-kicker{color:#b4e3ff;padding-top:13px}
.tp-future h2{color:white;margin-bottom:28px}
.tp-future p{max-width:43em}
.tp-future .tp-text-link{color:white;margin-top:18px}
.tp-message{background:#fff}
.tp-message-grid{display:grid;grid-template-columns:320px 1fr;gap:65px}
.tp-profile img{display:block;width:100%;height:auto;aspect-ratio:600/458;object-fit:cover}
.tp-profile .tp-role{font-size:.875rem;margin-top:24px;color:#526b7b}
.tp-profile .tp-name{font-size:1.7rem;font-family:var(--serif,"Yu Mincho",serif);font-weight:700;margin-top:4px;line-height:1.6}
.tp-name span{display:block;font-family:var(--body,sans-serif);font-size:.8rem;letter-spacing:.06em;font-weight:400;color:#526b7b;margin-top:7px}
.tp-profile h3{font-size:.9rem;margin-top:26px;padding-top:20px;border-top:1px solid var(--tp-rule);margin-bottom:10px}
.tp-profile>p:not(.tp-role):not(.tp-name){font-size:.875rem;line-height:2;color:#526b7b}
.tp-letter{border-top:2px solid var(--tp-blue);padding-top:25px;line-height:2.1}
.tp-letter-lead{font-size:1.18rem;font-family:var(--serif,"Yu Mincho",serif);font-weight:700;line-height:2}
.talk-teaching .tp-letter-close{font-size:1.16rem;font-family:var(--serif,"Yu Mincho",serif);font-weight:700;margin-top:28px;color:var(--tp-deep)}
.tp-consult{padding-block:55px 65px;border-top:1px solid var(--tp-rule)}
.tp-consult h2{font-size:1.9rem;margin-top:16px}
.tp-consult-links{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:20px}
.tp-retrieval-intro{grid-template-columns:1.15fr .85fr}
.tp-research-context{padding:29px;background:#edf7fc;border-top:4px solid var(--tp-blue)}
.tp-research-context h3{margin-top:15px}
.tp-research-scale{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:23px 0;margin:20px 0!important;border-block:1px solid var(--tp-rule)}
.tp-research-scale dt{font-size:.875rem;color:#526b7b}
.tp-research-scale dd{font-family:Georgia,serif;font-size:2.5rem;color:var(--tp-blue);line-height:1.5;margin:5px 0 0}
.tp-research-scale dd span{font-family:var(--body,sans-serif);font-size:.95rem;margin-left:6px}
.tp-research-source{font-size:.875rem;line-height:1.8;color:#526b7b}
.tp-research-source a{color:var(--tp-deep);text-underline-offset:3px;overflow-wrap:anywhere}
.talk-teaching .tp-evidence{margin-top:45px;border:1px solid var(--tp-rule);background:#fff;padding:32px}
.tp-evidence-heading h3{font-size:1.5rem;margin-top:10px}
.tp-evidence-heading>p:last-child{margin-top:13px}
.tp-study-design{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:45px;align-items:stretch;margin-top:25px;padding:24px;background:#f2f8fc}
.tp-study-stage{display:flex;flex-direction:column;justify-content:center;gap:8px}
.tp-study-stage>span{font-size:.875rem;color:#526b7b}
.tp-study-stage>strong{font-size:1.06rem;line-height:1.8}
.tp-study-conditions{position:relative;display:grid;gap:12px;border-inline:1px solid var(--tp-rule);padding-inline:25px}
.tp-study-conditions:before,.tp-study-conditions:after{content:'→';position:absolute;top:calc(50% - 16px);color:var(--tp-blue);font-size:1.2rem;background:#f2f8fc}
.tp-study-conditions:before{left:-32px}.tp-study-conditions:after{right:-32px}
.tp-study-conditions>div>span{font-size:.875rem;font-weight:700;color:#526b7b}
.tp-study-conditions>div:last-child>span{color:var(--tp-blue)}
.tp-study-conditions p{font-size:1rem;line-height:1.75}
.tp-evidence-chart{display:block;margin:26px 0 15px}
.tp-evidence-chart img{display:block;width:100%;height:auto}
.tp-evidence figcaption{border-top:1px solid var(--tp-rule);padding-top:20px;line-height:1.9}
.tp-evidence figcaption>p:not(:first-child){font-size:.875rem;color:#526b7b}
.tp-research-practice{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;padding:30px 0 0}
@media(hover:hover){.tp-text-link:hover span{transform:translateX(4px)}.tp-hero-copy>.tp-text-link:hover span{transform:translateY(4px)}.tp-index a:hover{color:var(--tp-blue)}.tp-index a:hover>span:last-child{transform:translateY(4px)}}
@media(max-width:1050px){.tp-hero-grid{gap:30px;grid-template-columns:1fr 1fr}.tp-split,.tp-management-grid{gap:35px}.tp-intro-grid,.tp-consult{gap:40px}.tp-route{padding:24px}.tp-cycle li{display:block}.tp-cycle small{display:block}.tp-cycle li>span{display:block}.tp-message-grid{grid-template-columns:270px 1fr;gap:40px}}
@media(max-width:760px){
 .tp-shell{width:calc(100% - 40px)}
 .talk-teaching{line-height:1.95}
 .talk-teaching h1{font-size:clamp(1.9rem,5.8vw,2.7rem);line-height:1.6;margin:18px 0;letter-spacing:-.035em}
 .talk-teaching h2{font-size:clamp(1.65rem,5vw,2rem);line-height:1.75;letter-spacing:-.025em}
 .talk-teaching h3{font-size:1.18rem}
 .tp-kicker{font-size:.875rem;letter-spacing:.035em}
 .tp-hero{padding-top:14px;background:linear-gradient(#fff 0 60%,#eaf5fc 60%)}
 .tp-hero-grid{grid-template-columns:1fr;gap:26px}
 .tp-hero-copy>.tp-kicker{display:flex;flex-wrap:wrap;gap:5px 15px}
 .tp-hero-copy>.tp-kicker span{margin:0;font-size:.8rem}
 .talk-teaching .tp-hero-sub{font-size:1.08rem;margin-bottom:17px}
 .tp-hero-photo img{height:auto;aspect-ratio:3/2;object-position:center}
 .tp-hero-photo figcaption{font-size:.875rem;padding:14px 16px}
 .tp-image-note{padding-top:16px}
 .tp-intro{padding-block:51px 50px}
 .tp-intro-grid,.tp-format,.tp-consult,.tp-split,.tp-management-grid,.tp-future-grid,.tp-message-grid,.tp-attendance{grid-template-columns:1fr;gap:25px}
 .tp-index{grid-template-columns:1fr;margin-top:29px}
 .tp-index a{padding-block:18px;gap:16px;min-height:90px}
 .tp-index strong{font-size:1rem}.tp-index small{font-size:.875rem}
 .tp-section{padding-block:50px}
 .tp-section-heading{margin-bottom:28px}.tp-section-heading .tp-kicker{margin-bottom:12px}
 .tp-photo figcaption{font-size:.8rem;padding-top:10px}
 .tp-prose h3{margin-bottom:14px}
 .tp-route{margin-top:30px;padding:22px 20px}
 .tp-diagram-heading{display:block;margin-bottom:18px}.tp-diagram-heading p{margin-top:8px}
 .tp-route-steps{grid-template-columns:1fr;gap:0}
 .tp-route-steps li{padding:19px 0 22px;border-top-width:1px}
 .tp-route-steps li:not(:last-child):after{content:'↓';top:auto;bottom:-14px;right:15px;background:#fff;padding-inline:9px;z-index:1}
 .tp-route-steps strong br{display:none}.tp-step-label{margin-bottom:5px}.tp-route-steps p{margin-top:7px}
 .tp-route-steps .tp-route-goal{padding:20px 16px;margin-top:10px;border-top-width:3px}
 .tp-route-steps .tp-route-goal strong br{display:block}
 .tp-format{margin-top:29px;gap:16px}
 .tp-notebook{padding:20px;box-shadow:5px 5px 0 #eaf3f9;margin-right:5px}
 .tp-cycle{padding:23px 20px;margin-top:32px}
 .tp-cycle ol{grid-template-columns:1fr;gap:0}
 .tp-cycle li{display:grid;grid-template-columns:35px 1fr;padding:16px 0;border-bottom:1px solid #477897;align-items:baseline}
 .tp-cycle li:first-child{padding-top:0}.tp-cycle li:last-child{border-bottom:0;padding-bottom:0}
 .tp-cycle li:not(:last-child):after{content:'↓';top:auto;bottom:-15px;right:5px;background:var(--tp-deep);padding:0 5px;z-index:1}
 .tp-cycle small{grid-column:2;margin-top:4px}
 .tp-support-steps{grid-template-columns:1fr;gap:22px;margin-top:30px}
 .tp-support-steps li{padding-top:18px}.tp-support-steps li>span{margin-bottom:6px}.tp-support-steps h3{font-size:1.1rem;margin-bottom:6px}
 .tp-attendance{padding:22px 20px;margin-top:30px;gap:14px}.tp-attendance h3{font-size:1.18rem}
 .tp-conversation{padding:22px 17px}.tp-conversation .tp-diagram-heading{display:flex;gap:9px;flex-wrap:wrap}.tp-conversation .tp-diagram-heading h3{font-size:1.05rem}
 .tp-utterance{padding-left:38px}.tp-utterance>p{padding:14px;font-size:.96rem}.tp-utterance>span{font-size:.75rem}.tp-utterance>small{font-size:.8rem;padding-left:5px}
 .tp-student{padding-left:50px}.tp-student>span{left:12px}
 .tp-future{padding-block:48px}.tp-future-grid{gap:15px}.tp-future .tp-kicker{padding-top:0}.tp-future h2{margin-bottom:21px}
 .tp-message-grid{gap:30px}.tp-profile img{max-width:330px}.tp-profile>p,.tp-profile h3{max-width:600px}
 .tp-profile .tp-role{margin-top:17px}.tp-profile h3{margin-top:20px;padding-top:16px}
 .tp-letter{padding-top:23px}.tp-letter-lead{font-size:1.08rem}.tp-letter-lead br{display:none}.talk-teaching .tp-letter-close{font-size:1.08rem}
 .tp-consult{padding-block:35px 45px}.tp-consult h2{font-size:1.65rem;margin-top:12px}
 .tp-retrieval-intro{grid-template-columns:1fr}.tp-research-context{padding:23px 20px}
 .tp-research-scale dd{font-size:2.2rem}.tp-research-source{font-size:.875rem}
 .talk-teaching .tp-evidence{padding:23px 18px;margin-top:30px}.tp-evidence-heading h3{font-size:1.2rem}
 .tp-study-design{grid-template-columns:1fr;gap:23px;padding:18px;margin-top:20px}
 .tp-study-stage{gap:3px}.tp-study-stage>strong br{display:none}
 .tp-study-conditions{border-inline:0;border-block:1px solid var(--tp-rule);padding:18px 0;gap:15px}
 .tp-study-conditions:before,.tp-study-conditions:after{content:'↓';left:auto;right:12px;top:-18px;padding:0 5px}
 .tp-study-conditions:after{top:auto;bottom:-18px}.tp-study-conditions p br{display:none}
 .tp-evidence-chart{margin-block:22px 18px}.tp-evidence figcaption>p:not(:first-child){font-size:.875rem}
 .tp-research-practice{grid-template-columns:1fr;gap:12px;padding-top:24px}
}
@media(max-width:370px){.tp-shell{width:calc(100% - 32px)}.talk-teaching h1{font-size:1.7rem}.talk-teaching h2{font-size:1.5rem}.tp-hero-sub .tp-mobile-break{display:block}.tp-index a{gap:12px}.tp-notebook-top{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.talk-teaching a,.talk-teaching a span{transition:none!important;transform:none!important}}
