/* ==========================================================================
   taste-simple.css
   イメージテイスト: 3-2. シンプル（ミニマル・洗練・現代的）
   Google Fonts（Noto Sans JP）を使用するため、HTMLの<head>にfontsリンクが必要。
   ========================================================================== */

:root {
  --color-primary: #2d2d2d;
  --color-primary-dark: #1a1a1a;
  --color-accent: #2d2d2d;
  --color-accent-contrast: #2d2d2d;

  --color-bg: #fafafa;
  --color-bg-alt: #f0f0f0;
  --color-text: #2d2d2d;
  --color-text-light: #767676;
  --color-border: #e4e4e4;

  --color-header-bg: #fafafa;
  --color-footer-bg: #2d2d2d;
  --color-footer-text: #fafafa;

  --color-cta-bg: #2d2d2d;
  --color-cta-text: #fafafa;

  --font-heading: "Noto Sans JP", system-ui, sans-serif;
  --font-body: "Noto Sans JP", system-ui, sans-serif;
  --letter-spacing-heading: 0.03em;

  --radius: 2px;
  --radius-lg: 2px;

  /* 影は一切使用せず、平面的な美しさを追求 */
  --shadow-sm: none;
  --shadow-md: none;
  --border-style: 1px solid #e4e4e4;
}

body {
  font-weight: 300;
  line-height: 2;
}

h1, h2, h3 { font-weight: 400; }

/* 余白を通常の1.2〜1.5倍に */
.section { padding: 88px 0; }
.section__head { margin-bottom: 56px; }
.container { padding: 0 28px; }
.feature-card,
.voice-card { padding: 40px 28px; }
.service-card__body { padding: 28px; }

/* 枠線・背景色を極力なくし、テキストリンク／下線を基調に */
.feature-card,
.service-card,
.voice-card {
  border: none;
  box-shadow: none;
  background: transparent;
}

.service-card {
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
}

.btn--primary,
.form-submit .btn {
  background: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-text);
  border-radius: 0;
  box-shadow: none;
}

.btn--primary:hover,
.form-submit .btn:hover {
  background: var(--color-text);
  color: var(--color-bg);
}

.btn--outline {
  border-radius: 0;
  border: none;
  border-bottom: 1px solid currentColor;
  padding-left: 0;
  padding-right: 0;
}

/* ナビの通常リンクと見分けがつくよう、枠で囲んだボタン形状にする（下線だけだと隣のナビ項目と同一に見えてしまうため） */
.header-cta {
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-text);
  padding: 10px 20px;
}

.header-cta:hover {
  background: var(--color-text);
  color: var(--color-bg);
}

/* シンプルは色ではなく下線で強調する方針（MVの背景色に合わせた色選定が不要になり、常に読める） */
.mv__catch em {
  color: #fff;
  font-style: normal;
  border-bottom: 2px solid #fff;
  padding-bottom: 2px;
}

/* MV（写真背景に直接重なるボタン）は透過style だと視認性が落ちるため、白地に固定 */
.mv .btn--primary {
  background: #fff;
  color: var(--color-text);
  border: none;
}

.mv .btn--primary:hover {
  background: var(--color-bg-alt);
}

.gallery-grid__item .photo-block,
.mv--photo .mv__photo,
.special-card .photo-block,
.service-card__thumb {
  border-radius: 0;
}

.section__title::after {
  content: none;
}
