@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* HG-DESIGN-START */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/* =========================================================
   北海道外壁塗装ガイド - design system v4 (light / editorial)
   2026-08-03 Chromedesign のレイアウトに合わせて全面刷新。
   v3 の濃紺ヒーロー主体から、白基調 + オレンジ #d97a26 の
   明るい編集メディア型へ変更。
   ========================================================= */

:root{
  --hg-bg:#ffffff;
  --hg-band:#f6f8fa;
  --hg-line:#e4e9ee;
  --hg-line-2:#d5dde4;
  --hg-ink:#1a2733;          /* 見出し・主要テキスト */
  --hg-ink-2:#33424f;        /* 本文 */
  --hg-muted:#5a6b7a;        /* 補足 */
  --hg-muted-2:#7a8794;
  --hg-muted-3:#8b98a5;
  --hg-slate:#43566a;
  --hg-navy:#16232f;         /* フッター・表ヘッダー（白文字 14.6:1） */
  --hg-accent:#d97a26;       /* オレンジ。白地の上の文字色として 3.4:1 → 太字・大きめ限定 */
  --hg-accent-deep:#A55511;  /* 白文字を載せる／小さい文字に使う 4.8:1 */
  --hg-accent-line:#ecc9a4;
  --hg-accent-bg:#fdf6ee;
  --hg-radius:6px;
  --hg-pill:100px;
  --hg-wrap:1120px;
  --hg-font:"Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------- base ---------- */
body{
  margin:0;background:var(--hg-bg);color:var(--hg-ink);
  font-family:var(--hg-font);font-size:15.5px;line-height:2;
  -webkit-font-smoothing:antialiased;letter-spacing:.01em;
}
#container,.wrap{background:transparent;}
a{color:var(--hg-ink);text-decoration:none;}
a:hover{color:var(--hg-accent-deep);}
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--hg-accent-deep);outline-offset:2px;border-radius:3px;
}

/* =========================================================
   header : ロゴ左 + ナビ右の1行、追従
   Cocoonの #header-in / #navi-in には固定幅の .wrap が付くため
   必ず width:auto で解除する（外すとナビがロゴに重なる）
   ========================================================= */
#header-container{
  position:sticky;top:0;z-index:120;background:#fff;
  border-bottom:1px solid var(--hg-line);
}
#header-container-in{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--hg-wrap);margin:0 auto;padding:0 24px;min-height:66px;
  background:#fff;box-sizing:border-box;
}
.header-container,#header,#header-in,#navi,.navi-in{background:#fff;}
#header{flex:0 0 auto;padding:0;margin:0;}
#header-in{
  width:auto !important;max-width:none !important;
  margin:0 !important;padding:0 !important;
  display:block;border:0;min-height:0;height:auto;
}
#header-in .tagline{display:none;}
#header-in .logo-header{margin:0;padding:0;text-align:left;line-height:1.2;}
#header-in .logo-header a{display:flex;align-items:center;gap:10px;}
#header-in .logo-header a::before{
  content:"";width:12px;height:12px;background:var(--hg-accent);flex:none;
}
.logo-header .site-name-text{
  font-size:17px;font-weight:900;letter-spacing:.02em;color:var(--hg-ink);
}
#header-in .logo-header a:hover{opacity:.75;}

#navi{flex:0 0 auto;min-width:0;display:block;}
#navi-in{
  width:auto !important;max-width:none !important;
  margin:0 !important;padding:0 !important;display:block;
}
.navi-in>.menu-header{
  display:flex !important;align-items:center;justify-content:flex-end;
  flex-wrap:nowrap;gap:2px;margin:0;padding:0;list-style:none;
}
.navi-in>.menu-header>li{
  float:none !important;flex:0 0 auto;
  width:auto !important;min-width:0 !important;max-width:none !important;
}
.navi-in>.menu-header li a{
  display:flex;align-items:center;min-height:auto;
  padding:8px 11px;border-radius:4px;white-space:nowrap;
}
.navi-in>.menu-header .item-label{font-size:13.5px;font-weight:600;color:var(--hg-ink);}
.navi-in>.menu-header li a:hover{background:#f4f6f8;}
.navi-in>.menu-header li a:hover .item-label{color:var(--hg-accent-deep);}
.navi-in>.menu-header li a::after{display:none;}
.navi-in>.menu-header .caption-wrap{padding:0 !important;margin:0 !important;}
/* 最後の項目（よくある質問）だけ枠線で区別 */
.navi-in>.menu-header>li:last-child>a{
  border:1px solid var(--hg-line-2);border-radius:4px;margin-left:8px;padding:7px 14px;
}
.navi-in>.menu-header>li:last-child>a:hover{border-color:var(--hg-accent);background:#fff;}
@media screen and (max-width:1180px){
  .navi-in>.menu-header .item-label{font-size:12.5px;}
  .navi-in>.menu-header li a{padding:8px 7px;}
}

/* =========================================================
   記事本文の見出し・要素
   ========================================================= */
.entry-content h2,.article h2{
  font-size:23px;font-weight:900;line-height:1.6;color:var(--hg-ink);
  margin:2.6em 0 1em;padding:14px 20px;
  background:var(--hg-band);border:0;border-left:4px solid var(--hg-accent);border-radius:0;
}
.entry-content h3,.article h3{
  font-size:19px;font-weight:900;line-height:1.65;color:var(--hg-ink);
  border:0;border-bottom:2px solid var(--hg-line);padding:0 0 .5em;margin:2.2em 0 .9em;
}
.entry-content h4{
  font-size:17px;font-weight:700;color:var(--hg-ink);border:0;padding:0;margin:1.9em 0 .7em;
}
.entry-content p{font-size:15px;line-height:2.2;color:var(--hg-ink-2);}
.entry-title,.archive-title{font-weight:900;line-height:1.55;letter-spacing:.01em;}

.entry-content table{
  width:100%;border-collapse:collapse;font-size:14px;
}
.entry-content table th{
  background:var(--hg-navy);color:#fff;font-weight:700;
  padding:12px 16px;text-align:left;border:0;
}
.entry-content table td{
  padding:12px 16px;border:0;border-bottom:1px solid var(--hg-line);color:var(--hg-ink-2);
}

/* ---------- Cocoon カード ---------- */
.entry-card-wrap,.related-entry-card-wrap{
  background:#fff;border:1px solid var(--hg-line);border-radius:var(--hg-radius);
  overflow:hidden;transition:box-shadow .15s ease;box-shadow:none;
}
.entry-card-wrap:hover,.related-entry-card-wrap:hover{box-shadow:0 4px 16px rgba(26,39,51,.08);}
.entry-card-title,.related-entry-card-title{font-weight:700;color:var(--hg-ink);line-height:1.6;font-size:15px;}
.a-wrap:hover{background:transparent;}
.cat-label{
  background:#fff;color:var(--hg-accent-deep);border:1px solid var(--hg-accent-line);
  border-radius:3px;font-size:11px;font-weight:700;padding:2px 8px;
}
.sidebar h3,.widget-sidebar-title{
  font-size:13px;font-weight:900;background:transparent;color:var(--hg-ink);
  border:0;border-bottom:2px solid var(--hg-navy);border-radius:0;padding:0 0 10px;margin-bottom:14px;
}

/* =========================================================
   hero（明るい版・画像なし）
   ========================================================= */
.hg-hero{
  max-width:var(--hg-wrap);margin:0 auto;padding:64px 24px 56px;
  box-sizing:border-box;
  display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center;
}
.hg-hero__figure{margin:0;}
.hg-hero__figure img{
  width:100%;height:auto;display:block;border-radius:8px;
  box-shadow:0 10px 30px rgba(26,39,51,.14);
}
.hg-hero__eyebrow{
  display:inline-block;font-size:12.5px;font-weight:700;color:var(--hg-slate);
  border:1px solid var(--hg-line-2);padding:6px 14px;border-radius:var(--hg-pill);
  letter-spacing:.04em;margin:0;
}
.hg-hero__title{
  font-size:clamp(28px,3.6vw,46px);font-weight:900;line-height:1.42;
  letter-spacing:.01em;margin:22px 0 0;color:var(--hg-ink);
}
.hg-hero__title .hl{color:var(--hg-accent);}
.hg-hero__lead{
  font-size:16px;line-height:2;color:var(--hg-muted);
  max-width:640px;margin:20px 0 0;
}
.hg-hero__actions{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;}
.hg-link{
  font-size:14px;font-weight:700;color:var(--hg-slate);
  border-bottom:2px solid var(--hg-line-2);padding-bottom:4px;
}
.hg-link:hover{color:var(--hg-accent-deep);border-bottom-color:var(--hg-accent);}
.hg-link--accent{color:var(--hg-accent-deep);border-bottom-color:var(--hg-accent);}

/* =========================================================
   セクション
   ========================================================= */
.hg-section{max-width:var(--hg-wrap);margin:0 auto;padding:72px 24px;box-sizing:border-box;}
.hg-band{background:var(--hg-band);border-top:1px solid var(--hg-line);}
.hg-band > .hg-section{padding-top:64px;padding-bottom:72px;}
.hg-section-title{
  font-size:26px;font-weight:900;letter-spacing:.02em;margin:0 0 8px;color:var(--hg-ink);
  background:transparent;border:0;padding:0;
}
.entry-content .hg-section-title{
  background:transparent !important;border:0 !important;padding:0 !important;
  margin:0 0 8px !important;border-radius:0 !important;
}
.hg-section-lead{font-size:14px;color:var(--hg-muted-2);margin:0 0 28px;line-height:1.9;}
/* カード内の見出しに Cocoon の h2/h3 装飾を持ち込ませない */
.entry-content .hg-card__title,
.entry-content .hg-point__title,
.entry-content .hg-acard__title{
  border:0 !important;background:transparent !important;
  padding:0 !important;border-radius:0 !important;
}
.entry-content .hg-card__title{font-size:17px;margin:0 !important;}
.entry-content .hg-point__title{font-size:14.5px;margin:0 0 6px !important;}
.entry-content .hg-acard__title{font-size:15px;margin:0 !important;}
.hg-section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:0 0 28px;flex-wrap:wrap;
}
.hg-section-head .hg-section-title{margin-bottom:0;}
.hg-section-head .hg-section-lead{margin:0;flex-basis:100%;}

/* =========================================================
   カード
   ========================================================= */
.hg-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  list-style:none;margin:0;padding:0;
}
.hg-cards--articles{gap:28px;}
/* 帯の中の白カードは境界がぼやけるので少し締める */
.hg-band .hg-card{border-color:#dde4ea;}
.hg-card--accent{border-left:4px solid var(--c,var(--hg-accent));}
.hg-card{
  display:block;background:#fff;border:1px solid var(--hg-line);
  border-radius:var(--hg-radius);padding:24px 26px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
a.hg-card{color:var(--hg-ink);}
a.hg-card:hover{border-color:var(--hg-accent);color:var(--hg-ink);}
.hg-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.hg-card__title{display:block;font-size:17px;font-weight:900;margin:0;line-height:1.5;}
.hg-card__text{display:block;font-size:13px;line-height:1.8;color:var(--hg-muted);margin:0;}

/* ---------- 記事カード（サムネイル付き） ---------- */
.hg-acard{
  display:block;background:#fff;border:1px solid var(--hg-line);
  border-radius:var(--hg-radius);overflow:hidden;transition:box-shadow .15s ease;
}
.hg-acard:hover{box-shadow:0 4px 16px rgba(26,39,51,.08);color:var(--hg-ink);}
.hg-acard__media{
  aspect-ratio:16/9;background:var(--hg-band) center/cover no-repeat;display:block;
}
.hg-acard__body{display:block;padding:16px 18px 18px;}
.hg-acard__title{display:block;}
.hg-acard__meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.hg-acard__cat{
  font-size:11px;font-weight:700;color:var(--hg-accent-deep);
  border:1px solid var(--hg-accent-line);padding:2px 8px;border-radius:3px;
}
.hg-acard__date{font-size:12px;color:var(--hg-muted-3);}
.hg-acard__title{font-size:15px;font-weight:700;line-height:1.6;color:var(--hg-ink);margin:0;}

/* =========================================================
   POINT カード / 注記
   ========================================================= */
.hg-points{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  list-style:none;margin:0;padding:0;
}
.hg-point{
  border:1px solid var(--hg-line);border-top:4px solid var(--c,var(--hg-accent));
  border-radius:var(--hg-radius);padding:22px 24px;background:#fff;
}
.hg-point__no{
  display:inline-block;font-size:11.5px;font-weight:700;color:var(--c,var(--hg-accent-deep));
  background:var(--cbg,var(--hg-accent-bg));border-radius:3px;padding:3px 10px;
  letter-spacing:.04em;margin:0 0 12px;
}
.hg-point--a{--c:#A8322B;--cbg:#fbf0ef;}
.hg-point--b{--c:#1E6FA8;--cbg:#eef5fa;}
.hg-point--c{--c:#9A6B12;--cbg:#fbf5e8;}
.hg-point__title{font-size:14.5px;font-weight:700;line-height:1.7;margin:0 0 6px;color:var(--hg-ink);}
.hg-point__text{font-size:12.5px;line-height:1.9;color:var(--hg-muted);margin:0;}

.hg-note{
  background:var(--hg-accent-bg);border:1px solid var(--hg-accent-line);
  border-radius:var(--hg-radius);padding:20px 26px;margin:2em 0;
}
.hg-note__title{
  display:block;font-size:13px;font-weight:900;color:var(--hg-accent-deep);margin-bottom:8px;
}
.hg-note p:last-child{margin-bottom:0;}
.hg-note--plain{background:#fff;border-color:var(--hg-line);}
.hg-note--plain .hg-note__title{color:var(--hg-ink);}
.hg-note--warn{background:#fdf3f2;border-color:#eec9c6;}
.hg-note--warn .hg-note__title{color:#B3261E;}

/* =========================================================
   カテゴリーカード（写真 + カテゴリー別アクセント）
   ========================================================= */
.hg-cards--cat{grid-template-columns:repeat(3,1fr);gap:24px;}
.hg-catcard{
  display:block;background:#fff;border:1px solid var(--hg-line);
  border-radius:var(--hg-radius);overflow:hidden;color:var(--hg-ink);
  transition:box-shadow .15s ease,transform .15s ease;
}
.hg-catcard:hover{
  box-shadow:0 6px 20px rgba(26,39,51,.10);transform:translateY(-2px);color:var(--hg-ink);
}
.hg-catcard__media{
  aspect-ratio:16/9;background:var(--hg-band) center/cover no-repeat;
  display:block;position:relative;
}
.hg-catcard__media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--c,var(--hg-accent));
}
.hg-catcard__body{display:block;padding:18px 20px 20px;border-top:0;}
.hg-catcard__label{
  display:block;font-size:11px;font-weight:700;letter-spacing:.06em;
  color:var(--c,var(--hg-accent-deep));margin:0 0 6px;
}
.hg-catcard__title{
  display:block;font-size:17px;font-weight:900;margin:0 0 8px;line-height:1.5;color:var(--hg-ink);
}
.hg-catcard__text{display:block;font-size:13px;line-height:1.85;color:var(--hg-muted);margin:0;}
.entry-content .hg-catcard__title{
  border:0 !important;background:transparent !important;
  padding:0 !important;margin:0 0 8px !important;border-radius:0 !important;font-size:17px;
}
/* カテゴリー別アクセント */
.c-cost{--c:#C7480A;}
.c-season{--c:#1E6FA8;}
.c-damage{--c:#A8322B;}
.c-materials{--c:#2E7D52;}
.c-contractor{--c:#3E4C7A;}
.c-subsidy{--c:#9A6B12;}

/* =========================================================
   固定ページ用レイアウト（記事ページとは別の見せ方）
   ========================================================= */
body.page .article-header,body.page .entry-title,
body.page .date-tags,body.page .post-date,body.page .post-update,
body.page .sns-share,body.page .sns-share-message,
body.page .sns-follow,body.page .sns-follow-message,
body.page #toc,body.page .toc,
body.page .entry-categories-tags,body.page .author-info,
body.page .pager-post-navi,body.page #related-entries,
body.page .eye-catch-wrap{display:none !important;}
body.page #sidebar,body.page .sidebar{display:none !important;}
body.page #main,body.page .main{
  width:100% !important;max-width:100% !important;float:none !important;
  margin:0 !important;padding:0 !important;background:transparent;border:0;
}
body.page #content-in,body.page #content .wrap{
  width:auto !important;max-width:100% !important;padding:0 !important;margin:0 !important;
}
body.page #content{margin-top:0;padding-top:0;}
body.page .article{padding:0;}
body.page .entry-content{margin:0;}
body.page .entry-content > :first-child{margin-top:0;}
body.page .breadcrumb{
  max-width:var(--hg-wrap);margin:0 auto;padding:18px 24px 0;
  font-size:12px;color:var(--hg-muted-3);box-sizing:border-box;
}

/* ページ見出し帯 */
.hg-page-head{background:var(--hg-band);border-bottom:1px solid var(--hg-line);}
.hg-page-head__in{
  max-width:var(--hg-wrap);margin:0 auto;padding:44px 24px 40px;box-sizing:border-box;
}
.hg-page-head__title{
  display:flex;align-items:center;gap:14px;margin:0 0 16px;
  font-size:clamp(26px,3.4vw,34px);font-weight:900;letter-spacing:.02em;color:var(--hg-ink);
  background:transparent;border:0;padding:0;
}
.entry-content .hg-page-head__title{
  background:transparent !important;border:0 !important;padding:0 !important;
  margin:0 0 16px !important;border-radius:0 !important;
}
.hg-page-head__title::before{content:"";width:8px;height:32px;background:var(--hg-accent);flex:none;}
.hg-page-head__lead{
  font-size:15px;line-height:2.1;color:var(--hg-muted);max-width:780px;margin:0;
}
.hg-page-head__meta{font-size:12.5px;color:var(--hg-muted-3);margin:16px 0 0;}

/* 固定ページ本文は読みやすい幅に絞る */
.hg-page-body{max-width:840px;margin:0 auto;padding:52px 24px 72px;box-sizing:border-box;}
.hg-page-body > h2{
  font-size:21px !important;font-weight:900;line-height:1.6;color:var(--hg-ink);
  margin:2.4em 0 1em !important;padding:0 0 12px !important;
  background:transparent !important;border:0 !important;
  border-bottom:2px solid var(--hg-navy) !important;border-radius:0 !important;
}
.hg-page-body > h2:first-child{margin-top:0 !important;}
.hg-page-body > h3{
  font-size:17px !important;font-weight:700;color:var(--hg-ink);
  border:0 !important;border-left:3px solid var(--hg-accent) !important;
  padding:2px 0 2px 12px !important;margin:2em 0 .8em !important;
}
.hg-page-body p{font-size:15px;line-height:2.15;color:var(--hg-ink-2);}
.hg-page-body ul,.hg-page-body ol{font-size:15px;line-height:2.1;color:var(--hg-ink-2);}

/* 定義リスト（運営者情報など） */
.hg-dl{border-top:1px solid var(--hg-line);margin:0 0 8px;}
.hg-dl__row{
  display:grid;grid-template-columns:160px 1fr;gap:0;
  border-bottom:1px solid var(--hg-line);
}
.hg-dl__k{
  background:var(--hg-band);padding:14px 18px;font-size:13.5px;font-weight:700;color:var(--hg-slate);
}
.hg-dl__v{padding:14px 18px;font-size:14.5px;color:var(--hg-ink-2);line-height:1.9;}

/* Q&A */
.hg-qa{border:1px solid var(--hg-line);border-radius:var(--hg-radius);margin:0 0 14px;overflow:hidden;}
.hg-qa__q{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--hg-band);padding:16px 20px;font-size:15.5px;font-weight:700;color:var(--hg-ink);
  margin:0;line-height:1.7;
}
.hg-qa__q::before{
  content:"Q";flex:none;width:24px;height:24px;border-radius:3px;
  background:var(--hg-navy);color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.hg-qa__a{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;margin:0;}
.hg-qa__a::before{
  content:"A";flex:none;width:24px;height:24px;border-radius:3px;
  background:var(--hg-accent);color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.hg-qa__a > div{font-size:14.5px;line-height:2.05;color:var(--hg-ink-2);}
.hg-qa__a p{margin:0 0 .9em;font-size:14.5px;}
.hg-qa__a p:last-child{margin-bottom:0;}
.hg-qa-group{margin:0 0 40px;}

/* ページ内リンク集 */
.hg-pagenav{
  background:var(--hg-band);border:1px solid var(--hg-line);border-radius:var(--hg-radius);
  padding:20px 24px;margin:0 0 40px;
}
.hg-pagenav__title{font-size:13px;font-weight:900;color:var(--hg-slate);margin:0 0 12px;letter-spacing:.04em;}
.hg-pagenav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;}
.hg-pagenav a{font-size:13.5px;color:var(--hg-slate);border-bottom:1px solid var(--hg-line-2);}
.hg-pagenav a:hover{color:var(--hg-accent-deep);border-bottom-color:var(--hg-accent);}

/* =========================================================
   お問い合わせフォーム
   ========================================================= */
.hg-form{
  background:var(--hg-band);border:1px solid var(--hg-line);
  border-radius:var(--hg-radius);padding:28px 30px;margin:1.6em 0 2.4em;
}
.hg-form__row{margin:0 0 22px;display:flex;flex-direction:column;gap:7px;}
.hg-form__label{font-weight:700;font-size:14.5px;color:var(--hg-ink);display:flex;align-items:center;gap:9px;}
.hg-form__req{background:#B3261E;color:#fff;border-radius:3px;font-size:11px;font-weight:700;padding:.2em .6em;}
.hg-form__opt{background:#8b98a5;color:#fff;border-radius:3px;font-size:11px;font-weight:700;padding:.2em .6em;}
.hg-form__help{font-size:12.5px;color:var(--hg-muted-2);line-height:1.8;}
.hg-form input[type="text"],.hg-form input[type="email"],.hg-form input[type="url"],
.hg-form select,.hg-form textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--hg-line-2);border-radius:4px;
  background:#fff;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--hg-ink);line-height:1.7;
}
.hg-form input:focus,.hg-form select:focus,.hg-form textarea:focus{
  border-color:var(--hg-accent);box-shadow:0 0 0 3px rgba(217,122,38,.15);outline:none;
}
.hg-form textarea{resize:vertical;min-height:170px;}
.hg-form select{appearance:none;-webkit-appearance:none;padding-right:38px;}
.hg-form__note{font-size:13px;color:var(--hg-muted);line-height:1.9;margin:0 0 20px;}
.hg-form__hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.hg-form-msg{margin:0 0 1.6em;}
.hg-form-msg--ok{background:#f1f8f3;border-color:#c3ddc9;}
.hg-form-msg--ok .hg-note__title{color:#2E7D52;}
.hg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:.8em 2em;border-radius:4px;
  font-weight:700;font-size:15px;border:0;cursor:pointer;
  background:var(--hg-accent-deep);color:#fff !important;
  transition:background .15s ease;
}
.hg-btn:hover{background:#8f470D;color:#fff !important;}
.hg-form__submit .hg-btn{width:100%;max-width:340px;}

/* =========================================================
   footer
   ========================================================= */
.footer{background:var(--hg-navy);color:#c6d0d9;border:0;}
.footer a{color:#8fa0af;}
.footer a:hover{color:var(--hg-accent);}
.footer .menu-footer li a{color:#8fa0af;font-size:12.5px;}
.footer-bottom{background:var(--hg-navy);color:#6d7f8f;border-top:1px solid #2a3a49;}
.footer-bottom a{color:#8fa0af;}
.copyright{font-size:11.5px;color:#6d7f8f;}

/* =========================================================
   front page only : Cocoonの記事用パーツを止めて全幅にする
   ========================================================= */
body.home .article-header,body.home .entry-title,
body.home .date-tags,body.home .post-date,body.home .post-update,
body.home .sns-share,body.home .sns-share-message,
body.home .sns-follow,body.home .sns-follow-message,
body.home #toc,body.home .toc,body.home .breadcrumb,
body.home .entry-categories-tags,body.home .author-info,
body.home .pager-post-navi,body.home #related-entries,
body.home .eye-catch-wrap{display:none !important;}
body.home #sidebar,body.home .sidebar{display:none !important;}
body.home #main,body.home .main{
  width:100% !important;max-width:100% !important;float:none !important;
  margin:0 !important;padding:0 !important;background:transparent;border:0;
}
body.home #content-in,body.home #content .wrap{
  width:auto !important;max-width:100% !important;padding:0 !important;margin:0 !important;
}
body.home #content{margin-top:0;padding-top:0;}
body.home .article{padding:0;}
body.home .entry-content{margin:0;}
body.home .entry-content > :first-child{margin-top:0;}

/* =========================================================
   responsive
   ========================================================= */
/* max-width は各要素側の指定を尊重する（ここで100%にすると中央寄せが壊れる） */
.hg-hero,.hg-section,.hg-calendar,.hg-card,.hg-note,.hg-cards,.hg-points,.hg-form,
.hg-acard,.hg-point{box-sizing:border-box;}
@media screen and (max-width:1023px){
  .hg-cards,.hg-points{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:834px){
  body.home #content-in,body.home #content .wrap,
  body.home #main,body.home .main,
  body.home .article,body.home .entry-content,
  body.page #content-in,body.page #content .wrap,
  body.page #main,body.page .main,
  body.page .article,body.page .entry-content{width:auto !important;max-width:100% !important;}
  .hg-hero{padding:44px 20px 40px;grid-template-columns:1fr;gap:28px;}
  .hg-hero__figure{order:-1;}
  .hg-cards--cat{grid-template-columns:repeat(2,1fr);}
  .hg-page-head__in{padding:32px 20px 28px;}
  .hg-page-body{padding:36px 20px 56px;}
  .hg-dl__row{grid-template-columns:1fr;}
  .hg-dl__k{padding:10px 16px;}
  .hg-dl__v{padding:12px 16px;}
  .hg-section{padding:48px 20px;}
  .hg-band > .hg-section{padding-top:44px;padding-bottom:48px;}
  .hg-calendar{padding:20px 18px;}
  .hg-calendar__grid{grid-template-columns:repeat(6,1fr);}
}
@media screen and (max-width:600px){
  .hg-cards,.hg-points,.hg-cards--cat{grid-template-columns:1fr;}
  .hg-hero__actions{gap:16px;flex-direction:column;align-items:flex-start;}
}
@media screen and (max-width:480px){
  body{font-size:15px;}
  .entry-content h2,.article h2{font-size:19px;padding:12px 16px;}
  .entry-content h3,.article h3{font-size:17px;}
  .hg-page-body > h2{font-size:19px !important;}
}

/* =========================================================
   accessibility
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}
.hg-sr-only{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* HG-DESIGN-END */