/*
  料金プランページ。Figma QptNYuzqAdpd6Oejnpxr1J / 14:641（1680px）が正本。
  共通ヘッダー・フッター・パンくずの見た目は common.css 側にあります。
  目次（.wcb-toc）はこのファイル、青いCTAは service-cta.css で管理します。
  PCは 1rem = 16px。768〜1399px は html の font-size を縮めて全体を等比で縮小します。
  数字のうちカンプでDIN系だったものは Gidole（.wb-price-num）で組んでいます。
  スマホ（767.98px以下）はファイル末尾のメディアクエリにまとめています。
*/
html {
  font-size: 100%;
}
.wb-price {
  position: relative;
  isolation: isolate;
  /* 背景文字はカンプどおり右端の外へ出るため、横スクロールだけ止める */
  overflow-x: clip;
  color: #000025;
  -webkit-font-smoothing: antialiased;
}
/* 見た目は common.css の .wb-breadcrumb。ここではこのページでの位置だけ指定する */
.wb-breadcrumb--price {
  padding-top: 109.274px;
  padding-top: 6.8296rem;
}
.wb-price__decoration {
  position: absolute;
  z-index: -1;
  top: 49.714px;
  top: 3.1071rem;
  /*
    カンプの右端は1697.159px（フレーム右外へ17.159px）。CSSは最後の1文字のうしろにも
    字送り33.2474pxが入るため、その分（合計50.405px）だけ右へずらして文字位置をそろえる。
  */
  right: -50.405px;
  right: -3.1503rem;
  color: transparent;
  background-image: linear-gradient(104.7133074681075deg, #f0effc 8.1107%, #e3eefd 76.025%);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: "Ubuntu", sans-serif;
  font-size: 195.573px;
  font-size: 12.2233rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 33.2474px;
  letter-spacing: 2.078rem;
  white-space: nowrap;
  opacity: 0.59;
}
.wb-price__inner {
  width: 90%;
  max-width: 879.634px;
  max-width: 54.9771rem;
  margin-inline: auto;
  padding-top: 110.44px;
  padding-top: 6.9025rem;
  padding-bottom: 179.107px;
  padding-bottom: 11.1942rem;
}

/* 導入（見出し・リード文・上部CTA） */
.wb-price__ttl {
  margin-bottom: 25.15px;
  margin-bottom: 1.5719rem;
  color: #00006b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 46.28px;
  font-size: 2.8925rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2.314px;
  letter-spacing: 0.1446rem;
}
.wb-price__lead {
  padding-left: 2px;
  padding-left: 0.125rem;
  color: #00006b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 1.19px;
  letter-spacing: 0.0744rem;
}
.wb-price__actions {
  margin-top: 31.45px;
  margin-top: 1.9656rem;
  display: flex;
  gap: 4.531px;
  gap: 0.2832rem;
}
/* ボタンの土台（枠線・角丸・ホバー）は common.css の .wb-btn。ここでは寸法だけ上書きする */
.wb-price__action {
  min-height: 66.286px;
  min-height: 4.1429rem;
  border-radius: 3.567px;
  border-radius: 0.2229rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.5px;
  font-size: 0.9063rem;
  font-weight: 700;
  line-height: normal;
}
.wb-price__action--contact {
  width: 262.212px;
  width: 16.3883rem;
  padding-left: 28.199px;
  padding-left: 1.7624rem;
  padding-right: 26.509px;
  padding-right: 1.6568rem;
  justify-content: space-between;
  border: 0;
  letter-spacing: 1.595px;
  letter-spacing: 0.0997rem;
}
.wb-price__action--download {
  width: 227.651px;
  width: 14.2282rem;
  padding-left: 39.403px;
  padding-left: 2.4627rem;
  padding-right: 0;
  gap: 4.686px;
  gap: 0.2929rem;
  justify-content: flex-start;
  border-width: 1.995px;
  border-width: 0.1247rem;
  letter-spacing: 1.45px;
  letter-spacing: 0.0906rem;
}
.wb-price__action-label {
  display: block;
}
.wb-price__action-icon {
  width: 42.531px;
  width: 2.6582rem;
  height: 33.225px;
  height: 2.0766rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 95.904px;
  border-radius: 5.994rem;
  background: rgba(255, 255, 255, 0.2);
}
.wb-price__action-icon::after {
  width: 7.508px;
  width: 0.4693rem;
  height: 7.508px;
  height: 0.4693rem;
}
.wb-price__action-arrow {
  width: 7.508px;
  width: 0.4693rem;
  height: 7.508px;
  height: 0.4693rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price__action-external {
  width: 18.167px;
  width: 1.1354rem;
  height: 18.165px;
  height: 1.1353rem;
  flex: 0 0 auto;
  display: block;
}

/* 目次。サービスページの .wcb-toc と同じ作り。値はこのカンプから取っている */
.wb-price .wcb-toc {
  margin-top: 63.463px;
  margin-top: 3.9664rem;
  max-width: 796.986px;
  max-width: 49.8116rem;
}
.wb-price .wcb-toc__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* 1行目の「Webコンサルティング（主力プラン）」だけ2行になるが、カンプでは行の間隔が変わらない */
  grid-auto-rows: 42.467px;
  grid-auto-rows: 2.6542rem;
  column-gap: 30.528px;
  column-gap: 1.908rem;
  row-gap: 13.685px;
  row-gap: 0.8553rem;
  list-style: none;
}
.wb-price .wcb-toc__link {
  height: 42.467px;
  height: 2.6542rem;
  padding-top: 0;
  padding-right: 0.673px;
  padding-right: 0.0421rem;
  padding-bottom: 11.2px;
  padding-bottom: 0.7rem;
  padding-left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* カンプでは文字の右端620.54pxからアイコンの左端627.02pxまで6.48px空く */
  gap: 6.48px;
  gap: 0.405rem;
  border-bottom: 1px solid #d9dfec;
  color: #000025;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.75px;
  letter-spacing: 0.0469rem;
  text-decoration: none;
  position: relative;
}
.wb-price .wcb-toc__link::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  height: 0.0625rem;
  background: #00006b;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
@media (hover: hover) {
  .wb-price .wcb-toc__link:hover::after {
    transform: scaleX(1);
  }
  .wb-price .wcb-toc__link:hover .wcb-toc__icon {
    transform: translateY(3px);
  }
}
.wb-price .wcb-toc__label {
  min-width: 0;
  /* 行末にも字送りが付くぶんを戻して、カンプと同じ文字数で折り返すようにする */
  margin-right: -0.75px;
  margin-right: -0.0469rem;
  line-height: 1.35;
}
/* MEOページの目次と同じ矢印画像を使う */
.wb-price .wcb-toc__icon {
  flex-basis: 18.143px;
  flex-basis: 1.1339rem;
  width: 18.143px;
  width: 1.1339rem;
  height: 18.143px;
  height: 1.1339rem;
  flex-grow: 0;
  flex-shrink: 0;
  display: block;
  transition: transform 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .wb-price .wcb-toc__link::after {
    transition: none;
  }
  .wb-price .wcb-toc__icon {
    transition: none;
  }
}

/* セクション共通（英字ラベル画像＋見出し） */
.wb-price-section {
  margin-top: 100.44px;
  margin-top: 6.2775rem;
  /* 目次から飛んだときに、追従ヘッダーで見出しが隠れないようにする（他ページと同じ値） */
  scroll-margin-top: 128px;
  scroll-margin-top: 8rem;
}
/* 目次のすぐ下にくる最初のセクションだけ、カンプでは少し離れている */
.wb-price .wcb-toc + .wb-price-section {
  margin-top: 110.44px;
  margin-top: 6.9025rem;
}
.wb-price-section__label-img {
  margin-left: 0.192px;
  margin-left: 0.312rem;
  width: auto;
  display: block;
  margin-bottom: 0.6rem;
}
/* 主力プランと個別サービスの英字ラベルだけ、カンプでは少し右から始まる */
.wb-price-flagship .wb-price-section__label-img {
  margin-left: 5.191px;
  margin-left: 0.3244rem;
  height: 33px;
  height: 2.0625rem;
}
.wb-price-services .wb-price-section__label-img {
  margin-left: 5.191px;
  margin-left: 0.3244rem;
  height: 33px;
  height: 2.0625rem;
}
.wb-price-discount .wb-price-section__label-img {
  height: 33px;
  height: 2.0625rem;
}
.wb-price-cost .wb-price-section__label-img {
  height: 33px;
  height: 2.0625rem;
}
.wb-price-terms .wb-price-section__label-img {
  height: 33px;
  height: 2.0625rem;
}
.wb-price-flow .wb-price-section__label-img {
  height: 13.5px;
  height: 0.8438rem;
}
.wb-price-faq .wb-price-section__label-img {
  margin-left: 0.825px;
  margin-left: 0.0516rem;
  height: 33px;
  height: 2.0625rem;
}
.wb-price-section__ttl {
  margin-top: 4.29px;
  margin-top: 0.2681rem;
  color: transparent;
  background-image: linear-gradient(128.03885492824224deg, #084eb7 0.513%, #1a298c 94.347%);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2.66px;
  letter-spacing: 0.1663rem;
}

/* 料金の数字。カンプのDIN 2014はWebフォントにないため Gidole で組む（太字は合成ボールド） */
.wb-price-num {
  font-family: "Gidole", sans-serif;
  font-weight: 700;
  font-synthesis-weight: auto;
}

/* 主力プラン。カード1枚のなかを、帯・料金・説明・期間/内容の順に上から積む */
.wb-price-flagship__card {
  margin-top: 50.47px;
  margin-top: 3.1544rem;
  width: 879.384px;
  width: 54.9615rem;
  margin-inline: auto;
  padding-top: 18.244px;
  padding-top: 1.1403rem;
  padding-right: 28.942px;
  padding-right: 1.8089rem;
  padding-bottom: 47.02px;
  padding-bottom: 2.305625rem;
  padding-left: 29.797px;
  padding-left: 1.8623rem;
  border-radius: 20px;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.65);
  box-shadow: 0 0 21.9px rgba(200, 212, 224, 0.79);
}
.wb-price-flagship__name {
  min-height: 62.593px;
  min-height: 3.9121rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  border-radius: 0.1875rem;
  background-image: linear-gradient(90deg, #084eb7 0%, #1a298c 100%);
  color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 26.112px;
  font-size: 1.632rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2.3501px;
  letter-spacing: 0.1469rem;
  text-align: center;
}
.wb-price-flagship__pricing {
  /* 帯の下から区切り線までの高さをカンプに合わせて固定する。
     料金の数字が大きく行の高さが読みにくいため、外側の高さで位置を決めている。 */
  height: 103.952px;
  height: 6.497rem;
  display: flex;
  align-items: flex-start;
  column-gap: 21.86px;
  column-gap: 1.3663rem;
}
.wb-price-flagship__price {
  margin-top: 21.5px;
  margin-top: 1.3438rem;
  margin-left: 56px;
  margin-left: 3.5rem;
  color: transparent;
  background-image: linear-gradient(90deg, #0655ca 0.513%, #1a298c 94.347%);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 32.25px;
  font-size: 2.0156rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.wb-price-flagship__price .wb-price-num {
  margin-left: 8px;
  margin-left: 0.5rem;
  font-size: 61.6px;
  font-size: 3.85rem;
  letter-spacing: 1.3px;
  letter-spacing: 0.0813rem;
}
.wb-price-flagship__note {
  margin-top: 40.5px;
  margin-top: 2.5313rem;
  color: #1a2a8b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 11.678px;
  font-size: 0.7299rem;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.3503px;
  letter-spacing: 0.0219rem;
}
.wb-price-flagship__desc {
  margin-left: 14.883px;
  margin-left: 0.9302rem;
  max-width: 790.762px;
  max-width: 49.4226rem;
  padding-top: 21.432px;
  padding-top: 1.3395rem;
  border-top: 1px solid #dfe5ef;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.7px;
  letter-spacing: 0.0438rem;
}
.wb-price-flagship__rows {
  margin-top: 17.3px;
  margin-top: 1.0813rem;
  margin-left: 13.946px;
  margin-left: 0.8716rem;
  display: grid;
  grid-template-columns: 60px 1fr;
  column-gap: 10px;
  column-gap: 0.625rem;
  row-gap: 11.43px;
  row-gap: 0.7144rem;
  align-items: start;
}
.wb-price-flagship__label {
  width: 60px;
  width: 3.75rem;
  height: 30px;
  height: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  border-radius: 0.1875rem;
  background: rgba(13, 67, 170, 0.1);
  color: #13379c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.8px;
  font-size: 0.925rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.332px;
  letter-spacing: 0.0833rem;
}
.wb-price-flagship__value {
  padding-top: 5px;
  padding-top: 0.3125rem;
  color: #13379c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.8px;
  font-size: 0.925rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.332px;
  letter-spacing: 0.0833rem;
}
.wb-price-flagship__term-num {
  font-size: 16.8px;
  font-size: 1.05rem;
}
.wb-price-flagship__value--detail {
  padding-top: 0;
}
.wb-price-flagship__detail-ttl {
  padding-top: 5px;
  padding-top: 0.3125rem;
  color: #13379c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.8px;
  font-size: 0.925rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.332px;
  letter-spacing: 0.0833rem;
}
.wb-price-flagship__detail-ttl--second {
  margin-top: 14.04px;
  margin-top: 0.8775rem;
}
.wb-price-flagship__detail-txt {
  margin-top: 4.36px;
  margin-top: 0.2725rem;
  margin-left: 12px;
  margin-left: 0.75rem;
  color: #13379c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: 1.17px;
  letter-spacing: 0.0731rem;
}

/* 個別サービスの料金。4つのまとまりに、3列のカードを並べる */
.wb-price-services__group {
  margin-top: 53.14px;
  margin-top: 3.3213rem;
}
.wb-price-services__group + .wb-price-services__group {
  margin-top: 50px;
  margin-top: 3.125rem;
}
.wb-price-services__group-ttl {
  display: flex;
  align-items: flex-start;
  gap: 7.549px;
  gap: 0.4718rem;
  color: #0f40a7;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 19.7px;
  font-size: 1.2313rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.985px;
  letter-spacing: 0.0616rem;
}
/* 見出しの前に付く小さな四角。カンプでは文字の上から10.65px下に置かれている */
.wb-price-services__group-ttl::before {
  content: "";
  margin-top: 10.65px;
  margin-top: 0.6656rem;
  width: 15.382px;
  width: 0.9614rem;
  height: 15.382px;
  height: 0.9614rem;
  flex: 0 0 auto;
  display: block;
  border-radius: 0.988px;
  border-radius: 0.0618rem;
  background: #0f40a7;
}
.wb-price-services__cards {
  margin-top: 15.09px;
  margin-top: 0.9431rem;
  display: grid;
  grid-template-columns: repeat(3, 283.562px);
  grid-template-columns: repeat(3, 17.7226rem);
  column-gap: 13.549px;
  column-gap: 0.8468rem;
  row-gap: 13.369px;
  row-gap: 0.8356rem;
}
/* 1つ目のまとまりだけ、カンプでは見出しからカードまでが1px広い */
.wb-price-services__group:first-of-type .wb-price-services__cards {
  margin-top: 16.09px;
  margin-top: 1.0056rem;
}
.wb-price-services__note {
  margin-top: 29.32px;
  margin-top: 1.8325rem;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.52px;
  letter-spacing: 0.0325rem;
}

/* カード1枚。高さはカンプどおり固定して、中身の行数が違っても並びがそろうようにする */
.wb-price-card {
  height: 237.453px;
  height: 14.8408rem;
  padding-top: 12.58px;
  padding-top: 0.7863rem;
  border-radius: 15px;
  border-radius: 0.9375rem;
  background: rgba(255, 255, 255, 0.65);
  box-shadow: 0 0 12.1px rgba(200, 212, 224, 0.8);
}
.wb-price-card__head {
  width: 257.259px;
  width: 16.0787rem;
  min-height: 35.804px;
  min-height: 2.2378rem;
  margin-inline: auto;
  padding-right: 8px;
  padding-right: 0.5rem;
  padding-left: 8px;
  padding-left: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  border-radius: 0.3125rem;
  background-image: linear-gradient(113.02558425122928deg, #084eb7 0.69971%, #1a298c 100.68%);
  color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18.468px;
  font-size: 1.1543rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.6621px;
  letter-spacing: 0.1039rem;
  text-align: center;
}
/* MEO対策だけ帯のなかが2行になる。カンプの帯の高さに合わせる */
.wb-price-card__head:has(.wb-price-card__sub) {
  min-height: 47.48px;
  min-height: 2.9675rem;
}
/* 「医療広告ガイドライン監修」だけカンプで1行に収めるため文字が小さい */
.wb-price-card__head--narrow {
  font-size: 17.468px;
  font-size: 1.0918rem;
  letter-spacing: 1.0481px;
  letter-spacing: 0.0655rem;
}
.wb-price-card__sp-break {
  display: none;
}
.wb-price-card__sub {
  display: block;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 1.08px;
  letter-spacing: 0.0675rem;
}

/* 料金。帯の下から期間の行までの高さをカンプに合わせて固定し、その中で上下中央に置く */
.wb-price-card__price {
  height: 64.836px;
  height: 4.0523rem;
  /*
    箱を文字幅ぴったりにする。カード幅のままだとグラデーションがカード全体に伸び、
    文字は真ん中あたりの色しか拾えないため、カンプより色の差が出なくなる。
  */
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  /*
    baseline 揃えにしているので、行は箱の上端から始まる。
    そこからカンプの文字位置まで下ろす分の余白。
  */
  padding-top: 10px;
  padding-top: 0.625rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: transparent;
  background-image: linear-gradient(90deg, #0655ca 0.513%, #1a298c 94.347%);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17.26px;
  font-size: 1.0788rem;
  font-weight: 900;
  line-height: 1.4;
  white-space: nowrap;
}
.wb-price-card__head:has(.wb-price-card__sub) + .wb-price-card__price {
  height: 63.16px;
  height: 3.9475rem;
  padding-top: 8.5px;
  padding-top: 0.5313rem;
}
.wb-price-card__price .wb-price-num {
  margin-left: 4px;
  margin-left: 0.25rem;
  font-size: 33.67px;
  font-size: 2.1044rem;
  letter-spacing: 0.7px;
  letter-spacing: 0.0438rem;
}
.wb-price-card__price:has(.wb-price-amount__break) {
  width: 100%;
  height: 104px;
  height: 6.5rem;
  padding-top: 0;
  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
}
.wb-price-amount__break {
  flex-basis: 100%;
  height: 0;
}
/* 数字が入らない「別途お見積り」「※要確認」は、カンプでは少し大きい文字で組まれている */
.wb-price-card__price:not(:has(.wb-price-num)) {
  font-size: 19.3px;
  font-size: 1.2063rem;
  padding-top: 0;
  align-items: center;
  align-content: center;
}
.wb-price-amount__range {
  position: relative;
  bottom: 5px;
  bottom: 0.3125rem;
}
.wb-price-amount__note {
  font-size: 14.4px;
  font-size: 0.9rem;
}

/* カードの「期間」「内容」。左のラベルと右の中身を2列に並べる */
.wb-price-card__rows {
  margin-left: 24.19px;
  margin-left: 1.5119rem;
  width: 239.79px;
  width: 14.9869rem;
  display: grid;
  /* 内容の幅はカンプの170pxに、行末に付く字送り1.08px分を足している */
  grid-template-columns: 58.061px 171.08px;
  grid-template-columns: 3.6288rem 10.6925rem;
  column-gap: 10.639px;
  column-gap: 0.6649rem;
  row-gap: 9.677px;
  row-gap: 0.6048rem;
  align-items: start;
}
.wb-price-card__label {
  width: 58.061px;
  width: 3.6288rem;
  height: 29.03px;
  height: 1.8144rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2.903px;
  border-radius: 0.1814rem;
  background: rgba(13, 67, 170, 0.1);
  color: #13379c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.322px;
  font-size: 0.8951rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.289px;
  letter-spacing: 0.0806rem;
  padding-bottom: 0.1rem;
}
.wb-price-card__term {
  padding-top: 3.6px;
  padding-top: 0.225rem;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.322px;
  font-size: 0.8951rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 1.289px;
  letter-spacing: 0.0806rem;
}
.wb-price-card__term .wb-price-amount__strong {
  font-size: 16.257px;
  font-size: 1.0161rem;
  letter-spacing: 1.4632px;
  letter-spacing: 0.0915rem;
}
.wb-price-card__body {
  padding-top: 2.91px;
  padding-top: 0.1819rem;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 1.08px;
  letter-spacing: 0.0675rem;
}

/* セット割引・複数院のご契約 */
.wb-price-discount__lead {
  margin-top: 50.71px;
  margin-top: 3.1694rem;
  display: flex;
  align-items: flex-start;
  gap: 6.482px;
  gap: 0.4051rem;
  color: #000025;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 19.95px;
  font-size: 1.2469rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.3965px;
  letter-spacing: 0.0873rem;
}
.wb-price-discount__lead-icon {
  margin-top: 6.789px;
  margin-top: 0.4243rem;
  width: 18.418px;
  width: 1.1511rem;
  height: 18.417px;
  height: 1.1511rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-discount__cards {
  margin-top: 15.82px;
  margin-top: 0.9888rem;
  display: grid;
  grid-template-columns: repeat(3, 285.049px);
  grid-template-columns: repeat(3, 17.8156rem);
  column-gap: 12.257px;
  column-gap: 0.7661rem;
}
.wb-price-discount__card {
  height: 250.17px;
  height: 15.6356rem;
  padding-top: 34.848px;
  padding-top: 2.178rem;
  padding-right: 22.961px;
  padding-right: 1.4351rem;
  padding-left: 22.961px;
  padding-left: 1.4351rem;
  border-radius: 8px;
  border-radius: 0.5rem;
  background-image: linear-gradient(136.96766969543847deg, rgba(239, 245, 254, 0.74) 1.6649%, rgba(246, 246, 253, 0.74) 116.6%);
}
.wb-price-discount__card-ttl {
  color: #00006b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.19px;
  letter-spacing: 0.0744rem;
  text-align: center;
}
/* 見出しの下に入る短い線。カンプでは幅30.094px・太さ2pxで中央にある */
.wb-price-discount__card-ttl::after {
  content: "";
  margin-top: 18.6px;
  margin-top: 1.1625rem;
  margin-inline: auto;
  width: 30.094px;
  width: 1.8809rem;
  height: 2px;
  height: 0.125rem;
  display: block;
  background: #00006b;
}
.wb-price-discount__card-txt {
  margin-top: 21.557px;
  margin-top: 1.3473rem;
  max-width: 237.664px;
  max-width: 14.854rem;
  color: #000e27;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.7px;
  letter-spacing: 0.0438rem;
}
.wb-price-discount__note {
  margin-top: 9.73px;
  margin-top: 0.6081rem;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.52px;
  letter-spacing: 0.0325rem;
}

/* 費用に含まれるもの / 別途かかる費用 */
.wb-price-cost__lead {
  margin-top: 50.72px;
  margin-top: 3.17rem;
  display: flex;
  align-items: flex-start;
  gap: 2.482px;
  gap: 0.1551rem;
  color: #000025;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 19.95px;
  font-size: 1.2469rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.3965px;
  letter-spacing: 0.0873rem;
}
.wb-price-cost__lead-icon {
  margin-top: 6.789px;
  margin-top: 0.4243rem;
  width: 18.418px;
  width: 1.1511rem;
  height: 18.417px;
  height: 1.1511rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-cost__cols {
  margin-top: 19.11px;
  margin-top: 1.1944rem;
  display: grid;
  grid-template-columns: repeat(2, 433.126px);
  grid-template-columns: repeat(2, 27.0704rem);
  column-gap: 13.814px;
  column-gap: 0.8634rem;
}
.wb-price-cost__col {
  height: 276.968px;
  height: 17.3105rem;
  padding-top: 14.418px;
  padding-top: 0.9011rem;
  border-radius: 7.87px;
  border-radius: 0.4919rem;
}
.wb-price-cost__col--included {
  background: rgba(240, 243, 248, 0.74);
}
.wb-price-cost__col--extra {
  background: rgba(246, 241, 241, 0.74);
}
.wb-price-cost__col-ttl {
  width: 404.302px;
  width: 25.2689rem;
  height: 42.643px;
  height: 2.6652rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4.919px;
  border-radius: 0.3074rem;
  color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16.723px;
  font-size: 1.0452rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.3378px;
  letter-spacing: 0.0836rem;
}
.wb-price-cost__col--included .wb-price-cost__col-ttl {
  background: #113ba0;
}
.wb-price-cost__col--extra .wb-price-cost__col-ttl {
  background: #ab383a;
}
.wb-price-cost__list {
  margin-top: 22.04px;
  margin-top: 1.3775rem;
  list-style: none;
}
.wb-price-cost__item {
  display: flex;
  align-items: flex-start;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14.756px;
  font-size: 0.9223rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 1.328px;
  letter-spacing: 0.083rem;
}
.wb-price-cost__col--included .wb-price-cost__item {
  /* カンプの折り返し幅336.627pxに、アイコンと間隔を足した幅 */
  max-width: 354.757px;
  max-width: 22.2723rem;
  margin-left: 33.862px;
  margin-left: 2.1164rem;
  gap: 9.315px;
  gap: 0.5822rem;
}
.wb-price-cost__col--included .wb-price-cost__item + .wb-price-cost__item {
  margin-top: 17.706px;
  margin-top: 1.1066rem;
}
.wb-price-cost__col--extra .wb-price-cost__item {
  max-width: 358.519px;
  max-width: 22.4074rem;
  margin-left: 30.113px;
  margin-left: 1.8821rem;
  gap: 6.892px;
  gap: 0.4308rem;
}
.wb-price-cost__col--extra .wb-price-cost__item + .wb-price-cost__item {
  margin-top: 16.24px;
  margin-top: 1.015rem;
}
.wb-price-cost__icon {
  margin-top: 9.05px;
  margin-top: 0.5656rem;
  width: 8.815px;
  width: 0.5509rem;
  height: 6.556px;
  height: 0.4098rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-cost__icon--caution {
  margin-top: 0.9px;
  margin-top: 0.0563rem;
  width: 15px;
  width: 0.9375rem;
  height: 21px;
  height: 1.3125rem;
}

/* 契約条件。左に項目名、右に説明を置き、1行ごとに区切り線を引く */
.wb-price-terms__list {
  margin-top: 30.88px;
  margin-top: 1.93rem;
  margin-left: 1.056px;
  margin-left: 0.066rem;
  max-width: 819.098px;
  max-width: 51.1936rem;
}
.wb-price-terms__row {
  position: relative;
  padding-bottom: 22px;
  padding-bottom: 1.375rem;
  display: grid;
  grid-template-columns: 151.668px 1fr;
  grid-template-columns: 9.4793rem 1fr;
  align-items: start;
  border-bottom: 1px solid #dfe3ec;
}
.wb-price-terms__row + .wb-price-terms__row {
  margin-top: 22.14px;
  margin-top: 1.3838rem;
}
/* 項目名の下だけ、区切り線の手前に濃い線を重ねる */
.wb-price-terms__row::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  bottom: -0.0625rem;
  width: 138.801px;
  width: 8.6751rem;
  height: 1px;
  height: 0.0625rem;
  background: #00006b;
}
.wb-price-terms__ttl {
  color: #00006b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 40.5px;
  line-height: 2.5313rem;
  letter-spacing: 1.12px;
  letter-spacing: 0.07rem;
}
.wb-price-terms__txt {
  padding-top: 9.9px;
  padding-top: 0.6188rem;
  max-width: 638.186px;
  max-width: 39.8866rem;
  color: #000025;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.35px;
  letter-spacing: 0.0844rem;
}

.wb-price-cta-panel {
  margin-top: 100.33px;
  margin-top: 6.2706rem;
}
/* カンプのSPだけ「貴院の場合」で改行する。PCは1行に続ける */
.wb-price-cta__sp-br {
  display: none;
}

/* お見積りまでの流れ。左の丸い番号と右の本文を並べ、丸のあいだを縦線でつなぐ */
.wb-price-flow__steps {
  position: relative;
  margin-top: 24.94px;
  margin-top: 1.5588rem;
  list-style: none;
}
.wb-price-flow__steps::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 114.18px;
  top: 7.1363rem;
  left: 63px;
  left: 3.9375rem;
  width: 3px;
  width: 0.1875rem;
  height: 335.384px;
  height: 20.9615rem;
  background: #f2f5fe;
}
.wb-price-flow__step {
  display: flex;
  align-items: flex-start;
  gap: 24.076px;
  gap: 1.5048rem;
}
.wb-price-flow__step + .wb-price-flow__step {
  margin-top: 18px;
  margin-top: 1.125rem;
}
.wb-price-flow__badge {
  width: 128.68px;
  width: 8.0425rem;
  height: 128.68px;
  height: 8.0425rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-flow__body {
  padding-top: 34.47px;
  padding-top: 2.1544rem;
}
.wb-price-flow__ttl {
  color: #00006b;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.9px;
  letter-spacing: 0.0563rem;
}
.wb-price-flow__txt {
  margin-top: 6.99px;
  margin-top: 0.4369rem;
  max-width: 695.871px;
  max-width: 43.4919rem;
  color: #000e27;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.75px;
  letter-spacing: 0.0469rem;
}

/* 料金に関するよくある質問。開閉は assets/js/site.js（TOP・FAQページと共通） */
.wb-price-faq__list {
  margin-top: 52.96px;
  margin-top: 3.31rem;
}
.wb-price-faq-item {
  padding-bottom: 29.55px;
  padding-bottom: 1.8469rem;
  border-bottom: 1px solid #dfe3ec;
  cursor: pointer;
  transition: padding-bottom 0.3s;
}
.wb-price-faq-item + .wb-price-faq-item {
  margin-top: 25.62px;
  margin-top: 1.6013rem;
}
.wb-price-faq-item__question {
  display: flex;
  align-items: flex-start;
  gap: 16.898px;
  gap: 1.0561rem;
}
.wb-price-faq-item__q {
  width: 16px;
  width: 1rem;
  height: 30px;
  height: 1.875rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-faq-item__ttl {
  min-width: 0;
  flex: 1;
  padding-top: 2px;
  padding-top: 0.125rem;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.36px;
  letter-spacing: 0.085rem;
}
.wb-price-faq-item__toggle {
  position: relative;
  margin-top: 5.4px;
  margin-top: 0.3375rem;
  width: 15px;
  width: 0.9375rem;
  height: 15px;
  height: 0.9375rem;
  flex: 0 0 auto;
  display: block;
}
.wb-price-faq-item__toggle::before {
  content: "";
  position: absolute;
  top: 7px;
  top: 0.4375rem;
  right: 0;
  left: 0;
  height: 1.5px;
  height: 0.0938rem;
  background: #00006b;
}
.wb-price-faq-item__toggle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 6.75px;
  left: 0.4219rem;
  width: 1.5px;
  width: 0.0938rem;
  height: 15px;
  height: 0.9375rem;
  background: #00006b;
  transition:
    transform 0.3s,
    opacity 0.3s;
}
.wb-price-faq-item.is-open .wb-price-faq-item__toggle::after {
  opacity: 0;
  transform: rotate(90deg);
}
.wb-price-faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
}
/* 質問と回答のあいだの余白。閉じているときは高さ0に畳みたいので疑似要素で作る */
.wb-price-faq-item__answer::before {
  height: 17.45px;
  height: 1.0906rem;
  content: "";
  display: block;
}
.wb-price-faq-item__body {
  margin-left: 32.898px;
  margin-left: 2.0561rem;
  max-width: 757px;
  max-width: 47.3125rem;
  color: #000e27;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.75px;
  letter-spacing: 0.0469rem;
}
.wb-price-faq__more {
  margin-top: 15.62px;
  margin-top: 0.9763rem;
  display: flex;
  justify-content: flex-end;
}
.wb-price-faq__more-link {
  position: relative;
  padding-bottom: 1.25px;
  padding-bottom: 0.0781rem;
  display: inline-flex;
  align-items: center;
  gap: 4.54px;
  gap: 0.2838rem;
  border-bottom: 1px solid rgba(25,42,141,0.2);
  color: #192a8d;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18.761px;
  font-size: 1.1726rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.1257px;
  letter-spacing: 0.0704rem;
  text-decoration: none;
}
.wb-price-faq__more-link::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  bottom: -0.0625rem;
  left: 0;
  height: 1px;
  height: 0.0625rem;
  background: #192a8d;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
@media (hover: hover) {
  .wb-price-faq__more-link:hover::after {
    transform: scaleX(1);
  }
}
.wb-price-faq__more-link:focus-visible::after {
  transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  .wb-price-faq__more-link::after {
    transition: none;
  }
}
.wb-price-faq__more-arrow {
  /*
    カンプの22.799pxは矢印アイコンの枠の寸法で、枠内の余白込み。
    使っているSVGは余白なしなので、矢印そのものがカンプと同じ見た目になる幅にしている。
  */
  width: 14.8px;
  width: 0.9249rem;
  flex: 0 0 auto;
  display: block;
  transform: translateY(15%);
  transition: transform 0.25s ease;
}
@media (hover: hover) {
  .wb-price-faq__more-link:hover .wb-price-faq__more-arrow {
    transform: translate(2px, -2px);
  }
}
.wb-price-faq__more-link:focus-visible .wb-price-faq__more-arrow {
  transform: translate(2px, -2px);
}
@media (prefers-reduced-motion: reduce) {
  .wb-price-faq__more-arrow {
    transition: none;
  }
}

/* PCの中間幅。1680pxのカンプを基準に、html の font-size を縮めて全体を等比で縮小する */
@media (min-width: 768px) and (max-width: 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

/*
  スマホ。Figma QptNYuzqAdpd6Oejnpxr1J / 1:3（414 × 15094）が正本。
  カンプの見出し・リード文・目次・一部のカードはMEO対策ページの文章で作られた見本のため、
  文章・件数はPCの実装を正とし、ここでは文字サイズと余白だけをカンプに合わせている。
  「お見積りまでの流れ」と「料金に関するよくある質問」はSPカンプに無いため、
  PCの内容に、サービスページSP・よくあるご質問ページSPと同じ作法で寸法を当てている。
  414pxで1rem = 16px。画面幅に合わせてページ全体が同じ倍率で変わる（TOP・ブログと同じ基準）。
*/
@media (max-width: 767.98px) {
  html {
    font-size: 3.8647342995vw;
  }
  .wb-breadcrumb--price {
    width: 100%;
    max-width: none;
    padding-top: 60.5px;
    padding-top: 3.7813rem;
    padding-right: 13.62px;
    padding-right: 0.8513rem;
    padding-left: 13.62px;
    padding-left: 0.8513rem;
  }
  .wb-price__decoration {
    top: 34.912px;
    top: 2.182rem;
    /* カンプの右端は422.198px（フレーム右外へ8.198px）。行末の字送り15.0413px分も足して位置をそろえる */
    right: -23.239px;
    right: -1.4524rem;
    background-image: linear-gradient(104.71812777261508deg, #f0effc 8.1107%, #e3eefd 76.025%);
    font-size: 88.478px;
    font-size: 5.5299rem;
    letter-spacing: 15.0413px;
    letter-spacing: 0.9401rem;
  }
  .wb-price__inner {
    width: 100%;
    max-width: none;
    padding-top: 32.796px;
    padding-top: 2.0498rem;
    padding-right: 25px;
    padding-right: 1.5625rem;
    padding-bottom: 100px;
    padding-bottom: 6.25rem;
    padding-left: 25px;
    padding-left: 1.5625rem;
  }
  .wb-price__ttl {
    margin-bottom: 14.505px;
    margin-bottom: 0.9066rem;
    font-size: 33px;
    font-size: 2.0625rem;
    line-height: 1.45;
    letter-spacing: 2.31px;
    letter-spacing: 0.1444rem;
  }
  .wb-price__lead {
    padding-left: 0;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.65;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }
  /* SPはボタンを縦に積む */
  .wb-price__actions {
    margin-top: 27.836px;
    margin-top: 1.7398rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 5.055px;
    gap: 0.3159rem;
  }
  .wb-price__action {
    min-height: 67.115px;
    min-height: 4.1947rem;
    border-radius: 3.89px;
    border-radius: 0.2431rem;
    font-size: 15.813px;
    font-size: 0.9883rem;
  }
  .wb-price__action--contact {
    width: 278.623px;
    width: 17.4139rem;
    padding-left: 43.839px;
    padding-left: 1.7399rem;
    padding-right: 34.668px;
    padding-right: 2.1668rem;
    letter-spacing: 1.7394px;
    letter-spacing: 0.1087rem;
    gap: 0.4rem;
  }
  .wb-price__action--download {
    width: 278.623px;
    width: 17.4139rem;
    min-height: 61.205px;
    min-height: 3.8253rem;
    padding-left: 44.058px;
    padding-left: 2.7536rem;
    gap: 26.327px;
    gap: 1.6454rem;
    border-width: 2.175px;
    border-width: 0.1359rem;
    letter-spacing: 1.5813px;
    letter-spacing: 0.0988rem;
  }
  .wb-price__action-icon {
    width: 46.382px;
    width: 2.8989rem;
    height: 36.233px;
    height: 2.2646rem;
    border-radius: 104.586px;
    border-radius: 6.5366rem;
  }
  .wb-price__action-icon::after {
    width: 8.188px;
    width: 0.5118rem;
    height: 8.188px;
    height: 0.5118rem;
  }
  .wb-price__action-arrow {
    width: 8.188px;
    width: 0.5118rem;
    height: 8.188px;
    height: 0.5118rem;
  }
  .wb-price__action-external {
    width: 19.812px;
    width: 1.2383rem;
    height: 19.81px;
    height: 1.2381rem;
  }
  /* 目次は1列になる */
  .wb-price .wcb-toc {
    margin-top: 40.551px;
    margin-top: 2.5344rem;
    max-width: none;
  }
  .wb-price .wcb-toc__items {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
    row-gap: 15.994px;
    row-gap: 0.9996rem;
  }
  .wb-price .wcb-toc__link {
    height: 47.467px;
    height: 2.9667rem;
    padding-right: 9.473px;
    padding-right: 0.5921rem;
    padding-bottom: 16.067px;
    padding-bottom: 1.0042rem;
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.8px;
    letter-spacing: 0.05rem;
  }
  .wb-price .wcb-toc__label {
    line-height: 1.9;
  }
  /* スマホは1列で幅に余裕があるため、カンプPCの改行は入れない */
  .wb-price-toc__pc-br {
    display: none;
  }
  /* セクション共通 */
  .wb-price-section {
    margin-top: 96px;
    margin-top: 6rem;
    /* SPの追従ヘッダー分。ブログ詳細・よくあるご質問のSPと同じ値 */
    scroll-margin-top: 72px;
    scroll-margin-top: 4.5rem;
  }
  .wb-price .wcb-toc + .wb-price-section {
    margin-top: 85px;
    margin-top: 5.3125rem;
  }
  /* SPカンプでは英字ラベルが薄く敷かれている */
  .wb-price-section__label {
    opacity: 0.26;
  }
  .wb-price-section__label-img {
    margin-left: 0.19px;
    margin-left: 0.0119rem;
  }
  .wb-price-flagship .wb-price-section__label-img {
    margin-left: -0.81px;
    margin-left: -0.0506rem;
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-services .wb-price-section__label-img {
    margin-left: 0.19px;
    margin-left: 0.0119rem;
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-discount .wb-price-section__label-img {
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-cost .wb-price-section__label-img {
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-terms .wb-price-section__label-img {
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-flow .wb-price-section__label-img {
    height: 11.5px;
    height: 0.7188rem;
  }
  .wb-price-faq .wb-price-section__label-img {
    margin-left: 0.19px;
    margin-left: 0.0119rem;
    height: 28px;
    height: 1.75rem;
  }
  .wb-price-section__ttl {
    margin-top: 0.17px;
    margin-top: 0.0106rem;
    background-image: linear-gradient(100.72754945920495deg, #084eb7 0.513%, #1a298c 94.347%);
    font-size: 29px;
    font-size: 1.8125rem;
    line-height: 1.4;
    letter-spacing: 1.74px;
    letter-spacing: 0.1088rem;
  }
  /* 主力プラン */
  .wb-price-flagship__card {
    margin-top: 22.94px;
    margin-top: 1.4338rem;
    width: 362.507px;
    width: 22.6567rem;
    padding-top: 8.64px;
    padding-top: 0.54rem;
    padding-right: 8.25px;
    padding-right: 0.5156rem;
    padding-bottom: 34.39px;
    padding-bottom: 2.1494rem;
    padding-left: 8.26px;
    padding-left: 0.5163rem;
    border-radius: 10px;
    border-radius: 0.625rem;
    box-shadow: 0 0 12.8px rgba(200, 212, 224, 0.8);
  }
  .wb-price-flagship__name {
    min-height: 49.556px;
    min-height: 3.0973rem;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 1.08px;
    letter-spacing: 0.0675rem;
  }
  /* SPは料金とただし書きを縦に積み、カード幅の中央にそろえる */
  .wb-price-flagship__pricing {
    height: 155.69px;
    height: 9.7306rem;
    flex-direction: column;
    align-items: center;
    column-gap: 0;
  }
  .wb-price-flagship__price {
    margin-top: 18.5px;
    margin-top: 1.1563rem;
    margin-left: 0;
    font-size: 32.25px;
    font-size: 2.0156rem;
    line-height: 1.5;
  }
  .wb-price-flagship__price .wb-price-num {
    margin-left: 8px;
    margin-left: 0.5rem;
    font-size: 61.6px;
    font-size: 3.85rem;
    letter-spacing: 1.3px;
    letter-spacing: 0.0813rem;
  }
  .wb-price-flagship__note {
    margin-top: 5.9px;
    margin-top: 0.3688rem;
    max-width: 319.741px;
    max-width: 19.9838rem;
    font-size: 10.678px;
    font-size: 0.6674rem;
    line-height: 1.4;
    letter-spacing: 0.3203px;
    letter-spacing: 0.02rem;
  }
  .wb-price-flagship__desc {
    margin-left: 0;
    max-width: 336.348px;
    max-width: 21.0218rem;
    margin-inline: auto;
    padding-top: 10.84px;
    padding-top: 0.6775rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.26px;
    letter-spacing: 0.0163rem;
  }
  .wb-price-flagship__rows {
    margin-top: 17.88px;
    margin-top: 1.1175rem;
    margin-left: 15.16px;
    margin-left: 0.9475rem;
    grid-template-columns: 60px 1fr;
    grid-template-columns: 3.75rem 1fr;
    column-gap: 3px;
    column-gap: 0.1875rem;
    row-gap: 11.43px;
    row-gap: 0.7144rem;
  }
  .wb-price-flagship__label {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .wb-price-flagship__value {
    padding-left: 7px;
    padding-left: 0.4375rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .wb-price-flagship__value--detail {
    padding-left: 0;
  }
  .wb-price-flagship__detail-ttl {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .wb-price-flagship__detail-ttl--second {
    margin-top: 16.06px;
    margin-top: 1.0038rem;
  }
  .wb-price-flagship__detail-txt {
    margin-top: 5.06px;
    margin-top: 0.3162rem;
    max-width: 256.24px;
    max-width: 16.015rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 1.17px;
    letter-spacing: 0.0731rem;
  }
  /* 個別サービスの料金。SPは2列 */
  .wb-price-services__group {
    margin-top: 19.71px;
    margin-top: 1.2319rem;
  }
  .wb-price-services__group + .wb-price-services__group {
    margin-top: 46px;
    margin-top: 2.875rem;
  }
  .wb-price-services__group-ttl {
    gap: 6.8px;
    gap: 0.425rem;
    font-size: 17.73px;
    font-size: 1.1081rem;
    line-height: 1.6;
    letter-spacing: 0.8865px;
    letter-spacing: 0.0554rem;
  }
  .wb-price-services__group-ttl::before {
    margin-top: 9.59px;
    margin-top: 0.5994rem;
    width: 13.844px;
    width: 0.8653rem;
    height: 13.844px;
    height: 0.8653rem;
    border-radius: 0.889px;
    border-radius: 0.0556rem;
  }
  .wb-price-services__cards {
    margin-top: 11.89px;
    margin-top: 0.7431rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 9.71px;
    column-gap: 0.6069rem;
    row-gap: 9.71px;
    row-gap: 0.6069rem;
  }
  .wb-price-services__group:first-of-type .wb-price-services__cards {
    margin-top: 11.89px;
    margin-top: 0.7431rem;
  }
  .wb-price-services__note {
    margin-top: 22.31px;
    margin-top: 1.3944rem;
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.48px;
    letter-spacing: 0.03rem;
  }
  .wb-price-card {
    /* カンプのカードは見本の短い文章に合わせた固定高さ。PCの文章が入ると足りないため、
       カンプの高さを最低値にして、中身に合わせて伸びるようにしている */
    height: auto;
    min-height: 200.42px;
    min-height: 12.5262rem;
    padding-top: 6.45px;
    padding-top: 0.4031rem;
    padding-bottom: 24.75px;
    padding-bottom: 1.5469rem;
    border-radius: 9.8px;
    border-radius: 0.6125rem;
    box-shadow: 0 0 12.544px rgba(200, 212, 224, 0.8);
  }
  .wb-price-card__head {
    width: 162.057px;
    width: 10.1286rem;
    min-height: 28.208px;
    min-height: 1.763rem;
    padding-right: 4px;
    padding-right: 0.25rem;
    padding-left: 4px;
    padding-left: 0.25rem;
    border-radius: 4px;
    border-radius: 0.25rem;
    font-size: 14.7px;
    font-size: 0.9188rem;
    line-height: 1.5;
    letter-spacing: 0.882px;
    letter-spacing: 0.0551rem;
  }
  .wb-price-card__head:has(.wb-price-card__sub) {
    min-height: 38px;
    min-height: 2.375rem;
  }
  .wb-price-card__sub {
    font-size: 9.5px;
    font-size: 0.5938rem;
    letter-spacing: 0.86px;
    letter-spacing: 0.0538rem;
  }
  .wb-price-card__head--narrow {
    font-size: 11.6px;
    font-size: 0.725rem;
    letter-spacing: 0.7px;
    letter-spacing: 0.0438rem;
  }
  .wb-price-card__sp-break {
    display: inline;
  }
  .wb-price-card__price {
    height: auto;
    min-height: 59.82px;
    min-height: 3.7388rem;
    /*
      カードの幅は177pxしかない。「200〜300万円」のように収まらない料金だけ、
      文字の切れ目（数字と単位のあいだ）で次の行へ折り返させるための上限幅。
    */
    max-width: 161px;
    max-width: 10.0625rem;
    flex-wrap: wrap;
    /*
      SPカンプの料金はPCとほぼ同じ大きさ（@imgノード 1:105 = 128.14px、1:136 = 158.221px）。
      その2つの実寸に合うよう、PCの「日本語:数字」の比率を保ったまま逆算した値。
    */
    padding-top: 6.5px;
    padding-top: 0.4063rem;
    font-size: 17.58px;
    font-size: 1.0988rem;
  }
  .wb-price-card__head:has(.wb-price-card__sub) + .wb-price-card__price {
    min-height: 50.03px;
    min-height: 3.1269rem;
    padding-top: 1px;
    padding-top: 0.0625rem;
  }
  .wb-price-card__price .wb-price-num {
    margin-left: 4.07px;
    margin-left: 0.2544rem;
    font-size: 34.3px;
    font-size: 2.1438rem;
    letter-spacing: 0.71px;
    letter-spacing: 0.0444rem;
  }
  .wb-price-card__price:has(.wb-price-amount__break) {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .wb-price-card__price:has(.wb-price-amount__break) .wb-price-num {
    font-size: 30px;
    font-size: 1.875rem;
  }
  /*
    数字が入らない料金は、SPカードの幅（177px）に収まる長さの参照がカンプに無い。
    文字の大きさはそのままに、長い文言だけ折り返して見切れないようにしている。
  */
  .wb-price-card__price:not(:has(.wb-price-num)) {
    font-size: 19.66px;
    font-size: 1.2288rem;
  }
  /* 括弧書きの補足が2行目に来るぶん、「期間」の行が詰まらないように底上げする */
  .wb-price-card__price:has(.wb-price-amount__note) {
    min-height: 75.8px;
    min-height: 4.7375rem;
  }
  /* 括弧書きの補足は、SPのカード幅に入りきらないので次の行へ落とす */
  .wb-price-amount__note {
    flex-basis: 100%;
    margin-top: 2px;
    margin-top: 0.125rem;
    text-align: center;
  }
  .wb-price-amount__note {
    font-size: 14.67px;
    font-size: 0.9169rem;
  }
  .wb-price-card__rows {
    margin-left: 9.64px;
    margin-left: 0.6025rem;
    width: 155.502px;
    width: 9.7189rem;
    grid-template-columns: 42.336px 108.54px;
    grid-template-columns: 2.646rem 6.7838rem;
    column-gap: 4.626px;
    column-gap: 0.2891rem;
    row-gap: 6.019px;
    row-gap: 0.3762rem;
  }
  .wb-price-card__label {
    width: 42.336px;
    width: 2.646rem;
    height: 21.168px;
    height: 1.323rem;
    border-radius: 2.117px;
    border-radius: 0.1323rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 12.403px;
    font-size: 0.7752rem;
    line-height: 1.32;
    letter-spacing: 1.1163px;
    letter-spacing: 0.0698rem;
  }
  .wb-price-card__term {
    padding-top: 0;
    font-size: 14.504px;
    font-size: 0.9065rem;
    letter-spacing: 1.3054px;
    letter-spacing: 0.0816rem;
  }
  .wb-price-card__term .wb-price-amount__strong {
    font-size: 16.464px;
    font-size: 1.029rem;
    letter-spacing: 1.4818px;
    letter-spacing: 0.0926rem;
  }
  .wb-price-card__body {
    padding-top: 2.55px;
    padding-top: 0.1594rem;
  }
  /* セット割引。SPはカードを縦に積む */
  .wb-price-discount__lead {
    margin-top: 17.71px;
    margin-top: 1.1069rem;
    gap: 5.186px;
    gap: 0.3241rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }
  .wb-price-discount__lead-icon {
    margin-top: 5.43px;
    margin-top: 0.3394rem;
    width: 14.734px;
    width: 0.9209rem;
    height: 14.734px;
    height: 0.9209rem;
  }
  .wb-price-discount__cards {
    margin-top: 15.63px;
    margin-top: 0.9769rem;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 13.182px;
    row-gap: 0.8239rem;
  }
  .wb-price-discount__card {
    height: 232.996px;
    height: auto;
    padding-top: 34.85px;
    padding-top: 2.1781rem;
    padding-right: 33.26px;
    padding-right: 2.0788rem;
    padding-left: 33.26px;
    padding-left: 2.0788rem;
    background-image: linear-gradient(145.74285747800772deg, rgba(239, 245, 254, 0.74) 1.6649%, rgba(246, 246, 253, 0.74) 116.6%);
    padding-bottom: 2.21125rem;
  }
  .wb-price-discount__card-ttl {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.55;
    letter-spacing: 1.26px;
    letter-spacing: 0.0788rem;
  }
  .wb-price-discount__card-ttl::after {
    margin-top: 15.42px;
    margin-top: 0.9638rem;
  }
  .wb-price-discount__card-txt {
    margin-top: 19.55px;
    margin-top: 1.2219rem;
    max-width: 297.392px;
    max-width: 18.587rem;
    font-size: 13px;
    font-size: 0.8125rem;
    letter-spacing: 0.65px;
    letter-spacing: 0.0406rem;
  }
  .wb-price-discount__note {
    margin-top: 16.83px;
    margin-top: 1.0519rem;
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.48px;
    letter-spacing: 0.03rem;
  }
  /* 費用に含まれるもの / 別途かかる費用。SPは2つの枠を縦に積む */
  .wb-price-cost__lead {
    margin-top: 17.71px;
    margin-top: 1.1069rem;
    gap: 1.186px;
    gap: 0.0741rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }
  .wb-price-cost__lead-icon {
    margin-top: 5.43px;
    margin-top: 0.3394rem;
    width: 14.734px;
    width: 0.9209rem;
    height: 14.734px;
    height: 0.9209rem;
  }
  .wb-price-cost__cols {
    margin-top: 15.94px;
    margin-top: 0.9963rem;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 14.332px;
    row-gap: 0.8958rem;
  }
  .wb-price-cost__col {
    height: auto;
    padding-top: 14.43px;
    padding-top: 0.9019rem;
  }
  .wb-price-cost__col--included {
    padding-bottom: 29.93px;
    padding-bottom: 1.8706rem;
  }
  .wb-price-cost__col--extra {
    padding-bottom: 22px;
    padding-bottom: 1.375rem;
    background: rgba(248, 245, 245, 0.74);
  }
  .wb-price-cost__col-ttl {
    width: 339.939px;
    width: 21.2462rem;
  }
  .wb-price-cost__list {
    margin-top: 22.03px;
    margin-top: 1.3769rem;
  }
  .wb-price-cost__item {
    letter-spacing: 1.0329px;
    letter-spacing: 0.0646rem;
  }
  .wb-price-cost__col--included .wb-price-cost__item {
    max-width: 306.136px;
    max-width: 19.1335rem;
    margin-left: 28.86px;
    margin-left: 1.8038rem;
    gap: 9.32px;
    gap: 0.5825rem;
  }
  .wb-price-cost__col--extra .wb-price-cost__item {
    max-width: 330px;
    max-width: 20.625rem;
    margin-left: 25.05px;
    margin-left: 1.5656rem;
    gap: 6.892px;
    gap: 0.4308rem;
  }
  /* 契約条件 */
  .wb-price-terms__list {
    margin-top: 26.98px;
    margin-top: 1.6863rem;
    margin-left: 0.42px;
    margin-left: 0.0263rem;
    max-width: 363.682px;
    max-width: 22.7301rem;
  }
  .wb-price-terms__row {
    padding-bottom: 24.77px;
    padding-bottom: 1.5481rem;
    grid-template-columns: 121.67px 1fr;
    grid-template-columns: 7.6044rem 1fr;
  }
  .wb-price-terms__row + .wb-price-terms__row {
    margin-top: 25px;
    margin-top: 1.5625rem;
  }
  .wb-price-terms__row::after {
    width: 103.075px;
    width: 6.4422rem;
  }
  .wb-price-terms__ttl {
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 1.05px;
    letter-spacing: 0.0656rem;
  }
  .wb-price-terms__txt {
    padding-top: 0;
    max-width: 229.983px;
    max-width: 14.3739rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.45;
    letter-spacing: 1.26px;
    letter-spacing: 0.0788rem;
  }
  /* ページ中ほどのCTA */
  .wb-price-cta__sp-br {
    display: inline;
  }
  .wb-price-cta-panel {
    margin-top: 56.69px;
    margin-top: 3.5431rem;
  }
  /*
    お見積りまでの流れ。SPカンプに無いため、サービスページSPのステップと同じ作法で、
    丸を95.5px・本文との間隔を14.26pxにしている。丸をつなぐ縦線は最初と最後の丸の中心までで描く。
  */
  .wb-price-flow__steps {
    margin-top: 26px;
    margin-top: 1.625rem;
  }
  .wb-price-flow__steps::before {
    top: 47.75px;
    top: 2.9844rem;
    left: 46.25px;
    left: 2.8906rem;
    height: auto;
    bottom: 47.75px;
    bottom: 2.9844rem;
    width: 2px;
    width: 0.125rem;
  }
  .wb-price-flow__step {
    gap: 14.26px;
    gap: 0.8913rem;
    align-items: center;
  }
  .wb-price-flow__step + .wb-price-flow__step {
    margin-top: 24px;
    margin-top: 1.5rem;
  }
  .wb-price-flow__badge {
    width: 95.5px;
    width: 5.9688rem;
    height: 95.5px;
    height: 5.9688rem;
  }
  .wb-price-flow__body {
    padding-top: 0;
  }
  .wb-price-flow__ttl {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.45;
    letter-spacing: 0.8px;
    letter-spacing: 0.05rem;
  }
  .wb-price-flow__txt {
    margin-top: 5.18px;
    margin-top: 0.3238rem;
    max-width: none;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.75;
    letter-spacing: 0.65px;
    letter-spacing: 0.0406rem;
  }
  /*
    料金に関するよくある質問。SPカンプに無いため、PCの内容によくあるご質問ページSPと同じ余白を当てている。
  */
  .wb-price-faq__list {
    margin-top: 26.98px;
    margin-top: 1.6863rem;
  }
  .wb-price-faq-item {
    padding-bottom: 25.5px;
    padding-bottom: 1.5938rem;
  }
  .wb-price-faq-item + .wb-price-faq-item {
    margin-top: 22px;
    margin-top: 1.375rem;
  }
  .wb-price-faq-item__question {
    gap: 10.9px;
    gap: 0.6813rem;
  }
  .wb-price-faq-item__ttl {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.55;
    letter-spacing: 1.28px;
    letter-spacing: 0.08rem;
  }
  .wb-price-faq-item__q {
    width: 14.4px;
    width: 0.9rem;
    height: 27px;
    height: 1.6875rem;
  }
  .wb-price-faq-item__toggle {
    margin-top: 6px;
    margin-top: 0.375rem;
    width: 13.5px;
    width: 0.8438rem;
    height: 13.5px;
    height: 0.8438rem;
  }
  .wb-price-faq-item__toggle::before {
    top: 6.25px;
    top: 0.3906rem;
  }
  .wb-price-faq-item__toggle::after {
    left: 6px;
    left: 0.375rem;
    height: 13.5px;
    height: 0.8438rem;
  }
  .wb-price-faq-item__answer::before {
    height: 14px;
    height: 0.875rem;
  }
  .wb-price-faq-item__body {
    margin-left: 25.3px;
    margin-left: 1.5813rem;
    max-width: none;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 0.7px;
    letter-spacing: 0.0438rem;
  }
  .wb-price-faq__more {
    margin-top: 18px;
    margin-top: 1.125rem;
  }
  .wb-price-faq__more-link {
    gap: 4px;
    gap: 0.25rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: 0.96px;
    letter-spacing: 0.06rem;
  }
  .wb-price-faq__more-arrow {
    width: 19.5px;
    width: 1.2188rem;
    height: 19.5px;
    height: 1.2188rem;
  }
}
