@charset "UTF-8";
/**
 * MPアグロ カスタムスタイル
 *
 * style.css への追加・上書き用。
 * style.css は直接編集しないこと。
 * 今後の CSS 変更はすべてこのファイルに記述する。
 *
 * ビルド: npx sass src/sass/custom.scss css/custom.css --style=expanded --no-source-map
 */
/*$color-5: #F80606;*/
/* ============================================
 * 以下に追加・上書きスタイルを記述
 * ============================================ */
/* ============================================
 * Product Page Components (.pp-*)
 * 汎用製品紹介ページコンポーネント
 * 他の製品ページでも再利用可能な設計
 * ============================================ */
/* ------------------------------ */
/* Keyvisual Brand Modifiers      */
/* 既存 .keyvisual-custom を拡張   */
/* ------------------------------ */
.keyvisual-custom.coq10 {
  border-bottom: 4px solid #009943;
}
.keyvisual-custom.coq10 .keyvisual-custom-container {
  background-image: url("../images/keyvisual-coq10.jpg");
}
.keyvisual-custom.coq10 .keyvisual-custom-heading {
  margin: 0;
}
.keyvisual-custom.coq10 .keyvisual-custom-heading-sub {
  display: block;
  color: #009943;
  font-size: 0.875em;
}
.keyvisual-custom.coq10 .keyvisual-custom-heading-logo {
  width: 420px;
  margin-top: 16px;
  margin-bottom: 12px;
}
.keyvisual-custom.coq10 .keyvisual-custom-description-main {
  color: #009943;
}
.keyvisual-custom.coq10 .keyvisual-custom-description-sub {
  font-size: 1.25em;
  line-height: 1.5;
  margin-bottom: 4px;
}
.keyvisual-custom.coq10 .pp-badges {
  margin-top: 16px;
}
.keyvisual-custom.coq10 .pp-kv-mpplus {
  margin-top: 12px;
}
.keyvisual-custom.coq10 .pp-kv-mpplus__label {
  display: block;
  font-size: 0.875em;
  font-weight: 600;
  color: #DB3830;
  margin-bottom: 6px;
  line-height: 1;
}
.keyvisual-custom.coq10 .pp-kv-mpplus .button.v2 {
  width: 320px;
  max-width: 100%;
  font-size: 16px;
  padding: 8px 16px;
  white-space: nowrap;
}
.keyvisual-custom.coq10 .pp-kv-mpplus__sub {
  width: 320px;
  max-width: 100%;
  margin: 6px 0 0;
  text-align: right;
}
@media screen and ( max-width: 1199px ) {
  .keyvisual-custom.coq10 .keyvisual-custom-heading-logo {
    width: 360px;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-container {
    background-size: auto 360px;
  }
}
@media screen and ( max-width: 991px ) {
  .keyvisual-custom.coq10 .keyvisual-custom-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    min-height: 340px;
    background-image: none;
    padding-bottom: 0;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-container::after {
    content: "";
    display: block;
    width: 100%;
    height: 200px;
    background: url("../images/keyvisual-coq10.jpg") center/contain no-repeat;
    order: 10;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-heading {
    text-align: center;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-heading-logo {
    width: 400px;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-heading-sub {
    font-size: 0.875em;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-description-sub,
  .keyvisual-custom.coq10 .keyvisual-custom-description-main {
    text-align: center;
  }
  .keyvisual-custom.coq10 .pp-badges {
    justify-content: center;
  }
  .keyvisual-custom.coq10 .pp-kv-mpplus {
    order: 20;
    text-align: center;
    margin-bottom: 16px;
  }
}
@media screen and ( max-width: 767px ) {
  .keyvisual-custom.coq10 .keyvisual-custom-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-image: none;
    padding-bottom: 0;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-container::after {
    content: "";
    display: block;
    width: 100%;
    height: 380px;
    background: url("../images/keyvisual-coq10-sp.jpg") center/contain no-repeat;
    order: 10;
  }
  .keyvisual-custom.coq10 .pp-badges {
    display: none;
  }
  .keyvisual-custom.coq10 .pp-kv-mpplus {
    display: none;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-heading-logo {
    width: 420px;
    max-width: 95%;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-heading-sub {
    font-size: 0.75em;
  }
  .keyvisual-custom.coq10 .keyvisual-custom-description-sub {
    font-size: 16px;
  }
}

/* ------------------------------ */
/* pp-section: 汎用セクション      */
/* ------------------------------ */
.pp-section {
  padding: 60px 0;
}
.pp-section--grey {
  background-color: #F8F8F8;
}
@media screen and ( max-width: 767px ) {
  .pp-section {
    padding: 40px 0;
  }
}

/* ------------------------------ */
/* pp-badges: バッジ（汎用）        */
/* KV・セクション等どこでも使える    */
/* ------------------------------ */
.pp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pp-badge {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 4px;
  font-size: 0.875em;
  font-weight: bold;
  color: #fff;
}
.pp-badge--green {
  background-color: #009943;
}
.pp-badge--blue {
  background-color: #187FC4;
}
.pp-badge--orange {
  background-color: #EF7E0A;
}
.pp-badge--red {
  background-color: #DB3830;
}

/* ------------------------------ */
/* pp-heading: セクション見出し     */
/* ------------------------------ */
.pp-heading {
  font-size: 1.875em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.3;
}
.pp-heading__sub {
  display: block;
  font-size: 0.875em;
  font-weight: normal;
  color: #898787;
  margin-top: 8px;
}
@media screen and ( max-width: 767px ) {
  .pp-heading {
    font-size: 1.5em;
    margin-bottom: 24px;
  }
}

/* ------------------------------ */
/* pp-block-heading: ブロック見出し */
/* 左ボーダー + 背景付き            */
/* ------------------------------ */
.pp-block-heading {
  font-size: 1.25em;
  font-weight: bold;
  padding: 12px 20px;
  margin-bottom: 24px;
  line-height: 1.4;
  border-left: 4px solid #009943;
  background-color: #F8F8F8;
}
.pp-block-heading--green {
  border-left-color: #009943;
}
.pp-block-heading--blue {
  border-left-color: #187FC4;
}
@media screen and ( max-width: 767px ) {
  .pp-block-heading {
    font-size: 1.125em;
    padding: 10px 16px;
  }
}

/* ------------------------------ */
/* pp-intro: イントロセクション     */
/* キャッチコピー + 製品画像         */
/* ------------------------------ */
.pp-intro__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.pp-intro__body {
  flex: 1;
  min-width: 300px;
}
.pp-intro__visual {
  flex: 0 0 auto;
  width: 340px;
  text-align: center;
}
.pp-intro__visual img {
  width: 100%;
  height: auto;
}
.pp-intro__catch {
  font-size: 1.875em;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 24px;
  color: #000;
}
.pp-intro__lead {
  font-size: 1.125em;
  line-height: 1.8;
  margin-bottom: 24px;
  color: #707070;
}
@media screen and ( max-width: 991px ) {
  .pp-intro__container {
    flex-direction: column;
  }
  .pp-intro__visual {
    width: 260px;
    margin: 0 auto;
  }
}
@media screen and ( max-width: 767px ) {
  .pp-intro__catch {
    font-size: 1.5em;
  }
}

/* ------------------------------ */
/* pp-two-col: 2カラムレイアウト    */
/* テキスト + ビジュアルの汎用配置   */
/* ------------------------------ */
.pp-two-col {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.pp-two-col__col {
  flex: 1;
  min-width: 280px;
  font-size: 1.125em;
  line-height: 1.8;
  color: #000;
}
.pp-two-col__col > p {
  margin-bottom: 16px;
}
.pp-two-col__col > p:last-child {
  margin-bottom: 0;
}
.pp-two-col__col strong {
  color: #009943;
}
.pp-two-col__visual {
  text-align: center;
  margin: 10px 0 0;
}
.pp-two-col__visual img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.pp-two-col__visual figcaption {
  margin-top: 8px;
  font-size: 0.75em;
  color: #898787;
}
@media screen and ( max-width: 991px ) {
  .pp-two-col {
    flex-direction: column;
    gap: 24px;
  }
}

/* ------------------------------ */
/* pp-cards: フィーチャーカード     */
/* 横並びのカード型レイアウト        */
/* ------------------------------ */
.pp-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.pp-cards__item {
  flex: 1;
  min-width: 280px;
  padding: 30px;
  background-color: #fff;
  border-top: 4px solid #009943;
  border-radius: 0 0 8px 8px;
}
.pp-cards__number {
  display: block;
  font-size: 2.25em;
  font-weight: bold;
  color: #009943;
  line-height: 1;
  margin-bottom: 8px;
}
.pp-cards__title {
  font-size: 1.125em;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 1.4;
}
.pp-cards__body {
  font-size: 16px;
  line-height: 1.8;
  color: #000;
}
.pp-cards__img {
  display: block;
  max-width: 200px;
  margin: 20px auto 0;
}
@media screen and ( max-width: 767px ) {
  .pp-cards {
    flex-direction: column;
  }
  .pp-cards__item {
    padding: 24px;
  }
  .pp-cards__title {
    font-size: 16px;
  }
}

/* ------------------------------ */
/* pp-recommend: おすすめグリッド   */
/* 画像+ラベルのカード型グリッド     */
/* ------------------------------ */
.pp-recommend__items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.pp-recommend__item {
  flex: 0 0 calc(33.333% - 14px);
  max-width: calc(33.333% - 14px);
  text-align: center;
  margin: 0;
}
.pp-recommend__label {
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 8px;
  background-color: #009943;
  color: #fff;
  border-radius: 4px;
  margin-bottom: 12px;
  line-height: 1.3;
}
.pp-recommend__img {
  width: 100%;
  border-radius: 8px;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media screen and ( max-width: 991px ) {
  .pp-recommend__item {
    flex: 0 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
  }
}
@media screen and ( max-width: 767px ) {
  .pp-recommend__items {
    gap: 16px;
  }
  .pp-recommend__item {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
  .pp-recommend__label {
    font-size: 0.75em;
    padding: 8px;
  }
}

/* ------------------------------ */
/* pp-manufacturing: 国内製造       */
/* テキスト+地図 / 工場写真の2カラム  */
/* ------------------------------ */
.pp-manufacturing__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
  max-width: 750px;
  margin: 0 auto;
}
.pp-manufacturing__body {
  flex: 1;
  min-width: 260px;
}
.pp-manufacturing__text {
  font-size: 1.25em;
  font-weight: bold;
  color: #009943;
  line-height: 1.6;
  margin-bottom: 20px;
}
.pp-manufacturing__map img {
  max-width: 280px;
  height: auto;
}
.pp-manufacturing__photo {
  flex: 0 0 auto;
  width: 400px;
}
.pp-manufacturing__photo img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}
@media screen and ( max-width: 991px ) {
  .pp-manufacturing__container {
    flex-direction: column;
    text-align: center;
  }
  .pp-manufacturing__map img {
    max-width: 280px;
  }
  .pp-manufacturing__photo {
    width: 320px;
  }
}
@media screen and ( max-width: 767px ) {
  .pp-manufacturing__text {
    font-size: 1.125em;
  }
  .pp-manufacturing__map img {
    max-width: 280px;
  }
  .pp-manufacturing__photo {
    width: 100%;
    max-width: 300px;
  }
}

/* ------------------------------ */
/* pp-dosage: 用量テーブル          */
/* ------------------------------ */
.pp-dosage .container {
  max-width: 560px;
}
.pp-dosage table {
  width: 100%;
  border-collapse: collapse;
}
.pp-dosage table th,
.pp-dosage table td {
  padding: 14px 20px;
  border: 1px solid #D1D1D1;
  text-align: center;
  font-size: 16px;
}
.pp-dosage table th {
  background-color: #009943;
  color: #fff;
  font-weight: bold;
}
.pp-dosage table td {
  background-color: #fff;
}
.pp-dosage__note {
  margin-top: 16px;
  font-size: 0.875em;
  color: #707070;
  text-align: center;
}
@media screen and ( max-width: 767px ) {
  .pp-dosage table th,
  .pp-dosage table td {
    padding: 10px 12px;
    font-size: 0.875em;
  }
}

/* ------------------------------ */
/* pp-package-info: パッケージ情報   */
/* パッケージ比較画像 + カネカマーク  */
/* ------------------------------ */
.pp-package-info__image {
  text-align: center;
  margin-bottom: 30px;
}
.pp-package-info__image img {
  max-width: 600px;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.pp-package-info__kaneka {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.pp-package-info__kaneka-mark {
  width: 80px;
  height: auto;
  flex-shrink: 0;
}
.pp-package-info__kaneka-text {
  font-size: 0.875em;
  color: #898787;
}
@media screen and ( max-width: 767px ) {
  .pp-package-info__image img {
    max-width: 100%;
  }
  .pp-package-info__kaneka {
    flex-direction: column;
    text-align: center;
  }
  .pp-package-info__kaneka-mark {
    width: 60px;
  }
}
