@charset "utf-8";
/* CSS Document */
/* ===== News (新着情報) ===== */
#news.news-section {
  margin: 50px 0 50px 0;
}
#news .news-wrap {
  
  width: 70%; /* ← PC幅を少し狭める */
  max-width: 880px; /* 最大幅を設定して中央寄せ */
  margin: 0 auto; /* ← 中央配置 */
  padding: 24px 24px 16px 24px;
}
#news .news-title {
  font-size: 1.2rem;
  text-align: left;
  margin: 0 0 8px 0;
  letter-spacing: .08em;
}
#news .news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
#news .news-list li {
  border-top: 1px solid #e5e5e5;
}
#news .news-list li:first-child {
  border-top: none;
}
#news .news-list a {
  display: flex;
  align-items: baseline;
  gap: 1.2rem;
  padding: 12px 4px;
  text-decoration: none;
  color: #333;
}
#news .news-list time {
  color: #0C343D;
  font-weight: 600;
  font-feature-settings: "pnum";
  letter-spacing: .05em;
  width: 8.4em;
  flex: 0 0 auto;
}
#news .news-list .ttl {
  flex: 1 1 auto;
  line-height: 1.8;
}
#news .news-btn {
  margin-top: 10px;
  text-align: right;
}
/* SP: 全幅表示に切替 */
@media screen and (max-width: 920px) {
  #news .news-wrap {
    width: 96%; /* ← スマホはほぼ全幅 */
    max-width: none;
  }
  #news .news-list a {
    display: block;
  }
  #news .news-list time {
    display: block;
    margin-bottom: 4px;
  }
  #news .news-btn {
    text-align: center;
  }
}

/* ===== Price notice layout ===== */
.price-notice {
  width: 90%;
  margin: 0 auto 100px auto;
}

/* 下：白カードを１カラムで中央寄せ */
.price-notice .two-col {
  display: grid;
  grid-template-columns: 1fr;           /* ← 1カラム */
  gap: 28px;
  margin: 18px auto 0;                  /* 中央寄せ */
  background: rgba(255, 255, 255, 0.9); /* 半透明の白 */
  box-shadow: 0 4px 4px #ccc;
  padding: 24px;
  max-width: 1100px;                    /* 広がり過ぎ防止（任意） */
}

/* 左側テキスト */
.price-notice .price-col-text h2 {
  margin: 0 0 12px 0;
  font-size: 1.6rem;
  letter-spacing: .06em;
}
.price-notice .price-col-text h3 {
  margin: 0 0 12px 0;
  font-size: 1rem;
  line-height: 1.9;
}
.price-notice .price-col-text p { margin: 0 0 10px 0; }

.notice-small {
  font-size: .9rem;
  opacity: .8;
  margin-top: 8px;
  color: #b03e3e;
}

.price-notice h2 {
  font-size: 2rem;
  text-align: center;
  color: #0C343D;
  margin-bottom: 20px;
}
.price-notice .price-col-text {
  font-size: 1rem;
  opacity: .8;
  margin-top: 8px;
	font-weight: 200;
}

/* ▼ テキスト直下の policy-grid（PCは横3列） */
.price-col-policies { margin-top: 20px; }

.price-notice .policy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* PC 横3 */
  gap: 16px;
}

/* カード本体＋背景アイコン */
.price-notice .policy-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 16px 18px 16px 56px; /* 左にアイコン分の余白 */
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  line-height: 1.7;
  box-shadow: 0 2px 2px rgba(0,0,0,.04);
  text-align: left;
}
.price-notice .policy-card::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-color: #b03e3e;                 /* 単色で着色 */
  -webkit-mask: url("../img/icon/check.svg") no-repeat center / contain;
          mask: url("../img/icon/check.svg") no-repeat center / contain;
}

/* 見出しテキスト */
.policy-card h5 {
  margin: 0;
  font-size: 1rem;
  color: #b03e3e;
  line-height: 1.9;
}

/* 補足テキスト */
.policy-card p {
  font-size: 0.95rem;
  color: #333;
  line-height: 1.6;
  text-align: center;
}

/* PC幅の微調整：本文行間をやや広めに */
@media screen and (min-width: 921px) {
  .price-notice .price-col-text { line-height: 1.9; }
}

/* タブレット以下：2カラム→縦積み（1カラムのままなので変更なし） */
@media screen and (max-width: 1020px) {
  .price-notice .two-col { grid-template-columns: 1fr; }
}

/* SP：policy-grid は横2列 → 520px以下で1列 */
@media screen and (max-width: 920px) {
  .price-notice { width: 96%; }
  .price-notice .two-col { padding: 18px; }
  .price-notice .policy-grid {
    grid-template-columns: repeat(2, 1fr);   /* 2列 */
    gap: 8px;
  }
  .price-notice .policy-card { padding: 14px 10px 14px 52px; }
  .price-notice .price-col-text h2 { font-size: 1.4rem; }
  .price-notice .price-col-text h3 { font-size: .95rem; }
}
@media screen and (max-width: 520px) {
  .price-notice .policy-grid { grid-template-columns: 1fr; } /* 1列 */
}
/* 見出し用の画像 */
.price-heading-img img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px; /* 見出しとの間隔 */
  border-radius: 6px;  /* 他と合わせるなら角丸 */
}

/* セクション全体の枠線 */
.price-notice .two-col {
  border: 2px solid #001e43; /* 濃い紺色 */
}
