/*
Theme Name: Cocoon Child CHATRE ZUKAN
Template: cocoon-master
Description: チャトレ図鑑の共通デザイン。
Version: 3.1.0
Text Domain: cocoon-child
*/

:root {
  --tm-wine:#29101f;
  --tm-deep:#1c0c18;
  --tm-ink:#452738;
  --tm-muted:#715d69;
  --tm-rose:#b82358;
  --tm-pink:#ed397b;
  --tm-gold:#dab979;
  --tm-pale-gold:#f6dfa9;
  --tm-paper:#fffafd;
  --tm-line:#ead6dd;
  --tm-sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
  --tm-serif:'Yu Mincho',YuMincho,'Hiragino Mincho ProN','Noto Serif CJK JP',serif;
  --tm-script:'Segoe Script','Snell Roundhand','Brush Script MT',cursive;
  --cocoon-text-color:var(--tm-ink);
  --cocoon-key-color:var(--tm-rose);
  --cocoon-basic-border-color:var(--tm-line);
  --cocoon-thin-color:var(--tm-line);
  --cocoon-pallid-text-color:var(--tm-muted);
}
html { color-scheme:light; scroll-padding-top:24px; }
body.body { margin:0; padding:0!important; color:var(--tm-ink); background:var(--tm-paper); font:400 16px/1.9 var(--tm-sans); -webkit-font-smoothing:antialiased; }
body.body *,body.body *::before,body.body *::after { box-sizing:border-box; }
body.body img { max-width:100%; height:auto; }
body.body a { color:var(--tm-rose); text-underline-offset:.24em; }
body.body a:hover { color:#921840; }
body.body :is(a,button,input,summary,select,textarea,[tabindex]):focus-visible { outline:3px solid #b98220; outline-offset:4px; }
::selection { color:var(--tm-wine); background:#ffd1e2; }
.tm-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
#container.container { display:flex; flex-direction:column; width:100%; max-width:none; min-height:100vh; margin:0; }
#container.container::before,#container.container::after { content:none; }
body .skip-link:focus { z-index:100000; padding:12px 20px; color:var(--tm-wine); background:var(--tm-pale-gold); }

/* 共通ヘッダー */
#header-container { position:relative; z-index:40; flex:none; margin:0; padding:0; border:0; border-bottom:1px solid var(--tm-gold); color:#fff; background:radial-gradient(ellipse at 4% 0,#6d244e88,transparent 45%),linear-gradient(110deg,#361226,#25121f 66%,#493126); box-shadow:0 2px 12px #190a1726; }
#header-container-in { position:relative; display:grid!important; grid-template-columns:clamp(185px,19vw,245px) minmax(0,1fr); align-items:center; gap:20px; width:calc(100% - 48px); max-width:1392px; min-height:88px; margin:0 auto; padding:0; background:transparent!important; }
#header-container-in::before,#header-container-in::after,#header-in::before,#header-in::after,#navi-in::before,#navi-in::after { content:none; }
#header { float:none; width:100%; margin:0; padding:0; color:#fff; background:transparent!important; }
#header .header-in { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:0!important; margin:0; padding:10px 0; text-align:center; }
#header .logo { order:0; float:none; margin:0; padding:0; line-height:1; }
#header .site-name-text-link,#footer .site-name-text-link { display:block; padding:0; text-decoration:none; background:none; }
#header .site-name-text { display:block; color:#fff8fc; font:500 clamp(27px,2.5vw,36px)/1.2 var(--tm-serif); letter-spacing:.16em; white-space:nowrap; }
#header .site-name-text-link::after,#footer .site-name-text-link::after { content:'C H A T R E\00a0\00a0\00a0Z U K A N'; display:block; margin-top:4px; color:var(--tm-pale-gold); font:400 8px/1.5 Georgia,serif; letter-spacing:.3em; }
#header .tagline { order:1; margin:4px 0 0; padding:0; color:#f4dfe9; font:400 9px/1.5 var(--tm-sans); letter-spacing:.04em; }
#header .logo-image img { display:block; width:auto; max-width:100%; max-height:62px; object-fit:contain; }
#navi.navi { position:static; display:block!important; float:none; width:100%; height:auto; margin:0; padding:0; border:0; background:transparent!important; box-shadow:none; }
#navi .navi-in { position:static; display:block!important; width:100%; max-width:none; margin:0; padding:0; }
#navi .navi-in > .menu-header { position:static; display:flex!important; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:clamp(4px,.8vw,14px); width:100%; height:auto; margin:0; padding:0; list-style:none; }
#navi .navi-in > .menu-header > li { position:relative; float:none; flex:0 1 auto; width:auto; min-width:0; height:auto; margin:0; padding:0; border:0; }
#navi .navi-in > .menu-header > li > a { display:flex; align-items:center; justify-content:center; min-height:44px; height:auto; padding:8px 6px; color:#fff4fa; background:transparent; text-decoration:none; line-height:1.5; }
#navi .caption-wrap { width:auto; }
#navi .menu-header .item-label { color:inherit; font:500 clamp(11px,1vw,14px)/1.6 var(--tm-sans); letter-spacing:.02em; white-space:nowrap; }
#navi .item-description { display:none; }
#navi .navi-in > .menu-header > li > a:hover,#navi .navi-in > .menu-header > :is(.current-menu-item,.current-menu-parent,.current-post-ancestor) > a { color:var(--tm-pale-gold); background:#ffffff0c; }
#navi .navi-in > .menu-header > .menu-item-cta { flex-shrink:0; }
#navi .navi-in > .menu-header > .menu-item-cta > a { min-height:46px; padding:11px clamp(16px,1.6vw,24px); border:1px solid var(--tm-gold); border-radius:999px; color:#fff; background:linear-gradient(155deg,#ff75a3,#e52e70 43%,#bf1c54); box-shadow:inset 0 1px 0 #ffffff66,0 3px 14px #10071144; }
#navi .menu-item-cta > a::after { content:'→'; margin-left:13px; font-size:19px; }
#navi .navi-in > .menu-header > .menu-item-cta > a:hover { color:#fff; background:linear-gradient(155deg,#ff8ab2,#cb245d); }
#navi .sub-menu { border:1px solid #dab97988; color:#fff; background:var(--tm-wine)!important; }
#navi .sub-menu a { min-height:44px; color:#fff; }
#navi li:focus-within > .sub-menu { display:block; visibility:visible; opacity:1; }
.tm-nav-toggle { display:none; }
body .mobile-header-menu-buttons,body .mobile-footer-menu-buttons { display:none!important; }

/* 検索は既存ナビ内に一つだけ配置 */
#navi .tm-menu-search { flex-shrink:0!important; }
.tm-header-search { position:relative; }
.tm-header-search > summary { display:flex; align-items:center; justify-content:center; gap:10px; width:44px; min-height:44px; padding:0; color:#fff; list-style:none; cursor:pointer; }
.tm-header-search > summary::-webkit-details-marker { display:none; }
.tm-header-search > summary::marker { content:''; }
.tm-search-symbol { position:relative; display:block; flex:none; width:28px; height:28px; border:1px solid #efd9e699; border-radius:50%; }
.tm-search-symbol::before { content:''; position:absolute; top:6px; left:6px; width:11px; height:11px; border:1.5px solid currentColor; border-radius:50%; }
.tm-search-symbol::after { content:''; position:absolute; top:17px; left:16px; width:7px; height:1.5px; background:currentColor; transform:rotate(45deg); transform-origin:left center; }
.tm-header-search[open] > summary { color:var(--tm-pale-gold); }
#navi .tm-header-search__form { position:absolute; z-index:50; top:calc(100% + 14px); right:0; display:flex; gap:8px; width:min(360px,calc(100vw - 32px)); margin:0; padding:16px; border:1px solid var(--tm-gold); border-radius:4px; background:var(--tm-paper); box-shadow:0 12px 32px #210e2633; }
#navi .tm-header-search__form input { flex:1; width:0; min-width:0; min-height:44px; margin:0; padding:8px 10px; border:1px solid #bda4b2; border-radius:3px; color:var(--tm-ink); background:#fff; font:400 16px/1.5 var(--tm-sans); }
#navi .tm-header-search__form button { flex:none; min-width:60px; min-height:44px; padding:8px 12px; border:0; border-radius:3px; color:#fff; background:var(--tm-rose); font:500 14px/1.5 var(--tm-sans); cursor:pointer; }

/* Cocoonの本文領域 */
#content.content { display:flow-root; flex:1 0 auto; margin:0; padding:0; }
#content-in.content-in { display:block; width:calc(100% - 48px); max-width:1240px; margin:36px auto 56px; padding:0; }
#content-in::before,#content-in::after { content:none; }
#main.main { float:none; width:100%; min-width:0; margin:0; padding:34px; border:1px solid var(--tm-line); border-radius:4px; color:var(--tm-ink); background:#fff; box-shadow:0 10px 40px #72234708; }
#sidebar.sidebar { display:none!important; }
body.single #content-in,body.page:not(.tm-front-page) #content-in { max-width:960px; }
#main .article { min-width:0; margin:0; }
body.tm-front-page #content-in.content-in { width:100%; max-width:none; margin:0; }
body.tm-front-page #main.main { min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.tm-front-page #main > .article,body.tm-front-page #main > .article > .entry-content { display:flow-root; width:100%; max-width:none; margin:0; padding:0; border:0; }
body.tm-front-page #main > .article > .article-header { margin:0; padding:0; }
body.tm-front-page #main > .article > .article-header > :not(.entry-title) { display:none!important; }
body.tm-front-page #main > .article > .article-header > .entry-title { position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.tm-front-page #main :is(.toc,.sns-share,.sns-follow,.article-footer,.under-entry-content,.breadcrumb,.ad-area),body.tm-front-page #breadcrumb { display:none!important; }
/* 旧トップ紹介だけを限定して非表示。カテゴリ説明や本文は隠さない。 */
#main [data-matome-hero='tenmode'],#main .tm-cover__index { display:none!important; }

/* トップの共通部品 */
#main .tm-home { display:flow-root; margin:0; padding:0; color:var(--tm-ink); line-height:1.8; }
#main .tm-home :is(h2,h3,p,ul,figure) { margin:0; padding:0; border:0; border-radius:0; color:inherit; background:none; }
#main .tm-home :is(h2,h3)::before,#main .tm-home :is(h2,h3)::after { content:none; }
#main .tm-home ul { list-style:none; }
#main .tm-home a { text-decoration:none; }
.tm-shell { width:calc(100% - 48px); max-width:1280px; margin-inline:auto; }
#main .tm-home .tm-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; width:min(100%,360px); min-height:62px; padding:13px 26px; border:1px solid var(--tm-gold); border-radius:999px; color:#fff; background:linear-gradient(155deg,#ff86af,#ee397b 35%,#c51e58); box-shadow:inset 0 1px 0 #ffffff88,0 0 0 2px #f5d7a122,0 6px 18px #54133133; font:600 clamp(17px,1.6vw,22px)/1.5 var(--tm-serif); letter-spacing:.07em; transition:transform .18s ease,box-shadow .18s ease; }
#main .tm-home .tm-button > span { font:300 28px/1 Georgia,serif; }
#main .tm-home .tm-button:hover { color:#fff; transform:translateY(-2px); box-shadow:inset 0 1px 0 #ffffffaa,0 8px 22px #57103244; }
.tm-mobile-break { display:none; }

/* メインビジュアル */
.tm-hero { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(450px,47vw,660px); color:#fff; background:var(--tm-wine); }
#main .tm-hero__photo { position:absolute; z-index:-2; inset:0; display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:center; }
.tm-hero::after { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,#25101fe8,#25101fa8 31%,#25101f20 57%,transparent 76%),linear-gradient(0deg,#29101f,transparent 22%); }
.tm-hero__inner { display:flex; align-items:center; min-height:inherit; padding-block:36px 48px; }
.tm-hero__copy { width:62%; max-width:790px; }
#main .tm-home .tm-hero__eyebrow { margin-bottom:14px; color:var(--tm-gold); font:italic clamp(24px,2.8vw,39px)/1.4 var(--tm-script); transform:rotate(-5deg); transform-origin:left center; }
#main .tm-home .tm-hero__title { color:#fff8fc; font:500 clamp(42px,5vw,72px)/1.4 var(--tm-serif); letter-spacing:.02em; text-shadow:0 2px 15px #160b1744; }
.tm-hero__title > span { display:block; white-space:nowrap; }
.tm-hero__title > span:first-child { font-size:1.08em; }
.tm-hero__title em { color:#ff99bf; font-size:1.13em; font-style:normal; }
#main .tm-home .tm-hero__lead { margin:18px 0 22px; color:#fff0f6; font:400 clamp(13px,1.2vw,16px)/1.95 var(--tm-serif); letter-spacing:.055em; }
#main .tm-home .tm-hero__checks { display:flex; flex-wrap:wrap; gap:9px 16px; margin-top:21px; color:#fce8f1; font:400 12px/1.6 var(--tm-sans); }
.tm-hero__checks li { display:flex; align-items:center; gap:7px; }
.tm-hero__checks li::before { content:'✓'; display:inline-grid; flex:none; place-items:center; width:21px; height:21px; border:1px solid var(--tm-gold); border-radius:50%; color:var(--tm-pale-gold); font-size:12px; }
#main .tm-home .tm-hero__note { position:absolute; top:6%; right:max(3%,calc((100% - 1320px)/2)); color:#602b47; font:italic clamp(16px,1.9vw,26px)/1.7 var(--tm-serif); letter-spacing:.12em; transform:rotate(-9deg); text-shadow:0 1px 8px #ffffffcc; }
.tm-hero__seal { position:absolute; top:31%; right:max(2.3%,calc((100% - 1320px)/2)); display:flex; flex-direction:column; align-items:center; justify-content:center; width:clamp(115px,12.5vw,174px); aspect-ratio:1; padding:16px; border:4px double #ae8243; outline:1px solid #f9e5b8; outline-offset:-8px; border-radius:50%; color:#664018; background:radial-gradient(circle at 36% 24%,#fff2c8,#f1d394 45%,#d7b16c 76%,#f7e2b3); box-shadow:0 5px 18px #24131a33,inset 0 0 0 2px #f4d797; font:600 clamp(12px,1.25vw,17px)/1.5 var(--tm-serif); text-align:center; transform:rotate(8deg); }
.tm-hero__seal > span:first-child { margin-bottom:3px; font-size:20px; }

/* 外部画像に依存しない線画アイコン */
.tm-icon { display:block; flex:none; width:42px; height:42px; color:var(--tm-pale-gold); background:currentColor; -webkit-mask:var(--tm-icon) center/contain no-repeat; mask:var(--tm-icon) center/contain no-repeat; }
.tm-icon--book { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.25%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 8C12 4 7 4 3 6v21c4-2 9-2 13 1 4-3 9-3 13-1V6c-4-2-9-2-13 2Zm0 0v20M6 8v15M26 8v15%22/%3E%3C/svg%3E'); }
.tm-icon--coins { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.25%22%3E%3Cellipse cx=%2220%22 cy=%227%22 rx=%228%22 ry=%223%22/%3E%3Cpath d=%22M12 7v5c0 4 16 4 16 0V7M15 17c6 2 13 0 13-3v5c0 2-5 4-11 3M18 26c5 0 10-1 10-4v-3%22/%3E%3Cellipse cx=%2210%22 cy=%2219%22 rx=%227%22 ry=%223%22/%3E%3Cpath d=%22M3 19v5c0 4 14 4 14 0v-5M3 24v4c0 4 14 4 14 0v-4%22/%3E%3C/svg%3E'); }
.tm-icon--shield { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.25%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 2 5 6v10c0 7 6 12 11 14 5-2 11-7 11-14V6ZM11 15l4 4 7-8%22/%3E%3C/svg%3E'); }
.tm-icon--home { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.25%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 15 16 3l14 12M6 13v16h8V19h6v10h6V13M24 8V3h4v9%22/%3E%3C/svg%3E'); }
.tm-icon--heart { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 28C11 23 3 18 3 11c0-8 10-10 13-3 3-7 13-5 13 3 0 7-8 12-13 17Z%22/%3E%3C/svg%3E'); }
.tm-icon--gem { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 5h16l6 8-14 17L2 13ZM2 13h28M8 5l8 25 8-25M11 13l5-8 5 8%22/%3E%3C/svg%3E'); }
.tm-icon--people { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2216%22 cy=%227%22 r=%224%22/%3E%3Ccircle cx=%226%22 cy=%2213%22 r=%223%22/%3E%3Ccircle cx=%2226%22 cy=%2213%22 r=%223%22/%3E%3Cpath d=%22M9 28v-8c0-8 14-8 14 0v8M1 28v-7c0-4 5-6 8-3M31 28v-7c0-4-5-6-8-3M13 23v7M19 23v7%22/%3E%3C/svg%3E'); }
.tm-icon--leaf { --tm-icon:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.2%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M6 25C-1 12 16 4 28 3c0 14-5 29-20 23M3 30 25 7M12 21l-1-8M18 15l8 1%22/%3E%3C/svg%3E'); }

/* テーマ別の入口 */
.tm-categories { position:relative; padding:10px 0 20px; border-bottom:2px solid var(--tm-gold); color:#fff; background:linear-gradient(#29101fb8,#29101fe8),url('https://beasup.com/wp-content/uploads/2026/09/mock-tenmode-reasons_bg.jpg') center bottom/cover no-repeat,var(--tm-wine); }
.tm-categories__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; padding:9px; border:1px solid #a94e7855; border-radius:5px; }
#main .tm-home .tm-topic { position:relative; display:block; min-width:0; min-height:160px; padding:21px 17px 18px; border:1px solid var(--tm-gold); border-radius:4px; color:#fff4fa; background:linear-gradient(130deg,#220e1e99,#77213f40); box-shadow:inset 0 0 0 3px #d9ae6720; transition:background .18s ease,transform .18s ease; }
#main .tm-home .tm-topic:hover { color:#fff; background:#6c254666; transform:translateY(-2px); }
.tm-topic__head { display:flex; align-items:center; gap:13px; }
.tm-topic__head strong { display:block; font:600 clamp(15px,1.55vw,21px)/1.5 var(--tm-serif); letter-spacing:.02em; }
.tm-topic__head small { display:block; margin-top:4px; color:var(--tm-pale-gold); font:400 10px/1.5 Georgia,serif; letter-spacing:.1em; }
.tm-topic:first-child .tm-icon { color:#ffbad4; filter:drop-shadow(0 0 4px #ff9dc177); }
#main .tm-home .tm-topic__description { margin-top:14px; padding-right:30px; font:400 13px/1.85 var(--tm-sans); }
.tm-circle-arrow { position:absolute; right:14px; bottom:16px; display:grid; place-items:center; width:34px; height:34px; border:1px solid #e791b5; border-radius:50%; color:#ffe8f2; background:#5d183750; font:300 26px/1 Georgia,serif; }

/* 最新記事。写真とカテゴリラベルは重ねない。 */
.tm-latest { padding:29px 0 30px; background:linear-gradient(135deg,#fffdfb,#fff5f9 65%,#fff9fb); }
.tm-section-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 24px; margin-bottom:22px; }
#main .tm-home .tm-section-title { flex-shrink:0; font:500 clamp(27px,2.9vw,39px)/1.5 var(--tm-serif); letter-spacing:.07em; }
.tm-section-title > span { margin-left:12px; color:#9b6836; font:italic clamp(18px,1.8vw,25px)/1.4 var(--tm-script); letter-spacing:0; }
#main .tm-home .tm-section-lead { flex:1; color:var(--tm-muted); font:400 12px/1.8 var(--tm-sans); }
#main .tm-home .tm-text-link { display:inline-flex; align-items:center; flex-shrink:0; gap:9px; min-height:44px; border-bottom:1px solid #c79c77; color:var(--tm-rose); font:500 12px/1.6 var(--tm-sans); }
#main .tm-latest__cards :is(.ect-entry-card,.new-entry-cards),#main #list { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:14px; width:100%; margin:0!important; padding:0; }
#main #list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#main .tm-latest__cards :is(.ect-entry-card,.new-entry-cards)::before,#main .tm-latest__cards :is(.ect-entry-card,.new-entry-cards)::after,#main #list::before,#main #list::after,#main :is(.tm-latest__cards,#list) :is(.entry-card,.new-entry-card)::before,#main :is(.tm-latest__cards,#list) :is(.entry-card,.new-entry-card)::after { content:none; }
#main :is(.tm-latest__cards,#list) :is(.entry-card-wrap,.new-entry-card-link) { position:relative; display:block; float:none; width:100%; min-width:0; height:100%; margin:0!important; padding:6px; border:1px solid #ecdce3; border-radius:4px; color:var(--tm-ink); background:#fff; box-shadow:0 4px 16px #61314608; text-decoration:none; opacity:1; transition:transform .18s ease,box-shadow .18s ease; }
#main :is(.tm-latest__cards,#list) :is(.entry-card-wrap,.new-entry-card-link):hover { color:var(--tm-ink); background:#fff; transform:translateY(-3px); box-shadow:0 8px 24px #7d24451c; }
#main :is(.tm-latest__cards,#list) :is(.entry-card-wrap,.new-entry-card-link)::after { content:'›'; position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:var(--tm-rose); background:#ffe5ee; font:400 25px/1 Georgia,serif; }
#main :is(.tm-latest__cards,#list) :is(.entry-card,.new-entry-card) { display:flex; flex-direction:column; width:100%; min-width:0; height:100%; margin:0!important; padding:0; }
#main :is(.tm-latest__cards,#list) .card-thumb { position:relative; display:block; float:none!important; flex:none; width:100%!important; max-width:none; margin:0!important; padding:0 0 27px!important; overflow:hidden; background:#fff3f7; }
#main :is(.tm-latest__cards,#list) .card-thumb img { display:block; width:100%; max-width:none; height:auto; aspect-ratio:16/9; object-fit:contain; object-position:center; border-radius:0; background:#f7eff2; opacity:1; }
#main :is(.tm-latest__cards,#list) .card-thumb .cat-label { position:absolute; top:auto; right:auto; bottom:0; left:0; display:inline-flex; align-items:center; max-width:100%; min-height:27px; margin:0; padding:4px 8px; border:0; border-radius:0; color:#fff; background:#b52357; font:500 11px/1.4 var(--tm-sans); opacity:1; }
#main :is(.tm-latest__cards,#list) .card-content { display:flex; flex:1; flex-direction:column; width:100%; min-width:0; margin:0!important; padding:12px 5px 5px; }
#main :is(.tm-latest__cards,#list) .card-title { margin:0 0 10px!important; padding:0!important; border:0!important; border-radius:0; color:var(--tm-ink)!important; background:none!important; font:600 16px/1.8 var(--tm-serif); letter-spacing:.01em; overflow-wrap:anywhere; }
#main :is(.tm-latest__cards,#list) .card-title::before,#main :is(.tm-latest__cards,#list) .card-title::after { content:none; }
#main :is(.tm-latest__cards,#list) .card-snippet { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; margin:0 0 15px; padding:0; color:var(--tm-muted); font:400 13px/1.9 var(--tm-sans); opacity:1; }
#main :is(.tm-latest__cards,#list) .card-meta { position:static!important; inset:auto; display:block; width:100%; min-height:34px; margin-top:auto; padding:7px 38px 2px 0; color:var(--tm-muted); font:400 12px/1.6 var(--tm-sans); text-align:left; opacity:1; }
#main :is(.tm-latest__cards,#list) :is(.entry-card-info,.card-info) { position:static; float:none; margin:0; color:inherit; font:inherit; text-align:left; }
#main :is(.tm-latest__cards,#list) .post-date { display:inline-flex; align-items:center; gap:5px; margin:0; color:inherit; font:inherit; white-space:nowrap; }
#main :is(.tm-latest__cards,#list) :is(.entry-date,.post-date time,.new-entry-card-date) { color:var(--tm-muted); font:400 12px/1.6 var(--tm-sans)!important; opacity:1; }
#main .tm-latest__cards .new-entry-card-date { display:block!important; margin-top:auto; padding:7px 38px 2px 0; }
#main :is(.tm-latest__cards,#list) :is(.entry-card-categorys,.new-entry-card-categorys),#main .tm-latest__cards .post-update { display:none!important; }
#main #list .card-title { font-size:19px; }
#main #list .card-snippet { font-size:14px; }
#main .tm-latest__cards > p:empty { display:none; }

/* 大切にしていること */
.tm-reasons { padding:27px 0 30px; border-block:1px solid var(--tm-gold); color:#fff1f8; background:linear-gradient(#29101f55,#29101f8c),url('https://beasup.com/wp-content/uploads/2026/09/mock-tenmode-reasons_bg.jpg') center/cover no-repeat,var(--tm-wine); }
#main .tm-home .tm-reasons__title { color:#fff1f8; font:500 clamp(23px,2.6vw,35px)/1.6 var(--tm-serif); letter-spacing:.06em; text-align:center; }
.tm-reasons__title em { color:var(--tm-pale-gold); font-style:normal; white-space:nowrap; }
.tm-reasons__title em > span { font:italic 1.65em/1 Georgia,serif; }
#main .tm-home .tm-reasons__english { color:var(--tm-gold); font:italic 19px/1.5 var(--tm-script); text-align:center; }
.tm-reasons__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:24px; }
#main .tm-home .tm-reason { display:flex; align-items:flex-start; gap:15px; min-width:0; padding:3px 20px; border-right:1px dotted #ddbe9170; color:#faeaf3; }
#main .tm-home .tm-reason:first-child { padding-left:0; }
#main .tm-home .tm-reason:last-child { padding-right:0; border-right:0; }
.tm-reason__icon { display:grid; flex:none; place-items:center; width:60px; height:60px; border:1px solid var(--tm-gold); border-radius:50%; box-shadow:0 0 15px #edc58415; }
.tm-reason__icon .tm-icon { width:34px; height:34px; }
.tm-reason:nth-child(2) .tm-icon,.tm-reason:nth-child(3) .tm-icon { color:#f7a6ca; }
.tm-reason strong { display:block; margin:5px 0 6px; font:500 clamp(14px,1.3vw,18px)/1.6 var(--tm-serif); }
.tm-reason small { display:block; color:#f0dce6; font:400 12px/1.8 var(--tm-sans); }
#main .tm-home .tm-reason:hover strong { color:var(--tm-pale-gold); text-decoration:underline; text-underline-offset:5px; }

/* 明るい案内帯 */
.tm-welcome { position:relative; isolation:isolate; overflow:hidden; min-height:205px; color:var(--tm-ink); background:radial-gradient(ellipse at 86% 95%,#ffdce960,transparent 55%),#fff8fb; }
#main .tm-welcome__photo { position:absolute; z-index:-1; inset:0 auto 0 0; width:31%; height:100%; object-fit:cover; object-position:center 32%; -webkit-mask-image:linear-gradient(90deg,#000 72%,transparent); mask-image:linear-gradient(90deg,#000 72%,transparent); }
.tm-welcome__inner { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:24px; min-height:inherit; padding:27px 0 27px 32%; }
#main .tm-home .tm-welcome__eyebrow { margin-bottom:4px; color:var(--tm-rose); font:500 18px/1.7 var(--tm-serif); letter-spacing:.06em; }
#main .tm-home .tm-welcome__title { font:600 clamp(21px,2.1vw,28px)/1.7 var(--tm-serif); letter-spacing:.02em; }
#main .tm-home .tm-welcome__description { margin-top:11px; color:var(--tm-muted); font:400 13px/1.8 var(--tm-sans); }
#main .tm-home .tm-welcome__note { position:absolute; top:25px; left:20%; padding:10px 14px; border:1px solid #eb8fb0; border-radius:47% 53% 42% 58%; color:var(--tm-rose); background:#fff9fccc; font:400 14px/1.8 var(--tm-serif); text-align:center; transform:rotate(-9deg); }
#main .tm-home .tm-welcome .tm-button { min-height:54px; padding-inline:17px; font-size:17px; }
#main .tm-home .tm-welcome__links { display:grid; width:fit-content; margin:10px auto 0; }
#main .tm-home .tm-welcome__links a { display:inline-flex; align-items:center; min-height:32px; padding:3px 0; color:#795267; font:400 12px/1.7 var(--tm-sans); }
.tm-welcome__links a::before { content:'✓'; margin-right:8px; color:#c52e66; }
#main .tm-home .tm-welcome__links a:hover { color:var(--tm-rose); text-decoration:underline; }

/* 最終CTAは本文の通常フロー内で完結させる */
.tm-final { position:relative; display:flow-root; margin:0; padding:39px 0 43px; border-block:2px solid var(--tm-gold); color:#fff; background:linear-gradient(90deg,#27111e33,#27111e66 48%,#27111e22),url('https://beasup.com/wp-content/uploads/2026/09/mock-tenmode-final_cta_bg.jpg') center/cover no-repeat,var(--tm-wine); text-align:center; }
#main .tm-home .tm-final__title { color:#fff0d5; font:500 clamp(25px,3vw,42px)/1.7 var(--tm-serif); letter-spacing:.06em; text-shadow:0 2px 12px #1d0b1acc; }
.tm-final__title em { color:var(--tm-pale-gold); font-style:normal; }
#main .tm-home .tm-final__lead { margin:5px 0 24px; color:#fff7fb; font:400 15px/1.9 var(--tm-serif); letter-spacing:.06em; }

/* 記事・通常固定ページ */
body:not(.tm-front-page) #main .entry-title { margin:0 0 24px; padding:0 0 22px; border-bottom:1px solid var(--tm-gold); color:var(--tm-ink); font:600 clamp(25px,2.6vw,35px)/1.65 var(--tm-serif); letter-spacing:.025em; overflow-wrap:anywhere; }
body:not(.tm-front-page) #main .eye-catch-wrap { margin:0 0 18px; }
body:not(.tm-front-page) #main .eye-catch { position:relative; margin:0; padding:0 0 30px; background:#fff3f7; }
body:not(.tm-front-page) #main .eye-catch img { display:block; width:100%; height:auto; object-fit:contain; border-radius:3px 3px 0 0; }
body:not(.tm-front-page) #main .eye-catch .cat-label { top:auto; right:auto; bottom:0; left:0; max-width:100%; min-height:30px; padding:5px 10px; border:0; border-radius:0; color:#fff; background:var(--tm-rose); font:500 12px/1.6 var(--tm-sans); opacity:1; }
body:not(.tm-front-page) #main .date-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; margin:15px 0 26px; color:var(--tm-muted); font:400 13px/1.7 var(--tm-sans); }
body:not(.tm-front-page) #main .date-tags :is(.post-date,.post-update,.entry-date,.updated) { color:inherit; font:inherit!important; opacity:1; }
body:not(.tm-front-page) #main .entry-content { color:#493440; font:400 17px/2 var(--tm-sans); overflow-wrap:anywhere; }
body:not(.tm-front-page) #main .entry-content p { margin:0 0 1.6em; }
body:not(.tm-front-page) #main .entry-content > :first-child { margin-top:0; }
body:not(.tm-front-page) #main .entry-content h2 { margin:2.6em 0 1.1em; padding:17px 20px; border:0; border-left:3px solid var(--tm-rose); border-bottom:1px solid #dec099; border-radius:0; color:var(--tm-ink); background:linear-gradient(90deg,#fff0f5,#fffafc); font:600 clamp(21px,2.1vw,27px)/1.7 var(--tm-serif); }
body:not(.tm-front-page) #main .entry-content h3 { margin:2em 0 1em; padding:0 0 11px; border:0; border-bottom:1px solid var(--tm-line); border-radius:0; color:var(--tm-ink); background:none; font:600 21px/1.7 var(--tm-serif); }
body:not(.tm-front-page) #main .entry-content :is(h4,h5,h6) { margin:1.8em 0 .9em; padding:0; border:0; color:var(--tm-ink); background:none; font-size:18px; }
body:not(.tm-front-page) #main .entry-content :is(h2,h3,h4,h5,h6)::before,body:not(.tm-front-page) #main .entry-content :is(h2,h3,h4,h5,h6)::after { content:none; }
body:not(.tm-front-page) #main .entry-content :is(h2,h3,h4,h5,h6,[id]) { scroll-margin-top:24px; }
body:not(.tm-front-page) #main .entry-content :is(ul,ol) { margin:0 0 1.6em; padding-left:1.5em; }
body:not(.tm-front-page) #main .entry-content li { margin-bottom:.45em; }
body:not(.tm-front-page) #main .entry-content li > :is(ul,ol) { margin-top:.5em; margin-bottom:.6em; }
body:not(.tm-front-page) #main .entry-content a:not(.a-wrap):not(.btn) { color:#a92155; text-decoration:underline; }
body:not(.tm-front-page) #main .entry-content figure { max-width:100%; margin:1.8em 0; }
body:not(.tm-front-page) #main .entry-content .wp-block-image { min-height:0; }
body:not(.tm-front-page) #main .entry-content .wp-block-image img { display:block; max-width:100%; height:auto; margin-inline:auto; border-radius:3px; }
body:not(.tm-front-page) #main .entry-content figcaption { margin-top:8px; color:var(--tm-muted); font:400 13px/1.8 var(--tm-sans); text-align:center; }
body:not(.tm-front-page) #main .entry-content blockquote { margin:1.7em 0; padding:20px 24px; border:0; border-left:3px solid var(--tm-gold); background:#fff8f1; color:#67525b; }
body:not(.tm-front-page) #main .entry-content blockquote p:last-child { margin-bottom:0; }
body:not(.tm-front-page) #main .entry-content .wp-block-table { max-width:100%; overflow-x:auto; }
body:not(.tm-front-page) #main .entry-content table { display:block; width:100%; max-width:100%; margin:1.7em 0; overflow-x:auto; border-collapse:collapse; font:400 14px/1.9 var(--tm-sans); }
body:not(.tm-front-page) #main .entry-content .wp-block-table table { display:table; margin:0; }
body:not(.tm-front-page) #main .entry-content :is(th,td) { padding:13px 16px; border:1px solid #e4ced7; vertical-align:top; }
body:not(.tm-front-page) #main .entry-content th { color:#5b3247; background:#fcebf2; font-size:14px; }
body:not(.tm-front-page) #main .entry-content td { color:#493440; background:#fff; }
body:not(.tm-front-page) #main .entry-content tr:nth-child(even) td { background:#fffbfd; }
body:not(.tm-front-page) #main .entry-content pre { max-width:100%; overflow:auto; }
body:not(.tm-front-page) #main .toc { position:relative; width:100%; max-width:none; margin:24px 0 36px; padding:22px 25px; border:1px solid #dabc96; border-radius:4px; color:var(--tm-ink); background:#fffafc; font:400 15px/1.9 var(--tm-sans); }
body:not(.tm-front-page) #main .toc-title { display:block; min-height:44px; color:var(--tm-ink); font:600 19px/1.8 var(--tm-serif); text-align:center; cursor:pointer; }
body:not(.tm-front-page) #main .toc .toc-list { margin-bottom:0; }
body:not(.tm-front-page) #main .toc .toc-list a { display:inline-block; padding-block:3px; }
body:not(.tm-front-page) #main .toc-checkbox { position:absolute!important; display:block!important; visibility:visible!important; width:1px; height:1px; margin:0; clip-path:inset(50%); }
body:not(.tm-front-page) #main .toc-checkbox:focus-visible + .toc-title { outline:3px solid #b98220; outline-offset:3px; }
body:not(.tm-front-page) #main .toc-checkbox:not(:checked) ~ .toc-content { display:none; }
body:not(.tm-front-page) #main .toc-checkbox:checked ~ .toc-content { display:block; }
#main .cat-link { padding:7px 12px; border-radius:3px; color:#fff; background:var(--tm-rose); }
#main .tag-link { border-color:var(--tm-line); border-radius:3px; color:var(--tm-rose); background:#fff7fb; }
#main .author-box,#main .blogcard { border:1px solid var(--tm-line); border-radius:4px; background:#fffafd; }
#main .sns-buttons { gap:8px; }
#main .sns-buttons a { min-height:44px; border-radius:4px; }
#main .article-footer { margin-top:36px; padding-top:24px; border-top:1px solid var(--tm-line); }
#main :is(.related-entry-heading,.comment-title) { color:var(--tm-ink); font-family:var(--tm-serif); }
#main .related-entry-card-wrap { padding:12px; border:1px solid var(--tm-line); border-radius:4px; color:var(--tm-ink); background:#fffafd; text-decoration:none; }
#main .related-entry-card-thumb img,#main .pager-post-navi .card-thumb img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
#main .related-entry-card-title { color:var(--tm-ink); font:600 17px/1.8 var(--tm-serif); }
#main .related-entry-card-snippet { color:var(--tm-muted); font:400 13px/1.9 var(--tm-sans); }
#main .pager-post-navi a { padding:16px; border:1px solid var(--tm-line); border-radius:4px; color:var(--tm-ink); background:#fff8fb; text-decoration:none; }
#main .pager-post-navi :is(.next-post-title,.prev-post-title) { font:500 15px/1.8 var(--tm-sans); }
#breadcrumb,.breadcrumb { margin-top:24px; color:var(--tm-muted); font:400 12px/1.8 var(--tm-sans); overflow-wrap:anywhere; }
#breadcrumb a { display:inline-block; padding-block:6px; color:#864462; }

/* カテゴリ・検索・アーカイブ */
#main :is(.archive-title,.list-title) { margin:0 0 28px; padding:0 0 21px; border:0; border-bottom:1px solid var(--tm-gold); color:var(--tm-ink); background:none; font:500 clamp(26px,3vw,38px)/1.6 var(--tm-serif); overflow-wrap:anywhere; }
#main .category-description { margin:0 0 28px; color:var(--tm-muted); font:400 15px/1.9 var(--tm-sans); }
#main .category-description:empty { display:none; }
.pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:36px; }
.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0; padding:7px 12px; border:1px solid var(--tm-line); border-radius:50%; color:var(--tm-rose); background:#fff; font:500 14px/1.5 var(--tm-sans); }
.pagination .current,.pagination a:hover { border-color:var(--tm-rose); color:#fff; background:var(--tm-rose); }
.pagination .dots { border-color:transparent; background:transparent; }
.pagination-next-link { display:block; min-height:44px; padding:10px 20px; border:1px solid var(--tm-rose); border-radius:999px; color:var(--tm-rose); background:#fff; text-align:center; }

/* 明るいフッター。Cocoonのロゴ絶対配置・移動を明示的に解除する。 */
#footer.footer { position:relative!important; inset:auto!important; z-index:1; isolation:isolate; display:flow-root; flex:none; clear:both; width:100%; height:auto; min-height:122px; margin:0!important; padding:28px 0 24px!important; border:0; border-top:1px solid #ead5bd; color:#775064; background:#fff8fb!important; background-image:linear-gradient(105deg,#fffdfc,#fff4f9)!important; transform:none!important; }
#footer-in.footer-in { position:static; width:calc(100% - 64px); max-width:1280px; height:auto; margin:0 auto; padding:0; }
#footer .footer-bottom { position:static!important; display:grid; grid-template-columns:230px minmax(0,1fr); align-items:center; gap:28px; width:100%; height:auto; min-height:0; margin:0!important; padding:0; transform:none!important; }
#footer .footer-bottom::before,#footer .footer-bottom::after { content:none; }
#footer .footer-bottom-logo,#footer .footer-bottom-content,#footer .logo-footer { position:static!important; inset:auto!important; float:none!important; width:auto; max-width:100%; height:auto; margin:0!important; padding:0; transform:none!important; }
#footer .footer-bottom-logo { min-width:0; text-align:center; }
#footer .logo-footer { display:block; line-height:1.3; }
#footer .site-name-text { display:block; color:#a72657; font:500 30px/1.3 var(--tm-serif); letter-spacing:.15em; white-space:normal; overflow-wrap:anywhere; }
#footer .site-name-text-link::after { color:#a93a63; font-size:8px; }
#footer .footer-bottom-logo::after { content:'わたしらしい働き方を、知ることから。'; display:block; margin-top:7px; color:#975470; font:400 10px/1.7 var(--tm-sans); }
#footer .logo-image img { display:block; width:auto; max-width:100%; max-height:68px; margin:auto; object-fit:contain; }
#footer .footer-bottom-content { min-width:0; text-align:center; }
#navi-footer { margin:0; padding:0; }
#navi-footer ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2px 22px; margin:0; padding:0; list-style:none; }
#navi-footer li { float:none; width:auto; margin:0; padding:0; border:0; }
#navi-footer a { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; color:#775064; background:none; font:400 12px/1.6 var(--tm-sans); text-decoration:none; }
#navi-footer a:hover { color:var(--tm-rose); text-decoration:underline; }
#footer .copyright { position:static!important; inset:auto!important; display:block; float:none; margin:10px 0 0!important; padding:0; color:#775d6b; font:400 12px/1.8 var(--tm-sans)!important; letter-spacing:.02em; transform:none!important; overflow-wrap:anywhere; }
#footer .sns-buttons a { color:var(--tm-rose); }
#go-to-top { right:16px; bottom:16px; z-index:35; }
#go-to-top .go-to-top-button { width:44px; height:44px; border:1px solid #dca6ba; border-radius:50%; color:#a72657; background:#fff2f8; box-shadow:0 3px 12px #58213a20; }

/* タブレットとスマホのナビ。JS無効時はリンクを表示したままにする。 */
@media (max-width:999px) {
  #header-container-in { grid-template-columns:1fr; gap:0; width:100%; min-height:76px; padding:10px 20px; }
  #header { width:190px; }
  #header .header-in { padding:0; }
  #header .site-name-text { font-size:28px; }
  #header .tagline { font-size:9px; }
  #navi .navi-in > .menu-header { flex-direction:column; align-items:stretch; gap:0; padding:12px 0 4px; }
  #navi .navi-in > .menu-header > li { flex:none; width:100%; }
  #navi .navi-in > .menu-header > li > a { justify-content:flex-start; min-height:50px; padding:12px 16px; border-bottom:1px solid #ffffff1c; }
  #navi .menu-header .item-label { font-size:15px; white-space:normal; overflow-wrap:anywhere; }
  #navi .navi-in > .menu-header > .menu-item-cta { margin-top:12px; }
  #navi .navi-in > .menu-header > .menu-item-cta > a { justify-content:center; min-height:48px; padding:11px 18px; }
  #navi .sub-menu { position:static; display:block; width:100%; border:0; padding-left:18px; box-shadow:none; }
  #navi .sub-menu a { padding:10px 16px; }
  .tm-menu-ready #header-container-in { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .tm-menu-ready #navi { width:auto; }
  .tm-menu-ready #navi .tm-nav-toggle { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:100px; min-height:44px; margin:0; padding:10px 12px; border:1px solid #d9b98299; border-radius:4px; color:#fff8fc; background:#ffffff08; font:500 13px/1.5 var(--tm-sans); cursor:pointer; }
  .tm-nav-toggle__icon { position:relative; display:block; flex:none; width:18px; height:14px; }
  .tm-nav-toggle__icon::before,.tm-nav-toggle__icon::after { content:''; position:absolute; left:0; width:18px; height:1px; background:currentColor; transition:transform .18s ease; }
  .tm-nav-toggle__icon::before { top:3px; }
  .tm-nav-toggle__icon::after { bottom:3px; }
  .tm-nav-toggle[aria-expanded='true'] .tm-nav-toggle__icon::before { top:7px; transform:rotate(45deg); }
  .tm-nav-toggle[aria-expanded='true'] .tm-nav-toggle__icon::after { bottom:6px; transform:rotate(-45deg); }
  .tm-menu-ready #navi .navi-in > .menu-header { position:absolute; z-index:45; top:100%; right:0; left:0; display:none!important; width:100%; max-height:calc(100vh - 96px); max-height:calc(100dvh - 96px); margin:0; padding:10px 20px 20px; overflow-y:auto; overscroll-behavior:contain; border-bottom:1px solid var(--tm-gold); background:#2e1324; box-shadow:0 12px 22px #1b091f33; }
  .tm-menu-ready #navi.tm-menu-open .navi-in > .menu-header { display:flex!important; }
  .tm-header-search > summary { justify-content:flex-start; width:100%; min-height:50px; padding:8px 16px; }
  .tm-header-search > summary .tm-sr-only { position:static!important; width:auto!important; height:auto!important; margin:0!important; overflow:visible!important; clip:auto!important; clip-path:none!important; white-space:normal!important; font:500 15px/1.6 var(--tm-sans); }
  #navi .tm-header-search__form { position:static; width:100%; margin:2px 0 10px; padding:12px; box-shadow:none; }
  .tm-shell { width:calc(100% - 40px); }
  .tm-hero { min-height:470px; }
  .tm-hero__copy { width:72%; }
  #main .tm-home .tm-hero__title { font-size:clamp(36px,5vw,49px); }
  #main .tm-home .tm-hero__note { right:18px; font-size:18px; }
  .tm-hero__seal { right:18px; width:110px; padding:12px; font-size:11px; }
  .tm-categories__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tm-topic__head strong { font-size:20px; }
  #main .tm-latest__cards :is(.ect-entry-card,.new-entry-cards),#main #list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  #main :is(.tm-latest__cards,#list) .card-title { font-size:18px; }
  .tm-section-head { align-items:center; }
  #main .tm-home .tm-section-lead { flex-basis:100%; order:2; }
  #main .tm-home .tm-text-link { margin-left:auto; }
  .tm-reasons__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  #main .tm-home .tm-reason { padding:0 20px; }
  #main .tm-home .tm-reason:nth-child(odd) { padding-left:0; }
  #main .tm-home .tm-reason:nth-child(even) { padding-right:0; border-right:0; }
  .tm-reason strong { font-size:18px; }
  .tm-welcome__inner { grid-template-columns:1fr; gap:18px; padding-left:37%; }
  #main .tm-welcome__photo { width:38%; }
  #main .tm-home .tm-welcome__note { display:none; }
  .tm-welcome__actions { max-width:340px; }
  #main .tm-home .tm-welcome__links { margin-left:0; }
}
@media (min-width:1000px) and (max-width:1150px) {
  #header-container-in { grid-template-columns:190px minmax(0,1fr); gap:12px; }
  .tm-topic__head { gap:9px; }
  .tm-topic__head .tm-icon { width:32px; height:32px; }
  #main .tm-home .tm-topic { padding-inline:12px; }
  .tm-topic__head small { font-size:9px; letter-spacing:.04em; }
  #main .tm-home .tm-topic__description { font-size:12px; }
  .tm-reason__icon { width:46px; height:46px; }
  .tm-reason__icon .tm-icon { width:28px; height:28px; }
  #main .tm-home .tm-reason { gap:10px; padding-inline:14px; }
  .tm-welcome__inner { grid-template-columns:minmax(0,1fr) 220px; gap:16px; padding-left:30%; }
  #main .tm-home .tm-welcome__note { display:none; }
  #main .tm-home .tm-section-lead { flex-basis:100%; order:2; }
  #main .tm-home .tm-text-link { margin-left:auto; }
}

@media (max-width:600px) {
  #header-container-in { min-height:76px; padding:10px 16px; }
  #header { width:174px; max-width:100%; }
  #header .site-name-text { font-size:26px; letter-spacing:.12em; }
  #header .site-name-text-link::after { font-size:7px; }
  #header .tagline { font-size:8px; letter-spacing:0; }
  .tm-shell { width:calc(100% - 32px); }
  #main .tm-home .tm-button { width:100%; max-width:360px; min-height:56px; gap:24px; padding:12px 20px; font-size:18px; }
  .tm-hero { min-height:0; }
  #main .tm-hero__photo { height:340px; object-position:75% center; }
  .tm-hero::after { background:linear-gradient(180deg,transparent 160px,#29101f22 220px,#29101feb 305px,#29101f 342px),linear-gradient(90deg,#29101f55,transparent 55%); }
  .tm-hero__inner { display:block; min-height:0; padding-top:285px; padding-bottom:28px; }
  .tm-hero__copy { width:100%; max-width:none; }
  #main .tm-home .tm-hero__eyebrow { margin-bottom:12px; font-size:24px; }
  #main .tm-home .tm-hero__title { font-size:clamp(24px,7.6vw,40px); line-height:1.55; letter-spacing:0; }
  .tm-hero__title > span:first-child { font-size:1.15em; }
  .tm-hero__title em { font-size:1.1em; }
  #main .tm-home .tm-hero__lead { margin:17px 0 21px; font-size:13px; line-height:2; letter-spacing:.02em; }
  #main .tm-home .tm-hero__checks { justify-content:center; gap:8px 12px; margin-top:18px; font-size:11px; }
  .tm-hero__checks li { gap:5px; }
  .tm-hero__checks li::before { width:19px; height:19px; font-size:11px; }
  #main .tm-home .tm-hero__note { top:20px; right:auto; left:21px; color:#fff7fc; font-size:17px; text-shadow:0 1px 10px #371427; }
  .tm-hero__seal { top:198px; right:17px; width:85px; padding:8px; border-width:3px; font-size:9px; }
  .tm-hero__seal > span:first-child { margin-bottom:1px; font-size:13px; }
  .tm-categories { padding:0 0 20px; }
  .tm-categories__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:6px; }
  #main .tm-home .tm-topic { min-height:190px; padding:14px 12px; }
  .tm-topic__head { display:block; }
  .tm-topic__head .tm-icon { width:29px; height:29px; margin-bottom:8px; }
  .tm-topic__head strong { font-size:16px; line-height:1.6; letter-spacing:0; }
  .tm-topic__head small { margin-top:3px; font-size:9px; letter-spacing:.025em; }
  #main .tm-home .tm-topic__description { margin-top:10px; padding:0; font-size:12px; line-height:1.85; }
  .tm-topic__description br { display:none; }
  .tm-circle-arrow { top:14px; right:12px; bottom:auto; width:28px; height:28px; font-size:22px; }
  .tm-latest { padding:27px 0 30px; }
  .tm-section-head { gap:8px 10px; margin-bottom:20px; }
  #main .tm-home .tm-section-title { font-size:27px; }
  .tm-section-title > span { display:block; margin:0; font-size:18px; }
  #main .tm-home .tm-text-link { font-size:12px; }
  #main .tm-home .tm-section-lead { font-size:13px; }
  #main .tm-latest__cards :is(.ect-entry-card,.new-entry-cards),#main #list { grid-template-columns:1fr; gap:20px; }
  #main :is(.tm-latest__cards,#list) :is(.entry-card-wrap,.new-entry-card-link) { padding:7px; }
  #main :is(.tm-latest__cards,#list) .card-content { padding:14px 9px 7px; }
  #main :is(.tm-latest__cards,#list) .card-title,#main #list .card-title { font-size:19px; line-height:1.75; }
  #main :is(.tm-latest__cards,#list) .card-snippet,#main #list .card-snippet { -webkit-line-clamp:3; font-size:14px; line-height:1.9; }
  #main :is(.tm-latest__cards,#list) :is(.entry-card-wrap,.new-entry-card-link)::after { right:16px; bottom:14px; width:33px; height:33px; }
  .tm-reasons { padding:27px 0 29px; }
  #main .tm-home .tm-reasons__title { font-size:22px; line-height:1.65; letter-spacing:.025em; }
  .tm-reasons__title em { display:block; }
  #main .tm-home .tm-reasons__english { margin-top:4px; font-size:17px; }
  .tm-reasons__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; margin-top:22px; }
  #main .tm-home .tm-reason,#main .tm-home .tm-reason:first-child,#main .tm-home .tm-reason:last-child { display:block; padding:0 12px; }
  #main .tm-home .tm-reason:nth-child(odd) { padding-left:0; }
  #main .tm-home .tm-reason:nth-child(even) { padding-right:0; border-right:0; }
  .tm-reason__icon { width:48px; height:48px; margin-bottom:10px; }
  .tm-reason__icon .tm-icon { width:28px; height:28px; }
  .tm-reason strong { font-size:15px; line-height:1.7; }
  .tm-reason small { font-size:12px; }
  .tm-welcome { min-height:0; }
  #main .tm-welcome__photo { position:relative; z-index:0; display:block; width:100%; height:230px; object-position:center 28%; -webkit-mask-image:linear-gradient(#000 72%,transparent); mask-image:linear-gradient(#000 72%,transparent); }
  .tm-welcome__inner { display:block; min-height:0; padding:4px 0 28px; text-align:center; }
  #main .tm-home .tm-welcome__eyebrow { font-size:17px; }
  #main .tm-home .tm-welcome__title { font-size:24px; line-height:1.8; }
  #main .tm-home .tm-welcome__description { margin-top:12px; font-size:13px; }
  .tm-welcome__actions { max-width:360px; margin:20px auto 0; }
  #main .tm-home .tm-welcome__links { margin:12px auto 0; text-align:left; }
  #main .tm-home .tm-welcome__links a { min-height:44px; padding-block:7px; font-size:13px; }
  .tm-final { padding:34px 0 38px; background-image:linear-gradient(#29101f88,#29101fa8),url('https://beasup.com/wp-content/uploads/2026/09/mock-tenmode-final_cta_bg.jpg'); background-position:center,67% center; }
  #main .tm-home .tm-final__title { font-size:24px; line-height:1.9; letter-spacing:.015em; }
  #main .tm-home .tm-final__lead { margin:12px 0 23px; font-size:13px; letter-spacing:.02em; }
  .tm-mobile-break { display:block; }
  #content-in.content-in { width:calc(100% - 24px); margin:20px auto 32px; }
  #main.main { padding:23px 17px; }
  body.tm-front-page #content-in.content-in { width:100%; margin:0; }
  body.tm-front-page #main.main { padding:0; }
  body:not(.tm-front-page) #main .entry-title { margin-bottom:20px; padding-bottom:18px; font-size:25px; line-height:1.65; }
  body:not(.tm-front-page) #main .entry-content { font-size:16px; line-height:2; }
  body:not(.tm-front-page) #main .entry-content h2 { padding:13px; font-size:21px; }
  body:not(.tm-front-page) #main .entry-content h3 { font-size:19px; }
  body:not(.tm-front-page) #main .toc { padding:17px 15px; font-size:14px; }
  body:not(.tm-front-page) #main .entry-content :is(th,td) { min-width:105px; padding:10px 12px; }
  body:not(.tm-front-page) #main .entry-content blockquote { padding:16px; }
  #main .related-entry-card-thumb { width:100px; }
  #main .related-entry-card-title { font-size:16px; }
  #main .pager-post-navi :is(.next-post,.prev-post) { width:100%; margin-block:8px; }
  #main :is(.archive-title,.list-title) { font-size:28px; }
  #footer.footer { min-height:0; padding:28px 0 30px!important; }
  #footer-in.footer-in { width:calc(100% - 36px); }
  #footer .footer-bottom { grid-template-columns:1fr; gap:17px; }
  #footer .footer-bottom-logo { width:100%; }
  #footer .footer-bottom-content { width:100%; }
  #footer .site-name-text { font-size:29px; }
  #navi-footer ul { gap:0 18px; }
  #footer .copyright { margin-top:10px!important; font-size:12px!important; }
  #go-to-top { right:10px; bottom:10px; }
}
@media (max-width:359px) {
  #header { width:152px; }
  #header .site-name-text { font-size:23px; }
  .tm-menu-ready #navi .tm-nav-toggle { min-width:92px; gap:7px; padding-inline:9px; }
  .tm-categories__grid { grid-template-columns:1fr; }
  #main .tm-home .tm-topic { min-height:0; padding:17px; }
  .tm-topic__head .tm-icon { float:left; margin:4px 12px 0 0; }
  .tm-topic__head strong { font-size:19px; }
  #main .tm-home .tm-topic__description { clear:both; padding-top:8px; font-size:13px; }
  .tm-circle-arrow { top:20px; right:16px; }
  #main .tm-home .tm-hero__checks { justify-content:flex-start; }
  .tm-reasons__grid { grid-template-columns:1fr; gap:20px; }
  #main .tm-home .tm-reason { display:flex; gap:14px; padding:0!important; border-right:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  #main .tm-home *,#main :is(.tm-latest__cards,#list) .a-wrap,.tm-nav-toggle__icon::before,.tm-nav-toggle__icon::after { transition:none!important; animation:none!important; }
  #main .tm-home :is(.tm-button,.tm-topic):hover,#main :is(.tm-latest__cards,#list) .a-wrap:hover { transform:none; }
}


/* ── 図表の CSS（Codex full 回 codex-tenmode-full.json から移植・2026-09-22）── */
#main .entry-content :is(.wp-block-image,figure:not(.tm-figure):not(.wp-block-table)){max-width:100%}
#main .entry-content .tm-figure{position:relative;isolation:isolate;margin:30px 0 38px;padding:6px;background:#fff;border:1px solid var(--tm-gold);border-radius:2px;box-shadow:6px 6px 0 #eed0dd}
#main .tm-figure .tm-figure__title{display:block;margin:0;padding:17px 20px;color:#fff;background:linear-gradient(110deg,#261327,#4a2039);border-bottom:3px solid var(--tm-pink);font:800 clamp(18px,2vw,22px)/1.65 var(--tm-display);text-align:left}
#main .tm-figure .tm-figure__body{padding:24px 20px;background:radial-gradient(ellipse at 100% 0,#ffe4ee,transparent 58%),#fffafc}
#main .tm-figure .tm-figure__caption{margin:0;padding:15px 20px 7px;color:var(--tm-muted);font:500 12px/1.85 var(--tm-body)}
#main .tm-figure .tm-figure__summary{margin:0;padding:0 20px 18px;color:var(--tm-ink);font:600 14px/1.9 var(--tm-body)}
#main .tm-figure .tm-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;counter-reset:tm-step}
#main .tm-figure .tm-flow:has(>li:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
#main .tm-figure .tm-flow__step{position:relative;min-width:0;margin:0;padding:49px 15px 18px;color:var(--tm-ink);background:#fff;border:1px solid #d39db5;border-bottom:3px solid var(--tm-pink);counter-increment:tm-step}
#main .tm-figure .tm-flow__step::before{content:counter(tm-step,decimal-leading-zero);position:absolute;top:10px;left:15px;color:var(--tm-rose);font:italic 27px/1 var(--tm-editorial)}
#main .tm-figure .tm-flow__step:not(:last-child)::after{content:'→';position:absolute;right:-17px;top:48%;z-index:2;color:var(--tm-rose);font-size:20px;font-weight:800}
#main .tm-figure .tm-flow:has(>li:nth-child(4)) .tm-flow__step:nth-child(2)::after{content:'↓';top:auto;bottom:-23px;right:48%}
#main .tm-figure .tm-flow:has(>li:nth-child(4)) .tm-flow__step:nth-child(3){grid-column:2}
#main .tm-figure .tm-flow:has(>li:nth-child(4)) .tm-flow__step:nth-child(3)::after{content:'←';right:auto;left:-17px}
#main .tm-figure .tm-flow:has(>li:nth-child(4)) .tm-flow__step:nth-child(4){grid-column:1;grid-row:2}
#main .tm-figure .tm-step-title{display:block;margin:0 0 8px;color:var(--tm-rose);font:800 16px/1.7 var(--tm-body)}
#main .tm-figure .tm-step-note{display:block;color:var(--tm-ink);font:500 14px/1.9 var(--tm-body)}
#main .tm-figure .tm-callout{margin:20px 0 0;padding:14px 16px;color:var(--tm-ink);background:#fff0d8;border-left:4px solid var(--tm-gold-dark);font:600 14px/1.9 var(--tm-body)}
#main .tm-figure .tm-small{margin:15px 0 0;color:var(--tm-muted);font:500 12px/1.9 var(--tm-body)}
#main .tm-figure .tm-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#main .tm-figure .tm-compare__card{min-width:0;padding:18px;background:#fff;border:1px solid var(--tm-line);border-top:4px solid var(--tm-pink)}
#main .tm-figure .tm-compare__card:nth-child(even){border-top-color:var(--tm-gold-dark);background:#fffaf0}
#main .tm-figure .tm-compare__card h3,#main .tm-figure .tm-compare__card .tm-step-title{margin:0 0 13px;padding:0;color:var(--tm-rose);background:none;border:0;font:800 17px/1.75 var(--tm-body)}
#main .tm-figure .tm-compare__card :is(p,ul){margin:0 0 10px;font-size:14px;line-height:1.95}
#main .tm-figure .tm-compare__card ul{padding-left:1.2em}
#main .tm-figure .tm-layers{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:tm-layer}
#main .tm-figure .tm-layers__item{position:relative;margin:0;padding:18px 18px 18px 62px;background:linear-gradient(110deg,#fff,#fff0f6);border:1px solid var(--tm-line);border-left:4px solid var(--tm-pink);counter-increment:tm-layer}
#main .tm-figure .tm-layers__item::before{content:counter(tm-layer,decimal-leading-zero);position:absolute;left:15px;top:18px;color:var(--tm-gold-dark);font:italic 28px/1 var(--tm-editorial)}
#main .tm-figure .tm-layers__item:nth-child(even){border-left-color:var(--tm-gold-dark)}
#main .tm-figure .tm-bars{display:grid;gap:22px}
#main .tm-figure .tm-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
#main .tm-figure .tm-bar-label{font-size:14px;font-weight:800}
#main .tm-figure .tm-bar-value{grid-column:2;grid-row:1;color:var(--tm-rose);font:700 26px/1.3 var(--tm-editorial);font-variant-numeric:tabular-nums}
#main .tm-figure .tm-bar-track{grid-column:1/-1;grid-row:2;height:23px;border:1px solid #dcc6d0;background:repeating-linear-gradient(90deg,#f4eaf0 0,#f4eaf0 calc(25% - 1px),#d6bdc9 calc(25% - 1px),#d6bdc9 25%);overflow:hidden}
#main .tm-figure .tm-bar-fill{display:block;width:var(--bar);height:100%;background:linear-gradient(90deg,#b51250,#ed367c)}
#main .tm-figure .tm-bar-row:nth-child(2) .tm-bar-fill{background:linear-gradient(90deg,#30182b,#713451)}
#main .tm-figure .tm-bar-row:nth-child(3){padding-top:20px;border-top:1px dashed var(--tm-gold-dark)}
#main .tm-figure .tm-bar-row:nth-child(3) .tm-bar-fill{background:linear-gradient(90deg,#886024,#e7c583)}
#main .tm-figure .tm-decision-start{margin:0 0 18px;padding:14px 18px;color:#fff;background:var(--tm-rose);text-align:center;font-weight:800}
#main .tm-figure .tm-branch{display:block;margin:12px 0;padding:10px 12px;background:var(--tm-blush);font-size:14px}
#main .tm-figure .tm-branch strong{color:var(--tm-rose)}
@media(max-width:600px){#main .entry-content .tm-figure{margin:26px 0 32px;padding:4px;box-shadow:4px 4px 0 #eed0dd}
#main .tm-figure .tm-figure__title{padding:15px}
#main .tm-figure .tm-figure__body{padding:20px 13px}
#main .tm-figure .tm-figure__caption{padding:13px 13px 7px}
#main .tm-figure .tm-figure__summary{padding:0 13px 15px}
#main .tm-figure .tm-flow,#main .tm-figure .tm-flow:has(>li:nth-child(4)),#main .tm-figure .tm-compare{grid-template-columns:1fr}
#main .tm-figure .tm-flow__step{padding:18px 16px 18px 54px}
#main .tm-figure .tm-flow__step::before{top:21px;left:12px}
#main .tm-figure .tm-flow .tm-flow__step:nth-child(n){grid-column:auto;grid-row:auto}
#main .tm-figure .tm-flow .tm-flow__step:not(:last-child)::after{content:'↓';top:auto;right:48%;bottom:-24px;left:auto}
#main .tm-figure .tm-layers__item{padding:16px 13px 16px 49px}
#main .tm-figure .tm-layers__item::before{left:9px;font-size:25px}
#main .tm-figure .tm-bar-value{font-size:25px}}
@media print{#main .entry-content>h2,#main .tm-figure .tm-figure__title{color:#000;background:#fff;border:1px solid #555;box-shadow:none}
#main .entry-content .tm-figure{box-shadow:none;break-inside:avoid}}

/* 図表の CSS の変数（full 回から）*/
:root{--tm-display:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;--tm-body:'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--tm-editorial:'Bodoni MT',Didot,'Times New Roman',serif;--tm-gold-dark:#79521c;--tm-blush:#ffe8f1}
/* 図表タイトルの保険 */
#main .tm-figure .tm-figure__title{color:#fff;font-weight:800;font-size:clamp(18px,2vw,22px);line-height:1.65;font-family:var(--tm-display,"Yu Mincho","Hiragino Mincho ProN",serif);text-align:left}
/* 図表タイトル（figcaption）の上書き＝参考デザイン版の figcaption 規則（13px・灰・中央・opacity .8）が勝っていた */
#main .entry-content figure .tm-figure__title, #main .entry-content figcaption.tm-figure__title, .tm-figure figcaption.tm-figure__title{color:#fff !important;font-size:clamp(18px,2vw,22px) !important;font-weight:800 !important;line-height:1.65 !important;text-align:left !important;opacity:1 !important;margin:0 !important;padding:17px 20px !important;background:linear-gradient(110deg,#261327,#4a2039) !important;font-family:var(--tm-display,"Yu Mincho","Hiragino Mincho ProN",serif) !important}
