@charset "UTF-8";
/* B案 07 アップル歯科グループのインプラント治療（Figma PC 3625:5576 / SP 3639:5806） */
.sec-bgroup {
  line-break: strict;
  --u: min(1px, calc(100vw / 1920));
  --bgroup-orange: #f0831e;
  --bgroup-gold: #c4a25e;
  --bgroup-navy: #244496;
  --bgroup-ink: #000032;
  --bgroup-gray: #666666;
  --bgroup-shape-dark: #dde0e6;
  --bgroup-shape-light: #eeeef0;
  --bgroup-white: #ffffff;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--bgroup-white);
  color: var(--c-text);
  font-family: var(--font-heading);
  font-weight: 400;
  font-feature-settings: normal;
}
:where(.sec-bgroup) :where(p, ul, h2, h3, h4) { margin: 0; }
.bgroup-sp,
.bgroup-brsp { display: none; }

/* ---------- 装飾（背景写真・斜めの面） ---------- */
.bgroup-deco,
.bgroup-deco-front {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: calc(1920 * var(--u));
  margin-left: calc(-960 * var(--u));
  pointer-events: none;
}
.bgroup-deco-front { z-index: 1; }
.bgroup-bg {
  position: absolute;
  overflow: hidden;
}
.bgroup-bg img {
  position: absolute;
  display: block;
  max-width: none;
}
.bgroup-bg--top {
  left: calc(-0.8 * var(--u));
  top: calc(-247.31 * var(--u));
  width: calc(1924 * var(--u));
  height: calc(1370 * var(--u));
}
.bgroup-bg--top img {
  left: -9.7%;
  top: 0;
  width: 113.93%;
  height: 100%;
}
.bgroup-bg--bottom {
  left: calc(-0.8 * var(--u));
  top: calc(1721 * var(--u));
  width: calc(1924 * var(--u));
  height: calc(1090.664 * var(--u));
}
.bgroup-bg--bottom img {
  left: -9.7%;
  top: -0.81%;
  width: 113.93%;
  height: 125.61%;
}
/* Figma の rotate+skew 平行四辺形：内寸の要素を外枠中心に置いて変形 */
.bgroup-shape {
  position: absolute;
  display: block;
  background: var(--bgroup-shape-light);
}
.bgroup-clip {
  position: absolute;
  overflow: hidden;
}
.bgroup-shape--top {
  left: calc(-254.51 * var(--u));
  top: calc(-500.08 * var(--u));
  width: calc(1358.679 * var(--u));
  height: calc(609.254 * var(--u));
  transform: rotate(-10.17deg) skewX(2.96deg);
}
.bgroup-clip--g1 {
  left: calc(-24.22 * var(--u));
  top: calc(2280.77 * var(--u));
  width: calc(1947.41 * var(--u));
  height: calc(998.227 * var(--u));
}
.bgroup-shape--g1a {
  left: calc(-221 * var(--u));
  top: calc(230.15 * var(--u));
  width: calc(2402.66 * var(--u));
  height: calc(1351.866 * var(--u));
  background: var(--bgroup-shape-dark);
  transform: rotate(-10.68deg) skewX(1.83deg);
}
.bgroup-shape--g1b {
  left: calc(1033.5 * var(--u));
  top: calc(901.25 * var(--u));
  width: calc(1143.22 * var(--u));
  height: calc(643.237 * var(--u));
  transform: rotate(-10.68deg) skewX(1.83deg);
}
.bgroup-clip--g2 {
  left: calc(1.2 * var(--u));
  top: calc(740.69 * var(--u));
  width: calc(1933.979 * var(--u));
  height: calc(980.313 * var(--u));
}
.bgroup-shape--g2a {
  left: calc(-213.26 * var(--u));
  top: calc(255.62 * var(--u));
  width: calc(2382.195 * var(--u));
  height: calc(1226.248 * var(--u));
  background: var(--bgroup-shape-dark);
  transform: rotate(-6.14deg) skewX(2.96deg);
}
.bgroup-shape--g2b {
  left: calc(1091.73 * var(--u));
  top: calc(888.4 * var(--u));
  width: calc(1133.483 * var(--u));
  height: calc(609.254 * var(--u));
  transform: rotate(-10.17deg) skewX(2.96deg);
}
.bgroup-spband,
.bgroup-shape--spbig,
.bgroup-clip--sp { display: none; }

/* ---------- 本体 ---------- */
.bgroup-inner {
  position: relative;
  width: calc(1920 * var(--u));
  margin: 0 auto;
  padding: calc(92.86 * var(--u)) 0 calc(82.58 * var(--u));
}

/* 見出し・リード */
.bgroup-intro {
  position: relative;
  z-index: 2;
  text-align: center;
}
.bgroup-title {
  font-weight: 400;
  line-height: 1.6;
  font-feature-settings: normal;
}
.bgroup-title-l1 {
  display: block;
  font-size: min(calc(48 * var(--u)), calc(8.3333px + 2.0660vw));
}
.bgroup-title-sm { font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw)); }
.bgroup-title-l2 {
  display: block;
  margin-top: calc(-25.66 * var(--u));
  font-size: min(calc(64 * var(--u)), calc(5.6667px + 3.0382vw));
}
.bgroup-lead {
  width: calc(946 * var(--u));
  margin: calc(28.05 * var(--u)) auto 0;
  font-weight: 300;
  font-size: min(calc(18 * var(--u)), calc(13.3333px + 0.2431vw));
  line-height: 2;
}

/* 理事長紹介 */
.bgroup-director {
  position: relative;
  min-height: calc(711.153 * var(--u));
  margin: calc(-104.9 * var(--u)) 0 0 calc(321.23 * var(--u));
}
.bgroup-director::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(133.57 * var(--u));
  width: calc(870.549 * var(--u));
  height: calc(489.797 * var(--u));
  background: var(--bgroup-white);
  opacity: 0.8;
}
/* 乗算はセクションの重なり文脈で効かせるため独立要素にしている */
.bgroup-director-band {
  position: absolute;
  z-index: 2;
  left: calc(86.33 * var(--u));
  top: calc(89.17 * var(--u));
  width: calc(100.605 * var(--u));
  height: calc(386.492 * var(--u));
  background: var(--bgroup-navy);
  opacity: 0.8;
  mix-blend-mode: multiply;
}
.bgroup-director-label {
  position: absolute;
  z-index: 2;
  left: calc(107.63 * var(--u));
  top: calc(119.91 * var(--u));
  width: 1em;
  font-weight: 400;
  font-size: min(calc(54 * var(--u)), calc(7.3333px + 2.4306vw));
  line-height: 1.1;
  color: var(--bgroup-white);
  text-align: center;
  font-feature-settings: normal;
}
.bgroup-director-photo {
  position: absolute;
  left: calc(813.91 * var(--u));
  top: 0;
  width: calc(524.836 * var(--u));
  height: calc(711.153 * var(--u));
}
.bgroup-director-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.bgroup-director-body {
  position: relative;
  z-index: 2;
  padding: calc(197.7 * var(--u)) 0 0 calc(306.39 * var(--u));
}
.bgroup-director-quote {
  font-weight: 300;
  font-size: min(calc(24 * var(--u)), calc(12.3333px + 0.6076vw));
  line-height: 2;
}
.bgroup-director-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(176 * var(--u));
  height: calc(29 * var(--u));
  margin-top: calc(59.73 * var(--u));
  background: var(--bgroup-ink);
  opacity: 0.8;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: min(calc(16 * var(--u)), calc(13.6667px + 0.1215vw));
  line-height: calc(35 * var(--u));
  color: var(--bgroup-white);
}
.bgroup-director-name {
  display: flex;
  align-items: center;
  gap: calc(13 * var(--u));
  margin-top: calc(15 * var(--u));
  line-height: normal;
  white-space: nowrap;
}
.bgroup-director-en {
  font-family: var(--font-body);
  font-size: calc(13 * var(--u));
}
.bgroup-director-ja {
  font-weight: 500;
  font-size: min(calc(32 * var(--u)), calc(11.0000px + 1.0938vw));
}
.bgroup-director-career {
  width: calc(455.593 * var(--u));
  margin-top: calc(7.16 * var(--u));
  padding: calc(7.96 * var(--u)) 0 0;
  border-top: 1px solid var(--bgroup-ink);
  list-style: none;
  font-family: var(--font-body);
  font-size: calc(14 * var(--u));
  line-height: 1.6;
  color: var(--bgroup-gray);
}
.bgroup-director-career li {
  position: relative;
  padding-left: calc(12.4 * var(--u));
  white-space: nowrap;
}
.bgroup-director-career img {
  position: absolute;
  left: calc(1.46 * var(--u));
  top: calc(8.4 * var(--u));
  width: calc(4.436 * var(--u));
  height: calc(7.457 * var(--u));
}
.bgroup-director-more {
  display: flex;
  justify-content: flex-end;
  width: calc(447.29 * var(--u));
  margin-top: calc(20.59 * var(--u));
}
.bgroup-director-more a {
  display: inline-flex;
  align-items: flex-start;
  gap: calc(8 * var(--u));
  font-family: var(--font-body);
  font-weight: 400;
  font-size: min(calc(15 * var(--u)), calc(13.8333px + 0.0608vw));
  line-height: 2;
  letter-spacing: 0.08em;
  color: var(--bgroup-ink);
  text-decoration: underline;
}
.bgroup-director-more img {
  flex: none;
  width: calc(8.143 * var(--u));
  height: calc(13.614 * var(--u));
  margin-top: calc(10.18 * var(--u));
}

/* 見出し（DOCTERS / 体制・設備）共通：左の縦線 */
.bgroup-head {
  position: relative;
  z-index: 2;
}
.bgroup-head::before {
  content: "";
  position: absolute;
  left: 0;
  background: var(--bgroup-orange);
}
.bgroup-head--doctors {
  margin: calc(-33.57 * var(--u)) 0 0 calc(318.23 * var(--u));
  padding-left: calc(30.43 * var(--u));
}
.bgroup-head--doctors::before {
  top: calc(13.58 * var(--u));
  width: calc(2 * var(--u));
  height: calc(77.547 * var(--u));
}
.bgroup-doctors-en {
  font-size: min(calc(27 * var(--u)), calc(11.8333px + 0.7899vw));
  line-height: 1.6;
  color: var(--bgroup-orange);
}
.bgroup-doctors-title {
  margin-top: calc(-6.24 * var(--u));
  font-weight: 400;
  font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw));
  line-height: 1.6;
  font-feature-settings: normal;
}

/* ドクター一覧 */
.bgroup-doctors {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(6, calc(155.743 * var(--u)));
  column-gap: calc(70.25 * var(--u));
  row-gap: calc(52.16 * var(--u));
  margin: calc(22.13 * var(--u)) 0 0 calc(318.33 * var(--u));
  padding: 0;
  list-style: none;
}
.bgroup-doctor-photo {
  position: relative;
  width: calc(155.743 * var(--u));
  height: calc(155.743 * var(--u));
  overflow: hidden;
}
.bgroup-doctor-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bgroup-doctor-photo--yao img {
  position: absolute;
  left: -1.76%;
  top: -3.03%;
  width: 103.52%;
  height: 109.79%;
  max-width: none;
}
.bgroup-doctor-label {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: calc(7.93 * var(--u));
  margin-top: calc(14.49 * var(--u));
  line-height: 1;
  white-space: nowrap;
}
.bgroup-doctor-clinic { font-size: calc(14 * var(--u)); }
.bgroup-doctor-name { font-size: min(calc(20 * var(--u)), calc(13.0000px + 0.3646vw)); }
a.bgroup-doctor-name {
  color: inherit;
  text-decoration: none;
}

/* ボタン */
.bgroup-btnwrap {
  position: relative;
  z-index: 2;
  text-align: center;
}
.bgroup-btnwrap--doctors { margin-top: calc(42.73 * var(--u)); }
.bgroup-btnwrap--points { margin-top: calc(66.76 * var(--u)); }
.bgroup-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(420 * var(--u));
  height: calc(89 * var(--u));
  border: 1px solid var(--bgroup-orange);
  background: var(--bgroup-white);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: min(calc(20 * var(--u)), calc(13.0000px + 0.3646vw));
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--bgroup-orange);
  text-decoration: none;
}
.bgroup-btn-corner {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(24.42 * var(--u));
  height: calc(22.688 * var(--u));
}

/* 体制・設備 */
.bgroup-head--system {
  margin: calc(159.51 * var(--u)) 0 0 calc(318.23 * var(--u));
  padding-left: calc(42 * var(--u));
}
.bgroup-head--system::before {
  top: calc(15.6 * var(--u));
  width: calc(4 * var(--u));
  height: calc(124.547 * var(--u));
}
.bgroup-system-lead {
  font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw));
  line-height: 1.6;
  white-space: nowrap;
}
.bgroup-system-lg { font-size: min(calc(48 * var(--u)), calc(8.3333px + 2.0660vw)); }
.bgroup-system-title {
  margin-top: calc(-15.85 * var(--u));
  font-weight: 400;
  font-size: min(calc(64 * var(--u)), calc(5.6667px + 3.0382vw));
  line-height: 1.6;
  color: var(--bgroup-gold);
  font-feature-settings: normal;
}
.bgroup-points {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, calc(653.623 * var(--u)));
  column-gap: calc(32.757 * var(--u));
  row-gap: calc(43.81 * var(--u));
  margin: calc(42.62 * var(--u)) 0 0 calc(293.78 * var(--u));
  padding: 0;
  list-style: none;
}
.bgroup-point {
  display: grid;
  grid-template-columns: calc(300 * var(--u)) calc(280 * var(--u));
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-areas: ". media" "head media" "body media" ". media";
  column-gap: calc(24 * var(--u));
  box-sizing: border-box;
  height: calc(486.356 * var(--u));
  padding-left: calc(30 * var(--u));
  background: var(--bgroup-white);
  clip-path: polygon(0 calc(55.8121 * var(--u)), calc(97.6885 * var(--u)) 0, 100% 0, 100% 100%, 0 100%);
}
.bgroup-point-head {
  grid-area: head;
  padding-top: calc(10.15 * var(--u));
}
.bgroup-point-media {
  grid-area: media;
  align-self: center;
}
.bgroup-point-body { grid-area: body; }
.bgroup-point-num {
  display: flex;
  align-items: flex-start;
  color: var(--bgroup-gold);
}
.bgroup-point-label {
  writing-mode: vertical-rl;
  width: calc(17 * var(--u));
  height: calc(87 * var(--u));
  font-size: min(calc(24 * var(--u)), calc(12.3333px + 0.6076vw));
  line-height: calc(17 * var(--u));
  letter-spacing: 0.09em;
  text-align: center;
}
.bgroup-point-digit {
  margin: calc(-16.83 * var(--u)) 0 calc(-7.04 * var(--u)) calc(11 * var(--u));
  font-size: min(calc(110 * var(--u)), calc(-2.0000px + 5.8333vw));
  line-height: 1;
}
.bgroup-point-title {
  margin-top: calc(27.1 * var(--u));
  font-weight: 400;
  font-size: min(calc(32 * var(--u)), calc(11.0000px + 1.0938vw));
  line-height: 1.4;
  font-feature-settings: normal;
}
.bgroup-point-body {
  margin-top: calc(18.9 * var(--u));
  font-size: min(calc(18 * var(--u)), calc(13.3333px + 0.2431vw));
  line-height: 2;
}
.bgroup-point-body--justify { text-align: justify; }
.bgroup-point-photo {
  position: relative;
  overflow: hidden;
  width: calc(280 * var(--u));
  height: calc(377.486 * var(--u));
  border-radius: calc(8 * var(--u));
}
.bgroup-point-photo--02 { height: calc(269.484 * var(--u)); }
.bgroup-point-photo img,
.bgroup-point-thumb img {
  position: absolute;
  display: block;
  max-width: none;
}
/* Figma のマスク内配置（書き出し画像は比率が崩れているため fill で戻す） */
.bgroup-point-photo--01 img { left: -62.364%; top: -2.432%; width: 223.933%; height: 110.748%; object-fit: cover; }
.bgroup-point-photo--02 img { left: -127.008%; top: -11.679%; width: 310.31%; height: 147.92%; object-fit: fill; }
.bgroup-point-photo--03 img { left: -64.065%; top: 0; width: 211.865%; height: 110.403%; object-fit: cover; }
.bgroup-point-photo--04 img { left: -111.897%; top: -9.866%; width: 226.67%; height: 112.1%; object-fit: fill; }
.bgroup-point-thumbs {
  display: flex;
  gap: calc(18.816 * var(--u));
  margin-top: calc(25 * var(--u));
}
.bgroup-point-thumb {
  position: relative;
  overflow: hidden;
  width: calc(130.594 * var(--u));
  height: calc(87.256 * var(--u));
}
.bgroup-point-thumb--ct img { left: -16.052%; top: -10.57%; width: 124.238%; height: 123.963%; object-fit: cover; }
.bgroup-point-thumb--scan img { left: -61.115%; top: -48.531%; width: 185.233%; height: 262.339%; object-fit: cover; }

/* Figma PC 07 照合: POINT 01 本文は tracking -0.36px（3625:5703）。1 行目のカードは文字ブロックが中央より約 4px 下（3625:5697 / 5684） */
@media (min-width: 768px) {
  /* Figma PC 07: 医院名(14px)は氏名(20px)の上端から 3.5px 下（3625:5595 / 5596） */
  .bgroup-doctor-label { align-items: flex-start; }
  .bgroup-doctor-clinic { margin-top: calc(3.5 * var(--u)); }
  /* Figma PC 07: 縦書きラベルは帯（3625:5728）の中心、POINT は 90 度回転文字の字面位置（3625:5699） */
  .bgroup-director-label { left: calc(109.63 * var(--u)); }
  .bgroup-point-label { position: relative; left: calc(2.3 * var(--u)); }
  .bgroup-point--01 .bgroup-point-body { letter-spacing: -.02em; }
  /* Figma PC 07: 写真のマスク位置は左列 x645.78・右列 x1335.78、1 行目は中央より上（3625:5706 / 5680 / 5693 / 5696） */
  .bgroup-point-media { position: relative; }
  .bgroup-point--01 .bgroup-point-media { left: calc(-2.02 * var(--u)); top: calc(-3.15 * var(--u)); }
  .bgroup-point--02 .bgroup-point-media { left: calc(1.68 * var(--u)); top: calc(-5.3 * var(--u)); }
  .bgroup-point--03 .bgroup-point-media { left: calc(-2.02 * var(--u)); }
  .bgroup-point--04 .bgroup-point-media { left: calc(1.68 * var(--u)); }
  .bgroup-point--01 .bgroup-point-head,
  .bgroup-point--02 .bgroup-point-head { padding-top: calc(18.55 * var(--u)); }
}

/* ================= SP ================= */
@media (max-width: 767px) {
  .sec-bgroup { --u: calc(100vw / 390); }
  .bgroup-pc,
  .bgroup-brpc { display: none; }
  .bgroup-sp,
  .bgroup-brsp { display: revert; }

  .bgroup-deco,
  .bgroup-deco-front {
    width: calc(390 * var(--u));
    margin-left: calc(-195 * var(--u));
  }
  .bgroup-clip--g1,
  .bgroup-clip--g2 { display: none; }
  .bgroup-bg--top {
    left: 0;
    top: calc(-9.78 * var(--u));
    width: calc(390 * var(--u));
    height: calc(916.275 * var(--u));
  }
  .bgroup-bg--top img {
    left: -50.58%;
    top: -27.5%;
    width: 562.05%;
    height: 149.52%;
  }
  .bgroup-bg--bottom {
    left: 0;
    top: calc(1660 * var(--u));
    width: calc(390 * var(--u));
    height: calc(1157.467 * var(--u));
  }
  .bgroup-bg--bottom img {
    left: -50.58%;
    top: -18.36%;
    width: 562.05%;
    height: 118.36%;
  }
  .bgroup-shape--top {
    left: calc(-212.62 * var(--u));
    top: calc(-198.61 * var(--u));
    width: calc(533.066 * var(--u));
    height: calc(239.036 * var(--u));
  }
  .bgroup-spband {
    position: absolute;
    display: block;
    left: 0;
    top: calc(731.5 * var(--u));
    width: calc(390 * var(--u));
    height: calc(928.5 * var(--u));
    background: var(--bgroup-shape-dark);
    clip-path: polygon(0 calc(88.894 * var(--u)), 100% 0, 100% 100%, 0 100%);
  }
  .bgroup-shape--spbig {
    display: block;
    left: calc(-128.22 * var(--u));
    top: calc(2359.99 * var(--u));
    width: calc(710.921 * var(--u));
    height: calc(1186.592 * var(--u));
    background: var(--bgroup-shape-dark);
    transform: rotate(-10.11deg) skewX(3.12deg);
  }
  .bgroup-clip--sp {
    display: block;
    left: calc(61 * var(--u));
    top: calc(1483.97 * var(--u));
    width: calc(346 * var(--u));
    height: calc(175.725 * var(--u));
  }
  .bgroup-shape--spsmall {
    left: calc(32.77 * var(--u));
    top: calc(129.89 * var(--u));
    width: calc(480.818 * var(--u));
    height: calc(258.443 * var(--u));
    transform: rotate(-10.17deg) skewX(2.96deg);
  }

  .bgroup-inner {
    width: calc(390 * var(--u));
    padding: calc(39.9 * var(--u)) 0 calc(65.25 * var(--u));
  }
  .bgroup-title-l1 { font-size: calc(32 * var(--u)); }
  .bgroup-title-sm { font-size: calc(24 * var(--u)); }
  .bgroup-title-l2 {
    margin-top: 0;
    font-size: calc(32 * var(--u));
  }
  .bgroup-lead {
    width: calc(342 * var(--u));
    margin: calc(17.1 * var(--u)) auto 0;
    font-size: calc(16 * var(--u));
    letter-spacing: -.03em; /* Figma SP 09: tracking -0.48px（3639:5889） */
    text-align: left;
  }

  .bgroup-director {
    min-height: calc(467.02 * var(--u));
    margin: calc(15.08 * var(--u)) 0 0;
  }
  .bgroup-director::before {
    left: calc(12 * var(--u));
    top: calc(27.02 * var(--u));
    width: calc(366 * var(--u));
    height: calc(440 * var(--u));
  }
  .bgroup-director-band {
    left: calc(24 * var(--u));
    top: 0;
    width: calc(47.316 * var(--u));
    height: calc(169.002 * var(--u));
  }
  .bgroup-director-label {
    left: calc(35.66 * var(--u));
    top: calc(13.44 * var(--u));
    font-size: calc(24 * var(--u));
  }
  .bgroup-director-photo {
    left: calc(215.69 * var(--u));
    top: calc(2.6 * var(--u));
    width: calc(205.622 * var(--u));
    height: calc(278.618 * var(--u));
  }
  .bgroup-director-body { padding: calc(44.77 * var(--u)) 0 0 calc(35.21 * var(--u)); }
  .bgroup-director-quote {
    margin-left: calc(48.5 * var(--u));
    font-size: calc(16 * var(--u));
  }
  .bgroup-director-badge {
    margin-top: calc(35.09 * var(--u));
    font-size: calc(16 * var(--u));
  }
  .bgroup-director-name { margin-top: calc(9.71 * var(--u)); }
  .bgroup-director-ja { font-size: calc(32 * var(--u)); }
  .bgroup-director-career { width: calc(319.291 * var(--u)); }
  .bgroup-director-more {
    width: calc(331.53 * var(--u));
    margin-top: calc(29.42 * var(--u));
  }
  .bgroup-director-more a { font-size: calc(14 * var(--u)); }

  .bgroup-head--doctors {
    margin: calc(22.27 * var(--u)) 0 0 calc(23.78 * var(--u));
    padding-left: calc(11.43 * var(--u));
  }
  .bgroup-head--doctors::before {
    top: calc(10.06 * var(--u));
    height: calc(45.432 * var(--u));
  }
  .bgroup-doctors-en { font-size: calc(20 * var(--u)); }
  .bgroup-doctors-title {
    margin-top: calc(-8.52 * var(--u));
    font-size: calc(24 * var(--u));
  }
  .bgroup-doctors {
    grid-template-columns: repeat(3, calc(95 * var(--u)));
    column-gap: calc(28.6 * var(--u));
    row-gap: calc(20.64 * var(--u));
    margin: calc(10.3 * var(--u)) 0 0 calc(23.82 * var(--u));
  }
  .bgroup-doctor-photo {
    width: calc(95 * var(--u));
    height: calc(95 * var(--u));
  }
  .bgroup-doctor-photo--yao img {
    left: -1.58%;
    width: 103.17%;
    height: 109.42%;
  }
  .bgroup-doctor-label {
    display: block;
    margin-top: 0;
  }
  .bgroup-doctor-clinic {
    display: block;
    margin-top: calc(4.76 * var(--u));
  }
  .bgroup-doctor-name {
    display: block;
    margin-top: calc(5.86 * var(--u));
    font-size: calc(16 * var(--u));
  }
  /* Figma SP 09: ドクター一覧は等間隔グリッドでなく 1 人ずつ手置き（2・3 段目の写真が 3.4 / 8.4 下がり、医院名・氏名の位置も 1 人ずつ違う）→ 1 人ずつ translate で合わせる */
  .bgroup-doctor:nth-child(n+4):nth-child(-n+6) .bgroup-doctor-photo { transform: translateY(calc(3.4 * var(--u))); }
  .bgroup-doctor:nth-child(n+7):nth-child(-n+9) .bgroup-doctor-photo { transform: translateY(calc(8.4 * var(--u))); }
  .bgroup-doctor:nth-child(1) .bgroup-doctor-clinic { transform: translate(calc(14.7 * var(--u)), calc(0.1 * var(--u))); }
  .bgroup-doctor:nth-child(1) .bgroup-doctor-name { transform: translate(calc(2.0 * var(--u)), calc(0.1 * var(--u))); }
  .bgroup-doctor:nth-child(2) .bgroup-doctor-clinic { transform: translate(calc(35.8 * var(--u)), calc(2.1 * var(--u))); }
  .bgroup-doctor:nth-child(2) .bgroup-doctor-name { transform: translate(calc(8.6 * var(--u)), calc(2.1 * var(--u))); }
  .bgroup-doctor:nth-child(3) .bgroup-doctor-clinic { transform: translate(calc(26.1 * var(--u)), calc(1.1 * var(--u))); }
  .bgroup-doctor:nth-child(3) .bgroup-doctor-name { transform: translate(calc(13.4 * var(--u)), calc(1.1 * var(--u))); }
  .bgroup-doctor:nth-child(4) .bgroup-doctor-clinic { transform: translate(calc(16.1 * var(--u)), calc(8.5 * var(--u))); }
  .bgroup-doctor:nth-child(4) .bgroup-doctor-name { transform: translate(calc(-2.9 * var(--u)), calc(6.4 * var(--u))); }
  .bgroup-doctor:nth-child(5) .bgroup-doctor-clinic { transform: translate(calc(7.1 * var(--u)), calc(8.5 * var(--u))); }
  .bgroup-doctor:nth-child(5) .bgroup-doctor-name { transform: translate(calc(16.2 * var(--u)), calc(6.4 * var(--u))); }
  .bgroup-doctor:nth-child(6) .bgroup-doctor-clinic { transform: translate(calc(26.1 * var(--u)), calc(4.9 * var(--u))); }
  .bgroup-doctor:nth-child(6) .bgroup-doctor-name { transform: translate(calc(21.6 * var(--u)), calc(2.7 * var(--u))); }
  .bgroup-doctor:nth-child(7) .bgroup-doctor-clinic { transform: translate(calc(0.2 * var(--u)), calc(9.8 * var(--u))); }
  .bgroup-doctor:nth-child(7) .bgroup-doctor-name { transform: translate(calc(0.6 * var(--u)), calc(7.8 * var(--u))); }
  .bgroup-doctor:nth-child(8) .bgroup-doctor-clinic { transform: translate(calc(0.1 * var(--u)), calc(9.8 * var(--u))); }
  .bgroup-doctor:nth-child(8) .bgroup-doctor-name { transform: translate(calc(0.1 * var(--u)), calc(7.8 * var(--u))); }
  .bgroup-doctor:nth-child(9) .bgroup-doctor-clinic { transform: translate(calc(0.7 * var(--u)), calc(9.8 * var(--u))); }
  .bgroup-doctor:nth-child(9) .bgroup-doctor-name { transform: translate(calc(0.7 * var(--u)), calc(7.8 * var(--u))); }
  .bgroup-doctor:nth-child(10) .bgroup-doctor-clinic { transform: translate(calc(-0.8 * var(--u)), calc(5.7 * var(--u))); }
  .bgroup-doctor:nth-child(10) .bgroup-doctor-name { transform: translate(calc(0.6 * var(--u)), calc(2.6 * var(--u))); }
  .bgroup-doctor:nth-child(11) .bgroup-doctor-clinic { transform: translate(calc(0.6 * var(--u)), calc(5.7 * var(--u))); }
  .bgroup-doctor:nth-child(11) .bgroup-doctor-name { transform: translate(calc(0.6 * var(--u)), calc(2.6 * var(--u))); }
  .bgroup-doctor:nth-child(12) .bgroup-doctor-clinic { transform: translate(calc(7.2 * var(--u)), calc(5.7 * var(--u))); }
  .bgroup-doctor:nth-child(12) .bgroup-doctor-name { transform: translate(calc(4.5 * var(--u)), calc(2.6 * var(--u))); }

  .bgroup-btnwrap--doctors { margin-top: calc(30.79 * var(--u)); }
  .bgroup-btnwrap--points { margin-top: calc(55.87 * var(--u)); } /* Figma SP 09: 4 枚目の下端 3198.13 → ボタン 3254 */
  .bgroup-btn {
    width: calc(315 * var(--u));
    height: calc(66.75 * var(--u));
    border-width: calc(0.75 * var(--u));
    font-size: calc(16 * var(--u));
    letter-spacing: normal; /* Figma SP 09: ボタン文字は tracking なし（I3639:5875;4846:1850） */
  }
  .bgroup-btn-corner {
    right: calc(-0.75 * var(--u));
    bottom: calc(-0.75 * var(--u)); /* Figma SP 09: 角飾りは枠線の外端に重なる（I3639:5875;4846:1851） */
    width: calc(18.315 * var(--u));
    height: calc(17.016 * var(--u));
  }

  .bgroup-head--system {
    margin: calc(113.98 * var(--u)) 0 0 calc(23.05 * var(--u));
    padding-left: calc(21.45 * var(--u));
  }
  .bgroup-head--system::before {
    top: calc(8.26 * var(--u));
    height: calc(63.512 * var(--u));
  }
  .bgroup-system-lead {
    font-size: calc(16 * var(--u));
    line-height: 1.4;
  }
  .bgroup-system-lg { font-size: calc(24 * var(--u)); }
  .bgroup-system-title {
    margin-top: calc(-7.29 * var(--u));
    font-size: calc(32 * var(--u));
  }
  .bgroup-points {
    display: flex;
    flex-direction: column;
    gap: calc(44 * var(--u));
    margin: calc(20.62 * var(--u)) 0 0 calc(23.05 * var(--u));
  }
  .bgroup-point {
    grid-template-columns: calc(165.36 * var(--u)) calc(140 * var(--u));
    grid-template-rows: auto auto;
    grid-template-areas: "head media" "body body";
    align-items: center;
    align-content: start;
    width: calc(342.953 * var(--u));
    height: calc(309.6 * var(--u));
    padding: calc(23 * var(--u)) 0 0 calc(17.93 * var(--u));
    column-gap: 0;
    clip-path: polygon(0 calc(25.4017 * var(--u)), calc(51.2567 * var(--u)) 0, 100% 0, 100% 100%, 0 100%);
  }
  .bgroup-point--02 { height: calc(360.238 * var(--u)); clip-path: polygon(0 calc(27.8334 * var(--u)), calc(51.2567 * var(--u)) 0, 100% 0, 100% 100%, 0 100%); }
  .bgroup-point--03 {
    width: calc(344.52 * var(--u));
    height: calc(305.623 * var(--u));
    clip-path: polygon(0 calc(25.3861 * var(--u)), calc(51.2567 * var(--u)) 0, 100% 0, 100% 100%, 0 100%);
  }
  .bgroup-point--04 { height: calc(278.037 * var(--u)); clip-path: polygon(0 calc(24.9445 * var(--u)), calc(51.2567 * var(--u)) 0, 100% 0, 100% 100%, 0 100%); }
  .bgroup-point-head { padding-top: 0; }
  /* Figma SP 09: 見出しブロックの上端は各カード固有（mt 42.02 / 62.61 / 41.07 / 37.76） */
  .bgroup-point--01 .bgroup-point-head { position: relative; top: calc(2.8 * var(--u)); }
  .bgroup-point--03 .bgroup-point-head { position: relative; top: calc(1.9 * var(--u)); }
  .bgroup-point--04 .bgroup-point-head { position: relative; top: calc(-1.4 * var(--u)); }
  .bgroup-point-label {
    width: calc(9 * var(--u));
    height: calc(44 * var(--u));
    font-size: calc(12 * var(--u));
    line-height: calc(9 * var(--u));
  }
  .bgroup-point-digit {
    margin: calc(-8.42 * var(--u)) 0 calc(-3.52 * var(--u)) calc(5.5 * var(--u));
    font-size: calc(55 * var(--u));
  }
  .bgroup-point-title {
    margin-top: calc(15.94 * var(--u));
    font-size: calc(20 * var(--u));
  }
  .bgroup-point-body {
    grid-column: 1 / -1;
    width: calc(306 * var(--u));
    margin-top: calc(15.75 * var(--u));
    font-size: calc(16 * var(--u));
  }
  /* 本文の位置は Figma SP の各カードの座標に合わせる */
  .bgroup-point--01 .bgroup-point-body {
    width: calc(300.711 * var(--u));
    margin: calc(17.71 * var(--u)) 0 0 calc(4.65 * var(--u));
    letter-spacing: -.02em; /* Figma SP 09: ml 22.58 / w 300.711 / tracking -0.32px（3639:6152） */
  }
  /* Figma SP 09: 1 枚目の重なりは本文の下端（mt 201.96 + h 110.275）がカードより 2.635 長い */
  .bgroup-point--01 { margin-bottom: calc(2.635 * var(--u)); }
  .bgroup-point--02 .bgroup-point-body { margin-top: calc(22.92 * var(--u)); }
  .bgroup-point--03 .bgroup-point-body { margin-top: calc(8.56 * var(--u)); }
  .bgroup-point--04 .bgroup-point-body { margin-top: calc(13.69 * var(--u)); }
  .bgroup-point-photo {
    width: calc(140 * var(--u));
    height: calc(150 * var(--u));
    border-radius: calc(4 * var(--u));
  }
  .bgroup-point-photo--02 {
    height: calc(134.742 * var(--u));
    margin-top: calc(4.48 * var(--u));
  }
  .bgroup-point-photo--01 img { left: -63.766%; top: -1.747%; width: 226.737%; height: 109.378%; }
  .bgroup-point-photo--02 img { left: -122.666%; top: -16.928%; width: 338.006%; height: 161.121%; }
  .bgroup-point-photo--03 img { width: 211.865%; }
  .bgroup-point-photo--04 img { left: -99.599%; top: -16.689%; width: 202.071%; height: 125.748%; }
  .bgroup-point-thumbs {
    gap: calc(9.35 * var(--u));
    margin-top: calc(14.5 * var(--u));
  }
  .bgroup-point-thumb {
    width: calc(64.871 * var(--u));
    height: calc(43.344 * var(--u));
  }
}
