/*
Theme Name: Cocoon Child
Template: cocoon-master
Description: 困りごと起点の知育メディア用 Cocoon 子テーマ(母親向けのやさしいデザイン)
Version: 1.1.0
*/

:root {
  --c-bg: #fffaf3;
  --c-text: #4a4038;
  --c-sub: #7a6d62;
  --c-main: #f2a65a;      /* やさしいオレンジ */
  --c-main-d: #e08a3a;
  --c-green: #7fb685;
  --c-pink: #f7d9d0;
  --c-cream: #fff3e0;
  --c-line: #eadfd2;
  --radius: 16px;
}

body { background: var(--c-bg); color: var(--c-text); line-height: 1.95; font-size: 16.5px; letter-spacing: .02em; }
.entry-content, .article { color: var(--c-text); }
a { color: #c26a1f; }

/* 見出し:やさしい線とマーカー */
.article h2 { background: var(--c-cream); border: none; border-left: 8px solid var(--c-main); border-radius: 0 var(--radius) var(--radius) 0; padding: 14px 18px; font-size: 1.3em; margin: 2.2em 0 1em; }
.article h3 { border: none; border-bottom: 3px dotted var(--c-main); padding: 4px 2px 8px; font-size: 1.15em; margin: 1.8em 0 .8em; }
.article strong { background: linear-gradient(transparent 60%, #ffe2b8 60%); }

/* 記事タイトル */
.entry-title { font-size: 1.6em; line-height: 1.5; }

/* 広告表記 */
.codomo-pr { font-size: .82em; color: var(--c-sub); background: #f5efe6; padding: 8px 14px; border-radius: 999px; display: inline-block; margin-bottom: 1em; }

/* 商品カード:Amazonリンク */
.codomo-card { border: 2px solid var(--c-line); border-radius: var(--radius); padding: 18px 18px 20px; margin: 22px 0; background: #fff; box-shadow: 0 4px 0 var(--c-line); }
.codomo-card__title { font-weight: 700; font-size: 1.12em; margin-bottom: 8px; color: var(--c-text); }
.codomo-card__title::before { content: "🧸 "; }
.codomo-card__meta { display: inline-block; font-size: .85em; background: var(--c-cream); border-radius: 999px; padding: 2px 12px; margin-bottom: 10px; color: var(--c-sub); }
.codomo-card__point { margin: 6px 0 10px; line-height: 1.85; }
.codomo-card__note { font-size: .88em; color: var(--c-sub); background: #faf5ee; border-radius: 10px; padding: 8px 12px; margin-bottom: 14px; }
.codomo-card__note::before { content: "⚠️ "; }
.codomo-card__btn { display: block; text-align: center; background: var(--c-main); color: #fff !important; padding: 14px 20px; border-radius: 999px; text-decoration: none; font-weight: 700; box-shadow: 0 4px 0 var(--c-main-d); transition: transform .1s; }
.codomo-card__btn:hover { opacity: .95; transform: translateY(2px); box-shadow: 0 2px 0 var(--c-main-d); }

/* 専門機関案内 */
.codomo-consult { border-radius: var(--radius); background: #eef6ee; border: 2px solid #cfe5d1; padding: 16px 18px; margin: 28px 0; font-size: .94em; color: #3f5a43; }
.codomo-consult::before { content: "🌱 "; }

/* トップの入口カード */
.codomo-lead { text-align: center; font-size: 1.05em; line-height: 2; margin: 1em 0 1.6em; }
.codomo-entry { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 20px 0 32px; }
.codomo-entry a { display: block; padding: 20px 14px; border: 2px solid var(--c-line); border-radius: var(--radius); text-align: center; text-decoration: none; background: #fff; color: var(--c-text); font-weight: 700; box-shadow: 0 4px 0 var(--c-line); }
.codomo-entry a small { display: block; font-weight: 400; color: var(--c-sub); margin-top: 6px; font-size: .82em; }
.codomo-entry a:hover { background: var(--c-cream); }
.codomo-band { background: var(--c-pink); border-radius: var(--radius); padding: 18px 20px; text-align: center; margin: 28px 0; }

/* 教室導線ボックス */
.codomo-cta { border: 2px dashed var(--c-main); border-radius: var(--radius); padding: 18px; background: var(--c-cream); margin: 30px 0; text-align: center; }
.codomo-cta strong { background: none; }

/* フッター */
.codomo-footer-disclosure { text-align: center; font-size: .8em; color: var(--c-sub); padding: 14px; }

/* スマホ最適化 */
@media (max-width: 600px) {
  body { font-size: 16px; }
  .article h2 { font-size: 1.18em; padding: 12px 14px; }
  .entry-title { font-size: 1.35em; }
  .codomo-entry { grid-template-columns: 1fr 1fr; gap: 10px; }
  .codomo-entry a { padding: 16px 8px; font-size: .95em; }
}

/* 比較表 */
.article table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 20px 0; font-size: .92em; display: block; overflow-x: auto; }
.article table th { background: var(--c-main); color: #fff; padding: 10px 12px; text-align: left; white-space: nowrap; }
.article table td { background: #fff; padding: 10px 12px; border-bottom: 1px solid var(--c-line); vertical-align: top; }
.article table tr:nth-child(even) td { background: #fffaf3; }
.codomo-card__foot { font-size: .78em; color: var(--c-sub); margin-top: 10px; line-height: 1.6; }

/* トップページ・固定ページ:不要な要素を隠す */
.home .entry-title, .home .sns-share, .home .sns-follow, .home .toc, .home .date-tags, .home .post-date, .home .article-footer, .home .breadcrumb { display: none !important; }
.page .sns-share, .page .sns-follow, .page .date-tags, .page .post-date { display: none !important; }
.home .article { padding-top: 1em; }


/* Brand refresh 3.0 */
:root{--ink:#24303d;--coral:#f47c63;--coral-d:#d85c45;--yellow:#f5c85b;--mint:#87c9b8;--sky:#a9d5e8;--cream:#fff8ee;--white:#fffefd;--line:#eadfd3;--shadow:0 18px 50px rgba(49,55,61,.09)}
body{color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}.header-container{background:rgba(255,254,253,.97);border-bottom:1px solid rgba(36,48,61,.08)}.header-container-in.hlt-center-logo{min-height:auto}.logo-header{padding:21px 12px 14px}.logo-header .site-name-text{display:inline-flex!important;align-items:center;justify-content:center;gap:17px;color:var(--ink)!important;font-size:2rem!important;font-weight:800!important;letter-spacing:.02em}.logo-header .site-name-text:before{content:"";width:76px;height:76px;flex:0 0 76px;border-radius:22px;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:68px;box-shadow:0 8px 22px rgba(36,48,61,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='9' y='42' width='36' height='36' rx='10' fill='%23F47C63'/%3E%3Ccircle cx='69' cy='62' r='19' fill='%23F5C85B'/%3E%3Cpath d='M28 12h43c11 0 19 8 19 19v25c0 11-8 19-19 19H54L41 90l2-15H28C17 75 9 67 9 56V31c0-11 8-19 19-19Z' fill='%2387C9B8'/%3E%3Ccircle cx='39' cy='41' r='3.5' fill='%2324303D'/%3E%3Ccircle cx='57' cy='41' r='3.5' fill='%2324303D'/%3E%3Cpath d='M38 53c6 7 14 7 20 0' fill='none' stroke='%2324303D' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E")}.tagline{margin:0!important;color:#746b64!important;font-size:.78rem!important;letter-spacing:.08em}.navi{background:var(--white);box-shadow:0 7px 20px rgba(36,48,61,.04)}.navi-in>ul{justify-content:center;gap:10px}.navi-in>ul>li>a{min-height:54px;padding:0 22px;color:var(--ink);font-size:.94rem;font-weight:700;border-radius:12px}.navi-in>ul>li>a:hover{color:var(--coral-d);background:#fff1eb}.content-in{max-width:1280px}.home #content{margin-top:34px}.home #main{width:100%;padding:0;background:transparent;box-shadow:none;border:0}.home #sidebar{display:none}.home .main{background:transparent}.home .article{padding:0 18px 48px}.codomo-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);min-height:470px;gap:50px;align-items:center;padding:58px clamp(32px,6vw,76px);margin:0 0 22px;background:linear-gradient(125deg,#fff0e8 0%,#fff9e9 52%,#e8f5f0 100%);border:1px solid rgba(36,48,61,.06);border-radius:38px;box-shadow:var(--shadow);overflow:hidden;isolation:isolate}.codomo-hero:before{content:"";position:absolute;width:240px;height:240px;border:55px solid rgba(255,255,255,.48);border-radius:50%;left:-90px;bottom:-120px;z-index:-1}.codomo-hero:after{content:"";position:absolute;inset:14px;border:1px dashed rgba(36,48,61,.1);border-radius:28px;pointer-events:none}.codomo-eyebrow,.codomo-section__head span,.codomo-class>span{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--coral-d)}.codomo-eyebrow{background:#fff;border:1px solid #f2c7bc;border-radius:999px;padding:5px 13px}.codomo-hero h1{color:var(--ink);font-weight:800;letter-spacing:-.035em;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.23;margin:.3em 0}.codomo-hero h1 em{color:var(--coral-d);font-style:normal;position:relative;z-index:0}.codomo-hero h1 em:after{content:"";position:absolute;height:.2em;left:-.04em;right:-.04em;bottom:.02em;background:var(--yellow);opacity:.7;border-radius:999px;z-index:-1}.codomo-hero p{max-width:39em;font-size:1.02rem;line-height:2;color:#53606a}.codomo-hero__cta{display:inline-block;background:var(--ink);color:#fff!important;text-decoration:none;font-weight:800;padding:15px 25px;border-radius:14px;margin-top:8px;box-shadow:0 6px 0 #111820;transition:.18s}.codomo-hero__cta:after{content:"  →"}.codomo-hero__visual{position:relative;min-height:330px;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.9);border-radius:47% 53% 42% 58%/50% 42% 58% 50%;box-shadow:0 22px 55px rgba(58,77,73,.14)}.codomo-hero__bubble small{display:block;color:var(--coral-d);font-size:.72rem;font-weight:800}.codomo-hero__bubble p{margin:.25em 0 0;color:var(--ink);font-size:1.35rem;font-weight:800;line-height:1.55}.toy{position:absolute;display:grid;place-content:center;font-weight:900}.toy--block{width:72px;height:72px;background:var(--coral);color:#fff;left:-16px;top:45px;transform:rotate(-8deg);border-radius:15px;box-shadow:0 8px 0 var(--coral-d)}.toy--ball{width:66px;height:66px;border-radius:50%;background:var(--yellow);right:5px;top:12px}.toy--card{width:62px;height:82px;background:var(--mint);color:var(--ink);right:-9px;bottom:25px;border-radius:14px;transform:rotate(9deg);box-shadow:0 7px 0 #5da998}.codomo-path{display:grid;grid-template-columns:auto repeat(3,1fr);gap:10px;align-items:stretch;margin:0 0 58px}.codomo-path>span{display:grid;place-content:center;padding:0 18px;color:#7b6a60;font-size:.78rem;font-weight:800;writing-mode:vertical-rl;letter-spacing:.12em}.codomo-path a{position:relative;display:flex;flex-direction:column;padding:18px 44px 18px 20px;color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 0 #e8ded4;transition:.18s}.codomo-path a:after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--coral-d);font-size:1.25rem}.codomo-path a small{color:#776e68;font-size:.76rem;margin-top:2px}.codomo-section{margin:64px 0}.codomo-section__head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px;padding:0 6px}.codomo-section__head h2{border:0!important;margin:.1em 0!important;padding:0!important;background:transparent!important;color:var(--ink)!important;font-size:clamp(1.45rem,3.5vw,2rem)!important;font-weight:800!important}.codomo-section__head p{max-width:30em;color:#746b64;font-size:.92em}.codomo-entry{display:grid;gap:16px}.codomo-entry--trouble,.codomo-entry--genre{grid-template-columns:repeat(4,1fr)}.codomo-entry a{position:relative;display:flex;flex-direction:column;min-height:168px;padding:20px;text-align:left;border:0;border-radius:22px;text-decoration:none;color:var(--ink);font-weight:800;box-shadow:0 8px 0 rgba(36,48,61,.09);overflow:hidden;transition:.18s}.codomo-entry a:hover{transform:translateY(-3px)}.codomo-entry a:before{content:"";position:absolute;width:90px;height:90px;border:22px solid rgba(255,255,255,.36);border-radius:50%;right:-32px;top:-34px}.codomo-entry a strong{margin-top:24px;color:var(--ink);background:none;font-size:1.02rem;line-height:1.5}.codomo-entry a b{display:block;width:max-content;background:rgba(255,255,255,.72);color:#5c514a;border-radius:999px;font-size:.74rem;padding:2px 9px;margin-bottom:auto}.codomo-entry a small{display:block;margin-top:4px;color:#665f5a;font-size:.8em;font-weight:500}.codomo-entry a i{position:absolute;right:17px;bottom:13px;width:30px;height:30px;display:grid;place-content:center;background:rgba(255,255,255,.8);border-radius:50%;font-style:normal}.is-coral{background:#f9d5cc!important}.is-yellow{background:#f8e6a8!important}.is-blue{background:#d8ebf3!important}.is-mint{background:#d7eee5!important}.is-violet{background:#e3def2!important}.is-pink{background:#f5dce3!important}.is-teal{background:#cfe9e5!important}.is-orange{background:#f8dccb!important}.codomo-entry--genre a{min-height:125px;justify-content:center;background:#fff;border:1px solid var(--line);text-align:center}.codomo-entry--genre a:nth-child(1){border-top:6px solid var(--coral)}.codomo-entry--genre a:nth-child(2){border-top:6px solid var(--yellow)}.codomo-entry--genre a:nth-child(3){border-top:6px solid var(--mint)}.codomo-entry--genre a:nth-child(4){border-top:6px solid var(--sky)}.codomo-proof{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#edf6f2;border:1px solid #cee5dc;padding:28px 32px;border-radius:22px}.codomo-proof p{margin:.4em 0 0;max-width:45em;color:#506158;font-size:.9em}.codomo-proof a{white-space:nowrap;font-weight:800}.codomo-class{margin:54px 0;background:linear-gradient(135deg,#24303d,#34485a);color:#fff;border-radius:30px;padding:clamp(28px,6vw,54px);box-shadow:var(--shadow)}.codomo-class h2{color:#fff!important;background:none!important;border:0!important;padding:0!important;margin:.35em 0!important}.codomo-class p{color:#e8ddd5}.codomo-class>span{color:var(--yellow)}.codomo-class a{display:inline-block;background:var(--yellow);color:var(--ink)!important;text-decoration:none;font-weight:800;border-radius:12px;padding:10px 16px;margin:7px 8px 0 0;box-shadow:0 4px 0 #c99a2f}.footer{background:var(--ink);color:#e9edef}.footer a{color:#fff}.codomo-footer-disclosure{background:#1a232d;color:#dfe5e8}
@media(max-width:800px){.codomo-entry--trouble,.codomo-entry--genre{grid-template-columns:repeat(2,1fr)}.codomo-hero{grid-template-columns:1fr;min-height:auto;padding:44px 30px}.codomo-hero__visual{display:none}.codomo-section__head{display:block}.codomo-proof{display:block}.codomo-path{grid-template-columns:1fr 1fr}.codomo-path>span{grid-column:1/-1;writing-mode:horizontal-tb;padding:0 2px;justify-content:start}.codomo-path a:last-child{grid-column:1/-1}}
@media(max-width:480px){.logo-header{padding:10px 6px}.logo-header .site-name-text{gap:10px;font-size:1.12rem!important}.logo-header .site-name-text:before{width:54px;height:54px;flex-basis:54px;background-size:50px;border-radius:16px}.tagline{font-size:.66rem!important}.navi-in>ul>li>a{padding:0 9px;font-size:.8rem}.home .article{padding-left:10px;padding-right:10px}.codomo-hero{padding:34px 23px;border-radius:25px}.codomo-hero h1{font-size:2.12rem}.codomo-hero p{font-size:.94rem}.codomo-path{grid-template-columns:1fr}.codomo-path a:last-child{grid-column:auto}.codomo-entry a{min-height:156px;padding:15px}.codomo-entry a strong{margin-top:20px;font-size:.93rem}.codomo-entry a small{font-size:.74rem}.codomo-section{margin:52px 0}.codomo-proof{padding:22px}.codomo-class{padding:30px 23px}}


/* v3.1: 375px基準のスマホ調整 */
.codomo-hero h1 span,.codomo-hero h1 em{display:block}
@media(max-width:600px){
  .header-container-in{min-height:auto!important}.logo-header{padding:9px 6px 7px!important}.tagline{display:none!important}
  .logo-header .site-name-text{height:auto!important;min-height:52px;width:auto!important;font-size:1.05rem!important;line-height:1.3!important;gap:9px!important;white-space:nowrap}
  .logo-header .site-name-text:before{width:50px!important;height:50px!important;flex:0 0 50px!important;background-size:47px!important;border-radius:15px!important}
  .navi-in>ul{gap:0!important;flex-wrap:nowrap!important}.navi-in>ul>li{width:auto!important;flex:1 1 0}.navi-in>ul>li>a{min-height:44px!important;padding:0 4px!important;font-size:.72rem!important;white-space:nowrap}
  .home #content{margin-top:12px!important}.home .article{padding:0 9px 36px!important}
  .codomo-hero{display:block!important;min-height:0!important;padding:30px 21px 28px!important;border-radius:24px!important;margin-bottom:14px!important}
  .codomo-hero:after{inset:8px!important;border-radius:18px!important}.codomo-eyebrow{font-size:.68rem!important;padding:4px 10px!important}
  .codomo-hero h1{font-size:clamp(1.72rem,8.2vw,2rem)!important;line-height:1.28!important;letter-spacing:-.035em!important;margin:.55em 0 .6em!important}
  .codomo-hero h1 span,.codomo-hero h1 em{display:block!important}.codomo-hero h1 em{width:max-content;max-width:100%;margin:.08em 0}
  .codomo-hero p{font-size:.91rem!important;line-height:1.82!important;margin:0 0 1em!important}.codomo-hero__cta{width:100%;text-align:center;padding:13px 14px!important}
  .codomo-hero__visual{display:none!important}.codomo-path{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:45px!important}
  .codomo-path>span{grid-column:auto!important;writing-mode:horizontal-tb!important;place-content:start!important;padding:4px 2px!important}.codomo-path a,.codomo-path a:last-child{grid-column:auto!important;padding:14px 42px 14px 16px!important}
  .codomo-section{margin:46px 0!important}.codomo-section__head{display:block!important;margin-bottom:16px!important}.codomo-section__head h2{font-size:1.38rem!important;line-height:1.45!important}.codomo-section__head p{font-size:.85rem!important;margin-top:.45em!important}
  .codomo-entry--trouble{grid-template-columns:1fr 1fr!important;gap:9px!important}.codomo-entry--trouble a{min-height:146px!important;padding:14px 12px!important}.codomo-entry a strong{font-size:.91rem!important;line-height:1.45!important;margin-top:18px!important}.codomo-entry a small{font-size:.72rem!important;line-height:1.45!important;padding-right:20px}.codomo-entry a i{right:10px!important;bottom:10px!important;width:26px!important;height:26px!important}
  .codomo-entry--genre{grid-template-columns:1fr 1fr!important;gap:9px!important}.codomo-entry--genre a{min-height:104px!important;padding:13px 8px!important;text-align:center!important;justify-content:center!important}
  .codomo-proof{display:block!important;padding:20px 18px!important}.codomo-proof p{font-size:.84rem!important;line-height:1.75!important}.codomo-proof a{display:inline-block;margin-top:10px}
  .codomo-class{padding:28px 21px!important;border-radius:22px!important}.codomo-class h2{font-size:1.35rem!important;line-height:1.5!important}.codomo-class a{display:block!important;text-align:center!important;margin:8px 0 0!important}
}
@media(max-width:360px){.logo-header .site-name-text{font-size:.93rem!important}.logo-header .site-name-text:before{width:44px!important;height:44px!important;flex-basis:44px!important}.navi-in>ul>li>a{font-size:.66rem!important}.codomo-entry--trouble{grid-template-columns:1fr!important}.codomo-entry--trouble a{min-height:118px!important}.codomo-entry a strong{margin-top:12px!important}}
