/* 清水ひろと(清水展人)公式サイト 共通デザイン */
:root{
  --ink:#24242c; --sub:#5f5f6e; --line:#ece6df; --bg:#ffffff; --soft:#fbf7f2; --soft2:#f4f1fa;
  --accent:#d0603a; --accent-dark:#b24d2a; --navy:#2d3a5c;
  --r1:#e4572e; --r2:#f3a712; --r3:#29a36a; --r4:#2c7bb6; --r5:#6a4fb3;
  --radius:22px; --shadow:0 10px 30px rgba(30,30,50,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.maru{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;letter-spacing:.02em}
a{color:var(--accent-dark)}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px;margin:0 auto;padding:0 20px}
.rainbow{height:5px;background:linear-gradient(90deg,var(--r1),var(--r2),var(--r3),var(--r4),var(--r5))}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{text-decoration:none;color:var(--ink);line-height:1.2}
.logo b{font-family:"Zen Maru Gothic",sans-serif;font-size:20px;display:block}
.logo span{font-size:11px;color:var(--sub);letter-spacing:.08em}
.gnav{display:flex;gap:4px;align-items:center}
.gnav a{text-decoration:none;color:var(--ink);font-size:14px;padding:8px 10px;border-radius:999px}
.gnav a:hover,.gnav a[aria-current]{background:var(--soft)}
.gnav a.cta{background:var(--accent);color:#fff;padding:9px 18px;margin-left:6px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px}

/* ボタン */
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:15px 30px;border-radius:999px;font-weight:700;box-shadow:0 8px 20px rgba(208,96,58,.25);transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:#fff;color:var(--accent-dark);border:2px solid var(--accent);box-shadow:none}

/* トップの最初の画面 */
.hero{background:linear-gradient(160deg,#fff7f0 0%,#fff 55%,#f5f2fc 100%)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:48px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:13px;color:var(--sub)}
.hero h1{font-size:52px;line-height:1.25;margin:18px 0 4px}
.hero .yomi{color:var(--sub);font-size:16px;margin:0}
.hero .lead{font-size:22px;font-weight:700;line-height:1.8;margin:22px 0 28px}
.hero .lead em{font-style:normal;color:var(--accent)}
.hero .photo{position:relative}
.hero .photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:32px;box-shadow:0 24px 50px rgba(30,30,50,.18)}
.hero .badge{position:absolute;left:-24px;bottom:28px;background:#fff;border-radius:18px;padding:12px 18px;box-shadow:var(--shadow);font-size:13px;line-height:1.5}
.hero .badge b{display:block;font-size:22px;color:var(--accent)}

/* 数字 */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-10px}
.num{background:#fff;border-radius:var(--radius);padding:22px 12px;text-align:center;box-shadow:var(--shadow)}
.num b{display:block;font-family:"Zen Maru Gothic",sans-serif;font-size:38px;color:var(--accent);line-height:1.2}
.num small{font-size:16px}
.num span{font-size:13px;color:var(--sub)}

/* セクション */
section.block{padding:72px 0}
section.soft{background:var(--soft)}
section.soft2{background:var(--soft2)}
.sec-title{text-align:center;margin-bottom:36px}
.sec-title h2{font-size:30px;margin:0}
.sec-title p{margin:4px 0 0;color:var(--sub);font-size:12px;letter-spacing:.25em}
.page-head{background:linear-gradient(160deg,#fff7f0,#f5f2fc);padding:56px 0 40px;text-align:center}
.page-head h1{font-size:34px;margin:0}
.page-head p{color:var(--sub);margin:6px 0 0}
.crumb{font-size:12px;color:var(--sub);margin-bottom:8px}
.crumb a{color:var(--sub)}

/* お知らせ */
.news{display:grid;gap:10px}
.news li{list-style:none;background:#fff;border-radius:14px;padding:14px 20px;display:flex;gap:18px;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.news time{color:var(--accent);font-weight:700;white-space:nowrap;min-width:6.5em}
.news{padding:0;margin:0}

/* 歩み */
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.story img{border-radius:28px;box-shadow:var(--shadow)}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 0 14px 22px;border-left:3px solid var(--line)}
.timeline li:before{content:"";position:absolute;left:-8px;top:8px;width:13px;height:13px;border-radius:50%;background:var(--accent)}
.timeline b{color:var(--accent-dark);margin-right:8px}

/* カード */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card .for{font-size:12px;font-weight:700;color:var(--accent)}
.card h3{font-size:19px;margin:6px 0 10px;line-height:1.5}
.card p{margin:0;color:var(--sub);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
.chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 18px;font-size:14px}

.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}

.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.media-grid div{background:#fff;border-radius:14px;padding:14px 18px;font-size:15px}
.media-grid b{color:var(--accent-dark);margin-right:8px}

.books{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.book{background:#fff;border-radius:18px;padding:16px;font-size:14px;box-shadow:var(--shadow)}
.book img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;margin-bottom:10px;background:#f1e9e1}
.book .noimg{aspect-ratio:3/4;border-radius:10px;margin-bottom:10px;background:linear-gradient(160deg,#fde7d6,#efe6fb);display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-family:"Zen Maru Gothic",sans-serif;font-weight:700}
.book b{display:block;line-height:1.5}
.book span{color:var(--sub);font-size:13px}

.voice{background:#fff;border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow);margin-bottom:14px;position:relative}
.voice:before{content:"“";position:absolute;left:14px;top:-8px;font-size:60px;color:#f3c9b5;font-family:serif}
.voice small{display:block;color:var(--sub);margin-top:6px}

.cta-box{background:linear-gradient(135deg,#fde7d6,#efe6fb);border-radius:36px;padding:52px 24px;text-align:center}
.cta-box h2{font-size:28px;margin:0 0 10px}
.flow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0 28px;padding:0;list-style:none;counter-reset:f}
.flow li{background:#fff;border-radius:14px;padding:10px 16px;font-size:14px}

/* 本文(引き継いだページ・説明ページ) */
.prose h2{font-size:24px;margin:48px 0 14px;padding-bottom:8px;border-bottom:3px solid var(--line)}
.prose h3{font-size:19px;margin:30px 0 10px;color:var(--navy)}
.prose table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:15px;background:#fff}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left}
.prose tr:first-child td,.prose th{background:var(--soft);font-weight:700}
.prose img{border-radius:14px;margin:10px 0;max-height:640px;width:auto}
.prose figure{margin:0}
.faq dt{font-weight:700;margin-top:22px}
.faq dt:before{content:"Q. ";color:var(--accent)}
.faq dd{margin:6px 0 0;color:var(--sub)}
.faq dd:before{content:"A. ";color:var(--navy);font-weight:700}
.note{background:#fff8e1;border-radius:12px;padding:14px 18px;font-size:14px}
.todo{background:#fff3c4;border-radius:6px;padding:0 6px;font-size:.85em;font-weight:700;color:#7a5b00}

/* フッター */
.site-footer{background:#22232b;color:#d9d9e0;padding:48px 0 30px;font-size:14px;margin-top:0}
.site-footer a{color:#fff;text-decoration:none}
.site-footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px}
.site-footer ul{list-style:none;padding:0;margin:0;line-height:2.1}
.site-footer .copy{border-top:1px solid #3a3b46;margin-top:30px;padding-top:18px;font-size:12px;color:#9a9aa8;text-align:center}
.float-cta{display:none}

@media (max-width:900px){
  .gnav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 20px;border-bottom:1px solid var(--line)}
  .gnav.open{display:flex}
  .gnav a{padding:12px}
  .menu-btn{display:block}
  .hero .wrap,.story{grid-template-columns:1fr;gap:26px}
  .hero .photo{order:-1}
  .hero .photo img{aspect-ratio:1/1}
  .hero .badge{left:12px;bottom:12px}
  .hero h1{font-size:40px}
  .hero .lead{font-size:19px}
  .nums{grid-template-columns:repeat(2,1fr)}
  .cards,.books,.photos{grid-template-columns:1fr 1fr}
  .media-grid{grid-template-columns:1fr}
  .site-footer .cols{grid-template-columns:1fr}
  section.block{padding:54px 0}
  .float-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;text-align:center}
  .float-cta a{display:block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:14px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.2)}
  body{padding-bottom:70px}
}
@media (max-width:520px){ .cards,.books{grid-template-columns:1fr} .prose table{font-size:13px} }

/* 著書(アフィリエイト) */
a.book{display:block;text-decoration:none;color:var(--ink);transition:transform .15s}
a.book:hover{transform:translateY(-3px)}
.book img{object-fit:contain;background:#fff}
.book .buy{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#fff;background:#232f3e;border-radius:999px;padding:4px 12px}
.book-list .item{display:grid;grid-template-columns:220px 1fr;gap:24px;background:#fff;border-radius:20px;padding:22px;margin:16px 0;box-shadow:var(--shadow)}
.book-list .pics{display:flex;gap:8px;flex-wrap:wrap}
.book-list .pics img{width:100%;max-width:220px;border-radius:10px;object-fit:contain;background:#faf8f5}
.book-list .pics img+img{max-width:104px}
.book-list .noimg{width:100%;aspect-ratio:3/4;border-radius:10px;background:linear-gradient(160deg,#fde7d6,#efe6fb);display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-family:"Zen Maru Gothic",sans-serif;font-weight:700}
.book-list h3{margin:4px 0;font-size:19px;line-height:1.5}
.book-list .kind{font-size:12px;font-weight:700;color:var(--accent)}
.book-list .pub{color:var(--sub);font-size:14px;margin:0 0 8px}
.book-list .btn{padding:11px 22px;font-size:14px;background:#232f3e;box-shadow:none}
@media (max-width:620px){.book-list .item{grid-template-columns:1fr}}

/* メニューが増えたので、1行に収める */
.gnav a{white-space:nowrap}
@media (max-width:1200px) and (min-width:901px){ .gnav a{font-size:12.5px;padding:7px 6px} .gnav a.cta{padding:8px 12px} .logo span{display:none} }

/* CD絵本『Color』の音楽ボタン(浮かぶ丸いボタン:パソコンは右はしの真ん中、スマホは左下) */
.c-color-player{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;align-items:center;gap:4px}
.c-color-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:74px;height:74px;border-radius:50%;border:3px solid #fff;cursor:pointer;color:#fff;font-size:11px;font-weight:700;line-height:1.15;background:linear-gradient(135deg,var(--r1),var(--r2),var(--r3),var(--r4),var(--r5));box-shadow:0 4px 14px rgba(0,0,0,.25);animation:c-bob 3s ease-in-out infinite;font-family:inherit}
.c-color-btn:focus-visible,.c-color-play:focus-visible{outline:3px solid var(--r4);outline-offset:2px}
.c-color-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--r1);font-size:16px}
.c-color-player.is-playing .c-color-icon,.c-color-play.is-playing .c-color-note{animation:c-pulse 1.2s ease-in-out infinite}
.c-color-link{font-size:11px;background:#fff;color:var(--ink);padding:1px 8px;border-radius:999px;text-decoration:underline;box-shadow:0 1px 4px rgba(0,0,0,.15)}
@keyframes c-pulse{50%{transform:scale(1.15)}} @keyframes c-bob{50%{transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.c-color-btn,.c-color-player.is-playing .c-color-icon{animation:none}}
@media (max-width:900px){.c-color-player{right:auto;left:8px;top:auto;bottom:80px;transform:none}.c-color-btn{width:62px;height:62px;font-size:10px}.c-color-icon{width:24px;height:24px;font-size:14px}.c-color-link{display:none}}
/* ページの中の「音楽を聴く」ボタン */
.c-color-play{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;padding:8px 18px 8px 8px;border-radius:999px;color:#fff;font-size:15px;font-weight:700;font-family:inherit;background:linear-gradient(90deg,var(--r1),var(--r2),var(--r3),var(--r4),var(--r5));box-shadow:0 2px 8px rgba(0,0,0,.2)}
.c-color-note{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--r1);font-size:17px}
.c-color-play small{display:block;font-size:11px;font-weight:400;opacity:.95}

/* 性の多様性の本棚 */
.shelf{background:#fffaf0;border:2px solid #f3d9b0;border-radius:24px;padding:26px 22px}
.shelf h2{margin:0;color:#5a3a1a;font-size:26px;text-align:center}
.shelf h2 small{display:block;font-size:14px;font-weight:400;color:#7a5a3a;margin-top:4px}
.shelf-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:18px 0 8px;padding:14px 12px 22px;background:linear-gradient(transparent calc(100% - 14px),#c8955e calc(100% - 14px));border-radius:12px}
.shelf-card{display:flex;flex-direction:column;gap:4px;padding:9px;background:#fff;border-radius:10px;box-shadow:0 3px 8px rgba(0,0,0,.12);color:var(--ink);text-decoration:none;font-size:12.5px;line-height:1.45;transition:transform .2s}
.shelf-card:hover{transform:translateY(-3px)}
.shelf-card img{width:100%;height:160px;object-fit:contain;background:#f7f3ee;border-radius:6px}
.shelf-tag{align-self:flex-start;background:var(--r3);color:#fff;border-radius:999px;padding:1px 9px;font-size:11px}
.shelf-title{font-weight:700}
.shelf-pub{color:#777;font-size:11px}
.shelf-buy{margin-top:auto;color:var(--accent-dark);font-weight:700}
.shelf-intro{margin:0 auto 18px;max-width:820px;padding:16px 18px;border-radius:14px;background:#fffaf0;border-left:6px solid var(--r2)}
.shelf-intro strong{font-size:18px;color:#5a3a1a}
.shelf-intro p{margin:6px 0 0}
.shelf-bnr{display:block;max-width:320px;margin:14px 0 0;border-radius:14px}
.shelf-bnr img{display:block;width:100%;height:auto}

/* 講演会・研修会のチラシ */
.flyers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:18px 0 10px}
.flyers figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow)}
.flyers img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:6px;display:block}
.flyers figcaption{font-size:13px;line-height:1.6;margin-top:8px}
.flyers figcaption b{display:block}
.flyers figcaption small{display:block;color:var(--sub)}
.prose .flyers{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.flyer-note{font-size:13px;color:var(--sub)}

/* 講演・研修の対象別 */
.tgt-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 30px}
.tgt-nav a{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:9px 18px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:700}
.tgt{margin:0 0 54px;scroll-margin-top:80px}
.tgt-head{position:relative;border-radius:24px;overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow)}
.tgt-head img{width:100%;height:300px;object-fit:cover;display:block}
.tgt-head h2{position:absolute;left:0;right:0;bottom:0;margin:0;padding:40px 28px 18px;color:#fff;font-size:26px;background:linear-gradient(transparent,rgba(20,20,30,.72))}
.cards4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.cards4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cards4{grid-template-columns:1fr}.tgt-head img{height:210px}.tgt-head h2{font-size:21px}}

/* メディア出演 */
.tv-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tv-feat>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.tv-feat .tv-big{grid-column:span 1;background:linear-gradient(160deg,#fff7f0,#fff);border-color:#f3d2c2}
.tv-feat small{color:var(--accent-dark);font-weight:700;font-size:12px}
.tv-feat h3{font-size:18px;margin:4px 0 8px;line-height:1.5}
.tv-feat p{font-size:14.5px;color:var(--sub);margin:0 0 6px}
.tv-feat img{width:100%;border-radius:10px;margin:4px 0 8px}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.video p{font-size:14px;margin:8px 0 0}
.vf{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}
.video.short .vf{aspect-ratio:9/16;max-width:300px}
.vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-names{line-height:2.1;font-size:15px}
@media (max-width:900px){.tv-feat,.videos{grid-template-columns:1fr}}

/* 年ごとの実績(写真) */
.ycards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin:10px 0 36px}
.ycard{display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}
.ycard:hover{transform:translateY(-4px)}
.ycard img,.ycard-noimg{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ycard-noimg{display:flex;align-items:center;justify-content:center;font:700 34px "Zen Maru Gothic",sans-serif;color:#fff;background:linear-gradient(135deg,var(--r1),var(--r2),var(--r3),var(--r4),var(--r5))}
.ycard span{display:block;padding:10px 12px;font-weight:700;font-size:14px;line-height:1.5}

.trust{list-style:none;padding:0;margin:6px 0 10px;font-size:14px}
.trust li{background:#fff8ef;border-left:4px solid var(--r2);border-radius:6px;padding:5px 10px;margin:4px 0}
.photo2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo2 img{border-radius:12px}.photo2 figcaption{font-size:13px;color:var(--sub)}

/* ラジオ */
.radio-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#fff7f0,#f2f7ff)}
.bfm-field{position:absolute;inset:0;pointer-events:none}
.bfm-pop{position:absolute;opacity:.9;animation:bfmhop 2.6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}
@keyframes bfmhop{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}
.onair{display:inline-flex;align-items:center;gap:8px;background:#e4572e;color:#fff;font-weight:700;border-radius:999px;padding:6px 16px;font-size:14px}
.onair .dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.2}}
.eq{display:flex;gap:5px;height:34px;align-items:flex-end;margin:0 0 18px}
.eq i{width:8px;border-radius:4px;background:linear-gradient(var(--r4),var(--r3));animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.45s}.eq i:nth-child(5){animation-delay:.2s}.eq i:nth-child(6){animation-delay:.35s}.eq i:nth-child(7){animation-delay:.05s}
@keyframes eq{0%,100%{height:8px}50%{height:34px}}
@media (max-width:700px){.bfm-pop{opacity:.35}}
@media (prefers-reduced-motion:reduce){.bfm-pop,.eq i,.onair .dot{animation:none}}

/* テレメンタリー風の帯(地球儀がゆっくり回る) */
.doc-hero{display:flex;gap:28px;align-items:center;background:radial-gradient(circle at 20% 30%,#123a7a,#050d24 70%);color:#fff;border-radius:24px;padding:30px 34px;margin:0 0 30px;box-shadow:var(--shadow);overflow:hidden}
.doc-hero h2{color:#fff;font-size:28px;line-height:1.45;margin:6px 0 8px}
.doc-hero p{color:#cfdcf5;margin:0;font-size:15px}
.doc-kicker{font-size:12px;letter-spacing:.25em;color:#ffd27a;font-weight:700}
.globe{width:130px;height:130px;flex:none;filter:drop-shadow(0 0 22px rgba(120,190,255,.55))}
.globe .lon{transform-origin:50% 50%;animation:spin 8s linear infinite}
@keyframes spin{from{transform:scaleX(1)}25%{transform:scaleX(.35)}50%{transform:scaleX(-1)}75%{transform:scaleX(-.35)}to{transform:scaleX(1)}}
.stations{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.st{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.st h3{margin:0 0 6px;font-size:18px;border-left:5px solid var(--accent);padding-left:10px}
.st ul{list-style:none;margin:0;padding:0;font-size:14px}.st li{padding:4px 0;border-bottom:1px dashed var(--line)}.st li b{display:block;color:var(--accent-dark);font-size:12px}
@media (max-width:700px){.doc-hero{flex-direction:column;text-align:center}.globe{width:96px;height:96px}}
@media (prefers-reduced-motion:reduce){.globe .lon{animation:none}}

/* ぴょんぴょん動く飾り(本・テレビ・マイク・協会のキャラクター) */
.page-head{position:relative;overflow:hidden}
.hops{position:absolute;right:3%;bottom:10px;display:flex;gap:14px;align-items:flex-end;pointer-events:none}
.hops>*{width:44px;height:auto;animation:hop 1.8s ease-in-out infinite;filter:drop-shadow(0 3px 5px rgba(0,0,0,.15))}
.hops img{border-radius:4px}
.hops>*:nth-child(2){animation-delay:.25s}.hops>*:nth-child(3){animation-delay:.5s}.hops>*:nth-child(4){animation-delay:.75s}.hops>*:nth-child(5){animation-delay:1s}.hops>*:nth-child(6){animation-delay:1.25s}.hops>*:nth-child(7){animation-delay:1.5s}
@keyframes hop{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-16px) rotate(-6deg)}}
.kphotos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kphotos img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}.kphotos figcaption{font-size:13px;color:var(--sub)}
@media (max-width:900px){.hops{position:static;justify-content:center;margin:6px 0 4px}.hops>*{width:32px}}
@media (prefers-reduced-motion:reduce){.hops>*{animation:none}}
.hops{position:static;justify-content:center;margin:10px 0 0;padding-bottom:6px}
.photo2.kino img{height:230px;width:100%;object-fit:cover}@media(max-width:600px){.photo2.kino img{height:150px}}
.soon{background:#fff7ec;border:1px solid #f1d3b5;border-radius:12px;padding:12px 16px;font-size:15px}.soon b{background:var(--accent,#c4552f);color:#fff;border-radius:6px;padding:2px 8px;margin-right:8px;font-size:12px;letter-spacing:.08em}
/* ミニ清水ひろと(試作):ぴょこぴょこ跳ねて、手をふる */
.hops img.mini{height:74px;width:auto;animation:minihop 1.1s ease-in-out infinite}
@keyframes minihop{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-14px) rotate(-6deg)}40%{transform:translateY(0) rotate(0)}55%{transform:translateY(-6px) rotate(5deg)}70%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.hops img.mini{animation:none}}
/* ご依頼・ご相談ページ */
.booking{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:0;background:linear-gradient(135deg,#fff7ec,#f4f1fa);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.bk-photo{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:30% 20%}
.bk-text{padding:34px 38px}
.bk-label{display:inline-block;background:var(--accent);color:#fff;font-weight:700;border-radius:999px;padding:6px 16px;font-size:14px;margin:0 0 14px}
.bk-now{font-size:17px;line-height:1.9;margin:0 0 14px}.bk-now b{font-size:22px;color:var(--navy)}
.bk-media{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.bk-media span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:700}
.bk-mini{position:absolute;right:18px;bottom:10px;height:92px;animation:minihop 1.1s ease-in-out infinite}
.cfor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.cf{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.cf img{width:100%;height:210px;object-fit:cover;display:block}
.cf>div{padding:18px 22px 22px}.cf h3{margin:0 0 6px;font-size:20px}.cf p{margin:0;font-size:15px;color:var(--sub)}
ol.steps{counter-reset:s;list-style:none;padding:0}ol.steps li{counter-increment:s;position:relative;padding:10px 0 10px 46px;border-bottom:1px solid var(--line)}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.small-note{font-size:14px;color:var(--sub)}
@media(max-width:760px){.booking{grid-template-columns:1fr}.bk-photo{min-height:0;height:260px}.bk-text{padding:24px 22px 70px}.cfor{grid-template-columns:1fr}.cf img{height:180px}}
@media (prefers-reduced-motion:reduce){.bk-mini{animation:none}}
.cf img{object-position:center 22%}.bk-now b{font-size:20px}
/* 日本地図(講演・研修の数) */
.jmap-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;align-items:start}
.jmap{display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(11,1fr);gap:4px;aspect-ratio:14/11}
.jt{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;text-decoration:none;color:var(--ink);font-size:11px;line-height:1.15;background:#ece8e2;transition:transform .15s}
.jt b{font-weight:700}.jt i{font-style:normal;font-size:10px;opacity:.85}
.jt.t1{background:#fde3d4}.jt.t2{background:#f7b996}.jt.t3{background:#e9845a;color:#fff}.jt.t4{background:#c4552f;color:#fff}
.jt:hover,.jt.on{transform:scale(1.18);box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:2;position:relative;outline:2px solid var(--navy)}
.jinfo{background:#fff;border-radius:20px;padding:22px 24px;box-shadow:var(--shadow);min-height:180px}
.jinfo h3{margin:0 0 10px;font-size:22px}.jinfo h3 span{margin-left:10px;font-size:15px;color:var(--accent);font-weight:700}
.jinfo p{font-size:14.5px;margin:0 0 8px}.jinfo .ji-hint{color:var(--sub)}
.jlegend{font-size:13px;color:var(--sub);margin-top:14px}.jlegend span{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin:0 4px 0 10px}
.jlegend .t1{background:#fde3d4}.jlegend .t2{background:#f7b996}.jlegend .t3{background:#e9845a}.jlegend .t4{background:#c4552f}
@media(max-width:760px){.jmap-wrap{grid-template-columns:1fr}.jt{font-size:8.5px;border-radius:5px}.jt i{font-size:8px}.jmap{gap:2px}}
#t-gov .tgt-head img{object-position:88% 75%}#t-teacher .tgt-head img{object-position:30% 62%}
/* 業種別の研修実績・海外 */
.biz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:6px 0 34px}
.bz{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:150px minmax(0,1fr)}
.bz img{width:100%;height:100%;object-fit:cover;min-height:170px}
.bz>div{padding:16px 18px}.bz h3{margin:0 0 6px;font-size:18px;color:var(--navy)}
.bz ul{margin:0;padding-left:1.1em;font-size:14px;line-height:1.75}
.world{display:grid;gap:10px}.wd{display:grid;grid-template-columns:130px 1fr;gap:12px;background:#fff;border-radius:12px;padding:12px 16px;border:1px solid var(--line)}
.wd b{color:var(--accent)}.wd span{font-size:14.5px}
@media(max-width:760px){.biz{grid-template-columns:1fr}.bz{grid-template-columns:110px 1fr}.wd{grid-template-columns:1fr;gap:2px}}
.kyokai-bnr{display:block;margin-top:14px;background:#fff;border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);border-top:5px solid;border-image:linear-gradient(90deg,#e4572e,#f3a712,#76b041,#2e86ab,#8e5ea2) 1}
.kyokai-bnr small{display:block;font-size:12px;color:var(--sub)}.kyokai-bnr b{display:block;font-size:16px;margin:2px 0}.kyokai-bnr span{font-size:13px;color:var(--accent);font-weight:700}
.consult{background:var(--soft2);border-radius:20px;padding:24px 28px}.consult h2{margin-top:0}
.titles{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.titles span{background:var(--navy);color:#fff;border-radius:999px;padding:5px 14px;font-size:14px;font-weight:700}
.pro{display:grid;gap:10px;margin-bottom:12px}.pro>div{display:grid;grid-template-columns:230px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.pro b{color:var(--navy)}.pro span{font-size:14.5px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 16px}.stats>div{background:#fff;border-radius:16px;padding:16px;text-align:center;box-shadow:var(--shadow)}
.stats b{display:block;font-size:34px;color:var(--accent);line-height:1.1}.stats small{font-size:14px;margin-left:2px}.stats span{font-size:13px;color:var(--sub)}
ol.flow-time{list-style:none;padding:0;border-left:3px solid var(--accent);margin-left:8px}
ol.flow-time li{position:relative;padding:6px 0 12px 20px}ol.flow-time li::before{content:"";position:absolute;left:-9px;top:12px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--accent)}
ol.flow-time b{display:block;color:var(--navy)}ol.flow-time span{font-size:15px}
.msg{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:19px;line-height:2.1;background:var(--soft);border-radius:16px;padding:22px 26px}
@media(max-width:760px){.pro>div{grid-template-columns:1fr;gap:2px}.stats{grid-template-columns:1fr}.stats b{font-size:28px}}
.bfm-word{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;color:#d64078;letter-spacing:.02em;white-space:nowrap;line-height:1;filter:none;text-shadow:0 3px 8px rgba(214,64,120,.18)}
.guests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.guests>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.guests b{display:block;color:var(--navy);margin-bottom:4px}.guests span{font-size:14px;color:var(--sub)}
@media(max-width:760px){.guests{grid-template-columns:1fr}}
/* トップ:写真を左に、水色・ピンク・白 */
.hero{background:linear-gradient(120deg,#eaf6fd 0%,#ffffff 48%,#fdeef4 100%)}
@media(min-width:761px){.hero .wrap{grid-template-columns:.85fr 1.15fr}}
.hero .photo img:first-child{animation:heroZoom 18s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.035)}}
.hero .photo{overflow:visible}
.hero .badge{left:auto;right:-20px}
.hero-mini{position:absolute;left:-26px;top:-18px;width:auto!important;height:86px!important;aspect-ratio:auto!important;box-shadow:none!important;border-radius:0!important;animation:minihop 1.1s ease-in-out infinite!important}
.hero .tag{background:#fff;border:1px solid #cfe7f6}
.hero .lead em{color:#d64078}
.nums{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:760px){.nums{grid-template-columns:repeat(2,1fr)!important}.hero .badge{right:12px}.hero-mini{left:6px;top:-10px;height:64px!important}}
@media (prefers-reduced-motion:reduce){.hero .photo img:first-child,.hero-mini{animation:none!important}}
.why-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:center;background:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:22px}
.wh-art{position:relative;background:linear-gradient(135deg,#8cc8ea,#f4a7c4);border-radius:18px;padding:22px 18px 46px;overflow:hidden}
.wh-art svg{width:100%;display:block}
.wh-tag{position:absolute;left:14px;bottom:12px;background:rgba(20,30,50,.75);color:#fff;font-size:12px;line-height:1.5;border-radius:8px;padding:5px 10px;font-weight:700}
.why-hero h3{font-size:24px;margin:4px 0 8px}.why-hero .for{color:var(--accent);font-weight:700;font-size:13px}
.why6{grid-template-columns:repeat(3,minmax(0,1fr))}
.effort{margin:22px 0;background:linear-gradient(90deg,#fdeef4,#eaf6fd);border-radius:20px;padding:20px 26px}.effort b{font-size:20px;color:var(--navy)}.effort p{margin:6px 0 0}
.where{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.where a{background:#fff;border-radius:16px;padding:16px 12px;text-align:center;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s}
.where a:hover{transform:translateY(-4px)}.where svg{width:52px;height:52px}.where b{display:block;margin:6px 0 2px}.where span{font-size:12.5px;color:var(--sub)}
.mfeat{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.mfeat figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.mfeat img{width:100%;height:300px;object-fit:cover;display:block}
.mfeat figcaption{padding:14px 18px;font-size:14px}.mfeat b{display:block;font-size:16px;margin-bottom:2px}
@media(max-width:760px){.why-hero,.mfeat{grid-template-columns:1fr}.why6{grid-template-columns:1fr}.where{grid-template-columns:repeat(2,1fr)}.mfeat img{height:220px}}
@media(max-width:760px){.nums .num:last-child{grid-column:span 2}}
.where a{padding:0 0 14px;overflow:hidden}.where img{width:100%;height:130px;object-fit:cover;display:block;margin-bottom:6px}.where b,.where span{padding:0 10px;display:block}
#t-dummy{}
.why-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;margin-bottom:20px}
.wt-books{text-decoration:none;color:var(--ink)}.wt-covers{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;margin:10px 0}
.wt-covers img{width:100%;height:170px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.wt-covers img:not(:last-child){object-fit:contain;background:#fff}
.why6{grid-template-columns:repeat(6,minmax(0,1fr))}.why6>.card{grid-column:span 2}.why6>.card-photo{grid-column:span 3}
.card-photo img{width:calc(100% + 52px);margin:-26px -26px 14px;height:230px;object-fit:cover;display:block;border-radius:0}
@media(max-width:760px){.why-top{grid-template-columns:1fr}.why6>.card,.why6>.card-photo{grid-column:1/-1}.wt-covers img{height:120px}}
.card-photo{overflow:hidden}
.card-photo img{max-width:none}
.wt-covers{grid-template-columns:1fr 1fr 1fr 1.5fr}
/* 全国の講演写真が流れる帯 */
.tour{padding:46px 0 30px;background:linear-gradient(180deg,#fff,#f4f9fd)}
.tour-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tour-head h2{margin:0;font-size:26px}.tour-head p{margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--sub)}
.tour-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tour-row{display:flex;gap:16px;width:max-content;animation:tourSlide 60s linear infinite}
.tour-track:hover .tour-row{animation-play-state:paused}
.tour figure{margin:0;width:300px;flex:none;position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.tour img{width:300px;height:210px;object-fit:cover;display:block}
.tour figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 8px;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.6))}
@keyframes tourSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.tour figure,.tour img{width:220px}.tour img{height:160px}.tour-head h2{font-size:21px}}
@media (prefers-reduced-motion:reduce){.tour-row{animation:none}.tour-track{overflow-x:auto}}
.more-flyers{margin-top:18px}.more-flyers summary{cursor:pointer;text-align:center;font-weight:700;color:var(--accent);padding:12px;border:1px solid var(--line);border-radius:999px;max-width:360px;margin:0 auto 18px;list-style:none;background:#fff}
.more-flyers summary::-webkit-details-marker{display:none}
.mid-cta{background:linear-gradient(90deg,#eaf6fd,#fdeef4);padding:26px 0}.mid-cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 26px;text-align:center}.mid-cta p{margin:0}.mid-cta b{font-size:19px;margin-right:8px}
.wt-covers{grid-template-columns:repeat(3,1fr)}.wt-covers img{object-fit:contain!important;background:#fff;height:190px}
.wt-covers{grid-template-columns:repeat(5,1fr)!important;gap:8px}
.wt-covers a{text-decoration:none;color:var(--sub);font-size:11px;text-align:center;display:block;transition:transform .2s}.wt-covers a:hover{transform:translateY(-4px)}
.wt-covers img{height:150px!important;width:100%;object-fit:contain!important;background:#fff;border-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.wt-covers span{display:block;margin-top:4px}
.card .ico svg{width:44px;height:44px;margin-bottom:4px}
@media(max-width:760px){.wt-covers{grid-template-columns:repeat(3,1fr)!important}.wt-covers img{height:120px!important}}
#t-school .tgt-head img{object-position:50% 55%}
.tgt .card{border-top:4px solid var(--accent)}#t-teacher .card{border-top-color:#8cc8ea}#t-gov .card{border-top-color:#a6dcb4}#t-biz .card{border-top-color:#f4a7c4}
.cimg{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;margin-top:12px;box-shadow:0 3px 10px rgba(0,0,0,.1)}
.cimg-contain{object-fit:contain;background:#f6f3ee}
.wt-pics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.wt-pics figure{margin:0}.wt-pics img{width:100%;height:150px;object-fit:cover;border-radius:10px}.wt-pics figcaption{font-size:12px;color:var(--sub);margin-top:2px}
.news li{align-items:flex-start}.news .ni{font-style:normal;font-size:20px;line-height:1.4;width:34px;height:34px;flex:none;display:grid;place-items:center;background:var(--soft);border-radius:50%}
.news .soon-li{background:linear-gradient(90deg,#fdeef4,#eaf6fd)}
@media(max-width:760px){.news li{flex-wrap:wrap;gap:8px}.news time{min-width:auto}}
.ehon-pics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;max-width:520px}.ehon-pics img{width:100%;height:190px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.soon-ehon{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center}.soon-ehon img{width:100%;height:150px;object-fit:cover;border-radius:10px}.soon-ehon p{margin:0}
@media(max-width:760px){.soon-ehon{grid-template-columns:1fr}.ehon-pics img{height:140px}}
.nico{display:block;font-style:normal}.nico svg{width:34px;height:34px;margin:0 auto 2px;display:block}
.bglobe svg{width:26px;height:26px;vertical-align:-7px;margin-right:4px;animation:spin 14s linear infinite}
.pico{font-style:normal;margin-right:8px}.pico svg{width:26px;height:26px;vertical-align:-7px}
.msg b{color:#d64078}
/* 1986年から、いまへ ― 道 */
.road{position:relative;margin:24px 0 36px;padding-left:46px}
.road::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:16px;border-radius:8px;background:#cfd6df}
.road::after{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:repeating-linear-gradient(#fff 0 12px,transparent 12px 24px)}
.rstop{position:relative;margin-bottom:22px}
.rdot{position:absolute;left:-40px;top:6px;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--accent);z-index:1}
.ryear{font:700 24px "Zen Maru Gothic",sans-serif;color:var(--navy)}
.rmile{margin:2px 0 10px;font-size:15px;background:linear-gradient(90deg,#fdeef4,#eaf6fd);border-radius:10px;padding:8px 14px;display:inline-block}
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.rnow .rdot{background:var(--accent)}
.fl-title{position:relative}.fl-title .ftl,.fl-title .ftr{position:absolute;top:0}.fl-title .ftl{left:8%}.fl-title .ftr{right:8%}.fl-title svg{width:56px;height:56px}
.more-flyers summary small{display:block;font-weight:400;font-size:12px;color:var(--sub)}.more-flyers summary{max-width:440px}
@media(max-width:760px){.fl-title .ftl,.fl-title .ftr{display:none}.road{padding-left:34px}.road::before{left:8px;width:10px}.road::after{left:12px}.rdot{left:-32px}}
.rcards{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.rstop{margin-bottom:16px}.ryear{font-size:21px}
.press{list-style:none;padding:0;margin:0;display:grid;gap:8px}.press li{display:flex;gap:16px;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.press time{color:var(--accent);font-weight:700;min-width:7em}
@media(max-width:760px){.press li{flex-direction:column;gap:2px}}
.mag2{display:grid;grid-template-columns:1fr 1.6fr;gap:22px;align-items:start}.mag2 figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.mag2 img{width:100%;height:340px;object-fit:cover;display:block}.mag2 figure:first-child img{object-fit:contain;background:#f4f1ec}
.mag2 figcaption{padding:12px 16px;font-size:14px}.mag2 b{display:block;font-size:15px}
.pubs{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}
.pubs li{display:grid;grid-template-columns:9.5em 1fr;gap:12px;padding:8px 6px;border-bottom:1px dashed var(--line);font-size:14px}.pubs li:last-child{border:0}
.pubs time{color:var(--accent);font-weight:700}.pubs b{display:block}.pubs span{color:var(--sub)}
@media(max-width:760px){.mag2{grid-template-columns:1fr}.pubs li{grid-template-columns:1fr;gap:2px}}
.disp{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:12px;margin:10px 0 24px}
.disp figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.disp .big{grid-row:span 2}
.disp img{width:100%;height:100%;max-height:420px;object-fit:cover;display:block}.disp .big img{max-height:none;height:calc(100% - 52px)}
.disp figcaption{padding:8px 12px;font-size:13px;color:var(--sub)}
@media(max-width:760px){.disp{grid-template-columns:1fr;grid-template-rows:auto}.disp .big{grid-row:auto}.disp .big img{height:auto}}
.disp{grid-template-rows:auto auto}.disp .big img{height:520px}.disp figure:not(.big) img{height:226px}@media(max-width:760px){.disp .big img,.disp figure:not(.big) img{height:auto}}
.tv-big img{max-height:420px;object-fit:cover;object-position:30% 60%}
.wt-pics img{object-position:50% 30%}
.cta-box{position:relative}
.cta-banzai{position:absolute;right:28px;top:-46px;height:110px;animation:banzaihop 1.3s ease-in-out infinite}
.road-banzai{height:64px;vertical-align:middle;animation:banzaihop 1.3s ease-in-out infinite}
@keyframes banzaihop{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(1.04)}50%{transform:translateY(0) scale(.98,1.02)}65%{transform:translateY(-6px)}}
@media(max-width:760px){.cta-banzai{height:80px;top:-36px;right:12px}}
@media (prefers-reduced-motion:reduce){.cta-banzai,.road-banzai{animation:none}}
.wt-tele{margin:12px 0 0}.wt-tele img{width:100%;height:200px;object-fit:cover;border-radius:10px}.wt-tele figcaption{font-size:12px;color:var(--sub)}
.trip{display:flex;gap:10px;overflow-x:auto;margin-top:12px;padding-bottom:6px;scroll-snap-type:x mandatory}
.trip figure{margin:0;flex:none;width:150px;scroll-snap-align:start}.trip img{width:150px;height:150px;object-fit:cover;border-radius:12px;display:block}
.trip figcaption{font-size:12px;color:var(--sub);margin-top:3px;text-align:center}
.ccap{font-size:12px;color:var(--sub);margin:6px 0 0;line-height:1.7}.ccap b{display:inline-block;background:var(--navy);color:#fff;border-radius:4px;padding:0 6px;margin-right:6px;font-size:11px}
.nthumb{width:72px;height:54px;object-fit:cover;border-radius:8px;flex:none;box-shadow:0 2px 6px rgba(0,0,0,.12)}.news li{align-items:center}
/* 本の一覧:2つ並び・表紙を少し傾けて */
.book2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;align-items:start}
.book2>h2,.book2>.soon{grid-column:1/-1}
.book2 .item{grid-template-columns:150px 1fr;gap:18px;padding:20px;margin:10px 0}
.book2 .pics img{max-width:150px;transform:rotate(-3deg);box-shadow:4px 6px 14px rgba(0,0,0,.18);transition:transform .25s}
.book2 .item:nth-of-type(even) .pics img{transform:rotate(3deg)}
.book2 .pics img+img{display:none}
.book2 .item:hover .pics img{transform:rotate(0) scale(1.03)}
.book2 h3{font-size:17px}
.rank-top{padding-top:10px}
@media(max-width:860px){.book2{grid-template-columns:1fr}.book2 .item{grid-template-columns:110px 1fr}.book2 .pics img{max-width:110px}}
.book2 .pics img{height:auto;background:none;aspect-ratio:auto}
.book2 .pics{align-items:flex-start;align-self:start}
.cancel{margin:26px 0;border:1px solid var(--line);border-radius:14px;padding:12px 18px;background:#fff}.cancel summary{cursor:pointer;font-weight:700;color:var(--navy)}
.pack{background:linear-gradient(135deg,#eaf6fd,#fdeef4);border-radius:20px;padding:24px 26px;margin:30px 0}.pack-label{display:inline-block;background:#2d3a5c;color:#fff;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;margin:0 0 8px}
.pack-btns{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.cta-ok{list-style:none;padding:0;margin:10px 0 18px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.cta-ok li{background:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;color:var(--navy)}.cta-ok li::before{content:"✓ ";color:#2e9d6a}
.btn-mail{display:inline-flex;align-items:center;gap:10px;font-size:18px;padding:16px 34px;box-shadow:0 10px 24px rgba(208,96,58,.35);animation:ctapulse 2.4s ease-in-out infinite}
.btn-mail svg{width:24px;height:24px}
@keyframes ctapulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.cta-sub{font-size:13px;color:var(--sub);margin:8px 0 18px}
.cta-link{display:inline-block;margin-top:14px;font-weight:700}
@media (prefers-reduced-motion:reduce){.btn-mail{animation:none}}
/* 相談しやすい色と形:やさしい背景に、白い面、あたたかい朱色のボタン */
.cta-box{background:linear-gradient(135deg,#fff8f1 0%,#fdeef4 55%,#eaf6fd 100%);border:2px solid #fff}
.cta-face{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 16px}
.cta-face img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.bubble{position:relative;background:#fff;border-radius:16px;padding:10px 16px;font-size:14px;font-weight:700;color:var(--navy);text-align:left;box-shadow:0 4px 12px rgba(0,0,0,.06);line-height:1.6}
.bubble::before{content:"";position:absolute;left:-8px;top:50%;margin-top:-8px;border:8px solid transparent;border-right-color:#fff;border-left:0}
.btn-mail{background:linear-gradient(135deg,#e8704a,#d0603a);border:0;color:#fff}
.btn-mail:hover{background:linear-gradient(135deg,#f0805a,#d86a44);transform:translateY(-2px)}
/* ご依頼の物語アニメ:メールが届く→走っていく→みんなが集まって講演会 */
.rstory{position:relative;height:170px;margin:-6px auto 6px;max-width:760px;cursor:pointer;overflow:hidden}
.rstory::after{content:"";position:absolute;left:4%;right:4%;bottom:14px;height:3px;border-radius:2px;background:#e8dfd4}
.rstory *{animation-play-state:paused}
.rstory.play *{animation-play-state:running}
.sa-staff{position:absolute;left:4%;bottom:16px;text-align:center}
.sa-staff i{display:block;width:34px;height:52px;margin:0 auto;background:radial-gradient(circle at 50% 14px,#f6d2b8 12px,transparent 13px),linear-gradient(#2d3a5c,#2d3a5c) center 28px/30px 24px no-repeat;border-radius:4px}
.sa-staff b{font-size:11px;color:var(--sub);font-weight:700}
.sa-mail{position:absolute;left:10%;bottom:60px;width:34px;height:34px;opacity:0;animation:saMail 1.6s ease-in-out .3s both}
.sa-mail svg{width:100%;height:100%}
@keyframes saMail{0%{opacity:0;left:10%;bottom:60px;transform:rotate(0)}10%{opacity:1}50%{bottom:130px;transform:rotate(-15deg)}95%{opacity:1}100%{opacity:0;left:84%;bottom:62px;transform:rotate(10deg) scale(.6)}}
.sa-ping{position:absolute;left:83%;bottom:118px;font-weight:800;color:#d64078;font-size:15px;opacity:0;animation:saPing .9s ease-out 1.8s both}
@keyframes saPing{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.2)}70%{opacity:1;transform:scale(1)}100%{opacity:0}}
.sa-hiroto{position:absolute;left:84%;bottom:16px;height:96px;animation:saRun 2.2s cubic-bezier(.5,0,.4,1) 2.5s both}
@keyframes saRun{0%{left:84%}10%{transform:translateY(-10px)}20%{transform:translateY(0)}35%{transform:translateY(-8px)}50%{transform:translateY(0)}65%{transform:translateY(-8px)}80%{transform:translateY(0)}100%{left:46%;transform:translateY(0)}}
.sa-podium{position:absolute;left:calc(46% + 58px);bottom:16px;width:38px;height:50px;background:linear-gradient(#c7a27a,#b08860);border-radius:4px 4px 0 0;opacity:0;animation:saPop .4s ease-out 4.6s both}
.sa-kid{position:absolute;left:var(--x);bottom:16px;width:22px;height:34px;opacity:0;background:radial-gradient(circle at 50% 8px,#f6d2b8 7px,transparent 8px),linear-gradient(var(--c),var(--c)) center 20px/18px 14px no-repeat;animation:saKid .6s ease-out calc(4.9s + var(--d)) both}
@keyframes saKid{0%{opacity:0;transform:translateY(30px)}70%{opacity:1;transform:translateY(-6px)}100%{opacity:1;transform:translateY(0)}}
@keyframes saPop{0%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.sa-heart{position:absolute;left:44%;bottom:118px;color:#d64078;font-size:22px;opacity:0;animation:saHeart 1.6s ease-out 5.8s both}
.sa-heart.h2{left:56%;color:#8cc8ea;animation-delay:6s}
@keyframes saHeart{0%{opacity:0;transform:translateY(10px) scale(.5)}40%{opacity:1;transform:translateY(-8px) scale(1.2)}100%{opacity:0;transform:translateY(-30px)}}
.cta-banzai{display:none}
@media(max-width:760px){.rstory{height:140px}.sa-hiroto{height:76px}}
@media (prefers-reduced-motion:reduce){.rstory *{animation:none!important;opacity:1!important}.sa-mail,.sa-ping,.sa-heart{display:none}.sa-hiroto{left:46%}}
.sa-podium{left:calc(46% + 92px)}
.sa-staff{animation:saStaff .8s ease-out 0s both}
@keyframes saStaff{0%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}}
.sa-staff i{background:radial-gradient(circle at 50% 14px,#f6d2b8 12px,transparent 13px),radial-gradient(circle at 44% 13px,#24242c 1.5px,transparent 2px),radial-gradient(circle at 56% 13px,#24242c 1.5px,transparent 2px),linear-gradient(#2d3a5c,#2d3a5c) center 28px/30px 24px no-repeat}
.sa-say{position:absolute;left:24px;bottom:66px;white-space:nowrap;background:#fff;border-radius:10px;padding:3px 8px;font-size:12px;font-weight:700;color:var(--navy);box-shadow:0 2px 6px rgba(0,0,0,.08);opacity:0;animation:saSay 1.4s ease-out 0s both}
@keyframes saSay{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:0}}
.sa-thanks{position:absolute;left:4%;bottom:90px;font-weight:800;font-size:13px;color:#d64078;opacity:0;animation:saPing 2s ease-out 6.2s both}
.sa-say{animation-duration:2.4s}
.rstory .sa-staff i{background:radial-gradient(circle at 42% 12px,#24242c 2px,transparent 2.5px),radial-gradient(circle at 58% 12px,#24242c 2px,transparent 2.5px),radial-gradient(ellipse 5px 3px at 50% 18px,#d64078 60%,transparent 62%),radial-gradient(circle at 50% 14px,#f6d2b8 12px,transparent 13px),linear-gradient(#2d3a5c,#2d3a5c) center 28px/30px 24px no-repeat}
.sa-staffsvg{display:block;width:40px;height:60px;margin:0 auto}
.sa-thx-me{position:absolute;left:calc(46% - 30px);bottom:116px;white-space:nowrap;background:#fff;border-radius:12px;padding:4px 10px;font-weight:800;font-size:13px;color:#d64078;box-shadow:0 2px 8px rgba(0,0,0,.08);opacity:0;animation:saSay2 3s ease-out 5.8s both}
.sa-thanks{left:3%;bottom:96px;white-space:nowrap;background:#fff;border-radius:12px;padding:4px 10px;box-shadow:0 2px 8px rgba(0,0,0,.08);color:var(--navy);font-size:12px;animation:saSay2 3s ease-out 6.6s both}
@keyframes saSay2{0%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1)}85%{opacity:1}100%{opacity:0}}
.sa-heart{bottom:150px}
.sa-heart{bottom:44px;font-size:20px}
.sa-thx-me{animation-delay:5.2s}
.cta-now{display:inline-block;background:#fff;border:2px solid #f4a7c4;border-radius:12px;padding:6px 14px;font-size:14px;font-weight:700;color:var(--navy);margin:0 0 6px}
.cta-voice{position:relative;height:64px;max-width:620px;margin:6px auto 14px}
.cta-voice span{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;font-size:14px;color:var(--ink);background:#fff;border-radius:12px;padding:8px 16px;opacity:0;animation:voiceCycle 15s infinite}
.cta-voice span:nth-child(2){animation-delay:5s}.cta-voice span:nth-child(3){animation-delay:10s}
.cta-voice small{font-size:12px;color:var(--sub)}
@keyframes voiceCycle{0%{opacity:0}4%{opacity:1}30%{opacity:1}34%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cta-voice span{animation:none}.cta-voice span:first-child{opacity:1}}
@media(max-width:760px){.cta-voice{height:84px}}
/* ご依頼ページのデザイン */
.theme-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto 26px}
.theme-chips span{background:linear-gradient(135deg,#fff,#fdf3f7);border:1px solid #f4cfdd;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;color:var(--navy)}
.fmt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fmt>div{background:#fff;border-radius:16px;padding:18px;text-align:center;box-shadow:var(--shadow);border-top:4px solid #8cc8ea}
.fmt>div:nth-child(2){border-top-color:#f4a7c4}.fmt>div:nth-child(3){border-top-color:#a6dcb4}.fmt>div:nth-child(4){border-top-color:#ffd27a}
.fmt b{display:block;font-size:16px;margin-bottom:4px}.fmt span{font-size:13px;color:var(--sub)}
.stepper{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;position:relative}
.stepper::before{content:"";position:absolute;left:8%;right:8%;top:26px;height:3px;background:repeating-linear-gradient(90deg,#f4a7c4 0 10px,transparent 10px 18px)}
.stepper li{position:relative;text-align:center;background:#fff;border-radius:16px;padding:58px 12px 16px;box-shadow:var(--shadow)}
.stepper i{position:absolute;left:50%;top:-4px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#e8704a,#d0603a);color:#fff;font-style:normal;font:800 22px "Zen Maru Gothic",sans-serif;display:grid;place-items:center;border:4px solid #fff;box-shadow:0 4px 10px rgba(208,96,58,.3)}
.stepper b{display:block;font-size:15px;color:var(--navy)}.stepper span{font-size:12.5px;color:var(--sub)}
.form-card{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);border-radius:26px;overflow:hidden;box-shadow:0 20px 50px rgba(30,30,60,.12);background:#fff}
.form-side{background:linear-gradient(160deg,#eaf6fd,#fdeef4);padding:34px 28px;text-align:center}
.form-side img{width:110px;height:110px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.form-side h2{font-size:22px;margin:14px 0 8px}.form-side p{font-size:14px}
.form-side ul{list-style:none;padding:0;margin:16px 0 0;text-align:left;display:grid;gap:8px}
.form-side li{background:#fff;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:700;color:var(--navy)}.form-side li::before{content:"✓ ";color:#2e9d6a}
.cform{padding:30px 32px;display:grid;gap:16px}
.cform label{display:grid;gap:6px;font-size:14px;font-weight:700;color:var(--navy)}
.cform em{font-style:normal;background:#d64078;color:#fff;border-radius:4px;padding:0 6px;font-size:11px;margin-left:4px;vertical-align:1px}
.cform input,.cform textarea{width:100%;padding:13px 14px;border:1.5px solid #e2dcd3;border-radius:12px;font:inherit;font-weight:400;background:#fcfbf9;transition:border .2s,box-shadow .2s}
.cform input:focus,.cform textarea:focus{outline:0;border-color:#8cc8ea;box-shadow:0 0 0 4px rgba(140,200,234,.25);background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kind{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.kind legend{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:6px}
.kind label{display:inline-block}.kind input{position:absolute;opacity:0;width:0}
.kind span{display:inline-block;border:1.5px solid #e2dcd3;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;background:#fff}
.kind input:checked+span{background:#2d3a5c;color:#fff;border-color:#2d3a5c}
.cform .btn-mail{justify-self:center;margin-top:6px}
.consult h2{font-size:20px}
@media(max-width:860px){.fmt{grid-template-columns:repeat(2,1fr)}.stepper{grid-template-columns:1fr;gap:28px}.stepper::before{display:none}.form-card{grid-template-columns:1fr}.row2{grid-template-columns:1fr}.cform{padding:24px 20px}}
.cform label{display:block}.cform label input,.cform label textarea{display:block;margin-top:6px}
.care{background:#fff;border-left:4px solid #f4a7c4;border-radius:10px;padding:12px 16px;font-size:15px;color:var(--navy)}
.tour img[src*="flowers-gym"]{object-position:50% 12%}.tour img[src*="walk-audience"]{object-position:50% 25%}.tour img[src*="koryo-shikishi"]{object-position:50% 20%}

/* 検索の入口(講師をお探しの方へ)4つのカード */
.hubs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hub{display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px 18px;text-decoration:none;color:inherit;border-top:6px solid var(--hc);box-shadow:0 6px 18px rgba(0,0,0,.07);transition:transform .15s,box-shadow .15s}
.hub:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.12)}
.hub-ic{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--hc) 15%,#fff);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:12px}
.hub h3{margin:0 0 8px;font-size:17px;color:var(--hc)}
.hub p{margin:0;font-size:14px;color:var(--sub,#5b6270);flex:1}
.hub-go{margin-top:12px;font-weight:700;color:var(--hc);font-size:14px}
@media(max-width:900px){.hubs{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hubs{grid-template-columns:1fr}}

/* WHY:テレビ・吉本を先頭に(2026-11-03)/専門性3つ/著書はすべて */
.why-media{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.why3{grid-template-columns:repeat(3,1fr)!important;margin-bottom:18px}
.wt-covers-all{display:grid!important;grid-template-columns:repeat(5,1fr);gap:8px}
.wt-covers-all img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#fff}
.hubs{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.why-media,.why3{grid-template-columns:1fr!important}.wt-covers-all{grid-template-columns:repeat(4,1fr)}.hubs{grid-template-columns:1fr 1fr}}

/* ロゴの名前が折り返さないように(2026-11-03) */
.logo{flex-shrink:0;white-space:nowrap;margin-right:12px}
.logo b,.logo span{white-space:nowrap}
.site-header .wrap{gap:8px}
.gnav{flex-wrap:nowrap;min-width:0}
@media (max-width:1100px) and (min-width:901px){ .gnav a{font-size:12px;padding:6px 5px} .logo b{font-size:18px} }
/* 900〜1060pxではメニューが入りきらないので、メニューボタンに切りかえる(2026-11-03) */
@media (max-width:1060px){
  .site-header .wrap{position:relative}
  .gnav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 20px;border-bottom:1px solid var(--line);z-index:20}
  .gnav.open{display:flex}
  .gnav a{padding:12px;font-size:15px}
  .menu-btn{display:block}
}

/* フッターの協会バナー(2026-11-03 作り直し) */
.site-footer a.kyokai-bnr{display:block;margin-top:14px;background:#fff;border-radius:16px;padding:16px;text-decoration:none;color:#24242c;border-top:6px solid;border-image:linear-gradient(90deg,#e4572e,#f3a712,#76b041,#2e86ab,#8e5ea2) 1;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .15s}
.site-footer a.kyokai-bnr:hover{transform:translateY(-3px)}
.kyokai-bnr .kb-top{display:flex;gap:12px;align-items:center}
.kyokai-bnr svg{width:52px;height:52px;flex:0 0 52px}
.site-footer .kyokai-bnr small{display:block;font-size:12px;color:#5b6270}
.site-footer .kyokai-bnr b{display:block;font-size:16px;color:#24242c;margin-top:2px}
.kyokai-bnr .kb-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 10px}
.kyokai-bnr .kb-tags i{font-style:normal;font-size:12px;background:#f4f1fb;color:#6b4c9a;border-radius:999px;padding:3px 10px;font-weight:700}
.site-footer .kyokai-bnr .kb-go{display:block;text-align:center;background:#d0603a;color:#fff;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:700}
/* 協会バナーが細い列でも読みやすいように */
.kyokai-bnr .kb-top{flex-direction:column;align-items:flex-start;gap:8px}
.kyokai-bnr svg{width:44px;height:44px;flex:none}
.site-footer .kyokai-bnr b{font-size:15px;line-height:1.4}
.site-footer .kyokai-bnr .kb-go{font-size:13px;padding:8px 10px}
@media (max-width:1100px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.site-footer .cols{grid-template-columns:1fr}}

.cform fieldset.dates{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px}.cform fieldset.dates legend{font-weight:700;padding:0 6px}.cform .note2{font-size:13px;color:var(--sub);margin:0 0 8px}

.form-side .mailnote{background:#fff7ec;border-left:4px solid #d0603a;border-radius:8px;padding:10px 12px;font-size:13.5px;margin-top:12px}

/* 全国各地のトップ(/area/)2026-11-03 */
.area-hero{background:linear-gradient(135deg,#2c3e7a,#6a4c9c 55%,#d64078);color:#fff;padding:46px 0 40px}
.area-hero .crumb,.area-hero .crumb a{color:#e8e2f5}
.area-hero h1{font-family:"Zen Maru Gothic",sans-serif;font-size:clamp(28px,4.2vw,44px);line-height:1.3;margin:10px 0 12px}
.area-hero p{max-width:760px;color:#f1ecfa}
.area-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;max-width:760px}
.area-stats div{background:rgba(255,255,255,.14);border-radius:14px;padding:12px;text-align:center}
.area-stats b{display:block;font-size:28px;font-family:"Zen Maru Gothic",sans-serif}.area-stats span{font-size:12.5px;color:#f1ecfa}
.amap{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;max-width:900px;margin:0 auto}
.amap .jt{border:0;cursor:pointer;aspect-ratio:1/1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;transition:transform .15s,box-shadow .15s}
.amap .jt:hover,.amap .jt:focus-visible{transform:scale(1.12);box-shadow:0 6px 16px rgba(0,0,0,.2);z-index:2}
.amap .jt b{font-size:12px}.amap .jt i{font-style:normal;font-size:10.5px;opacity:.85}
.regs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reg{background:#fff;border-radius:16px;padding:14px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.reg-h{display:flex;justify-content:space-between;align-items:baseline;text-decoration:none;color:var(--ink);border-bottom:2px solid var(--soft);padding-bottom:6px;margin-bottom:8px}
.reg-h b{font-size:17px}.reg-h span{color:var(--accent);font-weight:700;font-size:14px}
.reg-p{display:flex;flex-wrap:wrap;gap:6px}.reg-p a{font-size:13px;text-decoration:none;color:var(--ink);background:var(--soft);border-radius:999px;padding:3px 10px}.reg-p a small{margin-left:4px;color:var(--accent);font-weight:700}
.area-news{list-style:none;padding:0;max-width:860px;margin:0 auto;display:grid;gap:8px}
.area-news li{background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 2px 8px rgba(0,0,0,.05);font-size:14.5px}
.area-news time{font-weight:700;color:var(--accent);margin-right:8px}.np-pf{display:inline-block;background:#efe9f8;color:#6a4c9c;border-radius:6px;padding:0 8px;margin-right:8px;font-size:12.5px;font-weight:700}
.amodal{position:fixed;inset:0;background:rgba(20,16,40,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;opacity:0;transition:opacity .2s}
.amodal.show{opacity:1}.amodal[hidden]{display:none}
.am-box{background:#fff;border-radius:22px;max-width:640px;width:100%;max-height:86vh;overflow:auto;padding:26px 24px;position:relative;transform:scale(.85);transition:transform .25s cubic-bezier(.2,1.4,.4,1)}
.amodal.show .am-box{transform:scale(1)}
.am-x{position:absolute;right:12px;top:10px;border:0;background:var(--soft);width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer}
.am-r{margin:0;color:var(--sub);font-size:13px}
.am-box h3{margin:2px 0 12px;font-size:26px;font-family:"Zen Maru Gothic",sans-serif}.am-box h3 span{font-size:14px;color:#fff;background:var(--accent);border-radius:999px;padding:3px 12px;margin-left:10px;vertical-align:middle}
.am-box h4{margin:14px 0 6px;font-size:15px}
.am-l{list-style:none;padding:0;margin:0;display:grid;gap:6px}.am-l li{background:#faf7f2;border-radius:10px;padding:8px 12px;font-size:14px}.am-l b{color:var(--accent);margin-right:8px}
.am-n li{background:#f3eefb}
.am-go{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){.regs{grid-template-columns:1fr 1fr}.area-stats{grid-template-columns:1fr 1fr}.amap{gap:3px}.amap .jt b{font-size:9.5px}.amap .jt i{font-size:9px}}
@media(max-width:520px){.regs{grid-template-columns:1fr}}

/* 世界(回る地球)2026-11-03 */
.world-sec{background:linear-gradient(180deg,#eef6ff,#fff)}
.world-grid{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center}
.globe-wrap{text-align:center}.globe{width:260px;height:260px;filter:drop-shadow(0 12px 24px rgba(29,95,174,.3))}
.globe-land{animation:spin 18s linear infinite}
@keyframes spin{from{transform:translateX(0)}to{transform:translateX(-200px)}}
.ping{transform-origin:150px 78px;animation:ping 1.8s ease-out infinite}
@keyframes ping{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.globe-cap{font-weight:700;color:#1d5fae;margin-top:6px}
.world-list{display:grid;gap:10px}.world-list .wd{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 3px 10px rgba(0,0,0,.06);border-left:5px solid #2e86ab}
.world-list .wd b{display:block;color:#1d5fae}.world-list .wd span{font-size:14px}
@media(max-width:800px){.world-grid{grid-template-columns:1fr}.globe{width:200px;height:200px}}
@media(prefers-reduced-motion:reduce){.globe-land,.ping{animation:none}}

.sch-gal{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:0 0 26px}.sch-gal figure{margin:0}.sch-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.sch-gal figcaption{font-size:13px;color:var(--sub);text-align:center;margin-top:4px}@media(max-width:760px){.sch-gal{grid-template-columns:1fr}}
.stats>div{padding-top:12px}.stats .sico{display:block;width:120px;height:100px;margin:0 auto 4px}.stats .sico svg{width:120px;height:100px;overflow:visible}
.stats>div:hover .sico svg{animation:sbob 1.2s ease-in-out infinite}@keyframes sbob{50%{transform:translateY(-4px)}}
.stats .plane{animation:splane 3s ease-in-out infinite}@keyframes splane{50%{transform:translate(92px,24px) rotate(-30deg)}}
.titles span{display:inline-flex;align-items:center;gap:6px}.titles .tico{display:inline-flex;width:22px;height:22px;flex:none}.titles .tico svg{width:22px;height:22px}.titles span:hover .tico svg{animation:sbob 1s ease-in-out infinite}
.tflag{width:30px;height:20px;vertical-align:-4px;margin-right:6px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.hero .badge{display:flex;align-items:center;gap:8px}.bglobe svg{animation:none}.hero .bmap{display:block;flex:none;width:96px;height:80px}.hero .bmap svg{width:96px;height:80px}
@media(max-width:760px){.hero .bmap,.hero .bmap svg{width:72px;height:60px}}
.bk-tvlabel{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--sub)}
.bk-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}
.bk-media span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;border:0;border-radius:16px;padding:12px 8px 12px;background:#fff;box-shadow:var(--shadow);font-size:14px;font-weight:700;line-height:1.35;transition:transform .2s}
.bk-media span.c1{background:linear-gradient(180deg,#eef8ff,#fff)}.bk-media span.c2{background:linear-gradient(180deg,#fff7e3,#fff)}.bk-media span.c3{background:linear-gradient(180deg,#fff0f4,#fff)}
.bk-media span:hover{transform:translateY(-3px)}.bk-media i{display:block;width:54px;height:50px}.bk-media i svg{width:54px;height:50px}
.bk-media em{font-style:normal;font-size:11px;font-weight:700;color:var(--sub)}.bk-media b{font-size:14px}
@media(max-width:560px){.bk-media{gap:6px}.bk-media b{font-size:12px}.bk-media i,.bk-media i svg{width:44px;height:40px}}
.bk-tvlabel{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.onair{display:inline-flex;align-items:center;gap:5px;background:#e4572e;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:6px;padding:3px 8px}.onair::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}
.bk-media span{border:2px solid transparent}.bk-media span.c1{border-color:#cfeaff}.bk-media span.c2{border-color:#ffe8b0}.bk-media span.c3{border-color:#ffd6e1}.bk-media i,.bk-media i svg{width:64px;height:58px}
.globe3d{width:150px;height:150px;flex:none;overflow:visible;filter:drop-shadow(0 0 22px rgba(120,190,255,.55));animation:gfloat 6s ease-in-out infinite}@keyframes gfloat{50%{transform:translateY(-6px)}}
.doc-more{display:inline-block;margin-top:12px;color:#ffd27a;font-weight:700;font-size:14px}.doc-more:hover{color:#fff}
@media (max-width:700px){.globe3d{width:110px;height:110px}}
@media (prefers-reduced-motion:reduce){.globe3d{animation:none}}
.pcard{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.pcard:hover{transform:translateY(-4px)}
.pc-img{position:relative;aspect-ratio:16/10;background:#eee}.pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.pc-ico{position:absolute;left:18px;bottom:-26px;width:56px;height:56px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.12)}.pc-ico svg{width:34px;height:34px}
.pc-body{padding:36px 24px 24px}
@media(max-width:900px){.cards:has(.pcard){grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards:has(.pcard){grid-template-columns:1fr}}
