@charset "utf-8";

/* ============================================================
   CONCEPT（index.php のお店の特徴セクション）
   外枠（背景写真＋半透明の白パネル）は既存の
   .oz_TopSec_concept / .oz_TopSec_conceptBox（style.css・sp_style.css）のまま。
   その内側の組版だけをこのファイルで作る。
   フォントはサイト共通の明朝（Shippori Mincho B1 / Noto Serif JP）と
   欧文の Castoro Titling を、ユーティリティクラスに頼らず直接指定している
   （.min02 * と .eng が同じ詳細度で競合するため）。
   ============================================================ */

.concept {
  max-width: 900px;
  margin: 0 auto;
  color: #3a3230;
}

/* ---- リード ------------------------------------------------ */

.concept__lead {
  text-align: center;
  margin-bottom: 56px;
}

.concept__catch {
  font-family: "Shippori Mincho B1", serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.08em;
  margin: 0 0 26px;
  color: #2e2725;
}

/* キャッチ直下の短い罫。中央に細く引くだけで締まる */
.concept__catch::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  background: #f17066;
  margin: 26px auto 0;
}

.concept__text {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.04em;
  margin: 0;
}

/* ---- 数字 -------------------------------------------------- */

.concept__stats {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0 0 60px;
  padding: 0;
  border-top: 1px solid rgba(58, 50, 48, 0.15);
  border-bottom: 1px solid rgba(58, 50, 48, 0.15);
}

.concept__stat {
  flex: 1 1 0;
  text-align: center;
  padding: 26px 10px;
}

/* 項目間は細い縦罫で仕切る */
.concept__stat + .concept__stat {
  border-left: 1px solid rgba(58, 50, 48, 0.15);
}

.concept__statNum {
  display: block;
  font-family: "Castoro Titling", serif;
  font-size: 40px;
  line-height: 1.1;
  color: #f17066;
  margin-bottom: 8px;
}

.concept__statNum small {
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  color: #3a3230;
  margin-left: 4px;
  letter-spacing: 0.04em;
}

.concept__statLabel {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #6b605d;
}

/* ---- 特徴 -------------------------------------------------- */

.concept__features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 48px;
  margin-bottom: 60px;
}

.concept__feature {
  /* カードで囲わず、上の細罫だけで区切る（背景が写真なので箱を重ねすぎない） */
  border-top: 1px solid rgba(58, 50, 48, 0.2);
  padding-top: 20px;
}

.concept__featureEn {
  font-family: "Castoro Titling", serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: #b89a95;
  margin: 0 0 8px;
}

.concept__featureTitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0 0 12px;
  color: #2e2725;
}

.concept__featureText {
  font-family: "Noto Serif JP", serif;
  font-size: 14.5px;
  line-height: 2.05;
  letter-spacing: 0.03em;
  margin: 0;
  color: #4a423f;
}

/* ---- 選べるプラン ------------------------------------------ */

.concept__plan {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(58, 50, 48, 0.15);
  padding: 34px 38px;
  margin-bottom: 54px;
}

.concept__planHead {
  text-align: center;
  margin-bottom: 24px;
}

.concept__planEn {
  display: block;
  font-family: "Castoro Titling", serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  color: #b89a95;
  margin-bottom: 6px;
}

.concept__planTitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0;
  color: #2e2725;
}

.concept__planList {
  margin: 0;
}

.concept__planRow {
  display: flex;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px dotted rgba(58, 50, 48, 0.25);
}

.concept__planRow:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.concept__planRow dt {
  flex: 0 0 168px;
  font-family: "Shippori Mincho B1", serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.9;
  color: #2e2725;
}

.concept__planRow dd {
  flex: 1 1 auto;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 14.5px;
  line-height: 1.95;
  letter-spacing: 0.03em;
  color: #4a423f;
}

/* ---- 締め -------------------------------------------------- */

.concept__closing {
  text-align: center;
}

.concept__message {
  font-family: "Shippori Mincho B1", serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin: 0 0 20px;
  color: #2e2725;
}

.concept__outro {
  font-family: "Noto Serif JP", serif;
  font-size: 14.5px;
  line-height: 2.1;
  letter-spacing: 0.03em;
  margin: 0;
  color: #4a423f;
}

/* ---- SP ---------------------------------------------------- */

@media (max-width: 768px) {
  .concept__lead {
    margin-bottom: 40px;
  }

  .concept__catch {
    font-size: 21px;
    line-height: 1.85;
    letter-spacing: 0.06em;
  }

  .concept__catch::after {
    margin-top: 20px;
  }

  .concept__text {
    font-size: 14px;
    line-height: 2.05;
    text-align: left;
  }

  /* 数字は3つ横並びだと詰まるので2列に折り返す */
  .concept__stats {
    flex-wrap: wrap;
    margin-bottom: 42px;
  }

  .concept__stat {
    flex: 0 0 50%;
    padding: 20px 6px;
  }

  .concept__stat:nth-child(odd) {
    border-left: 0;
  }

  .concept__stat:nth-child(n + 3) {
    border-top: 1px solid rgba(58, 50, 48, 0.15);
  }

  .concept__statNum {
    font-size: 32px;
  }

  .concept__statNum small {
    font-size: 13px;
  }

  .concept__statLabel {
    font-size: 12px;
  }

  .concept__features {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 42px;
  }

  .concept__featureTitle {
    font-size: 17px;
  }

  .concept__featureText {
    font-size: 14px;
    line-height: 1.95;
  }

  .concept__plan {
    padding: 24px 18px;
    margin-bottom: 38px;
  }

  .concept__planTitle {
    font-size: 18px;
  }

  /* 項目名と説明は縦積みにする */
  .concept__planRow {
    display: block;
    padding: 14px 0;
  }

  .concept__planRow dt {
    margin-bottom: 4px;
  }

  .concept__planRow dd {
    font-size: 14px;
  }

  .concept__message {
    font-size: 18px;
    letter-spacing: 0.08em;
  }

  .concept__outro {
    font-size: 13.5px;
    text-align: left;
  }
}
