/*
Theme Name: Cocoon Child HITORICCO
Template: cocoon-master
Description: HITORICCO用 Cocoon子テーマ
Version: 1.0.0
*/
:root{--ink:#1a1a1a;--bg:#e4e4e4;--blue:#a9c1f7;--navy:#1d3fbd;--sand:#e0cb85;--yel:#fbf884;--red:#ee4b2b;--r:28px;--disp:'Dela Gothic One','Zen Maru Gothic',sans-serif}
html{scroll-behavior:smooth}
body{font-family:'Zen Maru Gothic',sans-serif;font-weight:500;background:var(--bg);color:var(--ink)}
/* Cocoon標準のヘッダー/モバイルメニュー/トップへボタンは自作に置き換え */
#header-container,.mobile-menu-buttons,#go-to-top,.go-to-top{display:none!important}
body:not(.home) #content{margin-top:110px}
#footer{background:var(--navy);color:#fff}#footer a{color:#fff}
.article h1,.entry-title{font-family:var(--disp);font-weight:400}
.main,.sidebar .widget{background:transparent}

/* ヘッダー */
.hc-header{position:fixed;inset:0 0 auto 0;z-index:9999;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;pointer-events:none}
.hc-header>*{pointer-events:auto}
.hc-brand{font-family:var(--disp);font-size:22px;color:var(--ink);text-decoration:none;background:var(--yel);border:2px solid var(--ink);border-radius:999px;padding:6px 18px;box-shadow:3px 3px 0 var(--ink)}
.hc-nav{display:flex;gap:6px;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px;box-shadow:4px 4px 0 var(--ink)}
.hc-nav a{font-weight:900;color:var(--ink);text-decoration:none;padding:6px 16px;border-radius:999px;transition:.2s}
.hc-nav a:hover{background:var(--blue);transform:scale(1.06)}
.hc-burger{display:none;width:56px;height:56px;border-radius:50%;background:var(--yel);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;position:relative;padding:0}
.hc-burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--ink);transition:.3s}
.hc-burger span:nth-child(1){top:19px}.hc-burger span:nth-child(2){top:27px}.hc-burger span:nth-child(3){top:35px}
.hc-open .hc-burger span:nth-child(1){top:27px;transform:rotate(45deg)}
.hc-open .hc-burger span:nth-child(2){opacity:0}
.hc-open .hc-burger span:nth-child(3){top:27px;transform:rotate(-45deg)}
.hc-menu{position:fixed;inset:0;z-index:9998;background:var(--blue);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;opacity:0;visibility:hidden;clip-path:circle(0 at calc(100% - 48px) 42px);transition:clip-path .6s cubic-bezier(.7,0,.2,1),opacity .3s,visibility .6s}
.hc-open .hc-menu{opacity:1;visibility:visible;clip-path:circle(150% at calc(100% - 48px) 42px)}
.hc-menu a{font-family:var(--disp);font-size:34px;color:var(--ink);text-decoration:none;transition:.2s}
.hc-menu a:hover{color:var(--red);transform:scale(1.1) rotate(-2deg)}
@media(max-width:900px){.hc-nav{display:none}.hc-burger{display:block}}

/* セクション共通 */
.hc-sec{max-width:1100px;margin:0 auto;padding:90px 20px}
.hc-title{font-family:var(--disp);font-size:clamp(40px,8vw,72px);line-height:1.1;margin:0;text-align:center}
.hc-sub{text-align:center;font-weight:900;margin:8px 0 48px}
.hc-btn{display:inline-block;padding:14px 34px;background:var(--yel);border:2px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink);font-weight:900;color:var(--ink);text-decoration:none;transition:.2s}
.hc-btn:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink);color:var(--ink)}
.hc-center{text-align:center;margin-top:44px}

/* ヒーロー(cqw = ヒーロー幅の1%。参考画像と同じ比率で拡大縮小) */
.hc-front{overflow-x:clip}
.hc-sec{position:relative;z-index:1}
#about{padding-top:50px}
.hc-hero{position:relative;max-width:1180px;margin:0 auto;aspect-ratio:895/540;container-type:inline-size}
.hc-hero-pic{display:contents}
.hc-hero-txt{position:absolute;left:3cqw;top:11.6cqw;z-index:3}
.hc-lead{font-weight:900;font-size:max(12px,1.4cqw);margin:0 0 .8cqw}
.hc-logo{font-family:var(--disp);font-weight:400;font-size:12.6cqw;line-height:.96;margin:0;color:var(--red);letter-spacing:-.02em}
.hc-tag{font-weight:900;font-size:clamp(15px,2.5cqw,30px);margin:1.8cqw 0 2.2cqw}
.hc-cta{display:flex;gap:1.4cqw;flex-wrap:wrap}
.hc-cta .hc-btn{font-size:max(14px,1.7cqw);padding:.75em 1.5em}
.hc-btn2{background:var(--blue)}
.hc-btn svg{width:1em;height:1em;vertical-align:-.14em;margin-left:.5em}
.hc-sun,.hc-moon,.hc-star,.hc-bubble{box-sizing:border-box}
.hc-sun{position:absolute;left:49cqw;top:9cqw;width:51.4cqw;aspect-ratio:1;border-radius:50%;background:var(--yel);z-index:0}
.hc-moon{position:absolute;left:94.4cqw;top:23.5cqw;width:13.4cqw;aspect-ratio:1;border-radius:50%;background:#4a6fe0;z-index:0}
.hc-ill{position:absolute;left:33.7cqw;top:7cqw;width:80cqw;max-width:none;height:auto;z-index:1;animation:bob 5s ease-in-out infinite,rise 1s ease-out both}
@keyframes bob{50%{transform:translateY(-.9cqw)}}
@keyframes rise{from{opacity:0;translate:0 30px}}
.hc-star{position:absolute;left:86.5cqw;top:10.8cqw;width:12.5cqw;aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--disp);font-size:max(10px,1.45cqw);line-height:1.4;z-index:4;animation:wig 4s ease-in-out infinite}
@keyframes wig{50%{transform:rotate(-10deg) scale(1.05)}}
.hc-bubble{position:absolute;left:73.4cqw;top:53.4cqw;width:25.5cqw;background:var(--yel);border-radius:2.6cqw;padding:.9cqw 1.6cqw;color:var(--ink);text-decoration:none;z-index:4;transition:.25s}
.hc-bubble:hover{transform:translateY(-5px) rotate(-1.5deg);color:var(--ink)}
.hc-bubble small{display:block;font-weight:900;font-size:max(10px,1.25cqw)}.hc-bubble b{display:block;font-size:max(11px,1.5cqw);line-height:1.5;margin-top:.2cqw}
.hc-hero::before{content:"";position:absolute;left:-21cqw;top:58.6cqw;width:33cqw;aspect-ratio:1;border-radius:50%;background:var(--yel)}
.hc-hero::after{content:"";position:absolute;left:7.8cqw;top:65cqw;width:7.8cqw;aspect-ratio:1;border-radius:50%;background:#5b85e3}
.hc-title::before,.hc-title::after{content:"";display:inline-block;width:5px;height:.4em;background:var(--ink);border-radius:3px;vertical-align:middle;margin:0 .45em}
.hc-title::before{transform:rotate(-35deg)}.hc-title::after{transform:rotate(35deg)}
@media(max-width:800px){
.hc-hero{display:flex;flex-direction:column;aspect-ratio:auto;padding:96px 0 8cqw}
.hc-hero-txt{display:contents}
.hc-lead{order:1;font-size:12px;margin:0 20px 6px;text-align:center}
.hc-logo{order:1;font-size:20cqw;margin:0 20px;position:relative;z-index:3;text-align:center}
.hc-hero-pic{order:2;display:block;position:relative;height:100cqw;margin-top:-10cqw}
.hc-tag{order:3;font-size:18px;margin:14px 20px 16px;text-align:center}
.hc-cta{order:3;gap:12px;margin:0 20px;justify-content:center}.hc-cta .hc-btn{font-size:14px}
.hc-sun{left:10cqw;top:8cqw;width:80cqw}
.hc-moon{left:90cqw;top:42cqw;width:16cqw}
.hc-ill{left:-8cqw;top:16cqw;width:112cqw}
.hc-star{left:76cqw;top:13cqw;width:20cqw;font-size:10px}
.hc-bubble{left:8cqw;top:84cqw;width:84cqw;border-radius:20px;padding:10px 16px}
.hc-bubble small{font-size:11px}.hc-bubble b{font-size:13px}
.hc-hero::before{left:-18cqw;top:auto;bottom:-30cqw;width:42cqw;z-index:-1}
.hc-hero::after{left:12cqw;top:auto;bottom:-10cqw;width:12cqw;z-index:-1}
}

/* カード */
.hc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:30px}
.hc-card{display:block;background:var(--blue);border:2px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--ink);padding:14px 14px 18px;color:var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s}
.hc-card:nth-child(3n+2){background:var(--sand)}.hc-card:nth-child(3n){background:var(--yel)}
.hc-card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:10px 12px 0 var(--ink);color:var(--ink)}
.hc-th{overflow:hidden;border:2px solid var(--ink);border-radius:18px;aspect-ratio:16/9;background:#fff}
.hc-th img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hc-card:hover .hc-th img{transform:scale(1.07)}
.hc-card time{display:block;text-align:right;font-size:13px;font-weight:900;margin:10px 4px 0}
.hc-card h3{font-size:16px;line-height:1.6;margin:6px 4px 0;font-weight:900}
.hc-embed{border:2px solid var(--ink);border-radius:var(--r);box-shadow:6px 6px 0 var(--ink);overflow:hidden;aspect-ratio:16/9;background:#000;margin-bottom:36px}
.hc-embed iframe{width:100%;height:100%;border:0}

/* ポッドキャスト */
.hc-pod{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}
.hc-pod iframe{border:2px solid var(--ink)!important;border-radius:var(--r)!important;box-shadow:6px 6px 0 var(--ink)}
.hc-ep{display:block;background:var(--yel);border:2px solid var(--ink);border-radius:20px;box-shadow:4px 4px 0 var(--ink);padding:14px 18px;margin-bottom:16px;color:var(--ink);text-decoration:none;font-weight:900;transition:.25s}
.hc-ep:hover{transform:translateX(8px);background:var(--blue);color:var(--ink)}
.hc-ep small{display:block;font-size:12px}
.hc-pod--solo{grid-template-columns:1fr;max-width:720px;margin:0 auto}
@media(max-width:800px){.hc-pod{grid-template-columns:1fr}}

/* ABOUT */
.hc-about{background:#fff;border:2px solid var(--ink);border-radius:60px;padding:60px 28px;text-align:center;box-shadow:8px 8px 0 var(--ink)}
.hc-about h3{font-size:clamp(20px,3.6vw,28px);line-height:1.8;margin:0 0 20px}
.hc-about p{max-width:560px;margin:0 auto;line-height:2.1}

/* CONTACT */
.hc-sns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px}
.hc-sns a{padding:10px 24px;background:#fff;border:2px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font-weight:900;color:var(--ink);text-decoration:none;transition:.2s}
.hc-sns a:hover{background:var(--red);color:#fff;transform:translateY(-4px) rotate(-3deg)}

/* 問い合わせフォーム */
.hc-form{max-width:640px;margin:0 auto;background:#fff;border-radius:40px;padding:44px 34px;box-shadow:0 10px 26px rgba(40,60,140,.16)}
.hc-form label{display:block;font-weight:900;margin:0 0 8px}
.hc-form .req{display:inline-block;margin-left:8px;padding:1px 10px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:900;vertical-align:1px}
.hc-form input[type=text],.hc-form input[type=email],.hc-form textarea{display:block;width:100%;box-sizing:border-box;border:0;border-radius:18px;background:#f1f1f1;padding:14px 18px;font:inherit;color:var(--ink);margin:0 0 24px;transition:.2s}
.hc-form textarea{min-height:180px;resize:vertical;line-height:1.8}
.hc-form input:focus,.hc-form textarea:focus{outline:3px solid var(--blue);background:#fff}
.hc-form .hc-btn{cursor:pointer;font:inherit;font-weight:900;padding:14px 48px}
.hc-form .hc-submit{text-align:center;margin-top:8px}
.hc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hc-msg{border-radius:18px;padding:14px 18px;margin-bottom:24px;font-weight:900;text-align:center}
.hc-ok{background:var(--yel)}
.hc-ng{background:var(--red);color:#fff}
@media(max-width:900px){.hc-form{padding:32px 22px;border-radius:32px}}

/* トップへ */
.hc-top{position:fixed;right:16px;bottom:16px;z-index:9990;width:56px;height:56px;border-radius:50%;background:var(--yel);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:24px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(24px);transition:.35s}
.hc-top.show{opacity:1;pointer-events:auto;transform:none}
.hc-top:hover{transform:translateY(-4px)}

/* ふわっと表示 */
.rv{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* フロントページはCocoonの幅制限を解除 */
body.home #content{margin:0;padding:0}
body.home #content-in,body.home #main{width:100%!important;max-width:none!important;padding:0!important;border:0;background:none;box-shadow:none}

/* スマホ調整:黄色いロゴを消す・セクション間を詰める */
@media(max-width:900px){
.hc-brand{display:none}
.hc-header{justify-content:flex-end}
.hc-sec{padding:50px 20px}
.hc-sub{margin-bottom:28px}
.hc-center{margin-top:30px}
.hc-embed{margin-bottom:24px}
.hc-grid{gap:22px}
.hc-about{padding:40px 22px;border-radius:40px}
}

/* 枠線なし版(確認用) */
.hc-card,.hc-ep,.hc-btn,.hc-sns a,.hc-nav,.hc-brand,.hc-burger,.hc-top,.hc-bubble,.hc-star,.hc-about,.hc-embed,.hc-th,.hc-blob,.hc-photo,.hc-pod iframe{border:0!important}
.hc-card,.hc-ep,.hc-btn,.hc-sns a,.hc-nav,.hc-brand,.hc-burger,.hc-top,.hc-bubble,.hc-star,.hc-about,.hc-embed{box-shadow:0 10px 26px rgba(40,60,140,.16)!important}
.hc-blob,.hc-photo{box-shadow:none!important}
.hc-card:hover,.hc-bubble:hover{box-shadow:0 18px 34px rgba(40,60,140,.24)!important}
.hc-btn:hover{box-shadow:0 14px 28px rgba(40,60,140,.24)!important;transform:translateY(-3px)}
.hc-logo{-webkit-text-stroke:0;text-shadow:none}
.hc-pod iframe{box-shadow:0 10px 26px rgba(40,60,140,.16)!important}

/* ===== Cocoonの一覧・記事ページ(TOPと同じ雰囲気に) ===== */
.archive-title{font-family:var(--disp);font-weight:400;text-align:center;background:none!important;border:0!important;color:var(--ink)!important}
.entry-card-wrap{display:block;background:var(--blue);border:0!important;border-radius:var(--r);box-shadow:0 10px 26px rgba(40,60,140,.16);padding:14px;margin-bottom:26px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.entry-card-wrap:nth-of-type(3n+2){background:var(--sand)}
.entry-card-wrap:nth-of-type(3n){background:var(--yel)}
.entry-card-wrap:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 34px rgba(40,60,140,.24)}
.entry-card-wrap .entry-card{background:transparent}
.entry-card-thumb{border-radius:18px;overflow:hidden}
.entry-card-thumb img{background:#fff;transition:transform .6s}
.entry-card-wrap:hover .entry-card-thumb img{transform:scale(1.07)}
.entry-card-title{font-weight:900;color:var(--ink)}
.entry-card-snippet,.entry-card-meta,.entry-card-info{color:var(--ink)}
.cat-label{background:var(--red)!important;color:#fff!important;border-radius:999px;padding:2px 12px;font-weight:900}
.sidebar{background:transparent!important;padding:0!important}
.sidebar .widget{background:#fff;border-radius:var(--r);padding:20px;margin-bottom:24px;box-shadow:0 10px 26px rgba(40,60,140,.12)}
.sidebar a{color:var(--ink)}
.widget-sidebar-title,.widget-title{background:var(--blue)!important;color:var(--ink)!important;border:0!important;border-radius:999px;padding:8px 18px!important;font-family:var(--disp);font-weight:400;font-size:15px}
.sidebar .widget:nth-of-type(3n+2) .widget-sidebar-title{background:var(--sand)!important}
.sidebar .widget:nth-of-type(3n) .widget-sidebar-title{background:var(--yel)!important}
.sidebar input[type=search],.sidebar .search-edit{border:0;border-radius:999px;background:#f1f1f1;padding:12px 18px}
.search-submit,.wp-block-search__button,.sidebar input[type=submit]{background:var(--yel)!important;color:var(--ink)!important;border:0!important;border-radius:999px;font-weight:900;box-shadow:0 6px 14px rgba(40,60,140,.16);transition:.2s}
.search-submit:hover,.wp-block-search__button:hover{transform:translateY(-3px)}
.pagination .page-numbers{background:#fff;border:0;border-radius:50%;color:var(--ink);font-weight:900;box-shadow:0 4px 10px rgba(40,60,140,.12)}
.pagination .current{background:var(--yel)}
.single .article,.page .article{background:#fff;border-radius:var(--r);padding:32px;box-shadow:0 10px 26px rgba(40,60,140,.12)}
.article h2{background:var(--blue)!important;color:var(--ink)!important;border:0!important;border-radius:18px;padding:12px 20px!important;font-family:var(--disp);font-weight:400}
.article h3{border:0!important;border-bottom:4px solid var(--yel)!important;font-weight:900}
.article a{color:var(--navy)}

/* 一覧・記事ページ:上のずれ修正(メインとサイドバーの上端をそろえる)+ブロックウィジェットの見出し */
.content-in{align-items:flex-start}
.main,#main{margin-top:0!important;padding-top:0!important}
.sidebar{margin-top:0!important}
.list{margin-top:0!important;padding-top:0!important}
.list>.entry-card-wrap:first-of-type,.list>a:first-child{margin-top:0!important}
.sidebar .wp-block-heading,.sidebar .widget_block h2,.sidebar .widget_block h3{background:var(--blue);color:var(--ink);border:0;border-radius:999px;padding:8px 18px;font-family:var(--disp);font-weight:400;font-size:15px}
.sidebar .widget:nth-of-type(3n+2) .wp-block-heading{background:var(--sand)}
.sidebar .widget:nth-of-type(3n) .wp-block-heading{background:var(--yel)}
