.fs-trial-header__note{display: none;}
/* .fs-c-reviewList__item[data-product-id="20"]{display: none;} */
/* iOS Safari マイページレイアウト修正 */
#fs_MyPageTop .fs-c-accountService__page{
  width: 100%;
}

/* =========================================================
   金剛堂｜お仏壇お引き取りサービス v2
   SP基本／PC拡張・通常商品へ影響しない専用CSS
   ========================================================= */

.kd-service-pickup {
  --kd-red: #b00000;
  --kd-navy: #303f8f;
  --kd-orange: #ff804a;
  --kd-ink: #333;
  --kd-line: #d0d0d0;
  --kd-soft: #f4f4f4;
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  color: var(--kd-ink);
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 15px;
  line-height: 1.8;
}

.kd-service-pickup,
.kd-service-pickup *,
.kd-service-pickup *::before,
.kd-service-pickup *::after {
  box-sizing: border-box;
}

.kd-service-pickup * {
  min-width: 0;
}

.kd-service-pickup h2,
.kd-service-pickup h3,
.kd-service-pickup p {
  margin-top: 0;
}

.kd-service-pickup img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 共通部品 */
.kd-pickup-eyebrow {
  margin-bottom: 12px;
  color: var(--kd-red);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}

.kd-pickup-caption {
  margin: 15px 0 0;
  font-size: 12px;
}

/* 01：ファーストビュー */
.kd-pickup-hero {
  display: flex;
  flex-direction: column-reverse;
  width: auto;
  margin: 0 20px 50px;
  background: var(--kd-soft);
}

.kd-pickup-hero__body {
  padding: 27px 23px;
}

.kd-pickup-hero h2 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

.kd-pickup-lead {
  margin-bottom: 20px;
  font-size: 13px;
}

.kd-pickup-points,
.kd-pickup-checks {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kd-pickup-points {
  font-size: 13px;
  font-weight: 700;
}

.kd-pickup-points li,
.kd-pickup-checks li {
  position: relative;
  padding-left: 30px;
}

.kd-pickup-points li + li {
  margin-top: 8px;
}

.kd-pickup-points li::before,
.kd-pickup-checks li::before {
  content: "✓";
  display: grid;
  position: absolute;
  left: 0;
  top: .3em;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  background: var(--kd-navy);
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.kd-pickup-hero__media {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.kd-pickup-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kd-pickup-hero__media--placeholder {
  display: grid;
  place-content: center;
  gap: 5px;
  background: #d0d0d0;
  color: #fff;
  text-align: center;
}

.kd-pickup-hero__media--placeholder span {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .06em;
}

.kd-pickup-hero__media--placeholder small {
  font-size: 12px;
}

/* 02：項目選択肢の補足（商品情報欄内） */
.kd-pickup-option-note {
  margin: 20px 0 50px;
  padding: 18px;
  border-left: 4px solid var(--kd-orange);
  background: #fff8f2;
}

.kd-pickup-option-note p {
  margin-bottom: 5px;
  font-size: 13px;
}

.kd-pickup-option-note p:last-child {
  margin-bottom: 0;
}

/* 03：申込後案内・相談導線 */
.kd-pickup-after {
  display: flex;
  width: auto;
  margin: 0 20px 50px;
  padding: 19px;
  gap: 16px;
  border-top: 3px solid var(--kd-navy);
  background: #f1f4fb;
}

.kd-pickup-after__icon {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--kd-navy);
  color: #fff;
  font-weight: 700;
}

.kd-pickup-after h2 {
  margin-bottom: 6px;
  font-size: 18px;
  line-height: 1.5;
}

.kd-pickup-after p {
  margin-bottom: 6px;
  font-size: 13px;
}

.kd-pickup-after p:last-child {
  margin-bottom: 0;
}

.kd-pickup-consult {
  width: auto;
  margin: 0 20px 50px;
  padding: 23px 20px;
  border: 1px solid var(--kd-line);
}

.kd-pickup-consult h2 {
  margin-bottom: 8px;
  font-size: 20px;
}

.kd-pickup-consult p:not(.kd-pickup-eyebrow) {
  margin-bottom: 0;
  font-size: 13px;
}

.kd-pickup-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  padding: 10px 18px;
  gap: 20px;
  border: 1px solid var(--kd-red);
  color: var(--kd-red) !important;
  font-weight: 700;
  text-decoration: none;
}

/* 04：サービス詳細 */
.kd-pickup-section {
  width: auto;
  margin: 0 20px 50px;
}

.kd-pickup-section--soft {
  margin-inline: 0;
  padding: 36px 20px;
  background: var(--kd-soft);
}

.kd-pickup-heading {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
  gap: 16px;
  font-size: 22px;
  line-height: 1.5;
}

.kd-pickup-heading > span {
  flex: 0 0 auto;
  margin-top: 2px;
  padding-top: 5px;
  border-top: 2px solid var(--kd-red);
  color: var(--kd-red);
  font-size: 13px;
  line-height: 1;
}

.kd-pickup-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kd-pickup-cards article {
  padding: 18px 14px;
  background: #fff;
}

.kd-pickup-card-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #f1f2f8;
  color: var(--kd-navy);
  font-size: 18px;
  font-weight: 700;
}

.kd-pickup-cards h3 {
  margin: 14px 0 7px;
  font-size: 15px;
}

.kd-pickup-cards p {
  margin-bottom: 0;
  font-size: 12px;
}

.kd-pickup-checks {
  border-top: 1px solid var(--kd-line);
}

.kd-pickup-checks li {
  padding: 18px 8px 18px 38px;
  border-bottom: 1px solid var(--kd-line);
}

.kd-pickup-checks li::before {
  left: 6px;
  top: 21px;
}

/* 採寸図 */
.kd-pickup-measure__figure {
  display: grid;
  position: relative;
  min-height: 290px;
  margin-bottom: 22px;
  place-items: center;
  background: #eee;
  color: var(--kd-navy);
}

.kd-pickup-measure__altar {
  display: grid;
  position: relative;
  width: 120px;
  height: 180px;
  place-items: center;
  background: #555;
  color: #fff;
}

.kd-pickup-dim-height {
  position: absolute;
  left: -50px;
  top: 45%;
  color: var(--kd-navy);
  font-size: 13px;
}

.kd-pickup-dim-height::after {
  content: "↕";
  display: block;
  font-size: 24px;
  text-align: center;
}

.kd-pickup-dim-width {
  position: absolute;
  bottom: -38px;
  color: var(--kd-navy);
  font-size: 13px;
}

.kd-pickup-dim-width::before {
  content: "↔ ";
  font-size: 22px;
}

.kd-pickup-dim-depth {
  position: absolute;
  right: 12%;
  bottom: 18%;
  font-size: 13px;
}

.kd-pickup-dim-depth::after {
  content: " ↗";
  font-size: 22px;
}

.kd-pickup-formula {
  margin: 20px 0;
  padding: 20px;
  background: var(--kd-navy);
  color: #fff;
}

.kd-pickup-formula > * {
  display: block;
}

.kd-pickup-formula small {
  margin-bottom: 5px;
}

.kd-pickup-formula strong {
  font-size: 22px;
}

/* 利用の流れ */
.kd-pickup-flow {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
  gap: 1px;
  background: var(--kd-line);
  list-style: none;
}

.kd-pickup-flow li {
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 15px 18px;
  gap: 12px;
  background: #fff;
}

.kd-pickup-flow b {
  color: var(--kd-red);
  font-size: 12px;
}

.kd-pickup-flow span {
  font-size: 14px;
  font-weight: 700;
}

/* 05：FAQ・最終CTA */
.kd-pickup-faq details {
  border-top: 1px solid var(--kd-line);
}

.kd-pickup-faq details:last-of-type {
  border-bottom: 1px solid var(--kd-line);
}

.kd-pickup-faq summary {
  position: relative;
  padding: 18px 44px 18px 40px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.kd-pickup-faq summary::-webkit-details-marker {
  display: none;
}

.kd-pickup-faq summary::before {
  content: "Q";
  position: absolute;
  left: 10px;
  color: var(--kd-red);
}

.kd-pickup-faq summary::after {
  content: "+";
  position: absolute;
  right: 14px;
  font-size: 22px;
  font-weight: 400;
}

.kd-pickup-faq details[open] summary::after {
  content: "−";
}

.kd-pickup-faq details p {
  position: relative;
  margin: 0;
  padding: 18px 18px 18px 40px;
  background: var(--kd-soft);
  font-size: 14px;
}

.kd-pickup-faq details p::before {
  content: "A";
  position: absolute;
  left: 10px;
  color: var(--kd-navy);
  font-weight: 700;
}

.kd-pickup-final {
  margin: 0;
  padding: 38px 20px;
  background: var(--kd-soft);
  text-align: center;
}

.kd-pickup-final p {
  margin-bottom: 5px;
  font-size: 14px;
}

.kd-pickup-final h2 {
  margin-bottom: 25px;
  font-size: 18px;
}

.kd-pickup-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 370px;
  min-height: 54px;
  margin: 0 auto;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--kd-red);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}

/* PC：721px以上で横組み・余白を拡張 */
@media (min-width: 721px) {
  .kd-service-pickup {
    font-size: 16px;
  }

  .kd-pickup-hero {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    margin: 0 0 100px;
  }

  .kd-pickup-hero__body {
    padding: 50px;
  }

  .kd-pickup-hero h2 {
    font-size: 34px;
  }

  .kd-pickup-lead,
  .kd-pickup-points {
    font-size: 14px;
  }

  .kd-pickup-option-note {
    max-width: 720px;
    margin: 20px auto 50px;
    padding: 20px 24px;
  }

  .kd-pickup-after {
    max-width: 720px;
    margin: 0 auto 50px;
    padding: 25px 30px;
    gap: 18px;
  }

  .kd-pickup-after h2 {
    font-size: 19px;
  }

  .kd-pickup-consult {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 100px;
    padding: 30px 38px;
    gap: 40px;
  }

  .kd-pickup-consult h2 {
    font-size: 24px;
  }

  .kd-pickup-secondary {
    flex: 0 0 auto;
    width: auto;
    min-width: 230px;
    margin-top: 0;
  }

  .kd-pickup-section {
    margin: 0 0 100px;
  }

  .kd-pickup-section--soft {
    padding: 50px;
  }

  .kd-pickup-heading {
    margin-bottom: 35px;
    gap: 18px;
    font-size: 28px;
  }

  .kd-pickup-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .kd-pickup-cards article {
    padding: 22px 18px;
  }

  .kd-pickup-measure {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 50px;
  }

  .kd-pickup-measure__figure {
    margin-bottom: 0;
  }

  .kd-pickup-formula strong {
    font-size: 25px;
  }

  .kd-pickup-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kd-pickup-flow li {
    align-items: flex-start;
    min-height: 90px;
    padding: 20px;
  }

  .kd-pickup-faq summary {
    padding: 20px 52px 20px 46px;
  }

  .kd-pickup-faq summary::before,
  .kd-pickup-faq details p::before {
    left: 15px;
  }

  .kd-pickup-faq details p {
    padding: 20px 25px 20px 46px;
  }

  .kd-pickup-final {
    padding: 50px 25px;
  }

  .kd-pickup-final h2 {
    font-size: 21px;
  }
}

/* =========================================================
   お仏壇お引き取りサービス v2 ここまで
   ========================================================= */