@charset "UTF-8";

:root{
  --ink:#333; --muted:#666; --bg:#fff;
  --tint:#fffbe5;        /* クリーム帯 */
  --alt:#f4f6f7;         /* 薄い青グレー帯 */
  --brand:#6f9e9a;
  --ok:#2c4bc4; --ng:#c62828; --point:#ff8f00;
  --border:#e5e5e5; --zebra:#fffdf2;
}

body{margin:0; color:var(--ink); /*font-family:"Hiragino Sans","Noto Sans JP",sans-serif;*/ line-height:1.8}

/* 導入コンテナ */
.k_hinmoku_container{width:min(1080px,92%); margin:0 auto; padding:24px 0 64px}

/* ===== フルブリード帯（はみ出し・横スクロール対策版） ===== */
.k_section{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:40px 0;
  background:var(--bg);
  overflow:hidden;            /* 余白のはみ出し防止 */
  box-sizing:border-box;
}
.k_section__inner{ width:min(1080px,92%); margin:0 auto; }
.section--tint { background: var(--tint); }
.section--alt  { background: var(--alt); }
.section--plain{ background: #fff; }

/* 見出し */
.k_section-title{
  text-align:center;
  font-size:clamp(22px, 2.6vw, 32px);
  font-weight:800; margin:0 0 24px;
}
/*.k_section-title::after{content:""; display:block; width:72px; height:4px; background:var(--brand); margin:10px auto 0; border-radius:2px}*/

/* メイン画像 */
.mainvisual.kaitori_hinmoku{
  background:linear-gradient(180deg, rgba(198,197,197,1) 0%, rgba(249,247,242,1) 100%);
}
.k_hinmoku_mainvisual-inner{ max-width:1350px; margin:0 auto; }
.h1_section-title{ margin:1rem auto; font-size:2.2rem; color:#593918;}
.h1_section-title span{ color:red; }
.k_hinmoku_p{ margin:1rem auto; text-align:center; font-size:1.8rem; }

/* カード */
.k_card{
  background:#fff; border:1px solid var(--border);
  border-radius:10px; padding:20px; box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.card--media{
  display:grid; grid-template-columns:280px 1fr; gap:30px; margin-bottom:20px; line-height: 2rem;
}
.card-media img{width:100%; border-radius:8px; margin-top:15%;}
.lead{color:var(--muted)}
.block-title{font-size:1.5rem; display:flex; align-items:center; gap:.5em; font-weight:700; margin: 1.2rem 0;}

/* スマホ/タブレットでのカード崩れ対策 */
@media (max-width: 767.98px){
  .card--media{ grid-template-columns:1fr; gap:12px; }
  .card-media img{margin-top:0;}
  .k_card{ padding:16px; }
  .k_card li {font-size: 1.1rem;}
}

/* リスト装飾 */
.icon-list{list-style:none; padding:0}
.icon-list li{position:relative; padding-left:2em; margin:.4em 0; font-size: 1.1rem;}
.icon-list li::before{font-family: "Font Awesome 5 Free"; content:"\f075"; position:absolute; left:0; /*top: -0.2rem;*/ /*opacity:.8;*/ color: #fac631; font-size: 1.4rem; font-weight:900;}
/*.icon-list li::before{content:"●"; position:absolute; left:0; top:.1em; font-size:.8em; opacity:.8; color: #f8930e; font-size: 1.2rem;}*/

.check-list{list-style:none; padding:0; margin-left: 1rem;}
.check-list li{position:relative; padding-left:2em; margin:.35em 0; font-size: 1.1rem;}
.check-list--ok li::before{content:"〇"; color:var(--ok); position:absolute; left:0; font-size: 1.2rem; font-weight:900}
.check-list--ng li::before{font-family: "Font Awesome 5 Free"; content:"\f00d"; color:var(--ng); position:absolute; left:0; font-size: 1.4rem; font-weight:900}
.dot-list{list-style:none; padding:0}
.dot-list li{position:relative; padding-left:2em; margin:.4em 0; font-size: 1.1rem;}
.dot-list li::before{font-family: "Font Awesome 5 Free"; content:"\f075"; position:absolute; left:0; /*opacity:.8;*/ color: #fac631; font-size: 1.4rem; font-weight:900} 
.mark{display:inline-grid; place-items:center; width:1.6em; height:1.6em; border-radius:50%}
.mark--ok{background:#b5cbf5; color:var(--ok)} .mark--ok::before{font-family: "Font Awesome 5 Free"; content:"\f044";}
.mark--ng{background:#ffebee; color:var(--ng)} .mark--ng::before{font-family: "Font Awesome 5 Free"; content:"\f044";}
.mark--point{background:#fcebd3; color:var(--point)} .mark--point::before{content:"!"}
/*.note{font-size:.95rem; color:#555; background:var(--tint); border-left:4px solid var(--brand); padding:10px 12px; border-radius:6px}*/

/* ===== 4列固定グリッド（表） ===== */
.grid-list{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr)); /* 端末共通で4列 */
  list-style:none; padding:0; margin:0;
  border:1px solid var(--border); border-bottom:none; gap:0;
}
.grid-list li{
  background:#fff; border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  font-size:clamp(13px, 1.65vw, 16px); line-height:1.6;
  padding:clamp(8px, 1.2vw, 14px) clamp(10px, 1.4vw, 16px);
  word-break:break-word;
}
.grid-list li:nth-child(4n){ border-right:none; }

/* 行ゼブラ（4列前提） */
.grid-list--rowzebra-gray li:nth-child(8n+1),
.grid-list--rowzebra-gray li:nth-child(8n+2),
.grid-list--rowzebra-gray li:nth-child(8n+3),
.grid-list--rowzebra-gray li:nth-child(8n+4){ background:#f3f4f5; }

.grid-list--rowzebra-cream li:nth-child(8n+1),
.grid-list--rowzebra-cream li:nth-child(8n+2),
.grid-list--rowzebra-cream li:nth-child(8n+3),
.grid-list--rowzebra-cream li:nth-child(8n+4){ background:var(--zebra); }


  .icon-list li,
  .check-list li,
  .dot-list li {
    margin: 1.1rem 0;
    line-height: 1.4;
  }

@media (max-width: 768px) {
  .check-list {
    margin-left: 0;
  }
}


@media (max-width: 480px) {
  .k_hinmoku_p {font-size: 1.1rem; text-align: left;}
  .h1_section-title {font-size: 1.3rem; text-align: left;  padding: 0px;}
  .section.kaitori_hinmoku {padding: 0 1%;}
  .kaitori_hinmoku.card-wrapper {padding-top: 0px;}
  .k_des {padding: 0.5rem;}
}