/* フロントページ共通: セクション/見出し/装飾 */

/* セクション: フロントページの共通余白 */
.front-section {
  padding: 72px 0;
}

/* 見出し: セクションの中央タイトル */
.section-center {
  text-align: center;
  font-family: var(--font-gothic);
  font-size: 19px;
  margin: 0 0 24px;
}

/* 見出し補助: 英字の小見出し */
.section-subtitle {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-muted);
}

/* 画像枠: ダミー画像用のプレースホルダー */
.image-placeholder {
  background: var(--brand-gray);
  border-radius: 4px;
  display: grid;
  place-items: center;
  color: var(--color-muted);
  font-size: 12px;
  min-height: 240px;
}

/* 背景: 罫線パターンの装飾 */
.pattern-bg {
  background-color: var(--brand-white);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='260' viewBox='0 0 420 260' fill='none'><path d='M10 190L120 20L260 80L400 10' stroke='%23e7e7e7' stroke-width='1'/><path d='M20 40L150 140L60 240' stroke='%23ededed' stroke-width='1'/><path d='M200 30L320 130L280 230' stroke='%23e7e7e7' stroke-width='1'/><path d='M360 60L250 160L400 250' stroke='%23ededed' stroke-width='1'/></svg>");
  background-repeat: repeat;
  background-size: 420px 260px;
}

/* アイコン: 折り紙の控えめカラー */
.origami-muted {
  color: var(--color-muted);
}

/* アイコン: ギフトモチーフのサイズ */
.gift-icon {
  width: 40px;
  height: 40px;
  display: block;
  margin: 0 auto 12px;
  color: var(--brand-orange);
}

/* アイコン: ギフトの線スタイル */
.gift-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

/* フロント共通: 明朝の大見出し */
.front-section .nb-h1 {
  margin: 0;
  font-family: var(--font-title);
  font-size: 30px;
  font-style: var(--font-style-mincho-regular);
  font-weight: var(--weight-mincho-regular);
  line-height: 1.5;
  color: var(--color-text);
}

/* フロント共通: ゴシックの中見出し */
.front-section .nb-h2 {
  margin: 0;
  font-family: var(--font-gothic);
  font-size: 19px;
  font-weight: var(--weight-gothic-medium);
  line-height: 1.6;
  color: var(--color-text);
}

/* フロント共通: 本文 */
.front-section .nb-p {
  margin: 0;
  font-family: var(--font-gothic);
  font-size: 15px;
  font-weight: var(--weight-gothic-regular);
  line-height: 2;
  color: var(--color-text);
}

@media (max-width: 768px) {
  /* モバイル: セクション余白の圧縮 */
  .front-section {
    padding: 56px 0;
  }
}

@media (min-width: 768px) {
  .front-section h2.nb-pc-h2 {
    font-family: var(--font-gothic);
    font-size: 22px;
    font-weight: var(--weight-gothic-medium);
  }

  .front-section .nb-h1 {
    font-size: 40px;
  }

  .front-section .nb-h2 {
    font-size: 24px;
  }

  /* PC: セクション中央見出しのサイズ */
  .section-center {
    font-size: 24px;
  }
}
