/*
Theme Name: Tentekoten
Theme URI:
Author: 株式会社てんてこてん
Description: 脳科学をベースにしたコーチング「株式会社てんてこてん」のコーポレートテーマ。トップページ（front-page.php）、お知らせ一覧・詳細、固定ページに対応。
Version: 1.8.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: tentekoten
*/

/* ---------- tokens ---------- */
:root{
  --tt-ink:#1F2220;
  --tt-ink-sub:#454541;
  --tt-ink-muted:#6B6B64;
  --tt-base:#FCFAF6;
  --tt-pale:#EFFAEF;
  --tt-white:#FFFFFF;
  --tt-border:#E5E3DB;
  --tt-border-green:#D8EBD8;
  --tt-border-chip:#CBE4CB;
  --tt-green:#1F7A1F;
  --tt-green-dark:#1B6B1B;
  --tt-lime:#32CD32;
  --tt-lime-ink:#17240A;
  --tt-orange:#F5842A;
  --tt-orange-dark:#E0721A;
  --tt-orange-ink:#A8560B;
  --tt-chip-green:#D6F5D6;
  --tt-chip-orange:#FDE7D2;
  --tt-marker:#FDDCB8;
  --tt-placeholder:#EDEBE4;
  --tt-maxw:1120px;
  --tt-font:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --tt-font-round:"Zen Maru Gothic",var(--tt-font);
  --tt-font-en:"Zen Kaku Gothic Antique",var(--tt-font);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--tt-base);color:var(--tt-ink);
  font-family:var(--tt-font);line-height:1.9;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
a{color:var(--tt-green);text-decoration:none}
a:hover{color:var(--tt-green-dark)}
h1,h2,h3,h4{font-family:var(--tt-font-round);font-weight:700;line-height:1.5;margin:0}
p{margin:0}
.tt-skip{position:absolute;left:-9999px}
.tt-skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:10px 16px;border-radius:8px}
.tt-wrap{max-width:var(--tt-maxw);margin:0 auto;padding-left:24px;padding-right:24px}
.tt-section{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(64px,9vw,112px)}
.tt-band{background:var(--tt-pale);border-top:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border)}
.tt-eyebrow{font-family:var(--tt-font-en);font-size:12px;letter-spacing:.28em;color:var(--tt-green);font-weight:500;margin-bottom:12px}
.tt-h2{font-size:clamp(26px,3.4vw,38px)}
.tt-lead{color:var(--tt-ink-sub);max-width:34em;text-wrap:pretty}

/* ---------- buttons ---------- */
.tt-btn{display:inline-block;border-radius:999px;font-weight:700;font-size:15px;padding:16px 34px;white-space:nowrap}
.tt-btn--primary{background:var(--tt-orange);color:var(--tt-ink)}
.tt-btn--primary:hover{background:var(--tt-orange-dark);color:var(--tt-ink)}
.tt-btn--ghost{background:#fff;color:var(--tt-ink);border:1.5px solid #CFCEC6;padding:16px 30px}
.tt-btn--ghost:hover{border-color:var(--tt-green);color:var(--tt-green)}
.tt-btn--onlime{border:1.5px solid var(--tt-lime-ink);color:var(--tt-lime-ink);padding:16px 32px}
.tt-btn--onlime:hover{background:rgba(23,36,10,.08);color:var(--tt-lime-ink)}
.tt-btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- header ---------- */
.tt-header{position:sticky;top:0;z-index:50;background:rgba(252,250,246,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--tt-border)}
.tt-header__inner{max-width:var(--tt-maxw);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex-wrap:nowrap}
.tt-logo{flex:none;display:block}
.tt-logo img{display:block;height:42px;width:auto;mix-blend-mode:multiply}
.tt-logo__text{font-family:var(--tt-font-round);font-weight:700;font-size:20px;white-space:nowrap;color:var(--tt-ink)}
.tt-nav{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px clamp(14px,1.8vw,26px);font-size:13.5px;font-weight:500;white-space:nowrap;list-style:none;margin:0;padding:0}
.tt-nav a{color:var(--tt-ink-sub)}
.tt-nav a:hover{color:var(--tt-green)}
.tt-header__cta{flex:none;background:var(--tt-orange);color:var(--tt-ink);padding:11px 22px;border-radius:999px;font-weight:700;font-size:13.5px;white-space:nowrap}
.tt-header__cta:hover{background:var(--tt-orange-dark);color:var(--tt-ink)}

/* ---------- hero ---------- */
.tt-hero{max-width:var(--tt-maxw);margin:0 auto;padding:clamp(56px,8vw,104px) 24px clamp(40px,6vw,72px)}
.tt-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.tt-hero__title{font-size:clamp(32px,5.2vw,56px);line-height:1.45;margin-bottom:24px;text-wrap:pretty}
.tt-mark{background:linear-gradient(transparent 62%,var(--tt-marker) 62%)}
.tt-hero__body{font-size:clamp(15px,1.5vw,17px);color:var(--tt-ink-sub);max-width:30em;margin-bottom:20px;text-wrap:pretty}
.tt-hero__tagline{font-family:var(--tt-font-round);font-size:14px;color:var(--tt-green);margin-bottom:32px}
.tt-hero__visual{position:relative}
.tt-hero__blob{position:absolute;inset:-18px -18px auto auto;width:168px;height:168px;border-radius:50%;background:var(--tt-chip-green);z-index:0}
.tt-hero__card{position:relative;z-index:1;aspect-ratio:4/5;border-radius:26px;background:#fff;border:1px solid var(--tt-border);display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px);overflow:hidden}
.tt-hero__card img{width:100%;mix-blend-mode:multiply}
.tt-hero__card--photo{padding:0}
.tt-hero__card--photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}

/* ---------- marquee ---------- */
.tt-marquee{border-top:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border);background:var(--tt-pale);overflow:hidden;padding:14px 0}
.tt-marquee__track{display:flex;width:max-content;gap:44px;font-family:var(--tt-font-en);font-size:13px;letter-spacing:.2em;color:#3D5A3D;white-space:nowrap;animation:tt-marquee 28s linear infinite}
@keyframes tt-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- service ---------- */
.tt-cards{display:flex;flex-wrap:wrap;gap:20px}
.tt-card{flex:1 1 calc(50% - 10px);min-width:240px;background:#fff;border:1px solid var(--tt-border);border-radius:22px;padding:32px 28px}
.tt-card__num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;font-family:var(--tt-font-round);font-weight:700;font-size:17px}
.tt-card__num--orange{background:var(--tt-chip-orange);color:var(--tt-orange-ink)}
.tt-card__num--green{background:var(--tt-chip-green);color:var(--tt-green-dark)}
.tt-card h3{font-size:19px;line-height:1.6;margin:20px 0 12px}
.tt-card p{font-size:14.5px;color:var(--tt-ink-sub)}
.tt-card__meta{margin-top:16px;font-size:12.5px;color:var(--tt-ink-muted)}

/* ---------- reason ---------- */
.tt-reasons{display:grid;gap:1px;background:var(--tt-border-green);border:1px solid var(--tt-border-green);border-radius:22px;overflow:hidden}
.tt-reason{background:var(--tt-base);padding:32px clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(16px,3vw,40px);align-items:start}
.tt-reason h3{font-size:clamp(18px,2vw,22px);line-height:1.6}
.tt-reason p{font-size:14.5px;color:var(--tt-ink-sub)}

/* ---------- voice ---------- */
.tt-voice{background:var(--tt-lime);color:var(--tt-lime-ink)}
.tt-voice .tt-eyebrow{color:#14400E}
.tt-voice__lead{font-size:14.5px;color:#25390F;max-width:34em}
.tt-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.tt-quote{margin:0;background:rgba(255,255,255,.88);border:1px solid rgba(23,36,10,.14);border-radius:22px;padding:30px 28px}
.tt-quote p{font-size:15.5px;line-height:1.95;margin-bottom:20px}
.tt-quote footer{font-size:13px;color:#3F5A38}

/* ---------- faq ---------- */
.tt-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(24px,4vw,56px)}
.tt-faq details{border-top:1px solid var(--tt-border)}
.tt-faq details:last-child{border-bottom:1px solid var(--tt-border)}
.tt-faq summary{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:22px 4px;font-size:15.5px;font-weight:500;cursor:pointer;list-style:none}
.tt-faq summary::-webkit-details-marker{display:none}
.tt-faq__plus{flex:none;font-size:20px;color:var(--tt-green);transition:transform .25s ease}
.tt-faq details[open] .tt-faq__plus{transform:rotate(45deg)}
.tt-faq details p{padding:0 4px 24px;font-size:14.5px;color:var(--tt-ink-sub);max-width:44em}

/* ---------- news ---------- */
.tt-newslist{display:grid}
.tt-newsitem{display:grid;grid-template-columns:108px 104px minmax(0,1fr);gap:16px;align-items:center;padding:22px 4px;border-top:1px solid var(--tt-border-green);color:var(--tt-ink)}
.tt-newslist .tt-newsitem:last-child{border-bottom:1px solid var(--tt-border-green)}
.tt-newsitem:hover{color:var(--tt-green)}
.tt-newsitem__date{font-size:13px;color:#4C664C;letter-spacing:.04em}
.tt-newsitem__cat{font-size:11.5px;text-align:center;border:1px solid var(--tt-border-chip);border-radius:999px;padding:4px 0;color:var(--tt-ink-sub)}
.tt-newsitem__title{font-size:15px}

/* ---------- cta ---------- */
.tt-cta{background:var(--tt-lime);border-radius:28px;padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);color:var(--tt-lime-ink);text-align:center}
.tt-cta h2{font-size:clamp(24px,3.4vw,38px);margin-bottom:18px}
.tt-cta p{max-width:30em;margin:0 auto 32px;font-size:15px;color:#2A3D14}
.tt-cta .tt-btn-row{justify-content:center}

/* ---------- footer ---------- */
.tt-footer{border-top:1px solid var(--tt-border);background:var(--tt-base)}
.tt-footer__inner{max-width:var(--tt-maxw);margin:0 auto;padding:44px 24px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.tt-footer__brand{display:flex;align-items:center;gap:18px}
.tt-footer__brand img{width:132px;mix-blend-mode:multiply}
.tt-footer__brand p{font-size:12.5px;color:var(--tt-ink-muted);max-width:18em}
.tt-footer__nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;list-style:none;margin:0;padding:0}
.tt-footer__nav a{color:var(--tt-ink-sub)}
.tt-footer__nav a:hover{color:var(--tt-green)}
.tt-footer__copy{width:100%;font-size:11.5px;color:var(--tt-ink-muted);letter-spacing:.06em}

/* ---------- article / page ---------- */
.tt-page-head{padding:clamp(48px,7vw,88px) 0 clamp(24px,4vw,40px)}
.tt-page-head h1{font-size:clamp(26px,3.6vw,40px)}
.tt-article{max-width:760px;margin:0 auto;padding:0 24px clamp(64px,9vw,112px)}
.tt-article__meta{display:flex;gap:14px;align-items:center;font-size:13px;color:#4C664C;margin-bottom:18px}
.tt-article__body{font-size:16px;color:var(--tt-ink-sub)}
.tt-article__body h2{font-size:24px;margin:44px 0 16px;color:var(--tt-ink)}
.tt-article__body h3{font-size:19px;margin:32px 0 12px;color:var(--tt-ink)}
.tt-article__body p{margin:0 0 20px}
.tt-article__body ul,.tt-article__body ol{margin:0 0 20px;padding-left:1.4em}
.tt-article__body li{margin-bottom:8px}
.tt-article__body img{border-radius:18px;margin:12px 0}
.tt-article__body blockquote{margin:24px 0;padding:20px 24px;background:var(--tt-pale);border-radius:16px}
.tt-article__body a{text-decoration:underline}
.tt-pull{font-family:var(--tt-font-round);font-weight:700;font-size:clamp(17px,1.9vw,21px);line-height:1.75;color:var(--tt-ink);margin:0 0 32px}
.tt-pull--green{font-size:clamp(19px,2.2vw,24px);color:var(--tt-green)}
.tt-sign{padding-top:24px;border-top:1px solid var(--tt-border);font-family:var(--tt-font-round);font-size:15px;color:var(--tt-ink)}
.tt-profile__photo{position:sticky;top:92px}
.tt-servicelead{color:var(--tt-ink-sub);max-width:36em;font-size:15.5px}
.tt-servicelead p{margin:0 0 20px}
.tt-servicelead p:last-child{margin:0}
.tt-tagline{margin-top:clamp(32px,4vw,48px);padding:clamp(28px,4vw,40px);background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:22px;text-align:center}
.tt-tagline__lead{font-family:var(--tt-font-round);font-weight:700;font-size:clamp(19px,2.2vw,24px);color:var(--tt-green);margin-bottom:12px}
.tt-card--wide{flex:1 1 300px;min-width:260px;padding:34px 30px}
.tt-pagination{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:48px}
.tt-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--tt-border);border-radius:999px;font-size:14px;color:var(--tt-ink-sub)}
.tt-pagination .page-numbers.current{background:var(--tt-green);border-color:var(--tt-green);color:#fff}

/* ---------- 下層ページ用 ---------- */
.tt-table{margin:0;display:grid;grid-template-columns:8em minmax(0,1fr);gap:0 24px;font-size:14.5px}
.tt-table dt{padding:16px 0;border-top:1px solid var(--tt-border);color:#4C664C;font-weight:500}
.tt-table dd{margin:0;padding:16px 0;border-top:1px solid var(--tt-border);color:var(--tt-ink-sub)}
.tt-table dt:last-of-type,.tt-table dd:last-of-type{border-bottom:1px solid var(--tt-border)}

.tt-photo{border-radius:22px;background:var(--tt-placeholder);border:1px solid var(--tt-border);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.tt-photo span{font-size:12.5px;color:#8A8A82;letter-spacing:.06em;padding:20px}
.tt-photo img{width:100%;height:100%;object-fit:cover}
.tt-profile{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr);gap:clamp(28px,5vw,64px);align-items:start}

.tt-anchors{display:flex;flex-wrap:wrap;gap:10px}
.tt-anchors a{border:1px solid var(--tt-border-chip);background:#fff;border-radius:999px;padding:9px 20px;font-size:13.5px;font-weight:500;color:var(--tt-ink-sub)}
.tt-anchors a:hover{border-color:var(--tt-green);color:var(--tt-green)}

.tt-detail{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-detail__head{display:flex;gap:18px;align-items:center;margin-bottom:20px}
.tt-detail__head h2{font-size:clamp(21px,2.6vw,27px)}
.tt-detail__meta{font-size:12.5px;color:var(--tt-ink-muted)}
.tt-detail__lead{font-size:15.5px;color:var(--tt-ink-sub);max-width:46em;margin-bottom:28px;text-wrap:pretty}
.tt-detail__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,3vw,40px)}
.tt-detail__cols h3{font-size:15px;color:var(--tt-green);margin-bottom:10px}
.tt-detail__cols ul{margin:0;padding-left:1.2em;font-size:14.5px;color:var(--tt-ink-sub)}
.tt-detail__cols li{margin-bottom:8px}
.tt-detail__price{margin-top:28px;padding-top:20px;border-top:1px solid var(--tt-border);font-size:14px;color:var(--tt-ink-sub)}

.tt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.tt-steps li{background:var(--tt-base);border:1px solid var(--tt-border-green);border-radius:20px;padding:28px 26px}
.tt-steps__no{font-family:var(--tt-font-en);font-size:11.5px;letter-spacing:.2em;color:var(--tt-green)}
.tt-steps h3{font-size:17px;margin:12px 0 10px}
.tt-steps p{font-size:14px;color:var(--tt-ink-sub)}

.tt-case{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-case__tag{font-size:11.5px;letter-spacing:.16em;color:#4C664C;margin-bottom:10px}
.tt-case h2{font-size:clamp(19px,2.4vw,25px);margin-bottom:24px;text-wrap:pretty}
.tt-case__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(20px,3vw,36px)}
.tt-case__cols h3{font-size:14px;color:var(--tt-green);margin-bottom:8px}
.tt-case__cols p{font-size:14.5px;color:var(--tt-ink-sub)}

.tt-contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:clamp(24px,4vw,44px);align-items:start}
.tt-contact__form{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-contact__side{background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:24px;padding:clamp(28px,4vw,40px)}
.tt-formarea input[type=text],.tt-formarea input[type=email],.tt-formarea input[type=tel],.tt-formarea textarea,.tt-formarea select{
  width:100%;font-family:inherit;font-size:15px;color:var(--tt-ink);background:var(--tt-base);
  border:1px solid var(--tt-border-chip);border-radius:12px;padding:12px 14px;margin-top:6px;
}
.tt-formarea textarea{min-height:160px}
.tt-formarea label{display:block;font-size:14px;font-weight:500;margin-bottom:18px}
.tt-formarea input[type=submit],.tt-formarea button[type=submit]{
  background:var(--tt-orange);color:var(--tt-ink);border:0;border-radius:999px;
  font-family:inherit;font-weight:700;font-size:15px;padding:15px 36px;cursor:pointer;
}
.tt-formarea input[type=submit]:hover,.tt-formarea button[type=submit]:hover{background:var(--tt-orange-dark)}
.tt-formarea--empty{border:1px dashed var(--tt-border-chip);border-radius:16px;padding:32px 24px;text-align:center;background:var(--tt-pale)}
.tt-formarea--empty p{margin-bottom:8px}

@media (max-width:900px){
  .tt-profile{grid-template-columns:1fr}
  .tt-profile__photo{position:static}
  .tt-profile > div:first-child{max-width:320px}
  .tt-contact{grid-template-columns:1fr}
  .tt-table{grid-template-columns:1fr;gap:0}
  .tt-table dt{padding-bottom:0;border-top:1px solid var(--tt-border)}
  .tt-table dd{padding-top:4px;border-top:0}
  .tt-table dt:last-of-type{border-bottom:0}
}

/* ---------- reveal ---------- */
.tt-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.tt-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .tt-reveal{opacity:1;transform:none;transition:none}
  .tt-marquee__track{animation:none}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .tt-hero__grid{grid-template-columns:1fr}
  .tt-hero__visual{max-width:420px}
  .tt-split{grid-template-columns:1fr}
  .tt-reason{grid-template-columns:1fr;gap:10px}
}
@media (max-width:760px){
  .tt-nav{display:none}
  .tt-header__inner{justify-content:space-between}
  .tt-logo img{height:34px}
  .tt-newsitem{grid-template-columns:96px 1fr;row-gap:6px}
  .tt-newsitem__title{grid-column:1/-1}
}
@media (max-width:560px){
  .tt-card{flex:1 1 100%;max-width:none}
  .tt-btn{width:100%;text-align:center}
}


/* ==========================================================================
   ブロックエディタで組んだ固定ページ用スタイル
   （パターンに付いているクラスに対応）
   ========================================================================== */

.tt-pagebody .tt-blocks{padding-bottom:clamp(64px,9vw,112px)}
.tt-blocks > *{margin-top:clamp(28px,4vw,48px)}
.tt-blocks > *:first-child{margin-top:0}
.tt-blocks h2{font-size:clamp(24px,3vw,32px);margin:0 0 20px}
.tt-blocks h3{font-size:19px;margin:0 0 12px}
.tt-blocks p{font-size:16px;color:var(--tt-ink-sub);margin:0 0 20px}
.tt-blocks p:last-child{margin-bottom:0}
.tt-blocks ul,.tt-blocks ol{font-size:16px;color:var(--tt-ink-sub);padding-left:1.4em}
.tt-blocks li{margin-bottom:8px}
.tt-blocks a{text-decoration:underline}
.tt-blocks .wp-block-image img{border-radius:18px}

/* ページ見出しパターン */
.tt-page-head-block{padding:clamp(32px,5vw,56px) 0 clamp(8px,2vw,16px)}
.tt-page-head-block h1{font-size:clamp(26px,3.6vw,40px);margin:0 0 18px}
.tt-page-head-block .tt-eyebrow{margin-bottom:12px}
.tt-page-head-block .tt-lead{font-size:16px}

/* テーブル */
.tt-table-block{margin:0}
.tt-table-block table{border-collapse:collapse;width:100%;font-size:15px}
.tt-table-block th,.tt-table-block td{border:0;border-top:1px solid var(--tt-border);padding:16px 0;text-align:left;vertical-align:top}
.tt-table-block th{width:8em;color:#4C664C;font-weight:500;padding-right:24px}
.tt-table-block td{color:var(--tt-ink-sub)}
.tt-table-block tr:last-child th,.tt-table-block tr:last-child td{border-bottom:1px solid var(--tt-border)}

/* サービスカード */
.tt-cards-block{gap:20px}
.tt-cards-block .tt-card{background:#fff;border:1px solid var(--tt-border);border-radius:22px;padding:32px 28px;flex-basis:0}
.tt-cards-block .tt-card h3{margin:20px 0 12px;font-size:20px}
.tt-cards-block .tt-card p{font-size:14.5px}
.tt-cards-block .tt-card__num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;font-family:var(--tt-font-round);font-weight:700;font-size:17px;margin:0}

/* 代表挨拶 */
.tt-profile-block{gap:clamp(28px,5vw,64px);align-items:flex-start}
.tt-profile-block h2{font-size:clamp(24px,3.2vw,36px);line-height:1.5;margin-bottom:32px}
.tt-profile__photo .tt-photo-block{margin:0}
.tt-profile__photo .tt-photo-block img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px;border:1px solid var(--tt-border)}
.tt-profile__name{font-family:var(--tt-font-round);font-size:18px;font-weight:700;color:var(--tt-ink);margin:18px 0 4px}
.tt-profile__org{font-size:13px;color:var(--tt-ink-muted);margin:0}

/* 事例カード */
.tt-case-block{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-case-block h2{font-size:clamp(19px,2.4vw,25px);margin-bottom:24px}
.tt-case-block .tt-case__tag{font-size:11.5px;letter-spacing:.16em;color:#4C664C;margin-bottom:10px}
.tt-case-block .tt-case__label{font-size:14px;color:var(--tt-green);margin-bottom:8px}
.tt-case-block .wp-block-columns p{font-size:14.5px}

/* お客様の声 */
.tt-voice-block{background:var(--tt-lime);border-radius:28px;padding:clamp(40px,6vw,64px) clamp(28px,5vw,48px);color:var(--tt-lime-ink)}
.tt-voice-block h2{color:var(--tt-lime-ink);margin-bottom:clamp(24px,3vw,36px)}
.tt-quote-block{margin:0;background:rgba(255,255,255,.88);border:1px solid rgba(23,36,10,.14);border-left:1px solid rgba(23,36,10,.14);border-radius:22px;padding:28px 26px}
.tt-quote-block p{font-size:15.5px;line-height:1.95;color:var(--tt-lime-ink);margin-bottom:16px}
.tt-quote-block cite{font-size:13px;color:#3F5A38;font-style:normal}

/* ステップ */
.tt-steps-block .wp-block-columns{gap:20px}
.tt-steps-block .tt-step{background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:20px;padding:28px 26px;flex-basis:0}
.tt-steps-block .tt-steps__no{font-family:var(--tt-font-en);font-size:11.5px;letter-spacing:.2em;color:var(--tt-green);margin:0}
.tt-steps-block .tt-step h3{font-size:17px;margin:12px 0 10px}
.tt-steps-block .tt-step p{font-size:14px;margin:0}

/* FAQ（コアの details ブロック） */
.tt-faq-block .wp-block-details{border-top:1px solid var(--tt-border);padding:0}
.tt-faq-block .wp-block-details:last-of-type{border-bottom:1px solid var(--tt-border)}
.tt-faq-block .wp-block-details summary{padding:22px 4px;font-size:15.5px;font-weight:500;cursor:pointer;list-style:none;position:relative;padding-right:40px}
.tt-faq-block .wp-block-details summary::-webkit-details-marker{display:none}
.tt-faq-block .wp-block-details summary::after{content:"＋";position:absolute;right:4px;top:22px;font-size:20px;color:var(--tt-green);transition:transform .25s ease}
.tt-faq-block .wp-block-details[open] summary::after{transform:rotate(45deg)}
.tt-faq-block .wp-block-details p{padding:0 4px 24px;font-size:14.5px;margin:0}

/* CTA */
.tt-cta-block{background:var(--tt-lime);border-radius:28px;padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);color:var(--tt-lime-ink);text-align:center}
.tt-cta-block h2{font-size:clamp(24px,3.4vw,34px);color:var(--tt-lime-ink);margin-bottom:18px}
.tt-cta-block p{max-width:30em;margin:0 auto 32px;font-size:15px;color:#2A3D14}
.tt-cta-block .wp-block-buttons{justify-content:center}
.tt-btn-block .wp-block-button__link{background:var(--tt-orange);color:var(--tt-ink);border-radius:999px;font-weight:700;font-size:15px;padding:16px 36px;text-decoration:none}
.tt-btn-block .wp-block-button__link:hover{background:var(--tt-orange-dark);color:var(--tt-ink)}

/* 情報ボックス */
.tt-infobox{background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:22px;padding:clamp(24px,3vw,36px)}
.tt-infobox h3{margin-bottom:12px}
.tt-infobox p{font-size:15px;margin:0}

@media (max-width:900px){
  .tt-profile-block{flex-wrap:wrap}
  .tt-profile-block .wp-block-column{flex-basis:100% !important}
  .tt-profile__photo{max-width:320px}
  .tt-table-block th{width:auto;display:block;padding-bottom:0;border-bottom:0}
  .tt-table-block td{display:block;padding-top:4px;border-top:0}
  .tt-table-block tr:last-child th{border-bottom:0}
}


/* ==========================================================================
   トップページをブロックで組んだ場合のスタイル
   （content/home.html を固定ページに貼り付けたとき用）
   ========================================================================== */

.tt-home-blocks > *{margin:0}

/* セクション共通の幅・余白 */
.tt-sec-block,
.tt-faq-sec-block,
.tt-cta-sec-block{max-width:var(--tt-maxw);margin:0 auto;padding:clamp(64px,9vw,112px) 24px}
.tt-band-block{background:var(--tt-pale);border-top:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border);padding:clamp(64px,9vw,112px) 24px}
.tt-band-block > .wp-block-columns,
.tt-band-block > .tt-reasons-block,
.tt-band-block > p,
.tt-band-block > h2{max-width:var(--tt-maxw);margin-left:auto;margin-right:auto}
.tt-home-blocks h2{font-family:var(--tt-font-round);font-weight:700}
.tt-home-blocks .tt-h2-block{font-size:clamp(26px,3.4vw,38px);margin:0 0 24px}
.tt-home-blocks .tt-band-block h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 clamp(32px,4vw,52px)}
.tt-home-blocks .tt-eyebrow{margin:0 0 12px}
.tt-home-blocks p{color:var(--tt-ink-sub)}
.tt-morelink{font-size:14px;font-weight:700;margin:0}
.tt-morelink a{text-decoration:none}

/* ヒーロー */
.tt-hero-block{max-width:var(--tt-maxw);margin:0 auto;padding:clamp(56px,8vw,104px) 24px clamp(40px,6vw,72px)}
.tt-hero-block__grid{gap:clamp(28px,5vw,64px);margin-bottom:0}
.tt-home-blocks .tt-hero__title{font-size:clamp(32px,5.2vw,56px);line-height:1.45;margin:0 0 24px;text-wrap:pretty}
.tt-home-blocks .tt-hero__body{font-size:clamp(15px,1.5vw,17px);max-width:30em;margin:0 0 20px;text-wrap:pretty}
.tt-home-blocks .tt-hero__tagline{font-family:var(--tt-font-round);font-size:14px;color:var(--tt-green);margin:0 0 32px}
.tt-hero-block__visual{position:relative}
.tt-hero-block__visual::before{content:"";position:absolute;top:-18px;right:-18px;width:168px;height:168px;border-radius:50%;background:var(--tt-chip-green);z-index:0}
.tt-hero-block__card{position:relative;z-index:1;margin:0;aspect-ratio:4/5;border-radius:26px;background:#fff;border:1px solid var(--tt-border);display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px);overflow:hidden}
.tt-hero-block__card img{width:100%;height:auto;border-radius:0;mix-blend-mode:multiply}

/* ボタン */
.tt-btn-row-block{gap:14px}
.tt-home-blocks .tt-btn-block .wp-block-button__link,
.tt-blocks .tt-btn-block .wp-block-button__link{background:var(--tt-orange);color:var(--tt-ink);border-radius:999px;font-weight:700;font-size:15px;padding:16px 34px;text-decoration:none}
.tt-home-blocks .tt-btn-block .wp-block-button__link:hover{background:var(--tt-orange-dark);color:var(--tt-ink)}
.tt-btn-block--ghost .wp-block-button__link{background:#fff !important;color:var(--tt-ink) !important;border:1.5px solid #CFCEC6;padding:14.5px 28.5px}
.tt-btn-block--ghost .wp-block-button__link:hover{border-color:var(--tt-green);color:var(--tt-green) !important;background:#fff !important}
.tt-btn-block--onlime .wp-block-button__link{background:transparent !important;color:var(--tt-lime-ink) !important;border:1.5px solid var(--tt-lime-ink);padding:14.5px 30.5px}
.tt-btn-block--onlime .wp-block-button__link:hover{background:rgba(23,36,10,.08) !important}

/* 流れる帯 */
.tt-marquee-block{border-top:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border);background:var(--tt-pale);overflow:hidden;padding:14px 0;display:flex;width:max-content;min-width:100%;gap:44px;animation:tt-marquee 28s linear infinite}
.tt-marquee-block__text{font-family:var(--tt-font-en);font-size:13px;letter-spacing:.2em;color:#3D5A3D;white-space:nowrap;margin:0;flex:none}

/* サービスのリード文 */
.tt-servicelead-block{max-width:36em;font-size:15.5px;margin:0 0 20px}
.tt-servicelead-block + .tt-cards-block{margin-top:clamp(32px,4vw,52px)}

/* サービスカードをトップ用の横幅に */
.tt-sec-block .tt-cards-block{gap:20px;margin-bottom:0}
.tt-sec-block .tt-cards-block .tt-card{padding:34px 30px}

/* サービス下のタグライン枠 */
.tt-tagline-block{margin-top:clamp(32px,4vw,48px);padding:clamp(28px,4vw,40px);background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:22px;text-align:center}
.tt-tagline-block .tt-tagline__lead{font-family:var(--tt-font-round);font-weight:700;font-size:clamp(19px,2.2vw,24px);color:var(--tt-green);margin:0 0 12px}
.tt-tagline-block p{font-size:15px;margin:0 0 24px}
.tt-tagline-block .tt-morelink{margin:0}

/* 選ばれる理由 */
.tt-reasons-block{display:grid;gap:1px;background:var(--tt-border-green);border:1px solid var(--tt-border-green);border-radius:22px;overflow:hidden}
.tt-reason-block{background:var(--tt-base);padding:32px clamp(24px,3vw,40px);margin:0;gap:clamp(16px,3vw,40px)}
.tt-reason-block h3{font-family:var(--tt-font-round);font-size:clamp(18px,2vw,22px);font-weight:700;line-height:1.6;margin:0}
.tt-reason-block p{font-size:14.5px;margin:0}

/* FAQ セクション */
.tt-faq-sec-block .wp-block-columns{gap:clamp(24px,4vw,56px)}
.tt-faq-sec-block h2{font-size:clamp(24px,3vw,32px);margin:0}

/* お知らせ（ショートコード出力） */
.tt-newslist__empty{padding:22px 4px;color:var(--tt-ink-muted);font-size:14px;margin:0}

/* CTA セクション */
.tt-cta-sec-block > .tt-cta-block{margin:0}

@media (max-width:900px){
  .tt-hero-block__grid,
  .tt-faq-sec-block .wp-block-columns,
  .tt-band-block .wp-block-columns{flex-wrap:wrap}
  .tt-hero-block__grid > .wp-block-column,
  .tt-faq-sec-block .wp-block-columns > .wp-block-column,
  .tt-band-block > .wp-block-columns > .wp-block-column{flex-basis:100% !important}
  .tt-hero-block__visual{max-width:420px}
  .tt-reason-block{flex-wrap:wrap;gap:10px}
  .tt-reason-block > .wp-block-column{flex-basis:100% !important}
}


/* ==========================================================================
   サービス詳細ブロック（service ページ）
   ========================================================================== */
.tt-detail-block{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-detail-block__head{margin-bottom:20px;gap:18px}
.tt-detail-block__head h2{font-size:clamp(21px,2.6vw,27px);margin:0}
.tt-detail-block .tt-detail__meta{font-size:12.5px;color:var(--tt-ink-muted);margin:0}
.tt-detail-block .tt-detail__lead{font-size:15.5px;max-width:46em;margin:0 0 28px;text-wrap:pretty}
.tt-detail-block__cols{gap:clamp(20px,3vw,40px);margin-bottom:0}
.tt-detail-block .tt-detail__label{font-size:15px;color:var(--tt-green);margin:0 0 10px}
.tt-detail-block ul,.tt-detail-block ol{font-size:14.5px;margin:0;padding-left:1.2em}
.tt-detail-block li{margin-bottom:8px}
.tt-detail-block .tt-detail__price{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--tt-border);font-size:14px}
.tt-detail-block .tt-card__num{margin:0}

@media (max-width:781px){
  .tt-detail-block__head{gap:12px}
}


/* ==========================================================================
   コラム（カード表示）
   ========================================================================== */
.tt-colcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(20px,3vw,32px)}
.tt-colcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tt-border);border-radius:22px;overflow:hidden;color:var(--tt-ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.tt-colcard:hover{border-color:var(--tt-green);color:var(--tt-ink);transform:translateY(-2px)}
.tt-colcard__thumb{display:block;aspect-ratio:16/10;background:var(--tt-placeholder);overflow:hidden}
.tt-colcard__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tt-colcard__thumb--empty{background:var(--tt-pale)}
.tt-colcard__meta{display:block;padding:20px 24px 0;font-size:12px;letter-spacing:.06em;color:#4C664C}
.tt-colcard__title{display:block;padding:8px 24px 0;font-family:var(--tt-font-round);font-size:17px;font-weight:700;line-height:1.6;text-wrap:pretty}
.tt-colcard:hover .tt-colcard__title{color:var(--tt-green)}
.tt-colcard__excerpt{display:block;padding:10px 24px 24px;font-size:13.5px;color:var(--tt-ink-sub);line-height:1.85}


/* ==========================================================================
   Contact Form 7（お問い合わせフォーム）
   ========================================================================== */
.tt-contact-cols{gap:clamp(24px,4vw,44px);align-items:flex-start}
.tt-formcard{background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(28px,4vw,44px)}
.tt-formcard h2{font-size:22px;margin:0 0 24px}

.tt-form__row{margin:0 0 22px}
.tt-form__label{display:block;font-size:14px;font-weight:500;color:var(--tt-ink);margin-bottom:6px}
.tt-form__req{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:#fff;background:var(--tt-orange);border-radius:4px;padding:2px 7px;vertical-align:1px}
.tt-form__opt{display:inline-block;margin-left:8px;font-size:11px;color:var(--tt-ink-muted);border:1px solid var(--tt-border-chip);border-radius:4px;padding:1px 7px;vertical-align:1px}

.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=url],
.wpcf7 input[type=number],
.wpcf7 textarea,
.wpcf7 select{
  width:100%;font-family:inherit;font-size:15px;line-height:1.7;color:var(--tt-ink);
  background:var(--tt-base);border:1px solid var(--tt-border-chip);border-radius:12px;
  padding:12px 14px;appearance:none;-webkit-appearance:none;
}
.wpcf7 select{background-image:linear-gradient(45deg,transparent 50%,var(--tt-green) 50%),linear-gradient(135deg,var(--tt-green) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.wpcf7 textarea{min-height:170px;resize:vertical}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:none;border-color:var(--tt-green);box-shadow:0 0 0 3px rgba(31,122,31,.12)}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:#A8A69C}

/* チェックボックス・ラジオ */
.wpcf7 .wpcf7-checkbox,.wpcf7 .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px 18px}
.wpcf7 .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-list-item label{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--tt-ink-sub);cursor:pointer}
.wpcf7 input[type=checkbox],.wpcf7 input[type=radio]{width:18px;height:18px;flex:none;accent-color:var(--tt-green);margin:0}

/* 同意チェック */
.tt-form__consent{margin:0 0 24px;padding:16px 18px;background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:12px;font-size:14px}
.tt-form__consent .wpcf7-list-item label{align-items:flex-start}

/* 送信ボタン */
.tt-form__submit{margin:0;display:flex;align-items:center;gap:14px}
.wpcf7 input[type=submit]{
  background:var(--tt-orange);color:var(--tt-ink);border:0;border-radius:999px;
  font-family:inherit;font-weight:700;font-size:16px;padding:16px 44px;cursor:pointer;
  transition:background .2s ease;
}
.wpcf7 input[type=submit]:hover{background:var(--tt-orange-dark)}
.wpcf7 input[type=submit]:disabled{opacity:.5;cursor:not-allowed}
.wpcf7-spinner{margin:0}

.tt-form__note{margin:20px 0 0;font-size:12.5px;color:var(--tt-ink-muted);line-height:1.8}

/* エラー・完了メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:24px 0 0;padding:14px 18px;border:0;border-radius:12px;
  font-size:14px;line-height:1.8;
}
.wpcf7 form.sent .wpcf7-response-output{background:var(--tt-chip-green);color:#14400E}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{background:#FDE7D2;color:#8A4308}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{background:#F7DDD9;color:#8F2A1C}
.wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12.5px;color:#C0392B}
.wpcf7 .wpcf7-not-valid{border-color:#C0392B}

@media (max-width:781px){
  .tt-contact-cols{flex-wrap:wrap}
  .tt-contact-cols > .wp-block-column{flex-basis:100% !important}
  .wpcf7 input[type=submit]{width:100%}
}


/* ==========================================================================
   セミナー日程
   ========================================================================== */

/* 絞り込み */
.tt-semfilter{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--tt-border)}
.tt-semfilter__group{display:flex;flex-wrap:wrap;gap:8px}
.tt-semfilter__btn{border:1px solid var(--tt-border-chip);background:#fff;border-radius:999px;padding:9px 20px;font-size:13.5px;font-weight:500;color:var(--tt-ink-sub);white-space:nowrap}
.tt-semfilter__btn:hover{border-color:var(--tt-green);color:var(--tt-green)}
.tt-semfilter__btn.is-active{background:var(--tt-green);border-color:var(--tt-green);color:#fff}
.tt-semfilter__btn.is-active:hover{color:#fff}
.tt-semfilter__view{display:flex;gap:18px;font-size:13.5px}
.tt-semfilter__link{color:var(--tt-ink-muted);font-weight:500;padding-bottom:2px;border-bottom:2px solid transparent}
.tt-semfilter__link.is-active{color:var(--tt-ink);border-bottom-color:var(--tt-orange);font-weight:700}
.tt-semcount{margin:24px 0 20px;font-size:13.5px;color:var(--tt-ink-muted)}

/* 一覧 */
.tt-semlist{display:grid;gap:20px}

.tt-sem{display:grid;grid-template-columns:104px minmax(0,1fr) 220px;gap:clamp(20px,3vw,32px);align-items:start;background:#fff;border:1px solid var(--tt-border);border-radius:24px;padding:clamp(24px,3vw,32px)}
.tt-sem--past{background:var(--tt-base);border-color:var(--tt-border)}
.tt-sem--past .tt-sem__title a{color:var(--tt-ink-sub)}

/* 日付 */
.tt-sem__date{text-align:center;border-right:1px solid var(--tt-border);padding-right:clamp(12px,2vw,20px)}
.tt-sem__month{display:block;font-family:var(--tt-font-en);font-size:13px;letter-spacing:.08em;color:var(--tt-green);font-weight:500}
.tt-sem__day{display:block;font-family:var(--tt-font-round);font-size:44px;font-weight:700;line-height:1.1;color:var(--tt-ink)}
.tt-sem__dow{display:block;font-size:12px;color:var(--tt-ink-muted);letter-spacing:.04em}
.tt-sem--past .tt-sem__month{color:var(--tt-ink-muted)}
.tt-sem--past .tt-sem__day{color:var(--tt-ink-muted)}

/* タグ類 */
.tt-sem__tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.tt-sem__status{font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 12px;letter-spacing:.04em}
.tt-sem__status--open{background:var(--tt-lime);color:var(--tt-lime-ink)}
.tt-sem__status--few{background:var(--tt-orange);color:var(--tt-ink)}
.tt-sem__status--full,
.tt-sem__status--closed{background:#EAE7DF;color:#6B6B64}
.tt-sem__status--past{background:#EAE7DF;color:#6B6B64}
.tt-sem__fee{font-size:11.5px;border:1px solid var(--tt-border-chip);border-radius:999px;padding:3px 12px;color:var(--tt-ink-sub)}
.tt-sem__time{font-size:13px;color:var(--tt-ink-sub);font-variant-numeric:tabular-nums}

/* 本文 */
.tt-sem__title{font-size:clamp(18px,2.2vw,22px);line-height:1.55;margin:0 0 10px;text-wrap:pretty}
.tt-sem__title a{color:var(--tt-ink)}
.tt-sem__title a:hover{color:var(--tt-green)}
.tt-sem__excerpt{font-size:14px;color:var(--tt-ink-sub);margin:0 0 16px}
.tt-sem__meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:13.5px}
.tt-sem__meta dt{color:var(--tt-ink-muted)}
.tt-sem__meta dd{margin:0;color:var(--tt-ink-sub)}
.tt-sem__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}
.tt-btn--sm{padding:12px 28px;font-size:14px}
.tt-sem__detail{font-size:13.5px;font-weight:700}

/* サムネイル */
.tt-sem__thumb{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--tt-border)}
.tt-sem__thumb img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}

/* 詳細ページ */
.tt-semhero{border-radius:22px;overflow:hidden;border:1px solid var(--tt-border);margin-bottom:clamp(32px,4vw,48px)}
.tt-semhero img{display:block;width:100%;height:auto}
.tt-semdetail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,0.9fr);gap:clamp(28px,5vw,56px);align-items:start}
.tt-semdetail__side{position:sticky;top:92px;background:var(--tt-pale);border:1px solid var(--tt-border-green);border-radius:22px;padding:clamp(24px,3vw,32px)}
.tt-semdetail__side .tt-table{grid-template-columns:5.5em minmax(0,1fr);font-size:14px}
.tt-semdetail__side .tt-table dt,
.tt-semdetail__side .tt-table dd{padding:12px 0;border-top-color:var(--tt-border-green)}
.tt-semdetail__side .tt-table dt:last-of-type,
.tt-semdetail__side .tt-table dd:last-of-type{border-bottom-color:var(--tt-border-green)}
.tt-semnote{font-size:13px;color:var(--tt-ink-sub);background:#fff;border:1px solid var(--tt-border);border-radius:12px;padding:14px 16px;margin:0}

@media (max-width:900px){
  .tt-sem{grid-template-columns:84px minmax(0,1fr)}
  .tt-sem__thumb{grid-column:1/-1;order:-1}
  .tt-sem__day{font-size:36px}
  .tt-semdetail{grid-template-columns:1fr}
  .tt-semdetail__side{position:static}
}
@media (max-width:560px){
  .tt-sem{grid-template-columns:1fr;gap:16px}
  .tt-sem__date{display:flex;align-items:baseline;gap:8px;text-align:left;border-right:0;border-bottom:1px solid var(--tt-border);padding:0 0 12px}
  .tt-sem__day{font-size:30px;line-height:1}
  .tt-sem__meta{grid-template-columns:1fr}
  .tt-sem__meta dt{margin-top:6px}
  .tt-semfilter{flex-direction:column;align-items:stretch}
}
