/*
Theme Name: Cocoon Child - Monarch
Theme URI:
Description: Cocoon子テーマ - Monarchデザインシステム適用版（保険ラボ用）
Author: hokenlabo.jp
Author URI:
Template: cocoon-master
Version: 1.0.0
*/

:root {
  --color-monarch-flame:   #ff692d;
  --color-burnt-orange:    #f35b16;
  --color-sunny-glow:      #ffbc0b;
  --color-porcelain-white: #ffffff;
  --color-canvas-oat:      #efecea;
  --color-slate-border:    #dcd9d6;
  --color-deep-charcoal:   #22201d;
  --color-muted-stone:     #777573;
  --color-light-gray:      #cccccc;
  --font-heading: 'Noto Serif JP', 'Georgia', serif;
  --font-body:    'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
  --text-caption: 14px; --text-body: 16px; --text-subheading: 20px;
  --text-heading: 32px; --text-heading-lg: 40px; --text-display: 48px;
  --leading-body: 1.8; --leading-heading: 1.3;
  --spacing-8:8px; --spacing-16:16px; --spacing-24:24px; --spacing-32:32px;
  --spacing-40:40px; --spacing-48:48px; --spacing-64:64px; --spacing-96:96px;
  --section-gap:64px; --card-padding:24px; --element-gap:16px;
  --radius-sm:8px; --radius-md:12px; --radius-full:9999px;
  --shadow-subtle: rgba(34,32,29,0.05) 0px 1px 2px 0px;
  --shadow-md: rgba(34,32,29,0.10) 0px 10px 15px -3px, rgba(34,32,29,0.10) 0px 4px 6px -4px;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;600&display=swap');
body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-deep-charcoal);background-color:var(--color-canvas-oat);-webkit-font-smoothing:antialiased;}
*,*::before,*::after{box-sizing:border-box;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-deep-charcoal);line-height:var(--leading-heading);font-weight:600;letter-spacing:-0.02em;}
h1{font-size:var(--text-display);}h2{font-size:var(--text-heading-lg);}h3{font-size:var(--text-heading);}h4{font-size:var(--text-subheading);}h5,h6{font-size:var(--text-body);}
p{margin-bottom:var(--spacing-16);color:var(--color-deep-charcoal);}
small,.caption,.entry-date,.post-date{font-size:var(--text-caption);color:var(--color-muted-stone);}
a{color:var(--color-monarch-flame);text-decoration:none;transition:color 0.2s ease;}
a:hover{color:var(--color-burnt-orange);text-decoration:underline;}
#container,.wrap,.site-content-wrap{max-width:1160px;margin:0 auto;padding:0 var(--spacing-24);}
#main{background-color:var(--color-porcelain-white);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);padding:var(--spacing-40);margin-bottom:var(--spacing-48);}
#sidebar{background-color:var(--color-porcelain-white);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);padding:var(--spacing-24);}
#header{background-color:var(--color-porcelain-white);border-bottom:1px solid var(--color-slate-border);box-shadow:var(--shadow-subtle);position:sticky;top:0;z-index:100;}
#site-title,.site-name{font-family:var(--font-heading);font-size:24px;font-weight:600;color:var(--color-deep-charcoal);letter-spacing:-0.03em;}
#site-title a,.site-name a{color:var(--color-deep-charcoal);text-decoration:none;}
#site-description,.tagline{font-size:13px;color:var(--color-muted-stone);}
#navi,.navi-in>ul{background-color:var(--color-porcelain-white);}
.navi-in>ul>li>a{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-deep-charcoal);padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-full);border:1px solid transparent;transition:all 0.2s ease;}
.navi-in>ul>li>a:hover,.navi-in>ul>li.current-menu-item>a{background-color:var(--color-canvas-oat);border-color:var(--color-slate-border);color:var(--color-deep-charcoal);text-decoration:none;}
.navi-in ul ul{background-color:var(--color-porcelain-white);border:1px solid var(--color-slate-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);}
.btn,.button,input[type="submit"],.wp-block-button__link,.cocoon-block-button__link{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-monarch-flame);color:var(--color-porcelain-white)!important;font-family:var(--font-body);font-size:15px;font-weight:500;padding:10px var(--spacing-24);border-radius:var(--radius-full);border:none;cursor:pointer;box-shadow:var(--shadow-subtle);transition:background-color 0.2s ease,transform 0.1s ease,box-shadow 0.2s ease;text-decoration:none;}
.btn:hover,.button:hover,input[type="submit"]:hover,.wp-block-button__link:hover{background-color:var(--color-burnt-orange);color:var(--color-porcelain-white)!important;transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none;}
.entry-card,.card,.post-card{background-color:var(--color-porcelain-white);border-radius:var(--radius-md);border:1px solid var(--color-slate-border);box-shadow:var(--shadow-subtle);padding:var(--card-padding);transition:box-shadow 0.25s ease,transform 0.2s ease;overflow:hidden;}
.entry-card:hover,.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.entry-card .entry-title,.card-title{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-deep-charcoal);line-height:1.4;margin-bottom:var(--spacing-8);}
.entry-card .entry-excerpt,.card-excerpt{font-size:var(--text-caption);color:var(--color-muted-stone);line-height:1.6;}
.article,.entry-content{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-deep-charcoal);}
.entry-content h2{font-size:26px;border-left:4px solid var(--color-monarch-flame);padding-left:var(--spacing-16);margin-top:var(--spacing-48);margin-bottom:var(--spacing-16);}
.entry-content h3{font-size:20px;padding-bottom:6px;border-bottom:2px solid var(--color-slate-border);margin-top:var(--spacing-32);margin-bottom:var(--spacing-16);}
.entry-content h4{font-size:17px;color:var(--color-muted-stone);margin-top:var(--spacing-24);}
.entry-content table{width:100%;border-collapse:collapse;margin:var(--spacing-24) 0;font-size:14px;}
.entry-content th{background-color:var(--color-canvas-oat);color:var(--color-deep-charcoal);font-weight:500;padding:10px var(--spacing-16);border:1px solid var(--color-slate-border);text-align:left;}
.entry-content td{padding:10px var(--spacing-16);border:1px solid var(--color-slate-border);vertical-align:top;}
.entry-content tr:nth-child(even) td{background-color:#faf9f8;}
.entry-content blockquote{border-left:4px solid var(--color-monarch-flame);background-color:#fff8f5;padding:var(--spacing-16) var(--spacing-24);margin:var(--spacing-24) 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-muted-stone);font-style:italic;}
.entry-content code{background-color:var(--color-canvas-oat);color:var(--color-burnt-orange);font-size:13px;padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;}
.entry-content pre{background-color:var(--color-deep-charcoal);color:#f8f8f2;padding:var(--spacing-24);border-radius:var(--radius-sm);overflow-x:auto;margin:var(--spacing-24) 0;}
.entry-content pre code{background:none;color:inherit;padding:0;}
.widget{background-color:var(--color-porcelain-white);border:1px solid var(--color-slate-border);border-radius:var(--radius-md);padding:var(--spacing-24);margin-bottom:var(--spacing-24);box-shadow:var(--shadow-subtle);}
.widget-title,.widgettitle{font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-deep-charcoal);padding-bottom:var(--spacing-8);border-bottom:2px solid var(--color-monarch-flame);margin-bottom:var(--spacing-16);}
.breadcrumb,#breadcrumb{font-size:12px;color:var(--color-muted-stone);padding:var(--spacing-8) 0;margin-bottom:var(--spacing-16);}
.breadcrumb a{color:var(--color-muted-stone);text-decoration:none;}
.breadcrumb a:hover{color:var(--color-monarch-flame);}
.tag,.cat-label,.entry-category-label{display:inline-block;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--radius-full);background-color:var(--color-canvas-oat);color:var(--color-muted-stone);border:1px solid var(--color-slate-border);text-decoration:none;transition:background-color 0.2s ease;}
.tag:hover,.cat-label:hover{background-color:#fff0e8;color:var(--color-monarch-flame);border-color:var(--color-monarch-flame);text-decoration:none;}
.pager,.pagination{display:flex;justify-content:center;gap:var(--spacing-8);margin:var(--spacing-48) 0;}
.pager a,.pagination a,.page-numbers{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1px solid var(--color-slate-border);font-size:14px;color:var(--color-deep-charcoal);text-decoration:none;transition:all 0.2s ease;}
.pager a:hover,.pagination a:hover,.page-numbers:hover{background-color:var(--color-monarch-flame);border-color:var(--color-monarch-flame);color:var(--color-porcelain-white);text-decoration:none;}
.page-numbers.current{background-color:var(--color-monarch-flame);border-color:var(--color-monarch-flame);color:var(--color-porcelain-white);}
#footer{background-color:var(--color-deep-charcoal);color:var(--color-light-gray);padding:var(--spacing-48) var(--spacing-24) var(--spacing-32);margin-top:var(--spacing-64);}
#footer a{color:var(--color-light-gray);text-decoration:none;transition:color 0.2s ease;}
#footer a:hover{color:var(--color-monarch-flame);}
.footer-copyright{font-size:12px;color:var(--color-muted-stone);text-align:center;margin-top:var(--spacing-32);padding-top:var(--spacing-16);border-top:1px solid rgba(255,255,255,0.1);}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],textarea,select{width:100%;padding:10px var(--spacing-16);border:1px solid var(--color-slate-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-body);color:var(--color-deep-charcoal);background-color:var(--color-porcelain-white);transition:border-color 0.2s ease,box-shadow 0.2s ease;outline:none;}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,textarea:focus,select:focus{border-color:var(--color-monarch-flame);box-shadow:0 0 0 3px rgba(255,105,45,0.12);}
.nc-box,.nctab-box{border-radius:var(--radius-sm);padding:var(--spacing-16) var(--spacing-24);margin:var(--spacing-24) 0;}
.not-secret{background-color:#fff8f5;border-left:4px solid var(--color-monarch-flame);}
.li-check li::before{color:var(--color-monarch-flame);}
@media(max-width:768px){:root{--text-display:32px;--text-heading-lg:28px;--text-heading:22px;--section-gap:40px;--card-padding:16px;}#main{padding:var(--spacing-24) var(--spacing-16);}.entry-content h2{font-size:20px;}.entry-content h3{font-size:17px;}}
@media(max-width:480px){:root{--text-display:26px;--text-heading-lg:22px;--text-heading:20px;}body{font-size:15px;}}

/* =============================================
   Morning Aura Background
   ============================================= */
body {
  background-color: #fdf8f2;
  background-image:
    radial-gradient(ellipse 70% 60% at 5% 95%, rgba(254,215,170,0.55) 0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 95% 5%,  rgba(187,247,208,0.45) 0%, transparent 50%),
    radial-gradient(ellipse 40% 40% at 80% 85%, rgba(254,240,138,0.25) 0%, transparent 50%),
    radial-gradient(ellipse 35% 35% at 20% 20%, rgba(216,180,254,0.15) 0%, transparent 50%);
  background-attachment: fixed;
  min-height: 100vh;
}
