body {
	font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	min-height: 0vw;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core body defaults */

/* line-heightはcommon.css（html: 2 / SP: 1.7）に委ねるためここでは指定しない */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

/* width:100%だとロゴ・アイコン等が親幅まで伸びて崩れるため、旧テーマ(destyle+common.css)と同じ挙動に合わせる */

img {
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	transition: 0.3s;
	transition: var(--transition);
}

a[href^="tel:"] {
	pointer-events: none;
}

/* スクロールアンカリング無効化（GTranslateの言語切替で位置がずれるため） */

* {
	overflow-anchor: none !important;
}

/* 管理バー表示時、固定ヘッダーを押し下げる */

body.admin-bar #header {
	top: 32px;
}

:root {
	--main-color: #004f9c;
	--sub-color: #f5f8fa;
	--third-color: #7696b8;
	--line-color: #ededed;
	--base-color: #fff;
	--txt-color: #333;
	--contentmxwidth: 1200px;
	--content-w: 92.307%;
	--transition: 0.3s;
	--key-time: 1s;
	--content-title: 34px;
	--content-about-title: 46px;
	--fs-9l: 28px;
	--fs-8l: 22px;
	--fs-7l: 21px;
	--fs-6l: 20px;
	--fs-5l: 19px;
	--fs-4l: 18px;
	--fs-3l: 17px;
	--fs-ll: 16px;
	--fs-l: 15px;
	--fs-m: 14px;
	--fs-s: 13px;
	--fs-xs: 12px;
	--fs-xxs: 11px;
	--fs-xxxs: 10px;
	--margin: 10px;
	--line-height: 1.6;
	--img-trans-scale: scale(1.2, 1.2);
	--boxshadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.08);
	--boxshadow-m: 0px 3px 20px 0px rgba(0, 43, 85, 0.08);
	--textshadow: 0px 3px 6px rgba(0, 0, 0, 0.3);
	--textshadow-m: 0px 0px 15px rgba(0, 0, 0, 0.5);
	--icon-arrow-nv-down-w: 10px;
	--icon-arrow-nv-down-h: 6px;
	--icon-arrow-nv-down-bg-ab: left center/100% 100% no-repeat url("../images/common/icon-arrow-nv-down.svg");
	--icon-arrow-nv-down-bg: right center/10px 6px no-repeat url("../images/common/icon-arrow-nv-down.svg");
	--icon-arrow-nv-up-bg-ab: left center/100% 100% no-repeat url("../images/common/icon-arrow-nv-up.svg");
	--icon-arrow-nv-up-bg: right center/10px 6px no-repeat url("../images/common/icon-arrow-nv-up.svg"); /* 人間ドック(dock)ページ用トークン（Figma変数より。既存の近似色とは別管理） */
	--main-color02: #004fa2;
	--second-color: #b0c9e3;
	--bg-blue: #f5f7fa;
	--txt-color02: #444444; /* 年代別ドック診断ページ（page-age-specific.php）女性セクション用 */
	--pink-color: #d35f7f;
	--bg-pink: #fff6f8;
}

html {
	scroll-behavior: auto !important;
}

html {
	background: #fff;
	background: var(--base-color);
	color: #333;
	color: var(--txt-color);
	font-weight: 400;
	line-height: 2;
}

#wrapper,
button,
input,
optgroup,
select,
textarea {
	font-size: 15px;
	font-size: var(--fs-l);
}

input:focus,
select:focus {
	outline: solid 1px #ededed;
	outline: solid 1px var(--line-color);
}

/*見出しサイズ*/

h1 {
	font-size: 12px;
	font-weight: 500;
}

h2 {
	font-size: 28px;
	font-weight: 700;
}

h3 {
	font-size: 24px;
	font-weight: 700;
}

h4 {
	font-size: 22px;
}

/* ========================================
  各院紹介ページ共通（page-hachioji.php ほか /about/ 配下）
  本院・新宿・新町の3ページで共用する
======================================== */

/* ========================================
  KV
======================================== */

.p-clinic-kv {
	font-feature-settings: "palt" 1;
	position: relative;
}

.p-clinic-kv__main {
	height: 44.875rem;
	position: relative;
	z-index: 10;
}

.p-clinic-kv__slider {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
}

.p-clinic-kv__slider::after {
	background: linear-gradient(to right, #fff 0%, #fff 32%, rgba(255, 255, 255, 0) 62%);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
}

.p-clinic-kv__slider .swiper-slide {
	height: 44.875rem;
}

.p-clinic-kv__slider picture {
	aspect-ratio: 1440/553;
	display: block;
	height: 100%;
	width: 100%;
}

.p-clinic-kv__photo {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-clinic-kv__body {
	left: max(7.5rem, calc(50% - 37.5rem));
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 27.1875rem;
	z-index: 20;
}

.p-clinic-kv__logo img {
	display: block;
	height: auto;
	width: 21.8125rem;
}

.p-clinic-kv__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 1.125rem;
}

.p-clinic-kv__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.6875rem;
}

.p-clinic-kv__badge {
	align-items: center;
	background-color: #fff;
	border-bottom-left-radius: 1.5rem;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 1.5625rem;
	font-weight: 500;
	height: 4.1875rem;
	justify-content: center;
	max-width: 19.0625rem;
	padding: 0 1.875rem;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 30;
}

.p-clinic-kv__strip {
	background-color: #fff;
	height: 10.3125rem;
	padding-top: 1.4375rem;
	position: relative;
	z-index: 20;
}

.p-clinic-kv__thumbs {
	margin-left: auto;
	margin-right: auto;
	max-width: 68.875rem;
	width: 100%;
}

/* SwiperのCDN CSS（.swiper-slide{width:100%}が後読み）に勝つため詳細度を上げる */

.p-clinic-kv__thumbs .p-clinic-kv__thumb {
	border-radius: 1.5rem;
	cursor: pointer;
	height: 6rem;
	overflow: hidden;
	position: relative;
	width: 16.75rem;
}

.p-clinic-kv__thumb img {
	-o-object-fit: cover;
	aspect-ratio: 268/96;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-clinic-kv__thumb-label {
	align-items: center;
	background-color: #fff;
	border-bottom-left-radius: 1.5rem;
	border-top-right-radius: 0.5rem;
	bottom: 0;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 0.75rem;
	font-weight: 700;
	height: 2.25rem;
	left: 0;
	padding: 0.25rem 0.75rem;
	position: absolute;
	z-index: 10;
}

.p-clinic-kv__arrow {
	background-color: #fff;
	border: none;
	border-radius: 50%;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.08);
	box-shadow: var(--boxshadow);
	cursor: pointer;
	height: 2.25rem;
	position: absolute;
	top: 4.4375rem;
	transform: translateY(-50%);
	width: 2.25rem;
	z-index: 20;
}

.p-clinic-kv__arrow::after {
	background: url("../images/common/icon-arrow-nv-right.svg") no-repeat center;
	background-size: 0.625rem 0.46875rem;
	content: "";
	height: 0.46875rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.625rem;
}

.p-clinic-kv__arrow:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-kv__arrow:disabled,
.p-clinic-kv__arrow.swiper-button-disabled {
	cursor: default;
	opacity: 0.5;
}

/* 矢印はサムネイル帯（中央寄せ rem(1102)）の外側に固定する。
   画面を広げても中央基準で位置が決まるため、ビューポート端まで広がらない。 */

.p-clinic-kv__arrow--prev {
	left: max(0.5rem, calc(50% - 37.5625rem));
}

.p-clinic-kv__arrow--prev::after {
	transform: translate(-50%, -50%) scaleX(-1);
}

.p-clinic-kv__arrow--next {
	right: max(0.5rem, calc(50% - 37.5625rem));
}

.p-clinic-kv__dots {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 1rem;
}

.p-clinic-kv__dots .swiper-pagination-bullet {
	background-color: #dbe5f0;
	border-radius: 50%;
	height: 0.5rem;
	margin: 0;
	opacity: 1;
	width: 0.5rem;
}

.p-clinic-kv__dots .swiper-pagination-bullet-active {
	background-color: #004fa2;
	background-color: var(--main-color02);
}

/* ========================================
  ANCHOR（ページ内アンカーリンク）
======================================== */

.p-clinic-anchor {
	font-feature-settings: "palt" 1;
}

.p-clinic-anchor__inner {
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
	width: min(75rem, 100% - 3.75rem);
}

.p-clinic-anchor__toggle {
	display: none;
}

.p-clinic-anchor__toggle:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* ＋アイコン（開閉で−に変化） */

.p-clinic-anchor__toggle-icon {
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	flex-shrink: 0;
	height: 2rem;
	position: relative;
	width: 2rem;
	z-index: 10;
}

.p-clinic-anchor__toggle-icon::before,
.p-clinic-anchor__toggle-icon::after {
	background: #444444;
	background: var(--txt-color02);
	content: "";
	height: 0.0625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.75rem;
	z-index: 10;
}

.p-clinic-anchor__toggle-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.3s;
}

.js-clinic-anchor-toggle.is-open .p-clinic-anchor__toggle-icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-clinic-anchor__list {
	grid-gap: 0.75rem;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, 1fr);
	position: relative;
	z-index: 11;
}

/* SPでJSのslideToggleを閉じたままPC幅へ戻った場合のガード */

.p-clinic-anchor__link {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.125rem;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 0.875rem;
	gap: 1.25rem;
	height: 100%;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	transition: opacity 0.3s;
}

.p-clinic-anchor__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* テキストは左揃えで固定幅（デザイン: 160px 左寄せ＋右に丸アイコン） */

.p-clinic-anchor__link > :first-child:not(.p-clinic-anchor__icon) {
	width: 10rem;
}

.p-clinic-anchor__text {
	display: block;
	width: 10rem;
}

.p-clinic-anchor__note {
	display: block;
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* 矢印は白い丸で囲む（PC/SP共通・FB 2026-08-11。肛門科FVの .clinic-hemo 版と同じ見た目に統一） */

.p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #444444;
	color: var(--txt-color02);
	display: grid;
	flex-shrink: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	height: 2rem;
	justify-items: center;
	line-height: 1;
	place-items: center;
	transition: transform 0.3s;
	width: 2rem;
}

/* ========================================
  共通: セクション見出し（各院紹介ページ用。罫線なし・英字third-color。
  dockの .sec-head とは別デザインのため単一定義で管理・モディファイア分岐しない）
======================================== */

.p-clinic-head {
	font-feature-settings: "palt" 1;
}

.p-clinic-head__en {
	color: #7696b8;
	color: var(--third-color);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-clinic-head__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.25rem;
}

/* ========================================
  共通: 背景の英字装飾（ABOUT HACHIOJI / OTHERS 等）
======================================== */

.p-clinic-bgtext {
	-webkit-background-clip: text;
	-webkit-user-select: none;
	-moz-user-select: none;
	background-clip: text;
	background-image: linear-gradient(to right, rgba(243, 206, 234, 0.28), rgba(222, 243, 189, 0.28) 56.731%, rgba(189, 220, 252, 0.28));
	color: transparent;
	font-family: "Cinzel", serif;
	font-size: 22.5rem;
	font-weight: 400;
	letter-spacing: -0.08em;
	line-height: 25rem;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	user-select: none;
	white-space: nowrap;
	z-index: 1;
}

/* ========================================
  共通: コンテンツ内側コンテナ
  幅1200px（padding込み・border-box）＋左右padding 20px＋中央寄せ。
  左右ガターの責務はこのコンテナに一本化する（親セクションの左右paddingは0）
======================================== */

.p-clinic-service__inner,
.p-clinic-results__panel,
.p-clinic-types__inner,
.p-clinic-access__inner,
.p-clinic-greeting__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 77.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

/* ========================================
  共通: あしらい（Figma書き出しの実アセット）
  blob = ブラー楕円SVG（ピンク＝左／グリーン＝右）、ring = ドーナツPNG。
  共通の img を各セクションの端から見切れさせて背面(z-index:-10)に敷く。
  位置・サイズは各セクション側の *__blob / *__ring で指定する。
======================================== */

.p-clinic-blob,
.p-clinic-ring {
	-webkit-user-select: none;
	-moz-user-select: none;
	height: auto;
	pointer-events: none;
	position: absolute;
	transition: transform 1s ease 0.15s, opacity 1s ease 0.15s;
	transition: transform var(--key-time) ease 0.15s, opacity var(--key-time) ease 0.15s;
	user-select: none;
	z-index: -10;
}

/* SVGは preserveAspectRatio:none のため、比率をCSSで固定して潰れを防ぐ */

.p-clinic-blob {
	aspect-ratio: 2482/1580;
}

.p-clinic-ring {
	aspect-ratio: 1;
	opacity: 0.55;
}

/* 上部用の扁平ピンクは別比率 */

.p-clinic-about__blob {
	aspect-ratio: 2202/1375;
}

/* 出現前（is-hide）: ブロブはフェード、リングは -180°回転しながら出現 */

.p-clinic-blob.is-hide {
	opacity: 0;
}

.p-clinic-ring.is-hide {
	opacity: 0;
	transform: rotate(-180deg);
}

/* 出現後（common.js が is-show を付与） */

.p-clinic-blob.is-show {
	opacity: 1;
}

.p-clinic-ring.is-show {
	opacity: 0.55;
	transform: rotate(90deg);
}

/* 視差軽減設定では回転させず即表示 */

/* あしらいが見切れてもページを横スクロールさせない */

.p-clinic-about,
.p-clinic-news,
.p-clinic-img,
.p-clinic-service,
.p-clinic-results,
.p-clinic-hemo,
.p-clinic-types,
.p-clinic-access,
.p-clinic-doctors,
.p-clinic-greeting {
	overflow-x: clip;
}

/* IMGセクションはあしらいのホストにするため相対配置に */

.p-clinic-img {
	position: relative;
	z-index: 10;
}

/* 追加の背景英字あしらいの配置 */

.p-clinic-service__bgtext {
	bottom: -8.5rem;
	left: -9.75rem;
}

/* CTA（2回目）下部のウォーターマーク。カンプ 3:1074「HACHIOJI CLINIC」x-479 y11675
   → CTA基準 top829（＝CTA高さ1437に対し bottom208）。高さ変動に追従するよう bottom で指定 */

.p-clinic-cta__bgtext {
	bottom: 13rem;
	left: -29.9375rem;
}

/* SPのみ: HACHIOJI CLINIC ウォーターマーク（SPカンプ text 3:7182 = access基準 top-55 / left-189） */

.p-clinic-access__bgtext {
	display: none;
}

/* ---- あしらいの配置（Figma 3-874 準拠：各要素Y − セクショントップ を top に） ---- */

/* ブロブ（ぼかし楕円）: 左右見切れは維持、縦位置をカンプ準拠に */

.p-clinic-about__blob {
	left: -25.625rem;
	top: -20.625rem;
	width: 89.375rem;
}

.p-clinic-news__blob {
	right: -36.5rem;
	top: 4.0625rem;
	width: 118.75rem;
}

.p-clinic-service__blob--l {
	left: -35.25rem;
	top: 48.6875rem;
	width: 118.75rem;
}

.p-clinic-service__blob--r {
	right: -51.25rem;
	top: 97.0625rem;
	width: 118.75rem;
}

.p-clinic-results__blob {
	left: -51.25rem;
	top: -5.4375rem;
	width: 118.75rem;
}

.p-clinic-hemo__blob--r {
	right: -51.25rem;
	top: 27.75rem;
	width: 118.75rem;
}

.p-clinic-hemo__blob--l {
	left: -51.25rem;
	top: 60.75rem;
	width: 118.75rem;
}

.p-clinic-types__blob {
	right: -30.25rem;
	top: -10rem;
	width: 118.75rem;
}

/* SPのみ: 03〜05カード帯の背景を補うモヤ（緑=右・03/04帯、ピンク=左・05帯） */

.p-clinic-types__blob--b {
	display: none;
}

.p-clinic-types__blob--c {
	display: none;
}

.p-clinic-access__blob {
	right: -51.25rem;
	top: -72.5rem;
	width: 118.75rem;
}

.p-clinic-access__blob--l {
	left: -21.25rem;
	top: -21.3125rem;
	width: 118.75rem;
}

.p-clinic-doctors__blob {
	right: -38.25rem;
	top: -13.5rem;
	width: 118.75rem;
}

.p-clinic-greeting__blob {
	right: -51.25rem;
	top: -7.5rem;
	width: 118.75rem;
}

/* リング（ドーナツ image 12〜19）: カンプの各セクション内オフセット。回転して出現 */

.p-clinic-about__ring {
	left: -29.1875rem;
	top: -41.9375rem;
	width: 57.375rem;
}

.p-clinic-news__ring {
	right: -35.5625rem;
	top: 27.4375rem;
	width: 60.9375rem;
}

.p-clinic-img__ring {
	left: -39.4375rem;
	top: 19.3125rem;
	width: 60.9375rem;
}

.p-clinic-service__ring {
	right: -34.0625rem;
	top: 71.4375rem;
	width: 60.9375rem;
}

.p-clinic-hemo__ring {
	display: none;
	right: -34.1875rem;
	top: 109.25rem;
	width: 60.9375rem;
}

.p-clinic-types__ring {
	right: -48rem;
	top: 19.5625rem;
	width: 78.625rem;
}

.p-clinic-access__ring {
	right: -32.375rem;
	top: -21.8125rem;
	width: 60.9375rem;
}

/* ========================================
  ABOUT（八王子本院について）
======================================== */

.p-clinic-about {
	margin-top: 2.875rem;
	overflow-y: visible;
	position: relative;
	z-index: 10;
}

.p-clinic-about__bgtext {
	left: -2.8125rem;
	top: 33.3125rem;
}

.p-clinic-about__inner {
	align-items: flex-start;
	display: flex;
}

.p-clinic-about__body {
	flex-shrink: 0;
	margin-left: max(7.5rem, calc(50% - 37.5rem));
	padding-right: 0.625rem;
	padding-top: 7.5rem;
	width: 28.75rem;
}

.p-clinic-about__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

.p-clinic-about__text p + p {
	margin-top: 1.75rem;
}

.p-clinic-about__em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-about__photos {
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 18.75rem, #000 calc(100% - 15.625rem), transparent);
	display: flex;
	gap: 0.75rem;
	height: 52.625rem;
	margin-left: auto;
	mask-image: linear-gradient(to bottom, transparent, #000 18.75rem, #000 calc(100% - 15.625rem), transparent);
	overflow: hidden;
	width: 48.8125rem;
}

.p-clinic-about__col {
	flex-shrink: 0;
}

.p-clinic-about__col--first {
	margin-top: -10.6875rem;
	width: 22.0625rem;
}

.p-clinic-about__col--second {
	margin-top: 0.8125rem;
	width: 26rem;
}

.p-clinic-about__photo {
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 0.75rem;
}

.p-clinic-about__photo--1 {
	aspect-ratio: auto;
	height: 26.8125rem;
}

.p-clinic-about__photo--2 {
	-o-object-position: bottom;
	height: 16.8125rem;
	object-position: bottom;
}

.p-clinic-about__photo--3 {
	height: 14.75rem;
}

.p-clinic-about__photo--4 {
	height: 17.5rem;
}

.p-clinic-about__photo--5 {
	-o-object-position: center 24%;
	height: 17.6875rem;
	object-position: center 24%;
}

.p-clinic-about__photo--6 {
	height: 17.3125rem;
}

/* 写真の縦方向ループ（JSがクローンを追加して .is-scroll-ready を付与したときのみ有効）
   右列を上へ・左列を下へ流し続ける。移動距離は1セット分をJSが --scroll-dist に渡す */

.p-clinic-about__col {
	will-change: transform;
}

/* ========================================
  共通: 院バッジ（本院/新宿院/新町院・お知らせカテゴリ等）
======================================== */

.p-clinic-badge {
	align-items: center;
	background: #f4f8fb;
	border: 0.0625rem solid #b0c9e3;
	border: 0.0625rem solid var(--second-color);
	border-radius: 0.125rem;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-size: 0.75rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	min-width: 5.375rem;
	padding: 0.25rem 0.75rem;
	text-align: center;
}

/* ========================================
  共通: テキストリンク（ラベル＋青枠円矢印）
======================================== */

.p-clinic-textlink {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 1rem;
	gap: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
}

.p-clinic-textlink:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* 青枠円＋矢印（デザインのアウトライン円アイコン。既存の塗り円SVGとは別物のためCSSで構成） */

.p-clinic-textlink__icon {
	background: url("../images/common/icon-arrow-nv-right-thin.svg") no-repeat center;
	background-size: 0.75rem 0.5625rem;
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.6625rem;
	transition: transform 0.3s;
	width: 1.6625rem;
}

/* ========================================
  NEWS（お知らせ）
======================================== */

.p-clinic-news {
	font-feature-settings: "palt" 1;
	padding: 0 5rem 5rem;
	position: relative;
	z-index: 10;
}

.p-clinic-news__card {
	-webkit-backdrop-filter: blur(0.625rem);
	backdrop-filter: blur(0.625rem);
	background: rgba(255, 255, 255, 0.4);
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	padding: 5rem;
	position: relative;
	z-index: 10;
}

/* 一覧を見る: PCは見出し右横（カード基準の絶対配置）/ SPはリスト下の中央 */

.p-clinic-news__more {
	position: absolute;
	right: 5rem;
	top: 8.375rem;
	z-index: 10;
}

.p-clinic-news__list {
	border-top: 0.0625rem solid #b0c9e3;
	border-top: 0.0625rem solid var(--second-color);
	margin-top: 2.5rem;
}

.p-clinic-news__link {
	align-items: center;
	border-bottom: 0.0625rem solid #b0c9e3;
	border-bottom: 0.0625rem solid var(--second-color);
	display: flex;
	padding: 1.25rem 2.5rem;
	position: relative;
	transition: opacity 0.3s;
	z-index: 10;
}

.p-clinic-news__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-news__meta {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	width: 18.0625rem;
}

.p-clinic-news__date {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-news__cats {
	display: flex;
	gap: 1rem;
	margin-left: 1.5rem;
}

.p-clinic-news__title {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 2.5rem;
}

.p-clinic-news__icon {
	background: url("../images/common/icon-arrow-nv-right-thin.svg") no-repeat center;
	background-size: 0.8235625rem 0.6176875rem;
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.75rem;
	margin-left: auto;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ========================================
  IMG（全幅イメージ）
======================================== */

.p-clinic-img__photo {
	-o-object-fit: cover;
	aspect-ratio: 1440/572;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* ========================================
  SERVICE（診療案内）
======================================== */

.p-clinic-service {
	font-feature-settings: "palt" 1;
	padding: 7.5rem 0 10rem;
	position: relative;
	z-index: 10;
}

.p-clinic-service .p-clinic-head {
	text-align: center;
}

.p-clinic-service__inner {
	position: relative;
	z-index: 1;
}

.p-clinic-service__feature {
	align-items: center;
	background: #fff;
	box-shadow: 0 0 0.75rem rgba(17, 154, 239, 0.08);
	display: flex;
	margin-top: 4rem;
	padding-right: 2.5rem; /* カード全体がリンク。ホバーで画像ズーム＋丸矢印を右へ */
}

.p-clinic-service__feature:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-service__feature-img {
	height: 23.75rem;
	overflow: hidden;
	width: 38.25rem;
}

.p-clinic-service__feature-img img {
	-o-object-fit: cover;
	aspect-ratio: 612/380;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.p-clinic-service__feature-body {
	margin-left: 2.5rem;
}

.p-clinic-service__title-row {
	align-items: center;
	display: flex;
	gap: 1.5rem;
}

.p-clinic-service__feature-name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-service__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.p-clinic-service__catch {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-clinic-service__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.3125rem;
}

.p-clinic-service__feature .p-clinic-textlink {
	margin-top: 2.5rem;
}

.p-clinic-service__cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-clinic-service__card {
	background: #fff;
	box-shadow: 0 0 0.75rem rgba(17, 154, 239, 0.08); /* カード全体がリンク。ホバーで画像ズーム＋丸矢印を右へ */
}

.p-clinic-service__card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-service__card-img {
	overflow: hidden;
}

.p-clinic-service__card-img img {
	-o-object-fit: cover;
	aspect-ratio: 384/240;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.p-clinic-service__card-body {
	padding: 1.5rem 1.25rem 1.25rem;
}

.p-clinic-service__card-name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	width: 100%;
}

.p-clinic-service__card .p-clinic-service__text {
	margin-top: 1.5rem;
}

.p-clinic-service__card .p-clinic-textlink {
	margin-top: 2.5rem;
}

/* ========================================
  CTA（予約・p-dock-cta流用の本院差分）
======================================== */

/* bgtextの配置ホスト（横に長いウォーターマークは画面端でクリップ） */

.p-clinic-cta {
	overflow-x: clip;
	position: relative;
}

/* 本院CTAの背景は薄いブルーグレー（dock/新町のペールグリーンとは別） */

.p-clinic-cta--hachioji .p-dock-cta__box {
	background: #f5f7fa;
	background: var(--bg-blue);
}

.p-clinic-cta .p-dock-cta__title {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-cta .p-dock-cta__info-item:first-child {
	border-right-color: #b0c9e3;
	border-right-color: var(--second-color);
}

.p-clinic-cta .p-dock-cta__info-label {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-cta .p-dock-cta__info-closed {
	color: #444444;
	color: var(--txt-color02);
}

.p-clinic-cta__closed-em {
	color: #004fa2;
	color: var(--main-color02);
	margin-right: 1rem;
}

.p-clinic-cta__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-clinic-cta__note2 {
	border-bottom: 0.0625rem solid #7696b8;
	border-bottom: 0.0625rem solid var(--third-color);
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	padding-bottom: 2.5rem;
	text-align: center;
}

.p-clinic-cta__menu {
	margin-top: 1.5rem;
}

.p-clinic-cta__menu-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-clinic-cta__table-scroll {
	margin-top: 1.5rem;
}

.p-clinic-cta__table {
	font-feature-settings: "palt" 1;
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
	width: 65rem;
}

.p-clinic-cta__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #fff;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-clinic-cta__table-menu {
	width: 13.75rem;
}

.p-clinic-cta__table-remarks {
	width: 15rem;
}

.p-clinic-cta__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

.p-clinic-cta__table-small {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.p-clinic-cta__table tbody td {
	background: #fff;
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

/* 備考列の説明文セル（カンプではSP時13px・3行折返し） */

/* ========================================
  RESULTS（当院の肛門科の診療実績）
======================================== */

.p-clinic-results {
	font-feature-settings: "palt" 1;
	padding-bottom: 16.4375rem;
	position: relative;
	z-index: 10;
}

.p-clinic-results__bg {
	display: flex;
	justify-content: space-between;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: -20.3125rem;
	width: 100%;
	z-index: -10;
}

.p-clinic-results__bg-img {
	display: block;
	height: auto;
}

.p-clinic-results__bg-img--left {
	-o-object-fit: cover;
	-o-object-position: right top;
	height: 32.375rem;
	object-fit: cover;
	object-position: right top;
	width: 54.75rem;
}

.p-clinic-results__bg-img--right {
	-o-object-fit: cover;
	-o-object-position: left top;
	height: 36.375rem;
	margin-left: -9rem;
	object-fit: cover;
	object-position: left top;
	width: 44.25rem;
}

.p-clinic-results__panel {
	-webkit-backdrop-filter: blur(0.9375rem);
	backdrop-filter: blur(0.9375rem);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 40%, rgba(255, 255, 255, 0) 91.5%);
	margin-top: 20.3125rem;
	padding-bottom: 0;
	padding-top: 5rem;
}

.p-clinic-results__panel .p-clinic-head {
	text-align: center;
}

.p-clinic-results__total {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-clinic-results__total-nums {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.p-clinic-results__total-group {
	align-items: flex-end;
	display: flex;
	gap: 0.25rem;
}

.p-clinic-results__total-num {
	font-size: 5.625rem;
	letter-spacing: -0.04em;
	line-height: 1;
}

.p-clinic-results__total-unit {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.p-clinic-results__stats {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(4, 16.75rem);
	justify-content: center;
	margin-top: 2.5rem;
}

.p-clinic-results__stat {
	align-items: center;
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 2.5rem 1.25rem;
}

/* PCでは包まず縦積みのまま（display: contents）、SPで右側テキスト列になる */

.p-clinic-results__stat-body {
	display: contents;
}

.p-clinic-results__stat-img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: block;
	height: 7.5rem;
	object-fit: cover;
	width: 7.5rem;
}

.p-clinic-results__stat-label {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	min-height: 3.5rem;
	text-align: center;
}

.p-clinic-results__stat-line {
	background: #b0c9e3;
	background: var(--second-color);
	height: 0.0625rem;
	margin-top: 1.5rem;
	width: 12.5rem;
}

.p-clinic-results__stat-value {
	align-items: flex-end;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	gap: 0.25rem;
	margin-top: auto;
	padding-top: 1.5rem;
	white-space: nowrap;
}

.p-clinic-results__stat-num {
	font-size: 4rem;
	letter-spacing: -0.04em;
	line-height: 1;
}

.p-clinic-results__stat-unit {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

/* ========================================
  共通: 青ピルボタン（ラベル＋白丸矢印）
======================================== */

.p-clinic-btn {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 7.5rem;
	color: #fff;
	display: inline-flex;
	font-size: 1rem;
	gap: 1.0625rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 1rem 2.5rem;
	transition: opacity 0.3s;
}

.p-clinic-btn:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-btn--lg {
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

/* ボタン内の小書き（例:（スリーパーツ法）） */

.p-clinic-btn__small {
	font-size: 0.625rem;
}

.p-clinic-btn__arrow {
	background: center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ========================================
  HEMO（痔の日帰り手術について）
======================================== */

.p-clinic-hemo {
	font-feature-settings: "palt" 1;
	display: flow-root;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	z-index: 10;
}

.p-clinic-hemo__bg {
	-o-object-fit: cover;
	-o-object-position: top;
	height: 51.4375rem;
	left: 0;
	object-fit: cover;
	object-position: top;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -20;
}

.p-clinic-hemo__bgtext {
	bottom: -13.75rem;
	color: #fff;
	left: -16.0625rem;
	z-index: -1;
}

.p-clinic-hemo__panel {
	box-shadow: 0 0 1.25rem rgba(140, 172, 195, 0.12);
	margin-left: auto;
	margin-right: auto;
	margin-top: 30.25rem;
	width: min(75rem, 100%);
}

.p-clinic-hemo__intro {
	-webkit-backdrop-filter: blur(3.75rem);
	backdrop-filter: blur(3.75rem);
	background: rgba(255, 255, 255, 0.6);
	padding: 7.5rem 7.5rem 2.5rem;
	text-align: center;
}

.p-clinic-hemo__intro .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-hemo__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

.p-clinic-hemo__lead-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-hemo__buttons {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-clinic-hemo__card {
	background: #fff;
	border-top: 0.0625rem solid #b0c9e3;
	border-top: 0.0625rem solid var(--second-color);
	padding: 5rem;
	text-align: center;
}

.p-clinic-hemo__card-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-hemo__card-title-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-hemo__card-title-small {
	font-size: 1.5rem;
}

.p-clinic-hemo__card-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

.p-clinic-hemo__points {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-clinic-hemo__point {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 17.5rem;
}

.p-clinic-hemo__point + .p-clinic-hemo__point {
	border-left: 0.025rem solid #004fa2;
	border-left: 0.025rem solid var(--main-color02);
}

.p-clinic-hemo__point-img {
	-o-object-fit: cover;
	aspect-ratio: 180/120;
	display: block;
	height: 7.5rem;
	object-fit: cover;
	width: 11.25rem;
}

.p-clinic-hemo__point-img--wide {
	aspect-ratio: 200/112;
	height: 7rem;
	width: 12.5rem;
}

.p-clinic-hemo__point-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

.p-clinic-hemo__features {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-clinic-hemo__feature {
	background: #fff;
	padding: 1.5rem 1rem;
	width: 21.25rem;
}

.p-clinic-hemo__feature-num {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Cinzel", serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

.p-clinic-hemo__feature-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-clinic-hemo__feature-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: left;
}

.p-clinic-hemo__card-btn {
	margin-top: 2.5rem;
}

/* ========================================
  TYPES（痔の種類について）
======================================== */

.p-clinic-types {
	font-feature-settings: "palt" 1;
	padding-left: 0;
	padding-right: 0;
	padding-top: 9.75rem;
	position: relative;
	z-index: 10;
}

.p-clinic-types .p-clinic-head {
	text-align: center;
}

.p-clinic-types .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-types__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-clinic-types__lead-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-clinic-types__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem 1.875rem;
	justify-content: center;
	margin-top: 2.5rem;
}

/* 治療法ごとのテーマ色は --types-color で切替 */

/* 1行3枚を維持（1440幅で約380px＝カンプ準拠、狭い画面でも折り返さず縮小） */

.p-clinic-types__card {
	--types-color: var(--main-color02);
	max-width: 23.75rem;
	width: calc((100% - 4rem) / 3); /* カード全体がリンク。ホバーで画像ズーム＋丸矢印を右へ */
}

.p-clinic-types__card:focus-visible {
	outline: 0.125rem solid var(--types-color);
	outline-offset: 0.125rem;
}

.p-clinic-types__card--lvsos {
	--types-color: #138f6a;
	position: relative;
}

.p-clinic-types__card--lvsos::before {
	aspect-ratio: 1;
	background: center/contain no-repeat url("../images/hachioji/deco/ring.webp");
	content: "";
	display: none;
	left: -5.625rem;
	opacity: 0.55;
	pointer-events: none;
	position: absolute;
	top: -4.375rem;
	width: 35rem;
	z-index: -1;
}

.p-clinic-types__card--drainage {
	--types-color: #c34a43;
}

.p-clinic-types__card--alta {
	--types-color: #cc716b;
}

.p-clinic-types__card--trace {
	--types-color: #c57c3c;
}

/* ホバーズームで拡大した画像をカード内にクリップする */

.p-clinic-types__img-wrap {
	overflow: hidden;
}

.p-clinic-types__img {
	-o-object-fit: cover;
	aspect-ratio: 380/254;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.p-clinic-types__body {
	align-items: center;
	background: #fff;
	display: flex;
	flex-direction: column;
	min-height: 14.4375rem;
	padding: 1.25rem;
}

.p-clinic-types__label {
	align-items: center;
	background: var(--types-color);
	border-radius: 0.25rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1.5rem;
	text-align: center;
	width: 18.75rem;
}

.p-clinic-types__name {
	color: var(--types-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
	text-align: center;
}

.p-clinic-types__name-small {
	font-size: 1rem;
}

.p-clinic-types__link {
	align-items: center;
	color: var(--types-color);
	display: flex;
	font-size: 1rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
	transition: opacity 0.3s;
}

.p-clinic-types__link:focus-visible {
	outline: 0.125rem solid var(--types-color);
	outline-offset: 0.125rem;
}

.p-clinic-types__link-small {
	font-size: 0.625rem;
}

/* 治療色の枠線円＋矢印（矢印はSVGをマスクにして currentColor 相当で着色） */

.p-clinic-types__link-icon {
	border: 0.0625rem solid var(--types-color);
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	transition: transform 0.3s;
	width: 1.75rem;
}

.p-clinic-types__link-icon::after {
	-webkit-mask: url("../images/common/icon-arrow-nv-right-thin.svg") no-repeat center/0.8235625rem 0.6176875rem;
	background-color: var(--types-color);
	content: "";
	height: 0.6176875rem;
	left: 50%;
	mask: url("../images/common/icon-arrow-nv-right-thin.svg") no-repeat center/0.8235625rem 0.6176875rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.8235625rem;
	z-index: 10;
}

/* ========================================
  ACCESS（アクセス/診療時間）
======================================== */

.p-clinic-access {
	font-feature-settings: "palt" 1;
	padding-left: 0;
	padding-right: 0;
	padding-top: 7.5rem;
	position: relative;
	z-index: 10;
}

.p-clinic-access .p-clinic-head {
	text-align: center;
}

.p-clinic-access .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-access__body {
	align-items: flex-start;
	display: flex;
	margin-top: 2.5rem;
}

.p-clinic-access__map {
	height: 31.5rem;
	width: 44.5rem;
}

.p-clinic-access__map iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.p-clinic-access__info {
	margin-left: 2.5rem;
	width: 28rem;
}

.p-clinic-access__name {
	align-items: center;
	background: #fff;
	border-radius: 0.75rem;
	display: flex;
	height: 4.625rem;
	overflow: hidden;
	padding-left: 1.6875rem;
	padding-right: 1.6875rem;
	width: 24.875rem;
}

.p-clinic-access__name img {
	display: block;
	height: auto;
	width: 22.25rem;
}

.p-clinic-access__list {
	margin-top: 1.5rem;
}

.p-clinic-access__row {
	border-bottom: 0.0625rem solid #b0c9e3;
	border-bottom: 0.0625rem solid var(--second-color);
	padding: 1.25rem;
}

.p-clinic-access__row--last {
	border-bottom: none;
}

.p-clinic-access__label {
	color: #7696b8;
	color: var(--third-color);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-access__value {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.8125rem;
}

.p-clinic-access__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.8125rem;
}

/* SPデザインのみに存在する「詳しく見る」リンク */

.p-clinic-access__more {
	display: none;
}

/* ========================================
  DOCTORS（本院担当医表）
======================================== */

.p-clinic-doctors {
	padding-left: 5rem;
	padding-right: 5rem;
	padding-top: 7.5rem;
	position: relative;
	z-index: 10;
}

.p-clinic-doctors__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
}

.p-clinic-doctors .p-clinic-head {
	text-align: center;
}

.p-clinic-doctors .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

/* 表がコンテナを超える幅では表内スクロールに封じ込め、ページ自体を横スクロールさせない */

/* SPは横スクロールではなく転置レイアウト（__sp）に表示切替 */

.p-clinic-doctors__scroll {
	margin-top: 2.5rem;
	overflow-x: auto;
}

/* セル間の4px隙間はborder-spacingで表現（隙間は背景が透ける） */

.p-clinic-doctors__table {
	border-collapse: separate;
	border-spacing: 0.25rem;
	margin-left: auto;
	margin-right: auto;
	width: 70rem;
}

.p-clinic-doctors__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.2;
	padding: 0.75rem;
	text-align: center;
	width: 7.5rem;
}

.p-clinic-doctors__blank {
	background: transparent;
}

.p-clinic-doctors__time {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 0.75rem;
	text-align: center;
	width: 8.6875rem;
}

.p-clinic-doctors__dept {
	background: #e5f1fe;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	font-weight: 400;
	height: 4.5rem;
	line-height: 1.4;
	padding: 0.75rem;
	text-align: center;
	width: 6.5rem;
}

.p-clinic-doctors__table tbody td {
	background: #fff;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 0.875rem;
	height: 4.5rem;
	line-height: 1.4;
	padding: 0.75rem;
	text-align: center;
	vertical-align: middle;
}

.p-clinic-doctors__plastic {
	color: #cc716b;
}

/* tdの文字色より優先させるためtd指定 */

.p-clinic-doctors__table tbody td.p-clinic-doctors__plastic {
	color: #cc716b;
}

.p-clinic-doctors__none {
	font-size: 1.25rem;
}

.p-clinic-doctors__table tbody td.p-clinic-doctors__none {
	font-size: 1.25rem;
}

.p-clinic-doctors__small {
	font-size: 0.625rem;
}

/* ========================================
  GREETING（院長挨拶）
======================================== */

.p-clinic-greeting {
	font-feature-settings: "palt" 1;
	padding: 5rem 0 0;
	position: relative;
	z-index: 10;
}

.p-clinic-greeting .p-clinic-head {
	text-align: center;
}

.p-clinic-greeting .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-greeting__body {
	align-items: flex-start;
	display: flex;
	margin-top: 3rem;
}

/* PC/SP出し分けのpictureラッパーはレイアウト上無視し、imgを直接のflexアイテムとして扱う */

.p-clinic-greeting__body > picture {
	display: contents;
}

.p-clinic-greeting__photo {
	-o-object-fit: cover;
	aspect-ratio: 603/492;
	display: block;
	flex-shrink: 0;
	height: 30.75rem;
	object-fit: cover;
	width: 37.6875rem;
}

.p-clinic-greeting__text-area {
	margin-left: 3rem;
}

.p-clinic-greeting__label {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-greeting__name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-greeting__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-clinic-greeting__text p + p {
	margin-top: 1.75rem;
}

/* 統計カード4（満足度）はAI合成画像の右側「ハートを持つ手」領域を表示（Figmaのマスク位置に合わせる） */

.p-clinic-results__stat:nth-child(4) .p-clinic-results__stat-img {
	-o-object-position: 87% 55%;
	object-position: 87% 55%;
}

/* CTAタイトルはdockより文字数が多くSPで3行に折れるため縮小 */

/* ========================================
  DOCTORS SP転置レイアウト（曜日が縦・時間帯ごとに2ブロック）
======================================== */

.p-clinic-doctors__sp {
	display: none;
}

.p-clinic-doctors__sp-block + .p-clinic-doctors__sp-block {
	margin-top: 1.5rem;
}

.p-clinic-doctors__sp-time {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 0.75rem;
	text-align: center;
}

/* セル間4pxの隙間 */

.p-clinic-doctors__sp-row {
	display: flex;
	gap: 0.25rem;
	margin-top: 0.25rem;
}

.p-clinic-doctors__sp-day {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	display: flex;
	flex-shrink: 0;
	font-size: 0.875rem;
	justify-content: center;
	line-height: 1.4;
	min-height: 4.5rem;
	padding: 0.75rem;
	text-align: center;
	width: 3.375rem;
}

.p-clinic-doctors__sp-day--blank {
	background: #fff;
}

/* brを含むセルはflexだと行構造が崩れるため、blockのままalign-contentで天地中央 */

.p-clinic-doctors__sp-dept {
	align-content: center;
	background: #e5f1fe;
	color: #004fa2;
	color: var(--main-color02);
	display: block;
	flex: 1;
	font-size: 1rem;
	line-height: 1.4;
	min-height: 4.5rem;
	padding: 0.75rem;
	text-align: center;
}

.p-clinic-doctors__sp-cell {
	align-content: center;
	background: #fff;
	color: #004fa2;
	color: var(--main-color02);
	display: block;
	flex: 1;
	font-size: 0.875rem;
	line-height: 1.4;
	min-height: 4.5rem;
	padding: 0.75rem;
	text-align: center;
}

/* sp-cellのcolor指定より後勝ちにするための併記（PC表の形成外科医名と同じ赤） */

.p-clinic-doctors__sp-cell.p-clinic-doctors__plastic {
	color: #cc716b;
}

.p-clinic-doctors__sp-cell.p-clinic-doctors__none {
	font-size: 1.25rem;
}

/* ========================================
  新宿ページ差分（.clinic-shinjuku スコープ）
======================================== */

/* aboutの濃紺強調（新宿の本文で使用） */

.p-clinic-about__em-dark {
	color: #1a2433;
}

/* KVロゴは新宿ロックアップ（320×37） */

.clinic-shinjuku .p-clinic-kv__logo img {
	width: 20rem;
}

/* aboutコラージュ: 新宿は2列とも高さ267の均等3枚（右列は63px下げ） */

.clinic-shinjuku .p-clinic-about__photos {
	gap: 1.25rem;
	width: 50rem;
}

.clinic-shinjuku .p-clinic-about__col--first {
	margin-top: 0;
	width: 25rem;
}

.clinic-shinjuku .p-clinic-about__col--second {
	margin-top: 3.9375rem;
	width: 23.75rem;
}

.clinic-shinjuku .p-clinic-about__photo {
	height: 16.6875rem;
}

.clinic-shinjuku .p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 1.25rem;
}

/* 院長写真は縦長素材を横長枠に入れるため、顔＋上半身がバランスよく入る位置に寄せる（fix[6]） */

.clinic-shinjuku .p-clinic-greeting__photo {
	-o-object-position: center 15%;
	object-position: center 15%;
}

/* ========================================
  CTA 新宿差分（ピンク配色・WEB/電話の2ボタン）
======================================== */

.p-clinic-cta--shinjuku .p-dock-cta__box {
	background: #fff4f3;
}

.p-clinic-cta--shinjuku .p-dock-cta__title {
	color: #cc716b;
}

.p-clinic-cta--shinjuku .p-dock-cta__info-item:first-child {
	border-right-color: #cc716b;
}

.p-clinic-cta--shinjuku .p-dock-cta__info-label {
	color: #cc716b;
}

.p-clinic-cta--shinjuku .p-clinic-cta__closed-em {
	color: #cc716b;
}

/* 受付曜日の行（新宿のみ） */

.p-clinic-cta__days {
	color: #cc716b;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-clinic-cta--shinjuku .p-dock-cta__info-times {
	margin-top: 0.75rem;
}

.p-clinic-cta--shinjuku .p-clinic-cta__menu-title {
	color: #cc716b;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table {
	border-color: #cc716b;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table thead th {
	background: #cc716b;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table tbody th {
	background: #fff4f3;
}

/* ========================================
  GASTRO（消化器内科・新宿のみ）
======================================== */

.p-clinic-gastro {
	font-feature-settings: "palt" 1;
	padding-left: 7.5rem;
	padding-right: 7.5rem;
	position: relative;
	z-index: 10;
}

.p-clinic-gastro__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
}

.p-clinic-gastro .p-clinic-head {
	text-align: center;
}

.p-clinic-gastro .p-clinic-head__title {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-clinic-gastro__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-clinic-gastro__cards {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-clinic-gastro__card {
	background: #fff;
	border-radius: 0.25rem;
	padding: 1.25rem 1.25rem 2.5rem;
}

.p-clinic-gastro__img {
	-o-object-fit: cover;
	aspect-ratio: 340/220;
	display: block;
	height: 13.75rem;
	object-fit: cover;
	width: 100%;
}

.p-clinic-gastro__label {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 700;
	height: 2.25rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	padding: 0.25rem 1.5rem;
	text-align: center;
}

.p-clinic-gastro__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-clinic-gastro__btn {
	margin-top: 2.5rem;
	text-align: center;
}

/* 新宿KVキャッチ「翌日から仕事復帰も可能」はbody幅435を超えるためPCは折り返さない。
   SPは32pxだと1文字だけ折れるため28pxに縮小 */

.clinic-shinjuku .p-clinic-kv__title {
	white-space: nowrap;
}

/* ========================================
  新宿ページ フィードバック調整（2026-07-15 fix.md）
======================================== */

/* [7] 診療案内featuredのキャッチをSPで中央寄せ */

/* [9][10] SP担当医表の左上空白セルを科目ヘッダーと同じ #E5F1FE に（新宿カンプ準拠） */

.clinic-shinjuku .p-clinic-doctors__sp-day--blank {
	background: #e5f1fe;
}

/* [8] SP予約方法テーブル（3列）はカンプ4028:11593準拠で
   カード幅いっぱい（メニュー54%/WEB・電話 各23%）・横スクロールなし */

/* ========================================
  新町ページ差分（.clinic-shincho スコープ / 新規セクション）
======================================== */

/* --- KV: 3行キャッチ（最長10字）が本文幅435pxを超えて余分に折れるため40pxへ --- */

.clinic-shincho .p-clinic-kv__title {
	font-size: 2.5rem;
}

/* --- ABOUT: 本文は全文 #1a2433（新町カンプ準拠） --- */

.clinic-shincho .p-clinic-about__text {
	color: #1a2433;
}

/* --- ABOUT collage: 新宿と同じ2列（右列は63px下げ）レイアウトを流用 --- */

.clinic-shincho .p-clinic-about__photos {
	gap: 1.25rem;
	width: 50rem;
}

.clinic-shincho .p-clinic-about__col--first {
	margin-top: 0;
	width: 25rem;
}

.clinic-shincho .p-clinic-about__col--second {
	margin-top: 3.9375rem;
	width: 23.75rem;
}

.clinic-shincho .p-clinic-about__photo {
	height: 16.6875rem;
}

.clinic-shincho .p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 1.25rem;
}

/* --- 院長写真は横長〜正方形素材。顔が中央に来るよう位置調整 --- */

.clinic-shincho .p-clinic-greeting__photo {
	-o-object-position: center 20%;
	object-position: center 20%;
}

/* ========================================
  DEPTS（診療案内・多診療科：新町のserviceセクション）
======================================== */

.p-clinic-depts {
	font-feature-settings: "palt" 1;
	padding: 7.5rem 0 10rem;
	position: relative;
	z-index: 10;
}

.p-clinic-depts .p-clinic-head {
	text-align: center;
}

.p-clinic-depts__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 77.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-clinic-depts__list {
	margin-top: 2.5rem;
}

/* 人間ドック（横長フィーチャーカード） */

.p-clinic-depts__hero {
	align-items: center;
	background: #fff;
	box-shadow: 0 0 0.75rem rgba(17, 154, 239, 0.08);
	display: flex;
	padding-right: 2.5rem;
}

.p-clinic-depts__hero:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-depts__hero-img {
	flex-shrink: 0;
	height: 23.75rem;
	overflow: hidden;
	width: 38.25rem;
}

.p-clinic-depts__hero-img img {
	-o-object-fit: cover;
	aspect-ratio: 612/380;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.p-clinic-depts__hero-body {
	margin-left: 2.5rem;
}

.p-clinic-depts__hero-name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-depts__hero .p-clinic-textlink {
	margin-top: 2.5rem;
}

/* 共通タイトル行（科名＋バッジ） */

.p-clinic-depts__title-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.p-clinic-depts__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

.p-clinic-depts__hero-body .p-clinic-depts__text {
	margin-top: 1.5rem;
}

/* 診療科カードグリッド（2列） */

.p-clinic-depts__grid {
	grid-gap: 2.5rem 0.625rem;
	display: grid;
	gap: 2.5rem 0.625rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-clinic-depts__card {
	align-items: stretch;
	background: #fff;
	border-radius: 0.625rem;
	box-shadow: 0 0 0.75rem rgba(17, 154, 239, 0.08);
	display: flex;
	min-height: 14.375rem;
	overflow: hidden;
}

.p-clinic-depts__card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-clinic-depts__card-img {
	flex-shrink: 0;
	overflow: hidden;
	width: 12.5rem;
}

.p-clinic-depts__card-img img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.p-clinic-depts__card-body {
	flex: 1;
	padding: 1.25rem 1.5rem 3rem;
	position: relative;
}

.p-clinic-depts__card-name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.p-clinic-depts__card-body .p-clinic-depts__text {
	margin-top: 0.75rem;
}

.p-clinic-depts__arrow {
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	border-radius: 50%;
	bottom: 1rem;
	height: 1.625rem;
	position: absolute;
	right: 1.5rem;
	transition: transform 0.3s;
	width: 1.625rem;
}

.p-clinic-depts__arrow::after {
	border-right: 0.0625rem solid #004fa2;
	border-right: 0.0625rem solid var(--main-color02);
	border-top: 0.0625rem solid #004fa2;
	border-top: 0.0625rem solid var(--main-color02);
	content: "";
	height: 0.375rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-70%, -50%) rotate(45deg);
	width: 0.375rem;
}

/* ========================================
  CTA 新町差分（緑アクセント・WEB/LINE/電話の3ボタン・人間ドック導線）
======================================== */

/* 人間ドック予約導線バンド */

.p-clinic-cta__ningen {
	align-items: center;
	background: #3a9d6b;
	color: #fff;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-top: 1.5rem;
	padding: 1.5rem 2.5rem;
}

.p-clinic-cta__ningen:focus-visible {
	outline: 0.125rem solid #fff;
	outline-offset: -0.25rem;
}

.p-clinic-cta__ningen-title {
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-clinic-cta__ningen-note {
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.25rem;
}

.p-clinic-cta__ningen-link {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	font-size: 1rem;
	gap: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	white-space: nowrap;
}

.p-clinic-cta__ningen-arrow {
	border: 0.0625rem solid #fff;
	border-radius: 50%;
	height: 1.625rem;
	position: relative;
	transition: transform 0.3s;
	width: 1.625rem;
}

.p-clinic-cta__ningen-arrow::after {
	border-right: 0.0625rem solid #fff;
	border-top: 0.0625rem solid #fff;
	content: "";
	height: 0.375rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-70%, -50%) rotate(45deg);
	width: 0.375rem;
}

/* タイトル・受付/休診の文言は緑（fix.md [1][4][5][6][7]）。アイコンは cta_icon_04_gr/05_gr.svg で緑化（[2][3]） */

.p-clinic-cta--shincho .p-dock-cta__title {
	color: #3a9d6b;
}

.p-clinic-cta--shincho .p-dock-cta__info-item:first-child {
	border-right-color: #3a9d6b;
}

.p-clinic-cta--shincho .p-dock-cta__info-label {
	color: #3a9d6b;
}

.p-clinic-cta--shincho .p-clinic-cta__closed-em {
	color: #3a9d6b;
}

.p-clinic-cta--shincho .p-clinic-cta__note2 {
	color: #3a9d6b;
}

/* CTAテーブル見出しは緑 */

.p-clinic-cta--shincho .p-clinic-cta__menu-title {
	color: #3a9d6b;
}

.p-clinic-cta--shincho .p-clinic-cta__table {
	border-color: #3a9d6b;
}

.p-clinic-cta--shincho .p-clinic-cta__table thead th {
	background: #3a9d6b;
}

/* ========================================
  DOCTORS 新町差分（3診療区分・医師名は濃色／診療科は青の小書き）
======================================== */

/* 新町はSP転置ブロックを持たないため、SPでも横スクロールのテーブルを表示する */

.p-clinic-doctors__table--shincho {
	width: 72.5rem;
}

.p-clinic-doctors__table--shincho tbody td {
	color: #444444;
	color: var(--txt-color02);
	height: auto;
	vertical-align: middle;
}

.p-clinic-doctors__table--shincho tbody td.p-clinic-doctors__plastic {
	color: #cc716b;
}

.p-clinic-doctors__table--shincho .p-clinic-doctors__small {
	color: #004fa2;
	color: var(--main-color02);
	display: block;
	line-height: 1.4;
	margin-top: 0.125rem;
}

.p-clinic-doctors__table--shincho .p-clinic-doctors__dept {
	background: #e5f1fe;
	width: 7.5rem;
}

body.is-scroll {
	overflow: hidden;
}

.site-content {
	padding-bottom: calc(10px * 20);
	padding-bottom: calc(var(--margin) * 20);
}

/* パンくず（全下層ページ共通。AIOSEOが出力するマークアップにスタイルを当てる） */

.breadcrumbs {
	background: #f5f8fa;
	background: var(--sub-color);
	font-size: 12px;
	font-size: var(--fs-xs);
	padding: 0.5em 0;
	position: relative;
	z-index: 3;
}

.breadcrumbs a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
}

.fz14 {
	font-size: 0.875rem !important;
}

.inner-w {
	margin: 0 auto;
	max-width: 91.25rem;
	padding: 0 1.875rem;
	width: 100%;
}

/* ========================================
  セクション見出し（全ページ共通: 罫線＋英語ラベル＋見出し）
======================================== */

.sec-head {
	font-feature-settings: "palt" 1;
	text-align: center;
}

.sec-head__en {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1;
}

.sec-head__en::before,
.sec-head__en::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	height: 0.0625rem;
	opacity: 0.5;
	width: 7.5625rem;
}

.sec-head__en::before {
	margin-right: 0.75rem;
}

.sec-head__en::after {
	margin-left: 0.75rem;
}

/* 長い英語ラベルをSPで指定改行するための内側span
   （__enはflexのため、テキストを1アイテムに包まないと<br>が効かない） */

.sec-head__en-text {
	text-align: center;
}

/* 英語ラベルがサンセリフのページ用（例: dockのRESERVATION） */

.sec-head__en--sans {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

/* 全セクション共通（サイズ・色のモディファイア分岐はしない） */

.sec-head__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.55;
	margin-top: 0.75rem;
}

/* 白抜きバリエーション（濃色背景セクション用） */

.sec-head--white .sec-head__en {
	color: #fff;
}

.sec-head--white .sec-head__en::before,
.sec-head--white .sec-head__en::after {
	background: #fff;
}

.sec-head--white .sec-head__title {
	color: #fff;
}

/* 見出し直下のリード文（sec-head の外に置く。カンプ実測: タイトル下端→リード上端12px） */

.sec-head__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

/* ========================================
  人間ドック（page-dock.php）
======================================== */

/* ========================================
  KV
======================================== */

.p-dock-kv {
	font-feature-settings: "palt" 1;
	position: relative;
}

.p-dock-kv__img {
	-o-object-fit: cover;
	display: block;
	height: 53.3125rem;
	object-fit: cover;
	width: 100%;
}

.p-dock-kv__body {
	left: 50%;
	position: absolute;
	top: 11.25rem;
	transform: translateX(-50%);
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-dock-kv__badge {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	display: inline-flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	height: 2.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-kv__title {
	color: #383838;
	font-family: "Noto Serif JP", serif;
	font-size: 2.8125rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.125rem;
}

.p-dock-kv__lead {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-dock-kv__nav {
	margin: -7.625rem auto 0;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-dock-kv__nav-toggle {
	display: none;
}

.p-dock-kv__nav-toggle:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* ＋アイコン（開閉で−に変化） */

.p-dock-kv__nav-toggle-icon {
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	flex-shrink: 0;
	height: 2rem;
	position: relative;
	width: 2rem;
	z-index: 10;
}

.p-dock-kv__nav-toggle-icon::before,
.p-dock-kv__nav-toggle-icon::after {
	background: #3d3d3d;
	content: "";
	height: 0.0625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.75rem;
	z-index: 10;
}

.p-dock-kv__nav-toggle-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.3s;
}

.js-dock-anchor-toggle.is-open .p-dock-kv__nav-toggle-icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-dock-kv__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
}

/* SPでJSのslideToggleを閉じたままPC幅へ戻った場合のガード */

.p-dock-kv__nav-link {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.125rem;
	color: #3d3d3d;
	display: flex;
	font-size: 0.875rem;
	height: 3.375rem;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0 0.75rem 0 1.5rem;
	transition: opacity 0.3s;
	width: 14.25rem;
}

.p-dock-kv__nav-link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-kv__nav-icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	flex-shrink: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 900;
	height: 2rem;
	justify-items: center;
	line-height: 1;
	place-items: center;
	transition: transform 0.3s;
	width: 2rem;
}

/* ========================================
  MESSAGE（患者さまへのメッセージ）
======================================== */

.p-dock-message {
	margin-top: 7.1875rem;
	padding-bottom: 7.5rem;
}

/* 1文字ずつ出現（JSが .is-split を付けるまでは通常表示のまま） */

.is-split .p-dock-char {
	display: inline-block;
	opacity: 0;
	white-space: pre;
	will-change: transform, opacity;
}

.p-dock-message__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
	text-align: center;
}

.p-dock-message__text p + p {
	margin-top: 1.75rem;
}

.p-dock-message__em {
	-webkit-text-decoration: underline;
	color: #004fa2;
	color: var(--main-color02);
	text-decoration: underline;
	text-underline-offset: 0.25rem;
}

/* ========================================
  NEWS（お知らせ）
======================================== */

.p-dock-news {
	padding-bottom: 7.5rem;
	padding-top: 3.125rem;
}

/* リスト本体は3院ページと同じ .p-clinic-news__* を流用し、幅だけdock仕様に */

.p-dock-news__list {
	margin-left: auto;
	margin-right: auto;
	max-width: 67.5rem;
}

.p-dock-news__more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

/* ========================================
  COURSES / SEARCH BY DISEASE 共通ラッパー（背景写真）
======================================== */

.p-dock-courses {
	background: center/cover no-repeat url("../images/dock/course_bg_01.webp");
	padding-bottom: 11.875rem;
	position: relative;
	z-index: 0;
}

.p-dock-course {
	padding-top: 4.375rem;
}

.p-dock-course__list {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(4, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 56.25rem;
}

.p-dock-course__item {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 0.25rem;
	box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 11.5625rem;
	position: relative;
	z-index: 10;
}

/* カード全体をリンクにする（コース・病名検索で共通）。paddingはカード側でなくリンク側に持たせ、クリック領域をカード一杯に広げる */

.p-dock-course__link,
.p-dock-search__link {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	padding: 0.625rem;
	width: 100%;
}

.p-dock-course__link:focus-visible,
.p-dock-search__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-course__badge {
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 0.25rem 0 0.25rem 0;
	color: #fff;
	font-size: 0.625rem;
	font-weight: 500;
	left: 0;
	letter-spacing: 0.06em;
	line-height: 1.8;
	padding: 0.25rem 0.625rem;
	position: absolute;
	top: 0;
	z-index: 10;
}

.p-dock-course__icon {
	align-items: center;
	display: flex;
	height: 3.75rem;
	justify-content: center;
}

.p-dock-course__icon img {
	max-height: 3.25rem;
	transition: transform 0.3s;
	width: auto;
}

/* ホバーでアイコンを拡大（コース・病名検索の両カードで共通） */

.p-dock-course__name {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	text-align: center;
}

.p-dock-course__desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.8125rem;
	letter-spacing: 0.03em;
	line-height: 1.7;
	margin-top: 0.625rem;
	width: 100%;
}

.p-dock-search__list {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(4, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 56.25rem;
}

.p-dock-search__item {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 0.25rem;
	box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 8.375rem;
	position: relative;
	z-index: 10;
}

.p-dock-search__name {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.5;
	text-align: center;
}

.p-dock-search {
	margin-top: 10.625rem;
	padding-top: 3.125rem;
}

/* ========================================
  FEATURES（人間ドック 7つの特徴）
======================================== */

.p-dock-feature {
	padding-top: 6.25rem;
}

.p-dock-feature__list {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 90rem;
}

.p-dock-feature__item {
	align-items: center;
	display: grid; /* テキスト列の幅を確保し、幅が足りない分は画像側を縮める（画像はobject-fitで切り取られる） */
	grid-template-columns: minmax(35.625rem, 1fr) minmax(0, 54.375rem);
	min-height: 37.5rem;
	position: relative;
	z-index: 0; /* テキスト側背面のグラデーション帯 */
}

.p-dock-feature__item::before {
	background: linear-gradient(266deg, #eaf0f6 53.14%, rgba(252, 250, 244, 0.2) 98.2%);
	content: "";
	height: 30.0625rem;
	left: 8.75rem;
	position: absolute;
	top: 3.75rem;
	width: 52.1875rem;
	z-index: 0;
}

.p-dock-feature__item--reverse {
	grid-template-columns: minmax(0, 54.375rem) minmax(35.625rem, 1fr);
}

.p-dock-feature__item--reverse::before {
	background: linear-gradient(86deg, #eaf0f6 53.14%, rgba(252, 250, 244, 0.2) 98.2%);
	left: auto;
	right: 8.75rem;
}

.p-dock-feature__item + .p-dock-feature__item {
	margin-top: 5rem;
}

.p-dock-feature__text {
	font-feature-settings: "palt" 1;
	margin-left: 6.875rem;
	margin-right: 4.375rem;
	max-width: 25.9375rem;
	padding-bottom: 1rem;
	padding-top: 1rem;
	position: relative;
	z-index: 10;
}

.p-dock-feature__item--reverse .p-dock-feature__text {
	margin-left: 4.375rem;
	margin-right: 5rem; /* 120だと見出し（心筋梗塞のリスク評価）が2行に収まらないため調整 */
}

.p-dock-feature__item--reverse .p-dock-feature__img {
	order: -1;
}

.p-dock-feature__label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 2.18;
	text-transform: uppercase;
}

.p-dock-feature__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-dock-feature__desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1.125rem;
}

.p-dock-feature__img {
	position: relative;
	z-index: 10;
}

.p-dock-feature__img img {
	-o-object-fit: cover;
	aspect-ratio: 870/600;
	height: 37.5rem;
	object-fit: cover;
	width: 100%;
}

.p-dock-feature__more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

/* dock共通の丸ボタン（FEATURES / FAQ） */

.p-dock-btn {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 7.5rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 1.5rem 2.5rem;
	transition: opacity 0.3s;
}

.p-dock-btn:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-btn__icon {
	margin-left: 1.0625rem;
	transition: transform 0.3s;
}

/* ========================================
  比較表
======================================== */

.p-dock-compare {
	margin-top: 7.5rem;
}

.p-dock-compare__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center; /* SPは長い見出しが画面外にはみ出すため縮小＋左右余白 */
}

.p-dock-compare__inner {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 78.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.p-dock-compare__table {
	font-feature-settings: "palt" 1;
	border-collapse: collapse;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-dock-compare__table th,
.p-dock-compare__table td {
	border: 0.0625rem solid #ccc;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 0.5rem;
	text-align: center;
}

.p-dock-compare__head {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	width: 9.375rem;
}

/* 「比較項目」セルは左寄せ（.p-dock-compare__table th の中央寄せに勝たせる） */

.p-dock-compare__table th.p-dock-compare__head--item {
	text-align: left;
	width: 21.875rem;
}

.p-dock-compare__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	text-align: left;
}

.p-dock-compare__table tbody td {
	background: #fff;
	background: var(--base-color);
	color: #444444;
	color: var(--txt-color02);
}

.p-dock-compare__table tbody td.is-ours {
	background: #fffcf0;
	color: #004fa2;
	color: var(--main-color02);
}

.p-dock-compare__table tbody td.is-plain {
	color: #444444;
	color: var(--txt-color02);
}

/* ========================================
  ACHIEVEMENTS（当院が選ばれる理由 実績と体制）
======================================== */

.p-dock-reason {
	padding-top: 20.25rem;
	position: relative;
	z-index: 0;
}

.p-dock-reason__bg {
	-o-object-fit: cover;
	height: 56.25rem;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.p-dock-reason__panel {
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	background: rgba(255, 255, 255, 0.3);
	margin-left: auto;
	margin-right: auto;
	max-width: 66.25rem;
	padding: 5rem;
	position: relative;
	z-index: 10;
}

.p-dock-reason__stats {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 3.75rem;
}

.p-dock-reason__stat {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #b0c9e3;
	border: 0.0625rem solid var(--second-color);
	border-radius: 0.25rem;
	display: flex;
	flex-direction: column;
	min-height: 14.4375rem;
	padding: 1.875rem 0.625rem;
	text-align: center;
}

.p-dock-reason__icon {
	align-items: center;
	display: flex;
	height: 3.75rem;
	justify-content: center;
}

.p-dock-reason__icon img {
	max-height: 3.5rem;
	width: auto;
}

.p-dock-reason__num {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1;
	margin-top: 1.25rem;
}

/* スロットアニメーション（JSが .is-slot を付けたときだけ有効） */

.p-dock-slot-digit {
	display: inline-block;
	height: 1em;
	overflow: hidden;
	vertical-align: bottom;
}

/* ストリップは高さautoで全セル分の実高さを持たせる（JSがtranslateYを%指定で最終桁へ寄せるため、
   ストリップ自身の高さ＝桁セル数×1emである必要がある）。桁窓(__digit)がoverflow:hiddenで1桁に切り抜く */

.p-dock-slot-strip {
	display: block;
	line-height: 1;
}

.p-dock-slot-strip > span {
	display: block;
	height: 1em;
	line-height: 1;
}

.p-dock-reason__unit {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0;
	margin-left: 0.1875rem;
}

.p-dock-reason__media-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin-top: 1.25rem;
}

.p-dock-reason__label {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.9375rem;
	letter-spacing: 0.03em;
	line-height: 1.66;
	margin-top: 1.25rem;
}

.p-dock-reason__media-link {
	-webkit-text-decoration: underline;
	color: #444444;
	color: var(--txt-color02);
	text-decoration: underline;
	transition: opacity 0.3s;
}

.p-dock-reason__media-link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-reason__cards {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.9375rem;
}

.p-dock-reason__card {
	align-items: flex-start;
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #b0c9e3;
	border: 0.0625rem solid var(--second-color);
	border-radius: 0.25rem;
	display: flex;
	flex-direction: column;
	min-height: 19.875rem;
	padding: 2.5rem;
}

.p-dock-reason__card-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.28;
	margin-top: 1.25rem;
}

.p-dock-reason__card-sub {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.08em;
	line-height: 1.8;
	margin-top: 0.875rem;
}

.p-dock-reason__card-desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	margin-top: 0.875rem;
}

/* ========================================
  WHAT IS IMPORTANT（大事にしていること）
======================================== */

.p-dock-important {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-top: 7.5rem;
}

.p-dock-important__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 3.75rem;
	text-align: center;
}

.p-dock-important__lead p + p {
	margin-top: 1.5rem;
}

.p-dock-important__em {
	color: #004fa2;
	color: var(--main-color02);
}

/* 理念の一文だけ下線付き */

.p-dock-important__em--line {
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-underline-offset: 0.25rem;
}

.p-dock-important__list {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(3, 1fr);
	margin: 3.75rem auto 0;
	max-width: 78.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.p-dock-important__item {
	background: #fff;
	background: var(--base-color);
	border-radius: 0.25rem;
	padding: 1.25rem 1.25rem 2.5rem;
}

.p-dock-important__img {
	height: 13.75rem;
	overflow: hidden;
}

.p-dock-important__img img {
	-o-object-fit: cover;
	aspect-ratio: 340/220;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-dock-important__point {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 400;
	height: 2.25rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-dock-important__title {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-dock-important__desc {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	text-align: center;
}

/* 3つのPOINTを受ける締めの一文 */

.p-dock-important__note {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

/* ========================================
  FLOW（ご予約〜当日〜結果到着までの流れ）
======================================== */

.p-dock-flow {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-flow__list {
	grid-gap: 0.5625rem;
	display: grid;
	gap: 0.5625rem;
	grid-template-columns: repeat(3, 1fr);
	margin: 3.75rem auto 0;
	max-width: 78.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.p-dock-flow__item {
	background: #fff;
	background: var(--base-color);
}

.p-dock-flow__img {
	height: 20.5625rem;
	overflow: hidden;
}

.p-dock-flow__img img {
	-o-object-fit: cover;
	-o-object-position: top center;
	aspect-ratio: 390/329;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	width: 100%;
}

.p-dock-flow__body {
	padding: 1.0625rem 1.875rem 1.25rem;
}

.p-dock-flow__step {
	align-items: baseline;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	justify-content: center;
	letter-spacing: 0.14em;
	line-height: 1.8;
}

.p-dock-flow__step-num {
	font-size: 1.375rem;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-left: 0.375rem;
}

.p-dock-flow__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.24;
	margin-top: 1.25rem;
	text-align: center;
}

.p-dock-flow__items {
	margin-top: 1.25rem;
}

.p-dock-flow__items li {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.03em;
	line-height: 1.7;
	padding-left: 1rem;
	position: relative;
	z-index: 0;
}

.p-dock-flow__items li::before {
	content: "—";
	font-size: 0.625rem;
	font-weight: 300;
	left: 0;
	position: absolute;
	top: 0;
	z-index: 10;
}

.p-dock-flow__items li + li {
	margin-top: 0.5rem;
}

.p-dock-flow__items--center {
	text-align: center;
}

.p-dock-flow__items--center li {
	font-size: 1rem;
}

.p-dock-flow__items--center li::before {
	display: none;
}

.p-dock-flow__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	line-height: 1.7;
	margin-top: 0.875rem;
}

/* ========================================
  FAQ（よくあるご質問）
======================================== */

.p-dock-faq {
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
}

.p-dock-faq__list {
	margin: 3.75rem auto 0;
	max-width: 56.25rem;
}

.p-dock-faq__item {
	border-bottom: 0.0625rem solid #e3e7eb;
}

.p-dock-faq__question {
	color: #444444;
	color: var(--txt-color02);
	cursor: pointer;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.6;
	padding: 1.625rem 4.375rem 1.625rem 4.5rem;
	position: relative;
	z-index: 0;
}

.p-dock-faq__q {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 50%;
	color: #fff;
	display: grid;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	height: 1.75rem;
	justify-items: center;
	left: 1.75rem;
	line-height: 1;
	place-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
	z-index: 10;
}

/* ＋アイコン（開閉で−に変化） */

.p-dock-faq__toggle {
	height: 1.4375rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4375rem;
	z-index: 10;
}

.p-dock-faq__toggle::before,
.p-dock-faq__toggle::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1rem;
	z-index: 10;
}

.p-dock-faq__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.3s;
}

.p-dock-faq__question.is-open .p-dock-faq__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-dock-faq__answer {
	color: #444444;
	color: var(--txt-color02);
	display: none;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding: 0 4.5rem 1.625rem;
}

.p-dock-faq__more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

/* ========================================
  RESERVATION（ご予約・検査スケジュール）
======================================== */

.p-dock-reservation {
	background: linear-gradient(151deg, #55a6f9 6.37%, #0f58a6 58.86%);
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
}

.p-dock-reservation__cards {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(2, 1fr);
	margin: 2.875rem auto 0;
	max-width: 78.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.p-dock-reservation__card {
	background: #fff;
	background: var(--base-color);
	border-radius: 0.625rem;
	padding: 2.25rem 2.25rem 2.5rem;
}

.p-dock-reservation__card-head {
	align-items: center;
	display: flex;
	gap: 0.875rem;
}

.p-dock-reservation__card-title {
	color: #004f9c;
	color: var(--main-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

/* 予約状況PDF（PC/SPで別ファイルを埋め込む） */

.p-dock-reservation__pdf {
	height: 20.625rem;
	margin-top: 1.5rem;
}

.p-dock-reservation__pdf-obj {
	border: 0.0625rem solid #ededed;
	border: 0.0625rem solid var(--line-color);
	height: 100%;
	width: 100%;
}

.p-dock-reservation__pdf-obj--sp {
	display: none;
}

.p-dock-reservation__link {
	align-items: center;
	background: #004f9c;
	background: var(--main-color);
	border-radius: 0.25rem;
	color: #fff;
	display: flex;
	font-size: 0.9375rem;
	font-weight: 700;
	gap: 0.75rem;
	height: 4rem;
	justify-content: center;
	line-height: 1.8;
	margin-top: 1.375rem;
	padding-left: 1.0625rem;
	padding-right: 1.0625rem;
	transition: opacity 0.3s;
}

.p-dock-reservation__link:focus-visible {
	outline: 0.125rem solid #fff;
	outline-offset: 0.125rem;
}

.p-dock-reservation__link-icon {
	background: center/contain no-repeat url("../images/common/icon-open-wh.svg");
	flex-shrink: 0;
	height: 1rem;
	width: 1rem;
}

/* ========================================
  休診日カレンダー
======================================== */

.p-dock-cal {
	margin-top: 1.5rem;
}

.p-dock-cal__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.875rem;
}

.p-dock-cal__month {
	color: #333;
	color: var(--txt-color);
	font-size: 1.125rem;
	font-weight: 700;
}

.p-dock-cal__nav {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.p-dock-cal__nav-btn {
	background: center/0.8125rem no-repeat #004f9c url("../images/common/icon-arrow-wh-right.svg");
	background: center/0.8125rem no-repeat var(--main-color) url("../images/common/icon-arrow-wh-right.svg");
	border-radius: 50%;
	height: 2.125rem;
	transform: scaleX(-1); /* 前月は矢印を左向きに */
	transition: opacity 0.3s;
	width: 2.125rem;
}

.p-dock-cal__nav-btn--next {
	transform: none;
}

.p-dock-cal__nav-label {
	color: #555;
	font-size: 0.8125rem;
}

.p-dock-cal__table {
	border-collapse: collapse;
	width: 100%;
}

.p-dock-cal__table th {
	background: #004f9c;
	background: var(--main-color);
	border: 0.0625rem solid #004f9c;
	border: 0.0625rem solid var(--main-color);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 500;
	height: 2.8125rem;
	padding: 0.5625rem 0;
}

.p-dock-cal__table td {
	background: #fafbfc;
	border: 0.0625rem solid #e7eaee;
	color: #333;
	color: var(--txt-color);
	font-size: 0.875rem;
	height: 2.875rem;
	text-align: center;
}

.p-dock-cal__table td.is-holiday {
	background: #d6e4f2;
}

.p-dock-cal__legend {
	color: #555;
	font-size: 0.8125rem;
	margin-top: 0.875rem;
	text-align: center;
}

.p-dock-cal__legend-mark {
	background: #d6e4f2;
	display: inline-block;
	height: 0.875rem;
	margin-right: 0.375rem;
	vertical-align: middle;
	width: 1.625rem;
}

/* ========================================
  keyvisual（装飾リング 12個）配置 — dock固有
  仕組み(.keyimg 回転出現)は module/_keyimg.scss。ここでは位置とサイズのみ。
  大リング=右から / 小リング=左から覗く。各リングはホストセクション内に相対配置。
======================================== */

.dock {
	overflow-x: clip;
}

.p-dock-message,
.p-dock-news,
.p-dock-course,
.p-dock-reason,
.p-dock-flow,
.p-dock-feature__item {
	isolation: isolate;
	position: relative;
}

.dock .keyimg {
	z-index: -1;
}

.keyvisual-01,
.keyvisual-03,
.keyvisual-05,
.keyvisual-07,
.keyvisual-09,
.keyvisual-11 {
	max-width: 70.875rem;
	width: 78.75vw;
}

.keyvisual-02,
.keyvisual-04,
.keyvisual-06,
.keyvisual-08,
.keyvisual-10 {
	max-width: 60.3125rem;
	width: 67vw;
}

.keyvisual-01,
.keyvisual-03,
.keyvisual-05,
.keyvisual-07 {
	right: -46vw;
}

.keyvisual-10 {
	right: -39vw;
}

.keyvisual-09,
.keyvisual-11 {
	left: -46vw;
}

.keyvisual-02,
.keyvisual-04,
.keyvisual-06,
.keyvisual-08 {
	left: -39vw;
}

.keyvisual-01 {
	top: -43.75rem;
}

.keyvisual-02 {
	top: -20rem;
}

.keyvisual-03 {
	top: 31.25rem;
}

.keyvisual-04 {
	top: -27.5rem;
}

.keyvisual-05 {
	top: -17.5rem;
}

.keyvisual-06 {
	top: -11.5rem;
}

.keyvisual-07 {
	top: 17.5rem;
}

.keyvisual-08 {
	top: 21.5rem;
}

.keyvisual-09 {
	top: 68.5rem;
}

.keyvisual-10 {
	top: 68.5rem;
}

.keyvisual-11 {
	top: 46rem;
}

/* ========================================
  keyvisual SP（Figma 1402:3562 準拠）
  SPはリングが大きめ（194〜218vw）。kv02〜09の8個のみ表示、kv01/10/11は非表示。
  サイズ・左右オフセットはFigma SPノードから算出。topは第一次値（実機で微調整可）。
======================================== */

/* ========================================
  CTA（八王子クリニック新町 診療予約）
======================================== */

.p-dock-cta {
	font-feature-settings: "palt" 1;
	margin: 0 auto;
	max-width: 77.5rem;
	padding-bottom: 5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 5rem;
	width: 100%;
}

.p-dock-cta__box {
	background: #e0ebe8;
	margin-left: auto;
	margin-right: auto;
	padding: 4rem 5rem;
	position: relative;
	width: 100%;
	z-index: 11;
}

.p-dock-cta__title {
	color: #138f6a;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-cta__head {
	margin-top: 1.5rem;
}

.p-dock-cta__name {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	gap: 0.75rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-cta__name::before,
.p-dock-cta__name::after {
	background: #444444;
	background: var(--txt-color02);
	content: "";
	height: 0.0625rem;
	width: 3.46875rem;
}

.p-dock-cta__name-text {
	text-align: center;
	white-space: nowrap;
}

.p-dock-cta__access {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

.p-dock-cta__buttons {
	display: flex;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.p-dock-cta__button {
	align-items: center;
	border-radius: 0.25rem;
	color: #fff;
	display: flex;
	flex: 1;
	flex-direction: column;
	height: 11.9375rem;
	justify-content: center;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	text-align: center;
	transition: opacity 0.3s;
}

.p-dock-cta__button:focus-visible {
	outline: 0.125rem solid #fff;
	outline-offset: -0.25rem;
}

.p-dock-cta__button--web {
	background: #004fa2;
	background: var(--main-color02);
}

.p-dock-cta__button--line {
	background: #06c755;
}

.p-dock-cta__button--tel {
	background: #cc716b;
}

.p-dock-cta__button-icon {
	flex-shrink: 0;
}

.p-dock-cta__button-label {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.25rem;
}

.p-dock-cta__button-note {
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-dock-cta__button-tel {
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-dock-cta__button-arrow {
	background: center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	flex-shrink: 0;
	height: 1.75rem;
	margin-top: 0.75rem;
	width: 1.75rem;
}

.p-dock-cta__info {
	background: #fff;
	background: var(--base-color);
	display: flex;
	gap: 0;
	margin-top: 1.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.p-dock-cta__info-item {
	flex: 1;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.p-dock-cta__info-item:first-child {
	border-right: 0.0625rem solid #138f6a;
}

.p-dock-cta__info-head {
	align-items: center;
	display: flex;
}

.p-dock-cta__info-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 1rem;
}

.p-dock-cta__info-times {
	display: flex;
	gap: 3.5rem;
	margin-top: 1rem;
}

.p-dock-cta__info-time {
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-cta__info-label {
	color: #138f6a;
}

.p-dock-cta__info-value {
	color: #444444;
	color: var(--txt-color02);
	margin-left: 1rem;
}

.p-dock-cta__info-closed {
	color: #138f6a;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* 休診日の補足（日曜日の第2・第4） */

.p-dock-cta__info-note {
	font-size: 0.875rem;
	margin-left: 1rem;
}

/* PDF.js 差し替え時（Android等）: canvas を実寸比率で表示 */

.p-dock-reservation__pdf.is-pdfjs {
	border: 0.0625rem solid #ededed;
	border: 0.0625rem solid var(--line-color);
	height: auto;
}

.p-dock-reservation__pdf-canvas {
	display: block;
	height: auto;
	width: 100%;
}

/* ========================================
  年代別ドック診断（page-age-specific.php）
======================================== */

/* ---- KV ---- */

.p-dock-subkv {
	font-feature-settings: "palt" 1;
	background: #fff;
	height: 33.75rem;
	overflow: hidden;
	position: relative;
	z-index: -2;
}

.p-dock-subkv__deco {
	max-width: none;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.p-dock-subkv__deco--01 {
	height: 62.375rem;
	left: 9.6875rem;
	top: 22.4375rem;
	transform: translate(-50%, -50%);
	width: 67rem;
}

.p-dock-subkv__deco--02 {
	height: 98.75rem;
	left: 95rem;
	top: 4.5625rem;
	transform: translate(-50%, -50%);
	width: 155.125rem;
}

.p-dock-subkv__bgtext {
	-webkit-background-clip: text;
	background: linear-gradient(90deg, rgba(246, 246, 246, 0.8) 0%, rgba(224, 255, 237, 0.8) 37.054%);
	background-clip: text;
	color: transparent;
	font-family: "Cinzel", serif;
	font-weight: 400;
	line-height: 1;
	mix-blend-mode: overlay;
	opacity: 0.8;
	pointer-events: none;
	position: absolute;
	white-space: nowrap;
	z-index: 4;
}

.p-dock-subkv__bgtext--pc {
	font-size: 22.5rem;
	left: -17rem;
	letter-spacing: -0.08em;
	top: 15.75rem;
}

.p-dock-subkv__bgtext--sp {
	display: none;
}

.p-dock-subkv__inner {
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
	position: relative;
}

.p-dock-subkv__body {
	left: 7.5rem;
	position: absolute;
	top: 8.75rem;
	z-index: 3;
}

.p-dock-subkv__en {
	color: #7696b8;
	color: var(--third-color);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-dock-subkv__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.25rem;
}

.p-dock-subkv__photo {
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.p-dock-subkv__photo img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* ---- アンカーナビ（PCのみ。SPはデザイン上非表示） ---- */

.p-dock-subkv__anchor {
	padding-top: 2.5rem;
}

.p-dock-subkv__anchor-list.p-dock-kv__nav-list {
	justify-content: center;
}

.p-dock-subkv__anchor-list .p-dock-kv__nav-link {
	width: 15rem;
}

/* ---- リード文バナー（PCのみ。SPは RISK FACTORS 内に同文言を表示） ---- */

.p-dock-subkv__lead {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin: 7.5rem auto 0;
	max-width: 68.25rem;
	padding: 2.5rem 1.25rem;
	text-align: center;
}

.p-dock-subkv__lead-text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- あしらい（装飾リング。ページ全体を貫くFigma座標をそのまま反映。同一アセットを複数ページで共有） ---- */

.dock-age-specific,
.dock-search-disease,
.dock-womens-disease,
.dock-nematode-cancer,
.dock-inspection-equipment,
.dock-inspection {
	isolation: isolate;
	position: relative;
}

.dock-age-specific .p-dock-subkv,
.dock-search-disease .p-dock-subkv,
.dock-womens-disease .p-dock-subkv,
.dock-nematode-cancer .p-dock-subkv,
.dock-inspection-equipment .p-dock-subkv,
.dock-inspection .p-dock-subkv {
	background: transparent;
}

.p-dock-agedeco {
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-dock-agedeco__item {
	display: block;
	max-width: none;
	position: absolute;
}

.p-dock-agedeco__item--01 {
	height: 60.255625rem;
	left: -26.4375rem;
	top: 20.75rem;
	width: 60.255625rem;
}

.p-dock-agedeco__item--02 {
	height: 66.475625rem;
	left: 54.6875rem;
	top: 93.5rem;
	width: 66.475625rem;
}

.p-dock-agedeco__item--03 {
	height: 59.345625rem;
	left: -21.6875rem;
	top: 186.375rem;
	width: 59.345625rem;
}

.dock-age-specific .p-dock-agedeco__item--04 {
	height: 73.965625rem;
	left: 52.4375rem;
	top: 273rem;
	width: 73.965625rem;
}

.dock-search-disease .p-dock-agedeco__item--04 {
	height: 108.275625rem;
	left: 16.5625rem;
	top: 275rem;
	width: 108.275625rem;
}

.dock-womens-disease .p-dock-agedeco__item--04 {
	height: 73.965625rem;
	left: 48.125rem;
	top: 251.6875rem;
	width: 73.965625rem;
}

.dock-womens-disease .p-dock-agedeco__item--05 {
	height: 108.275625rem;
	left: 29.3125rem;
	top: 324.5rem;
	width: 108.275625rem;
}

/* ---- CHECKUP GUIDE (男性/女性) ---- */

.p-dock-agegroup {
	margin-top: 7.5rem;
}

.p-dock-agegroup .inner {
	max-width: 78.125rem;
}

.p-dock-agegroup__row {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-dock-agecard {
	background: #f5f7fa;
	background: var(--bg-blue);
}

.p-dock-agecard__head {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	height: 3.625rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-agecard__body {
	padding: 1.5rem 1.25rem;
}

.p-dock-agecard__intro {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-agecard__block {
	margin-top: 1.5rem;
}

.p-dock-agecard__label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-agecard__label--sub {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
}

.p-dock-agecard__list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1rem;
}

.p-dock-agecard__item {
	position: relative;
}

.p-dock-agecard__link {
	align-items: center;
	display: flex;
	gap: 1.1875rem;
}

.p-dock-agecard__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-agecard__link span {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-agecard__icon {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

.p-dock-agecard__plus {
	bottom: -1.0625rem;
	left: 0.5625rem;
	position: absolute;
	z-index: 1;
}

.p-dock-agecard__plus img {
	display: block;
	height: 0.625rem;
	width: 0.625rem;
}

.p-dock-agecard__divider {
	background: #d9d9d9;
	height: 1px;
	margin-top: 1.5rem;
}

/* 女性セクション: ピンク配色 */

.p-dock-agecard--women {
	background: #fff6f8;
	background: var(--bg-pink);
}

.p-dock-agecard--women .p-dock-agecard__head {
	background: #d35f7f;
	background: var(--pink-color);
}

.p-dock-agecard--women .p-dock-agecard__link:focus-visible {
	outline-color: #d35f7f;
	outline-color: var(--pink-color);
}

.p-dock-agecard--women .p-dock-agecard__label,
.p-dock-agecard--women .p-dock-agecard__link span {
	color: #d35f7f;
	color: var(--pink-color);
}

/* ---- RISK FACTORS ---- */

.p-dock-risk {
	margin-top: 7.5rem;
}

.p-dock-risk .inner {
	max-width: 78.125rem;
}

.p-dock-risk__lead {
	display: none;
}

.p-dock-risk__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2rem;
	text-align: center;
}

.p-dock-risk__list {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.p-dock-risk__item {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 1.5rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-risk__photo {
	flex-shrink: 0;
	max-width: 22.8125rem;
	width: 100%;
}

.p-dock-risk__photo img {
	-o-object-fit: cover;
	aspect-ratio: 365/228;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-risk__panel {
	background: #fff;
	flex: 1;
	padding: 1.5rem 2.5rem;
}

.p-dock-risk__organ {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-risk__cols {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.625rem 1.5rem;
	margin-top: 0.5rem;
}

.p-dock-risk__col {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 0.625rem;
	min-width: 0;
}

.p-dock-risk__col:first-child {
	width: 22.0625rem;
}

.p-dock-risk__col:nth-child(2) {
	width: 15.375rem;
}

.p-dock-risk__col li {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0;
	line-height: 1.75;
}

/* ========================================
  気になる病気から探す（page-search-disease.php）
======================================== */

.p-dock-subkv__anchor-list--fill {
	margin-left: auto;
	margin-right: auto;
	max-width: 78.125rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
}

.p-dock-subkv__anchor-list--fill.p-dock-kv__nav-list {
	flex-wrap: nowrap;
}

.p-dock-subkv__anchor-list--fill .p-dock-kv__nav-item {
	flex: 0 1 18.0625rem;
	min-width: 0;
}

.p-dock-subkv__anchor-list--fill .p-dock-kv__nav-link {
	width: 100%;
}

.p-dock-disease,
.p-dock-disease-cat {
	margin-top: 7.5rem;
}

.p-dock-disease .inner,
.p-dock-disease-cat .inner {
	max-width: 78.125rem;
}

/* ---- がん/心筋梗塞/脳卒中 解説ブロック ---- */

.p-dock-disease-intro {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-disease-intro:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-disease-intro__photo {
	flex-shrink: 0;
	width: 22.8125rem;
}

.p-dock-disease-intro__photo img {
	-o-object-fit: cover;
	aspect-ratio: 365/228;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-disease-intro__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-disease-intro__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-intro__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-intro__link {
	align-items: center;
	align-self: flex-end;
	display: flex;
	gap: 1.5rem;
}

.p-dock-disease-intro__link span {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-intro__link img {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- がん種類カード（2列） ---- */

.p-dock-disease__cards {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-disease-card {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem;
}

.p-dock-disease-card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-disease-card__head {
	align-items: center;
	display: flex;
	gap: 1.5rem;
}

.p-dock-disease-card__icon {
	flex-shrink: 0;
	height: auto;
	width: 2.5rem;
}

.p-dock-disease-card__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-card__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-card__link {
	align-items: center;
	align-self: flex-end;
	display: flex;
	gap: 1.5rem;
	margin-top: auto;
}

.p-dock-disease-card__link span {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-card__link img {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- 病名一覧と検査方法について ---- */

.p-dock-disease-cat__lead {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2rem;
	text-align: center;
}

.p-dock-disease-cat__cards {
	grid-gap: 2.5rem 1.5rem;
	display: grid;
	gap: 2.5rem 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-dock-disease-cat__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
}

.p-dock-disease-cat__card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-disease-cat__photo img {
	-o-object-fit: cover;
	aspect-ratio: 322/200;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-disease-cat__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-dock-disease-cat__list {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-dock-disease-cat__link {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	justify-content: flex-end;
	margin-top: auto;
	padding-top: 1.5rem;
}

.p-dock-disease-cat__link span {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-disease-cat__link img {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ========================================
  マルチスライスCTドック（page-multi-slice-ct-scan.php）
======================================== */

/* ---- KV（写真が右寄せ・ソフトフェード。デコブロブの配置もページ固有） ---- */

.dock-multi-slice-ct-scan .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -6.0625rem;
	top: 22.5625rem;
	transform: scaleX(-1);
	width: 49.5rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__bgtext--pc {
	left: -17.875rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__photo {
	left: auto;
	right: 0;
}

/* ---- このページのsec-head見出しサイズ（デザイン固有・PC/SPともシェア既定と異なる） ---- */

.dock-multi-slice-ct-scan .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: -0.02em;
	line-height: 1.4;
}

.dock-multi-slice-ct-scan {
	--inner-pad-sp: 1.25rem;
}

.dock-multi-slice-ct-scan .inner {
	max-width: 78.125rem;
}

.dock-multi-slice-ct-scan .p-dock-ct-pricing__list {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

/* ---- ABOUT ---- */

.p-dock-ct-about {
	margin-top: 7.5rem;
}

.p-dock-ct-about__box {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
	padding: 5rem 6.375rem;
}

.p-dock-ct-about__photo {
	flex-shrink: 0;
	order: 1;
	width: 27.5rem;
}

.p-dock-ct-about__photo img {
	-o-object-fit: cover;
	aspect-ratio: 440/384;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-ct-about__body {
	flex: 1;
	order: 2;
}

.p-dock-ct-about__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.75;
}

/* ---- Key Features ---- */

.p-dock-ct-features {
	margin-top: 7.5rem;
}

.p-dock-ct-features__box {
	align-items: center;
	display: flex;
	gap: 6.25rem;
	margin-top: 2.5rem;
}

.p-dock-ct-features__text {
	color: #444444;
	color: var(--txt-color02);
	flex: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ct-features__photo {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-ct-features__photo img {
	-o-object-fit: cover;
	aspect-ratio: 440/294;
	display: block;
	object-fit: cover;
	width: 100%;
}

/* ---- What Can Be Detected ---- */

.p-dock-ct-detect {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 7.5rem;
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-ct-detect__deco {
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-ct-detect__deco.keyimg,
.p-dock-ct-pricing__deco.keyimg,
.p-dock-brain-about__deco.keyimg,
.p-dock-heart-features__deco.keyimg,
.p-dock-ladies-about__deco.keyimg,
.p-dock-ladies-about__uterine-deco.keyimg {
	z-index: 0;
}

.p-dock-ct-detect__deco--01 {
	height: 70.875rem;
	right: -42.5rem;
	top: -7rem;
	width: 70.875rem;
}

.p-dock-ct-detect__deco--02 {
	height: 77.75rem;
	left: -43.3125rem;
	top: 48.4375rem;
	width: 77.75rem;
}

.p-dock-ct-detect__list {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-ct-detect__card {
	align-items: center;
	background: #fff;
	display: flex;
	gap: 2.5rem;
	padding: 2.5rem;
}

.p-dock-ct-detect__card--grid {
	gap: 3.125rem;
	padding: 3.125rem;
}

.p-dock-ct-detect__body {
	flex: 1;
}

.p-dock-ct-detect__no {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	line-height: 1.5rem;
	text-transform: uppercase;
}

.p-dock-ct-detect__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-dock-ct-detect__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.04;
	margin-top: 1rem;
}

.p-dock-ct-detect__photo {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-ct-detect__photo img,
.p-dock-ct-detect__photo video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-ct-detect__grid {
	grid-gap: 0.625rem;
	display: grid;
	flex-shrink: 0;
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
	width: 27.5rem;
}

.p-dock-ct-detect__grid img,
.p-dock-ct-detect__grid video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

/* ---- Pricing ---- */

.p-dock-ct-pricing {
	overflow: hidden;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-ct-pricing__deco {
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-ct-pricing__deco--01 {
	height: 70.835rem;
	left: 61.625rem;
	top: -14.5rem;
	width: 70.835rem;
}

.p-dock-ct-pricing__deco--02 {
	height: 77.716875rem;
	left: -43.28375rem;
	top: 40.4375rem;
	width: 77.716875rem;
}

.p-dock-ct-pricing .inner,
.p-dock-ct-pricing .sec-head,
.p-dock-ct-pricing .p-dock-ct-pricing__list {
	position: relative;
	z-index: 1;
}

.p-dock-ct-pricing__list {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
	margin-left: -1.5625rem;
	margin-right: -1.5625rem;
	margin-top: 2.5rem;
	max-width: 75rem;
	width: calc(100% + 3.125rem);
}

.p-dock-ct-pricing__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 3.125rem;
}

.p-dock-ct-pricing__head {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

.p-dock-ct-pricing__name {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.03em;
	line-height: 1.6;
}

.p-dock-ct-pricing__subname {
	display: block;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.p-dock-ct-pricing__duration {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	gap: 1.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ct-pricing__price {
	flex-shrink: 0;
	min-width: 10.1875rem;
	text-align: center;
}

.p-dock-ct-pricing__price-main {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	white-space: nowrap;
}

.p-dock-ct-pricing__price-tax {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	white-space: nowrap;
}

.p-dock-ct-pricing__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.p-dock-ct-pricing__tag {
	background: #fff;
	border-radius: 6.25rem;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1.25rem;
}

.p-dock-ct-pricing__box {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.25rem;
}

.p-dock-ct-pricing__label-row {
	border-bottom: 0.0625rem solid #ccc;
}

.p-dock-ct-pricing__label {
	border-bottom: 0.125rem solid #004fa2;
	border-bottom: 0.125rem solid var(--main-color02);
	color: #444444;
	color: var(--txt-color02);
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
}

.p-dock-ct-pricing__text {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-dock-ct-pricing__detail {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ct-pricing__note {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ========================================
  脳ドック（page-brain-dock.php）
======================================== */

/* ---- KV（デコブロブはマルチスライスCTドックと同一座標。写真は左寄せ、幅998pxで右へオーバーフロー） ---- */

.dock-brain-dock .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -6.0625rem;
	top: 11rem;
	transform: scaleX(-1);
	width: 29.5rem;
}

.dock-brain-dock .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-brain-dock .p-dock-subkv__bgtext--pc {
	left: -17.875rem;
	top: 14.8125rem;
}

.dock-brain-dock .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.dock-brain-dock {
	--inner-pad-sp: 1.25rem;
}

.dock-brain-dock .inner {
	max-width: 77.5rem;
}

/* ---- Features（当院の特徴） ---- */

.p-dock-brain-features {
	background: #f5f7fa;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-brain-features__box {
	align-items: center;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 83.75rem;
	padding: 3.125rem;
}

.p-dock-brain-features__group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.p-dock-brain-features__heading {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-brain-features__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-brain-features__methods {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.p-dock-brain-features__methods-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-brain-features__list {
	align-items: flex-start;
	display: flex;
	gap: 1.5rem;
	width: 100%;
}

.p-dock-brain-features__list--sub {
	justify-content: center;
	max-width: 57.5rem;
}

.p-dock-brain-features__card {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.625rem;
	padding: 1.25rem;
}

.p-dock-brain-features__list--sub .p-dock-brain-features__card {
	flex: none;
	width: 14.453125rem;
}

.p-dock-brain-features__card-head {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.p-dock-brain-features__card-en {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
}

.p-dock-brain-features__card-jp {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-brain-features__card-photo {
	width: 100%;
}

.p-dock-brain-features__card-photo img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-brain-features__card-label {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	white-space: nowrap;
}

/* ---- About（マルチスライスCTで「超微小脳動脈瘤」を早期発見） ---- */

.p-dock-brain-about {
	background: #fff;
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-brain-about__deco {
	height: 71.982125rem;
	pointer-events: none;
	position: absolute;
	right: -42.044375rem;
	top: -8.46875rem;
	width: 71.982125rem;
	z-index: 0;
}

.p-dock-brain-about__box {
	grid-column-gap: 3.125rem;
	-moz-column-gap: 3.125rem;
	align-items: center;
	column-gap: 3.125rem;
	display: grid;
	grid-template-columns: 1fr 21.125rem;
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-brain-about__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	grid-column: 1;
	grid-row: 1;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-brain-about__photo {
	flex-shrink: 0;
	grid-column: 2;
	grid-row: 1/3;
	width: 21.125rem;
}

.p-dock-brain-about__photo img,
.p-dock-brain-about__photo video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-brain-about__recommend {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	grid-column: 1;
	grid-row: 2;
	margin-top: 1.25rem;
	padding: 1.25rem;
}

.p-dock-brain-about__recommend-head {
	border-bottom: 0.0625rem solid #ccc;
}

.p-dock-brain-about__recommend-title {
	border-bottom: 0.125rem solid #004fa2;
	border-bottom: 0.125rem solid var(--main-color02);
	color: #444444;
	color: var(--txt-color02);
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
}

.p-dock-brain-about__recommend-list {
	grid-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	grid-row-gap: 0.625rem;
	column-gap: 1.25rem;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(3, auto);
	row-gap: 0.625rem;
}

.p-dock-brain-about__recommend-item {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-brain-about__recommend-icon {
	flex-shrink: 0;
	height: 0.9375rem;
	margin-top: 0.4375rem;
	width: 0.9375rem;
}

/* ---- What Can Be Detected（検査でわかること・比較表） ---- */

.p-dock-brain-detect {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-brain-detect__table-wrap {
	margin-top: 2.5rem;
}

.p-dock-brain-detect__table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.p-dock-brain-detect__table th,
.p-dock-brain-detect__table td {
	border: 0.0625rem solid #ccc;
	font-weight: 400;
	padding: 0.625rem 1.25rem 0.625rem 1.25rem;
	text-align: left;
	vertical-align: middle;
}

.p-dock-brain-detect__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border-color: #fff;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
	white-space: nowrap;
	width: auto;
}

.p-dock-brain-detect__table thead th:first-child,
.p-dock-brain-detect__table tbody th {
	width: 21.875rem;
}

.p-dock-brain-detect__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem;
}

.p-dock-brain-detect__table tbody td {
	background: #fff;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
}

/* ---- Pricing（料金。カード・あしらいは p-dock-ct-pricing 共通スタイルを流用） ---- */

/* ========================================
  心臓ドック（page-heart.php）
======================================== */

/* ---- KV（デコブロブは他ページと同一座標。写真マスク位置のみページ固有） ---- */

.dock-heart .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -6.0625rem;
	top: 11rem;
	transform: scaleX(-1);
	width: 29.5rem;
}

.dock-heart .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-heart .p-dock-subkv__bgtext--pc {
	left: -17.875rem;
	top: 14.8125rem;
}

.dock-heart .p-dock-subkv__photo {
	right: auto;
}

.dock-heart .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.dock-heart .inner {
	max-width: 75rem;
}

/* ---- About（心臓ドックの検査内容） ---- */

.p-dock-heart-about {
	margin-top: 7.5rem;
}

.p-dock-heart-about__lead {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-dock-heart-about__list {
	grid-gap: 1.5625rem;
	display: grid;
	gap: 1.5625rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-heart-about__card {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 1rem;
	padding: 3.125rem 1.25rem;
}

.p-dock-heart-about__card-icon {
	flex-shrink: 0;
	height: 3rem;
	width: 3rem;
}

.p-dock-heart-about__card-body {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.25rem;
}

.p-dock-heart-about__card-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-heart-about__card-text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- Features（心臓ドックの特徴） ---- */

.p-dock-heart-features {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 7.5rem;
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-heart-features__deco {
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-heart-features__deco--01 {
	height: 70.835rem;
	left: 59.625rem;
	top: -7.875rem;
	width: 70.835rem;
}

.p-dock-heart-features__deco--02 {
	height: 77.716875rem;
	left: -42.5625rem;
	top: 44.75rem;
	width: 77.716875rem;
}

.p-dock-heart-features .inner {
	position: relative;
	z-index: 1;
}

.p-dock-heart-features__lead {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-dock-heart-features__list {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
	margin-top: 3.125rem;
}

.p-dock-heart-features__block {
	align-items: center;
	background: #fff;
	display: flex;
	gap: 3.125rem;
	padding: 3.125rem;
}

.p-dock-heart-features__block-body {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.5rem;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.p-dock-heart-features__block-no {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-dock-heart-features__block-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.03em;
	line-height: 1.6;
}

.p-dock-heart-features__block-text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.04;
}

.p-dock-heart-features__block-photo {
	flex-shrink: 0;
	width: 21.125rem;
}

.p-dock-heart-features__block-photo img,
.p-dock-heart-features__block-photo video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-heart-features__block-pair {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 0.625rem;
}

.p-dock-heart-features__block-pair-item {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 13.375rem;
}

.p-dock-heart-features__block-pair-photo {
	width: 100%;
}

.p-dock-heart-features__block-pair-photo img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-heart-features__block-pair-label {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.04;
	text-align: center;
}

.p-dock-heart-features__block-wide {
	flex-shrink: 0;
	width: 27.375rem;
}

.p-dock-heart-features__block-wide img {
	-o-object-fit: cover;
	aspect-ratio: 438/254;
	display: block;
	object-fit: cover;
	width: 100%;
}

/* ---- Pricing（料金。カード・あしらいは p-dock-ct-pricing 共通スタイルを流用） ---- */

.p-dock-heart-pricing .p-dock-heart-compare {
	position: relative;
	z-index: 1;
}

/* ---- 比較表 ---- */

.p-dock-heart-compare {
	margin-top: 3.125rem;
}

.p-dock-heart-compare__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-align: center;
}

.p-dock-heart-compare__table-wrap {
	margin-top: 1.5rem;
}

.p-dock-heart-compare__table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.p-dock-heart-compare__table th,
.p-dock-heart-compare__table td {
	border: 0.0625rem solid #ccc;
	font-weight: 400;
	padding: 0.9375rem 1.25rem;
	text-align: center;
	vertical-align: middle;
}

.p-dock-heart-compare__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border-color: #fff;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 0.9375rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
}

.p-dock-heart-compare__table thead th:first-child {
	background: #004fa2;
	background: var(--main-color02);
}

.p-dock-heart-compare__table th[scope=col]:first-child,
.p-dock-heart-compare__table th[scope=row] {
	width: 10.625rem;
}

.p-dock-heart-compare__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-heart-compare__table tbody td {
	background: #fff;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- どちらのコースにするか迷ったら（比較表の下） ---- */

.p-dock-heart-choose {
	font-feature-settings: "palt" 1;
	margin-top: 1.5rem;
	text-align: center;
}

.p-dock-heart-choose__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-heart-choose__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* ========================================
  レディースドック（page-ladies.php）
======================================== */

.dock-ladies .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.dock-ladies .inner {
	max-width: 78.125rem;
}

/* ---- About ---- */

.p-dock-ladies-about {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-ladies-about .inner {
	max-width: 78.125rem;
}

.p-dock-ladies-about__wrap {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 5rem;
	margin-top: 2.5rem;
	padding: 5rem;
	position: relative;
}

.p-dock-ladies-about__deco {
	max-width: none;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-ladies-about__deco--01 {
	height: 70.835rem;
	left: 46.625rem;
	top: -7rem;
	width: 70.835rem;
}

.p-dock-ladies-about__deco--02 {
	height: 77.716875rem;
	left: -53.28375rem;
	top: 48.46625rem;
	width: 77.716875rem;
}

/* -- FEATURE.01〜04（画像左右交互のジグザグカード） -- */

.p-dock-ladies-about__features {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-ladies-about__feature-card {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 2.5rem;
	padding-right: 2.5rem;
}

.p-dock-ladies-about__feature-card--reverse {
	flex-direction: row-reverse;
	padding-left: 2.5rem;
	padding-right: 0;
}

.p-dock-ladies-about__feature-card-photo {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-ladies-about__feature-card-photo img {
	-o-object-fit: cover;
	aspect-ratio: 440/259;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-ladies-about__feature-card-body {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-ladies-about__feature-card-head {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.p-dock-ladies-about__feature-card-no {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-dock-ladies-about__feature-card-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ladies-about__feature-card-text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* -- 乳がん検査 -- */

.p-dock-ladies-about__breast {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-ladies-about__breast-title {
	border-left: 0.1875rem solid #004fa2;
	border-left: 0.1875rem solid var(--main-color02);
	color: #000;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-ladies-about__breast-row {
	align-items: center;
	display: flex;
	gap: 3.125rem;
}

.p-dock-ladies-about__breast-text {
	color: #444444;
	color: var(--txt-color02);
	flex: 1 0 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	max-width: 34.375rem;
}

.p-dock-ladies-about__breast-photo {
	flex-shrink: 0;
	width: 30.8125rem;
}

.p-dock-ladies-about__breast-photo img {
	-o-object-fit: contain;
	aspect-ratio: 493/379;
	display: block;
	object-fit: contain;
	width: 100%;
}

/* -- 乳がん検査の特徴（bg-blue box） -- */

.p-dock-ladies-about__feature {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
	padding: 2.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-ladies-about__feature-row {
	grid-column-gap: 3.125rem;
	-moz-column-gap: 3.125rem;
	align-items: flex-end;
	column-gap: 3.125rem;
	display: grid;
	grid-template-columns: 1fr 21.125rem;
	width: 100%;
}

.p-dock-ladies-about__feature-head {
	grid-column: 1;
	grid-row: 1;
}

.p-dock-ladies-about__feature-title {
	color: #004fa2;
	color: var(--main-color02);
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-dock-ladies-about__feature-title::after {
	background: #004fa2;
	background: var(--main-color02);
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 2.125rem;
}

.p-dock-ladies-about__feature-text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	grid-column: 1;
	grid-row: 2;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.625rem;
}

.p-dock-ladies-about__feature-photo {
	flex-shrink: 0;
	grid-column: 2;
	grid-row: 1/4;
	width: 21.125rem;
}

.p-dock-ladies-about__feature-photo img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-ladies-about__recommend {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	grid-column: 1;
	grid-row: 3;
	margin-top: 1.25rem;
	padding: 1.25rem;
}

.p-dock-ladies-about__recommend-head {
	border-bottom: 0.0625rem solid #ccc;
}

.p-dock-ladies-about__recommend-title {
	color: #000;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
	position: relative;
}

.p-dock-ladies-about__recommend-title::after {
	background: #004fa2;
	background: var(--main-color02);
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 15.0625rem;
}

.p-dock-ladies-about__recommend-list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-dock-ladies-about__recommend-item {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ladies-about__recommend-icon {
	flex-shrink: 0;
	height: 0.9375rem;
	margin-top: 0.4375rem;
	width: 0.9375rem;
}

/* -- 乳がん検査のイメージ（従来／当院の2グループ） -- */

.p-dock-ladies-about__flow {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	width: 100%;
}

.p-dock-ladies-about__flow-group {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-ladies-about__flow-subtitle {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ladies-about__flow-title {
	color: #004fa2;
	color: var(--main-color02);
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-dock-ladies-about__flow-title::after {
	background: #004fa2;
	background: var(--main-color02);
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 2.125rem;
}

.p-dock-ladies-about__flow-box {
	background: #fff;
	padding: 1.25rem;
}

.p-dock-ladies-about__flow-list {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-dock-ladies-about__flow-list img {
	display: block;
	height: auto;
	width: 100%;
}

/* -- リンクボタン -- */

.p-dock-ladies-about__link {
	-webkit-text-decoration: none;
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 7.5rem;
	color: #fff;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 1.0625rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 1.5rem 2.5rem;
	text-decoration: none;
	transition: opacity 0.3s;
}

.p-dock-ladies-about__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-ladies-about__link-icon {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* -- 子宮 卵巣がん -- */

.p-dock-ladies-about__uterine {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	overflow: hidden;
	padding: 2.5rem;
	position: relative;
	z-index: 1;
}

.p-dock-ladies-about__uterine-deco {
	max-width: none;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-ladies-about__uterine-deco--01 {
	height: 70.835rem;
	left: 41.625rem;
	top: 117.4375rem;
	width: 70.835rem;
}

.p-dock-ladies-about__uterine-deco--02 {
	height: 77.716875rem;
	left: -63.28375rem;
	top: 172.90375rem;
	width: 77.716875rem;
}

.p-dock-ladies-about__uterine-cards {
	align-items: stretch;
	display: flex;
	gap: 3.125rem;
	max-width: 58.75rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-dock-ladies-about__uterine-card {
	background: #fff;
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
}

.p-dock-ladies-about__uterine-card-photo img {
	-o-object-fit: cover;
	aspect-ratio: 445/260;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-ladies-about__uterine-card-body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 2.5rem;
}

.p-dock-ladies-about__uterine-card-title {
	color: #004fa2;
	color: var(--main-color02);
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-dock-ladies-about__uterine-card-title::after {
	background: #004fa2;
	background: var(--main-color02);
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 2.125rem;
}

.p-dock-ladies-about__uterine-card-text {
	color: #222;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ========================================
  女性の病気（page-womens-disease.php）
======================================== */

/* ---- KV（デコブロブ座標・写真範囲はページ固有） ---- */

.dock-womens-disease .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -14.5625rem;
	top: 10rem;
	transform: scaleX(-1);
	width: 29.5rem;
}

.dock-womens-disease .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-womens-disease .p-dock-subkv__bgtext--pc {
	left: -17.5625rem;
	top: 14.4375rem;
}

.dock-womens-disease .p-dock-subkv__photo {
	left: 34.5rem;
	right: auto;
	width: 71rem;
}

.dock-womens-disease .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.dock-womens-disease {
	--inner-pad-sp: 1.5rem;
}

.dock-womens-disease .inner {
	max-width: 78.125rem;
}

/* ---- アンカーナビ ---- */

.p-dock-wd-anchor {
	margin-top: 2.5rem;
}

.p-dock-wd-anchor__list {
	justify-content: center;
}

/* ---- リードバナー ---- */

.p-dock-wd-lead {
	margin-top: 3.125rem;
}

.p-dock-wd-lead__box {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 68.25rem;
	padding: 2.5rem 1.25rem;
	text-align: center;
}

/* ---- 各セクション共通 ---- */

.p-dock-wd-section {
	margin-top: 7.5rem;
}

.p-dock-wd-section--blue {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-wd-section .inner + .inner {
	margin-top: 4rem;
}

.p-dock-wd-block {
	margin-top: 2.5rem;
}

.p-dock-wd-section > .inner > .sec-head + .p-dock-wd-block,
.p-dock-wd-section > .inner > .sec-head + .p-dock-wd-block-row {
	margin-top: 2.5rem;
}

.p-dock-wd-block__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-block__title--center {
	text-align: center;
}

.p-dock-wd-block__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-dock-wd-block__title + .p-dock-wd-block__text {
	margin-top: 1.5rem;
}

.p-dock-wd-photopair {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	height: 19rem;
	margin-top: 1.5rem;
}

.p-dock-wd-photopair img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	min-width: 0;
	object-fit: cover;
	width: 100%;
}

.p-dock-wd-photopair img:nth-child(1) {
	flex: 329 1 0;
}

.p-dock-wd-photopair img:nth-child(2) {
	flex: 575 1 0;
}

/* ---- チェックリスト（薄青パネル内の白カード） ---- */

.p-dock-wd-checklist {
	background: #fff;
	margin-top: 2.5rem;
	padding: 1.5rem 2.5rem;
}

.p-dock-wd-checklist__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-checklist__cols {
	display: flex;
	gap: 1.5rem;
	margin-top: 1.25rem;
}

.p-dock-wd-checklist__col {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.5rem;
}

.p-dock-wd-checklist__item {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-checklist__item span {
	flex-shrink: 0;
}

/* ---- 画像フロー（薄青パネル内の白カード） ---- */

.p-dock-wd-flow {
	background: #fff;
	margin-top: 2.5rem;
	padding: 1.25rem;
}

.p-dock-wd-flow__list {
	display: flex;
	gap: 1.25rem;
	height: 12.4375rem;
}

.p-dock-wd-flow__list img {
	-o-object-fit: cover;
	display: block;
	flex: 1 1 0;
	height: 100%;
	object-fit: cover;
}

/* ---- コースリンク（薄青パネル内の白カード） ---- */

.p-dock-wd-courses {
	background: #fff;
	margin-top: 2.5rem;
	padding: 1.5rem 2.5rem;
	text-align: center;
}

.p-dock-wd-courses__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: -0.01em;
	line-height: 1.75;
}

.p-dock-wd-courses__list {
	align-items: center;
	display: flex;
	gap: 5.875rem;
	justify-content: center;
	margin-top: 1.25rem;
}

.p-dock-wd-courselink {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	gap: 0.625rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
}

.p-dock-wd-courselink:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-wd-courselink img {
	display: block;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- 写真+テキスト横並び（子宮がん・検査・奇形腫セクションで使用） ---- */

.p-dock-wd-block-row {
	align-items: flex-start;
	display: flex;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.p-dock-wd-block-row > img {
	flex-shrink: 0;
	width: 24.75rem;
}

.p-dock-wd-block-row > img:not(.p-dock-wd-block-row__photo--contain) {
	-o-object-fit: cover;
	aspect-ratio: 396/322;
	display: block;
	object-fit: cover;
}

.p-dock-wd-block-row__photo--contain {
	-o-object-fit: cover;
	aspect-ratio: 406/229;
	object-fit: cover;
}

.p-dock-wd-block-row__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-block-row > .p-dock-wd-block-row__text {
	flex: 1 0 0;
}

.p-dock-wd-block-row__col {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-wd-block-row__col .p-dock-wd-block {
	margin-top: 0;
}

/* ---- 症状カード（子宮がん・卵巣がん） ---- */

.p-dock-wd-symptom-cards {
	grid-gap: 2.6875rem;
	display: grid;
	gap: 2.6875rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-wd-symptom-card {
	display: flex;
	flex-direction: column;
}

.p-dock-wd-symptom-card img {
	-o-object-fit: cover;
	aspect-ratio: 579/300;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-wd-symptom-card__body {
	background: #f5f7fa;
	background: var(--bg-blue);
	flex: 1 0 auto;
	padding: 2.5rem 1.25rem;
}

.p-dock-wd-symptom-card__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.p-dock-wd-symptom-card__title::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	display: block;
	height: 0.125rem;
	margin-top: 1.25rem;
	width: 2.125rem;
}

.p-dock-wd-symptom-card__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.p-dock-wd-symptom-card__item {
	align-items: center;
	color: #222;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-symptom-card__item span {
	flex-shrink: 0;
}

/* ---- 番号リスト（成熟嚢胞性奇形腫の症状） ---- */

.p-dock-wd-numlist {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.p-dock-wd-numlist__item {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-numlist__item span {
	flex-shrink: 0;
}

/* ---- 本文ブロックを包む薄青パネル（カンプ共通: 幅1200 / PC padding 40・54 / SP 20・10）----
   中身の白カード（チェックリスト・コースリンク・画像フロー）はこのパネルの上に乗る。
   子要素の間隔はカンプどおり24で統一するため、各パーツ側の margin-top を上書きする */

.p-dock-wd-panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-wd-panel > * {
	margin-top: 1.5rem;
}

.p-dock-wd-panel > *:first-child {
	margin-top: 0;
}

/* ========================================
  線虫がん検査 陽性(リスクあり)の方へ（page-nematode-cancer.php）
======================================== */

/* ---- KV（デコブロブ座標・写真範囲・背景文字はページ固有） ---- */

.dock-nematode-cancer .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -14.5625rem;
	top: 10rem;
	transform: scaleX(-1);
	width: 29.5rem;
}

.dock-nematode-cancer .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-nematode-cancer .p-dock-subkv__bgtext--pc {
	left: -15.9375rem;
	top: 14.8125rem;
}

.dock-nematode-cancer .p-dock-subkv__deco {
	max-width: none;
}

.dock-nematode-cancer .p-dock-subkv__photo {
	height: 33.625rem;
	left: 24.8125rem;
	right: auto;
	width: 92.25rem;
}

.dock-nematode-cancer .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.75rem;
}

.dock-nematode-cancer .inner {
	max-width: 78.125rem;
}

/* ---- アンカーナビ（PCのみ。SPはデザイン上非表示） ---- */

.p-dock-nc-anchor {
	margin-top: 2.5rem;
}

.p-dock-nc-anchor__list {
	display: flex;
	gap: 0.875rem;
	justify-content: center;
}

.p-dock-nc-anchor__item {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.125rem;
	color: #3d3d3d;
	display: flex;
	flex: none;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	gap: 0.625rem;
	height: 3.375rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.4;
	transition: opacity 0.3s;
	width: 14.2975rem;
}

.p-dock-nc-anchor__item:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-nc-anchor__label {
	flex: none;
	width: 9.375rem;
}

.p-dock-nc-anchor__icon {
	display: block;
	flex: none;
	height: 2rem;
	position: relative;
	width: 2rem;
	z-index: 1;
}

.p-dock-nc-anchor__icon img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-dock-nc-anchor__icon span {
	align-items: center;
	bottom: 0;
	color: #3d3d3d;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	justify-content: center;
	left: 0;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

/* ---- リードバナー ---- */

.p-dock-nc-lead {
	margin-top: 7.5rem;
}

.p-dock-nc-lead__box {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 2.375rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 68.25rem;
	padding: 2.5rem 2rem;
}

.p-dock-nc-lead__img {
	-o-object-fit: cover;
	aspect-ratio: 406/252;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 25.375rem;
}

.p-dock-nc-lead__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- 各セクション共通の枠組み ---- */

.p-dock-nc-section {
	margin-top: 7.5rem;
}

.p-dock-nc-panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-nc-panel--wide {
	padding-left: 3.125rem;
	padding-right: 3.125rem;
}

.p-dock-nc-panel--table {
	margin-top: 1.875rem;
	padding: 2.5rem 1.75rem;
}

.p-dock-nc-table-scroll + .p-dock-nc-note {
	padding-bottom: 0.8125rem;
	padding-top: 0.8125rem;
}

.p-dock-nc-panel__row {
	align-items: flex-start;
	display: flex;
}

.p-dock-nc-panel__img {
	-o-object-fit: cover;
	aspect-ratio: 365/228;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 22.8125rem;
}

.p-dock-nc-panel__body {
	margin-left: 3.125rem;
}

.p-dock-nc-panel__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-panel__subtitle {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-panel__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-panel__title + .p-dock-nc-panel__text {
	margin-top: 1.5rem;
}

.p-dock-nc-panel__block {
	margin-top: 1.5625rem;
}

/* ---- 推奨コースのテキストリンク（線虫がん検査／DWIBS 共用） ---- */

.p-dock-nc-courses {
	display: flex;
	justify-content: space-between;
	margin-top: 1.5625rem;
}

.p-dock-nc-courselink {
	font-feature-settings: "palt" 1;
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-size: 0.875rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
}

.p-dock-nc-courselink:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-nc-courselink img {
	display: block;
	flex: none;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- DWIBS(ドゥイブス) 検査 ---- */

.p-dock-nc-dwibs__figures {
	align-items: flex-start;
	display: flex;
	gap: 2rem;
}

.p-dock-nc-dwibs__figure {
	-o-object-fit: contain;
	align-self: flex-start;
	aspect-ratio: 566/319;
	flex: 1 1 auto;
	height: auto;
	max-width: 35.375rem;
	min-width: 0;
	object-fit: contain;
	width: 100%;
}

.p-dock-nc-dwibs__figure-block {
	flex: 0 0 34.75rem;
	max-width: 34.75rem;
	width: 100%;
}

.p-dock-nc-dwibs__figure-block img {
	-o-object-fit: cover;
	aspect-ratio: 566/319;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-nc-dwibs__figure-block video {
	-o-object-fit: contain;
	aspect-ratio: 1084/924;
	display: block;
	height: auto;
	margin: 1rem auto 0;
	max-width: 23.75rem;
	object-fit: contain;
	width: 100%;
}

.p-dock-nc-dwibs__caption {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-nc-dwibs__body {
	margin-top: 1rem;
}

.p-dock-nc-dwibs__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-dwibs__title + .p-dock-nc-panel__text {
	margin-top: 1.5rem;
}

.p-dock-nc-dwibs__link {
	display: flex;
	justify-content: flex-end;
	margin-top: 2.25rem;
}

.p-dock-nc-dwibs__btn {
	display: flex;
	justify-content: center;
	margin-top: 1rem;
}

/* ---- 比較テーブル（3種共通の骨格） ---- */

.p-dock-nc-table {
	font-feature-settings: "palt" 1;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.p-dock-nc-table th,
.p-dock-nc-table td {
	border: 0.0625rem solid rgba(0, 0, 0, 0.2);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
	vertical-align: middle;
}

.p-dock-nc-table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border-color: #fff;
	color: #fff;
	padding: 1.25rem 0.625rem;
}

.p-dock-nc-table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #004fa2;
	color: var(--main-color02);
}

.p-dock-nc-table tbody td {
	background: #fff;
	color: #444444;
	color: var(--txt-color02);
}

.p-dock-nc-table--exam thead th,
.p-dock-nc-table--diff thead th {
	height: 4.3125rem;
	padding: 0.625rem 1.25rem;
}

.p-dock-nc-table--exam tbody th,
.p-dock-nc-table--exam tbody td,
.p-dock-nc-table--diff tbody th,
.p-dock-nc-table--diff tbody td {
	height: 3.625rem;
	padding: 0.625rem 1.25rem;
}

.p-dock-nc-table--exam thead th:first-child,
.p-dock-nc-table--exam tbody th {
	width: 10.625rem;
}

.p-dock-nc-table--diff thead th:first-child,
.p-dock-nc-table--diff tbody th {
	width: 10.625rem;
}

.p-dock-nc-table--chart {
	min-width: 68.25rem;
}

.p-dock-nc-table--chart thead th,
.p-dock-nc-table--chart tbody th,
.p-dock-nc-table--chart tbody td {
	height: 3rem;
	line-height: 1.29;
	padding: 0 0.625rem;
}

.p-dock-nc-table--chart thead th:first-child,
.p-dock-nc-table--chart tbody th {
	text-align: left;
	width: 5.9375rem;
}

.p-dock-nc-table--chart tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
}

.p-dock-nc-table--chart tbody tr:last-child td,
.p-dock-nc-table--chart tbody tr:nth-child(2) td {
	color: #004fa2;
	color: var(--main-color02);
}

.p-dock-nc-note {
	font-feature-settings: "palt" 1;
	color: #000;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.625rem;
}

.p-dock-nc-note--right {
	text-align: right;
}

/* ---- 料金（プランカード） ---- */

.p-dock-nc-plans {
	margin-top: 1.875rem;
}

.p-dock-nc-plan {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.3125rem;
	padding: 2.5rem 3.375rem;
	scroll-margin-top: 7.5rem;
}

.p-dock-nc-plan:first-child {
	margin-top: 0;
}

.p-dock-nc-plan__head {
	align-items: flex-start;
	border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.2);
	display: flex;
	min-height: 19.125rem;
}

.p-dock-nc-plan__img {
	-o-object-fit: cover;
	aspect-ratio: 365/228;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 22.8125rem;
}

.p-dock-nc-plan__body {
	margin-left: 2.4375rem;
}

.p-dock-nc-plan__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-plan__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 1.5rem;
	margin-top: 1.0625rem;
}

.p-dock-nc-plan__tag {
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 3.125rem;
	color: #fff;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1.25rem;
}

.p-dock-nc-plan__desc {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.0625rem;
}

.p-dock-nc-plan__price {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.0625rem;
}

.p-dock-nc-plan__detail {
	align-items: center;
	display: flex;
	gap: 2.75rem;
	margin-top: 2.4375rem;
}

.p-dock-nc-plan__label {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	flex: none;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.81;
	text-align: center;
	width: 15.875rem;
}

.p-dock-nc-plan__plus {
	color: #004fa2;
	color: var(--main-color02);
	flex: none;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
}

.p-dock-nc-plan__items {
	flex: none;
	width: 45.1875rem;
}

.p-dock-nc-plan__list {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-nc-plan__detail--single {
	display: block;
}

.p-dock-nc-plan__detail--single .p-dock-nc-plan__label {
	width: 100%;
}

.p-dock-nc-price__closing {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.0625rem;
	text-align: center;
}

/* ---- あしらいリング（4点目のみページ固有の座標・アセット） ---- */

.dock-nematode-cancer .p-dock-agedeco__item--04 {
	height: 108.275625rem;
	left: 16.5625rem;
	top: 275rem;
	width: 108.275625rem;
}

/* ========================================
  検査機器のご案内（page-inspection-equipment.php）
======================================== */

/* ---- KV ----
  デコの書き出しSVGは「ブラーの滲み込み込み」の実寸（楕円472×398 + blur300×2 = 1072×998）。
  楕円のFigma座標からブラー余白ぶんを引いた位置に、書き出し実寸のまま置く。
  楕円サイズのまま縮めると blur が潰れてカンプと別物の見た目になる */

.dock-inspection-equipment .p-dock-subkv__deco {
	max-width: none;
}

.dock-inspection-equipment .p-dock-subkv__deco--01 {
	height: 62.375rem;
	left: -33.3125rem;
	top: -8.75rem;
	transform: none;
	width: 67rem;
}

.dock-inspection-equipment .p-dock-subkv__deco--02 {
	height: 98.75rem;
	left: 17.4375rem;
	top: -44.8125rem;
	transform: none;
	width: 155.125rem;
}

.dock-inspection-equipment .p-dock-subkv__bgtext--pc {
	left: -17.5625rem;
	top: 14.4375rem;
}

.dock-inspection-equipment .p-dock-subkv__photo {
	height: 36.5625rem;
	left: 22rem;
	right: auto;
	width: 85.875rem;
}

.dock-inspection-equipment .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.75rem;
}

.dock-inspection-equipment .inner {
	max-width: 78.125rem;
}

/* ---- あしらいリング（4点目・5点目はページ固有座標） ---- */

.dock-inspection-equipment .p-dock-agedeco__item--04 {
	height: 73.965625rem;
	left: 48.125rem;
	top: 243.9375rem;
	width: 73.965625rem;
}

.dock-inspection-equipment .p-dock-agedeco__item--05 {
	height: 108.275625rem;
	left: 29.3125rem;
	top: 316.75rem;
	width: 108.275625rem;
}

/* ---- アンカーナビ（PCのみ。SPはデザイン上非表示） ---- */

.p-dock-eq-anchor {
	margin-top: 2.5rem;
}

.p-dock-eq-anchor__list {
	display: flex;
	gap: 0.875rem;
	justify-content: center;
}

.p-dock-eq-anchor__item {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.125rem;
	color: #3d3d3d;
	display: flex;
	flex: 0 1 14.25rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	gap: 1.125rem;
	height: 3.375rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.4;
	transition: opacity 0.3s;
}

.p-dock-eq-anchor__item:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-eq-anchor__label {
	flex: 0 1 8rem;
}

.p-dock-eq-anchor__icon {
	display: block;
	flex: none;
	height: 2rem;
	position: relative;
	width: 2rem;
	z-index: 1;
}

.p-dock-eq-anchor__icon img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-dock-eq-anchor__icon span {
	align-items: center;
	bottom: 0;
	color: #3d3d3d;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	justify-content: center;
	left: 0;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

/* ---- リードバナー ---- */

.p-dock-eq-lead {
	margin-top: 7.5rem;
}

.p-dock-eq-lead__box {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	max-width: 68.25rem;
	padding: 2.5rem 1.25rem;
	text-align: center;
}

/* ---- セクション共通 ---- */

.p-dock-eq-section {
	margin-top: 7.5rem;
}

.p-dock-eq-panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 3.4375rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-eq-panel__row {
	align-items: flex-start;
	display: flex;
}

.p-dock-eq-panel__img {
	-o-object-fit: cover;
	aspect-ratio: 396/332;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 24.75rem;
}

.p-dock-eq-panel__body {
	margin-left: 2.5rem;
}

.p-dock-eq-panel__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-eq-panel__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* ---- パネル内の白ブロック（◯◯ドックの特徴） ---- */

.p-dock-eq-feature {
	background: #fff;
	margin-top: 1.5rem;
	padding: 1.5rem 2.5rem;
}

.p-dock-eq-feature__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-eq-feature__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* ---- パネル下のテキストリンク（右寄せ） ---- */

.p-dock-eq-link {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.5rem;
}

.p-dock-eq-textlink {
	font-feature-settings: "palt" 1;
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-size: 0.875rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
}

.p-dock-eq-textlink:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-eq-textlink img {
	display: block;
	flex: none;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- 経鼻内視鏡／大腸内視鏡（テキスト左・画像右） ---- */

.p-dock-eq-detail {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

.p-dock-eq-detail__body {
	flex: 1 1 auto;
	min-width: 0;
}

.p-dock-eq-detail__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-eq-detail__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-dock-eq-detail__img {
	flex: none;
	height: auto;
	margin-left: 2.5rem;
	width: 28.4375rem;
}

/* ---- その他の機器（横長カード） ---- */

.p-dock-eq-cards {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.6875rem;
}

.p-dock-eq-card {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	padding: 0.625rem;
}

.p-dock-eq-card__img {
	-o-object-fit: cover;
	aspect-ratio: 279/164;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 17.45rem;
}

.p-dock-eq-card__body {
	margin-left: 1.5rem;
}

.p-dock-eq-card__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-eq-card__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* ========================================
  当院の検査（page-inspection.php）
======================================== */

/* ---- KV（デコブロブ座標・写真範囲・見出しはページ固有） ---- */

.dock-inspection .p-dock-subkv__deco {
	max-width: none;
}

.dock-inspection .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -14.5625rem;
	top: 10rem;
	transform: none;
	width: 29.5rem;
}

.dock-inspection .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-inspection .p-dock-subkv__photo {
	height: 33.75rem;
	left: 22rem;
	right: auto;
	width: 85.125rem;
}

/* ---- 共通見出し（本ページはPC 46px・SP 32px の同一スケール） ---- */

.dock-inspection .sec-head__title {
	color: #000;
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.75rem;
}

.dock-inspection {
	--inner-pad-sp: 1.5rem;
}

.dock-inspection .inner {
	max-width: 78.125rem;
}

/* ---- あしらいリング（Figmaのページ絶対座標 − ヘッダー124px） ---- */

.dock-inspection .p-dock-agedeco__item--01 {
	height: 60.255625rem;
	left: -26.4375rem;
	top: 20rem;
	width: 60.255625rem;
}

.dock-inspection .p-dock-agedeco__item--02 {
	height: 66.475625rem;
	left: 54.6875rem;
	top: 94.75rem;
	width: 66.475625rem;
}

.dock-inspection .p-dock-agedeco__item--03 {
	height: 59.345625rem;
	left: -21.6875rem;
	top: 187.625rem;
	width: 59.345625rem;
}

.dock-inspection .p-dock-agedeco__item--04 {
	height: 73.965625rem;
	left: 52.4375rem;
	top: 275.25rem;
	width: 73.965625rem;
}

.dock-inspection .p-dock-agedeco__item--05 {
	height: 58.59rem;
	left: -19.125rem;
	top: 400.5rem;
	width: 58.59rem;
}

.dock-inspection .p-dock-agedeco__item--06 {
	height: 73.965625rem;
	left: 50.875rem;
	top: 489.4375rem;
	width: 73.965625rem;
}

.dock-inspection .p-dock-agedeco__item--07 {
	height: 58.59rem;
	left: -23.0625rem;
	top: 639.1875rem;
	width: 58.59rem;
}

.dock-inspection .p-dock-agedeco__item--08 {
	height: 74.619375rem;
	left: 42.0625rem;
	top: 696.9375rem;
	width: 74.619375rem;
}

/* ---- アンカーナビは共通パーツ .p-clinic-anchor（_about.scss）を使用。ページ固有CSSなし ---- */

/* ---- セクション共通 ---- */

.p-dock-insp-section {
	margin-top: 7.5rem;
}

.p-dock-insp-lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

.p-dock-insp-note {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-dock-insp-note--right {
	font-size: 0.875rem;
	text-align: right;
}

/* ---- 当院の検査一覧（写真カード7枚） ---- */

.p-dock-insp-cards {
	grid-column-gap: 0.625rem;
	-moz-column-gap: 0.625rem;
	grid-row-gap: 2.5rem;
	column-gap: 0.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
	row-gap: 2.5rem;
}

.p-dock-insp-card {
	background: #fff;
	background: var(--base-color);
	border-radius: 0.625rem;
	box-shadow: 0 0 1.5rem rgba(17, 154, 239, 0.08);
	display: flex;
	overflow: hidden; /* ホバーで丸矢印を右へ＋サムネイルをズーム（FB 2026-08-11） */
}

.p-dock-insp-card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-dock-insp-card__thumb {
	flex: none;
	overflow: hidden;
	width: 12.5rem;
}

.p-dock-insp-card__img {
	-o-object-fit: cover;
	aspect-ratio: 200/240;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s;
	transition: transform var(--transition);
	width: 100%;
}

.p-dock-insp-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.0625rem 1.25rem 1.25rem;
}

.p-dock-insp-card__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-insp-card__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.0625rem;
}

.p-dock-insp-card__link {
	align-items: center;
	align-self: flex-end;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 1rem;
	gap: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: auto;
	padding-top: 1rem;
}

.p-dock-insp-card__link-icon {
	flex: none;
	height: 1.66875rem;
	transition: transform 0.3s;
	width: 1.66875rem;
}

/* ---- 比較表（当院の全身ドックとは / ドゥイブス検査 共用） ---- */

.p-dock-insp-tablewrap {
	margin-top: 2.5rem;
	overflow-x: auto;
}

.p-dock-insp-table {
	border-collapse: collapse;
	min-width: 75rem;
	table-layout: fixed;
	width: 100%;
}

.p-dock-insp-table--compact {
	min-width: 36.25rem;
}

.p-dock-insp-table--compact .p-dock-insp-table__th {
	border-color: #ccc;
}

.p-dock-insp-table__th {
	font-feature-settings: "palt" 1;
	background: #cccccc;
	border: 0.0625rem solid #fff;
	border-bottom-color: #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
	vertical-align: middle;
}

.p-dock-insp-table__th--label,
.p-dock-insp-table__th--own {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
}

.p-dock-insp-table__rowhead {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem;
	text-align: left;
	vertical-align: middle;
}

.p-dock-insp-table__rowhead--center {
	text-align: center;
}

.p-dock-insp-table__td {
	font-feature-settings: "palt" 1;
	background: #fff;
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem;
	text-align: center;
	vertical-align: middle;
}

.p-dock-insp-table__td--own {
	color: #004fa2;
	color: var(--main-color02);
}

.p-dock-insp-table--compact .p-dock-insp-table__th--label,
.p-dock-insp-table--compact .p-dock-insp-table__rowhead {
	width: 13.0625rem;
}

.p-dock-insp-table--compact .p-dock-insp-table__th--plain {
	width: 11.875rem;
}

.p-dock-insp-table--compact tbody tr {
	height: 4.25rem;
}

.p-dock-insp-table--compact thead tr {
	height: 4.75rem;
}

/* ---- 検査ブロック（見出し＋リード＋図版） ---- */

.p-dock-insp-block {
	margin-top: 5rem;
}

.sec-head + .p-dock-insp-block,
.sec-head + .p-dock-insp-cols {
	margin-top: 2.5rem;
}

.p-dock-insp-block__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-insp-block__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

/* ---- 機器バナー（写真＋機種名。カンプ: PC 1092×200 枠線#ccc / SP 342幅・機種名は左寄せ） ---- */

.p-dock-insp-equip {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	display: flex;
	gap: 2.5rem;
	height: 12.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 100%;
	padding-right: 2.5rem;
	width: 68.25rem;
}

.p-dock-insp-equip__img {
	-o-object-fit: cover;
	align-self: stretch;
	flex: none;
	height: 100%;
	object-fit: cover;
	width: 20.75rem;
}

.p-dock-insp-equip__name {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- 青地パネル ---- */

.p-dock-insp-panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

/* ---- 7種類の撮影方法グリッド ---- */

.p-dock-insp-scans {
	grid-column-gap: 1.3125rem;
	-moz-column-gap: 1.3125rem;
	grid-row-gap: 2.5rem;
	column-gap: 1.3125rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 2.5rem;
}

.p-dock-insp-scans__label {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-insp-scan__name,
.p-dock-insp-scan__caption {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-insp-scan__img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	height: auto;
	margin-top: 0.5rem;
	object-fit: cover;
	width: 100%;
}

.p-dock-insp-scan__caption {
	margin-top: 0.5rem;
}

/* ---- 白地の図版ボックス（乳がん検査） ---- */

.p-dock-insp-white {
	background: #fff;
	background: var(--base-color);
	padding: 1.25rem;
}

.p-dock-insp-white + .p-dock-insp-white {
	margin-top: 2.5rem;
}

.p-dock-insp-white--narrow {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
	width: 47.875rem;
}

.p-dock-insp-white__row {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(4, 1fr);
}

.p-dock-insp-white__row img {
	-o-object-fit: cover;
	aspect-ratio: 255/195;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-insp-white__pair {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-dock-insp-white__pair img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-insp-white__caption {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
	text-align: center;
}

/* ---- キャプション付き図版ペア（子宮・卵巣／脊椎） ---- */

.p-dock-insp-figs {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-insp-fig__caption {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-insp-fig__imgs {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.5rem;
}

.p-dock-insp-fig__imgs img {
	-o-object-fit: cover;
	aspect-ratio: 280/294;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-insp-fig__imgs--captioned {
	align-items: start;
	margin-top: 2.5rem;
}

.p-dock-insp-shot__caption {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 0.5rem;
	text-align: center;
}

.p-dock-insp-shot img,
.p-dock-insp-shot video {
	-o-object-fit: cover;
	aspect-ratio: 280/294;
	background: #000;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* ---- 2カラム（頭部CT／冠動脈CT・頚動脈／心臓） ---- */

.p-dock-insp-cols {
	grid-gap: 2.5rem;
	align-items: start;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 5rem;
}

.p-dock-insp-cols .p-dock-insp-block {
	margin-top: 0;
}

.p-dock-insp-cols + .p-dock-insp-cols {
	margin-top: 5rem;
}

/* ---- 4枚並び（胸部CT） ---- */

.p-dock-insp-quad {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.5rem;
}

.p-dock-insp-quad img,
.p-dock-insp-quad video {
	-o-object-fit: cover;
	aspect-ratio: 285/304;
	background: #000;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* ---- 内視鏡（大写真1＋小写真2） ---- */

.p-dock-insp-endo {
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.p-dock-insp-endo__main {
	-o-object-fit: cover;
	aspect-ratio: 393/250;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 24.5625rem;
}

.p-dock-insp-endo__sub {
	grid-gap: 0.625rem;
	display: grid;
	flex: 1;
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-dock-insp-endo__sub img {
	-o-object-fit: cover;
	aspect-ratio: 379/250;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* ---- 横長1枚（超音波） ---- */

.p-dock-insp-wide {
	-o-object-fit: cover;
	aspect-ratio: 580/251;
	height: auto;
	margin-top: 2.5rem;
	object-fit: cover;
	width: 100%;
}

.p-dock-insp-wide--tall {
	aspect-ratio: 580/389;
}

/* ---- ドゥイブス検査（画像＋比較表） ---- */

.p-dock-insp-dwibs {
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.p-dock-insp-dwibs__img {
	-o-object-fit: contain;
	align-self: flex-start;
	aspect-ratio: 1084/924;
	display: block;
	flex: none;
	height: auto;
	object-fit: contain;
	width: 36.25rem;
}

.p-dock-insp-dwibs__body {
	flex: 1;
	min-width: 0;
}

.p-dock-insp-dwibs__body .p-dock-insp-tablewrap {
	margin-top: 0;
}

/* ---- 血液検査カード ---- */

.p-dock-insp-blood {
	grid-column-gap: 0.625rem;
	-moz-column-gap: 0.625rem;
	grid-row-gap: 1.25rem;
	column-gap: 0.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
	row-gap: 1.25rem;
}

.p-dock-insp-blood__item {
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.625rem;
	padding: 2.5rem;
}

.p-dock-insp-blood__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-insp-blood__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* ========================================
  がん検査 共通パーツ（がんドック / 全身ドック）
======================================== */

/* ---- 左バー見出し（24px） ---- */

.p-dock-barhead {
	font-feature-settings: "palt" 1;
	border-left: 0.1875rem solid #004fa2;
	border-left: 0.1875rem solid var(--main-color02);
	color: #000;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* ---- 英ラベル＋下線付き和文見出し（全身ドックのブロック見出し） ---- */

.p-dock-lhead {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-dock-lhead__en {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-dock-lhead__title {
	font-feature-settings: "palt" 1;
	border-bottom: 0.125rem solid #004fa2;
	border-bottom: 0.125rem solid var(--main-color02);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
}

/* ---- 表（青ヘッダー＋#CCC罫線。カンプ実測: ヘッダーは白罫線／本文セルは白+黒20%＝#CCC） ---- */

.p-dock-table-wrap {
	overflow-x: auto;
	width: 100%;
}

.p-dock-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.p-dock-table th,
.p-dock-table td {
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
	vertical-align: middle;
}

.p-dock-table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border-color: #fff;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
}

.p-dock-table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
}

.p-dock-table td.p-dock-table__cell--accent {
	color: #004fa2;
	color: var(--main-color02);
}

.p-dock-table__note {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* 適した検査（4列: 170 / 209 / 269 / 392） */

.p-dock-table--suitable th:nth-child(1) {
	width: 10.625rem;
}

.p-dock-table--suitable th:nth-child(2) {
	width: 13.0625rem;
}

.p-dock-table--suitable th:nth-child(3) {
	width: 16.8125rem;
}

/* PET-CT比較（3列: 170 / 435 / 435） */

.p-dock-table--petct th:nth-child(1) {
	width: 10.625rem;
}

/* がん診断比較表（1列目170＋12列） */

.p-dock-table--matrix thead th:first-child {
	padding: 0.625rem 1.25rem;
	width: 10.625rem;
}

/* 12列は1列あたり約72pxしかないため、左右paddingを詰めないと文字が縦積みになる */

.p-dock-table--matrix thead th,
.p-dock-table--matrix tbody td {
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}

/* 臓器名の行だけ背景#CCC（カンプは白fill＋黒20%）。番号行は青のまま */

.p-dock-table--matrix thead th.p-dock-table__cell--organ {
	background: #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0;
	line-height: 1.4;
}

/* ---- テキストリンク（14px＋青丸矢印） ---- */

.p-dock-textlink {
	-webkit-text-decoration: none;
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-decoration: none;
	transition: opacity 0.3s;
}

.p-dock-textlink:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* SPカンプでも右端揃え（乳がん検査/すい臓がん/胃がんの3本とも右端がコンテンツ右端に一致） */

.p-dock-textlink--right {
	align-self: flex-end;
}

.p-dock-textlink__icon {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ---- DWIBS検査とは（本文＋図2点＋ボタン） ---- */

.p-dock-dwibs {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.p-dock-dwibs__row {
	align-items: flex-start;
	display: flex;
	gap: 2.5rem;
	width: 100%;
}

.p-dock-dwibs__main {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-dwibs__side {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 1.5rem;
	width: 27.375rem;
}

.p-dock-dwibs__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-dwibs__figure {
	background: #fff;
	padding: 0.5rem;
}

.p-dock-dwibs__figure--pad {
	padding: 1.5rem;
}

.p-dock-dwibs__figure img,
.p-dock-dwibs__figure video {
	-o-object-fit: contain;
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-dock-dwibs__caption {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- 3表のまとまり ---- */

.p-dock-dwibs-tables {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.p-dock-dwibs-tables__panel {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding: 2.5rem;
}

/* ========================================
  がんドック（page-cancer.php）
======================================== */

.dock-cancer {
	--inner-pad-sp: 1.25rem;
}

.dock-cancer .inner {
	max-width: 78.125rem;
}

.dock-cancer .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

/* KV（brain-dockと同座標） */

.dock-cancer .p-dock-subkv__deco--01,
.dock-full-body .p-dock-subkv__deco--01 {
	height: 24.875rem;
	left: -6.0625rem;
	top: 11rem;
	transform: scaleX(-1);
	width: 29.5rem;
}

.dock-cancer .p-dock-subkv__deco--02,
.dock-full-body .p-dock-subkv__deco--02 {
	height: 36.25rem;
	left: 48.6875rem;
	top: -13.5625rem;
	transform: none;
	width: 92.625rem;
}

.dock-cancer .p-dock-subkv__bgtext--pc,
.dock-full-body .p-dock-subkv__bgtext--pc {
	left: -17.875rem;
	top: 14.8125rem;
}

/* 料金リストは中央寄せ（他ドックページの-25px送りは使わない） */

.dock-cancer .p-dock-ct-pricing__list,
.dock-full-body .p-dock-ct-pricing__list {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	width: 100%;
}

/* ---- About（DWIBS検査とは） ---- */

.p-dock-cancer-about {
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-cancer-about__lead {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 2.5rem;
}

.p-dock-cancer-about__lead-text {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-cancer-about .sec-head {
	margin-top: 2.5rem;
}

.p-dock-cancer-about .p-dock-dwibs {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 5rem 6.375rem;
}

/* ---- 全身と臓器別のがん検査 ---- */

.p-dock-cancer-screening {
	background: #f5f7fa;
	background: var(--bg-blue);
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-cancer-screening__deco,
.p-dock-cancer-organs__deco {
	max-width: none;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.p-dock-cancer-screening__deco--01,
.p-dock-cancer-organs__deco--01 {
	height: 70.835rem;
	left: 61.625rem;
	top: -7rem;
	width: 70.835rem;
}

.p-dock-cancer-screening__deco--02,
.p-dock-cancer-organs__deco--02 {
	height: 77.716875rem;
	left: -43.28375rem;
	top: 48.46625rem;
	width: 77.716875rem;
}

.p-dock-cancer-screening .inner,
.p-dock-cancer-organs .inner {
	position: relative;
	z-index: 1;
}

.p-dock-cancer-screening__row {
	align-items: flex-start;
	display: flex;
	gap: 6.25rem;
	margin-top: 2.5rem;
}

.p-dock-cancer-screening__text {
	color: #444444;
	color: var(--txt-color02);
	flex: 1 0 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-cancer-screening__figure {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-cancer-screening__figure img {
	-o-object-fit: contain;
	aspect-ratio: 440/306;
	display: block;
	object-fit: contain;
	width: 100%;
}

/* ---- DWIBSと適切な検査（3表） ---- */

.p-dock-cancer-tables {
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-cancer-tables__wrap {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 2.5rem;
}

/* ---- 臓器別のがん検査 ---- */

.p-dock-cancer-organs {
	background: #f5f7fa;
	background: var(--bg-blue);
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-cancer-organs .inner {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.p-dock-cancer-organs__panel {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding: 4rem;
	scroll-margin-top: 7.5rem;
}

.p-dock-cancer-organs__body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-cancer-organs__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-cancer-organs__note,
.p-dock-cancer-organs__caption {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-cancer-organs__photos {
	grid-gap: 3rem;
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(4, 1fr);
}

.p-dock-cancer-organs__photos img,
.p-dock-cancer-organs__photos video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-cancer-organs__cols {
	align-items: flex-start;
	display: flex;
	gap: 3.125rem;
}

.p-dock-cancer-organs__col {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-cancer-organs__col-photo img {
	-o-object-fit: cover;
	aspect-ratio: 511/263;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-cancer-organs__table-block {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-cancer-organs__split {
	align-items: flex-start;
	display: flex;
	gap: 2.5rem;
}

.p-dock-cancer-organs__split-body {
	align-items: flex-start;
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1rem;
}

.p-dock-cancer-organs__split-figure {
	flex-shrink: 0;
	width: 25.6875rem;
}

.p-dock-cancer-organs__split-figure img {
	display: block;
	height: auto;
	width: 100%;
}

.p-dock-cancer-organs__split--photos {
	gap: 1.5rem;
}

.p-dock-cancer-organs__split-figure--illust {
	width: 24.875rem;
}

.p-dock-cancer-organs__split-photo img {
	-o-object-fit: cover;
	aspect-ratio: 650/240;
	display: block;
	object-fit: cover;
	width: 100%;
}

/* ========================================
  全身ドック（page-full-body.php）
======================================== */

.dock-full-body {
	--inner-pad-sp: 1.25rem;
}

.dock-full-body .inner {
	max-width: 78.125rem;
}

.dock-full-body .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.p-dock-fb-about {
	padding-top: 7.5rem;
}

.p-dock-fb-about__list {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.p-dock-fb-about__intro {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 5rem 6.375rem;
}

.p-dock-fb-about__intro-row {
	align-items: center;
	display: flex;
	gap: 2.5rem;
}

.p-dock-fb-about__intro-photo {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-fb-about__intro-photo img {
	-o-object-fit: cover;
	aspect-ratio: 440/259;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-dock-fb-about__intro-text,
.p-dock-fb-about__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ---- ブロック共通（bg-blue パネル） ---- */

.p-dock-fb-block {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding: 2.5rem;
}

.p-dock-fb-block__row {
	align-items: flex-start;
	display: flex;
	gap: 6.25rem;
}

.p-dock-fb-block__row--center {
	align-items: center;
	gap: 2.5rem;
}

.p-dock-fb-block__col {
	align-items: flex-start;
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-fb-block__text {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* flex:1 は横並び行の中だけ。縦積みの親に付けると高さが0に潰れる */

.p-dock-fb-block__row > .p-dock-fb-block__text {
	flex: 1 0 0;
}

.p-dock-fb-block__text--sm {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	line-height: 2.0357142857;
}

.p-dock-fb-block__figure {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-dock-fb-block__figure img {
	-o-object-fit: contain;
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-dock-fb-block__figure--square {
	width: 21.125rem;
}

/* 冠動脈CTは動画（608×512）。カンプの正方形スロットに合わせて中央でトリミングする */

.p-dock-fb-block__figure--square video {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	background: #000;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-dock-fb-block__figure--dementia {
	width: 21.125rem;
}

.p-dock-fb-block__figure--colon {
	width: 25.25rem;
}

.p-dock-fb-block__panel {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 2.5rem;
}

.p-dock-fb-block__panel--stroke {
	padding: 1.5rem;
}

/* ---- 乳がん検査（イラスト4点） ---- */

.p-dock-fb-breast {
	background: #fff;
	padding: 1.25rem;
}

/* SPカンプ(1006:24366)は4枚を1列に縦積み（gap・paddingは20のまま） */

.p-dock-fb-breast__list {
	grid-gap: 1.25rem;
	align-items: center;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(4, 1fr);
}

.p-dock-fb-breast__list img {
	-o-object-fit: contain;
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

/* ---- キャプション付き画像カード ---- */

.p-dock-fb-figcards {
	align-items: flex-start;
	display: flex;
	gap: 2.5rem;
}

.p-dock-fb-figcards__item {
	background: #fff;
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.625rem;
	padding: 0.625rem;
}

/* 単独で置く横長カード。親(.p-dock-fb-block)が縦flexなので
   .p-dock-fb-figcards__item の flex:1 0 0（＝flex-basis:0）が高さに効いてしまい、
   flex:none で打ち消さないとカードが padding 分（20px）に潰れて画像がはみ出す */

.p-dock-fb-figcards__item--wide {
	flex: none;
	width: 100%;
}

.p-dock-fb-figcards__item img {
	-o-object-fit: contain;
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-dock-fb-figcards__caption {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-dock-fb-figcards__pair {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
}

/* ---- 料金（青帯タイトル＋男女2価格） ---- */

.p-dock-fb-pricing__card {
	gap: 0;
	padding: 0;
	scroll-margin-top: 7.5rem;
}

.p-dock-fb-pricing__ribbon {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	letter-spacing: 0.03em;
	line-height: 1.6;
	padding: 1rem 1.5rem;
	text-align: center;
}

.p-dock-fb-pricing__body {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 3.125rem;
}

.p-dock-fb-pricing__head {
	align-items: center;
	display: flex;
	gap: 2.5rem;
	justify-content: space-between;
}

.p-dock-fb-pricing__course {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-dock-fb-pricing__summary {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-fb-pricing__prices {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 1rem;
}

.p-dock-fb-pricing__price-row {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.p-dock-fb-pricing__price-label {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	flex-shrink: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1.25rem;
}

/* カンプ実測: 男性の帯は青、女性の帯は #CC716B */

.p-dock-fb-pricing__price-label--female {
	background: #cc716b;
}

.p-dock-fb-pricing__price {
	text-align: right;
}

.p-dock-fb-pricing__price-duration {
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* SPカンプ(1006:24511)の料金行は
   1行目「ラベル ←→ 所要時間」/ 2行目「金額（32px・左寄せ）」の2段組み */

.p-dock-fb-pricing__lead {
	align-self: flex-start;
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	color: #004fa2;
	color: var(--main-color02);
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1rem;
}

.p-dock-fb-pricing__plus {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.75;
}

.dock-full-body .p-dock-ct-pricing__text {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}

/* ---- 料金カード内の追記（がんドックで使用） ---- */

.p-dock-ct-pricing__subname--inline {
	display: inline;
	margin-left: 0.5rem;
}

.p-dock-ct-pricing__detail-lead {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ========================================
  オプション検査（page-optional-inspection.php）
  カンプ: PC 383:12872 / SP 383:13107
======================================== */

.dock-optional-inspection {
	--inner-pad-sp: 1.25rem;
}

.dock-optional-inspection .inner {
	max-width: 78.125rem;
}

.dock-optional-inspection .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: -0.02em;
	line-height: 1.4;
}

/* ---- KV（共通 p-dock-subkv のうち、ページ固有の座標のみ上書き） ---- */

.dock-optional-inspection .p-dock-subkv__deco--01 {
	left: 8.6875rem;
	top: 23.4375rem;
}

.dock-optional-inspection .p-dock-subkv__photo {
	height: 51.6875rem;
	left: 30.625rem;
	right: auto;
	top: -5.375rem;
	width: 74.75rem;
}

/* ---- INTRO（リード＋カテゴリーアンカー16件） ---- */

.p-dock-optintro {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-dock-optintro__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-dock-optintro__anchor {
	margin-top: 2.5rem;
}

.p-dock-optintro__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
}

.p-dock-optintro__item {
	width: 12.5rem;
}

.p-dock-optintro__link {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #fff;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.5rem 1.25rem;
	transition: opacity 0.3s;
	transition: opacity var(--transition);
}

.p-dock-optintro__icon {
	-o-object-fit: contain;
	flex-shrink: 0;
	height: 1.5rem;
	object-fit: contain;
	width: 1.5rem;
}

/* ---- CATEGORIES（検査カテゴリー16種） ---- */

.p-dock-optcats {
	background: #fff;
	isolation: isolate;
	padding-top: 7.5rem;
	position: relative;
}

.p-dock-optcat {
	position: relative;
	scroll-margin-top: 7.5rem;
}

.p-dock-optcat + .p-dock-optcat {
	margin-top: 2.5rem;
}

.p-dock-optcat__list {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 1.5rem;
	padding: 2.5rem;
}

/* ---- 検査項目カード（アコーディオン） ---- */

.p-dock-optitem {
	align-items: center;
	border-bottom: 0.0625rem solid #004fa2;
	border-bottom: 0.0625rem solid var(--main-color02);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem;
}

.p-dock-optitem__head {
	align-items: center;
	display: flex;
	width: 100%;
}

.p-dock-optitem__title {
	color: #444444;
	color: var(--txt-color02);
	flex: 1 0 0;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
	min-width: 0;
}

.p-dock-optitem__meta {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.5rem;
}

.p-dock-optitem__tag {
	font-feature-settings: "palt" 1;
	align-items: center;
	color: #fff;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 1.25rem;
	white-space: nowrap;
}

.p-dock-optitem__tag--advance {
	background: #004fa2;
	background: var(--main-color02);
}

.p-dock-optitem__tag--sameday {
	background: #c57c3c;
}

.p-dock-optitem__price {
	font-feature-settings: "palt" 1;
	align-items: flex-end;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
}

.p-dock-optitem__price-num {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.1;
	min-width: 9.25rem;
	text-align: center;
}

.p-dock-optitem__price-tax {
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-optitem__body {
	display: none;
	width: 100%;
}

.p-dock-optitem__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-optitem__link {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	margin-top: 1rem;
}

.p-dock-optitem__link-text {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
	transition: opacity var(--transition);
}

.p-dock-optitem__link-icon {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	transition: transform var(--transition);
	width: 1.75rem;
}

.p-dock-optitem__panel {
	background: #fff;
	margin-top: 1rem;
	padding: 1.25rem;
}

.p-dock-optitem__panel-head {
	border-bottom: 0.0625rem solid #ccc;
}

.p-dock-optitem__panel-label {
	font-feature-settings: "palt" 1;
	align-items: center;
	border-bottom: 0.125rem solid #004fa2;
	border-bottom: 0.125rem solid var(--main-color02);
	color: #444444;
	color: var(--txt-color02);
	display: inline-flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
}

.p-dock-optitem__panel-text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

.p-dock-optitem__toggle {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	cursor: pointer;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
	transition: opacity var(--transition);
}

.p-dock-optitem__toggle-icon {
	background: url("../images/dock/optional-inspection/toggle_plus.svg") no-repeat center/contain;
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.p-dock-optitem__toggle.is-open .p-dock-optitem__toggle-icon {
	background-image: url("../images/dock/optional-inspection/toggle_close.svg");
}

.p-dock-optitem__toggle-text--less {
	display: none;
}

.p-dock-optitem__toggle.is-open .p-dock-optitem__toggle-text--more {
	display: none;
}

.p-dock-optitem__toggle.is-open .p-dock-optitem__toggle-text--less {
	display: block;
}

/* ---- あしらい（装飾リング） ----
  カンプは大きな円弧が「右→左→右…」と交互に画面端から差し込み、カテゴリー領域の
  最下部まで約600〜1100px間隔で続く。実装はアコーディオンが閉じた状態が初期値で
  ページ高がカンプ（全開状態）と一致しないため、絶対座標ではなく
  「カテゴリー1セクションにつき1点・上下中央」で配置してカンプのリズムを保つ。
  横位置はカンプ実測（右から: 中央+266 / 左から: 中央-1224）。不透明度もカンプの65%。
  ※ Figmaのメタデータ上のxは回転ノードのため右端を指す。左からのリングは
     739.47 − 1243.47 = −504（フレーム左端基準）が真の左端（[[figma-rotated-node-coords]]） */

.p-dock-optcat__ring {
	display: block;
	max-width: none;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.dock-optional-inspection .p-dock-optcat__ring.is-show {
	opacity: 0.65;
}

.p-dock-optcat__ring--01 {
	height: 70.835rem;
	right: -42.46rem;
	top: calc(50% - 35.4175rem);
	width: 70.835rem;
}

.p-dock-optcat__ring--02 {
	height: 77.716875rem;
	left: -31.5rem;
	top: calc(50% - 38.858125rem);
	width: 77.716875rem;
}

/*フッター*/

#site-footer {
	padding-top: 180px;
	position: relative;
	z-index: 3; /*採用・お問い合わせボタン*/ /*各院カード*/ /*SNSエリア*/ /*青地フッター*/
}

#site-footer .bg {
	background: left bottom/720px 461px no-repeat url("../images/common/foot-bg-img.webp"), #f5f8fa;
	background: left bottom/720px 461px no-repeat url("../images/common/foot-bg-img.webp"), var(--sub-color);
	padding-bottom: calc(10px * 10);
	padding-bottom: calc(var(--margin) * 10);
	position: relative;
}

#site-footer .inner {
	margin: 0 auto;
	max-width: 1200px;
	max-width: var(--contentmxwidth);
	width: 92.307%;
	width: var(--content-w);
}

#site-footer .ct {
	margin-bottom: calc(10px * 14 - 180px);
	margin-bottom: calc(var(--margin) * 14 - 180px);
	transform: translateY(-50%);
}

#site-footer .ct-li {
	gap: 1px;
}

#site-footer .ct-li > li {
	width: 50%;
}

#site-footer .ct-li > li a {
	background: #004f9c;
	background: var(--main-color);
	border: solid 1px #004f9c;
	border: solid 1px var(--main-color);
	color: #fff;
	color: var(--base-color);
	display: block;
	padding: 110px 0 100px;
	text-align: center;
}

#site-footer .ct-li > li a .ja {
	font-weight: 700;
	line-height: 1;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#site-footer .ct-li > li a .en {
	font-size: 50px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#site-footer .ct-li > li a::after {
	background-position: center center;
	margin: 0 auto;
}

#site-footer .ct-li > li:first-child a {
	border-radius: 30px 0 0 30px;
}

#site-footer .ct-li > li:nth-child(2) a {
	border-radius: 0 30px 30px 0;
}

#site-footer .footer-content {
	align-items: flex-start;
}

#site-footer .footer-content .logo {
	margin-bottom: calc(10px * 6);
	margin-bottom: calc(var(--margin) * 6);
	max-width: 600px;
}

#site-footer .footer-nav-main { /*診療案内メニュー*/ /*その他メニュー*/
}

#site-footer .footer-nav-main .cell {
	margin-bottom: calc(10px * 4);
	margin-bottom: calc(var(--margin) * 4);
}

#site-footer .footer-nav-main .cell.cell-last {
	align-items: flex-end;
	margin-bottom: 0;
}

#site-footer .footer-nav-main .footmenu-title {
	color: #004f9c;
	color: var(--main-color);
	font-weight: 700;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#site-footer .footer-nav-main .footmenu-title::before {
	padding-right: 0;
}

#site-footer .footer-nav-main .bnr-area {
	max-width: 50%;
	padding-top: calc(10px * 4);
	padding-top: calc(var(--margin) * 4);
}

#site-footer .footer-nav-main .bnr-area a {
	border-radius: 20px;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.08);
	box-shadow: var(--boxshadow);
	display: block;
	overflow: hidden;
}

#site-footer .footer-nav-main .menu-medical {
	flex-wrap: wrap;
	gap: 10px;
	gap: var(--margin);
	margin: 0 auto;
	white-space: nowrap;
}

#site-footer .footer-nav-main .menu-medical > li {
	flex-shrink: 0;
	line-height: 1;
	width: calc((100% - 10px * 4) / 5);
	width: calc((100% - var(--margin) * 4) / 5);
}

#site-footer .footer-nav-main .menu-medical > li > a {
	background: #fff;
	background: var(--base-color);
	color: #004f9c;
	color: var(--main-color);
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	padding: 1em;
	text-align: left;
	width: 100%;
}

#site-footer .footer-nav-main .menu-other {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

#site-footer .footer-nav-main .menu-other .footmenu-title {
	margin-bottom: 0;
}

#site-footer .about-li {
	align-items: stretch;
	gap: 1.6666%;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#site-footer .about-li > li {
	background: #fff;
	background: var(--base-color);
	color: #004f9c;
	color: var(--main-color);
	display: flex;
	flex-direction: column;
	padding: calc(10px * 2) calc(10px * 3);
	padding: calc(var(--margin) * 2) calc(var(--margin) * 3);
	width: 23.75005%;
}

#site-footer .about-li > li h3 {
	font-size: 14px;
	font-size: var(--fs-m);
	margin-bottom: 1em;
}

#site-footer .about-li > li a {
	color: #004f9c;
	color: var(--main-color);
}

#site-footer .about-li > li .address {
	line-height: 1.6;
	margin-bottom: 1em;
}

#site-footer .about-li > li .tell {
	margin-top: auto;
}

#site-footer .about-li-noimg > li > a {
	color: #004f9c;
	color: var(--main-color);
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

#site-footer .sns-nav {
	gap: calc(10px * 3);
	gap: calc(var(--margin) * 3);
}

#site-footer .footer-btm {
	background: #004f9c;
	background: var(--main-color);
	color: #fff;
	color: var(--base-color);
	line-height: 1.4;
	padding: calc(10px * 3) 0;
	padding: calc(var(--margin) * 3) 0;
}

#site-footer .footer-btm .copyright {
	font-size: 12px;
	font-size: var(--fs-xs);
	font-weight: 700;
}

#site-footer .footer-btm .nav-btm a {
	color: #fff;
	color: var(--base-color);
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 700;
}

#site-footer .footer-btm .nav-btm li {
	margin-right: 1em;
	position: relative;
}

#site-footer .footer-btm .nav-btm li::before {
	background: #fff;
	background: var(--base-color);
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: -0.5em;
	top: 0;
	width: 1px;
}

#site-footer .footer-btm .nav-btm li:last-child::before {
	display: none;
}

/*END　フッター*/

/*TOPへ*/

.totop {
	max-width: 61px;
	position: fixed;
	right: 30px;
	width: 4.23cqw;
	z-index: 999;
}

/*ヘッダー*/

#header {
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2000; /*Gtranslate*/
}

#header .bg {
	background: #fff;
	background: var(--base-color);
	border-bottom: solid 1px #ededed;
	border-bottom: solid 1px var(--line-color);
	height: 100%;
	padding-top: calc(10px * 2);
	padding-top: calc(var(--margin) * 2);
}

#header .bg > .inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1440px;
	padding: 0 36px;
	width: 100%;
}

#header .site-branding {
	line-height: 1;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
	width: 346px;
}

#header .lang {
	align-items: center;
	display: grid;
	justify-items: center;
	margin-left: 45px;
	margin-right: 15px;
	padding-left: 14px;
	place-items: center;
	position: relative;
}

#header .lang::after {
	background: left center/100% 100% no-repeat url("../images/common/head-lang-icon.webp");
	bottom: 0;
	content: "";
	display: block;
	height: 13.67px;
	left: 0;
	margin: auto 0;
	position: absolute;
	top: 0;
	width: 13.67px;
}

#header .gtranslate_wrapper {
	position: relative;
}

#header .gtranslate_wrapper::after {
	background: left center/100% 100% no-repeat url("../images/common/icon-arrow-nv-down.svg");
	background: var(--icon-arrow-nv-down-bg-ab);
	bottom: 0;
	content: "";
	display: block;
	height: 6px;
	height: var(--icon-arrow-nv-down-h);
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 10px;
	width: var(--icon-arrow-nv-down-w);
}

#header .gt_selector {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #004f9c;
	color: var(--main-color);
	font-size: 13px;
	font-size: var(--fs-s);
	padding: 0 1em 0 0.5em;
}

/*グローバルナビ*/

.main-navigation {
	white-space: nowrap;
	width: 80%; /*サブナビ（院名・言語・検索）*/ /*メインメニュー*/ /*診療案内メニュー*/ /*人間ドックメニュー*/
}

.main-navigation .nav-menu-sub {
	align-items: center;
	display: flex;
	font-size: 13px;
	font-size: var(--fs-s);
	justify-content: flex-end;
	margin: 0 auto;
}

.main-navigation .nav-menu-sub > li {
	padding: 0 0.25em;
}

.main-navigation .nav-menu-sub > li::after {
	content: "/";
	position: absolute;
	right: -0.7em;
	top: 0;
}

.main-navigation .nav-menu-sub > li.delim {
	margin-right: 1em;
	position: relative;
}

.main-navigation .nav-menu-sub .search-popup {
	align-items: center;
	background: rgba(0, 0, 0, 0.6);
	bottom: 0;
	display: none;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}

.main-navigation .nav-menu-sub .search-popup.active {
	display: flex;
}

.main-navigation .nav-menu-sub .search-popup-inner {
	background: #fff;
	border-radius: 8px;
	max-width: 500px;
	padding: 30px;
	position: relative;
	width: 90%;
}

.main-navigation .nav-menu-sub .search-popup form {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.main-navigation .nav-menu-sub .search-popup input {
	background: #f5f8fa;
	background: var(--sub-color);
	width: 90%;
}

.main-navigation .nav-menu-sub .search-close {
	background: none;
	border: none;
	color: #fff;
	color: var(--base-color);
	cursor: pointer;
	font-size: 28px;
	font-size: var(--fs-9l);
	position: absolute;
	right: 10px;
	top: calc(10px * -5);
	top: calc(var(--margin) * -5);
}

.main-navigation .nav-menu-sub .search-trigger {
	cursor: pointer;
}

.main-navigation ul.nav-menu {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin: 0 auto;
}

.main-navigation ul.nav-menu > li {
	line-height: 1;
	margin: 0 0.5em;
}

.main-navigation ul.nav-menu > li > a {
	box-sizing: border-box;
	color: #333;
	color: var(--txt-color);
	display: block;
	font-size: 16px;
	font-size: var(--fs-ll);
	font-weight: 700;
	height: 100%;
	padding: 27px 0;
	text-align: center;
}

.main-navigation ul.nav-menu > li.has-submenu > a {
	background: right center/10px 6px no-repeat url("../images/common/icon-arrow-nv-down.svg");
	background: var(--icon-arrow-nv-down-bg);
	padding: 27px 1em 27px 0;
}

.main-navigation ul.nav-menu > li.has-submenu .submenu-toggle {
	display: none;
}

.main-navigation ul.nav-menu .submenu-box {
	background: #fff;
	background: var(--base-color);
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	opacity: 0;
	position: absolute;
	transform: translateY(100%);
	transition: 0.3s;
	transition: var(--transition);
	visibility: hidden;
	width: 100%;
	z-index: -1;
}

.main-navigation .submenu-box > .inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1200px;
	max-width: var(--contentmxwidth);
	padding: 60px calc(10px * 2);
	padding: 60px calc(var(--margin) * 2);
	width: 100%;
}

.main-navigation .submenu-title {
	color: #004f9c;
	color: var(--main-color);
	margin: 0 auto 50px;
	white-space: nowrap;
}

.main-navigation .submenu-title-medical {
	pointer-events: none;
}

.main-navigation .submenu-medical {
	flex-wrap: wrap;
	gap: 35px 2%;
	margin: 0 auto;
	white-space: nowrap;
}

.main-navigation .submenu-medical li {
	flex-shrink: 0;
	width: 15%;
}

.main-navigation .submenu-medical a {
	border-bottom: solid 1px #ededed;
	border-bottom: solid 1px var(--line-color);
	color: #333;
	color: var(--txt-color);
	font-size: 18px;
	font-size: var(--fs-4l);
	font-weight: 500;
	gap: 5%;
	padding-bottom: 0.5em;
	text-align: left;
	width: 100%;
}

.main-navigation .submenu-medical a .img {
	width: 20%;
}

.main-navigation .submenu-dock {
	align-items: flex-start;
	gap: 1em 7.505%;
	white-space: normal;
}

.main-navigation .submenu-dock > li {
	line-height: 1.6;
	line-height: var(--line-height);
	width: 28.33%;
}

.main-navigation .submenu-dock .submenu-title {
	margin-bottom: calc(10px * 3.5);
	margin-bottom: calc(var(--margin) * 3.5);
}

.main-navigation .submenu-dock .tell {
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

.main-navigation .submenu-dock .reception-box {
	color: #004f9c;
	color: var(--main-color);
	font-size: 13px;
	font-size: var(--fs-s);
	font-weight: 500;
	margin-bottom: 1em;
}

.main-navigation .submenu-dock .reception-box .note > li {
	padding-left: 1.1em;
	position: relative;
}

.main-navigation .submenu-dock .reception-box .note > li::before {
	content: "※";
}

.main-navigation .submenu-dock .depts li {
	display: inline-block;
	font-size: 13px;
	font-size: var(--fs-s);
	padding-right: 1em;
	position: relative;
}

.main-navigation .submenu-dock .depts li::after {
	content: "/";
	position: absolute;
	right: 0.2em;
	top: 0;
}

.main-navigation .submenu-dock .depts li:last-child::after {
	display: none;
}

/*ハンバーガーメニュー*/

#toggle {
	display: none;
}

/*END ヘッダー*/

/* ========================================
  診療案内配下（menu.css 体系）
  肛門科ページ page-hemo.php ほか /medical/ 配下
======================================== */

/* ========================================
  FV
======================================== */

.p-hemo-fv {
	font-feature-settings: "palt" 1;
	padding-bottom: 4.1875rem;
	padding-top: 5.0625rem;
	position: relative;
}

.p-hemo-fv__bg {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-hemo-fv__bg::after {
	background: linear-gradient(to right, #fff 0%, #fff 30%, rgba(255, 255, 255, 0) 60%);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-hemo-fv__bg-img {
	-o-object-fit: cover;
	-o-object-position: right center;
	height: 100%;
	object-fit: cover;
	object-position: right center;
	width: 100%;
}

.p-hemo-fv__inner {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-hemo-fv__title {
	color: #1a2433;
	font-family: "Noto Serif JP", serif;
	font-size: 4rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-fv__title-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-hemo-fv__title-particle {
	font-size: 2.5rem;
}

.p-hemo-fv__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	line-height: 1.6;
	margin-top: 1rem;
}

.p-hemo-fv__results {
	margin-top: 1rem;
}

.p-hemo-fv__results-label {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	gap: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 3.625rem;
}

.p-hemo-fv__results-label::before,
.p-hemo-fv__results-label::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	height: 1px;
	opacity: 0.5;
	width: 2.5rem;
}

.p-hemo-fv__totals {
	display: flex;
	margin-top: 1.0625rem;
}

.p-hemo-fv__total {
	text-align: center;
}

.p-hemo-fv__total:nth-child(2) {
	margin-left: 1.5rem;
	padding-left: 1.5rem;
}

.p-hemo-fv__total-label {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.p-hemo-fv__total-num {
	-webkit-background-clip: text;
	background: linear-gradient(160deg, #55a6f9 6%, #0f58a6 59%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	line-height: 1;
}

/* スロットアニメ有効時、各桁は overflow:hidden の子spanに入り親の background-clip:text が効かず
   透明のまま消えるため、桁セルにもグラデーション文字を適用する（fix.md[2]） */

.p-hemo-fv__total-num .p-dock-slot-strip > span,
.p-hemo-fv__stat-num .p-dock-slot-strip > span {
	-webkit-background-clip: text;
	background: linear-gradient(160deg, #55a6f9 6%, #0f58a6 59%);
	background-clip: text;
	color: transparent;
}

.p-hemo-fv__total-unit {
	-webkit-background-clip: text;
	background: linear-gradient(160deg, #55a6f9 6%, #0f58a6 59%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.p-hemo-fv__stats {
	display: flex;
	margin-top: 2.5rem;
}

.p-hemo-fv__stat {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	text-align: center;
}

.p-hemo-fv__stat:first-child {
	padding-left: 0;
}

.p-hemo-fv__stat:not(:last-child) {
	border-right: 1px solid #004fa2;
	border-right: 1px solid var(--main-color02);
}

.p-hemo-fv__stat-label {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.p-hemo-fv__stat-value {
	margin-top: 0;
}

.p-hemo-fv__stat-num {
	-webkit-background-clip: text;
	background: linear-gradient(160deg, #55a6f9 6%, #0f58a6 59%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	line-height: 1;
}

.p-hemo-fv__stat-unit {
	-webkit-background-clip: text;
	background: linear-gradient(160deg, #55a6f9 6%, #0f58a6 59%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

/* FV内アンカー（共通 p-clinic-anchor の上書き） */

.p-hemo-fv__anchor {
	margin-top: 6.6875rem;
	position: relative;
	z-index: 10;
}

.clinic-hemo .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 0;
}

/* 5列固定だと幅が足りない時にボタンが潰れるため、最小幅を確保して溢れたら折り返す（fix.md[1]） */

.clinic-hemo .p-clinic-anchor__list {
	gap: 0.875rem;
	grid-template-columns: repeat(auto-fit, minmax(14.25rem, 1fr));
}

/* テキストは自然幅で伸ばし、矢印を右端に寄せる（固定160px幅による矢印の中間浮きを解消・fix.md[1]） */

.clinic-hemo .p-clinic-anchor__link > :first-child:not(.p-clinic-anchor__icon),
.clinic-hemo .p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

/* 矢印は人間ドック（.p-dock-kv__nav-icon）を踏襲し、丸い白背景アイコンにする */

.clinic-hemo .p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	font-weight: 900;
	height: 2rem;
	justify-items: center;
	margin-left: auto;
	place-items: center;
	width: 2rem;
}

/* ========================================
  MESSAGE（患者さまへのメッセージ）
======================================== */

.p-hemo-message {
	padding-top: 7.5rem;
}

.p-hemo-message__inner {
	margin-left: auto;
	margin-right: auto;
	width: min(75rem, 100% - 3.75rem);
}

.p-hemo-message__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1.0625rem;
	letter-spacing: 0.035em;
	line-height: 1.7647058824;
	margin-top: 1.25rem;
	text-align: center;
}

.p-hemo-message__strong {
	font-weight: 500;
}

.p-hemo-message__em {
	color: #004f9c;
	color: var(--main-color);
}

/* ========================================
  PLOBLEM（こんな症状はありませんか？）
======================================== */

.p-hemo-problem {
	margin-top: 7.5rem;
	overflow-x: clip;
	position: relative;
}

.p-hemo-problem__bg {
	height: auto;
	left: -6.75rem;
	max-width: none;
	mix-blend-mode: multiply;
	position: absolute;
	top: 1.5625rem;
	width: 109.5625rem;
	z-index: 0;
}

.p-hemo-problem__inner {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-hemo-problem__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	line-height: 2;
	margin-top: 1.25rem;
	text-align: center;
}

.p-hemo-problem__cards {
	grid-gap: 1.25rem 1.125rem;
	display: grid;
	gap: 1.25rem 1.125rem;
	grid-template-columns: repeat(3, 18rem);
	justify-content: center;
	margin-top: 3.75rem;
}

.p-hemo-problem__card {
	align-items: center;
	background: #fff;
	border-radius: 0.25rem;
	display: flex;
	filter: drop-shadow(0 0.25rem 0.625rem rgba(0, 0, 0, 0.08));
	flex-direction: column;
	justify-content: center;
	min-height: 13.75rem;
	padding: 0.625rem;
}

.p-hemo-problem__card-icon {
	align-items: center;
	display: flex;
	height: 3.75rem;
	justify-content: center;
}

.p-hemo-problem__card-icon img {
	max-height: 100%;
	width: auto;
}

.p-hemo-problem__card-title {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.125rem;
	letter-spacing: 0.033em;
	line-height: 1.5;
	margin-top: 0.5rem;
	text-align: center;
}

.p-hemo-problem__card-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.03em;
	line-height: 1.7;
	margin-top: 0.625rem;
	text-align: center;
}

.p-hemo-problem__band {
	font-feature-settings: "palt" 1;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #eef8ff 13%, #e0f0fb 81%, rgba(255, 255, 255, 0) 98%);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	padding-bottom: 1rem;
	padding-top: 1rem;
	position: relative;
	text-align: center;
	width: min(74.75rem, 100%);
	z-index: 10;
}

.p-hemo-problem__band-em {
	color: #004fa2;
	color: var(--main-color02);
}

/* ========================================
  予約CTA（本院/新宿タブ切替）
======================================== */

.p-hemo-cta {
	font-feature-settings: "palt" 1;
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.p-hemo-cta__panel {
	background: #f1f3f6;
	margin-left: auto;
	margin-right: auto;
	padding: 4rem 5rem;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-hemo-cta__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-hemo-cta__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

.p-hemo-cta__tabs {
	display: flex;
	gap: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	width: min(65rem, 100%);
}

.p-hemo-cta__tab {
	align-items: center;
	background-clip: padding-box;
	border-bottom: 0.25rem solid #f1f3f6;
	border-radius: 0.25rem 0.25rem 0 0;
	color: #fff;
	display: flex;
	flex: 1;
	flex-direction: column;
	font-size: 1.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 1.375rem 2.5rem;
	transition: opacity 0.3s;
}

.p-hemo-cta__tab:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: -0.25rem;
}

.p-hemo-cta__tab:not(.is-active) {
	opacity: 0.7;
}

/* アクティブ側は下ボーダーも自色で塗り、パネルと繋がって見せる */

.p-hemo-cta__tab--hachioji {
	background: #004fa2;
	background: var(--main-color02);
}

.p-hemo-cta__tab--hachioji.is-active {
	border-bottom-color: #004fa2;
	border-bottom-color: var(--main-color02);
}

.p-hemo-cta__tab--shinjuku {
	background: #cc716b;
}

.p-hemo-cta__tab--shinjuku.is-active {
	border-bottom-color: #cc716b;
}

.p-hemo-cta__tab-arrow {
	background: center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	flex-shrink: 0;
	height: 1.75rem;
	margin-top: 0.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

.p-hemo-cta__body {
	background: #fff;
	border: 1.5rem solid #004fa2;
	border: 1.5rem solid var(--main-color02);
	display: none;
	margin-left: auto;
	margin-right: auto;
	padding: 2.5rem 1.5rem;
	width: min(65rem, 100%);
}

.p-hemo-cta__body.is-active {
	display: block;
}

.p-hemo-cta__body--shinjuku {
	border-color: #cc716b;
}

/* 本文グレー帯・受付情報（p-dock-cta__info の上書き） */

.p-hemo-cta__body .p-dock-cta__info {
	background: #f1f3f6;
}

.p-hemo-cta__body .p-dock-cta__info-item:first-child {
	border-right: 0.0625rem solid #b0c9e3;
	border-right: 0.0625rem solid var(--second-color);
}

/* 新宿パネルのアクセント色 */

.p-hemo-cta__body--shinjuku .p-dock-cta__info-label,
.p-hemo-cta__body--shinjuku .p-hemo-cta__days,
.p-hemo-cta__body--shinjuku .p-clinic-cta__closed-em {
	color: #cc716b;
}

/* 新宿パネル: 受付情報エリアは薄ピンク地・区切り線もピンク（fix.md[1][2]） */

.p-hemo-cta__body--shinjuku .p-dock-cta__info {
	background: #fff4f3;
}

.p-hemo-cta__body--shinjuku .p-dock-cta__info-item:first-child {
	border-right-color: #cc716b;
}

/* 新宿パネル: 注記・予約方法見出しもピンク（fix.md[3][4]） */

.p-hemo-cta__body--shinjuku .p-hemo-cta__note {
	color: #cc716b;
}

.p-hemo-cta__body--shinjuku .p-hemo-cta__menu-title {
	color: #cc716b;
}

/* 本院パネル: 受付ラベルは青（fix.md[4][5]）／休診本文は黒・火・祝のみ closed-em で青（fix.md[6]） */

.p-hemo-cta__body--hachioji .p-dock-cta__info-label {
	color: #004fa2;
	color: var(--main-color02);
}

.p-hemo-cta__body--hachioji .p-dock-cta__info-closed {
	color: #444444;
	color: var(--txt-color02);
}

.p-hemo-cta__days {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-hemo-cta__notes {
	margin-top: 1.5rem;
}

.p-hemo-cta__note {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-hemo-cta__menu {
	margin-top: 2.625rem;
}

.p-hemo-cta__menu-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

/* テーブル幅の上書き（デザインPC960px・メニュー列220px / SPカンプ(4045:11004)は列120+80×3+140=500px） */

.p-hemo-cta__menu .p-clinic-cta__table {
	margin-top: 1.5rem;
	width: min(60rem, 100%);
}

.p-hemo-cta__menu .p-clinic-cta__table-menu {
	width: 13.75rem;
}

/* 備考列はSPカンプ(4045:11004)にのみ存在するためPC非表示 */

.p-hemo-cta__table-sp-remarks {
	display: none;
}

/* 新宿パネルのテーブル配色 */

.p-hemo-cta__body--shinjuku .p-clinic-cta__table {
	border-color: #cc716b;
}

.p-hemo-cta__body--shinjuku .p-clinic-cta__table thead th {
	background: #cc716b;
}

/* ========================================
  予約CTA（シンプル版・2026-07カンプ "contact"）
  キャッチコピー＋WEB/LINE予約ボタンのみ（template-parts/cta-hemo-simple.php）
======================================== */

.p-hemo-contact {
	font-feature-settings: "palt" 1;
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.p-hemo-contact__panel {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	padding: 4rem 5rem;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 12;
}

.p-hemo-contact__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-hemo-contact__buttons {
	display: flex;
	gap: 4.0625rem;
	justify-content: center;
}

.p-hemo-contact__button {
	align-items: center;
	border-radius: 0.25rem;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
	padding: 2rem 7.5rem;
	text-align: center;
	transition: opacity 0.3s;
}

.p-hemo-contact__button:focus-visible {
	outline: 0.125rem solid #fff;
	outline-offset: -0.25rem;
}

.p-hemo-contact__button--web {
	background: #004fa2;
	background: var(--main-color02);
}

.p-hemo-contact__button--line {
	background: #06c755;
}

.p-hemo-contact__button-main {
	align-items: center;
	display: flex;
	font-size: 1.5rem;
	gap: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	white-space: nowrap;
}

.p-hemo-contact__button-icon {
	flex-shrink: 0;
}

.p-hemo-contact__button-note {
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-contact__button-arrow {
	background: center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	flex-shrink: 0;
	height: 1.75rem;
	width: 1.75rem;
}

/* ========================================
  ABOUT（痔について）
======================================== */

.p-hemo-about {
	font-feature-settings: "palt" 1;
	overflow: hidden;
	padding-top: 2.5rem;
}

.p-hemo-about__items {
	margin-top: 2.5rem;
}

.p-hemo-about__item {
	align-items: center;
	display: flex;
	position: relative;
}

.p-hemo-about__item::before {
	background: linear-gradient(266deg, #eaf0f6 53%, rgba(252, 250, 244, 0.2) 98%);
	content: "";
	height: 30.0625rem;
	left: calc((100% - 75rem) / 2);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 53.4375rem;
	z-index: 0;
}

.p-hemo-about__item:not(:first-child) {
	margin-top: 5rem;
}

.p-hemo-about__item--reverse {
	flex-direction: row-reverse;
}

.p-hemo-about__item--reverse::before {
	background: linear-gradient(86deg, #eaf0f6 53%, rgba(252, 250, 244, 0.2) 98%);
	left: auto;
	right: calc((100% - 75rem) / 2);
}

.p-hemo-about__text-area {
	flex-shrink: 0;
	margin-left: calc((100% - 75rem) / 2);
	padding-bottom: 1rem;
	padding-top: 1rem;
	position: relative;
	width: 23.75rem;
	z-index: 10;
}

.p-hemo-about__item--reverse .p-hemo-about__text-area {
	margin-left: 0;
	margin-right: calc((100% - 75rem) / 2);
}

.p-hemo-about__label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	line-height: 2.1818181818;
	text-transform: uppercase;
}

.p-hemo-about__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-hemo-about__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.0357142857;
	margin-top: 0.5rem;
}

.p-hemo-about__text--lg {
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	line-height: 1.9;
}

.p-hemo-about__em {
	-webkit-text-decoration: underline;
	color: #004fa2;
	color: var(--main-color02);
	text-decoration: underline;
}

.p-hemo-arrow {
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 50%;
	display: block;
	height: 3.125rem;
	margin-top: 0.5rem;
	position: relative;
	transition: transform 0.3s;
	width: 3.125rem;
}

.p-hemo-arrow::after {
	background: url("../images/common/icon-arrow-wh-right.svg") no-repeat center/1rem auto;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.p-hemo-arrow:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-hemo-about__img-wrap {
	margin-left: auto;
	position: relative;
	width: min(60.4%, 55.625rem);
	z-index: 5;
}

.p-hemo-about__item--reverse .p-hemo-about__img-wrap {
	margin-left: 0;
	margin-right: auto;
}

.p-hemo-about__img {
	height: auto;
	width: 100%;
}

/* ========================================
  TYPES（痔の治療について）hemoページ調整
======================================== */

.p-hemo-types {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 5rem;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

/* カード見出しの行数差でリンク位置がずれるため、本文を伸ばしリンクを下端に揃える（fix.md[7]）
   .p-days-list は day-surgery の一覧を p-clinic-types__cards に置き換えたため同適用（FB 2026-08-05） */

.p-hemo-types .p-clinic-types__card,
.p-days-list .p-clinic-types__card {
	display: flex;
	flex-direction: column;
}

.p-hemo-types .p-clinic-types__body,
.p-days-list .p-clinic-types__body {
	flex: 1;
}

.p-hemo-types .p-clinic-types__link,
.p-days-list .p-clinic-types__link {
	margin-top: auto;
}

/* ========================================
  LINKS（関連リンクカード）
======================================== */

.p-hemo-links {
	font-feature-settings: "palt" 1;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
	width: min(75rem, 100% - 3.75rem);
}

/* SPカンプ(3:9766)は2列・アイコン+見出し+丸矢印の中央揃えカード（説明文なし） */

.p-hemo-links__cards {
	grid-gap: 0.75rem;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, 1fr);
}

.p-hemo-links__item {
	display: flex;
}

.p-hemo-links__card {
	background: #fff;
	border-radius: 0.25rem;
	box-shadow: 0 0 1.5rem rgba(17, 154, 239, 0.08);
	display: flex;
	flex-direction: column;
	min-height: 16.25rem;
	padding: 1.25rem;
	transition: opacity 0.3s;
	width: 100%;
}

.p-hemo-links__card:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-hemo-links__head {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.p-hemo-links__icon {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 2.8125rem;
	justify-content: center;
	width: 3.25rem;
}

.p-hemo-links__icon img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
}

.p-hemo-links__title {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	min-height: 3.4375rem;
}

.p-hemo-links__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 1.875rem;
	margin-top: 0.625rem;
}

.p-hemo-links__small {
	font-size: 0.625rem;
	letter-spacing: 0.08em;
}

.p-hemo-links__card .p-hemo-arrow {
	margin-top: auto;
}

/* ========================================
  FLOW（治療の流れ）
======================================== */

.p-hemo-flow {
	font-feature-settings: "palt" 1;
	padding-top: 7.5rem;
}

.p-hemo-flow__box {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	overflow: hidden;
	padding: 2.0625rem 3.25rem;
	position: relative;
}

.p-hemo-flow__bg {
	height: auto;
	position: absolute;
	right: 0;
	top: 2.0625rem;
	width: 57.625rem;
	z-index: 0;
}

.p-hemo-flow__inner {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: min(75rem, 100%);
	z-index: 10;
}

.p-hemo-flow__catch {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.08em;
	padding-top: 5rem;
}

.p-hemo-flow__catch-line {
	font-size: 1.75rem;
	line-height: 1.75;
}

.p-hemo-flow__catch-line--em {
	color: #004fa2;
	color: var(--main-color02);
	line-height: 1.4;
	margin-top: -1.25rem;
}

.p-hemo-flow__catch-num {
	font-size: 2.875rem;
}

.p-hemo-flow__steps {
	align-items: center;
	background: #fff;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 2.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.p-hemo-flow__step {
	align-items: center;
	background: #fff;
	display: flex;
	gap: 1.5rem;
	padding: 1.5rem 2rem;
	position: relative;
}

.p-hemo-flow__step:not(:last-child)::after {
	background: center/contain no-repeat url("../images/medical/hemo/flow_arrow_01.svg");
	content: "";
	height: 2.0625rem;
	position: absolute;
	right: -1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.9375rem;
	z-index: 10;
}

.p-hemo-flow__step-num {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 2rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

/* アイコンごとに幅が異なり番号・テキストの開始位置がずれるため、正方ボックスに収めて表示footprintを揃える（fix.md[8][9][10]） */

.p-hemo-flow__step-icon {
	-o-object-fit: contain;
	height: 3.5rem;
	object-fit: contain;
	width: 3.5rem;
}

.p-hemo-flow__step-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__step-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.1875rem;
}

.p-hemo-flow__band {
	align-items: center;
	background: #3479c0;
	display: flex;
	gap: 8.9375rem;
	margin-top: 2.5rem;
	padding: 0.75rem 4rem;
}

.p-hemo-flow__band-label {
	align-items: center;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	font-size: 1rem;
	gap: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__band-icon {
	height: 2rem;
	width: 2rem;
}

.p-hemo-flow__band-text {
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__panel {
	background: #fff;
	margin-top: 2.5rem;
	padding: 4rem 2.5rem;
}

.p-hemo-flow__panel-title {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 1.25rem;
	gap: 0.75rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__panel-title::before,
.p-hemo-flow__panel-title::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	height: 0.0625rem;
	opacity: 0.5;
	width: 7.5625rem;
}

/* 午前／午後で同じ構成を2回繰り返すため、2つめ以降の見出しだけ上に間隔を空ける。
   ScrollHintが .p-hemo-flow__timeline-scroll を .scroll-hint-shadow-wrap で包むので
   隣接セレクタ（+）は使えない */

.p-hemo-flow__panel-title:not(:first-child) {
	margin-top: 2.5rem;
}

.p-hemo-flow__timeline-scroll {
	margin-top: 1.5rem;
}

.p-hemo-flow__timeline {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 67.5rem;
}

.p-hemo-flow__times {
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 1.25rem;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 6.625rem;
	padding-right: 7.375rem;
}

.p-hemo-flow__line {
	background: #004fa2;
	background: var(--main-color02);
	height: 0.0625rem;
	margin-left: 8.3125rem;
	margin-right: 8.625rem;
	margin-top: 0.875rem;
	position: relative;
}

.p-hemo-flow__line::before,
.p-hemo-flow__line::after {
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 50%;
	content: "";
	height: 0.625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-hemo-flow__line::before {
	left: -0.3125rem;
}

.p-hemo-flow__line::after {
	right: -0.3125rem;
}

.p-hemo-flow__dur {
	background: #fff;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.5rem 0.75rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	z-index: 10;
}

.p-hemo-flow__dur--first {
	left: 8%;
}

.p-hemo-flow__dur--second {
	left: 38%;
}

.p-hemo-flow__schedule {
	grid-gap: 0.8125rem;
	display: grid;
	gap: 0.8125rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 3.25rem;
}

.p-hemo-flow__schedule-item {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 1.5rem;
	text-align: center;
}

.p-hemo-flow__schedule-num {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__schedule-title {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.875rem;
}

.p-hemo-flow__schedule-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.875rem;
}

.p-hemo-flow__points {
	grid-gap: 0.75rem;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, auto);
	justify-content: space-between;
	margin-top: 2.5rem;
}

.p-hemo-flow__point {
	align-items: flex-start;
	background: #fff;
	display: flex;
	gap: 0.625rem;
	padding: 1.5rem;
}

.p-hemo-flow__point-icon {
	flex-shrink: 0;
	height: 3.25rem;
	width: 3.25rem;
}

.p-hemo-flow__point-title {
	color: #000;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-flow__point-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.p-hemo-flow__btn-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

/* ========================================
  OBSERVATION（手術見学をご希望の医師へ）
======================================== */

.p-hemo-observation {
	font-feature-settings: "palt" 1;
	padding-bottom: 7.5rem;
	padding-top: 2.5rem;
}

.p-hemo-observation__box {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 2.0625rem;
	margin-left: auto;
	margin-right: auto;
	padding-right: 1.5rem;
	width: min(75rem, 100% - 3.75rem);
}

.p-hemo-observation__img {
	-o-object-fit: cover;
	aspect-ratio: 320/213;
	flex-shrink: 0;
	height: auto;
	object-fit: cover;
	width: 20rem;
}

.p-hemo-observation__title {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-hemo-observation__text {
	color: #000;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* ========================================
  keyvisual（あしらいリング 8個）配置 — 肛門科
  仕組み(.keyimg 回転出現)は module/_keyimg.scss。ここでは位置とサイズのみ。
  Figma PC 4049:12154 の image17〜24（大=右から見切れ / 小=左寄り内側）。
  ※2026-07最新カンプはリングのキャンバス絶対座標が旧カンプ(3:2685)と同一のまま
  　CTA短縮でページが縮んだため、セクションとの対応が旧カンプから1段ずつ下へズレている。
  　新カンプの見た目通り problem / results / hemo / hemo下端〜about に再アンカーした。
  リングは各セクションの背景写真・パネルより背面（白地でのみ見える）。
======================================== */

.clinic-hemo {
	overflow-x: clip;
}

.clinic-hemo .keyimg {
	z-index: -1;
}

.clinic-hemo .p-clinic-results {
	z-index: 11;
}

.clinic-hemo .p-clinic-results .keyimg {
	z-index: -20;
}

.clinic-hemo .p-clinic-hemo .keyimg {
	z-index: -30;
}

.clinic-hemo .p-hemo-about {
	position: relative;
	z-index: 11;
}

.keyvisual-hemo-01,
.keyvisual-hemo-03,
.keyvisual-hemo-05,
.keyvisual-hemo-07 {
	max-width: 70.875rem;
	width: 78.7vw;
}

.keyvisual-hemo-02,
.keyvisual-hemo-04,
.keyvisual-hemo-06,
.keyvisual-hemo-08 {
	max-width: 60.3125rem;
	width: 67vw;
}

.keyvisual-hemo-01 {
	right: -43vw;
	top: -69.75rem;
}

.keyvisual-hemo-02 {
	left: -39.8vw;
	top: -29.5rem;
}

.keyvisual-hemo-03 {
	right: -42vw;
	top: -50.3125rem;
}

.keyvisual-hemo-04 {
	left: -37vw;
	top: -3.25rem;
}

.keyvisual-hemo-05 {
	right: -49.8vw;
	top: 104.125rem;
}

.keyvisual-hemo-06 {
	left: -35.2vw;
	top: 37.75rem;
}

.keyvisual-hemo-07 {
	right: -47.4vw;
	top: 161.625rem;
}

.keyvisual-hemo-08 {
	left: -36.6vw;
	top: 157.25rem;
}

/* ========================================
  keyvisual SP（Figma 3:9263 準拠）
  SPカンプで可視の3個（痔の日帰り手術セクション）のみ表示し、他は非表示。
  サイズ 516/390 ≒ 132vw。topは第一次値（実機で微調整可）。
======================================== */

/* ========================================
  いぼ痔の手術ページ（/medical/hemo/hemorrhoids・page-hemorrhoids.php）
  新規セクションは p-ibo-* プレフィックス
======================================== */

/* ページ共通インナー */

.p-ibo-inner {
	margin-left: auto;
	margin-right: auto;
	width: min(75rem, 100% - 3.75rem);
}

/* ========================================
  FV（ページタイトル）
======================================== */

.p-ibo-fv {
	font-feature-settings: "palt" 1;
	align-items: center; /* FB: 英語表記＋タイトルは天地中央（padding-topの決め打ちをやめてflex中央寄せ） */
	display: flex;
	isolation: isolate; /* テキスト増加時にあふれないようmin-height（カンプ寸法320/252） */
	min-height: 20rem;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.p-ibo-fv__deco {
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -10;
}

.p-ibo-fv__deco-img {
	height: auto;
	max-width: none;
	position: absolute;
}

/* 書き出しPNGはブラーの滲み込み実寸。Figma実測座標からブラー余白ぶんを引いた位置に置く */

.p-ibo-fv__deco-img--pink {
	left: 17.4375rem;
	top: -44.8125rem;
	width: 155.125rem;
}

.p-ibo-fv__deco-img--green {
	left: -33.3125rem;
	top: -8.75rem;
	width: 67rem;
}

/* 背景の巨大英字（※backgroundショートハンド禁止・background-imageで指定） */

.p-ibo-fv__bgtext {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(90deg, rgba(216, 154, 124, 0.5) 0%, rgba(224, 255, 237, 0.5) 12.054%);
	color: white;
	font-family: "Cinzel", serif;
	font-size: 22.5rem;
	font-weight: 400;
	left: -18.0625rem;
	letter-spacing: -0.08em;
	line-height: 1.1111111111;
	mix-blend-mode: overlay;
	opacity: 0.5;
	position: absolute;
	top: 0.625rem;
	white-space: nowrap;
}

.p-ibo-fv__inner {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: min(75rem, 100% - 3.75rem);
	z-index: 10;
}

.p-ibo-fv__en {
	color: #7696b8;
	color: var(--third-color);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-ibo-fv__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.25rem;
}

/* タイトル末尾の「｜」はPCカンプのみ */

.p-ibo-fv__lead {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.077em;
	line-height: 1.75;
}

.p-ibo-fv__lead-small {
	font-size: 1rem;
	letter-spacing: 0.115em;
}

/* ========================================
  SELF CHECK（こんな症状はありませんか？）
======================================== */

.p-ibo-check {
	margin-top: 7.5rem;
}

.p-ibo-check__panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	margin-top: 2.5rem;
	padding: 5rem;
}

.p-ibo-check__media {
	max-width: 27.5rem;
}

.p-ibo-check__media img {
	-o-object-fit: cover;
	aspect-ratio: 440/375;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-check__body {
	flex: 1;
	margin-left: 2.5rem;
}

.p-ibo-check__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-check__card {
	background: #fff;
	background: var(--base-color);
	margin-top: 1.5rem;
	padding: 2.5rem;
}

.p-ibo-check__list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-ibo-check__item {
	font-feature-settings: "palt" 1;
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.75;
}

.p-ibo-check__icon {
	flex-shrink: 0;
	height: 0.9375rem;
	margin-right: 0.5rem;
	width: 0.9375rem;
}

/* ========================================
  ABOUT（いぼ痔（痔核）とは）
======================================== */

/* 左罫線付き小見出し（ページ内共通） */

.p-ibo-head {
	font-feature-settings: "palt" 1;
	border-left: 0.1875rem solid #004fa2;
	border-left: 0.1875rem solid var(--main-color02);
	color: #000000;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
}

.p-ibo-about {
	margin-top: 7.5rem;
}

.p-ibo-about--plain {
	background-color: #f5f7fa;
	margin-top: 7.5rem;
	padding: 7.5rem 0;
}

.p-ibo-about__panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 5rem 3.125rem;
}

.p-ibo-about__intro {
	align-items: flex-start;
	display: flex;
}

.p-ibo-about__media {
	flex-shrink: 0;
	max-width: 32.5rem;
	width: 32.5rem;
}

.p-ibo-about__media img {
	-o-object-fit: cover;
	aspect-ratio: 520/337;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-about__media video {
	aspect-ratio: 16/9;
	display: block;
	height: auto;
	width: 100%;
}

.p-ibo-about__body {
	margin-left: 2.75rem;
}

.p-ibo-about__body .p-ibo-about__text {
	margin-left: 0;
	margin-top: 1.0625rem;
}

.p-ibo-about__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 2.75rem;
	margin-top: 1.0625rem;
}

.p-ibo-about__block {
	margin-top: 3.125rem;
}

.p-ibo-about__block-text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

.p-ibo-about__cards {
	align-items: stretch;
	display: flex;
	gap: 2.5rem;
	margin-top: 1.875rem;
}

.p-ibo-about__card {
	background: #fff;
	background: var(--base-color);
	display: flex;
	flex: 1;
	flex-direction: column; /* 画像はカードの左右・下端まで全幅（カンプ準拠） */
	padding: 0.625rem 0 0;
}

/* 見出し＋説明の枠。テキスト量が増えても隣のカードと高さが揃うよう伸縮させ、画像は下端に固定 */

.p-ibo-about__card-head {
	flex: 1;
}

.p-ibo-about__card-title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-ibo-about__card-text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.625rem;
	max-width: 28rem;
}

.p-ibo-about__card-img {
	-o-object-fit: cover;
	aspect-ratio: 530/353;
	height: auto;
	margin-top: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-about__cause {
	align-items: flex-start;
	display: flex;
	margin-top: 1.25rem;
}

.p-ibo-about__cause-img {
	-o-object-fit: cover;
	aspect-ratio: 540/354;
	flex-shrink: 0;
	height: auto;
	object-fit: cover;
	width: 33.75rem;
}

.p-ibo-about__cause-text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 2.5rem;
}

/* ========================================
  STAGES（いぼ痔の進行度（重症度）と自覚症状）
======================================== */

.p-ibo-stages {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 7.5rem;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-ibo-stages__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-stages__table {
	border-collapse: collapse;
	margin-top: 2.5rem;
	width: 100%;
}

.p-ibo-stages__th {
	font-feature-settings: "palt" 1;
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #fff;
	border: 0.0625rem solid var(--base-color);
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-ibo-stages__th--img {
	width: 21.875rem;
}

.p-ibo-stages__th--grade {
	width: 7.5rem;
}

/* SPは縦積みのため2・3列目ヘッダー不要（.p-ibo-stages__table th の display:block より強い詳細度で消す） */

.p-ibo-stages__td {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	vertical-align: middle;
}

.p-ibo-stages__td--img {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 0.9375rem;
	text-align: center;
}

.p-ibo-stages__td--img img {
	-o-object-fit: cover;
	aspect-ratio: 320/199;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	width: 20rem;
}

.p-ibo-stages__td--grade {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 0.9375rem;
	text-align: center;
}

.p-ibo-stages__source {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-stages__meyasu {
	background: #fff;
	background: var(--base-color);
	margin-top: 2.5rem;
	padding: 3.125rem;
}

.p-ibo-stages__meyasu-text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

/* ========================================
  RISK（いぼ痔を放置するとどうなる？）
======================================== */

.p-ibo-risk {
	margin-top: 7.5rem;
}

.p-ibo-risk__panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 0.75rem;
	padding: 3.125rem 1.25rem;
}

.p-ibo-risk__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-ibo-risk__em {
	color: #004fa2;
	color: var(--main-color02);
}

/* ========================================
  METHOD（八王子クリニックのいぼ痔治療 クランプトレーザー法）
======================================== */

/* 見出し内などの括弧書き縮小テキスト（ページ内共通） */

.p-ibo-small {
	font-size: 0.6em;
}

.p-ibo-method {
	font-feature-settings: "palt" 1;
	isolation: isolate;
	margin-top: 7.5rem; /* 背景写真(823px)に白帯が重なるカンプ配置に合わせる */
	padding-top: 31.4375rem;
	position: relative;
	z-index: 0;
}

.p-ibo-method__bg {
	bottom: auto;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -10;
}

.p-ibo-method__bg img {
	-o-object-fit: cover;
	height: 51.4375rem;
	object-fit: cover;
	width: 100%;
}

/* 半透明白パネル。sec-head〜統計カードまでを内包する（カンプ準拠・左右paddingなし） */

.p-ibo-method__headwrap {
	-webkit-backdrop-filter: blur(3.75rem);
	backdrop-filter: blur(3.75rem);
	background: rgba(255, 255, 255, 0.6);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

/* パネル内の白ボックス（とは〜治療成績を内包） */

.p-ibo-method__body {
	padding: 3.125rem 3.125rem 0;
}

.p-ibo-method__body > .p-ibo-method__block:first-child {
	margin-top: 0;
}

.p-ibo-method__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-method__block {
	margin-top: 3.125rem;
}

.p-ibo-method__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

.p-ibo-method__link {
	-webkit-text-decoration: underline;
	color: #004fa2;
	color: var(--main-color02);
	text-decoration: underline;
}

.p-ibo-method__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-ibo-method__intro {
	align-items: flex-start;
	display: flex;
	margin-top: 1.25rem;
}

.p-ibo-method__media {
	flex-shrink: 0;
	width: 30.375rem;
}

.p-ibo-method__media img {
	-o-object-fit: cover;
	aspect-ratio: 486/259;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-method__intro-body {
	margin-left: 1.25rem;
	margin-top: 2rem;
}

.p-ibo-method__intro-list {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-method__intro-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-method__intro-note {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.75rem;
}

/* 3ステップカード（li間の▶はCSS三角形） */

.p-ibo-method__steps {
	display: flex;
	justify-content: space-between;
}

.p-ibo-method__step {
	background: #f5f7fa;
	background: var(--bg-blue);
	position: relative;
	width: 20rem;
	z-index: 0;
}

.p-ibo-method__step:not(:last-child)::after {
	border-bottom: 1.375rem solid transparent;
	border-left: 2rem solid #004fa2;
	border-left: 2rem solid var(--main-color02);
	border-top: 1.375rem solid transparent;
	content: "";
	position: absolute;
	right: -3.5rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

.p-ibo-method__step-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.75;
	padding: 0.625rem 0.5rem;
	text-align: center; /* SPは小書き（スリーパーツ法）も本文と同サイズ */
}

.p-ibo-method__step-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin: 0.625rem 0; /* 3カードの画像位置を揃えつつテキスト増加であふれないようmin-height */
	min-height: 8.75rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	text-align: center;
}

.p-ibo-method__step-img {
	-o-object-fit: cover;
	aspect-ratio: 320/198;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* 選ばれる理由カード */

.p-ibo-method__reasons {
	display: flex;
	gap: 1.5rem;
	margin-top: 1.25rem;
}

.p-ibo-method__reason {
	background: #f5f7fa;
	background: var(--bg-blue);
	flex: 1;
	padding: 2rem 1rem;
	text-align: center;
}

.p-ibo-method__reason-label {
	color: #004f9c;
	color: var(--main-color);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	letter-spacing: 0;
	line-height: 1;
}

.p-ibo-method__reason-num {
	color: #444444;
	color: var(--txt-color02);
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 2.25rem;
	line-height: 1.2;
	margin-top: 0.25rem;
}

.p-ibo-method__reason-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-ibo-method__reason-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: left;
}

.p-ibo-btnwrap {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

/* 長文ラベルのボタンはSPで幅固定＋両端配置（p-clinic-hemo__card-btn と同じ扱い） */

/* 治療成績 統計カード */

/* カードは内容フィット幅（カンプ322/378/375）。合計1123がコンテンツ幅1100を超えるぶんは
   カンプ同様に左右へ約12pxずつはみ出させて中央揃えにする */

.p-ibo-method__stats {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 1.25rem;
}

.p-ibo-method__stat {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-shrink: 0;
	gap: 1.5rem;
	padding: 2.5rem 1.5rem;
}

.p-ibo-method__stat-icon {
	-o-object-fit: cover;
	border-radius: 50%;
	flex-shrink: 0;
	height: 3.5rem;
	object-fit: cover;
	width: 3.5rem;
}

.p-ibo-method__stat-label {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

/* 数値と%は下端揃え・間隔4（カンプ準拠） */

.p-ibo-method__stat-value {
	align-items: flex-end;
	display: flex;
	gap: 0.25rem;
	white-space: nowrap;
}

.p-ibo-method__stat-num { /* カウントアップ中も桁の描画幅を一定にする */
	font-feature-settings: "tnum";
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.3333333333;
}

.p-ibo-method__stat-unit {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	line-height: 1.75;
}

/* ========================================
  COMPARE（他の治療法との比較）
======================================== */

.p-ibo-compare {
	font-feature-settings: "palt" 1; /* METHODの半透明パネル下端（padding-bottom）に直接続くカンプ配置（PC/SPとも） */
	margin-top: 0;
}

.p-ibo-compare__panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 5rem 1.75rem;
}

.p-ibo-compare__intro {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	max-width: 41.25rem;
	text-align: center;
}

.p-ibo-compare__intro--second {
	margin-top: 1.75rem;
	max-width: none;
}

.p-ibo-compare__intro-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-ibo-compare__cols {
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 66.25rem;
}

.p-ibo-compare__col {
	flex: 1;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.p-ibo-compare__col:first-child {
	padding-left: 0;
}

.p-ibo-compare__col:last-child {
	padding-right: 0;
}

.p-ibo-compare__col + .p-ibo-compare__col {
	border-left: 0.0625rem solid #99b8d9;
}

.p-ibo-compare__col-img {
	-o-object-fit: cover;
	aspect-ratio: 300/160;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-compare__col-label {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

.p-ibo-compare__col-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

/* 一般的な切除との違い */

.p-ibo-compare__diff {
	margin-top: 5rem;
}

.p-ibo-compare__diff-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-ibo-compare__diff-panels {
	display: flex;
	gap: 1.8125rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-ibo-compare__diff-panel {
	width: 32.8125rem;
}

.p-ibo-compare__diff-head {
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-bottom: 0.25rem;
	padding-top: 0.25rem;
	text-align: center;
}

.p-ibo-compare__diff-head--gray {
	background: #e7e7e7;
	color: #444444;
	color: var(--txt-color02);
}

.p-ibo-compare__diff-head--blue {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	color: var(--base-color);
}

.p-ibo-compare__diff-body {
	background: #fff;
	background: var(--base-color);
	padding: 1.5rem 3.875rem 2.5rem;
	text-align: center;
}

.p-ibo-compare__diff-body img {
	-o-object-fit: cover;
	aspect-ratio: 400/250;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-compare__diff-arrow {
	border-left: 1.5rem solid transparent;
	border-right: 1.5rem solid transparent;
	border-top: 1.25rem solid #004fa2;
	border-top: 1.25rem solid var(--main-color02);
	display: block;
	height: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.6875rem;
	width: 0;
}

.p-ibo-compare__diff-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-ibo-compare__diff-panel:nth-of-type(2) {
	color: #004f9c;
	color: var(--main-color);
}

/* クランプトレーザー法側の説明文は青文字 */

.p-ibo-compare__diff-panel:nth-of-type(2) .p-ibo-compare__diff-text {
	color: #004fa2;
	color: var(--main-color02);
}

.p-ibo-compare__diff-text + img {
	margin-top: 0.75rem;
}

/* 比較表 */

.p-ibo-compare__tablewrap { /* diff-bodyのpadding-bottom 40（FB指示）を青背景ギャップに食い込ませ、全体リズムを維持 */
	margin-top: 2.5rem;
}

.p-ibo-compare__table-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-ibo-compare__table-scroll {
	margin-top: 1.5rem;
}

.p-ibo-compare__table {
	border-collapse: collapse; /* データ4列を均等幅にする（カンプ: ラベル170+242×4） */
	table-layout: fixed;
	width: 100%;
}

.p-ibo-compare__table th,
.p-ibo-compare__table td {
	border: 0.0625rem solid #ccc;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.75;
	padding: 0.9375rem;
	text-align: center;
	vertical-align: middle;
}

/* 1行目（内容）はテキスト量が多く長さも揃わないため上揃え */

.p-ibo-compare__table tbody tr:first-child td {
	vertical-align: top;
}

.p-ibo-compare__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border-color: #fff;
	border-color: var(--base-color);
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 1.2;
	padding: 0.9375rem 0.125rem;
}

.p-ibo-compare__table thead th .p-ibo-small {
	font-size: 1rem;
}

.p-ibo-compare__table-blank {
	width: 10.625rem;
}

.p-ibo-compare__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	font-weight: 400;
	width: 10.625rem;
}

.p-ibo-compare__table tbody td {
	background: #fff;
	background: var(--base-color);
	color: #444444;
	color: var(--txt-color02);
}

/* CO2レーザーメスの特徴 */

.p-ibo-compare__co2 {
	margin-top: 5rem;
}

.p-ibo-compare__co2-grid {
	grid-column-gap: 1.5rem;
	-moz-column-gap: 1.5rem;
	grid-row-gap: 1.5rem;
	align-items: start;
	column-gap: 1.5rem;
	display: grid;
	grid-template-columns: 30.3125rem 1fr;
	margin-top: 1.5rem;
	row-gap: 1.5rem;
}

.p-ibo-compare__co2-media img {
	-o-object-fit: cover;
	aspect-ratio: 485/303;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* SP縦積み時、01ブロックと02ブロック（次の画像）の間は24px */

.p-ibo-compare__co2-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-compare__co2-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* ========================================
  CASES（クランプトレーザー法の症例写真）
======================================== */

.p-ibo-cases {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-ibo-cases__list {
	margin-top: 2.5rem;
}

.p-ibo-cases__item {
	border-bottom: 0.0625rem solid #004fa2;
	border-bottom: 0.0625rem solid var(--main-color02);
	padding: 1.5rem 1.5rem 2.5rem;
}

.p-ibo-cases__head {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	cursor: pointer;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: left;
	transition: opacity 0.3s;
	width: 100%;
}

.p-ibo-cases__head:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* 開閉アイコン（＋/×は1要素の回転で切替） */

.p-ibo-cases__icon {
	flex-shrink: 0;
	height: 1.75rem;
	margin-left: 1rem;
	position: relative;
	transition: transform 0.3s;
	width: 1.75rem;
	z-index: 0;
}

.p-ibo-cases__icon::before,
.p-ibo-cases__icon::after {
	background: #004fa2;
	background: var(--main-color02);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	z-index: 0;
}

.p-ibo-cases__icon::before {
	height: 0.25rem;
	transform: translate(-50%, -50%);
	width: 1.5rem;
}

.p-ibo-cases__icon::after {
	height: 1.5rem;
	transform: translate(-50%, -50%);
	width: 0.25rem;
}

.p-ibo-cases__item.is-open .p-ibo-cases__icon {
	transform: rotate(45deg);
}

.p-ibo-cases__desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-ibo-cases__photos {
	grid-gap: 0.625rem;
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 1.5rem;
}

/* タイル全体を薄青背景で囲む（カンプ準拠） */

.p-ibo-cases__photo {
	background: #f5f7fa;
	background: var(--bg-blue); /* 1frグリッドが画像実寸でmin-content膨張しないようにする */
	min-width: 0;
	padding-bottom: 1.25rem;
}

.p-ibo-cases__photo img {
	-o-object-fit: cover;
	aspect-ratio: 269/200;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-cases__photo-label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin: 1.5rem 1.25rem 0;
	padding: 0.1875rem 0;
}

.p-ibo-cases .p-ibo-btnwrap {
	margin-top: 3rem;
}

/* ----------------------------------------
  症例写真の手術動画トリガー（写真の上に再生アイコン＋ラベル）
---------------------------------------- */

.p-ibo-cases__movie {
	cursor: pointer;
	display: block; /* buttonの初期paddingを消して他の写真セルと同じ寸法にそろえる */
	padding: 0;
	position: relative;
	width: 100%;
}

.p-ibo-cases__movie:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-ibo-cases__movie-icon {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.9);
	border: 0.0625rem solid #004fa2;
	border: 0.0625rem solid var(--main-color02);
	border-radius: 50%;
	display: flex;
	height: 4rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s;
	width: 4rem; /* 再生の三角（CSSのみ・右に1px寄せて光学的な中央に） */
}

.p-ibo-cases__movie-icon::before {
	border-bottom: 0.5625rem solid transparent;
	border-left: 0.9375rem solid #004fa2;
	border-left: 0.9375rem solid var(--main-color02);
	border-top: 0.5625rem solid transparent;
	content: "";
	margin-left: 0.25rem;
	transition: border-left-color 0.3s;
}

.p-ibo-cases__movie-label {
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 0.125rem;
	bottom: 0.75rem;
	color: #fff;
	font-size: 0.875rem;
	left: 50%;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.25rem 0.875rem;
	position: absolute;
	transform: translateX(-50%);
	white-space: nowrap;
}

/* ----------------------------------------
  手術動画モーダル
---------------------------------------- */

.p-ibo-modal {
	align-items: center;
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	padding: 2.5rem 1.25rem;
	position: fixed;
	right: 0;
	top: 0; /* 固定ヘッダー(2000)より前面。検索ポップアップ(9999)には譲る */
	z-index: 9000;
}

.p-ibo-modal[hidden] {
	display: none;
}

/* 背景（クリックで閉じる）。紺寄りの暗幕でサイトのトンマナに合わせる */

.p-ibo-modal__bg {
	background: rgba(0, 25, 51, 0.85);
	bottom: 0;
	cursor: pointer;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.p-ibo-modal__content {
	background: #fff;
	border-radius: 0.25rem;
	padding: 1.5rem;
	position: relative;
	width: min(45rem, 100%);
	z-index: 10;
}

.p-ibo-modal__video {
	background: #000;
	display: block;
	height: auto;
	max-height: calc(100vh - 12.5rem);
	width: 100%;
}

.p-ibo-modal__close {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	border-radius: 7.5rem;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	gap: 0.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin: 1.25rem auto 0;
	padding: 0.625rem 2rem;
	transition: opacity 0.3s;
}

.p-ibo-modal__close:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* ×アイコン（CSSのみ） */

.p-ibo-modal__close-icon {
	height: 0.75rem;
	position: relative;
	width: 0.75rem;
}

.p-ibo-modal__close-icon::before,
.p-ibo-modal__close-icon::after {
	background: #fff;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 50%;
	width: 100%;
}

.p-ibo-modal__close-icon::before {
	transform: rotate(45deg);
}

.p-ibo-modal__close-icon::after {
	transform: rotate(-45deg);
}

/* ========================================
  COST（いぼ痔手術の費用）
======================================== */

.p-ibo-cost {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 7.5rem;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-ibo-cost__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-cost__table {
	border-collapse: collapse;
	margin-top: 2.5rem;
	width: 100%;
}

.p-ibo-cost__th {
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #fff;
	border: 0.0625rem solid var(--base-color);
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-ibo-cost__th--label {
	width: 10.625rem;
}

.p-ibo-cost__td {
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
	vertical-align: middle;
}

.p-ibo-cost__td--label {
	background: #f5f7fa;
	background: var(--bg-blue);
}

.p-ibo-cost__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

/* ========================================
  LIFESTYLE（いぼ痔の予防・再発を防ぐ生活習慣）
======================================== */

.p-ibo-lifestyle {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-ibo-lifestyle__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-lifestyle__panel {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	margin-top: 2.5rem;
	padding: 5rem;
}

.p-ibo-lifestyle__media {
	flex-shrink: 0;
	width: 32.5rem;
}

.p-ibo-lifestyle__media img {
	-o-object-fit: cover;
	aspect-ratio: 520/337;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-lifestyle__card {
	background: #fff;
	background: var(--base-color);
	flex: 1;
	margin-left: 2.5rem;
	padding: 2.5rem;
}

.p-ibo-lifestyle__list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-ibo-lifestyle__item {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-lifestyle__icon {
	flex-shrink: 0;
	height: 0.9375rem;
	margin-right: 0.5rem;
	width: 0.9375rem;
}

/* ========================================
  FAQ（共通 p-dock-faq のいぼ痔ページ用余白調整）
======================================== */

.clinic-hemorrhoids .p-dock-faq {
	padding-bottom: 0;
	padding-top: 15.25rem;
}

/* ========================================
  FLOW（いぼ痔の日帰り手術の流れ）
======================================== */

.p-ibo-flow {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 7.5rem;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-ibo-flow__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-ibo-flow__list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.p-ibo-flow__item {
	align-items: flex-start;
	background: #fff;
	background: var(--base-color);
	display: flex;
	padding: 2.5rem 3.375rem;
}

.p-ibo-flow__media {
	flex-shrink: 0;
	width: 32.5rem;
}

.p-ibo-flow__media img {
	-o-object-fit: cover;
	aspect-ratio: 520/240;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-flow__body {
	margin-left: 2.5rem;
}

.p-ibo-flow__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-flow__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* ========================================
  DOCTOR（監修医師・治療実績）
======================================== */

.p-ibo-doctor {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-ibo-doctor__grid {
	align-items: flex-start;
	display: flex;
	margin-top: 2.5rem;
}

.p-ibo-doctor__media {
	flex-shrink: 0;
	width: 26.5625rem;
}

.p-ibo-doctor__media img {
	-o-object-fit: cover;
	aspect-ratio: 425/341;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ibo-doctor__body {
	flex: 1;
	margin-left: 3rem;
}

.p-ibo-doctor__profile {
	align-items: flex-start;
	display: flex;
}

.p-ibo-doctor__label {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-doctor__name {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-doctor__titles {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 5rem;
}

.p-ibo-doctor__titles-small {
	font-size: 0.625rem;
}

.p-ibo-doctor__catch {
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-ibo-doctor__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-ibo-doctor__foot {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin-top: 1.5rem;
}

.p-ibo-doctor__date {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ibo-doctor__link {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 1.5rem;
	transition: opacity 0.3s;
}

.p-ibo-doctor__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-ibo-doctor__link img {
	margin-left: 1.5rem;
	transition: transform 0.3s;
}

/* いぼ痔ページのCTA上マージン（カンプはDOCTOR直下に密着。内部padding-block 80が余白になる） */

.clinic-hemorrhoids .p-hemo-cta {
	margin-top: 0;
}

/* いぼ痔ページ: 英ラベルが長くSPで折り返すため分割アニメなし。サイズはカンプ実測14/行高14 */

/* いぼ痔ページのSPタイトル行高はカンプ実測56（サイズは共通の32のまま） */

/* 長文見出しのみカンプ実測サイズ（STAGES=24/42・METHOD=28/49） */

/* ========================================
  きれ痔（裂肛）ページ 個別調整
======================================== */

/* ABOUT（背景パネルなし版）
   カンプ2126:7290：青パネル・余白なしで inner 幅1200に画像560＋余白50＋本文590、
   画像と本文は上下中央揃え。SPはカンプ未確認のため従来の青パネルのまま */

.p-ibo-about--plain .p-ibo-about__panel {
	background: none;
	padding: 0;
}

.p-ibo-about--plain .p-ibo-about__intro {
	align-items: center;
}

.p-ibo-about--plain .p-ibo-about__text {
	margin-left: 3.125rem;
	margin-top: 0;
}

/* METHOD（画像2枚並び）
   画像間の余白は7px。2枚はトリミングせずカンプの比率のまま横幅を分け合う */

.p-ibo-method__intro--pair {
	gap: 0.4375rem;
}

.p-ibo-method__intro--pair .p-ibo-method__media {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

.p-ibo-method__intro--pair .p-ibo-method__media img {
	-o-object-fit: fill;
	aspect-ratio: auto;
	object-fit: fill;
}

/* COMPARE
   カンプどおりの位置で改行させるため、折返し幅は最長行に合わせる（改行はHTMLのbrで制御） */

.clinic-anal-fistula .p-ibo-compare {
	margin-top: 7.5rem;
}

/* このページの比較表ヘッダーだけ15px */

.clinic-anal-fistula .p-ibo-compare__table thead th {
	font-size: 0.9375rem;
}

.clinic-anal-fissure .p-ibo-compare__intro,
.clinic-anal-fistula .p-ibo-compare__intro {
	max-width: none;
	width: -moz-fit-content;
	width: fit-content;
}

/* 比較表下の補足文は左寄せ */

.clinic-anal-fissure .p-ibo-compare__intro--second {
	font-size: 0.75rem;
	text-align: left;
	width: auto;
}

/* FLOW
   このページのカンプは共通の .p-ibo-flow とは別レイアウト。
   PC（2126:11097）: カード内余白10px・画像279.5×164.4・見出し24px・本文16px・カード間67pxに▼を挟む
   SP（2355:11526）: 画像はカード幅いっぱいの335×240・下40px/左右20pxの余白・見出し24px・本文14px・▼なし */

.clinic-anal-fissure .p-ibo-flow__list,
.clinic-anal-fistula .p-ibo-flow__list,
.clinic-alta .p-ibo-flow__list,
.clinic-skin-tag .p-ibo-flow__list {
	gap: 4.1875rem;
}

.clinic-alta .p-ibo-about__card-img {
	margin-top: 0.625rem;
}

.clinic-anal-fissure .p-ibo-flow__item,
.clinic-anal-fistula .p-ibo-flow__item,
.clinic-alta .p-ibo-flow__item,
.clinic-skin-tag .p-ibo-flow__item {
	align-items: center;
	padding: 0.625rem;
	position: relative;
}

/* カード間の▼（カンプ実測 44×30） */

.clinic-anal-fissure .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-anal-fistula .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-alta .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-skin-tag .p-ibo-flow__item + .p-ibo-flow__item::before {
	border-left: 1.375rem solid transparent;
	border-right: 1.375rem solid transparent;
	border-top: 1.875rem solid #004fa2;
	border-top: 1.875rem solid var(--main-color02);
	content: "";
	left: 50%;
	position: absolute;
	top: -2.75rem;
	transform: translateX(-50%);
}

/* SPは画像をカード幅いっぱいに出すため、左右paddingぶん外側へ広げる */

.clinic-anal-fissure .p-ibo-flow__media,
.clinic-anal-fistula .p-ibo-flow__media,
.clinic-alta .p-ibo-flow__media,
.clinic-skin-tag .p-ibo-flow__media {
	width: 17.46875rem;
}

.clinic-anal-fissure .p-ibo-flow__media img,
.clinic-anal-fistula .p-ibo-flow__media img,
.clinic-alta .p-ibo-flow__media img,
.clinic-skin-tag .p-ibo-flow__media img {
	aspect-ratio: 559/329;
}

.clinic-anal-fissure .p-ibo-flow__body,
.clinic-anal-fistula .p-ibo-flow__body,
.clinic-alta .p-ibo-flow__body,
.clinic-skin-tag .p-ibo-flow__body {
	margin-left: 1.5rem;
}

.clinic-anal-fissure .p-ibo-flow__title,
.clinic-anal-fistula .p-ibo-flow__title,
.clinic-alta .p-ibo-flow__title,
.clinic-skin-tag .p-ibo-flow__title {
	font-size: 1.5rem;
}

.clinic-anal-fissure .p-ibo-flow__text,
.clinic-anal-fistula .p-ibo-flow__text,
.clinic-alta .p-ibo-flow__text,
.clinic-skin-tag .p-ibo-flow__text {
	font-size: 1rem;
	margin-top: 1rem;
}

/* ========================================
  症例写真: ラベル＋説明文付きカード（痔ろう等・共通）
======================================== */

.p-ibo-cases__photo {
	display: flex;
	flex-direction: column;
}

.p-ibo-cases__photo-body {
	background: #f5f7fa;
	background: var(--bg-blue);
	flex: 1;
	padding: 1.25rem;
}

.p-ibo-cases__photo-body .p-ibo-cases__photo-label {
	background: none;
	margin: 0;
	padding: 0;
}

.p-ibo-cases__photo-desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

/* 比較表下の補足文（左寄せ14px・共通） */

.p-ibo-compare__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

/* 生活セクション（手術後の生活）: 画像440px版モディファイア */

.p-ibo-lifestyle--life .p-ibo-lifestyle__media {
	width: 27.5rem;
}

.p-ibo-lifestyle--life .p-ibo-lifestyle__media img {
	aspect-ratio: 440/247;
}

/* ========================================
  痔ろう（痔瘻）ページ 個別調整
======================================== */

/* ABOUT 分類カード: カード余白なし・見出し/本文/リンク中央・画像は全幅（カンプ2126:11647） */

.clinic-anal-fistula .p-ibo-about__card {
	overflow: hidden;
	padding: 0;
	position: relative;
}

/* ドクターリンクをカード全体に拡張し、カードごとクリック可能にする */

.clinic-anal-fistula .p-ibo-about__card .p-ibo-doctor__link::after {
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

/* カード全体ホバーで画像を拡大＋矢印を右へ */

.clinic-anal-fistula .p-ibo-about__card-head {
	display: flex;
	flex-direction: column;
	padding: 1rem 1rem 0.25rem;
}

.clinic-anal-fistula .p-ibo-about__card-text {
	text-align: center;
}

/* テキスト量が増えてもリンクはカード内の最下部に固定する */

.clinic-anal-fistula .p-ibo-about__card .p-ibo-doctor__link {
	justify-content: center;
	margin-left: 0;
	margin-top: auto;
	padding-top: 0.5rem;
}

/* 画像はラッパー内でクリップし、ホバーズームが枠からはみ出さないようにする */

.clinic-anal-fistula .p-ibo-about__card-imgwrap {
	margin-top: 0.75rem;
	overflow: hidden;
}

.clinic-anal-fistula .p-ibo-about__card-img {
	aspect-ratio: auto;
	margin-top: 0;
	transition: transform 0.4s ease;
}

/* 手術のステップ: 画像なしテキストカード（左寄せ・カード幅310） */

.clinic-anal-fistula .p-ibo-method__steps {
	gap: 5.4375rem;
	justify-content: center;
	margin-top: 1.25rem;
}

.clinic-anal-fistula .p-ibo-method__step {
	padding: 1.25rem;
	width: 19.375rem;
}

.clinic-anal-fistula .p-ibo-method__step:not(:last-child)::after {
	right: -3.75rem;
}

.clinic-anal-fistula .p-ibo-method__step-title {
	padding-top: 0;
	text-align: left;
	white-space: normal;
}

.clinic-anal-fistula .p-ibo-method__step-text {
	height: auto;
	margin-top: 0.5rem;
	min-height: 0;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
}

/* 生活2セクション: 白カードなしで画像＋テキストのみ（パネル左右余白100） */

.clinic-anal-fistula .p-ibo-lifestyle__panel,
.clinic-alta .p-ibo-lifestyle__panel,
.clinic-skin-tag .p-ibo-lifestyle__panel {
	padding: 5rem 6.25rem;
}

.clinic-anal-fistula .p-ibo-lifestyle__card,
.clinic-alta .p-ibo-lifestyle__card,
.clinic-skin-tag .p-ibo-lifestyle__card {
	background: none;
	margin-left: 2.5rem;
	padding: 0;
}

/* ========================================
  ◯×型・メリデメ型カードとグリッドリスト（ジオン注射ページ等・共通）
======================================== */

/* チェックカード下の注記 */

.p-ibo-check__note {
	margin-top: 1.5rem;
}

/* 余白大きめの説明カード（適応/適応外・メリット/デメリット） */

.p-ibo-about__card--point {
	padding: 2.5rem;
}

.p-ibo-about__card--point .p-ibo-about__card-text {
	margin: 0;
	max-width: none;
	padding-top: 0.625rem;
}

.p-ibo-about__card--point .p-ibo-check__list {
	margin-top: 1rem;
	width: -moz-fit-content;
	width: fit-content;
}

/* 本文まで中央寄せ（適応/適応外カード） */

.p-ibo-about__card--center .p-ibo-about__card-text {
	text-align: center;
}

/* 薄青地カード（メリット） */

.p-ibo-about__card--soft {
	background: #f5f7fa;
	background: var(--bg-blue);
}

/* グレー地カード（適応外・デメリット） */

.p-ibo-about__card--ng {
	background: #e5e5e5;
}

.p-ibo-about__card--ng .p-ibo-about__card-title {
	color: #444444;
	color: var(--txt-color02);
}

/* カード内アイコン（◯×） */

.p-ibo-about__card-icon {
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	width: 3rem;
}

/* 中央寄せの本文（リード・出典など） */

.p-ibo-about__block-text--center {
	text-align: center;
}

/* チェックリストを3列グリッドで出すカード（ジオン注射を受けられない方）
   カンプは列方向の流し込み（1列目: 妊娠/授乳/前立腺…）のため auto-flow: column */

.p-ibo-check__card--grid .p-ibo-check__list {
	grid-column-gap: 1.5rem;
	-moz-column-gap: 1.5rem;
	grid-row-gap: 0.625rem;
	column-gap: 1.5rem;
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, auto);
	row-gap: 0.625rem;
}

/* ========================================
  ジオン注射（ALTA療法）ページ 個別調整
======================================== */

/* ABOUT: イラスト486×254＋本文を上下中央（カンプ2130:8537） */

.clinic-alta .p-ibo-about__intro {
	align-items: center;
}

.clinic-alta .p-ibo-about__intro + .p-ibo-about__intro {
	margin-top: 1.5rem;
}

.clinic-alta .p-ibo-about__intro {
	margin-top: 1.5rem;
}

.clinic-alta .p-ibo-about__media {
	max-width: none;
	width: 30.375rem;
}

.clinic-alta .p-ibo-about__media img {
	aspect-ratio: 486/254;
}

.clinic-alta .p-ibo-about__text {
	margin-top: 0;
}

/* 適応と適応外: リード・出典の余白 */

.clinic-alta .p-ibo-about--plain .p-ibo-about__block-text--center {
	margin-top: 2.5rem;
}

/* 受けられない方ブロック: グレー地セクション内で白抜きカード（padding50） */

.clinic-alta .p-ibo-about--plain .p-ibo-about__block:has(.p-ibo-check__card--grid) {
	background: #fff;
	padding: 3.125rem;
}

/* グリッドのチェックカード: 薄グレー地＋padding20 */

.clinic-alta .p-ibo-check__card--grid {
	background: #f5f7fa;
	padding: 1.25rem;
}

/* メリットカードのチェックリストは左寄せ */

.clinic-alta .p-ibo-about__card--soft .p-ibo-check__list {
	margin-left: 0;
	margin-right: 0;
}

/* 費用: 白背景・帯なし（カンプは3行テキストのみ） */

.clinic-alta .p-ibo-cost {
	background: none;
	padding-bottom: 0;
	padding-top: 0;
}

/* 左寄せ版の費用系テーブル（スキンタグの3つのタイプ等・共通） */

.p-ibo-cost__table--left .p-ibo-cost__td {
	text-align: left;
}

.p-ibo-cost__table--left .p-ibo-cost__th--label {
	width: 22.5rem;
}

/* METHODとは: 2段落目の段落間隔（通常色） */

.p-ibo-method__intro-text--gap {
	margin-top: 1.75rem;
}

/* ========================================
  スキンタグ（肛門皮垂）ページ 個別調整
======================================== */

/* ABOUT: イラストと本文を上下中央（カンプ2133:7299） */

.clinic-skin-tag .p-ibo-about__intro {
	align-items: center;
}

/* ベースが max-width のみのため未ロード時に幅0へ潰れ、lazyが発火しない。明示幅で回避 */

.clinic-skin-tag .p-ibo-about__media {
	width: 30.375rem;
}

.clinic-skin-tag .p-ibo-about__text {
	margin-top: 0;
}

/* METHODとは: イラストは元比率（972×634）のまま */

.clinic-skin-tag .p-ibo-method__media img {
	aspect-ratio: auto;
}

/* 費用表: 区分列は半々（3つのタイプ表=--left は対象外） */

.clinic-skin-tag .p-ibo-cost__table:not(.p-ibo-cost__table--left) .p-ibo-cost__th--label {
	width: 50%;
}

/* 下層ページのCOMPAREはMETHODと連結せず通常の区切り余白を取る
   （ベースの margin-top:0 はいぼ痔ページのパネル連結カンプ用） */

.clinic-anal-fistula .p-ibo-compare,
.clinic-skin-tag .p-ibo-compare {
	margin-top: 7.5rem;
}

/* METHOD白帯: カンプ2133:8247では帯下端が背景写真下端と一致し、
   リードは帯直下に続く（ベースの下120px余白＋リードmtだと下に間延びするため打ち消し） */

.clinic-skin-tag .p-ibo-method__headwrap {
	padding-bottom: 3.3125rem;
}

.clinic-skin-tag .p-ibo-method__lead {
	margin-top: 0;
}

/* ========================================
  痔の日帰り手術ページ（day-surgery）
======================================== */

/* 写真ボックスの実寸（440×259）に合わせる。MESSAGE/当院/実績/COST共通で使用 */

.clinic-day-surgery .p-ibo-about__media {
	max-width: 27.5rem;
	width: 27.5rem;
}

.clinic-day-surgery .p-ibo-about__media img {
	aspect-ratio: 440/259;
}

.clinic-day-surgery .p-ibo-about__text {
	margin-left: 2.5rem;
}

/* ========================================
  アンカー（7件・センター寄せ折返し）
======================================== */

.p-days-anchor .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.5rem;
}

.p-days-anchor .p-clinic-anchor__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
	justify-content: center;
}

/* SPでJSのslideToggleを閉じたままPC幅へ戻った場合のガード（ベースのgrid !importantを上書き） */

.p-days-anchor .p-clinic-anchor__item {
	width: 14.25rem;
}

.p-days-anchor .p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

/* 矢印は人間ドック（.p-dock-kv__nav-icon）を踏襲し、丸い白背景アイコンにする */

.p-days-anchor .p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	font-weight: 900;
	height: 2rem;
	justify-items: center;
	margin-left: auto;
	place-items: center;
	width: 2rem;
}

/* ========================================
  実績: 本文＋ボタンの2要素ボディ
======================================== */

.p-days-stats__body .p-clinic-btn {
	margin-top: 1.5rem;
}

/* ========================================
  痔の日帰り手術一覧（手術カード4枚）
======================================== */

.p-days-list {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
	position: relative;
}

.p-days-list__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
	text-align: center;
}

.p-days-list__grid {
	grid-gap: 1.5rem;
	align-items: start;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-days-list__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
	padding: 1.25rem;
}

.p-days-list__media img {
	-o-object-fit: cover;
	aspect-ratio: 344/200;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-days-list__body {
	margin-top: 1.5rem;
}

.p-days-list__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-days-list__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-days-list__checks {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-top: 0.5rem;
}

.p-days-list__check {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-days-list__check-icon {
	flex-shrink: 0;
	height: 1.125rem;
	margin-right: 0.625rem;
	margin-top: 0.25rem;
	width: 1.125rem;
}

.p-days-list__desc {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-days-list__small {
	font-size: 0.625rem;
}

.p-days-list__link {
	align-items: center;
	align-self: flex-end;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-size: 0.875rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: right;
}

.p-days-list__link:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-days-list__link-icon {
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ========================================
  COST（費用について）
======================================== */

.p-days-cost {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
	position: relative;
}

.p-days-cost__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-days-cost__block {
	margin-top: 1.875rem;
}

.p-days-cost__subhead {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-days-cost__block .p-ibo-about__panel {
	margin-top: 1.5rem;
}

.p-days-cost__plans {
	display: flex;
	gap: 2.5rem;
	margin-top: 4rem;
}

.p-days-cost__plan {
	display: flex;
	flex-direction: column;
	width: 36.25rem;
}

.p-days-cost__plan-head {
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.5rem 1.25rem;
	text-align: center;
}

.p-days-cost__plan-list {
	background: #f5f7fa;
	background: var(--bg-blue);
	flex: 1;
	list-style-position: outside;
	padding: 1.5rem;
	padding-left: 2.75rem;
}

.p-days-cost__plan-list li {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-days-cost__plan-list li::marker {
	content: counter(list-item) " ";
}

.p-days-cost__plan-list li + li {
	margin-top: 0.75rem;
}

.p-days-cost__small {
	font-size: 0.625rem;
}

/* ========================================
  FLOW: タブ風ラベル（初診/午前の手術/午後の手術/手術後の通院）
======================================== */

.p-days-flow__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-days-flow__tab {
	background: rgba(0, 0, 0, 0.2);
	border-radius: 7.5rem;
	color: #fff;
	cursor: pointer;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	max-width: 10.5rem;
	padding: 0.75rem 1.5rem;
	text-align: center;
	transition: background-color 0.3s;
	width: 100%;
}

.p-days-flow__tab:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-days-flow__tab.is-active {
	background: #004fa2;
	background: var(--main-color02);
}

.p-days-flow__panel[hidden] {
	display: none;
}

/* FLOWカードは白カードではなくbg-blueカード。セクション自体の帯は無し（カンプ準拠） */

.clinic-day-surgery .p-ibo-flow {
	background: none;
	margin-top: 7.5rem;
	padding-bottom: 0;
	padding-top: 0;
	position: relative;
}

.clinic-day-surgery .p-ibo-flow__item {
	background: #f5f7fa;
	background: var(--bg-blue);
}

/* ========================================
  手術後の生活（写真3枚）
======================================== */

.p-days-life {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-days-life__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-days-life__cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-days-life__card {
	background: #fff;
	box-shadow: 0 0 0.75rem rgba(17, 154, 239, 0.08);
}

.p-days-life__media img {
	-o-object-fit: cover;
	aspect-ratio: 384/240;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-days-life__body {
	padding: 0 1.25rem 1.25rem;
}

.p-days-life__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-days-life__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* ========================================
  あしらいリング（Figma 2493:12579「痔の日帰り手術＿修正」準拠）
  MESSAGE〜FLOWの各セクション背面に7個配置。PCのみ（SP未支給のため非表示）。
  サイズ・left は1440px基準のvw換算、topはホストセクション基準の第一次値（実機で微調整可）
======================================== */

.clinic-day-surgery {
	overflow-x: hidden;
}

.clinic-day-surgery .p-ibo-about,
.clinic-day-surgery .p-dock-faq {
	position: relative;
}

.clinic-day-surgery .keyvisual-days-01,
.clinic-day-surgery .keyvisual-days-02,
.clinic-day-surgery .keyvisual-days-03,
.clinic-day-surgery .keyvisual-days-04,
.clinic-day-surgery .keyvisual-days-05,
.clinic-day-surgery .keyvisual-days-06,
.clinic-day-surgery .keyvisual-days-07 {
	z-index: -1;
}

.keyvisual-days-01,
.keyvisual-days-03 {
	max-width: 60.25rem;
	width: 66.9vw;
}

.keyvisual-days-02,
.keyvisual-days-04,
.keyvisual-days-06 {
	max-width: 66.5rem;
	width: 73.9vw;
}

.keyvisual-days-05,
.keyvisual-days-07 {
	max-width: 59.375rem;
	width: 65.9vw;
}

.keyvisual-days-01 {
	left: -34.4vw;
	top: -17.625rem;
}

.keyvisual-days-02 {
	left: 61.5vw;
	top: -10.5rem;
}

.keyvisual-days-03 {
	left: -27.4vw;
	top: 7.375rem;
}

.keyvisual-days-04 {
	left: 61.5vw;
	top: 30.8125rem;
}

.keyvisual-days-05 {
	left: -19.1vw;
	top: 25.6875rem;
}

.keyvisual-days-06 {
	left: 61.5vw;
	top: 32.125rem;
}

.keyvisual-days-07 {
	left: -15.1vw;
	top: 16.3125rem;
}

/* ========================================
  薬による治療 / 痔の保存療法（page-drugs.php）
======================================== */

.clinic-drugs {
	isolation: isolate;
	overflow-x: clip;
	position: relative;
}

/* ---- あしらい（装飾リング3点・カンプ座標そのまま。PCのみ表示） ---- */

.p-drugs-deco {
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-drugs-deco__item {
	display: block;
	max-width: none;
	position: absolute;
}

.p-drugs-deco__item--01 {
	height: 60.255625rem;
	left: -26.4375rem;
	top: 20rem;
	width: 60.255625rem;
}

.p-drugs-deco__item--02 {
	height: 66.475625rem;
	left: 43.625rem;
	top: 141.125rem;
	width: 66.475625rem;
}

.p-drugs-deco__item--03 {
	height: 59.345625rem;
	left: -21.625rem;
	top: 285.875rem;
	width: 59.345625rem;
}

/* FVの地色を外し、背後のリングが透けて見えるようにする */

.clinic-drugs .p-ibo-fv {
	background: transparent;
}

/* ---- 見出し（このページはカンプがPC46px / SP32px） ---- */

.clinic-drugs .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.75rem;
}

/* 食生活セクションのみ、タイトル下に補足行が入る */

.p-drugs-sechead-sub {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
	text-align: center;
}

/* ---- アンカーナビ（PCのみ。SPはデザイン上非表示） ---- */

.p-drugs-anchor {
	margin-top: 2.5rem;
}

.p-drugs-anchor__list {
	grid-gap: 0.75rem;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, 1fr);
}

.p-drugs-anchor__item {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.125rem;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	gap: 1.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	min-height: 4.625rem;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
	transition: opacity 0.3s;
}

.p-drugs-anchor__item:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

.p-drugs-anchor__label {
	flex: none;
	width: 10rem;
}

.p-drugs-anchor__icon {
	display: block;
	flex: none;
	height: 2rem;
	position: relative;
	width: 2rem;
	z-index: 1;
}

.p-drugs-anchor__icon img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-drugs-anchor__icon span {
	align-items: center;
	bottom: 0;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	justify-content: center;
	left: 0;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

/* ---- セクション共通 ---- */

.p-drugs-section {
	margin-top: 7.5rem;
}

/* ---- 画像＋本文の帯パネル ---- */

.p-drugs-panel {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	margin-top: 2.5rem;
	padding: 2.5rem 3.375rem;
}

.p-drugs-panel__img {
	-o-object-fit: cover;
	aspect-ratio: 400/180;
	flex: none;
	height: auto;
	object-fit: cover;
	width: 25rem;
}

.p-drugs-panel__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-left: 2.5rem;
}

.p-drugs-panel__text--center {
	text-align: center;
}

/* 受診の目安パネルは中身が縦積み（チェックリスト→結び文） */

.p-drugs-panel--visit {
	display: block;
}

.p-drugs-panel--visit .p-drugs-panel__text {
	margin-left: 0;
	margin-top: 1.5rem;
}

/* ---- カードグリッド（3列×N段） ---- */

.p-drugs-cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-drugs-card {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 1.25rem;
}

.p-drugs-card__img {
	-o-object-fit: cover;
	aspect-ratio: 344/200;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* 白地のイラストカードは切り抜かず全体を見せる */

.p-drugs-card__img--illust {
	-o-object-fit: contain;
	background: #fff;
	object-fit: contain;
}

.p-drugs-card__body {
	margin-top: 1.5rem;
	text-align: center;
}

.p-drugs-card__title {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-drugs-card__text {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-drugs-card__note {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* ---- 外用薬／内服薬の中見出し ---- */

.p-drugs-subhead {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

/* ---- 受診の目安チェックリスト（白カード） ---- */

.p-drugs-check {
	background: #fff;
	display: flex;
	gap: 2.5rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5rem 3.125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-drugs-check__col {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-drugs-check__item {
	font-feature-settings: "palt" 1;
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-drugs-check__icon {
	flex: none;
	height: 0.9375rem;
	margin-right: 0.5rem;
	width: 0.9375rem;
}

/* ========================================
  形成外科ページ（page-plastic-surgery.php / .clinic-plastic-surgery）
  クラス接頭辞: p-ps-*
======================================== */

/* ========================================
  FV（形成外科）
======================================== */

.p-ps-fv {
	font-feature-settings: "palt" 1;
	align-items: center;
	background: #fff;
	background: var(--base-color);
	display: flex;
	height: 42.25rem;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.p-ps-fv__bg {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1; /* 左側の白フェード（Figma: 664x676 の白グラデ・不透明度50%） */
}

.p-ps-fv__bg::after {
	background: linear-gradient(to right, #fff 0%, #fff 50%, rgba(255, 255, 255, 0) 100%);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 41.5rem;
	z-index: 2;
}

.p-ps-fv__bg-img {
	-o-object-fit: cover;
	-o-object-position: center top;
	aspect-ratio: 1440/676;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.p-ps-fv__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 90rem;
	padding-left: 7.5rem;
	padding-right: 7.5rem;
	position: relative;
	width: 100%;
	z-index: 10;
}

.p-ps-fv__badge {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	color: var(--base-color);
	display: inline-flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-ps-fv__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 1rem;
}

.p-ps-fv__title-sub { /* 親(46px/35px)の strut に行高を引っ張られないようブロック化する */
	display: block;
	font-size: 1.875rem; /* letter-spacing の em は宣言元のフォントサイズで px 化されるため子で再宣言する */
	letter-spacing: 0.08em;
}

.p-ps-fv__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 1.0625rem;
	margin-top: 1rem;
}

.p-ps-fv__tag {
	align-items: center;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ps-fv__tag::before {
	background: center/contain no-repeat url("../images/medical/plastic-surgery/fv_check.svg");
	content: "";
	flex-shrink: 0;
	height: 0.875rem;
	margin-right: 0.5rem;
	width: 0.875rem;
}

.p-ps-fv__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.6875rem;
}

.p-ps-fv__lead-em {
	color: #004fa2;
	color: var(--main-color02);
}

.p-ps-fv__points {
	display: flex;
	gap: 1.379375rem;
	margin-top: 1.6875rem;
}

.p-ps-fv__point {
	align-items: center;
	background: rgba(128, 190, 255, 0.05);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	height: 8.3125rem;
	justify-content: center;
	position: relative;
	text-align: center;
	width: 8.3125rem;
	z-index: 0; /* グラデーションのリング（内側に 2.07px / SP 1.21px） */
}

.p-ps-fv__point::before {
	-webkit-mask: linear-gradient(#fff 0, #fff 0) content-box, linear-gradient(#fff 0, #fff 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	-webkit-mask: linear-gradient(#fff 0, #fff 0) content-box, linear-gradient(#fff 0, #fff 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	background: linear-gradient(144deg, #1862b0 0%, #80beff 25%, #80beff 75%, #1862b0 100%);
	border-radius: 50%;
	bottom: 0;
	content: "";
	left: 0;
	mask: linear-gradient(#fff 0, #fff 0) content-box, linear-gradient(#fff 0, #fff 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	padding: 0.129375rem;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-ps-fv__point-main {
	-webkit-background-clip: text;
	background: linear-gradient(180deg, #1862b0 0%, #3986d7 50%, #1862b0 100%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 1.45375rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.45;
	position: relative;
	z-index: 2;
}

/* 「年間 / 900件以上」だけ本文サイズが小さく、数字のみ大きい */

.p-ps-fv__point-main--sm {
	font-size: 1.034375rem;
	letter-spacing: 0.04em;
}

.p-ps-fv__point-num {
	font-size: 1.810625rem;
	letter-spacing: 0.04em;
}

.p-ps-fv__point-sub {
	-webkit-background-clip: text;
	background: linear-gradient(180deg, #1862b0 0%, #3986d7 50%, #1862b0 100%);
	background-clip: text;
	color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 1.034375rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.45;
	position: relative;
	z-index: 2;
}

/* 2行サークルの行間詰め（Figma: 「診療・手術/土日対応」-3.1 ／「年間/900件以上」-8.62） */

.p-ps-fv__point-sub + .p-ps-fv__point-main {
	margin-top: -0.19375rem;
}

.p-ps-fv__point-sub + .p-ps-fv__point-main--sm {
	margin-top: -0.53875rem;
}

/* ========================================
  ANCHOR（ページ内アンカー・共通 p-clinic-anchor の上書き）
======================================== */

.p-ps-anchor {
	padding-bottom: 7.5rem;
}

.clinic-plastic-surgery .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.5rem;
	width: min(75rem, 100% - 3.75rem);
}

/* カンプは 229px 固定幅×4 の左寄せ（右側は余白のまま） */

.clinic-plastic-surgery .p-clinic-anchor__list {
	gap: 0.875rem;
	grid-template-columns: repeat(4, 14.3125rem);
	justify-content: start;
}

.clinic-plastic-surgery .p-clinic-anchor__link {
	color: #3d3d3d;
	gap: 0.625rem;
	height: 3.5rem;
	padding: 0.75rem 1.5rem;
}

.clinic-plastic-surgery .p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

/* PCも白丸アイコン（カンプ: 32x32 の白円＋細い下向き矢印） */

.clinic-plastic-surgery .p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	height: 2rem;
	justify-items: center;
	margin-left: auto;
	place-items: center;
	width: 2rem;
}

/* SPの＋アイコンはカンプが 35x32 の楕円（線は横17 / 縦15） */

.clinic-plastic-surgery .p-clinic-anchor__toggle-icon {
	width: 2.1875rem;
}

.clinic-plastic-surgery .p-clinic-anchor__toggle-icon::before,
.clinic-plastic-surgery .p-clinic-anchor__toggle-icon::after {
	background: #3d3d3d;
}

.clinic-plastic-surgery .p-clinic-anchor__toggle-icon::before {
	width: 1.0625rem;
}

.clinic-plastic-surgery .p-clinic-anchor__toggle-icon::after {
	width: 0.9375rem;
}

/* ========================================
  共通見出し（形成外科ページ・罫線なし／中央揃え／青）
======================================== */

.p-ps-head {
	font-feature-settings: "palt" 1;
	text-align: center;
}

.p-ps-head__en {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-ps-head__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.875rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.625rem;
}

/* ========================================
  ABOUT（粉瘤の日帰り手術/当日の手術も可能）
======================================== */

.p-ps-about {
	background: #f5f7fa;
	background: var(--bg-blue);
	overflow: hidden;
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
	position: relative;
	z-index: 0;
}

/* 背景の巨大英字（Figma: 400px / #b0c9e3 10%） */

.p-ps-about__bgtext {
	-webkit-user-select: none;
	-moz-user-select: none;
	color: #b0c9e3;
	font-family: "Cinzel", serif;
	font-size: 25rem;
	font-weight: 400;
	left: -34.625rem;
	letter-spacing: -0.14em;
	line-height: 1;
	opacity: 0.1;
	pointer-events: none;
	position: absolute;
	top: 10.5rem;
	user-select: none;
	white-space: nowrap;
	z-index: 1;
}

.p-ps-about__inner {
	position: relative;
	z-index: 10;
}

.p-ps-about__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 3.125rem;
	text-align: center;
}

.p-ps-about__photos {
	display: flex;
	gap: 2.25rem;
	justify-content: center;
	margin-top: 6.096875rem;
	position: relative;
	z-index: 10;
}

.p-ps-about__photo {
	flex-shrink: 0;
	width: 28.5rem;
}

.p-ps-about__photo img {
	-o-object-fit: cover;
	aspect-ratio: 456/325;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* 見出しの罫線（Medical information 等） */

.p-ps-head__line {
	background: currentColor;
	display: inline-block;
	height: 0.0625rem;
	vertical-align: middle;
	width: 2.125rem;
}

.p-ps-head__line:first-child {
	margin-right: 1rem;
}

.p-ps-head__line:last-child {
	margin-left: 1rem;
}

/* ========================================
  INFO（診療案内）
======================================== */

.p-ps-info {
	background: #fff;
	background: var(--base-color);
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
	position: relative;
	z-index: 0;
}

.p-ps-info__list {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(2, 1fr);
	margin: 6.25rem auto 0;
	width: min(75rem, 100% - 3.75rem);
}

.p-ps-info__card {
	background: #fff;
	background: var(--base-color);
	box-shadow: 0.25rem 0.25rem 1.875rem rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.p-ps-info__image img {
	-o-object-fit: cover;
	aspect-ratio: 585/300;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-ps-info__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 2.5rem;
}

.p-ps-info__head {
	font-feature-settings: "palt" 1;
	text-align: center;
}

.p-ps-info__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.1875;
}

.p-ps-info__en {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-top: 0.625rem;
}

.p-ps-info__line {
	background: #004fa2;
	background: var(--main-color02);
	display: block;
	height: 0.125rem;
	margin: 0.625rem auto 0;
	width: 2.125rem;
}

.p-ps-info__text {
	font-feature-settings: "palt" 1;
	color: #222222;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-ps-info__btn {
	margin-top: auto;
	padding-top: 1.5rem;
	text-align: center;
}

/* カンプのボタンは上下パディング20・アイコン間20（共通 p-clinic-btn の上書き） */

.p-ps-info__btn .p-clinic-btn {
	gap: 1.25rem;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
}

/* ========================================
  CTA（形成外科専用・共通 p-clinic-cta の差分のみ）
======================================== */

/* 表は4列（備考列なし）。SPは 540px 固定でメニュー列160、残り3列を均等 */

/* 備考は表の下に注記として置く（カンプ0731） */

.p-ps-cta__note {
	font-feature-settings: "palt" 1;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: left;
}

/* ========================================
  FEATURE（当院の特徴）
======================================== */

.p-ps-feature {
	background: #fff;
	background: var(--base-color);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
	position: relative;
	z-index: 0;
}

.p-ps-feature__head {
	font-feature-settings: "palt" 1;
	text-align: center;
}

.p-ps-feature__en {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-ps-feature__line {
	background: #004fa2;
	background: var(--main-color02);
	display: inline-block;
	height: 0.0625rem;
	vertical-align: middle;
	width: 9.5rem;
}

.p-ps-feature__line:first-child {
	margin-right: 1.9375rem;
}

.p-ps-feature__line:last-child {
	margin-left: 1.9375rem;
}

.p-ps-feature__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.55;
	margin-top: 1.125rem;
}

.p-ps-feature__list {
	display: flex;
	flex-direction: column;
	gap: 5rem;
	margin-top: 2.5rem;
}

/* 1440px 基準の比率でレイアウト（PC中間幅でも横に溢れないよう % で組む） */

.p-ps-feature__item {
	align-items: center;
	aspect-ratio: 1440/600;
	display: flex;
	position: relative;
	z-index: 0;
}

/* 奇数ブロックは画像が右・テキストが左（DOM順は画像→テキスト） */

.p-ps-feature__item--01,
.p-ps-feature__item--03 {
	flex-direction: row-reverse;
}

.p-ps-feature__panel {
	background: linear-gradient(to right, rgba(252, 250, 244, 0.2) 0%, #eaf0f6 46%);
	height: 80.1667%;
	left: 8.3333%;
	position: absolute;
	top: 9.8333%;
	width: 59.3056%;
	z-index: 1;
}

/* 画像が左の 02 / 04 は右端側が透過するグラデーション */

.p-ps-feature__item--02 .p-ps-feature__panel {
	background: linear-gradient(to left, rgba(252, 250, 244, 0.2) 0%, #eaf0f6 46%);
	left: 32.2222%;
	top: 10%;
	width: 57.9167%;
}

.p-ps-feature__item--04 .p-ps-feature__panel {
	background: linear-gradient(to left, rgba(252, 250, 244, 0.2) 0%, #eaf0f6 46%);
	left: 40.4861%;
	width: 59.5139%;
}

.p-ps-feature__image {
	flex-shrink: 0;
	height: 100%;
	position: relative;
	width: 60.4167%;
	z-index: 2;
}

.p-ps-feature__item--04 .p-ps-feature__image {
	width: 62.0139%;
}

.p-ps-feature__image img {
	-o-object-fit: cover;
	aspect-ratio: 869/600;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-ps-feature__body {
	align-items: center;
	display: flex;
	flex: 1; /* カンプはテキストの中心がブロック中心より 30px 上 */
	padding-bottom: 4.1667%;
	padding-left: 8.3333%;
	position: relative;
	z-index: 3;
}

.p-ps-feature__item--02 .p-ps-feature__body,
.p-ps-feature__item--04 .p-ps-feature__body {
	justify-content: flex-end;
	padding-left: 0;
	padding-right: 8.3333%;
}

.p-ps-feature__box {
	font-feature-settings: "palt" 1;
	max-width: 100%;
	padding-bottom: 1rem;
	padding-top: 1rem;
	width: 23.75rem;
}

.p-ps-feature__label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 2.1818181818;
}

.p-ps-feature__name {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-ps-feature__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.0357142857;
	margin-top: 0.5rem;
}

/* 端から覗くあしらいリング等で横スクロールさせない */

.clinic-plastic-surgery {
	overflow-x: clip;
	position: relative;
}

/* ========================================
  REASON（日帰りができる理由）
======================================== */

.p-ps-reason {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 7.5rem 0;
	position: relative;
	z-index: 0;
}

.p-ps-reason__head {
	text-align: center;
}

.p-ps-reason__icon {
	height: auto;
	width: 7.125rem;
}

.p-ps-reason .p-ps-head {
	margin-top: 3.125rem;
}

.p-ps-reason .p-ps-head__line {
	width: 6.6875rem;
}

.p-ps-reason__lead {
	color: #000000;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 3.125rem;
}

.p-ps-reason__cards {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
	margin: 2.5rem auto 0;
}

.p-ps-reason__card {
	background: #fff;
	background: var(--base-color);
	padding: 2.5rem 3.75rem;
}

.p-ps-reason__card-head {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	text-align: center;
	width: 28.4375rem;
}

.p-ps-reason__num {
	align-items: center;
	display: flex;
	gap: 1.25rem;
}

.p-ps-reason__num-line {
	background: #004fa2;
	background: var(--main-color02);
	flex: 1;
	height: 0.0625rem;
}

.p-ps-reason__num-value {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 5rem;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1;
}

.p-ps-reason__name {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.25rem;
}

.p-ps-reason__sub {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-ps-reason__block {
	margin-top: 3.125rem;
	text-align: center;
}

.p-ps-reason__badge {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	color: var(--base-color);
	display: inline-flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* --- 従来法との比較（2ボックス） --- */

.p-ps-reason__compare {
	align-items: center;
	display: flex;
	gap: 1rem;
	margin-top: 1.25rem;
}

/* SPは<picture>で縦向き矢印(reason_arrow_lg_down.svg)に差し替え */

.p-ps-reason__compare-arrow {
	flex-shrink: 0;
	height: auto;
	width: 2.75rem;
}

.p-ps-reason__cmpbox {
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #444444;
	border: 0.0625rem solid var(--txt-color02);
	border-radius: 0.5rem;
	flex: 1;
	padding: 1.5rem 3.125rem;
}

.p-ps-reason__cmpbox--accent {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.125rem solid #004fa2;
	border: 0.125rem solid var(--main-color02);
}

.p-ps-reason__cmpbox-title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.375;
}

.p-ps-reason__cmpbox--accent .p-ps-reason__cmpbox-title {
	color: #2f7fbe;
}

.p-ps-reason__cmpbox-img {
	display: block;
	height: auto;
	margin: 0.5rem auto 0;
	width: 7rem;
}

/* --- ✓ / ✗ リスト --- */

.p-ps-reason__marks {
	display: inline-block;
	margin-top: 0.5rem;
	text-align: left;
}

.p-ps-reason__mark {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 0.875rem;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ps-reason__mark-icon {
	-webkit-mask: center/contain no-repeat url("../images/medical/plastic-surgery/fv_check.svg");
	background-color: #2f7fbe;
	flex-shrink: 0;
	height: 0.8125rem;
	margin-top: 0.375rem;
	mask: center/contain no-repeat url("../images/medical/plastic-surgery/fv_check.svg");
	width: 0.8125rem;
}

/* ✗ アイコンは円と×が別パスのため mask では潰れる。SVGをそのまま背景に敷く */

.p-ps-reason__mark-icon--cross {
	-webkit-mask: none;
	background: center/contain no-repeat url("../images/medical/plastic-surgery/icon_x.svg");
	height: 0.75rem;
	mask: none;
	width: 0.75rem;
}

/* --- 手順（4ステップ） --- */

.p-ps-reason__steps {
	align-items: stretch;
	display: flex;
	gap: 0.625rem;
	margin-top: 1.25rem;
}

.p-ps-reason__steps-arrow {
	align-items: center;
	display: flex;
	flex-shrink: 0;
}

.p-ps-reason__steps-arrow img {
	height: auto;
	width: 0.25rem;
}

.p-ps-reason__step {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #444444;
	border: 0.0625rem solid var(--txt-color02);
	border-radius: 0.5rem;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

.p-ps-reason__step--last {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.125rem solid #004fa2;
	border: 0.125rem solid var(--main-color02);
}

.p-ps-reason__step-head {
	align-items: center;
	align-self: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.p-ps-reason__step--last .p-ps-reason__step-head {
	color: #2f7fbe;
}

/* カンプは 01 のカードだけ番号が見出しと同じ 24px、02〜04 は 16px */

.p-ps-reason__step-no {
	font-size: 1rem;
	letter-spacing: 0.08em;
}

.p-ps-reason__card--01 .p-ps-reason__step-no {
	font-size: 1.5rem;
}

.p-ps-reason__step-img {
	-o-object-fit: contain;
	aspect-ratio: 212/181;
	height: auto;
	margin-top: 0.9375rem;
	object-fit: contain;
	width: 13.25rem;
}

.p-ps-reason__step-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.9375rem;
}

.p-ps-reason__step-result {
	margin-top: 0.9375rem;
}

.p-ps-reason__step-time {
	color: #2f7fbe;
	font-size: 1rem;
	letter-spacing: 0.035em;
	line-height: 1.25;
}

.p-ps-reason__step-note {
	color: #49565e;
	font-size: 0.625rem;
	letter-spacing: 0.047em;
	line-height: 1.25;
	margin-top: 0.125rem;
}

/* 本文直下の注記はカンプ準拠で左寄せ（04完了カード内の手術時間下は中央のまま） */

.p-ps-reason__step > .p-ps-reason__step-note {
	align-self: stretch;
	text-align: left;
}

/* SPは「図版（左） / 見出し・本文（右）」の2カラム（カンプ: 図版112・テキスト154・gap15・行間12） */

/* --- 3カラムの特長ボックス --- */

.p-ps-reason__cols {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.25rem;
}

.p-ps-reason__col {
	align-items: center;
	border: 0.125rem solid #004fa2;
	border: 0.125rem solid var(--main-color02);
	border-radius: 0.5rem;
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.875rem;
}

/* 3カラム内の✓リストはカンプ準拠でPCのみ左寄せ（compare内・SPは中央のまま） */

.p-ps-reason__col .p-ps-reason__marks {
	align-self: stretch;
}

.p-ps-reason__cols--accent .p-ps-reason__col {
	border-color: #2f7fbe;
}

.p-ps-reason__col-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-ps-reason__cols--accent .p-ps-reason__col-title {
	color: #2f7fbe;
}

.p-ps-reason__col-img {
	height: auto;
	margin-top: 0.9375rem;
	width: 8.5rem;
}

.p-ps-reason__col-note {
	color: #49565e;
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
	text-align: left;
}

/* ========================================
  あしらいリング（各セクションの端から覗く装飾）
  カンプのページ絶対座標を「所属セクションからの相対位置」に読み替えて配置
======================================== */

.p-ps-deco {
	-webkit-user-select: none;
	-moz-user-select: none;
	max-width: none;
	pointer-events: none;
	position: absolute;
	user-select: none;
	z-index: 0;
}

/* PC専用（01〜08）/ SP専用（sp01〜sp04）
   ※ keyimg化に伴い .clinic-plastic-surgery を重ねて詳細度を上げる。
     module/_keyimg.scss の .keyimg{display:block} が後読みのため、
     同詳細度だと後勝ちで表示制御が潰される（hemoリングで踏んだ事故対策） */

.clinic-plastic-surgery .p-ps-deco--sp01,
.clinic-plastic-surgery .p-ps-deco--sp02,
.clinic-plastic-surgery .p-ps-deco--sp03,
.clinic-plastic-surgery .p-ps-deco--sp04 {
	display: none;
}

/* INFO（診療案内） */

.p-ps-deco--01 {
	right: -39.8125rem;
	top: -8.8125rem;
	width: 70.8125rem;
}

.p-ps-deco--02 {
	left: -34.8125rem;
	top: 65.125rem;
	width: 79.125rem;
}

.p-ps-deco--sp01 {
	left: -2.625rem;
	top: 34.75rem;
	width: 63.5625rem;
}

.p-ps-deco--sp02 {
	left: -50rem;
	top: 105.9375rem;
	width: 79.125rem;
}

/* FEATURE（当院の特徴）— カンプは不透明度65%
   ※ keyimg の .is-show{opacity:1} に負けないよう詳細度を上げて出現後の透過度を固定 */

.p-ps-deco--03 {
	opacity: 0.65;
	right: -35.9375rem;
	top: -12.75rem;
	width: 70.8125rem;
}

.p-ps-deco--04 {
	left: -38.875rem;
	opacity: 0.65;
	top: 114.3125rem;
	width: 66.0625rem;
}

.clinic-plastic-surgery .p-ps-deco--03.is-show,
.clinic-plastic-surgery .p-ps-deco--04.is-show {
	opacity: 0.65;
}

.p-ps-deco--sp03 {
	left: -14.5625rem;
	top: -12.125rem;
	width: 27.25rem;
}

.p-ps-deco--sp04 {
	left: 9.3125rem;
	top: 23.5625rem;
	width: 27.25rem;
}

/* REASON（日帰りができる理由） */

.p-ps-deco--05 {
	right: -42.125rem;
	top: -7.0625rem;
	width: 70.8125rem;
}

.p-ps-deco--06 {
	left: -25.75rem;
	top: 68.6875rem;
	width: 79.125rem;
}

.p-ps-deco--07 {
	right: -38.4375rem;
	top: 174.9375rem;
	width: 67.75rem;
}

.p-ps-deco--08 {
	left: -27.1875rem;
	top: 214.3125rem;
	width: 76.5625rem;
}

/* リングより前面にコンテンツを出す */

.p-ps-info .p-ps-head,
.p-ps-info__list,
.p-ps-feature__head,
.p-ps-feature__list,
.p-ps-reason__head,
.p-ps-reason__cards {
	position: relative;
	z-index: 2;
}

/* ========================================
  粉瘤（アテローム）ページ（page-atheroma.php / .clinic-ps-detail）
  クラス接頭辞: p-psd-*。FV は fv-medical（p-ibo-fv）、CTA は cta-plastic-surgery、
  治療の流れは形成外科の p-ps-reason__steps、FAQ は p-dock-faq を流用
======================================== */

/* 見出しは共通 sec-head を使い、タイトルのサイズだけカンプに合わせる */

.clinic-ps-detail .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin-top: 0.75rem;
}

/* 長い英語ラベル（Process Leading Up to the Day of Surgery）はSPで折り返す */

/* アンカーは5列×2段（形成外科の4列指定を上書き） */

.clinic-ps-detail .p-clinic-anchor__list {
	grid-template-columns: repeat(5, 14.3125rem);
}

/* 1つ目のアンカーはFV直下のため下余白なし（2つ目のみ120） */

.p-psd-anchor--first {
	padding-bottom: 0;
}

/* ========================================
  LEAD（最適な術式で傷跡を最小限に）
======================================== */

.p-psd-lead {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem 7.5rem 0;
}

.p-psd-lead__box {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-left: auto;
	margin-right: auto;
	padding: 3.125rem;
	text-align: center;
	width: min(75rem, 100%);
}

.p-psd-lead__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-psd-lead__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

/* ========================================
  MEDIA（粉瘤とは？ / 症状 / 原因）
======================================== */

.p-psd-media {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem 7.5rem 0;
}

/* 最後（原因）だけ下余白を持つ */

.p-psd-media--last {
	padding-bottom: 7.5rem;
}

.p-psd-media__box {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin: 2.5rem auto 0;
	padding: 5rem 3.125rem;
	width: min(75rem, 100%);
}

.p-psd-media__inner {
	align-items: center;
	display: flex;
	gap: 2.75rem;
}

.p-psd-media__image {
	flex-shrink: 0;
	width: 30.375rem;
}

.p-psd-media__image img {
	-o-object-fit: cover;
	aspect-ratio: 486/317;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-psd-media__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

/* ========================================
  DIFFERENCE（粉瘤と脂肪腫の違い）
======================================== */

.p-psd-diff {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 7.5rem;
}

.p-psd-diff__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-psd-diff__scroll {
	margin-top: 2.5rem;
}

.p-psd-diff__table {
	border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 71.5rem;
}

.p-psd-diff__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #ccc;
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-psd-diff__table-label {
	width: 10.625rem;
}

.p-psd-diff__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
	width: 10.625rem;
}

.p-psd-diff__table tbody td {
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

.p-psd-diff__btn {
	margin-top: 2.5rem;
	text-align: center;
}

.p-psd-diff__btn .p-clinic-btn {
	gap: 1.0625rem;
	padding: 1.5rem 2.5rem;
}

/* ========================================
  TREATMENT（治療方法）
======================================== */

.p-psd-treat {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem;
}

.p-psd-treat__box {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin: 2.5rem auto 0;
	padding: 2.5rem 3.125rem;
	width: min(75rem, 100%);
}

.p-psd-treat__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

.p-psd-treat__flow {
	margin-top: 3.125rem;
}

.p-psd-treat__flow-title {
	border-left: 0.25rem solid #004fa2;
	border-left: 0.25rem solid var(--main-color02);
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1.25rem;
}

/* 形成外科の手順パーツを流用しつつカンプ寸法（257x326・枠内余白20）に合わせる */

.p-psd-treat__steps {
	margin-top: 3.125rem;
}

.p-psd-treat__time {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 3.125rem;
}

/* ========================================
  SURGERY COST（手術費用）
======================================== */

.p-psd-cost {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 7.5rem;
}

.p-psd-cost__table {
	border-collapse: collapse;
	margin: 2.5rem auto 0;
	table-layout: fixed;
	width: min(75rem, 100%);
}

.p-psd-cost__table + .p-psd-cost__table {
	margin-top: 1.5rem;
}

.p-psd-cost__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #ccc;
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-psd-cost__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
	text-align: center;
}

.p-psd-cost__table tbody td {
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.625rem 1.25rem;
}

.text-center {
	text-align: center;
}

.p-psd-cost__parts {
	text-align: left;
}

/* SP: 部位のセルを全幅の行にして、サイズ／金額だけ2列にする（カンプ準拠） */

/* ========================================
  FAQ（よくあるご質問）
======================================== */

.p-psd-faq {
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem 11.25rem;
}

.p-psd-faq .p-dock-faq__list {
	margin-top: 4.125rem;
}

/* ========================================
  FLOW（手術当日までの流れ）
======================================== */

.p-psd-flow {
	font-feature-settings: "palt" 1;
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 7.5rem;
}

.p-psd-flow__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-psd-flow__list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	margin: 1.75rem auto 0;
	width: min(75rem, 100%);
}

.p-psd-flow__arrow {
	flex-shrink: 0;
	line-height: 1;
}

.p-psd-flow__arrow img {
	height: auto;
	width: 3.0625rem;
}

.p-psd-flow__item {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	display: flex;
	gap: 1.5rem;
	padding: 0.625rem;
	width: 100%;
}

.p-psd-flow__image {
	flex-shrink: 0;
	width: 17.4375rem;
}

.p-psd-flow__image img {
	-o-object-fit: cover;
	aspect-ratio: 279/164;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-psd-flow__body {
	flex: 1;
}

.p-psd-flow__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-psd-flow__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* SP: 治療の流れは全幅の縦積み（形成外科の2カラム指定を打ち消す） */

/* SP: 流れカードは写真が全幅・▼は非表示（カンプ準拠） */

/* ========================================
  CAUSE（画像＋テキスト＋「主な原因としては」チェックリスト）
  ※巻き爪ページで初出。下層ページ共通パーツとして p-psd- に置く
======================================== */

.p-psd-cause {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem;
}

.p-psd-cause__inner {
	align-items: flex-end;
	display: flex;
	gap: 3rem;
	margin: 2.5rem auto 0;
	width: min(75rem, 100%);
}

.p-psd-cause__image {
	background: #fdf3ed;
	flex-shrink: 0;
	width: 33.125rem;
}

.p-psd-cause__image img {
	-o-object-fit: contain;
	aspect-ratio: 530/367;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-psd-cause__body {
	flex: 1;
}

.p-psd-cause__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	max-width: 32.25rem;
}

.p-psd-cause__points {
	background: #fff;
	background: var(--base-color);
	margin-top: 1.5rem;
}

.p-psd-cause__points-title {
	border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.2);
}

.p-psd-cause__points-label {
	border-bottom: 0.125rem solid #004fa2;
	border-bottom: 0.125rem solid var(--main-color02);
	color: #000000;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
}

.p-psd-cause__list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin-top: 1.25rem;
}

.p-psd-cause__item {
	align-items: flex-start;
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-psd-cause__check {
	-webkit-mask: center/contain no-repeat url("../images/medical/plastic-surgery/fv_check.svg");
	background-color: #004fa2;
	background-color: var(--main-color02);
	flex-shrink: 0;
	height: 0.875rem;
	margin-top: 0.4375rem;
	mask: center/contain no-repeat url("../images/medical/plastic-surgery/fv_check.svg");
	width: 0.875rem;
}

/* ========================================
  PREVENT（予防法の3カラムカード）
======================================== */

.p-psd-prevent {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem;
}

.p-psd-prevent__list {
	grid-gap: 1.875rem;
	display: grid;
	gap: 1.875rem;
	grid-template-columns: repeat(3, 1fr);
	margin: 2.5rem auto 0;
	width: min(75rem, 100%);
}

.p-psd-prevent__item {
	background: #fff;
	background: var(--base-color);
	display: flex;
	flex-direction: column;
}

.p-psd-prevent__image img {
	-o-object-fit: cover;
	aspect-ratio: 380/200;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-psd-prevent__body {
	background: #f5f7fa;
	background: var(--bg-blue);
	flex: 1;
	padding: 2.5rem 1.25rem;
}

.p-psd-prevent__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.1875;
}

.p-psd-prevent__line {
	background: #004fa2;
	background: var(--main-color02);
	display: block;
	height: 0.125rem;
	margin-top: 1.25rem;
	width: 2.125rem;
}

.p-psd-prevent__text {
	color: #222222;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

/* 巻き爪ページは治療方法の下余白なし（次の「予防法」が上余白120を持つため） */

.clinic-ingrown-nails .p-psd-treat {
	padding-bottom: 0;
}

/* SP: 原因の図版と予防カードはカンプ実測の比率・余白に合わせる */

/* KINDS（2カラム版の予防法カード。画像比率は 555x300） */

.p-psd-prevent--half .p-psd-prevent__list {
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-psd-prevent--half .p-psd-prevent__image img {
	aspect-ratio: 555/300;
}

/* ========================================
  SIMILAR（画像＋英字ラベル＋見出し＋本文の横並びブロック）
======================================== */

.p-psd-similar {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem 7.5rem 0;
}

.p-psd-similar__list {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin: 2.5rem auto 0;
	width: min(75rem, 100%);
}

.p-psd-similar__item {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	gap: 3.125rem;
	padding: 3.125rem;
}

.p-psd-similar__image {
	flex-shrink: 0;
	width: 31.9375rem;
}

.p-psd-similar__image img {
	-o-object-fit: cover;
	aspect-ratio: 511/317;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-psd-similar__body {
	flex: 1;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.p-psd-similar__label {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Cinzel", serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 2.1818181818;
}

.p-psd-similar__title {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-psd-similar__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.043em;
	line-height: 2.0357142857;
	margin-top: 0.5rem;
}

/* ========================================
  SURGICAL PROCEDURE（手術の流れ・4ステップのみ）
======================================== */

.p-psd-procedure {
	font-feature-settings: "palt" 1;
	background: #fff;
	background: var(--base-color);
	padding: 7.5rem 7.5rem 0;
}

.p-psd-procedure__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin: 1.25rem auto 7.5rem;
	padding-bottom: 0.5rem;
	width: min(75rem, 100%);
}

.p-psd-procedure__steps {
	margin: 2.5rem auto 0;
	width: min(75rem, 100%);
}

/* ホクロページは「ホクロの種類」の下余白なし（次のセクションが上余白120を持つため） */

.clinic-moles-warts .p-psd-prevent {
	padding-bottom: 0;
}

/* 2行に折り返すラベルがあるページはアンカーの高さを可変にする（カンプ: 1段目68 / 2段目56） */

.clinic-moles-warts .p-clinic-anchor__link {
	height: 100%;
	min-height: 3.5rem;
}

/* SP: 手術の流れも全幅の縦積み（形成外科の2カラム指定を打ち消す） */

/* ========================================
  肛門の解剖と痔の関係（page-anatomy-hemo.php / .clinic-anatomy-hemo）
  クラス接頭辞: p-anat-*。FV は fv-medical、監修医師は p-ibo-doctor、
  CTA は cta-hemo、3〜5疾患カードは p-clinic-types を流用
======================================== */

.clinic-anatomy-hemo {
	overflow-x: clip;
	position: relative;
}

/* 見出しは共通 sec-head。タイトルはカンプ実測（46px / lh1.4 / ls0.08em） */

.clinic-anatomy-hemo .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

/* あしらいリング（カンプのページ絶対座標 − ヘッダー124px で配置・PCのみ） */

.p-anat-deco {
	-webkit-user-select: none;
	-moz-user-select: none;
	max-width: none;
	pointer-events: none;
	position: absolute;
	user-select: none;
	z-index: -1;
}

.p-anat-deco--01 {
	left: -26.4375rem;
	top: 20rem;
	width: 60.25rem;
}

.p-anat-deco--02 {
	right: -20.125rem;
	top: 141.125rem;
	width: 66.5rem;
}

.p-anat-deco--03 {
	left: -21.625rem;
	top: 285.875rem;
	width: 59.375rem;
}

/* ========================================
  ANCHOR（4列×2段）
======================================== */

.p-anat-anchor {
	padding-bottom: 7.5rem;
}

.clinic-anatomy-hemo .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.5rem;
	width: min(75rem, 100% - 3.75rem);
}

.clinic-anatomy-hemo .p-clinic-anchor__list {
	gap: 0.75rem;
	grid-template-columns: repeat(4, 1fr);
}

.clinic-anatomy-hemo .p-clinic-anchor__link {
	gap: 1.5rem;
	height: 4.625rem;
	padding: 0.75rem 1.25rem;
}

.clinic-anatomy-hemo .p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

.clinic-anatomy-hemo .p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	height: 2rem;
	justify-items: center;
	margin-left: auto;
	place-items: center;
	width: 2rem;
}

/* ========================================
  INTRO（肛門の構造と痔の関係）
======================================== */

.p-anat-intro {
	font-feature-settings: "palt" 1;
}

.p-anat-intro__box {
	align-items: flex-start;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	margin-top: 2.5rem;
	padding: 5rem 6.375rem;
}

.p-anat-intro__video {
	width: 100%;
}

.p-anat-intro__video video {
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	width: 80%;
}

.p-anat-intro__video-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 1.5rem;
	text-align: center;
}

.p-anat-intro__image {
	flex-shrink: 0;
	width: 27.5rem;
}

.p-anat-intro__image img {
	-o-object-fit: contain;
	aspect-ratio: 440/259;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-anat-intro__body {
	flex: 1;
}

.p-anat-intro__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-anat-intro__text + .p-anat-intro__text {
	margin-top: 1.5rem;
}

/* ========================================
  解剖セクション（01〜04共通）
======================================== */

.p-anat-sec {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-anat-sec__box {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding: 2.5rem 1.25rem;
}

.p-anat-sec__figs {
	align-items: center;
	display: flex;
	gap: 2.375rem;
	justify-content: center;
}

.p-anat-sec__fig {
	flex: 1;
	max-width: 32.5rem;
}

.p-anat-sec__fig img {
	-o-object-fit: contain;
	aspect-ratio: 520/303;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-anat-sec__arrow {
	flex-shrink: 0;
	height: auto;
	width: 2.75rem;
}

/* 04（歯状線）は2×2の4枚 */

.p-anat-sec__quad {
	grid-gap: 2.375rem;
	display: grid;
	gap: 2.375rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-anat-sec__quad-item {
	position: relative;
	z-index: 0;
}

.p-anat-sec__quad-item img {
	-o-object-fit: contain;
	aspect-ratio: 557/324;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-anat-sec__quad-num {
	align-items: center;
	background: #004fa2;
	background: var(--main-color02);
	color: #fff;
	color: var(--base-color);
	display: grid;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	height: 3.625rem;
	justify-items: center;
	left: 0;
	letter-spacing: 0.08em;
	line-height: 1;
	place-items: center;
	position: absolute;
	top: 0;
	width: 3.625rem;
	z-index: 10;
}

.p-anat-sec__block {
	margin-top: 1.5rem;
}

.p-anat-sec__subtitle {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-anat-sec__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-anat-sec__link {
	margin-top: 1rem;
	text-align: right;
}

.p-anat-sec__link a {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: inline-flex;
	font-size: 0.875rem;
	gap: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	transition: opacity 0.3s;
}

.p-anat-sec__link a:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* 白抜き矢印SVGを青円の上に重ねる（FB: 矢印は白文字青背景） */

.p-anat-sec__link-icon {
	background: #004fa2 center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	background: var(--main-color02) center/contain no-repeat url("../images/dock/cta_arrow_02.svg");
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.75rem;
	transition: transform 0.3s;
	width: 1.75rem;
}

/* ========================================
  CHART（部位×痔の種類 対応表）
======================================== */

.p-anat-chart {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
}

.p-anat-chart__lead {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
	text-align: center;
}

.p-anat-chart__scroll {
	margin-top: 2.5rem;
}

.p-anat-chart__table {
	border-collapse: collapse; /* カンプは3列ほぼ均等（398/400/400）。SPも3等分のまま画面内に収める（カンプ422:21113） */
	table-layout: fixed;
	width: 100%;
}

/* SPカンプでは「直腸-肛門接合部」のハイフンを表示しない */

.p-anat-chart__table thead th {
	background: #004fa2;
	background: var(--main-color02);
	border: 0.0625rem solid #ccc;
	color: #fff;
	color: var(--base-color);
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.6;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

.p-anat-chart__table tbody th {
	background: #f5f7fa;
	background: var(--bg-blue);
	border: 0.0625rem solid #ccc;
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

.p-anat-chart__table tbody td {
	background: #fff;
	background: var(--base-color);
	border: 0.0625rem solid #ccc;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.9375rem 1.25rem;
	text-align: center;
}

.p-anat-chart__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

/* ========================================
  CONCERN（ご自身の症状が気になる方へ）
======================================== */

.p-anat-concern__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

/* SP: イントロはカンプ実測（セクション上余白64／ボックス内余白20-10／図と本文の間24） */

/* ========================================
  数字で見る手術実績（page-surgical-results.php / .clinic-surgical-results）
  クラス接頭辞: p-sr-*。FV は fv-medical、5疾患カードは p-clinic-types、CTA は cta-hemo を流用
======================================== */

.clinic-surgical-results {
	overflow-x: clip;
	position: relative;
}

.clinic-surgical-results .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

/* あしらいリング（PCのみ・カンプのページ絶対座標 − ヘッダー124px）
   回転出現はkeyimg（module/_keyimg.scss＋common.js）を流用 */

.p-sr-deco {
	-webkit-user-select: none;
	-moz-user-select: none;
	max-width: none;
	pointer-events: none;
	position: absolute;
	user-select: none;
	z-index: -1;
}

/* module/_keyimg.scss が後読みで .keyimg{z-index:1} に上書きされるのを防ぐ（過去事故対策） */

.p-sr-deco.keyimg {
	z-index: -1;
}

.p-sr-deco--01 {
	left: -26.4375rem;
	top: 20rem;
	width: 60.25rem;
}

.p-sr-deco--02 {
	right: -20.125rem;
	top: 141.125rem;
	width: 66.5rem;
}

.p-sr-deco--03 {
	left: -21.625rem;
	top: 298.875rem;
	width: 59.375rem;
}

.p-sr-deco--04 {
	right: -20.5rem;
	top: 370.625rem;
	width: 66.5rem;
}

.p-sr-deco--05 {
	left: -21.625rem;
	top: 483.6875rem;
	width: 59.375rem;
}

/* ========================================
  ANCHOR
======================================== */

.p-sr-anchor {
	padding-bottom: 7.5rem;
}

.clinic-surgical-results .p-clinic-anchor__inner {
	padding-bottom: 0; /* カンプはFV直下から20pxで並ぶ */
	padding-top: 1.25rem;
	width: min(75rem, 100% - 3.75rem);
}

/* カンプは2件を中央寄せ（291px固定） */

.clinic-surgical-results .p-clinic-anchor__list {
	gap: 0.75rem;
	grid-template-columns: repeat(2, 18.1875rem);
	justify-content: center;
}

.clinic-surgical-results .p-clinic-anchor__link {
	gap: 1.5rem;
	height: 4.625rem;
	padding: 0.75rem 1.25rem;
}

.clinic-surgical-results .p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

.clinic-surgical-results .p-clinic-anchor__icon {
	align-items: center;
	background: #fff;
	background: var(--base-color);
	border-radius: 50%;
	color: #3d3d3d;
	display: grid;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	height: 2rem;
	justify-items: center;
	margin-left: auto;
	place-items: center;
	width: 2rem;
}

/* ========================================
  STATS（診察実績・各種統計情報）
======================================== */

.p-sr-stats {
	font-feature-settings: "palt" 1; /* FB対応: SPはアンカー直下に64あける */
}

.p-sr-block {
	margin-top: 7.5rem;
}

.sec-head + .p-sr-block {
	margin-top: 2.5rem;
}

.p-sr-block__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

/* SPのみ2行目に出す（PCは画像内に組み込み） */

.p-sr-block__title-sub {
	display: block;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.p-sr-block__title-xs {
	font-size: 0.625rem;
	letter-spacing: 0.08em;
}

.p-sr-block__body {
	margin-top: 2.5rem;
}

.p-sr-graph {
	display: block;
	height: auto;
	width: 100%;
}

.p-sr-graph--sm {
	margin-left: auto;
	margin-right: auto;
	max-width: 27rem;
}

.p-sr-map {
	display: block;
	height: auto;
	width: 100%;
}

/* 2カラム（男女比 / 術後データ） */

.p-sr-cols {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-sr-cols {
	margin-top: 7.5rem;
}

/* 左右のパネル高さを揃える（カンプは両カラム824px） */

.p-sr-cols .p-sr-block {
	display: flex;
	flex-direction: column;
	margin-top: 0;
}

.p-sr-cols .p-sr-panel {
	flex: 1;
	justify-content: center;
}

.p-sr-cols .p-sr-panel--inner {
	flex: none;
	justify-content: flex-start;
}

.p-sr-panel {
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.5rem;
	padding: 2.5rem;
}

.p-sr-panel--plain {
	background: none;
	border-radius: 0;
	padding: 0;
}

/* 術後データ下段（円グラフ4点）の内側パネル */

.p-sr-panel--inner {
	gap: 0;
	margin-top: 0;
	padding: 1.5rem 2.5rem;
}

/* ========================================
  年次表
======================================== */

.p-sr-table-scroll {
	margin-top: 2.5rem;
}

.p-sr-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.p-sr-table th,
.p-sr-table td {
	border: 0.0625rem solid #efefef;
	text-align: center;
}

.p-sr-table thead th {
	color: #fff;
	color: var(--base-color); /* FB対応: 見出し行はNoto Sans JP */
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.6;
	padding: 0.6875rem 1.25rem;
}

.p-sr-table__year {
	background: #004fa2;
	background: var(--main-color02);
	width: 7.9375rem;
}

.p-sr-table__male {
	background: #2d87ba;
}

.p-sr-table__female {
	background: #d16975;
}

.p-sr-table__total {
	background: #004fa2;
	background: var(--main-color02);
}

.p-sr-table tbody th,
.p-sr-table tfoot th {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #004fa2;
	color: var(--main-color02);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.6; /* FB対応: 行高75px（文字32px＋上下21px＋罫線1px） */
	padding: 1.3125rem 1.25rem;
}

.p-sr-table tbody td,
.p-sr-table tfoot td {
	background: #fff;
	background: var(--base-color);
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.75; /* FB対応: 行高75px（文字24.5px＋上下24.75px＋罫線1px）・ウェイト500 */
	padding: 1.25rem;
}

/* ========================================
  CONCERN
======================================== */

.p-sr-concern {
	margin-top: 7.5rem;
}

.p-sr-concern__lead {
	font-feature-settings: "palt" 1;
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	text-align: center;
}

/* カンプ: 各疾患カードは #f5f7fa の全幅バンド（上下padding40） */

.p-sr-concern__band {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 2.5rem;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-sr-concern__subtitle {
	color: #444444;
	color: var(--txt-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

/* ========================================
  ACCESS（本院 / 新宿）
======================================== */

.p-sr-access {
	font-feature-settings: "palt" 1;
	padding-bottom: 7.5rem;
}

/* FB対応: 本院セクション（アンカー先 #reserve）は上に120あける */

#reserve.p-sr-access {
	padding-top: 7.5rem;
}

.p-sr-access__grid {
	align-items: flex-start;
	display: flex;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

/* カンプ 1200px 内訳: map 712 + gap 40 + info 448 */

.p-sr-access__map {
	flex-shrink: 0;
	width: 59.3333%;
}

.p-sr-access__map img {
	display: block;
	height: auto;
	width: 100%;
}

.p-sr-access__body {
	flex: 1;
	min-width: 0;
}

.p-sr-access__logo {
	align-items: center;
	display: flex;
	height: 4.625rem;
	padding-left: 1.25rem; /* FB対応: SPはロゴを中央寄せ */
}

.p-sr-access__logo img {
	height: auto;
	max-width: 100%;
	width: 22.25rem;
}

.p-sr-access__list {
	margin-top: 1.5rem;
}

.p-sr-access__row {
	border-bottom: 0.0625rem solid #ededed;
	border-bottom: 0.0625rem solid var(--line-color);
	padding: 1.25rem; /* FB対応: SPも左右20持たせる */
}

.p-sr-access__row--last {
	border-bottom: none; /* SPはリンクが行の外に出るためpadding-bottomを持たせない */
}

.p-sr-access__label {
	color: #7696b8;
	color: var(--third-color);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-sr-access__value {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.8125rem;
}

.p-sr-access__value a {
	color: inherit;
	transition: opacity 0.3s;
}

.p-sr-access__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.8125rem;
}

.p-sr-access__map-link {
	background: #f5f7fa;
	background: var(--bg-blue);
	margin-top: 0.8125rem;
}

.p-sr-access__map-link a {
	-webkit-text-decoration: underline;
	color: #004fa2;
	color: var(--main-color02);
	display: block;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding: 0.75rem 1.5rem;
	text-decoration: underline;
	transition: opacity 0.3s;
}

.p-sr-access__map-link a:focus-visible {
	outline: 0.125rem solid #004fa2;
	outline: 0.125rem solid var(--main-color02);
	outline-offset: 0.125rem;
}

/* ========================================
  数字で見る手術実績: グラフインフォグラフィック
  画像だったグラフをSVG/HTML化（生成・アニメーションは script.js の js-sr-chart 節）
======================================== */

.p-sr-chart svg {
	display: block;
	height: auto;
	width: 100%;
}

.p-sr-chart text {
	font-family: inherit;
}

/* FB対応: 積み上げ棒・横棒はカンプ同様の薄青パネルに載せる */

.p-sr-chart--stack svg {
	background: #f5f9fa;
	border-radius: 0.75rem;
	padding: 1.875rem;
}

.p-sr-chart--hbar svg {
	background: #f5f7fa;
	background: var(--bg-blue);
	border-radius: 0.75rem;
	padding: 1.5rem 1rem;
}

/* 都道府県マップの手術総数（カンプはセリフ体。.p-sr-chart text より詳細度を上げる） */

.p-sr-chart .p-sr-map-hero {
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
}

/* 男女比・年代別（ドーナツ＋凡例）
   FB対応: SPでも折り返さず横並びを保つ（375px幅で2列凡例が収まるサイズまで縮小） */

.p-sr-chart--donut {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	justify-content: space-between;
	width: 100%;
}

.p-sr-chart--donut .p-sr-donut {
	flex-shrink: 0;
	width: 13.25rem;
}

.p-sr-legend {
	color: #333;
	color: var(--txt-color);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.6;
	list-style: none;
}

.p-sr-legend li {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
	white-space: nowrap;
}

.p-sr-legend b {
	font-weight: inherit;
}

.p-sr-legend__dot {
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.25rem;
	width: 1.25rem;
}

/* 年代別は2列（カンプ準拠: 縦に 10代→50代 / 60代→90代） */

.p-sr-legend--two-col {
	grid-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
}

/* 術後経過（円グラフ4点 2×2） */

.p-sr-chart--quad {
	grid-gap: 1rem 1.5rem;
	display: grid;
	gap: 1rem 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	justify-items: center;
}

.p-sr-quad-cell {
	max-width: 13.25rem;
	text-align: center;
	width: 100%;
}

.p-sr-sub-legend {
	color: #555;
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1.8;
	margin-top: 0.125rem;
	text-align: left;
}

.p-sr-sub-legend__dot {
	border-radius: 50%;
	display: inline-block;
	height: 0.6875rem;
	margin-right: 0.375rem;
	vertical-align: -0.0625rem;
	width: 0.6875rem;
}

/* グラフホバー時のツールチップ（script.jsがbody直下に生成） */

.p-sr-tt {
	background: rgba(20, 40, 70, 0.92);
	border-radius: 0.5rem;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1.6;
	opacity: 0;
	padding: 0.375rem 0.6875rem;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.12s;
	white-space: nowrap;
	z-index: 20;
}

/* ========================================
  診療 治療の流れ（page-flow.php / .clinic-flow）
  カンプ: PC 3057:27048（1440×7718）/ SP 3057:26629（390×11100）
  クラス接頭辞: p-flow-*。FV は fv-medical、アンカーは p-clinic-anchor、
  FLOW（タブ＋STEP）は p-days-flow__tabs + p-ibo-flow、
  カード内リンクは p-dock-textlink、CTA は cta-hemo を流用
======================================== */

.clinic-flow {
	overflow-x: clip;
	position: relative;
}

/* 見出しは共通 sec-head。タイトルはカンプ実測（46px / lh1.4 / ls0.08em） */

.clinic-flow .sec-head__title {
	font-size: 2.875rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

/* あしらいリング（カンプのページ絶対座標 − ヘッダー124px で配置・PCのみ）
   4点とも画像は1種類の回転違い。他ページと同じ common/deco の3ファイルを流用 */

.p-flow-deco {
	-webkit-user-select: none;
	-moz-user-select: none;
	max-width: none;
	pointer-events: none;
	position: absolute;
	user-select: none;
	z-index: -1;
}

.p-flow-deco--01 {
	left: -26.4375rem;
	top: 20rem;
	width: 60.25rem;
}

.p-flow-deco--02 {
	right: -20.125rem;
	top: 141.125rem;
	width: 66.5rem;
}

.p-flow-deco--03 {
	left: -27rem;
	top: 236.0625rem;
	width: 60.25rem;
}

.p-flow-deco--04 {
	left: -21.625rem;
	top: 285.875rem;
	width: 59.375rem;
}

/* ========================================
  ANCHOR（3列・カンプ実測 228×54・列間14）
======================================== */

.clinic-flow .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.5rem;
}

.clinic-flow .p-clinic-anchor__list {
	gap: 0.875rem;
	grid-template-columns: repeat(3, 14.25rem);
	justify-content: center;
}

/* カンプ実測 228×54（アイコン32＋上下11）。3項目目が1行に収まるよう左右余白は狭い方（6px）に統一 */

.clinic-flow .p-clinic-anchor__link {
	gap: 0.625rem;
	padding: 0.6875rem 0.375rem;
}

/* 3項目目「術後の過ごし方と注意事項」が12文字あるため固定幅160をやめて可変に。
   カンプは3項目とも1行（pill高54）なので折り返しを禁止する */

.clinic-flow .p-clinic-anchor__link > :first-child:not(.p-clinic-anchor__icon),
.clinic-flow .p-clinic-anchor__text {
	flex: 1;
	white-space: nowrap;
	width: auto;
}

/* ========================================
  FLOW（治療の流れ・タブ切替）
  セクションの青帯は無く、STEPカード側が bg-blue（カンプ準拠）
======================================== */

.clinic-flow .p-ibo-flow {
	background: none;
	margin-top: 7.5rem;
	padding-bottom: 0;
	padding-top: 0;
	scroll-margin-top: 7.5rem;
}

.clinic-flow .p-ibo-flow__item {
	background: #f5f7fa;
	background: var(--bg-blue);
}

/* SPカンプはタイトル→写真→本文の順（PCは写真左・本文右）。
   __body を display:contents に畳んで order で並べ替える */

/* ========================================
  TREATMENT（治療方法について）
======================================== */

.p-flow-treat {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
	scroll-margin-top: 7.5rem;
}

.p-flow-treat__cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-flow-treat__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
}

.p-flow-treat__media img {
	-o-object-fit: cover;
	aspect-ratio: 344/200;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-flow-treat__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.p-flow-treat__text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

/* リンクはカード内で右寄せ（カンプ準拠） */

.p-flow-treat__links {
	align-items: flex-end;
	align-self: flex-end;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

/* ---- 麻酔について（写真左・テキスト右） ---- */

.p-flow-anesthesia {
	align-items: stretch;
	display: flex;
	margin-top: 2.5rem;
}

.p-flow-anesthesia__media {
	flex-shrink: 0;
	width: 29rem;
}

.p-flow-anesthesia__media img {
	-o-object-fit: cover;
	aspect-ratio: 464/220;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-flow-anesthesia__body {
	align-items: flex-start;
	background: #f5f7fa;
	background: var(--bg-blue);
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	justify-content: center; /* カンプ実測: パネル高220 ＝ 本文164 ＋ 上下28 */
	padding: 1.75rem 2.5rem;
}

.p-flow-anesthesia__title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-flow-anesthesia__list {
	margin-top: 1.5rem;
}

.p-flow-anesthesia__item {
	color: #444444;
	color: var(--txt-color02);
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-flow-anesthesia__num {
	flex-shrink: 0;
	margin-right: 0.5rem;
}

/* ========================================
  AFTERCARE（術後の過ごし方と注意事項）
======================================== */

.p-flow-after {
	font-feature-settings: "palt" 1;
	margin-top: 7.5rem;
	scroll-margin-top: 7.5rem;
}

.p-flow-after__blocks {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.p-flow-after__blocks--2col {
	grid-template-columns: repeat(2, 1fr);
}

.p-flow-after__blocks--3col {
	grid-template-columns: repeat(3, 1fr);
}

.p-flow-after__block {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 1.5rem 1.25rem;
}

.p-flow-after__head {
	align-items: center;
	color: #004fa2;
	color: var(--main-color02);
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-flow-after__icon {
	flex-shrink: 0;
	height: 2.5rem;
	margin-right: 0.75rem;
	width: 2.5rem;
}

.p-flow-after__items {
	display: flex;
	flex-direction: column;
	gap: 1.6875rem;
	margin-top: 1.6875rem;
}

.p-flow-after__item-title {
	color: #004fa2;
	color: var(--main-color02);
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-flow-after__item-text {
	color: #444444;
	color: var(--txt-color02);
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.75rem;
}

/* ============================================================
  TOPページ（front-page.php）
  旧テーマ hachicli の top.css / slick.css / slick-theme.css /
  news.css（コラムカード部分）を移植。
  NEWSセクションのみ本テーマの .p-clinic-news デザインを使用（page/_about.scss）
============================================================ */

/* ---- slick core（slick.css より移植）---- */

/* Slider */

.slick-slider {
	-webkit-user-select: none;
	-moz-user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
	display: block;
	position: relative;
	touch-action: pan-y;
	user-select: none;
}

.slick-list {
	display: block;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
}

.slick-track {
	display: block;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	top: 0;
}

.slick-track:before,
.slick-track:after {
	content: "";
	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir=rtl] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	border: 1px solid transparent;
	display: block;
	height: auto;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* ---- slick theme（slick-theme.css より移植。slickフォント・ajax-loaderは
       TOPでは未使用のため除去。ドットは下記top.css移植分で上書き）---- */

/* Slider */

/* Arrows */

.slick-prev,
.slick-next {
	background: transparent;
	border: none;
	color: transparent;
	cursor: pointer;
	display: block;
	font-size: 0;
	height: 20px;
	line-height: 0;
	outline: none;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 20px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background: transparent;
	color: transparent;
	outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: white;
	font-size: 20px;
	line-height: 1;
	opacity: 0.75;
}

.slick-prev {
	left: -25px;
}

[dir=rtl] .slick-prev {
	left: auto;
	right: -25px;
}

.slick-prev:before {
	content: "←";
}

[dir=rtl] .slick-prev:before {
	content: "→";
}

.slick-next {
	right: -25px;
}

[dir=rtl] .slick-next {
	left: -25px;
	right: auto;
}

.slick-next:before {
	content: "→";
}

[dir=rtl] .slick-next:before {
	content: "←";
}

/* Dots */

.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	bottom: -25px;
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}

.slick-dots li {
	cursor: pointer;
	display: inline-block;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	position: relative;
	width: 20px;
}

.slick-dots li button {
	background: transparent;
	border: 0;
	color: transparent;
	cursor: pointer;
	display: block;
	font-size: 0;
	height: 20px;
	line-height: 0;
	outline: none;
	padding: 5px;
	width: 20px;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: black;
	content: "•";
	font-size: 6px;
	height: 20px;
	left: 0;
	line-height: 20px;
	opacity: 0.25;
	position: absolute;
	text-align: center;
	top: 0;
	width: 20px;
}

.slick-dots li.slick-active button:before {
	color: black;
	opacity: 0.75;
}

/* ---- TOPの装飾リング（旧テーマ common.css の .keyimg 相当）----
   .keyimg / .keyvisual-01 のクラス名は module/_keyimg.scss（z-index:-1）や
   _dock.scss のスコープ無し .keyvisual-01（top:-700px / right:-46vw /
   SPで display:none）と衝突するため、TOP専用の .top-keyimg /
   .top-keyvisual-01 に改名して隔離している（front-page.php側も同名）。
   出現アニメは common.js の is-hide→is-show を共用 */

.top-keyimg {
	display: block;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: rotate(-180deg);
	transition: transform 1s ease 1s, opacity 1s ease 1s;
	transition: transform var(--key-time) ease 1s, opacity var(--key-time) ease 1s;
	z-index: 1;
}

.top-keyimg.is-show {
	opacity: 1;
	transform: rotate(0deg);
}

/* ---- TOP固有スタイル（top.css より移植）---- */

/*メインビジュアル*/

.mv {
	overflow-x: clip;
	position: relative;
}

.top-slick {
	transition: none !important;
}

.top-slick .slick-track,
.top-slick .slick-slide {
	transition: transform 0.6s ease, opacity 0.6s ease !important;
}

.top-slick .slick-track,
.top-slick .slick-slide { /* all は使わない */
}

.top-slick .slick-dots {
	bottom: auto;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	width: var(--margin);
}

.top-slick.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.top-slick .slick-dots li {
	height: 10px;
	height: var(--margin);
	width: 10px;
	width: var(--margin);
}

.top-slick .slick-dots li button:before {
	border: solid 2px #fff;
	border: solid 2px var(--base-color);
	border-radius: 1em;
	content: "";
	height: 10px;
	height: var(--margin);
	opacity: 1;
	width: 10px;
	width: var(--margin);
}

.top-slick .slick-dots li.slick-active button:before {
	background: #fff;
	background: var(--base-color);
	opacity: 1;
}

.top-slick .slick-list {
	overflow: visible;
	overflow: initial;
}

.top-slick li {
	position: relative;
}

.top-slick .txt-box-inner {
	opacity: 0;
	position: relative;
	transition: opacity 1s ease 1.5s;
	transition: opacity var(--key-time) ease 1.5s;
}

.top-slick .active .txt-box-inner {
	opacity: 1;
}

.top-slick .txt {
	font-size: 28px;
	white-space: nowrap;
	z-index: 4;
}

.top-slick .txt .char {
	display: inline-block;
	opacity: 0;
	text-shadow: 0px 0px 15px rgba(0, 53, 124, 0.6);
	transition: opacity 0.05s ease;
}

.top-slick .bg {
	opacity: 0;
	position: relative;
	transition: opacity 1.2s;
	z-index: 1;
}

.top-slick .active .bg {
	opacity: 1;
}

.top-slick .keyvisual {
	align-items: center;
	display: flex;
	justify-content: center;
	opacity: 0;
	position: absolute;
	transform: rotate(-180deg);
	transition: transform 1s, opacity 0.3s;
	transition: transform var(--key-time), opacity 0.3s;
	z-index: 2;
}

.top-slick .active:not(.slide05) .keyvisual {
	opacity: 1;
	transform: rotate(0deg);
}

.top-slick .bnr {
	opacity: 0;
	transition: opacity 1s ease 1.5s;
	transition: opacity var(--key-time) ease 1.5s;
}

.top-slick .active .bnr {
	opacity: 1;
}

.top-slick .kv01 {
	left: -17.08cqw;
	top: -26.87cqw;
	width: 40cqw;
}

.top-slick .kv02 {
	left: 75.27cqw;
	top: 14.51cqw;
	width: 39.375cqw;
}

.slide01 .bnr {
	left: 7cqw;
	position: absolute;
	top: 4.72cqw;
	width: 32cqw;
	z-index: 3;
}

.slide01 .txt-box {
	color: #004F9C;
	font-weight: 700;
	left: 11.38cqw;
	letter-spacing: 0.3em;
	position: absolute;
	text-shadow: 0 0 15px rgb(255, 255, 255), 0 0 30px rgba(255, 255, 255, 0.8);
	top: 11.11cqw;
	z-index: 3;
}

.slide01 .txt {
	font-size: 2.91cqw;
	letter-spacing: 0.3em;
}

.slide01 .lead {
	font-size: 1.38cqw;
}

.slide02 .txt-box {
	font-weight: 700;
	letter-spacing: 0.6em;
	position: absolute;
	right: 15.97cqw;
	top: 3.12cqw;
	writing-mode: vertical-rl;
	z-index: 3;
}

.slide02 .txt-box-inner {
	display: flex;
	flex-direction: column;
	gap: 5.55cqw;
}

.slide02 .txt {
	font-size: 2.5cqw;
	letter-spacing: 0.55em;
	line-height: 1.6;
}

.slide02 .mini {
	letter-spacing: 0.1em;
}

.slide02 .lead {
	font-size: 1.11cqw;
	margin-top: 10.76cqw;
	white-space: nowrap;
}

.slide03 .bnr {
	left: 54.3cqw;
	position: absolute;
	top: 4.72cqw;
	width: 22.56cqw;
	z-index: 3;
}

.slide03 .txt-box {
	font-weight: 700;
	left: 55.76cqw;
	letter-spacing: 0.3em;
	position: absolute;
	top: 11.45cqw;
	z-index: 3;
}

.slide03 .txt {
	font-size: 2.5cqw;
	line-height: 1.4;
}

.slide03 .lead {
	font-size: 1.11cqw;
	line-height: 1.8;
	margin-top: 3.68cqw;
	white-space: nowrap;
}

.slide04 .txt-box {
	font-weight: 700;
	left: 55.76cqw;
	letter-spacing: 0.3em;
	position: absolute;
	top: 5.69cqw;
	z-index: 3;
}

.slide04 .txt {
	font-size: 2.5cqw;
	line-height: 1.4;
}

.slide04 .lead {
	font-size: 1.11cqw;
	line-height: 1.8;
	margin-top: 3.68cqw;
	white-space: nowrap;
}

.slide05 .txt-box {
	left: 0;
	position: absolute;
	top: 0;
	z-index: 3;
}

.slide05 .bg,
.top-slick .slide05.active .bg {
	bottom: 0;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.8s ease;
}

.top-slick .slide05.active .bg.active {
	opacity: 1;
}

.slide05 .bg.base,
.top-slick .slide05.active .bg.base {
	position: relative;
}

.top-slick .active .keyvisual.active {
	opacity: 1;
	transform: rotate(0deg);
}

.slide06 .txt-box {
	font-weight: 700;
	left: 18.88cqw;
	position: absolute;
	top: 6.31cqw;
	writing-mode: vertical-rl;
	z-index: 3;
}

.slide06 .txt {
	font-size: 2.5cqw;
	letter-spacing: 0.55em;
	line-height: 1.6;
}

.slide06 .txt .mini {
	letter-spacing: 0.1em;
}

/*ボタン*/

.mv-content {
	align-items: flex-end;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	margin: 0 auto;
	max-width: 1200px;
	max-width: var(--contentmxwidth);
	position: relative;
	transform: translateY(-30%);
	width: 92.307%;
	width: var(--content-w);
	z-index: 999;
}

.mv-btn-li {
	gap: calc(10px * 1.5);
	gap: calc(var(--margin) * 1.5);
}

.mv-btn-li li {
	height: 13.9166cqw;
	max-height: 167px;
	max-width: 165px;
	width: 13.75cqw;
}

.mv-btn-li a {
	background: #fff;
	background: var(--base-color);
	color: #004f9c;
	color: var(--main-color);
	font-weight: 700;
	height: 100%;
	width: 100%;
}

.mv-btn-li a .img {
	margin-bottom: 10px;
	margin-bottom: var(--margin);
	max-width: 70px;
	width: 5.8333cqw;
}

.mv-btn-li a .txt {
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

/*news*/

.mv-news-block {
	background: #fff;
	background: var(--base-color);
	border-radius: 10px;
	border-radius: var(--margin);
	max-width: 520px;
	padding: calc(10px * 2) calc(10px * 3);
	padding: calc(var(--margin) * 2) calc(var(--margin) * 3);
	width: 50%;
}

.mv-news-block .detail {
	font-weight: 500;
	gap: 3em;
}

.mv-news-block .date {
	font-size: 10px;
	font-size: var(--fs-xxxs);
}

.mv-news-block .cate {
	background: #f5f8fa;
	background: var(--sub-color);
	border-radius: 100vmax;
	color: #004f9c;
	color: var(--main-color);
	font-size: 11px;
	font-size: var(--fs-xxs);
	margin: 0.5em;
	min-width: 6em;
	padding: 0.2em 1em;
	text-align: center;
}

.mv-news-block .txt {
	font-size: 13px;
	font-size: var(--fs-s);
	font-weight: 500;
}

/*END　メインビジュアル*/

/*共通*/

.section--top-title {
	color: #004f9c;
	color: var(--main-color);
	font-family: serif;
	line-height: 1.2;
	margin-bottom: calc(10px * 9);
	margin-bottom: calc(var(--margin) * 9);
	position: relative;
	text-align: center;
}

.section--top-title::after {
	background: #004f9c;
	background: var(--main-color);
	bottom: calc(10px * -2);
	bottom: calc(var(--margin) * -2);
	content: "";
	display: block;
	height: 1px;
	left: 0;
	margin: auto;
	opacity: 0;
	position: absolute;
	right: 0;
	width: 0;
}

.section--top-title.is-show::after {
	animation: section-title-line 0.6s ease forwards;
	animation-delay: 0.5s;
}

.section--top-title .lead {
	color: #444444;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

.section--top-title .char {
	display: inline-block;
	opacity: 0;
	transform: translateY(100px);
}

.section--top-title.is-show .char {
	animation: rise 0.6s ease forwards;
}

.section--top-title .en {
	color: #BACFE5;
	font-family: serif;
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 5px;
}

.section--top-title .en .char {
	animation-delay: calc(var(--i) * 0.05s + 0.5s);
}

/*END　共通*/

/*PICK UP*/

#pickup {
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
}

#pickup .pickup-li {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

#pickup .pickup-li a {
	display: block;
	position: relative;
}

#pickup .pickup-li a .txt-box {
	background: #fff;
	background: var(--base-color);
	border-radius: 0 calc(10px * 3) 0 0;
	border-radius: 0 calc(var(--margin) * 3) 0 0;
	bottom: 0;
	left: 0;
	padding: calc(10px * 2) 10px;
	padding: calc(var(--margin) * 2) var(--margin);
	position: absolute;
	width: 50%;
}

#pickup .pickup-li-title {
	color: #004f9c;
	color: var(--main-color);
	line-height: 1;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

#pickup .pickup-li-lead {
	font-size: 14px;
	font-size: var(--fs-m);
	line-height: 1.5;
}

/*END PICK UP*/

/*MEDICAL*/

#medical {
	background: #f5f8fa;
	background: var(--sub-color);
	overflow: hidden;
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
	position: relative;
}

#medical .top-keyvisual-01 {
	left: -23.61cqw;
	top: -18.75cqw;
	width: 53.47cqw;
}

#medical .medical-li-img,
#medical .medical-li-icon {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#medical .medical-li-icon > li {
	width: calc(25% - 10px);
	width: calc(25% - var(--margin));
}

#medical .medical-li-img > li > a,
#medical .medical-li-icon > li > a {
	background: #fff;
	background: var(--base-color);
	display: block;
}

#medical .medical-li-img .txt-box {
	padding: calc(10px * 2) 10px calc(10px * 2) calc(10px * 3);
	padding: calc(var(--margin) * 2) var(--margin) calc(var(--margin) * 2) calc(var(--margin) * 3);
}

#medical .medical-li-img .txt-box .medical-li-txt {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

#medical .medical-li-img .txt-box .medical-li-title {
	font-weight: 500;
}

#medical .medical-li-img .txt-box .medical-li-cat,
#medical .medical-li-icon .txt-box .medical-li-cat {
	gap: 10px;
	gap: var(--margin);
}

#medical .medical-li-img .txt-box .medical-li-cat .cate,
#medical .medical-li-icon .txt-box .medical-li-cat .cate {
	background: #f5f8fa;
	background: var(--sub-color);
	border-radius: 100vmax;
	color: #004f9c;
	color: var(--main-color);
	display: inline-block;
	padding: 0 0.5em;
}

#medical .medical-li-icon > li > a {
	padding: calc(10px * 3) 0 0;
	padding: calc(var(--margin) * 3) 0 0;
}

#medical .medical-li-icon .txt-box {
	padding: calc(10px * 2) 10px;
	padding: calc(var(--margin) * 2) var(--margin);
}

#medical .medical-li-icon .txt-box .medical-li-title {
	font-weight: 500;
}

#medical .medical-li-icon .img {
	margin: 0 auto;
	width: 31.57%;
}

/*END MEDICAL*/

/*CLINIC*/

#clinic {
	overflow-x: clip;
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
	position: relative;
}

#clinic .clinic-li {
	align-items: flex-start;
	align-items: stretch;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	margin-bottom: calc(10px * 6);
	margin-bottom: calc(var(--margin) * 6);
}

#clinic .clinic-li > li {
	width: 33%;
}

#clinic .clinic-li .clinic-li-inner {
	font-weight: 500;
	padding: calc(10px * 2) calc(10px * 3) calc(10px * 4);
	padding: calc(var(--margin) * 2) calc(var(--margin) * 3) calc(var(--margin) * 4);
}

#clinic .clinic-li .clinic-li-title {
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#clinic .clinic-li .clinic-li-title a {
	color: #004f9c;
	color: var(--main-color);
	line-height: 1;
}

#clinic .clinic-li .address {
	font-size: 12px;
	font-size: var(--fs-xs);
	line-height: 1.6;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#clinic .clinic-li .tell {
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#clinic .clinic-li .tell::before {
	background-size: 15px 100%;
	height: 19px;
	width: 25px;
}

#clinic .clinic-li .tell a {
	border-bottom: solid 1px #333;
	border-bottom: solid 1px var(--txt-color);
	color: #333;
	color: var(--txt-color);
	font-size: 16px;
	font-size: var(--fs-ll);
}

#clinic .clinic-li .depts {
	border-bottom: solid 1px #ededed;
	border-bottom: solid 1px var(--line-color);
	border-top: solid 1px #ededed;
	border-top: solid 1px var(--line-color);
	display: block;
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
	padding: 10px 0;
	padding: var(--margin) 0;
}

#clinic .clinic-li .depts > li {
	display: inline-block;
	font-size: 12px;
	font-size: var(--fs-xs);
	padding-right: 0.5em;
	position: relative;
}

#clinic .clinic-li .depts > li::after {
	content: "/";
	position: absolute;
	right: -0.1em;
	top: 0;
}

#clinic .clinic-li .depts > li:last-child::after {
	display: none;
}

#clinic .clinic-li .depts > li > a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

#clinic .clinic-li .reception-box .time {
	color: #004f9c;
	color: var(--main-color);
	font-size: 18px;
	font-size: var(--fs-4l);
	gap: 10px;
	gap: var(--margin);
	line-height: 1;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

#clinic .clinic-li .reception-box .time .ampm {
	background: #004f9c;
	background: var(--main-color);
	border-radius: 5px;
	color: #fff;
	color: var(--base-color);
	font-size: 12px;
	font-size: var(--fs-xs);
	padding: 0.2em 0.5em;
}

#clinic .clinic-li .reception-box .note > li {
	color: #004f9c;
	color: var(--main-color);
	font-size: 13px;
	font-size: var(--fs-s);
	padding-left: 1.1em;
	position: relative;
}

#clinic .clinic-li .reception-box .note > li::before {
	content: "※";
}

#clinic .silverhills-li {
	align-items: stretch;
	gap: calc(10px * 3);
	gap: calc(var(--margin) * 3);
}

#clinic .silverhills-li li {
	width: 50%;
}

#clinic .silverhills-li li:first-child img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#clinic .silverhills-li li:nth-child(2) {
	background: #fff;
	background: var(--base-color);
	padding: calc(10px * 5);
	padding: calc(var(--margin) * 5);
}

#clinic .silverhills-li .silverhills-li-title {
	color: #004f9c;
	color: var(--main-color);
	font-size: 20px;
	font-size: var(--fs-6l);
	line-height: 1;
	margin-bottom: 1em;
	padding-bottom: 1em;
	position: relative;
}

#clinic .silverhills-li .silverhills-li-title .lead {
	color: #333;
	color: var(--txt-color);
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	margin-bottom: 1em;
}

#clinic .silverhills-li .silverhills-li-title::after {
	background: #004f9c;
	background: var(--main-color);
	bottom: 0;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 3em;
}

#clinic .silverhills-li .silverhills-li-txt {
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	margin-bottom: calc(10px * 4);
	margin-bottom: calc(var(--margin) * 4);
}

#clinic .silverhills-li .address {
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
}

#clinic .silverhills-li .tell {
	margin-bottom: calc(10px * 2);
	margin-bottom: calc(var(--margin) * 2);
}

#clinic .silverhills-li .tell::before {
	background-size: 15px 100%;
	height: 19px;
	width: 25px;
}

#clinic .silverhills-li .tell a {
	border-bottom: solid 1px #333;
	border-bottom: solid 1px var(--txt-color);
	color: #333;
	color: var(--txt-color);
	font-size: 16px;
	font-size: var(--fs-ll);
}

#clinic .silverhills-li .link a {
	color: #004f9c;
	color: var(--main-color);
	font-weight: 500;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

/*END CLINIC*/

/*NEWS*/

#news {
	background: #f5f8fa;
	background: var(--sub-color);
	overflow: hidden;
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
	position: relative;
}

#news .top-keyvisual-01 {
	bottom: -6.25cqw;
	right: -6.25cqw;
	width: 49.5138cqw;
}

#news .category-panel {
	display: none;
}

#news .category-panel.active {
	display: block;
}

/*END NEWS*/

/*about*/

#about {
	overflow-x: clip;
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
	position: relative;
}

#about .top-keyvisual-01 {
	bottom: -1.0416cqw;
	left: 2.0833cqw;
	width: 42.7777cqw;
}

#about .about-li {
	align-items: stretch;
	gap: calc(10px * 3);
	gap: calc(var(--margin) * 3);
}

#about .about-li > li {
	width: 50%;
}

#about .about-li > li:first-child {
	border: none;
}

#about .about-li > li:first-child img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#about .about-li > li:nth-child(2) {
	background: #fff;
	background: var(--base-color);
	padding: calc(10px * 5);
	padding: calc(var(--margin) * 5);
}

#about .about-li .about-li-title {
	color: #004f9c;
	color: var(--main-color);
	line-height: 1;
	margin-bottom: 1em;
	position: relative;
}

#about .about-li .about-li-txt {
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	margin-bottom: calc(10px * 4);
	margin-bottom: calc(var(--margin) * 4);
}

#about .about-li .link a {
	color: #004f9c;
	color: var(--main-color);
	font-weight: 500;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

/*END about*/

/*greeting*/

#greeting {
	overflow-x: clip;
	padding: 0 0 calc(10px * 10);
	padding: 0 0 calc(var(--margin) * 10);
	position: relative;
}

#greeting .top-keyvisual-01 {
	bottom: -1.0416cqw;
	right: 2.0833cqw;
	width: 42.7777cqw;
}

#greeting .greeting-li {
	align-items: stretch;
	gap: calc(10px * 3);
	gap: calc(var(--margin) * 3);
}

#greeting .greeting-li > li {
	width: 50%;
}

#greeting .greeting-li > li:nth-child(2) {
	border: none;
}

#greeting .greeting-li > li:nth-child(2) img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#greeting .greeting-li > li:first-child {
	background: #fff;
	background: var(--base-color);
	padding: calc(10px * 5);
	padding: calc(var(--margin) * 5);
}

#greeting .greeting-li .greeting-li-title {
	color: #004f9c;
	color: var(--main-color);
	line-height: 1;
	margin-bottom: 1em;
	padding-bottom: 1em;
	position: relative;
}

#greeting .greeting-li .greeting-li-title::after {
	background: #004f9c;
	background: var(--main-color);
	bottom: 0;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 3em;
}

#greeting .greeting-li .greeting-li-title .lead {
	font-size: 15px;
	font-size: var(--fs-l);
	font-weight: 500;
	padding-bottom: 1em;
}

#greeting .greeting-li .greeting-li-title .en {
	font-size: 15px;
	font-size: var(--fs-l);
	font-weight: 500;
	margin-left: calc(10px * 4);
	margin-left: calc(var(--margin) * 4);
}

#greeting .greeting-li .greeting-li-txt {
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 500;
	margin-bottom: calc(10px * 4);
	margin-bottom: calc(var(--margin) * 4);
}

#greeting .greeting-li .greeting-li-txt .txt:not(:last-of-type) {
	margin-bottom: 1em;
}

#greeting .greeting-li .link a {
	color: #004f9c;
	color: var(--main-color);
	font-weight: 500;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

/*END greeting*/

/*column*/

#column {
	overflow-x: clip;
	padding: calc(10px * 10) 0;
	padding: calc(var(--margin) * 10) 0;
	position: relative;
}

#column .top-keyvisual-01 {
	bottom: -1.0416cqw;
	left: 2.0833cqw;
	width: 42.7777cqw;
}

/*END column*/

/* ---- コラムカード（news.css 351-541行より移植。COLUMNセクションで使用）---- */

.column-li {
	align-items: stretch;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	margin: 0 auto calc(10px * 5);
	margin: 0 auto calc(var(--margin) * 5);
	width: 92%;
}

.column-li > li {
	width: calc((92% - 10px * 2) / 3);
	width: calc((92% - var(--margin) * 2) / 3);
}

.column-li a {
	background: #fff;
	background: var(--base-color);
	display: block;
	height: 100%;
}

.column-li .thumb {
	height: 223px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.column-li .thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: 0.3s;
	transition: var(--transition);
	width: 100%;
}

.column-li .medical-category {
	bottom: calc(10px * 1);
	bottom: calc(var(--margin) * 1);
	flex-wrap: wrap;
	left: calc(10px * 2);
	left: calc(var(--margin) * 2);
	position: absolute;
}

.column-li .medical-category .cate {
	background: #f5f8fa;
	background: var(--sub-color);
	border-radius: 100vmax;
	color: #004f9c;
	color: var(--main-color);
	display: inline-block;
	font-size: 11px;
	font-size: var(--fs-xxs);
	font-weight: 500;
	line-height: 1.8;
	margin: 0.2em;
	padding: 0 1em;
}

.column-li .column-li-content {
	padding: calc(10px * 2);
	padding: calc(var(--margin) * 2);
}

.column-li .column-li-title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	color: #004f9c;
	color: var(--main-color);
	display: -webkit-box;
	font-size: 14px;
	font-size: var(--fs-m);
	font-weight: 700;
	margin-bottom: 1em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.column-li .column-li-txt {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	font-size: 13px;
	font-size: var(--fs-s);
	margin-bottom: 1em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.column-li .day {
	font-size: 13px;
	font-size: var(--fs-s);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1em;
}

.link a {
	color: #004f9c;
	color: var(--main-color);
	font-weight: 500;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

/*角丸*/

.btn-raound5 {
	border-radius: calc(10px / 2);
	border-radius: calc(var(--margin) / 2);
	overflow: hidden;
}

.btn-raound10 {
	border-radius: 10px;
	border-radius: var(--margin);
	overflow: hidden;
}

.btn-raound20 {
	border-radius: calc(10px * 2);
	border-radius: calc(var(--margin) * 2);
	overflow: hidden;
}

.btn-wh-raound20-shadow {
	border: solid 1px #ededed;
	border: solid 1px var(--line-color);
	border-radius: calc(10px * 2);
	border-radius: calc(var(--margin) * 2);
	box-shadow: 0px 3px 20px 0px rgba(0, 43, 85, 0.08);
	box-shadow: var(--boxshadow-m);
	overflow: hidden;
}

.btn-wh-raound40-shadow {
	border: solid 1px #ededed;
	border: solid 1px var(--line-color);
	border-radius: calc(10px * 4);
	border-radius: calc(var(--margin) * 4);
	box-shadow: 0px 3px 20px 0px rgba(0, 43, 85, 0.08);
	box-shadow: var(--boxshadow-m);
	overflow: hidden;
}

/*ボックス内画像アップ*/

.img-box-hover {
	-o-object-fit: cover;
	object-fit: cover;
	overflow: hidden;
}

.img-box-hover img {
	transition: 0.3s;
	transition: var(--transition);
}

/*画像アップ*/

.img-hover img {
	transition: 0.3s;
	transition: var(--transition);
}

/*アイコン*/

.content-right::after {
	bottom: 0;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
}

.content-left::before {
	bottom: 0;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	top: 0;
}

.icon-maru-nv-right::after {
	background: left center/36px 100% no-repeat url("../images/common/icon-maru-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 36px;
	transition: 0.3s;
	transition: var(--transition);
	width: 46px;
}

.icon-maru-nv-right-big::after {
	background: left center/50px 100% no-repeat url("../images/common/icon-maru-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 50px;
	transition: 0.3s;
	transition: var(--transition);
	width: 60px;
}

.icon-maru-nv-right-left::before {
	background: left center/36px 100% no-repeat url("../images/common/icon-maru-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 36px;
	padding-right: 10px;
	transition: 0.3s;
	transition: var(--transition);
	width: 46px;
}

.icon-maru-wh-right::after {
	background: right center/45px 100% no-repeat url("../images/common/icon-maru-wh-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 45px;
	transition: 0.3s;
	transition: var(--transition);
	width: 55px;
}

.icon-maru-wh-right-left::before {
	background: left center/45px 100% no-repeat url("../images/common/icon-maru-wh-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 45px;
	padding-right: 10px;
	transition: 0.3s;
	transition: var(--transition);
	width: 55px;
}

.icon-maru-nv-link::after {
	background: left center/50px 100% no-repeat url("../images/common/icon-maru-nv-link.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 50px;
	transition: 0.3s;
	transition: var(--transition);
	width: 60px;
}

.icon-maru-nv-down::before {
	background: left center/36px 100% no-repeat url("../images/common/icon-maru-nv-down.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 36px;
	transition: 0.3s;
	transition: var(--transition);
	width: 36px;
}

.icon-arrow-nv-right-left::before {
	background: left center/13px 100% no-repeat url("../images/common/icon-arrow-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 10px;
	transition: 0.3s;
	transition: var(--transition);
	width: 23px;
}

.icon-arrow-nv-right-center::before {
	background: center center/13px 100% no-repeat url("../images/common/icon-arrow-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 10px;
	transition: 0.3s;
	transition: var(--transition);
	width: 13px;
}

.icon-arrow-nv-right::after {
	background: left center/13px 100% no-repeat url("../images/common/icon-arrow-nv-right.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 10px;
	transition: 0.3s;
	transition: var(--transition);
	width: 23px;
}

.icon-arrow-gy-down::after {
	background: right center/100% no-repeat url("../images/common/icon-arrow-gy-down.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 32px;
	transition: 0.3s;
	transition: var(--transition);
	width: 32px;
}

/*電話番号*/

.tell a {
	border-bottom: solid 1px #004f9c;
	border-bottom: solid 1px var(--main-color);
	color: #004f9c;
	color: var(--main-color);
	font-size: 21px;
	font-size: var(--fs-7l);
	font-weight: 700;
	line-height: 1.2;
}

.tell::before {
	background: left center/19px 100% no-repeat url("../images/common/icon-tell.svg");
	box-sizing: content-box;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 24px;
	width: 29px;
}

:where(#content) .inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1150px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

/* ========================================
  keyimg（スクロールで回転しながら出現する装飾画像）
  - 仕組み: 要素に class="keyimg is-hide" を付ける。
    common.js が要素をビューポート70%地点で検知して is-show を付与 →
    rotate(-180deg)→0deg ＋ opacity 0→1 でフェードイン回転する。
  - 全ページ共通の再利用パーツ。配置（位置・サイズ）は各ページ側で
    .keyvisual-01 のようなクラスを足して指定する。
======================================== */

/* is-hide中はクリックを透過させない（装飾が最前面に来ても操作を邪魔しない保険） */

.is-hide:not(.is-show) * {
	pointer-events: none;
}

.keyimg {
	display: block;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: rotate(-180deg);
	transition: transform 1s ease 1s, opacity 1s ease 1s;
	transition: transform var(--key-time) ease 1s, opacity var(--key-time) ease 1s;
	z-index: -1;
}

.keyimg.is-show {
	opacity: 1;
	transform: rotate(0deg);
}

/* アクセシビリティ: 視差軽減設定では回転させず即表示 */

/*レイアウト*/

.content-w-inner {
	margin: 0 auto;
	max-width: 1200px;
	max-width: var(--contentmxwidth);
	position: relative;
	width: 92.307%;
	width: var(--content-w);
	z-index: 2;
}

.flex-spacebet {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.flex-start {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.flex-center {
	align-items: center;
	display: flex;
	justify-content: center;
}

.flex-end {
	align-items: center;
	display: flex;
	justify-content: flex-end;
}

.flex-column {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/*欧文フォント*/

.furuta {
	font-family: "futura-pt", sans-serif;
	font-weight: 400;
}

.furuta-bd {
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
}

/*改行・表示切替*/

.sp-br,
.sp-block {
	display: none;
}

/*翻訳表示切替（GTranslate）*/

:lang(ja) .langen,
:lang(auto) .langen {
	display: none;
}

:lang(en) .langja,
:lang(fr) .langja {
	display: none;
}

@media (hover: hover) {

a:hover {
	opacity: 0.8;
}

#site-footer .ct-li > li a:hover {
	background: #fff;
	background: var(--base-color);
	color: #004f9c;
	color: var(--main-color);
}

#site-footer .ct-li > li a:hover::after {
	background: right center/45px 100% no-repeat url("../images/common/icon-maru-nv-right.svg");
	background-position: calc(50% + 5px) center;
}

.main-navigation li.has-submenu:hover > .submenu-box {
	opacity: 1;
	visibility: visible;
}

.mv-btn-li a:hover {
	opacity: 1;
}

.column-li a:hover .thumb img {
	transform: scale(1.2, 1.2);
}

a:hover .img-box-hover img {
	transform: scale(1.2, 1.2);
	transform: var(--img-trans-scale);
}

a:hover .img-hover img {
	transform: scale(1.2, 1.2);
	transform: var(--img-trans-scale);
}

.icon-maru-nv-right:hover::after,
a:hover .icon-maru-nv-right::after {
	background-position: left 5px center;
}

.icon-maru-nv-right-big:hover::after,
a:hover .icon-maru-nv-right-big::after {
	background-position: left 5px center;
}

.icon-maru-nv-right-left:hover::before,
a:hover .icon-maru-nv-right-left::before {
	background-position: left 5px center;
}

.icon-maru-wh-right:hover::after,
a:hover .icon-maru-wh-right::after {
	background-position: right 5px center;
}

.icon-maru-wh-right-left:hover::before,
a:hover .icon-maru-wh-right-left::before {
	background-position: left 5px center;
}

.icon-maru-nv-link:hover::after,
a:hover .icon-maru-nv-link::after {
	background-position: left 5px center;
}

.icon-maru-nv-down:hover::before,
a:hover .icon-maru-nv-down::before {
	transform: translateY(5px);
}

.icon-arrow-nv-right-left:hover::before,
a:hover .icon-arrow-nv-right-left::before {
	background-position: left 5px center;
}

.icon-arrow-nv-right-center:hover::before,
a:hover .icon-arrow-nv-right-center::before {
	transform: translateX(50%);
}

.icon-arrow-nv-right:hover::after,
a:hover .icon-arrow-nv-right::after {
	background-position: left 5px center;
}

.icon-arrow-gy-down:hover::after,
a:hover .icon-arrow-gy-down::after {
	transform: translateY(10px);
}

}

@media (any-hover: hover) {

.p-clinic-kv__arrow {
	transition: opacity 0.3s;
}

.p-clinic-kv__arrow:hover:not(:disabled):not(.swiper-button-disabled) {
	opacity: 0.7;
}

.p-clinic-anchor__link { /* ホバーでアイコンを下へ（アンカーリンクの下向き矢印に合わせる） */
}

.p-clinic-anchor__link:hover {
	opacity: 0.7;
}

.p-clinic-anchor__link:hover .p-clinic-anchor__icon {
	transform: translateY(0.25rem);
}

.p-clinic-textlink { /* ホバーで丸＋矢印を右へ */
}

.p-clinic-textlink:hover {
	opacity: 0.7;
}

.p-clinic-textlink:hover .p-clinic-textlink__icon {
	transform: translateX(0.3125rem);
}

.p-clinic-news__link { /* ホバーで丸＋矢印を右へ */
}

.p-clinic-news__link:hover {
	opacity: 0.7;
}

.p-clinic-news__link:hover .p-clinic-news__icon {
	transform: translateX(0.3125rem);
}

.p-clinic-service__feature:hover .p-clinic-service__feature-img img {
	transform: scale(1.05);
}

.p-clinic-service__feature:hover .p-clinic-textlink__icon {
	transform: translateX(0.3125rem);
}

.p-clinic-service__card:hover .p-clinic-service__card-img img {
	transform: scale(1.05);
}

.p-clinic-service__card:hover .p-clinic-textlink__icon {
	transform: translateX(0.3125rem);
}

.p-clinic-btn { /* ホバーで丸矢印を右へ（p-dock-btnと同挙動） */
}

.p-clinic-btn:hover {
	opacity: 0.7;
}

.p-clinic-btn:hover .p-clinic-btn__arrow {
	transform: translateX(0.3125rem);
}

.p-clinic-types__card:hover .p-clinic-types__img {
	transform: scale(1.05);
}

.p-clinic-types__card:hover .p-clinic-types__link-icon {
	transform: translateX(0.3125rem);
}

.p-clinic-types__link:hover {
	opacity: 0.7;
}

.p-clinic-depts__hero:hover .p-clinic-depts__hero-img img {
	transform: scale(1.05);
}

.p-clinic-depts__hero:hover .p-clinic-textlink__icon {
	transform: translateX(0.3125rem);
}

.p-clinic-depts__card:hover .p-clinic-depts__card-img img {
	transform: scale(1.05);
}

.p-clinic-depts__card:hover .p-clinic-depts__arrow {
	transform: translateX(0.3125rem);
}

.p-clinic-cta__ningen:hover .p-clinic-cta__ningen-arrow {
	transform: translateX(0.3125rem);
}

.p-dock-kv__nav-link { /* ホバーでアイコンを下へ（アンカーリンクの下向き矢印に合わせる） */
}

.p-dock-kv__nav-link:hover {
	opacity: 0.7;
}

.p-dock-kv__nav-link:hover .p-dock-kv__nav-icon {
	transform: translateY(0.25rem);
}

.p-dock-course__item:hover .p-dock-course__icon img,
.p-dock-search__item:hover .p-dock-course__icon img {
	transform: scale(1.12);
}

.p-dock-btn { /* ホバーで丸＋矢印を右へ */
}

.p-dock-btn:hover {
	opacity: 0.7;
}

.p-dock-btn:hover .p-dock-btn__icon {
	transform: translateX(0.3125rem);
}

.p-dock-reason__media-link:hover {
	opacity: 0.7;
}

.p-dock-reservation__link:hover {
	opacity: 0.7;
}

.p-dock-cal__nav-btn:hover {
	opacity: 0.7;
}

.p-dock-cta__button:hover {
	opacity: 0.7;
}

.p-dock-agecard__link:hover .p-dock-agecard__icon {
	transform: translateX(0.3125rem);
}

.p-dock-disease-intro:hover .p-dock-disease-intro__link img {
	transform: translateX(0.3125rem);
}

.p-dock-disease-card:hover .p-dock-disease-card__link img {
	transform: translateX(0.3125rem);
}

.p-dock-disease-cat__card:hover .p-dock-disease-cat__link img {
	transform: translateX(0.3125rem);
}

.p-dock-ladies-about__link:hover {
	opacity: 0.7;
}

.p-dock-ladies-about__link:hover .p-dock-ladies-about__link-icon {
	transform: translateX(0.3125rem);
}

.p-dock-wd-courselink:hover {
	opacity: 0.7;
}

.p-dock-wd-courselink:hover img {
	transform: translateX(0.3125rem);
}

.p-dock-nc-anchor__item:hover {
	opacity: 0.7;
}

.p-dock-nc-courselink:hover {
	opacity: 0.7;
}

.p-dock-nc-courselink:hover img {
	transform: translateX(0.3125rem);
}

.p-dock-eq-anchor__item:hover {
	opacity: 0.7;
}

.p-dock-eq-textlink:hover {
	opacity: 0.7;
}

.p-dock-eq-textlink:hover img {
	transform: translateX(0.3125rem);
}

.p-dock-insp-card:hover .p-dock-insp-card__link-icon {
	transform: translateX(0.3125rem);
}

.p-dock-insp-card:hover .p-dock-insp-card__img {
	transform: scale(1.05);
}

.p-dock-textlink:hover {
	opacity: 0.7;
}

.p-dock-textlink:hover .p-dock-textlink__icon {
	transform: translateX(0.3125rem);
}

.p-dock-optintro__link:hover {
	opacity: 0.7;
}

.p-dock-optitem__link:hover .p-dock-optitem__link-text {
	opacity: 0.7;
}

.p-dock-optitem__link:hover .p-dock-optitem__link-icon {
	transform: translateX(0.3125rem);
}

.p-dock-optitem__toggle:hover {
	opacity: 0.7;
}

.p-hemo-cta__tab:hover {
	opacity: 1;
}

.p-hemo-cta__tab:hover .p-hemo-cta__tab-arrow {
	transform: translateX(0.3125rem);
}

.p-hemo-contact__button:hover {
	opacity: 0.7;
}

.p-hemo-arrow:hover {
	transform: translateX(0.3125rem);
}

.p-hemo-links__card:hover {
	opacity: 0.8;
}

.p-hemo-links__card:hover .p-hemo-arrow {
	transform: translateX(0.3125rem);
}

.p-ibo-cases__head:hover {
	opacity: 0.7;
}

.p-ibo-cases__movie:hover .p-ibo-cases__movie-icon {
	background-color: #004fa2;
	background-color: var(--main-color02);
}

.p-ibo-cases__movie:hover .p-ibo-cases__movie-icon::before {
	border-left-color: #fff;
}

.p-ibo-modal__close:hover {
	opacity: 0.7;
}

.p-ibo-doctor__link:hover {
	opacity: 0.7;
}

.p-ibo-doctor__link:hover img {
	transform: translateX(0.375rem);
}

.clinic-anal-fistula .p-ibo-about__card:hover .p-ibo-about__card-img {
	transform: scale(1.05);
}

.clinic-anal-fistula .p-ibo-about__card:hover .p-ibo-doctor__link img {
	transform: translateX(0.375rem);
}

.p-days-list__link:hover .p-days-list__link-icon {
	transform: translateX(0.3125rem);
}

.p-days-flow__tab:not(.is-active):hover {
	background: rgba(0, 0, 0, 0.35);
}

.p-drugs-anchor__item:hover {
	opacity: 0.7;
}

.p-anat-sec__link a:hover {
	opacity: 0.7;
}

.p-anat-sec__link a:hover .p-anat-sec__link-icon {
	transform: translateX(0.3125rem);
}

.p-sr-access__value a:hover {
	opacity: 0.7;
}

.p-sr-access__map-link a:hover {
	opacity: 0.7;
}

}

@media (prefers-reduced-motion: reduce) {

.p-clinic-blob.is-hide,
.p-clinic-ring.is-hide {
	transform: none;
	transition: opacity 0.3s;
}

.p-clinic-blob.is-hide {
	opacity: 1;
}

.p-clinic-ring.is-hide {
	opacity: 0.55;
}

.keyimg {
	transform: none;
	transition: opacity 0.3s;
}

}

@media (prefers-reduced-motion: no-preference) {

.p-clinic-about__photos.is-scroll-ready .p-clinic-about__col--first {
	animation: clinic-about-scroll-down 40s linear infinite;
	animation: clinic-about-scroll-down var(--scroll-dur, 40s) linear infinite;
}

.p-clinic-about__photos.is-scroll-ready .p-clinic-about__col--second {
	animation: clinic-about-scroll-up 40s linear infinite;
	animation: clinic-about-scroll-up var(--scroll-dur, 40s) linear infinite;
}

}

@media screen and (min-width: 768px) {

.p-clinic-anchor__list {
	display: grid !important;
}

.p-dock-kv__nav-list {
	display: flex !important;
}

.p-days-anchor .p-clinic-anchor__list {
	display: flex !important;
}

}

@media (min-width: 1440px) {

.p-clinic-results__bg-img--left {
	width: 60.8333%;
}

.p-clinic-results__bg-img--right {
	margin-left: -10%;
	width: 49.1667%;
}

}

@media screen and (max-width: 1440px) {

#site-footer .bg {
	background-size: 50cqw 32.0138cqw;
}

}

@media screen and (max-width: 1200px) {

:root {
	--contentmxwidth: 100%;
	--content-w: 92.307%;
	--content-title: 2.8333cqw;
	--content-about-title: 3.8333cqw;
	--fs-9l: 2.3333cqw;
	--fs-8l: 1.8333cqw;
	--fs-7l: 1.75cqw;
	--fs-6l: 1.6666cqw;
	--fs-5l: 1.5833cqw;
	--fs-4l: 1.5cqw;
	--fs-3l: 1.4166cqw;
	--fs-ll: 1.3333cqw;
	--fs-l: 1.25cqw;
	--fs-m: 1.1666cqw;
	--fs-s: 1.0833cqw;
	--fs-xs: 1cqw;
	--fs-xxs: 0.9166cqw;
	--fs-xxxs: 0.8333cqw;
	--margin: 0.8333cqw;
	--boxshadow: 0px 0.25cqw 0.5cqw 0px rgba(0, 0, 0, 0.08);
	--boxshadow-m: 0px 0.25cqw 0.8333cqw 0px rgba(0, 43, 85, 0.08);
	--textshadow: 0px 0.25cqw 0.5cqw rgba(0, 0, 0, 0.3);
	--textshadow-m: 0px 0px 1.25cqw rgba(0, 0, 0, 0.5);
	--icon-arrow-nv-down-w: 0.8333cqw;
	--icon-arrow-nv-down-h: 0.5cqw;
	--icon-arrow-nv-down-bg: right center/0.8333cqw 0.5cqw no-repeat url("../images/common/icon-arrow-nv-down.svg");
	--icon-arrow-nv-up-bg: right center/0.8333cqw 0.5cqw no-repeat url("../images/common/icon-arrow-nv-up.svg");
	--icon-maru-w: 3cqw;
	--icon-maru-h: 3cqw;
	--icon-maru-wh-w: 6.4102cqw;
	--icon-maru-wh-h: 6.4102cqw;
	--icon-maru-nv-big: 4.16cqw;
	--icon-maru-link-w: 4.1666cqw;
	--icon-maru-link-h: 4.1666cqw;
	--icon-arrow-nv-right-w: 1.0833cqw;
	--icon-arrow-nv-right-h: 0.8333cqw;
	--tell-w: 1.5833cqw;
	--tell-h: 2cqw;
}

h1 {
	font-size: 1cqw;
}

h2 {
	font-size: 2.3333cqw;
}

h3 {
	font-size: 2cqw;
}

h4 {
	font-size: 1.8333cqw;
}

.p-dock-feature__item {
	grid-template-columns: 1fr 55%;
}

.p-dock-feature__item--reverse {
	grid-template-columns: 55% 1fr;
}

.p-dock-feature__text {
	margin-left: 2.5rem;
}

.p-dock-feature__item--reverse .p-dock-feature__text {
	margin-left: 1.875rem;
	margin-right: 2.5rem;
}

#site-footer .footer-content .logo {
	display: none;
	width: 38cqw;
}

.main-navigation .submenu-dock {
	-moz-column-gap: normal;
	column-gap: normal;
	justify-content: space-between;
	row-gap: 1em;
}

.main-navigation .submenu-dock > li {
	width: 32%;
}

.icon-maru-nv-right::after {
	background-size: var(--icon-maru-w) 100%;
	height: var(--icon-maru-h);
	width: calc(var(--icon-maru-w) + 10px);
	width: calc(var(--icon-maru-w) + var(--margin));
}

.icon-maru-nv-right-big::after {
	background-size: var(--icon-maru-nv-big) 100%;
	height: var(--icon-maru-nv-big);
	width: calc(var(--icon-maru-nv-big) + 10px);
	width: calc(var(--icon-maru-nv-big) + var(--margin));
}

.icon-maru-nv-right-left::before {
	background-size: var(--icon-maru-w) 100%;
	height: var(--icon-maru-h);
	padding-right: 10px;
	padding-right: var(--margin);
	width: calc(var(--icon-maru-w) + 10px);
	width: calc(var(--icon-maru-w) + var(--margin));
}

.icon-maru-wh-right::after {
	background-size: var(--icon-maru-wh-w) 100%;
	height: var(--icon-maru-h);
	width: calc(var(--icon-maru-wh-w) + 10px);
	width: calc(var(--icon-maru-wh-w) + var(--margin));
}

.icon-maru-wh-right-left::before {
	background-size: var(--icon-maru-wh-w) 100%;
	height: var(--icon-maru-h);
	padding-right: 10px;
	padding-right: var(--margin);
	width: calc(var(--icon-maru-wh-w) + 10px);
	width: calc(var(--icon-maru-wh-w) + var(--margin));
}

.icon-maru-nv-link::after {
	background-size: var(--icon-maru-link-w) 100%;
	height: var(--icon-maru-h);
	width: calc(var(--icon-maru-link-w) + 10px);
	width: calc(var(--icon-maru-link-w) + var(--margin));
}

.icon-maru-nv-down::before {
	background-size: var(--icon-maru-w) 100%;
	height: var(--icon-maru-h);
	width: var(--icon-maru-w);
}

.icon-arrow-nv-right-left::before {
	display: none;
}

.icon-arrow-nv-right-center::before {
	background-size: var(--icon-arrow-nv-right-w) 100%;
	height: var(--icon-arrow-nv-right-h);
	width: var(--icon-arrow-nv-right-w);
}

.icon-arrow-nv-right::after {
	background-size: var(--icon-arrow-nv-right-w) 100%;
	height: var(--icon-arrow-nv-right-h);
	width: calc(var(--icon-arrow-nv-right-w) + 10px);
	width: calc(var(--icon-arrow-nv-right-w) + var(--margin));
}

.icon-arrow-gy-down::after {
	background-size: var(--icon-maru-w) 100%;
	height: var(--icon-maru-h);
	width: calc(var(--icon-maru-w) + 10px);
	width: calc(var(--icon-maru-w) + var(--margin));
}

.tell::before {
	background-size: var(--tell-w) 100%;
	height: var(--tell-h);
	width: calc(var(--tell-w) + 10px);
	width: calc(var(--tell-w) + var(--margin));
}

}

@media screen and (max-width: 1200px) and (hover: hover) {

.icon-maru-nv-right:hover::after {
	background-position: left calc(10px / 2) center;
	background-position: left calc(var(--margin) / 2) center;
}

.icon-maru-nv-right-left:hover::before {
	background-position: left calc(10px / 2) center;
	background-position: left calc(var(--margin) / 2) center;
}

.icon-maru-wh-right:hover::after {
	background-position: right calc(10px / 2) center;
	background-position: right calc(var(--margin) / 2) center;
}

.icon-maru-wh-right-left:hover::before {
	background-position: left calc(10px / 2) center;
	background-position: left calc(var(--margin) / 2) center;
}

.icon-maru-nv-link:hover::after {
	background-position: left calc(10px / 2) center;
	background-position: left calc(var(--margin) / 2) center;
}

.icon-maru-nv-down:hover::before {
	transform: translateY(calc(10px / 2));
	transform: translateY(calc(var(--margin) / 2));
}

.icon-arrow-nv-right:hover::after {
	background-position: left calc(10px / 2) center;
	background-position: left calc(var(--margin) / 2) center;
}

.icon-arrow-gy-down:hover::after,
a:hover .icon-arrow-gy-down::after {
	transform: translateY(calc(10px / 2));
	transform: translateY(calc(var(--margin) / 2));
}

}

@media (max-width: 1100px) {

html {
	font-size: 1.4545454545vw;
}

}

@media screen and (max-width: 787px) {

html {
	line-height: 1.7;
}

}

@media screen and (max-width: 782px) {

body.admin-bar #header {
	top: 46px;
}

html #wpadminbar {
	overflow: hidden;
}

}

@media (max-width: 768px) {

a[href^="tel:"] {
	pointer-events: auto;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

:root {
	--contentmxwidth: 100%;
	--content-title: 7.1794cqw;
	--content-about-title: 8.2051cqw;
	--fs-9l: 6.923cqw;
	--fs-8l: 5.3846cqw;
	--fs-7l: 5.1282cqw;
	--fs-6l: 4.8717cqw;
	--fs-5l: 4.6153cqw;
	--fs-4l: 4.3589cqw;
	--fs-3l: 4.1025cqw;
	--fs-ll: 3.8461cqw;
	--fs-l: 3.5897cqw;
	--fs-m: 3.3333cqw;
	--fs-s: 3.0769cqw;
	--fs-xs: 2.8205cqw;
	--fs-xxs: 2.5641cqw;
	--fs-xxxs: 2.5641cqw;
	--content-w: 92.307%;
	--content-pd: 3.8465%;
	--margin: 2.5641cqw;
	--boxshadow: 0px 0.7692cqw 1.5384cqw 0px rgba(0, 0, 0, 0.08);
	--boxshadow-m: 0px 0.7692cqw 2.564cqw 0px rgba(0, 43, 85, 0.08);
	--textshadow: 0px 0px 0px rgba(0, 0, 0, 0);
	--textshadow-m: 0px 0px 0px rgba(0, 0, 0, 0);
	--icon-arrow-nv-down-w: 3.3333cqw;
	--icon-arrow-nv-down-h: 2.0512cqw;
	--icon-arrow-nv-down-bg: right center/3.3333cqw 2.0512cqw no-repeat url("../images/common/icon-arrow-nv-down.svg");
	--icon-arrow-nv-up-bg: right center/3.3333cqw 2.0512cqw no-repeat url("../images/common/icon-arrow-nv-up.svg");
	--icon-maru-w: 6.4102cqw;
	--icon-maru-h: 6.4102cqw;
	--icon-maru-down-w: 7.6923cqw;
	--icon-maru-down-h: 7.6923cqw;
	--icon-maru-big-w: 8.4615cqw;
	--icon-maru-big-h: 8.4615cqw;
	--icon-maru-wh-w: 6.4102cqw;
	--icon-maru-wh-h: 6.4102cqw;
	--icon-maru-nv-big: 6.51cqw;
	--icon-maru-link-w: 8.4615cqw;
	--icon-maru-link-h: 8.4615cqw;
	--icon-arrow-nv-right-w: 3.6871cqw;
	--icon-arrow-nv-right-h: 2.7666cqw;
	--tell-w: 3.4883cqw;
	--tell-h: 4.4186cqw;
}

h1 {
	font-size: 7.1794cqw;
}

h2 {
	font-size: 6.1538cqw;
}

h3 {
	font-size: 5.1282cqw;
}

h4 {
	font-size: 5.6154cqw;
}

.p-clinic-kv__main {
	display: flex;
	flex-direction: column;
	height: auto;
}

.p-clinic-kv__slider {
	aspect-ratio: 390/276;
	left: auto;
	order: 2;
	position: relative;
	right: auto;
	top: -1.25rem;
	width: 100%;
}

.p-clinic-kv__slider::after {
	content: none;
}

.p-clinic-kv__slider .swiper-slide {
	aspect-ratio: 390/276;
	height: auto;
}

.p-clinic-kv__photo {
	-webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
	mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
}

.p-clinic-kv__body {
	order: 1;
	padding: 0.5rem 1.25rem 1.125rem;
	position: static;
	transform: none;
	width: 100%;
}

.p-clinic-kv__logo img {
	width: 15.8125rem;
}

.p-clinic-kv__title {
	font-size: 2rem;
	letter-spacing: 0.04em;
	margin-top: 0.25rem;
}

.p-clinic-kv__lead {
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.p-clinic-kv__badge {
	background-color: rgba(255, 255, 255, 0.9);
	border-bottom-left-radius: 0;
	border-top-left-radius: 0.75rem;
	bottom: 1.25rem;
	font-size: 0.75rem;
	height: 2.8125rem;
	min-width: 7.9375rem;
	padding-left: 1rem;
	padding-right: 1rem;
	top: auto;
	width: auto;
}

.p-clinic-kv__strip {
	height: auto;
	padding-bottom: 1rem;
	padding-top: 0;
}

.p-clinic-kv__arrow {
	top: 34%;
}

.p-clinic-kv__arrow--prev {
	left: 0.5rem;
}

.p-clinic-kv__arrow--next {
	right: 0.5rem;
}

.p-clinic-kv__dots {
	margin-top: 0.75rem;
}

.p-clinic-anchor__inner {
	max-width: calc(100% - 2.5rem);
	padding-bottom: 0;
	padding-top: 2.3125rem;
	width: 21.875rem;
}

.p-clinic-anchor__toggle {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border: none;
	color: #444444;
	color: var(--txt-color02);
	cursor: pointer;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 0.8125rem;
	font-weight: 700;
	height: 2.8125rem;
	justify-content: space-between;
	letter-spacing: 0.04em;
	padding: 0 0.875rem 0 1.8125rem;
	width: 100%;
}

.p-clinic-anchor__list {
	display: none;
	gap: 0.125rem;
	grid-template-columns: 1fr;
	margin-top: 0.125rem;
}

.p-clinic-anchor__link {
	font-size: 0.8125rem;
	gap: 0;
	height: 2.8125rem;
	justify-content: space-between;
	padding: 0 0.875rem 0 1.8125rem;
}

.p-clinic-anchor__link > :first-child:not(.p-clinic-anchor__icon) {
	flex: 1;
	width: auto;
}

.p-clinic-anchor__text {
	flex: 1;
	width: auto;
}

.p-clinic-anchor__note {
	display: inline;
	font-size: 0.6875rem;
}

.p-clinic-anchor__icon {
	font-weight: 900;
}

.p-clinic-head__en {
	font-size: 0.75rem;
	line-height: 1.4;
}

.p-clinic-head__title {
	font-size: 2rem;
}

.p-clinic-bgtext {
	font-size: 8.75rem;
	line-height: 12.5rem;
}

.p-clinic-service__inner,
.p-clinic-results__panel,
.p-clinic-types__inner,
.p-clinic-access__inner,
.p-clinic-greeting__inner {
	max-width: 37.5rem;
}

.p-clinic-service__bgtext {
	bottom: -5.5rem;
	left: 0.25rem;
}

.p-clinic-cta__bgtext {
	display: none;
}

.p-clinic-access__bgtext {
	display: block;
	left: -11.875rem;
	top: -4.375rem;
}

.p-clinic-about__blob {
	left: -8.5rem;
	top: -2.875rem;
	width: 47.5rem;
}

.p-clinic-news__blob {
	right: -7.5rem;
	top: 60rem;
	width: 62.5rem;
}

.p-clinic-service__blob--l {
	left: -8.75rem;
	top: -1.875rem;
	width: 62.5rem;
}

.p-clinic-service__blob--r {
	bottom: -5.375rem;
	right: -4.875rem;
	top: auto;
	width: 62.5rem;
}

.p-clinic-results__blob {
	left: -31.25rem;
	width: 62.5rem;
}

.p-clinic-hemo__blob--r {
	bottom: 54.625rem;
	right: -14.0625rem;
	top: auto;
	width: 62.5rem;
}

.p-clinic-hemo__blob--l {
	left: -13.125rem;
	top: 10.4375rem;
	width: 62.5rem;
}

.p-clinic-types__blob {
	max-width: none;
	right: -41.5625rem;
	top: 43.125rem;
	width: 62.5rem;
}

.p-clinic-types__blob--b {
	display: block;
	max-width: none;
	right: -41.5625rem;
	top: 100rem;
	width: 62.5rem;
}

.p-clinic-types__blob--c {
	display: block;
	left: -15rem;
	max-width: none;
	top: 140.625rem;
	width: 62.5rem;
}

.p-clinic-access__blob {
	bottom: -2.625rem;
	right: -8.3125rem;
	top: auto;
	width: 62.5rem;
}

.p-clinic-access__blob--l {
	left: -9.9375rem;
	top: -3.375rem;
	width: 62.5rem;
}

.p-clinic-doctors__blob {
	right: -31.25rem;
	width: 62.5rem;
}

.p-clinic-greeting__blob {
	right: -31.25rem;
	width: 62.5rem;
}

.p-clinic-about__ring {
	left: -14.625rem;
	top: -9.375rem;
	width: 31.25rem;
}

.p-clinic-news__ring {
	right: -10.625rem;
	top: 53.4375rem;
	width: 33.75rem;
}

.p-clinic-img__ring {
	left: -11.875rem;
	top: 10rem;
	width: 33.75rem;
}

.p-clinic-service__ring {
	bottom: -8.125rem;
	right: -12.5rem;
	top: auto;
	width: 33.75rem;
}

.p-clinic-hemo__ring {
	display: block;
	right: -18.75rem;
	width: 33.75rem;
}

.p-clinic-types__ring {
	left: 2.0625rem;
	max-width: none;
	top: 121.875rem;
	width: 47.5rem;
}

.p-clinic-access__ring {
	left: -11rem;
	right: auto;
	top: -3.875rem;
	width: 33.75rem;
}

.p-clinic-about {
	margin-top: 1.5rem;
	overflow: hidden;
}

.p-clinic-about__bgtext {
	bottom: -3.125rem;
	left: -1.25rem;
	top: auto;
}

.p-clinic-about__inner {
	display: block;
}

.p-clinic-about__body {
	margin-left: 0;
	padding: 0 1.25rem;
	text-align: center;
	width: 100%;
}

.p-clinic-about__text {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-clinic-about__text p + p {
	margin-top: 1.5rem;
}

.p-clinic-about__photos {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent), linear-gradient(to bottom, transparent, #000 2rem, #000 calc(100% - 31rem), transparent);
	-webkit-mask-composite: source-in;
	gap: 0.5rem;
	height: 31.5625rem;
	margin: 1.5rem auto 0;
	mask-composite: intersect;
	mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent), linear-gradient(to bottom, transparent, #000 2rem, #000 calc(100% - 31rem), transparent);
	width: 31.25rem;
}

.p-clinic-about__col--first {
	margin-top: -6.8125rem;
	width: 14.125rem;
}

.p-clinic-about__col--second {
	margin-top: 0.5rem;
	width: 16.625rem;
}

.p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 0.5rem;
}

.p-clinic-about__photo--1 {
	height: 17.1875rem;
}

.p-clinic-about__photo--2 {
	height: 10.75rem;
}

.p-clinic-about__photo--3 {
	height: 9.4375rem;
}

.p-clinic-about__photo--4 {
	height: 11.1875rem;
}

.p-clinic-about__photo--5 {
	height: 11.3125rem;
}

.p-clinic-about__photo--6 {
	height: 11.0625rem;
}

.p-clinic-badge {
	letter-spacing: 0.04em;
}

.p-clinic-textlink {
	-webkit-text-decoration: underline;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	text-decoration: underline;
	text-underline-position: from-font;
}

.p-clinic-news {
	margin-top: 1.5rem;
	padding: 0 1.25rem 2.75rem;
}

.p-clinic-news__card {
	padding: 3rem 1.25rem;
}

.p-clinic-news__head {
	text-align: center;
}

.p-clinic-news__more {
	justify-content: center;
	margin-top: 1.5rem;
	position: static;
}

.p-clinic-news__list {
	margin-top: 1.5rem;
}

.p-clinic-news__link {
	flex-wrap: wrap;
	padding: 1.25rem 3.75rem 1.25rem 1.25rem;
}

.p-clinic-news__meta {
	display: block;
	width: 100%;
}

.p-clinic-news__cats {
	margin-left: 0;
	margin-top: 1rem;
}

.p-clinic-news__title {
	font-size: 0.9375rem;
	font-weight: 500;
	margin-left: 0;
	margin-top: 0.625rem;
	width: 100%;
}

.p-clinic-news__icon {
	height: 1.75rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
	z-index: 10;
}

.p-clinic-img__photo {
	aspect-ratio: 390/286;
}

.p-clinic-service {
	padding: 3.5rem 0 3rem;
}

.p-clinic-service__feature {
	background: #f5f7fa;
	background: var(--bg-blue);
	box-shadow: none;
	display: block;
	margin-top: 1.5rem;
	padding-right: 0;
}

.p-clinic-service__feature-img {
	height: auto;
	width: 100%;
}

.p-clinic-service__feature-img img {
	aspect-ratio: 350/219;
	height: auto;
}

.p-clinic-service__feature-body {
	margin-left: 0;
	padding: 1.5rem 1rem 1.25rem;
}

.p-clinic-service__title-row {
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
}

.p-clinic-service__feature-name {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	text-align: center;
}

.p-clinic-service__catch {
	font-size: 1rem;
	margin-top: 1rem;
}

.p-clinic-service__text {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
}

.p-clinic-service__feature .p-clinic-textlink {
	justify-content: center;
	margin-top: 1.5rem;
}

.p-clinic-service__cards {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-clinic-service__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	box-shadow: none;
}

.p-clinic-service__card-name {
	letter-spacing: 0.04em;
	text-align: center;
}

.p-clinic-service__card .p-clinic-service__text {
	font-size: 0.875rem;
	margin-top: 1rem;
}

.p-clinic-service__card .p-clinic-textlink {
	justify-content: center;
	margin-top: 1.5rem;
}

.p-clinic-cta .p-dock-cta__info-item:first-child {
	border-bottom-color: #b0c9e3;
	border-bottom-color: var(--second-color);
}

.p-clinic-cta .p-dock-cta__info-closed {
	font-size: 0.75rem;
}

.p-clinic-cta__closed-em {
	display: block;
	font-size: 1rem;
}

.p-clinic-cta__note {
	font-size: 0.875rem;
}

.p-clinic-cta__note2 {
	border-bottom: none;
	font-size: 0.875rem;
	padding-bottom: 1.5rem;
}

.p-clinic-cta__menu {
	margin-top: 0;
}

.p-clinic-cta__table-scroll {
	margin-top: 0.75rem;
	overflow-x: auto;
}

.p-clinic-cta__table {
	margin: 0 auto;
	table-layout: fixed;
	width: 33.75rem;
}

.p-clinic-cta__table thead th {
	font-size: 1rem;
	padding: 0.625rem 0.5rem;
}

.p-clinic-cta__table-menu {
	width: 10rem;
}

.p-clinic-cta__table-remarks {
	width: 8.75rem;
}

.p-clinic-cta__table tbody th {
	font-size: 1rem;
	padding: 0.9375rem 0.5rem;
}

.p-clinic-cta__table tbody td {
	font-size: 1rem;
	padding: 0.9375rem 0.5rem;
}

.p-clinic-cta__table td.p-clinic-cta__table-note {
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
}

.p-clinic-results {
	padding-bottom: 3.5rem;
}

.p-clinic-results__bg {
	top: -11.25rem;
}

.p-clinic-results__bg-img--left {
	height: 13.9375rem;
	width: 55%;
}

.p-clinic-results__bg-img--right {
	height: 13.9375rem;
	margin-left: -10%;
	width: 55%;
}

.p-clinic-results__panel {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: #fff;
	margin-top: 12.6875rem;
	padding-bottom: 0;
	padding-top: 3.5rem;
}

.p-clinic-results__total {
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.p-clinic-results__total-nums {
	flex-direction: column;
	gap: 0;
}

.p-clinic-results__total-num {
	font-size: 3.25rem;
}

.p-clinic-results__total-num--sub {
	font-size: 3rem;
}

.p-clinic-results__total-unit {
	font-size: 1rem;
}

.p-clinic-results__stats {
	gap: 1.375rem;
	grid-template-columns: 21.875rem;
	margin-top: 1.5rem;
}

.p-clinic-results__stat {
	flex-direction: row;
	justify-content: space-between;
}

.p-clinic-results__stat-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	max-width: 10.625rem;
	width: 100%;
}

.p-clinic-results__stat-label {
	font-size: 0.75rem;
	margin-top: 0;
	min-height: 0;
}

.p-clinic-results__stat-line {
	display: none;
}

.p-clinic-results__stat-value {
	margin-top: 0;
	padding-top: 0;
}

.p-clinic-results__stat-num {
	font-size: 3rem;
}

.p-clinic-results__stat-unit {
	font-size: 1.25rem;
}

.p-clinic-btn {
	font-size: 0.875rem;
	gap: 0.625rem;
	padding: 0.75rem 1.5rem;
}

.p-clinic-btn--lg {
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.p-clinic-btn__label {
	text-align: left;
}

.p-clinic-hemo__bg {
	height: 13.9375rem;
}

.p-clinic-hemo__panel {
	margin-top: 7.0625rem;
	max-width: calc(100% - 2.5rem);
	width: 21.875rem;
}

.p-clinic-hemo__intro {
	-webkit-backdrop-filter: blur(1.25rem);
	backdrop-filter: blur(1.25rem);
	background: rgba(255, 255, 255, 0.4);
	padding: 3.5rem 1.25rem 1.5rem;
}

.p-clinic-hemo__lead {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-clinic-hemo__buttons {
	align-items: center;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.p-clinic-hemo__buttons .p-clinic-btn {
	font-size: 0.75rem;
	justify-content: space-between;
	width: 19.375rem;
}

.p-clinic-hemo__card {
	background: #f5f7fa;
	background: var(--bg-blue);
	padding: 3.5rem 1.25rem;
}

.p-clinic-hemo__card-title {
	font-size: 1.625rem;
	line-height: 1.4;
}

.p-clinic-hemo__card-title-small {
	font-size: 1rem;
}

.p-clinic-hemo__card-text {
	font-size: 1rem;
	margin-top: 1.5rem;
}

.p-clinic-hemo__points {
	align-items: center;
	flex-direction: column;
	margin-top: 1.5rem;
}

.p-clinic-hemo__point {
	width: 19.375rem;
}

.p-clinic-hemo__point + .p-clinic-hemo__point {
	border-left: none;
	border-top: 0.025rem solid #004fa2;
	border-top: 0.025rem solid var(--main-color02);
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

.p-clinic-hemo__point-text {
	letter-spacing: 0.04em;
}

.p-clinic-hemo__features {
	flex-direction: column;
	gap: 1rem;
	margin-top: 1.5rem;
}

.p-clinic-hemo__feature {
	width: 100%;
}

.p-clinic-hemo__feature-num {
	font-size: 2rem;
}

.p-clinic-hemo__feature-title {
	font-size: 1.25rem;
	margin-top: 1.5rem;
}

.p-clinic-hemo__feature-text {
	font-size: 0.875rem;
}

.p-clinic-hemo__card-btn .p-clinic-btn {
	justify-content: space-between;
	width: 19.375rem;
}

.p-clinic-types {
	padding-bottom: 0;
	padding-top: 3.5rem;
}

.p-clinic-types__lead {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-clinic-types__cards {
	gap: 1.875rem;
	margin-top: 1.5rem;
}

.p-clinic-types__card {
	max-width: none;
	width: 100%;
}

.p-clinic-types__card--lvsos::before {
	display: block;
}

.p-clinic-types__body {
	min-height: auto;
	padding: 1.25rem 0.375rem;
}

.p-clinic-types__label {
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
}

.p-clinic-types__name {
	font-size: 1.375rem;
	line-height: 1.3;
}

.p-clinic-types__link {
	-webkit-text-decoration: underline;
	font-family: "Noto Serif JP", serif;
	gap: 1rem;
	text-decoration: underline;
	text-underline-position: from-font;
}

.p-clinic-access {
	margin-top: 2.1875rem;
	overflow: hidden;
	padding-top: 3.5rem;
}

.p-clinic-access__body {
	display: block;
	margin-top: 1.5rem;
}

.p-clinic-access__map {
	height: 17.5rem;
	width: 100%;
}

.p-clinic-access__info {
	margin-left: 0;
	margin-top: 1.5rem;
	text-align: center;
	width: 100%;
}

.p-clinic-access__name {
	height: 4rem;
	max-width: 21.875rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.p-clinic-access__name img {
	width: 17.5rem;
}

.p-clinic-access__label {
	font-size: 0.875rem;
}

.p-clinic-access__value {
	font-size: 0.875rem;
}

.p-clinic-access__more {
	display: flex;
	justify-content: center;
	margin-top: 1rem;
}

.p-clinic-doctors {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 3.5rem;
}

.p-clinic-doctors__scroll {
	display: none;
}

.p-clinic-doctors__table {
	margin-left: 0;
	margin-right: 0;
	width: 56.25rem;
}

.p-clinic-doctors__time {
	font-size: 1rem;
}

.p-clinic-doctors__dept {
	font-size: 0.875rem;
}

.p-clinic-greeting {
	padding: 3.5rem 0 4rem;
}

.p-clinic-greeting__body {
	display: block;
	margin-top: 1.5rem;
}

.p-clinic-greeting__photo {
	aspect-ratio: 350/373;
	height: auto;
	width: 100%;
}

.p-clinic-greeting__text-area {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-clinic-greeting__label {
	text-align: center;
}

.p-clinic-greeting__name {
	font-size: 1.625rem;
	margin-top: 0.3125rem;
	text-align: center;
}

.p-clinic-greeting__text {
	font-size: 0.875rem;
}

.p-clinic-greeting__text p + p {
	margin-top: 1.5rem;
}

.p-clinic-cta .p-dock-cta__title {
	font-size: 1.5rem;
}

.p-clinic-doctors__sp {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 21.875rem;
}

.p-clinic-doctors__sp-cell {
	line-height: 1.1;
}

.clinic-shinjuku .p-clinic-kv__logo img {
	width: 14.5rem;
}

.clinic-shinjuku .p-clinic-about__photos {
	gap: 0.8125rem;
	height: 33.75rem;
	width: 32rem;
}

.clinic-shinjuku .p-clinic-about__col--first {
	width: 16rem;
}

.clinic-shinjuku .p-clinic-about__col--second {
	margin-top: 2.5rem;
	width: 15.1875rem;
}

.clinic-shinjuku .p-clinic-about__photo {
	height: 10.6875rem;
}

.clinic-shinjuku .p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 0.8125rem;
}

.p-clinic-cta--shinjuku .p-dock-cta__info-item:first-child {
	border-bottom-color: #cc716b;
}

.p-clinic-cta__days {
	font-size: 0.875rem;
}

.p-clinic-gastro {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-clinic-gastro__lead {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-clinic-gastro__cards {
	gap: 1.5rem;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-clinic-gastro__img {
	height: auto;
}

.p-clinic-gastro__label {
	font-size: 1.125rem;
}

.p-clinic-gastro__title {
	font-size: 1rem;
}

.p-clinic-gastro__btn {
	margin-top: 1.5rem;
}

.clinic-shinjuku .p-clinic-kv__title {
	font-size: 1.75rem;
	white-space: normal;
}

.clinic-shinjuku .p-clinic-service__catch {
	text-align: center;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table-scroll {
	overflow-x: visible;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table {
	width: 100%;
}

.p-clinic-cta--shinjuku .p-clinic-cta__table-menu {
	width: 54%;
}

.clinic-shincho .p-clinic-kv__title {
	font-size: 2rem;
}

.clinic-shincho .p-clinic-about__photos {
	gap: 0.8125rem;
	height: 33.75rem;
	width: 32rem;
}

.clinic-shincho .p-clinic-about__col--first {
	width: 16rem;
}

.clinic-shincho .p-clinic-about__col--second {
	margin-top: 2.5rem;
	width: 15.1875rem;
}

.clinic-shincho .p-clinic-about__photo {
	height: 10.6875rem;
}

.clinic-shincho .p-clinic-about__photo + .p-clinic-about__photo {
	margin-top: 0.8125rem;
}

.p-clinic-depts {
	padding: 3.5rem 0 3rem;
}

.p-clinic-depts__inner {
	max-width: 37.5rem;
}

.p-clinic-depts__list {
	margin-top: 1.5rem;
}

.p-clinic-depts__hero {
	background: #f5f7fa;
	background: var(--bg-blue);
	box-shadow: none;
	display: block;
	padding-right: 0;
}

.p-clinic-depts__hero-img {
	height: auto;
	width: 100%;
}

.p-clinic-depts__hero-img img {
	aspect-ratio: 350/219;
	height: auto;
}

.p-clinic-depts__hero-body {
	margin-left: 0;
	padding: 1.5rem 1rem 1.25rem;
}

.p-clinic-depts__hero-name {
	font-size: 1.5rem;
	text-align: center;
}

.p-clinic-depts__hero .p-clinic-textlink {
	justify-content: center;
	margin-top: 1.5rem;
}

.p-clinic-depts__title-row {
	flex-direction: column;
	gap: 0.75rem;
	justify-content: center;
}

.p-clinic-depts__text {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
}

.p-clinic-depts__grid {
	gap: 1.5rem;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-clinic-depts__card {
	display: block;
	min-height: 0;
}

.p-clinic-depts__card-img {
	height: 12.5rem;
	width: 100%;
}

.p-clinic-depts__card-body {
	padding: 1.5rem 1rem 1.25rem;
	text-align: center;
}

.p-clinic-depts__arrow {
	display: block;
	margin: 1rem auto 0;
	position: static;
}

.p-clinic-cta__ningen {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1.25rem 1.5rem;
}

.p-clinic-cta__ningen-title {
	font-size: 1.125rem;
}

.p-clinic-cta--shincho .p-dock-cta__info-item:first-child {
	border-bottom-color: #3a9d6b;
}

.clinic-shincho__doctors .p-clinic-doctors__scroll {
	display: block;
	overflow-x: auto;
}

.p-clinic-doctors__table--shincho {
	width: 57.5rem;
}

.site-content {
	padding-bottom: 0;
}

:where(#content) .inner {
	padding: 0 0.9375rem !important;
	padding: 0 var(--inner-pad-sp, 0.9375rem) !important;
}

:where(#content) .inner {
	max-width: 37.5rem;
}

.inner-w {
	max-width: 37.5rem;
}

.sec-head__en::before,
.sec-head__en::after {
	width: 2rem;
}

.sec-head__en-text {
	line-height: 1.5;
}

.sec-head__title {
	font-size: 2rem;
	letter-spacing: -0.05em;
	line-height: 1.25;
}

.sec-head__text {
	letter-spacing: 0.04em;
	text-align: left;
}

.p-dock-kv__img {
	-o-object-position: top center;
	aspect-ratio: 390/455;
	height: 100%;
	object-position: top center;
}

.p-dock-kv__body {
	max-width: 37.5rem;
	padding: 0 1.25rem;
	top: 17.375rem;
	width: 100%;
}

.p-dock-kv__badge {
	font-size: 1.125rem;
	padding: 1.0625rem 0.75rem;
}

.p-dock-kv__title {
	font-size: 1.75rem;
	line-height: 1.5;
	margin-top: 1rem;
}

.p-dock-kv__lead {
	font-size: 0.9375rem;
	line-height: 1.5;
}

.p-dock-kv__nav {
	margin: 3.75rem auto 0;
	max-width: 22.5rem;
	width: 100%;
}

.p-dock-kv__nav-toggle {
	align-items: center;
	background: #f5f7fa;
	background: var(--bg-blue);
	border: none;
	color: #3d3d3d;
	cursor: pointer;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 0.8125rem;
	font-weight: 700;
	height: 2.8125rem;
	justify-content: space-between;
	letter-spacing: 0.04em;
	padding: 0 0.875rem 0 1.8125rem;
	width: 100%;
}

.p-dock-kv__nav-list {
	display: none;
}

.p-dock-kv__nav-item {
	margin-top: 0.125rem;
}

.p-dock-kv__nav-link {
	font-size: 0.8125rem;
	height: 2.8125rem;
	padding: 0 0.875rem 0 1.8125rem;
	width: 100%;
}

.p-dock-message {
	margin-top: 2.5625rem;
	padding-bottom: 2.5rem;
}

.p-dock-news {
	padding-bottom: 2.5rem;
	padding-top: 3.75rem;
}

.p-dock-news__more-wrap {
	margin-top: 2rem;
}

.p-dock-courses {
	background: right 34% bottom/auto 100% no-repeat url("../images/dock/course_bg_01.webp");
	padding-bottom: 0;
}

.p-dock-course {
	padding-top: 2.5rem;
}

.p-dock-course__list {
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-course__item {
	min-height: 11rem;
}

.p-dock-course__link {
	padding: 0.625rem 1.25rem 1.25rem;
}

.p-dock-course__badge {
	padding: 0.25rem;
}

.p-dock-course__name {
	font-size: 0.9375rem;
}

.p-dock-course__desc {
	font-size: 0.75rem;
	line-height: 1.5;
}

.p-dock-search__list {
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-dock-search__item {
	min-height: 6.75rem;
}

.p-dock-search__name {
	font-size: 0.9375rem;
}

.p-dock-search {
	margin-top: 2.5rem;
}

.p-dock-feature {
	padding-top: 4.375rem;
}

.p-dock-feature__list {
	margin-top: 1.875rem;
}

.p-dock-feature__item {
	display: flex;
	flex-direction: column-reverse;
	min-height: 0;
}

.p-dock-feature__item::before {
	content: none;
}

.p-dock-feature__item--reverse {
	display: flex;
	flex-direction: column;
}

.p-dock-feature__item + .p-dock-feature__item {
	margin-top: 0;
}

.p-dock-feature__text {
	background: linear-gradient(180deg, #eaf0f6 53.14%, rgba(252, 250, 244, 0.2) 98.2%);
	margin-left: auto;
	margin-right: auto;
	margin-top: -2.5rem;
	max-width: none;
	padding: 1.875rem 1.25rem;
	position: relative;
	width: 88%;
	z-index: 11;
}

.p-dock-feature__item--reverse .p-dock-feature__text {
	margin-left: 0;
	margin-right: 0;
}

.p-dock-feature__title {
	font-size: 1.375rem;
	line-height: 1.75;
}

.p-dock-feature__desc {
	font-size: 0.75rem;
}

.p-dock-feature__desc br {
	display: none;
}

.p-dock-feature__img img {
	aspect-ratio: 390/270;
	height: 100%;
}

.p-dock-feature__more-wrap {
	margin-top: 0;
}

.p-dock-btn {
	padding: 0.75rem 2.5rem;
}

.p-dock-compare {
	margin-top: 3.75rem;
}

.p-dock-compare__title {
	font-size: 1.25rem;
	line-height: 1.5;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-compare__inner {
	max-width: 37.5rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

.p-dock-compare__scroll {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-dock-compare__table {
	min-width: 56.25rem;
	z-index: 0;
}

.p-dock-compare__table th,
.p-dock-compare__table td {
	font-size: 0.8125rem;
	line-height: 1.3;
}

.p-dock-compare__table th.p-dock-compare__head--item {
	width: 15rem;
}

.p-dock-reason {
	padding-top: 10.8125rem;
}

.p-dock-reason__bg {
	height: 19.4375rem;
}

.p-dock-reason__panel {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: transparent;
	max-width: 37.5rem;
	padding: 0 0.9375rem 1.5625rem;
}

.p-dock-reason__stats {
	gap: 0.3125rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.5rem;
}

.p-dock-reason__stat {
	border: none;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
	min-height: 10.625rem;
	padding: 1.875rem 0.5rem;
}

.p-dock-reason__icon {
	height: auto;
	width: 3.75rem;
}

.p-dock-reason__num {
	font-size: 1.875rem;
}

.p-dock-reason__unit {
	font-size: 0.75rem;
}

.p-dock-reason__media-title {
	font-size: 1.125rem;
}

.p-dock-reason__label {
	font-size: 0.75rem;
}

.p-dock-reason__cards {
	margin-top: 0.625rem;
}

.p-dock-reason__card {
	align-items: center;
	border: none;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
	min-height: 0;
	padding: 1rem;
}

.p-dock-reason__card-title {
	font-size: 1rem;
	text-align: center;
}

.p-dock-reason__card-sub {
	margin-right: auto;
}

.p-dock-reason__card-desc {
	font-size: 0.75rem;
}

.p-dock-reason__card-desc br {
	display: none;
}

.p-dock-important {
	padding-top: 3.5rem;
}

.p-dock-important__lead {
	margin-top: 2.5rem;
}

.p-dock-important__list {
	gap: 1.25rem;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
	padding: 0;
	width: 86%;
}

.p-dock-important__point {
	margin: 1.5rem auto 0;
	width: 88%;
}

.p-dock-important__note {
	font-size: 1.125rem;
	margin-top: 2rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-flow {
	padding-bottom: 3.5rem;
	padding-top: 3.5rem;
}

.p-dock-flow__list {
	gap: 0;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
	max-width: 37.5rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

.p-dock-flow__img img {
	-o-object-position: center center;
	aspect-ratio: 350/329;
	object-position: center center;
}

.p-dock-flow__body {
	padding: 0.9375rem 0.875rem 1.25rem;
}

.p-dock-flow__title {
	font-size: 1.5rem;
}

.p-dock-flow__items--center li {
	padding-left: 0;
}

.p-dock-flow__items--center li::before {
	display: none;
}

.p-dock-faq {
	padding-bottom: 3.75rem;
	padding-top: 3.75rem;
}

.p-dock-faq__list {
	margin-top: 2.5rem;
}

.p-dock-faq__question {
	padding: 1.25rem 3.75rem 1.25rem 4.25rem;
}

.p-dock-faq__q {
	left: 1.25rem;
}

.p-dock-faq__toggle {
	right: 0.625rem;
}

.p-dock-faq__answer {
	font-size: 0.8125rem;
	padding: 0 1.25rem 1.25rem 3rem;
}

.p-dock-reservation {
	padding-bottom: 3.75rem;
	padding-top: 3.75rem;
}

.p-dock-reservation__cards {
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
	max-width: 37.5rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

.p-dock-reservation__card {
	padding: 1.5rem 1.25rem;
}

.p-dock-reservation__pdf {
	height: 26.25rem;
}

.p-dock-reservation__pdf-obj--pc {
	display: none;
}

.p-dock-reservation__pdf-obj--sp {
	display: block;
}

.keyvisual-01,
.keyvisual-10,
.keyvisual-11 {
	display: none;
}

.keyvisual-02 {
	left: -98vw;
	max-width: none;
	right: auto;
	top: 12.5rem;
	width: 154vw;
}

.keyvisual-04 {
	left: -95vw;
	max-width: none;
	right: auto;
	top: 12rem;
	width: 194vw;
}

.keyvisual-06 {
	left: -97vw;
	max-width: none;
	right: auto;
	top: 9.125rem;
	width: 194vw;
}

.keyvisual-08 {
	left: -100vw;
	max-width: none;
	right: auto;
	top: 37.125rem;
	width: 194vw;
}

.keyvisual-03 {
	left: auto;
	max-width: none;
	right: -119vw;
	top: 80.5rem;
	width: 218vw;
}

.keyvisual-05 {
	left: auto;
	max-width: none;
	right: -116vw;
	top: 6.375rem;
	width: 211vw;
}

.keyvisual-07 {
	left: auto;
	max-width: none;
	right: -116vw;
	top: 32.875rem;
	width: 211vw;
}

.keyvisual-09 {
	display: none;
}

.p-dock-cta {
	margin-top: 4rem;
	padding: 0;
}

.p-dock-cta__box {
	max-width: 37.5rem;
	padding: 4rem 1.25rem;
}

.dock-age-specific .p-dock-cta__box,
.dock-search-disease .p-dock-cta__box {
	margin-top: 2.5rem;
	padding-bottom: 4rem;
}

.p-dock-cta__title {
	font-size: 1.5rem;
}

.p-dock-cta__name::before,
.p-dock-cta__name::after {
	width: 2.5rem;
}

.p-dock-cta__buttons {
	flex-direction: column;
	gap: 0.75rem;
}

.p-dock-cta__button {
	flex: none;
}

.p-dock-cta__info {
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-cta__info-item {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-cta__info-item:first-child {
	border-bottom: 0.0625rem solid #138f6a;
	border-right: none;
	padding-bottom: 1.5rem;
}

.p-dock-cta__info-times {
	flex-direction: column;
	gap: 0.75rem;
}

.p-dock-cta__info-note {
	display: block;
	font-size: 0.8125rem;
	margin-left: 0;
}

.p-dock-subkv {
	height: 38.4375rem;
}

.p-dock-subkv__deco--01 {
	height: 59.1875rem;
	left: 21.90625rem;
	top: 38.40625rem;
	width: 63.1875rem;
}

.p-dock-subkv__deco--02 {
	height: 77.1875rem;
	left: 12.1875rem;
	top: 15.09375rem;
	width: 100rem;
}

.p-dock-subkv__bgtext--pc {
	display: none;
}

.p-dock-subkv__bgtext--sp {
	display: block;
	font-size: 6.2724375rem;
	left: -4.875rem;
	letter-spacing: -0.08em;
	top: 11.1875rem;
}

.p-dock-subkv__inner {
	max-width: none;
}

.p-dock-subkv__body {
	left: 1.25rem;
	top: 20.9375rem;
	width: 21.875rem;
}

.p-dock-subkv__title {
	line-height: 1.5;
}

.p-dock-subkv__photo {
	height: 25.3125rem;
}

.p-dock-subkv__anchor {
	display: none;
}

.p-dock-subkv__lead {
	margin-top: 4rem;
	padding: 1.25rem;
}

.p-dock-subkv__lead-text {
	font-size: 1.25rem;
	letter-spacing: 0;
}

.p-dock-agedeco {
	display: none;
}

.p-dock-agegroup {
	margin-top: 2.5rem;
}

.p-dock-agegroup__row {
	gap: 2.5rem;
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
}

.p-dock-agegroup .sec-head__en::before,
.p-dock-agegroup .sec-head__en::after,
.p-dock-risk .sec-head__en::before,
.p-dock-risk .sec-head__en::after {
	width: 4.5rem;
}

.p-dock-agecard__head {
	font-size: 1.125rem;
	height: 3.25rem;
}

.p-dock-agecard__body {
	padding: 1.5rem 0.625rem;
}

.p-dock-risk {
	margin-top: 4rem;
}

.p-dock-risk__lead {
	background: #f5f7fa;
	background: var(--bg-blue);
	color: #444444;
	color: var(--txt-color02);
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 1.5rem;
	padding: 1.25rem 1.5rem;
	text-align: center;
}

.p-dock-risk__item {
	flex-direction: column;
	padding: 0.625rem;
}

.p-dock-risk__photo {
	width: 100%;
}

.p-dock-risk__panel {
	padding: 1.5rem 1.25rem;
}

.p-dock-risk__cols {
	flex-wrap: wrap;
}

.p-dock-risk__col {
	width: 100%;
}

.p-dock-risk__col:first-child {
	width: 100%;
}

.p-dock-risk__col:nth-child(2) {
	width: 100%;
}

.p-dock-subkv__anchor--wide {
	display: none;
}

.p-dock-disease,
.p-dock-disease-cat {
	margin-top: 2.5rem;
}

#cardiac .inner {
	margin-top: 5rem;
}

.p-dock-disease-intro {
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-dock-disease-intro__photo {
	width: 100%;
}

.p-dock-disease-intro__photo img {
	aspect-ratio: 322/201;
}

.p-dock-disease-intro__title {
	font-size: 1.5rem;
}

.p-dock-disease__cards {
	gap: 2.5rem;
	grid-template-columns: 1fr;
}

.p-dock-disease-card {
	padding: 1.5rem 0.625rem;
}

.p-dock-disease-cat__cards {
	grid-template-columns: 1fr;
}

.p-dock-disease-cat__card {
	padding: 1.25rem 0.625rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__bgtext--sp {
	left: -12.3125rem;
	top: 11.0625rem;
}

.dock-multi-slice-ct-scan .p-dock-subkv__photo {
	height: 25.3125rem;
	width: 100%;
}

.dock-multi-slice-ct-scan .sec-head__title {
	font-size: 2rem;
	letter-spacing: -0.05em;
	line-height: 1.75;
}

.dock-multi-slice-ct-scan .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-ct-about {
	margin-top: 4rem;
}

.p-dock-ct-about__box {
	align-items: stretch;
	flex-direction: column;
	padding: 1.5rem;
}

.p-dock-ct-about__photo {
	order: 2;
	width: 100%;
}

.p-dock-ct-about__photo img {
	aspect-ratio: 4249/2502;
}

.p-dock-ct-about__body {
	order: 1;
}

.p-dock-ct-features {
	margin-top: 8rem;
}

.p-dock-ct-features__box {
	align-items: stretch;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.p-dock-ct-features__text {
	order: 2;
}

.p-dock-ct-features__photo {
	order: 1;
	width: 100%;
}

.p-dock-ct-features__photo img {
	aspect-ratio: 350/293;
	border-radius: 1rem;
}

.p-dock-ct-detect {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-ct-detect__deco {
	display: none;
}

.p-dock-ct-detect__list {
	gap: 2.5rem;
}

.p-dock-ct-detect__card {
	align-items: stretch;
	flex-direction: column;
	gap: 1.25rem;
	padding: 2rem 1.25rem;
}

.p-dock-ct-detect__card--reverse {
	flex-direction: column;
}

.p-dock-ct-detect__card--grid {
	gap: 1.25rem;
	padding: 2rem 1.25rem;
}

.p-dock-ct-detect__body {
	display: contents;
}

.p-dock-ct-detect__no {
	order: 1;
	text-align: center;
}

.p-dock-ct-detect__title {
	margin-top: -1.5rem;
	order: 1;
	text-align: center;
}

.p-dock-ct-detect__text {
	margin-top: 0;
	order: 3;
	text-align: left;
}

.p-dock-ct-detect__photo {
	order: 2;
	width: 100%;
}

.p-dock-ct-detect__grid {
	order: 2;
	width: 100%;
}

.p-dock-ct-pricing {
	padding-top: 4rem;
}

.p-dock-ct-pricing__deco {
	display: none;
}

.p-dock-ct-pricing__list {
	gap: 1.5rem;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

.p-dock-ct-pricing__card {
	gap: 0.625rem;
	padding: 1.25rem;
}

.p-dock-ct-pricing__head {
	display: contents;
}

.p-dock-ct-pricing__course {
	order: 1;
}

.p-dock-ct-pricing__name {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-ct-pricing__duration {
	font-size: 0.875rem;
	gap: 1.25rem;
}

.p-dock-ct-pricing__price {
	order: 3;
	text-align: left;
	width: 100%;
}

.p-dock-ct-pricing__price-main {
	font-size: 1.5rem;
}

.p-dock-ct-pricing__price-tax {
	font-size: 0.875rem;
}

.p-dock-ct-pricing__tags {
	order: 2;
}

.p-dock-ct-pricing__tag {
	padding: 0.25rem 0.75rem;
}

.p-dock-ct-pricing__box {
	order: 4;
}

.dock-brain-dock .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-brain-dock .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-brain-dock .p-dock-subkv__bgtext--sp {
	left: -12.3125rem;
	top: 11.0625rem;
}

.dock-brain-dock .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.dock-brain-dock .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-brain-dock .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-brain-features {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-brain-features__box {
	gap: 1.5rem;
	margin-top: 1.5rem;
	padding: 1.5rem 1.25rem;
	width: 90%;
}

.p-dock-brain-features__group {
	gap: 1.5rem;
}

.p-dock-brain-features__heading {
	font-size: 1.5rem;
}

.p-dock-brain-features__text {
	font-size: 0.875rem;
	letter-spacing: 0;
}

.p-dock-brain-features__methods-title {
	font-size: 1.5rem;
}

.p-dock-brain-features__list {
	flex-direction: column;
}

.p-dock-brain-features__list--sub {
	max-width: none;
}

.p-dock-brain-features__card {
	flex: none;
	width: 100%;
}

.p-dock-brain-features__list--sub .p-dock-brain-features__card {
	width: 100%;
}

.p-dock-brain-about {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 0;
}

.p-dock-brain-about__deco {
	display: none;
}

.p-dock-brain-about__box {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.p-dock-brain-about__photo {
	max-width: 21.125rem;
	width: 100%;
}

.p-dock-brain-about__recommend {
	margin-top: 0;
}

.p-dock-brain-about__recommend-list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-dock-brain-detect {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-brain-detect__table thead th:first-child,
.p-dock-brain-detect__table tbody th {
	width: 9.9375rem;
}

.p-dock-brain-detect__table tbody th {
	padding: 0.625rem;
}

.p-dock-brain-detect__table tbody td {
	padding: 0.625rem;
}

.dock-heart .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-heart .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-heart .p-dock-subkv__bgtext--sp {
	left: -12.3125rem;
	top: 11.0625rem;
}

.dock-heart .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.dock-heart .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-heart .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-heart-about {
	margin-top: 4rem;
}

.p-dock-heart-about__lead {
	margin-top: 1.25rem;
}

.p-dock-heart-about__list {
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.p-dock-heart-about__card {
	grid-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	grid-row-gap: 1.25rem;
	align-items: center;
	column-gap: 1.25rem;
	display: grid;
	grid-template-columns: 3rem 1fr;
	padding: 1.25rem;
	row-gap: 1.25rem;
}

.p-dock-heart-about__card-icon {
	grid-column: 1;
	grid-row: 1;
}

.p-dock-heart-about__card-body {
	display: contents;
}

.p-dock-heart-about__card-title {
	grid-column: 2;
	grid-row: 1;
}

.p-dock-heart-about__card-text {
	grid-column: 1/3;
	grid-row: 2;
}

.p-dock-heart-features {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-heart-features__deco {
	display: none;
}

.p-dock-heart-features__lead {
	margin-top: 1.25rem;
}

.p-dock-heart-features__list {
	gap: 1.5rem;
}

.p-dock-heart-features__block {
	align-items: stretch;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem 1.25rem;
}

.p-dock-heart-features__block-body {
	flex: none;
	padding-bottom: 0;
	padding-top: 0;
}

.p-dock-heart-features__block-title {
	font-size: 1.5rem;
}

.p-dock-heart-features__block-photo {
	width: 100%;
}

.p-dock-heart-features__block-pair {
	flex-direction: column;
	width: 100%;
}

.p-dock-heart-features__block-pair-item {
	width: 100%;
}

.p-dock-heart-features__block-wide {
	width: 100%;
}

.p-dock-heart-compare__table-wrap {
	overflow-x: auto;
}

.p-dock-heart-compare__table {
	margin: 0 auto;
	width: 21.375rem;
}

.p-dock-heart-compare__table th[scope=col]:first-child,
.p-dock-heart-compare__table th[scope=row] {
	width: 7.5rem;
}

.p-dock-heart-compare__table tbody td {
	letter-spacing: 0;
	padding: 0.9375rem 0.375rem;
}

.p-dock-heart-choose__title {
	font-size: 1.25rem;
}

.dock-ladies .sec-head__title {
	font-size: 1.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-ladies .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-dock-ladies-about {
	padding-bottom: 0;
	padding-top: 4rem;
}

.p-dock-ladies-about__wrap {
	background: transparent;
	gap: 2.5rem;
	padding: 1.5rem 0;
}

.p-dock-ladies-about__deco {
	display: none;
}

.p-dock-ladies-about__features {
	gap: 2.5rem;
}

.p-dock-ladies-about__feature-card {
	align-items: stretch;
	background: transparent;
	flex-direction: column;
	gap: 1.25rem;
	padding-right: 0;
}

.p-dock-ladies-about__feature-card--reverse {
	flex-direction: column;
	padding-left: 0;
}

.p-dock-ladies-about__feature-card-photo {
	order: 2;
	width: 100%;
}

.p-dock-ladies-about__feature-card-body {
	flex: none;
	gap: 1rem;
	order: 1;
}

.p-dock-ladies-about__feature-card-title {
	font-size: 1.375rem;
	letter-spacing: 0.04em;
}

.p-dock-ladies-about__feature-card-text {
	letter-spacing: 0.04em;
}

.p-dock-ladies-about__breast-title {
	font-size: 1.5rem;
}

.p-dock-ladies-about__breast-row {
	align-items: stretch;
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-ladies-about__breast-text {
	flex: none;
	max-width: none;
}

.p-dock-ladies-about__breast-photo {
	width: 100%;
}

.p-dock-ladies-about__feature {
	gap: 1.5rem;
	padding: 1.5rem 1.25rem;
}

.p-dock-ladies-about__feature-row {
	align-items: normal;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-ladies-about__feature-text {
	margin-top: 0;
}

.p-dock-ladies-about__feature-photo {
	width: 100%;
}

.p-dock-ladies-about__recommend {
	margin-top: 0;
}

.p-dock-ladies-about__recommend-title {
	letter-spacing: 0;
}

.p-dock-ladies-about__flow {
	gap: 1.5rem;
}

.p-dock-ladies-about__flow-subtitle {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}

.p-dock-ladies-about__flow-title {
	letter-spacing: -0.03em;
}

.p-dock-ladies-about__flow-box {
	padding: 0.625rem;
}

.p-dock-ladies-about__flow-list {
	gap: 0.625rem;
	grid-template-columns: 1fr;
}

.p-dock-ladies-about__link {
	padding: 1.5rem 1.25rem;
}

.p-dock-ladies-about__uterine {
	margin-left: calc(50% - 50vw);
	padding: 4rem 1.25rem;
	width: 100vw;
}

.p-dock-ladies-about__uterine-deco {
	display: none;
}

.p-dock-ladies-about__uterine-cards {
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-ladies-about__uterine-card {
	flex: none;
}

.p-dock-ladies-about__uterine-card-body {
	padding: 1.25rem;
}

.dock-womens-disease .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-womens-disease .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-womens-disease .p-dock-subkv__bgtext--sp {
	left: -0.3125rem;
	top: 11.0625rem;
}

.dock-womens-disease .p-dock-subkv__photo {
	height: 100%;
	left: 0;
	width: 100%;
}

.dock-womens-disease .p-dock-subkv__title-sub {
	font-size: 2.375rem;
}

.dock-womens-disease .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.p-dock-wd-anchor {
	display: none;
}

.p-dock-wd-lead__box {
	font-size: 1.25rem;
	letter-spacing: 0;
	padding: 1.25rem;
}

.p-dock-wd-section {
	margin-top: 4rem;
}

.p-dock-wd-section--blue {
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-dock-wd-section .inner + .inner {
	margin-top: 2.5rem;
}

.p-dock-wd-block {
	margin-top: 1.5rem;
}

.p-dock-wd-section > .inner > .sec-head + .p-dock-wd-block,
.p-dock-wd-section > .inner > .sec-head + .p-dock-wd-block-row {
	margin-top: 1.5rem;
}

.p-dock-wd-block__title {
	font-size: 1.5rem;
}

.p-dock-wd-block__title--sp-center {
	text-align: center;
}

.p-dock-wd-block__title--sm {
	font-size: 1.25rem;
}

.p-dock-wd-photopair {
	gap: 0.625rem;
	height: auto;
}

.p-dock-wd-photopair img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
}

.p-dock-wd-checklist {
	margin-top: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-dock-wd-checklist__title {
	font-size: 1.5rem;
}

.p-dock-wd-checklist__cols {
	flex-direction: column;
	gap: 0.5rem;
}

.p-dock-wd-checklist__col {
	flex: none;
}

.p-dock-wd-checklist__item {
	font-size: 0.875rem;
}

.p-dock-wd-flow {
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.p-dock-wd-flow__list {
	flex-direction: column;
	height: auto;
}

.p-dock-wd-flow__list img {
	aspect-ratio: 260/199;
	flex: none;
	height: auto;
	width: 100%;
}

.p-dock-wd-courses {
	margin-top: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-dock-wd-courses__title {
	font-size: 1.5rem;
}

.p-dock-wd-courses__list {
	flex-direction: column;
	gap: 1.1875rem;
}

.p-dock-wd-block-row {
	align-items: stretch;
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-wd-block-row > img {
	width: 100%;
}

.p-dock-wd-block-row > .p-dock-wd-block-row__text {
	flex: none;
}

.p-dock-wd-block-row__col {
	flex: none;
}

.p-dock-wd-symptom-cards {
	gap: 1.125rem;
	grid-template-columns: 1fr;
}

.p-dock-wd-symptom-card__title {
	font-size: 1.25rem;
}

.p-dock-wd-symptom-card__item {
	align-items: flex-start;
	font-size: 0.875rem;
}

.p-dock-wd-numlist__item {
	align-items: flex-start;
	font-size: 0.875rem;
}

.p-dock-wd-panel {
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.dock-nematode-cancer .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-nematode-cancer .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-nematode-cancer .p-dock-subkv__bgtext--sp {
	left: -0.3125rem;
	top: 11.0625rem;
}

.dock-nematode-cancer .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.dock-nematode-cancer .p-dock-subkv__en {
	line-height: 1.5;
}

.dock-nematode-cancer .p-dock-subkv__title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-nematode-cancer .sec-head__title {
	font-size: 2rem;
	line-height: 1.75;
}

.dock-nematode-cancer .inner {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.p-dock-nc-anchor {
	display: none;
}

.p-dock-nc-lead {
	margin-top: 4rem;
}

.p-dock-nc-lead__box {
	align-items: stretch;
	flex-direction: column;
	gap: 1.125rem;
	padding: 1.25rem;
}

.p-dock-nc-lead__img {
	aspect-ratio: 350/217;
	width: 100%;
}

.p-dock-nc-section {
	margin-top: 4rem;
}

.p-dock-nc-panel {
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-dock-nc-panel--wide {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.p-dock-nc-panel--table {
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.p-dock-nc-panel__row {
	display: block;
}

.p-dock-nc-panel__img {
	aspect-ratio: 322/228;
	width: 100%;
}

.p-dock-nc-panel__body {
	margin-left: 0;
	margin-top: 0.625rem;
}

.p-dock-nc-panel__title {
	font-size: 1.5rem;
}

.p-dock-nc-panel__subtitle {
	font-size: 1rem;
}

.p-dock-nc-panel__title + .p-dock-nc-panel__text {
	margin-top: 1.5rem;
}

.p-dock-nc-panel__block {
	margin-top: 0.625rem;
}

.p-dock-nc-courses {
	display: block;
	margin-top: 0.625rem;
}

.p-dock-nc-courses .p-dock-nc-courselink {
	display: flex;
	justify-content: flex-start;
	margin-top: 1rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-dock-nc-courses .p-dock-nc-courselink:first-child {
	margin-top: 0;
}

.p-dock-nc-dwibs__figures {
	display: block;
}

.p-dock-nc-dwibs__figure {
	aspect-ratio: 322/201;
	flex: none;
	max-width: none;
}

.p-dock-nc-dwibs__figure-block {
	display: flex;
	flex: none;
	flex-direction: column-reverse;
	gap: 16px;
	margin-top: 0.625rem;
	max-width: none;
}

.p-dock-nc-dwibs__figure-block img {
	aspect-ratio: 322/182;
}

.p-dock-nc-dwibs__figure-block video {
	max-width: 13.75rem;
}

.p-dock-nc-dwibs__body {
	margin-top: 1.5rem;
}

.p-dock-nc-dwibs__title {
	font-size: 1.5rem;
	text-align: center;
}

.p-dock-nc-dwibs__link {
	margin-top: 1.5rem;
}

.p-dock-nc-dwibs__btn {
	margin-top: 1.5rem;
}

.p-dock-nc-table-scroll {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-dock-nc-table thead th {
	padding: 0.9375rem 0.3125rem;
}

.p-dock-nc-table--exam thead th,
.p-dock-nc-table--diff thead th {
	height: 3.625rem;
	padding: 0.625rem;
}

.p-dock-nc-table--exam tbody th,
.p-dock-nc-table--exam tbody td,
.p-dock-nc-table--diff tbody th,
.p-dock-nc-table--diff tbody td {
	padding: 0.625rem;
}

.p-dock-nc-table--exam {
	min-width: 31.875rem;
}

.p-dock-nc-table--exam thead th:first-child,
.p-dock-nc-table--exam tbody th {
	width: 3.75rem;
}

.p-dock-nc-table--diff {
	min-width: 21.25rem;
}

.p-dock-nc-table--diff thead th:first-child,
.p-dock-nc-table--diff tbody th {
	width: 6.25rem;
}

.p-dock-nc-note--right {
	text-align: left;
}

.p-dock-nc-plans {
	margin-top: 1.5rem;
}

.p-dock-nc-plan {
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-dock-nc-plan__head {
	display: block;
	min-height: 0;
	padding-bottom: 1.875rem;
}

.p-dock-nc-plan__img {
	aspect-ratio: 322/201;
	width: 100%;
}

.p-dock-nc-plan__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-dock-nc-plan__title {
	font-size: 1.125rem;
}

.p-dock-nc-plan__tags {
	gap: 0.625rem;
	margin-top: 1.5rem;
}

.p-dock-nc-plan__desc {
	margin-top: 1.5rem;
}

.p-dock-nc-plan__price {
	margin-top: 1.5rem;
}

.p-dock-nc-plan__detail {
	display: block;
	margin-top: 1.5rem;
}

.p-dock-nc-plan__label {
	font-size: 1.5rem;
	line-height: 1.75;
	width: 100%;
}

.p-dock-nc-plan__plus {
	margin-top: 0.625rem;
}

.p-dock-nc-plan__items {
	margin-top: 0.625rem;
	width: 100%;
}

.p-dock-nc-price__closing {
	margin-top: 1.5rem;
}

.dock-inspection-equipment .p-dock-subkv__deco--01 {
	height: 59.1875rem;
	left: -9.6875rem;
	top: 8.8125rem;
	width: 63.1875rem;
}

.dock-inspection-equipment .p-dock-subkv__deco--02 {
	height: 77.1875rem;
	left: -37.8125rem;
	top: -23.5rem;
	width: 100rem;
}

.dock-inspection-equipment .p-dock-subkv__bgtext--sp {
	left: -4.875rem;
	top: 11.1875rem;
}

.dock-inspection-equipment .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.dock-inspection-equipment .sec-head__title {
	font-size: 2rem;
	line-height: 1.75;
}

.dock-inspection-equipment .inner {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.p-dock-eq-anchor {
	display: none;
}

.p-dock-eq-lead {
	margin-top: 4rem;
}

.p-dock-eq-lead__box {
	font-size: 1.25rem;
	letter-spacing: 0;
	padding: 1.25rem;
}

.p-dock-eq-section {
	margin-top: 4rem;
}

.p-dock-eq-panel {
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-dock-eq-panel__row {
	display: block;
}

.p-dock-eq-panel__img {
	aspect-ratio: 322/270;
	width: 100%;
}

.p-dock-eq-panel__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-dock-eq-panel__title {
	font-size: 1.5rem;
}

.p-dock-eq-feature {
	padding: 1.25rem;
}

.p-dock-eq-feature__title {
	font-size: 1.5rem;
}

.p-dock-eq-textlink {
	align-items: flex-start;
	gap: 0.75rem;
}

.p-dock-eq-detail {
	display: block;
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-dock-eq-detail__title {
	font-size: 1.5rem;
}

.p-dock-eq-detail__img {
	margin-left: 0;
	margin-top: 1.5rem;
	width: 100%;
}

.p-dock-eq-cards {
	margin-top: 1.5rem;
}

.p-dock-eq-card {
	display: block;
	padding: 0.625rem 0.625rem 1.25rem;
}

.p-dock-eq-card__img {
	width: 100%;
}

.p-dock-eq-card__body {
	margin-left: 0;
	margin-top: 1.25rem;
}

.p-dock-eq-card__title {
	font-size: 1.5rem;
}

.dock-inspection .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-inspection .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-inspection .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.dock-inspection .p-dock-subkv__body {
	left: 1.5rem;
	top: 21rem;
	width: 21.375rem;
}

.dock-inspection .sec-head__en::before,
.dock-inspection .sec-head__en::after {
	width: 1.75rem;
}

.dock-inspection .sec-head__en::before {
	margin-right: 0.25rem;
}

.dock-inspection .sec-head__en::after {
	margin-left: 0.25rem;
}

.dock-inspection .sec-head__title {
	color: #444444;
	color: var(--txt-color02);
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-inspection .sec-head__en-text {
	line-height: 1;
	white-space: nowrap;
}

.dock-inspection .inner {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.p-dock-insp-section {
	margin-top: 0;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-dock-insp-section--first {
	padding-top: 4rem;
}

.p-dock-insp-lead {
	margin-top: 1.5rem;
}

.p-dock-insp-note {
	font-size: 0.75rem;
	line-height: 1.75;
}

.p-dock-insp-note--right {
	font-size: 0.75rem;
	text-align: left;
}

.p-dock-insp-cards {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
	row-gap: 2.5rem;
}

.p-dock-insp-card {
	flex-direction: column;
	min-height: 28.875rem;
}

.p-dock-insp-card__thumb {
	width: 100%;
}

.p-dock-insp-card__img {
	aspect-ratio: 342/200;
}

.p-dock-insp-card__body {
	padding: 1.5rem 0.625rem 2.5rem;
}

.p-dock-insp-card__title {
	text-align: center;
}

.p-dock-insp-card__text {
	margin-top: 1rem;
}

.p-dock-insp-table--compact tbody tr {
	height: 4.75rem;
}

.p-dock-insp-table--compact thead tr {
	height: 6.5rem;
}

.p-dock-insp-table--compact {
	min-width: 0;
}

.p-dock-insp-table--compact .p-dock-insp-table__th,
.p-dock-insp-table--compact .p-dock-insp-table__rowhead,
.p-dock-insp-table--compact .p-dock-insp-table__td {
	font-size: 0.875rem;
	padding: 0.625rem 0.125rem;
	width: 33.333%;
}

.p-dock-insp-block {
	margin-top: 2.5rem;
}

.p-dock-insp-block__title {
	font-size: 1.5rem;
	text-align: center;
}

.p-dock-insp-block__text {
	margin-top: 1.5rem;
	text-align: center;
}

.p-dock-insp-equip {
	align-items: stretch;
	flex-direction: column;
	gap: 1rem;
	height: auto;
	padding-right: 0;
	width: 100%;
}

.p-dock-insp-equip__img {
	align-self: auto;
	aspect-ratio: 340/199;
	height: auto;
	width: 100%;
}

.p-dock-insp-equip__body {
	padding: 0.75rem 0.625rem 1.25rem;
}

.p-dock-insp-equip__name {
	font-size: 1rem;
}

.p-dock-insp-panel {
	padding: 2.5rem 0.625rem;
}

.p-dock-insp-scans {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 2.5rem;
}

.p-dock-insp-scans__label {
	grid-column: 1/-1;
}

.p-dock-insp-white--narrow {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	width: 100%;
}

.p-dock-insp-white__row {
	gap: 1.25rem;
	grid-template-columns: 1fr;
}

.p-dock-insp-white__pair {
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.p-dock-insp-figs {
	grid-template-columns: 1fr;
}

.p-dock-insp-cols {
	gap: 2.5rem;
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
}

.p-dock-insp-cols + .p-dock-insp-cols {
	margin-top: 2.5rem;
}

.p-dock-insp-quad {
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-dock-insp-endo {
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-insp-endo__main {
	width: 100%;
}

.p-dock-insp-endo__sub {
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.p-dock-insp-dwibs {
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-insp-dwibs__img {
	align-self: stretch;
	width: 100%;
}

.p-dock-insp-blood {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
	row-gap: 1.5rem;
}

.p-dock-insp-blood__item {
	padding: 2.5rem 0.625rem;
}

.p-dock-insp-blood__title {
	text-align: center;
}

.p-dock-barhead {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.p-dock-lhead__title {
	font-size: 1.5rem;
}

.p-dock-table {
	min-width: 42.5rem;
}

.p-dock-table th,
.p-dock-table td {
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
	padding: 0.625rem;
}

.p-dock-table thead th {
	font-size: 0.9375rem;
	padding: 0.5rem 0.625rem;
}

.p-dock-table__note {
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}

.p-dock-table--matrix {
	min-width: 56.25rem;
}

.p-dock-table--matrix thead th.p-dock-table__cell--organ {
	font-size: 0.6875rem;
}

.p-dock-dwibs {
	gap: 1.5rem;
}

.p-dock-dwibs__row {
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-dwibs__main {
	flex: none;
	width: 100%;
}

.p-dock-dwibs__side {
	width: 100%;
}

.p-dock-dwibs__text {
	letter-spacing: 0.02em;
}

.p-dock-dwibs__caption {
	order: -1;
}

.p-dock-dwibs-tables {
	gap: 1.5rem;
}

.p-dock-dwibs-tables__panel {
	gap: 1.25rem;
	padding: 1.25rem 1rem;
}

.p-dock-dwibs-tables .p-dock-table {
	min-width: 65rem;
}

.dock-cancer .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.dock-cancer .sec-head__title {
	font-size: 1.75rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.dock-cancer .p-dock-subkv__deco--01,
.dock-full-body .p-dock-subkv__deco--01 {
	height: 21.6875rem;
	left: 9.0625rem;
	top: 27.5625rem;
	width: 25.6875rem;
}

.dock-cancer .p-dock-subkv__deco--02,
.dock-full-body .p-dock-subkv__deco--02 {
	height: 14.6875rem;
	left: -6.5625rem;
	top: 7.75rem;
	width: 37.5rem;
}

.dock-cancer .p-dock-subkv__bgtext--sp,
.dock-full-body .p-dock-subkv__bgtext--sp {
	left: -3.9375rem;
	top: 11.125rem;
}

.dock-cancer .p-dock-subkv__photo,
.dock-full-body .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	width: 100%;
}

.p-dock-cancer-about {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-cancer-about__lead {
	padding: 1.5rem 1.25rem;
}

.p-dock-cancer-about__lead-text {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	line-height: 1.6;
}

.p-dock-cancer-about .p-dock-dwibs {
	margin-top: 1.5rem;
	padding: 1.5rem 1.25rem;
}

.p-dock-cancer-screening {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-cancer-screening__deco,
.p-dock-cancer-organs__deco {
	display: none;
}

.p-dock-cancer-screening__row {
	flex-direction: column;
	gap: 1.5rem;
}

.p-dock-cancer-screening__text {
	flex: none;
	letter-spacing: 0.02em;
}

.p-dock-cancer-screening__figure {
	width: 100%;
}

.p-dock-cancer-tables {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-cancer-tables__wrap {
	margin-top: 1.5rem;
	padding: 1.25rem 0.75rem;
}

.p-dock-cancer-organs {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-cancer-organs .inner {
	gap: 2rem;
}

.p-dock-cancer-organs__panel {
	gap: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-dock-cancer-organs__text {
	letter-spacing: 0.02em;
}

.p-dock-cancer-organs__note,
.p-dock-cancer-organs__caption {
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.p-dock-cancer-organs__photos {
	gap: 1rem;
	grid-template-columns: 1fr;
}

.p-dock-cancer-organs__cols {
	flex-direction: column;
	gap: 2rem;
}

.p-dock-cancer-organs__col {
	flex: none;
	width: 100%;
}

.p-dock-cancer-organs__split {
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-cancer-organs__split-body {
	flex: none;
	width: 100%;
}

.p-dock-cancer-organs__split-figure {
	width: 100%;
}

.p-dock-cancer-organs__split:not(.p-dock-cancer-organs__split--photos) .p-dock-cancer-organs__split-body {
	display: contents;
}

.p-dock-cancer-organs__split:not(.p-dock-cancer-organs__split--photos) .p-dock-cancer-organs__split-figure {
	order: 2;
}

.p-dock-cancer-organs__split:not(.p-dock-cancer-organs__split--photos) .p-dock-textlink {
	order: 3;
}

.p-dock-cancer-organs__split--photos {
	order: 1;
}

.p-dock-cancer-organs__split-figure--illust {
	width: 100%;
}

.dock-full-body .inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.dock-full-body .sec-head__title {
	font-size: 1.75rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-dock-fb-about {
	padding-top: 4rem;
}

.p-dock-fb-about__list {
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.p-dock-fb-about__intro {
	padding: 1.5rem 1.25rem;
}

.p-dock-fb-about__intro-row {
	align-items: stretch;
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-fb-about__intro-photo {
	width: 100%;
}

.p-dock-fb-about__intro-text,
.p-dock-fb-about__text {
	letter-spacing: 0.02em;
}

.p-dock-fb-block {
	gap: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-dock-fb-block__row {
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-fb-block__row--center {
	align-items: stretch;
	gap: 1.25rem;
}

.p-dock-fb-block__col {
	flex: none;
	width: 100%;
}

.p-dock-fb-block__text {
	letter-spacing: 0.02em;
}

.p-dock-fb-block__row > .p-dock-fb-block__text {
	flex: none;
}

.p-dock-fb-block__figure {
	width: 100%;
}

.p-dock-fb-block__figure--square {
	width: 100%;
}

.p-dock-fb-block__figure--dementia {
	width: 100%;
}

.p-dock-fb-block__figure--colon {
	width: 100%;
}

.p-dock-fb-block__panel {
	padding: 1.25rem 1rem;
}

.p-dock-fb-block__panel--stroke {
	padding: 1rem;
}

.p-dock-fb-breast__list {
	grid-template-columns: 1fr;
}

.p-dock-fb-figcards {
	flex-direction: column;
	gap: 1.25rem;
}

.p-dock-fb-figcards__item {
	flex: none;
	width: 100%;
}

.p-dock-fb-figcards__caption {
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.p-dock-fb-figcards__pair {
	grid-template-columns: 1fr;
}

.p-dock-fb-pricing__ribbon {
	font-size: 1.25rem;
	padding: 0.75rem 1rem;
}

.p-dock-fb-pricing__body {
	gap: 1rem;
	padding: 1.25rem;
}

.p-dock-fb-pricing__head {
	align-items: stretch;
	flex-direction: column;
	gap: 1rem;
}

.p-dock-fb-pricing__summary {
	font-size: 1.25rem;
}

.p-dock-fb-pricing__price-row {
	grid-gap: 0.5rem 1.25rem;
	align-items: center;
	display: grid;
	gap: 0.5rem 1.25rem;
	grid-template-areas: "label duration" "price price";
	grid-template-columns: auto auto;
	justify-content: space-between;
}

.p-dock-fb-pricing__price-label {
	grid-area: label;
}

.p-dock-fb-pricing__price-duration {
	align-items: baseline;
	flex-direction: row;
	font-size: 0.875rem;
	gap: 0.5rem;
	grid-area: duration;
}

.p-dock-fb-pricing__price-duration span:last-child {
	font-size: 1rem;
}

.p-dock-fb-pricing__price {
	grid-area: price;
	text-align: left;
}

.p-dock-fb-pricing__price .p-dock-ct-pricing__price-main {
	font-size: 2rem;
}

.p-dock-fb-pricing__price .p-dock-ct-pricing__price-tax {
	font-size: 1rem;
}

.p-dock-fb-pricing__lead {
	font-size: 0.875rem;
}

.dock-optional-inspection .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.dock-optional-inspection .p-dock-subkv__photo {
	height: 25.3125rem;
	left: 0;
	top: 0;
	width: 100%;
}

.p-dock-optintro {
	--inner-pad-sp: 1.5rem;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-dock-optintro__list {
	grid-gap: 1.5rem 0.75rem;
	display: grid;
	gap: 1.5rem 0.75rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-dock-optintro__item {
	width: 100%;
}

.p-dock-optcats {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-dock-optcat + .p-dock-optcat {
	margin-top: 4rem;
}

.p-dock-optcat__list {
	padding: 0;
}

.p-dock-optitem__head {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.5rem;
}

.p-dock-optitem__title {
	font-feature-settings: "palt" 1;
	flex: none;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	width: 100%;
}

.p-dock-optitem__meta {
	align-items: flex-start;
}

.p-dock-optcat__ring--01 {
	left: -4rem;
	right: auto;
}

.p-dock-optcat:not(:first-child) .p-dock-optcat__ring,
.p-dock-optcat__ring--02 {
	display: none;
}

#site-footer {
	padding-top: 0;
}

#site-footer .bg {
	background: #f5f8fa;
	background: var(--sub-color);
	padding: 12.8205cqw 0 calc(10px * 2);
	padding: 12.8205cqw 0 calc(var(--margin) * 2);
}

#site-footer .ct {
	margin-bottom: 10.2564cqw;
	transform: translateY(0);
}

#site-footer .ct-li {
	flex-wrap: wrap;
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
}

#site-footer .ct-li li {
	width: 100%;
}

#site-footer .ct-li > li a {
	border-radius: 5.1282cqw !important;
}

#site-footer .ct-li > li a {
	padding: 7.1794cqw 11.5384cqw;
	position: relative;
	text-align: left;
}

#site-footer .ct-li > li a .en {
	font-size: 6.1538cqw;
	margin-bottom: 0;
}

#site-footer .ct-li > li a::after {
	background-position: left center;
	bottom: 0;
	margin: auto;
	position: absolute;
	right: 11.5384cqw;
	top: 0;
}

#site-footer .footer-content {
	flex-wrap: wrap;
}

#site-footer .footer-content .logo {
	margin-bottom: 12.8205cqw;
	margin-left: 0;
	width: 46.1538cqw;
}

#site-footer .footer-nav-main .menu-medical > li {
	width: calc((100% - 10px) / 2);
	width: calc((100% - var(--margin)) / 2);
}

#site-footer .footer-nav-main .menu-other {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#site-footer .footer-nav-main .menu-other > li {
	width: calc((100% - 10px * 2) / 2);
	width: calc((100% - var(--margin) * 2) / 2);
}

#site-footer .footer-nav-main {
	margin-bottom: calc(10px * 5);
	margin-bottom: calc(var(--margin) * 5);
	width: 100%;
}

#site-footer .footer-nav-main .cell h4 {
	font-size: 18px;
}

#site-footer .footer-nav-main .cell:nth-of-type(1),
#site-footer .footer-nav-main .cell:nth-of-type(2) {
	max-width: 100%;
	padding: 0;
	width: 100%;
}

#site-footer .footer-nav-main .cell.cell-last {
	flex-wrap: wrap;
}

#site-footer .footer-nav-main .cell.cell-last .bnr-area {
	max-width: 100%;
	order: 2;
	width: 100%;
}

#site-footer .footer-nav-main .cell.cell-last .sns-nav {
	order: 1;
	width: 100%;
}

#site-footer .about-li {
	flex-wrap: wrap;
	gap: 10px;
	gap: var(--margin);
}

#site-footer .about-li > li {
	height: 11.5rem;
	padding: calc(10px * 1) calc(10px * 1);
	padding: calc(var(--margin) * 1) calc(var(--margin) * 1);
	position: relative;
	width: 48%;
}

#site-footer .about-li > li .address {
	font-size: 11px;
	font-size: var(--fs-xxs);
	margin-bottom: 0;
}

#site-footer .about-li > li .tell {
	bottom: calc(10px * 2);
	bottom: calc(var(--margin) * 2);
	position: absolute;
	right: calc(10px * 2);
	right: calc(var(--margin) * 2);
}

#site-footer .sns-nav img {
	height: 7.841cqw;
	width: auto;
}

#site-footer .footer-btm {
	padding: 1em 0;
}

#site-footer .footer-btm .inner {
	flex-wrap: wrap;
}

#site-footer .footer-btm .copyright {
	width: 100%;
}

#site-footer .footer-btm .nav-btm {
	justify-content: flex-start;
}

.totop {
	max-width: none;
	max-width: initial;
	right: 30px;
	width: 15.64cqw;
}

#header .bg {
	padding: calc(10px * 1.2) 0;
	padding: calc(var(--margin) * 1.2) 0;
}

#header .bg > .inner {
	padding: 0;
	width: 92.307%;
	width: var(--content-w);
}

#header .site-branding {
	margin-bottom: 0;
	padding: 0;
	width: 50cqw;
}

#header .lang {
	border: solid 1px #ededed;
	border: solid 1px var(--line-color);
	border-radius: 100vmax;
	margin-left: var(--content-pd);
	margin-right: var(--content-pd);
	padding: 0.5em 1.5em;
	width: 100%;
}

#header .lang::after {
	height: 3.50512cqw;
	left: 1em;
	width: 3.50512cqw;
}

#header .gtranslate_wrapper {
	justify-self: end;
	width: 90%;
}

#header .gt_selector {
	font-weight: 500;
	width: 100%;
}

.main-navigation {
	width: auto;
}

.main-navigation .nav-menu-sub {
	border-bottom: solid 1px #ededed;
	border-bottom: solid 1px var(--line-color);
	flex-wrap: wrap;
	font-size: 15px;
	font-size: var(--fs-l);
	padding-bottom: calc(10px * 2);
	padding-bottom: calc(var(--margin) * 2);
}

.main-navigation .nav-menu-sub > li {
	font-weight: 500;
	margin-bottom: 10px;
	margin-bottom: var(--margin);
	padding: 0 var(--content-pd);
	width: 100%;
}

.main-navigation .nav-menu-sub > li::after {
	display: none;
}

.main-navigation .nav-menu-sub .search-trigger {
	margin-top: calc(10px * 2);
	margin-top: calc(var(--margin) * 2);
	order: -2;
}

.main-navigation .nav-menu-sub .search-trigger > picture img {
	display: none;
}

.main-navigation .nav-menu-sub .search-popup {
	background: #fff;
	background: var(--base-color);
	display: block;
	position: relative;
}

.main-navigation .nav-menu-sub .search-close {
	display: none;
}

.main-navigation .nav-menu-sub .search-popup-inner {
	background-color: #f5f8fa;
	background-color: var(--sub-color);
	border: solid 1px #ededed;
	border: solid 1px var(--line-color);
	border-radius: 100vmax;
	font-weight: 400;
	padding: 0.5em 1.5em;
	width: 100%;
}

.main-navigation .nav-menu-sub .search-popup form button {
	height: 6.6666cqw;
	width: 6.6666cqw;
}

.main-navigation .lang {
	order: -1;
}

.main-navigation ul.nav-menu {
	flex-wrap: wrap;
}

.main-navigation ul.nav-menu > li {
	border-bottom: solid 1px #ededed;
	border-bottom: solid 1px var(--line-color);
	margin: 0;
	width: 100%;
}

.main-navigation ul.nav-menu > li:not(.has-submenu) > a {
	background: right calc(var(--content-pd) + 1.282cqw) center/3.6897cqw 2.7666cqw no-repeat url("../images/common/icon-arrow-nv-right.svg");
	padding: 1em var(--content-pd);
	text-align: left;
	transition: 0.3s;
	transition: var(--transition);
}

.main-navigation ul.nav-menu > li.has-submenu {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	text-align: left;
}

.main-navigation ul.nav-menu > li.has-submenu > a {
	background: none;
	padding: 1em var(--content-pd);
	text-align: left;
	width: 86%;
}

.main-navigation ul.nav-menu > li.has-submenu .submenu-toggle {
	background: right center/10px 6px no-repeat url("../images/common/icon-arrow-nv-down.svg");
	background: var(--icon-arrow-nv-down-bg);
	background-position: center center;
	display: block;
	transition: 0.3s;
	transition: var(--transition);
	width: 14%;
}

.main-navigation ul.nav-menu > li.has-submenu.focus .submenu-toggle {
	transform: rotate(180deg);
}

.main-navigation ul.nav-menu .submenu-box {
	height: 0;
	overflow: hidden;
	position: relative;
	transform: none;
	width: 100%;
}

.main-navigation ul.nav-menu .focus .submenu-box {
	height: auto;
	opacity: 1;
	visibility: visible;
	z-index: 10;
}

.main-navigation .submenu-box .inner {
	padding: 0;
}

.main-navigation .submenu-title-medical {
	display: none;
}

.main-navigation .submenu-medical {
	gap: 0;
}

.main-navigation .submenu-medical li {
	width: 50%;
}

.main-navigation .submenu-medical li:nth-child(odd) a {
	border-right: solid 1px #ededed;
	border-right: solid 1px var(--line-color);
}

.main-navigation .submenu-medical a {
	background: #f5f8fa;
	background: var(--sub-color);
	border-bottom: none;
	border-top: solid 1px #ededed;
	border-top: solid 1px var(--line-color);
	font-size: 16px;
	font-size: var(--fs-ll);
	padding: 1em calc(var(--content-pd) * 2);
}

.main-navigation .submenu-medical a::before {
	padding-right: 0;
}

.main-navigation .submenu-dock {
	flex-wrap: wrap;
	gap: 0;
}

.main-navigation .submenu-dock > li {
	background: #f5f8fa;
	background: var(--sub-color);
	border-top: solid 1px #ededed;
	border-top: solid 1px var(--line-color);
	padding: 1em var(--content-pd);
	width: 100%;
}

.main-navigation .submenu-dock .submenu-title {
	font-size: 3.5897cqw;
}

.main-navigation .submenu-dock .depts li {
	font-weight: 500;
}

body.mask {
	height: 100%;
	overflow: hidden;
}

body.mask::after {
	background-color: rgba(0, 0, 0, 0.7);
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	transition: 0.3s;
	transition: var(--transition);
	width: 100%;
}

.main-navigation .menu-header-navi-container {
	background-color: #fff;
	background-color: var(--base-color);
	box-sizing: border-box;
	display: block;
	height: 100vh;
	left: 0;
	list-style: none;
	margin: 0;
	opacity: 0;
	padding: 21.3953cqw 0 0;
	position: fixed;
	top: -100vh;
	transition-duration: 0.3s;
	transition-duration: var(--transition);
	width: 100%;
}

.main-navigation .menu-header-navi-container.open {
	left: 0;
	opacity: 1;
	overflow-y: auto;
	position: absolute;
	top: 0;
	z-index: -1;
}

.main-navigation #toggle {
	display: block;
	line-height: 1;
	position: relative;
}

.menu-trigger,
.menu-trigger span {
	box-sizing: border-box;
	display: inline-block;
	transition: all 0.4s;
}

.menu-trigger {
	background: none;
	border: none;
	height: 5.128cqw;
	position: relative;
	width: 7.6923cqw;
}

.menu-trigger span {
	background-color: #004f9c;
	background-color: var(--main-color);
	height: 0.7692cqw;
	left: 0;
	position: absolute;
	width: 100%;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.open span:nth-of-type(1) {
	transform: translateY(300%) rotate(-45deg);
}

.menu-trigger.open span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.open span:nth-of-type(3) {
	transform: translateY(-270%) rotate(45deg);
}

.p-hemo-fv {
	padding-bottom: 0;
	padding-top: 17.5rem;
}

.p-hemo-fv__bg {
	bottom: auto;
	height: auto;
	top: -2.375rem;
}

.p-hemo-fv__bg::after {
	content: none;
}

.p-hemo-fv__bg-img {
	-o-object-fit: cover;
	-o-object-position: center top;
	aspect-ratio: 390/443;
	height: auto;
	object-fit: cover;
	object-position: center top;
}

.p-hemo-fv__inner {
	width: calc(100% - 2.5rem);
}

.p-hemo-fv__title {
	font-size: 2rem;
	line-height: 1.6;
}

.p-hemo-fv__title-particle {
	font-size: 1.25rem;
}

.p-hemo-fv__lead {
	font-size: 0.9375rem;
	line-height: 1.8;
}

.p-hemo-fv__results {
	margin-top: 1.5rem;
}

.p-hemo-fv__results-label {
	font-size: 0.875rem;
	justify-content: center;
	margin-left: 0;
}

.p-hemo-fv__totals {
	justify-content: center;
}

.p-hemo-fv__total-label {
	font-size: 0.75rem;
}

.p-hemo-fv__total-num {
	font-size: 2.125rem;
}

.p-hemo-fv__total-unit {
	font-size: 0.8125rem;
}

.p-hemo-fv__stats {
	justify-content: center;
	margin-top: 1.5rem;
}

.p-hemo-fv__stat {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.p-hemo-fv__stat:not(:last-child) {
	border-right: none;
}

.p-hemo-fv__stat-value {
	margin-top: 0.5rem;
}

.p-hemo-fv__stat-num {
	font-size: 1.75rem;
}

.p-hemo-fv__stat-unit {
	font-size: 0.75rem;
}

.p-hemo-fv__anchor {
	margin-top: 2rem;
}

.clinic-hemo .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 0;
}

.clinic-hemo .p-clinic-anchor__list {
	gap: 0.125rem;
	grid-template-columns: 1fr;
}

.p-hemo-message {
	padding-top: 4rem;
}

.p-hemo-message__inner {
	width: calc(100% - 2.5rem);
}

.p-hemo-message__text {
	font-size: 0.9375rem;
	margin-top: 1rem;
	text-align: left;
}

.p-hemo-problem {
	margin-top: 4rem;
}

.p-hemo-problem__bg {
	left: -18.75rem;
	top: 11.25rem;
	width: 68.75rem;
}

.p-hemo-problem__inner {
	width: calc(100% - 2.5rem);
}

.p-hemo-problem__lead {
	margin-top: 1rem;
}

.p-hemo-problem__cards {
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2rem;
}

.p-hemo-problem__card {
	min-height: 0;
	padding: 1.25rem 0.75rem;
}

.p-hemo-problem__card-title {
	font-size: 1rem;
}

.p-hemo-problem__card-text {
	text-align: left;
}

.p-hemo-problem__band {
	font-size: 1rem;
	margin-top: 2rem;
}

.p-hemo-cta {
	padding-bottom: 0;
	padding-top: 0;
}

.p-hemo-cta__panel {
	padding: 2.5rem 0.9375rem;
	width: 100%;
}

.p-hemo-cta__title {
	font-size: 1.3125rem;
	line-height: 1.6;
}

.p-hemo-cta__lead {
	font-size: 0.8125rem;
	margin-top: 1rem;
}

.p-hemo-cta__tabs {
	gap: 0.1875rem;
	margin-top: 1.25rem;
}

.p-hemo-cta__tab {
	border-bottom-width: 0.1875rem;
	font-size: 0.875rem;
	padding: 0.75rem 0.5rem;
}

.p-hemo-cta__tab-arrow {
	height: 1.25rem;
	margin-top: 0.5rem;
	width: 1.25rem;
}

.p-hemo-cta__body {
	border-width: 0.5rem;
	padding: 2rem 0.75rem;
}

.p-hemo-cta__body .p-dock-cta__info-item:first-child {
	border-bottom: 0.0625rem solid #b0c9e3;
	border-bottom: 0.0625rem solid var(--second-color);
	border-right: none;
	padding-bottom: 1rem;
}

.p-hemo-cta__body--shinjuku .p-dock-cta__info-item:first-child {
	border-bottom-color: #cc716b;
}

.p-hemo-cta__notes {
	margin-top: 1rem;
}

.p-hemo-cta__note {
	font-size: 0.875rem;
	text-align: left;
}

.p-hemo-cta__menu {
	border-top: 0.0625rem solid #b0c9e3;
	border-top: 0.0625rem solid var(--second-color);
	margin-top: 2rem;
	padding-top: 1.5rem;
}

.p-hemo-cta__menu-title {
	font-size: 1.25rem;
}

.p-hemo-cta__menu .p-clinic-cta__table {
	margin-top: 1rem;
	width: 31.25rem;
}

.p-hemo-cta__menu .p-clinic-cta__table-menu {
	width: 7.5rem;
}

.p-hemo-cta__table-sp-remarks {
	display: table-cell;
	width: 8.75rem;
}

.p-hemo-contact {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.p-hemo-contact__panel {
	gap: 1.5rem;
	padding: 2.5rem 1.375rem;
	width: 100%;
}

.p-hemo-contact__title {
	font-size: 1.25rem;
}

.p-hemo-contact__buttons {
	flex-direction: column;
	gap: 1.5rem;
	width: min(19.0625rem, 100%);
}

.p-hemo-contact__button {
	padding: 1.5rem 2.5rem;
}

.p-hemo-contact__button-main {
	font-size: 1.25rem;
}

.p-hemo-about {
	padding-top: 1.5rem;
}

.p-hemo-about__items {
	margin-top: 3.5rem;
}

.p-hemo-about__item {
	align-items: stretch;
	flex-direction: column;
}

.p-hemo-about__item::before {
	content: none;
}

.p-hemo-about__item:not(:first-child) {
	margin-top: 2.5rem;
}

.p-hemo-about__item--reverse {
	flex-direction: column;
}

.p-hemo-about__text-area {
	background: linear-gradient(180deg, #eaf0f6 53.14%, rgba(252, 250, 244, 0.2) 98.2%);
	margin-left: auto;
	margin-right: auto;
	margin-top: -4.1875rem;
	padding: 1rem 1.25rem 1.25rem;
	width: 88%;
	z-index: 11;
}

.p-hemo-about__item--reverse .p-hemo-about__text-area {
	margin-left: auto;
	margin-right: auto;
}

.p-hemo-about__title {
	font-size: 1.625rem;
}

.p-hemo-about__text {
	font-size: 0.875rem;
}

.p-hemo-arrow {
	margin-top: 1rem;
}

.p-hemo-about__img-wrap {
	margin-left: 0;
	order: -1;
	width: 100%;
}

.p-hemo-about__item--reverse .p-hemo-about__img-wrap {
	margin-right: 0;
}

.p-hemo-types {
	margin-top: 3rem;
	padding-bottom: 4rem;
	padding-top: 3.5rem;
}

.p-hemo-links {
	margin-top: 2.5rem;
	width: calc(100% - 2.5rem);
}

.p-hemo-links__cards {
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-hemo-links__card {
	align-items: center;
	min-height: 13.4375rem;
	padding: 1.25rem 0.625rem;
}

.p-hemo-links__head {
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.p-hemo-links__title {
	letter-spacing: 0.08em;
	min-height: 0;
	text-align: center;
}

.p-hemo-links__text {
	display: none;
}

.p-hemo-flow {
	padding-top: 4rem;
}

.p-hemo-flow__box {
	margin-top: 2rem;
	padding: 4rem 0 3rem;
}

.p-hemo-flow__bg {
	left: 0;
	position: absolute;
	right: auto;
	top: 0;
	width: 100%;
}

.p-hemo-flow__inner {
	width: 100%;
}

.p-hemo-flow__catch {
	padding-top: 6.25rem;
	text-align: center;
}

.p-hemo-flow__catch-line {
	font-size: 1.375rem;
}

.p-hemo-flow__catch-num {
	font-size: 2.25rem;
}

.p-hemo-flow__steps {
	flex-direction: column;
	gap: 1.875rem;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5rem 0;
	width: calc(100% - 2.5rem);
}

.p-hemo-flow__step {
	gap: 1.5rem;
	padding: 1.5rem 0;
}

.p-hemo-flow__step:not(:last-child)::after {
	bottom: -1.875rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: translateX(-50%) rotate(90deg);
}

.p-hemo-flow__step-icon {
	height: 3rem;
	width: 3rem;
}

.p-hemo-flow__band {
	align-items: center;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1.5rem;
	padding: 1.5rem 1.25rem;
	text-align: center;
}

.p-hemo-flow__band-text {
	font-size: 1.125rem;
}

.p-hemo-flow__panel {
	margin-left: auto;
	margin-right: auto;
	padding: 2rem 0.9375rem;
	width: calc(100% - 2.5rem);
}

.p-hemo-flow__panel-title::before,
.p-hemo-flow__panel-title::after {
	width: 2rem;
}

.p-hemo-flow__panel-title:not(:first-child) {
	margin-top: 2rem;
}

.p-hemo-flow__timeline-scroll {
	overflow-x: auto;
	padding-bottom: 0.625rem;
}

.p-hemo-flow__timeline {
	max-width: none;
	width: 51.25rem;
}

.p-hemo-flow__times {
	font-size: 1rem;
	padding-left: 3.75rem;
	padding-right: 3.75rem;
}

.p-hemo-flow__line {
	margin-left: 4.375rem;
	margin-right: 4.375rem;
}

.p-hemo-flow__dur {
	font-size: 0.9375rem;
}

.p-hemo-flow__schedule {
	margin-top: 2rem;
}

.p-hemo-flow__schedule-item {
	padding: 1.25rem 0.875rem;
}

.p-hemo-flow__schedule-title {
	margin-top: 0.5rem;
}

.p-hemo-flow__schedule-text {
	font-size: 0.875rem;
	margin-top: 0.5rem;
}

.p-hemo-flow__points {
	grid-template-columns: 1fr;
	justify-content: stretch;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 2.5rem);
}

.p-hemo-flow__point-title {
	font-size: 1.25rem;
}

.p-hemo-flow__point-text {
	font-size: 0.9375rem;
}

.p-hemo-flow__btn-wrap {
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 2.5rem);
}

.p-hemo-observation {
	padding-bottom: 4rem;
	padding-top: 1.5rem;
}

.p-hemo-observation__box {
	align-items: stretch;
	flex-direction: column;
	gap: 1rem;
	padding: 0 0 1.5rem;
	width: calc(100% - 2.5rem);
}

.p-hemo-observation__img {
	width: 100%;
}

.p-hemo-observation__body {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-hemo-observation__title {
	font-size: 1.25rem;
}

.p-hemo-observation__text {
	font-size: 0.9375rem;
	margin-top: 0.75rem;
}

.keyvisual-hemo-01,
.keyvisual-hemo-02,
.keyvisual-hemo-03,
.keyvisual-hemo-04,
.keyvisual-hemo-08 {
	display: none;
}

.keyvisual-hemo-06 {
	left: 22.8vw;
	max-width: none;
	top: 60.75rem;
	width: 132vw;
}

.keyvisual-hemo-05 {
	max-width: none;
	right: -113vw;
	top: 146.625rem;
	width: 132vw;
}

.keyvisual-hemo-07 {
	max-width: none;
	right: -89vw;
	top: 171.625rem;
	width: 132vw;
}

.p-ibo-inner { /* SPカンプ実測: コンテンツ幅335（左右余白27.5） */
	width: calc(100% - 2.5rem);
}

.p-ibo-fv {
	min-height: 18.75rem;
}

.p-ibo-fv__deco-img--pink {
	left: -18.875rem;
	top: -21.0625rem;
	width: 62.8125rem;
}

.p-ibo-fv__deco-img--green { /* SPカンプ実測: 楕円x152 - ブラー余白261 */
	left: -6.8125rem;
	top: -9.8125rem;
	width: 58.375rem;
}

.p-ibo-fv__bgtext {
	bottom: -1.625rem;
	font-size: 6.25rem;
	left: -8.125rem;
	line-height: 1.12;
	top: auto;
}

.p-ibo-fv__inner { /* SPカンプ実測: FV内側は350（左右余白20） */
	width: calc(100% - 2.5rem);
}

.p-ibo-fv__en {
	font-size: 0.75rem;
	line-height: 1.2;
}

.p-ibo-fv__title {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.5;
}

.p-ibo-fv__title-bar {
	display: none;
}

.p-ibo-fv__lead {
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: 0.625rem;
}

.p-ibo-fv__lead-small {
	font-size: 0.75rem;
}

.p-ibo-check {
	margin-top: 4rem;
}

.p-ibo-check__panel {
	display: block;
	margin-top: 1.5rem;
	padding: 2.5rem 1.25rem;
}

.p-ibo-check__media {
	width: 100%;
}

.p-ibo-check__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-check__card {
	padding: 1.25rem;
}

.p-ibo-head {
	font-size: 1.5rem;
	letter-spacing: 0;
	padding-left: 1rem;
}

.p-ibo-about {
	margin-top: 4rem;
}

.p-ibo-about--plain {
	margin-top: 4rem;
	padding: 4rem 0;
}

.p-ibo-about__panel {
	margin-top: 1.5rem;
	padding: 2.5rem 1.25rem;
}

.p-ibo-about__intro {
	display: block;
}

.p-ibo-about__media {
	width: 100%;
}

.p-ibo-about__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-about__body .p-ibo-about__text {
	margin-top: 1rem;
}

.p-ibo-about__text {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-about__block {
	margin-top: 2.5rem;
}

.p-ibo-about__cards {
	display: block;
	margin-top: 1.5rem;
}

.p-ibo-about__card + .p-ibo-about__card {
	margin-top: 1.5rem;
}

.p-ibo-about__card-head {
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

.p-ibo-about__card-title {
	font-size: 2rem;
}

.p-ibo-about__card-text {
	padding: 0 0.625rem;
}

.p-ibo-about__cause {
	display: block;
}

.p-ibo-about__cause-img {
	width: 100%;
}

.p-ibo-about__cause-text {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-stages {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-ibo-stages__lead {
	margin-top: 1.5rem;
}

.p-ibo-stages__table {
	display: block;
	margin-top: 1.5rem;
}

.p-ibo-stages__table thead,
.p-ibo-stages__table tbody,
.p-ibo-stages__table tr,
.p-ibo-stages__table th,
.p-ibo-stages__table td {
	display: block;
}

.p-ibo-stages__th {
	font-size: 1.25rem;
}

.p-ibo-stages__th--img {
	width: 100%;
}

.p-ibo-stages__table .p-ibo-stages__th--grade,
.p-ibo-stages__table .p-ibo-stages__th--state {
	display: none;
}

.p-ibo-stages__td {
	margin-top: -0.0625rem;
}

.p-ibo-stages__td--img img {
	width: 100%;
}

.p-ibo-stages__source {
	margin-top: 1.5rem;
}

.p-ibo-stages__meyasu {
	margin-top: 1.5rem;
	padding: 1.5rem 1.25rem;
}

.p-ibo-risk {
	margin-top: 4rem;
}

.p-ibo-risk__panel {
	margin-top: 1.5rem;
	padding: 2.5rem 1.25rem;
}

.p-ibo-method {
	margin-top: 4rem;
	padding-top: 6.5rem;
}

.p-ibo-method__bg img {
	height: 13.9375rem;
}

.p-ibo-method__headwrap {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-ibo-method__body {
	padding: 2.5rem 0 0;
}

.p-ibo-method__lead {
	margin-top: 1.5rem;
}

.p-ibo-method__intro {
	display: block;
}

.p-ibo-method__media {
	width: 100%;
}

.p-ibo-method__intro-body {
	margin-left: 0;
	margin-top: 1.25rem;
}

.p-ibo-method__steps {
	display: block;
}

.p-ibo-method__step {
	width: 100%;
}

.p-ibo-method__step + .p-ibo-method__step {
	margin-top: 4.1875rem;
}

.p-ibo-method__step:not(:last-child)::after {
	border-bottom: none;
	border-left: 0.75rem solid transparent;
	border-right: 0.75rem solid transparent;
	border-top: 1.25rem solid #004fa2;
	border-top: 1.25rem solid var(--main-color02);
	bottom: -2.8125rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: translateX(-50%);
}

.p-ibo-method__step-title {
	font-size: 1.125rem;
}

.p-ibo-method__step-title .p-ibo-small {
	font-size: inherit;
}

.p-ibo-method__step-text {
	height: auto;
	min-height: 0;
}

.p-ibo-method__step-img {
	aspect-ratio: 335/207;
	margin-top: 0.625rem;
}

.p-ibo-method__reasons {
	display: block;
}

.p-ibo-method__reason + .p-ibo-method__reason {
	margin-top: 1.5rem;
}

.p-ibo-method__reason-num {
	font-size: 2rem;
}

.p-ibo-method__reason-title {
	font-size: 1.125rem;
}

.p-ibo-btnwrap .p-clinic-btn--lg {
	justify-content: space-between;
	width: 19.375rem;
}

.p-ibo-method__stats {
	display: block;
}

.p-ibo-method__stat {
	gap: 0.75rem;
	padding: 0.75rem 3.125rem;
}

.p-ibo-method__stat + .p-ibo-method__stat {
	margin-top: 1.5rem;
}

.p-ibo-method__stat-icon {
	height: 2rem;
	width: 2rem;
}

.p-ibo-method__stat-label {
	font-size: 0.875rem;
}

.p-ibo-method__stat-value {
	margin-left: auto;
}

.p-ibo-method__stat-num {
	font-size: 2rem;
	line-height: 1;
}

.p-ibo-method__stat-unit {
	font-size: 1rem;
	line-height: 1.75;
}

.p-ibo-compare {
	overflow-x: clip;
}

.p-ibo-compare__panel {
	margin-left: calc(50% - 50vw);
	margin-top: 1.5rem;
	padding: 2.5rem 1.25rem;
	width: 100vw;
}

.p-ibo-compare__intro {
	max-width: none;
}

.p-ibo-compare__intro--second {
	margin-top: 1.5rem;
}

.p-ibo-compare__cols {
	display: block;
	margin-top: 1.5rem;
}

.p-ibo-compare__col {
	padding-left: 0;
	padding-right: 0;
}

.p-ibo-compare__col + .p-ibo-compare__col {
	border-left: none;
	margin-top: 2.5rem;
}

.p-ibo-compare__diff {
	margin-top: 3.5rem;
}

.p-ibo-compare__diff-panels {
	display: block;
	margin-top: 1.5rem;
}

.p-ibo-compare__diff-panel {
	width: 100%;
}

.p-ibo-compare__diff-panel + .p-ibo-compare__diff-panel {
	margin-top: 1.5rem;
}

.p-ibo-compare__diff-head {
	font-size: 1.25rem;
}

.p-ibo-compare__diff-body {
	padding: 0;
}

.p-ibo-compare__diff-arrow {
	border-top: 1.875rem solid #004fa2;
	border-top: 1.875rem solid var(--main-color02);
}

.p-ibo-compare__tablewrap {
	margin-top: 3.5rem;
}

.p-ibo-compare__table-scroll {
	overflow-x: auto;
}

.p-ibo-compare__table {
	width: 71.5rem;
}

.p-ibo-compare__co2 {
	margin-top: 3.5rem;
}

.p-ibo-compare__co2-grid {
	display: block;
}

.p-ibo-compare__co2-block {
	margin-top: 1rem;
}

.p-ibo-compare__co2-block + .p-ibo-compare__co2-media {
	margin-top: 1.5rem;
}

.p-ibo-compare__co2-title {
	font-size: 1.125rem;
}

.p-ibo-cases {
	margin-top: 4rem;
}

.p-ibo-cases__list {
	margin-top: 1.5rem;
}

.p-ibo-cases__item {
	padding: 1rem 1.5rem 2rem;
}

.p-ibo-cases__photos {
	grid-template-columns: 1fr;
}

.p-ibo-cases__photo {
	padding-bottom: 0;
}

.p-ibo-cases__photo-label {
	font-size: 1.125rem;
	margin: 0.125rem 0.75rem;
	padding: 0.0625rem 0;
}

.p-ibo-cases__movie-icon {
	height: 2.75rem;
	width: 2.75rem;
}

.p-ibo-cases__movie-icon::before {
	border-bottom-width: 0.375rem;
	border-left-width: 0.625rem;
	border-top-width: 0.375rem;
	margin-left: 0.1875rem;
}

.p-ibo-cases__movie-label {
	bottom: 0.5rem;
	font-size: 0.75rem;
	padding: 0.125rem 0.625rem;
}

.p-ibo-modal__content {
	padding: 1rem;
}

.p-ibo-modal__close {
	font-size: 0.875rem;
	margin-top: 1rem;
	padding: 0.5rem 1.5rem;
}

.p-ibo-cost {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-ibo-cost__lead {
	margin-top: 1.5rem;
}

.p-ibo-cost__table {
	margin-top: 1.5rem;
}

.p-ibo-cost__th {
	font-size: 1rem;
	padding: 0.5rem 0.5rem;
}

.p-ibo-cost__th--label {
	width: 5.625rem;
}

.p-ibo-cost__td {
	font-size: 0.875rem;
	padding: 0.625rem 0.5rem;
}

.p-ibo-cost__note {
	margin-top: 1.5rem;
	text-align: left;
}

.p-ibo-lifestyle {
	margin-top: 4rem;
}

.p-ibo-lifestyle__lead {
	margin-top: 1.5rem;
}

.p-ibo-lifestyle__panel {
	display: block;
	margin-top: 1.5rem;
	padding: 2.5rem 1.25rem;
}

.p-ibo-lifestyle__media {
	width: 100%;
}

.p-ibo-lifestyle__card {
	margin-left: 0;
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.clinic-hemorrhoids .p-dock-faq {
	padding-bottom: 3.75rem;
	padding-top: 3.75rem;
}

.p-ibo-flow {
	margin-top: 4rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.p-ibo-flow__lead {
	margin-top: 1.5rem;
}

.p-ibo-flow__list {
	margin-top: 1.5rem;
}

.p-ibo-flow__item {
	display: block;
	padding: 1.5rem 1.25rem;
}

.p-ibo-flow__media {
	width: 100%;
}

.p-ibo-flow__media img {
	aspect-ratio: 295/200;
}

.p-ibo-flow__body {
	margin-left: 0;
	margin-top: 1.25rem;
}

.p-ibo-flow__title {
	font-size: 1.5rem;
}

.p-ibo-flow__text {
	margin-top: 0.75rem;
}

.p-ibo-doctor {
	margin-top: 4rem;
}

.p-ibo-doctor__grid {
	display: block;
	margin-top: 1.5rem;
}

.p-ibo-doctor__media {
	width: 100%;
}

.p-ibo-doctor__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-doctor__profile {
	display: block;
}

.p-ibo-doctor__titles {
	margin-left: 0;
	margin-top: 0.75rem;
}

.p-ibo-doctor__foot {
	display: block;
}

.p-ibo-doctor__date {
	text-align: right;
}

.p-ibo-doctor__link {
	justify-content: flex-end;
	margin-left: 0;
	margin-top: 0.75rem;
}

.clinic-hemorrhoids .p-hemo-cta {
	margin-top: 4rem;
}

.clinic-hemorrhoids .sec-head__en {
	font-size: 0.875rem;
	line-height: 1;
}

.clinic-hemorrhoids .sec-head__title {
	line-height: 1.75;
}

.p-ibo-stages .sec-head__title {
	font-size: 1.5rem;
	line-height: 1.75;
}

.p-ibo-method .sec-head__title {
	font-size: 1.75rem;
	line-height: 1.75;
}

.p-ibo-about--plain .p-ibo-about__panel {
	background: #f5f7fa;
	background: var(--bg-blue);
}

.p-ibo-about--plain .p-ibo-about__text {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-ibo-method__intro--pair .p-ibo-method__media {
	width: 100%;
}

.p-ibo-method__intro--pair .p-ibo-method__media + .p-ibo-method__media {
	margin-top: 1.25rem;
}

.clinic-anal-fistula .p-ibo-compare {
	margin-top: 0;
}

.clinic-anal-fissure .p-ibo-compare__intro,
.clinic-anal-fistula .p-ibo-compare__intro {
	width: auto;
}

.clinic-anal-fissure .p-ibo-flow__list,
.clinic-anal-fistula .p-ibo-flow__list,
.clinic-alta .p-ibo-flow__list,
.clinic-skin-tag .p-ibo-flow__list {
	gap: 1.5rem;
}

.clinic-anal-fissure .p-ibo-flow__item,
.clinic-anal-fistula .p-ibo-flow__item,
.clinic-alta .p-ibo-flow__item,
.clinic-skin-tag .p-ibo-flow__item {
	padding: 0 1.25rem 2.5rem;
}

.clinic-anal-fissure .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-anal-fistula .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-alta .p-ibo-flow__item + .p-ibo-flow__item::before,
.clinic-skin-tag .p-ibo-flow__item + .p-ibo-flow__item::before {
	display: none;
}

.clinic-anal-fissure .p-ibo-flow__media,
.clinic-anal-fistula .p-ibo-flow__media,
.clinic-alta .p-ibo-flow__media,
.clinic-skin-tag .p-ibo-flow__media {
	margin-left: -1.25rem;
	width: calc(100% + 2.5rem);
}

.clinic-anal-fissure .p-ibo-flow__media img,
.clinic-anal-fistula .p-ibo-flow__media img,
.clinic-alta .p-ibo-flow__media img,
.clinic-skin-tag .p-ibo-flow__media img {
	aspect-ratio: 335/197;
}

.clinic-anal-fissure .p-ibo-flow__body,
.clinic-anal-fistula .p-ibo-flow__body,
.clinic-alta .p-ibo-flow__body,
.clinic-skin-tag .p-ibo-flow__body {
	margin-left: 0;
	margin-top: 1.5rem;
}

.clinic-anal-fissure .p-ibo-flow__text,
.clinic-anal-fistula .p-ibo-flow__text,
.clinic-alta .p-ibo-flow__text,
.clinic-skin-tag .p-ibo-flow__text {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-ibo-compare__note {
	margin-top: 1.5rem;
}

.p-ibo-lifestyle--life .p-ibo-lifestyle__media {
	width: 100%;
}

.clinic-anal-fistula .p-ibo-about__card .p-ibo-doctor__link {
	justify-content: center;
}

.clinic-anal-fistula .p-ibo-method__steps {
	gap: 0;
}

.clinic-anal-fistula .p-ibo-method__step {
	width: 100%;
}

.clinic-anal-fistula .p-ibo-method__step:not(:last-child)::after {
	right: auto;
}

.clinic-anal-fistula .p-ibo-method__step-title {
	font-size: 1.5rem;
}

.clinic-anal-fistula .p-ibo-lifestyle__panel,
.clinic-alta .p-ibo-lifestyle__panel,
.clinic-skin-tag .p-ibo-lifestyle__panel {
	padding: 2.5rem 1.25rem;
}

.clinic-anal-fistula .p-ibo-lifestyle__card,
.clinic-alta .p-ibo-lifestyle__card,
.clinic-skin-tag .p-ibo-lifestyle__card {
	margin-left: 0;
}

.p-ibo-about__card--point {
	padding: 1.5rem 1.25rem;
}

.p-ibo-check__card--grid .p-ibo-check__list {
	grid-auto-flow: row;
	grid-template-columns: 1fr;
	grid-template-rows: none;
}

.clinic-alta .p-ibo-about__media {
	width: 100%;
}

.clinic-alta .p-ibo-about__text {
	margin-top: 1.5rem;
}

.clinic-alta .p-ibo-about--plain .p-ibo-about__block-text--center {
	margin-top: 1.5rem;
}

.clinic-alta .p-ibo-about--plain .p-ibo-about__block:has(.p-ibo-check__card--grid) {
	padding: 1.5rem;
}

.p-ibo-cost__table--left .p-ibo-cost__th--label {
	width: 6.875rem;
}

.clinic-skin-tag .p-ibo-about__media {
	width: 100%;
}

.clinic-skin-tag .p-ibo-about__text {
	margin-top: 1.5rem;
}

.clinic-anal-fistula .p-ibo-compare,
.clinic-skin-tag .p-ibo-compare {
	margin-top: 4rem;
}

.clinic-skin-tag .p-ibo-method__headwrap {
	padding-bottom: 1.5rem;
}

.clinic-skin-tag .p-ibo-method__lead {
	margin-top: 1rem;
}

.clinic-day-surgery .p-ibo-about__media {
	max-width: 100%;
	width: 100%;
}

.clinic-day-surgery .p-ibo-about__text {
	margin-left: 0;
}

.p-days-anchor .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.3125rem;
}

.p-days-anchor .p-clinic-anchor__list {
	display: none;
	flex-direction: column;
	gap: 0.125rem;
}

.p-days-anchor .p-clinic-anchor__item {
	width: 100%;
}

.p-days-stats__body .p-clinic-btn {
	margin: 1rem;
}

.p-days-list {
	margin-top: 4rem;
}

.p-days-list__grid {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-days-list__title {
	font-size: 1.25rem;
}

.p-days-cost {
	margin-top: 4rem;
}

.p-days-cost__lead {
	margin-top: 1.5rem;
}

.p-days-cost__subhead {
	font-size: 1.5rem;
}

.p-days-cost__plans {
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.p-days-cost__plan {
	width: 100%;
}

.p-days-cost__plan-head {
	font-size: 1.25rem;
}

.p-days-flow__tabs {
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.p-days-flow__tab {
	font-size: 0.875rem;
}

.clinic-day-surgery .p-ibo-flow {
	margin-top: 4rem;
}

.p-days-life {
	margin-top: 4rem;
}

.p-days-life__lead {
	margin-top: 1.5rem;
}

.p-days-life__cards {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.keyvisual-days-01,
.keyvisual-days-02,
.keyvisual-days-03,
.keyvisual-days-04,
.keyvisual-days-05,
.keyvisual-days-06,
.keyvisual-days-07 {
	display: none;
}

.p-drugs-deco {
	display: none;
}

.clinic-drugs .sec-head__title {
	font-size: 2rem;
	line-height: 1.75;
}

.p-drugs-anchor {
	display: none;
}

.p-drugs-section {
	margin-top: 4rem;
}

.p-drugs-panel {
	display: block;
	margin-top: 1.5rem;
	padding: 1.25rem 0.625rem;
}

.p-drugs-panel__img {
	aspect-ratio: 322/201;
	width: 100%;
}

.p-drugs-panel__text {
	margin-left: 0;
	margin-top: 1.5rem;
}

.p-drugs-cards {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-drugs-card {
	padding: 1.25rem 0.625rem;
}

.p-drugs-subhead {
	font-size: 1.5rem;
}

.p-drugs-check {
	display: block;
	padding: 1.25rem 3.125rem;
	width: 100%;
}

.p-drugs-check__col + .p-drugs-check__col {
	margin-top: 0.625rem;
}

.p-ps-fv {
	display: block;
	height: auto;
	padding-bottom: 1.9375rem;
}

.p-ps-fv__bg {
	bottom: auto;
	left: 0;
	right: 0;
	top: 0;
}

.p-ps-fv__bg::after {
	content: none;
}

.p-ps-fv__bg-img {
	aspect-ratio: 390/405;
	height: auto;
}

.p-ps-fv__inner {
	max-width: none; /* カンプはSPのみ左右非対称（左27 / 右13 = コンテンツ350） */
	padding: 14.5625rem 0.8125rem 0 1.6875rem;
}

.p-ps-fv__title {
	font-size: 2.1875rem;
	margin-top: 0.625rem;
}

.p-ps-fv__title-sub {
	font-size: 1.5rem; /* カンプは350px幅で1行。ブラウザのNoto Serif JPはFigmaより約4%広く出るため字間を詰めて1行を維持する */
	letter-spacing: 0.04em;
}

.p-ps-fv__tags {
	gap: 1.0625rem;
	margin-top: 0.625rem;
}

.p-ps-fv__lead {
	margin-top: 0.625rem;
}

.p-ps-fv__points {
	gap: 0.805625rem;
	margin-top: 0.625rem;
}

.p-ps-fv__point {
	height: 4.875rem;
	width: 4.875rem;
}

.p-ps-fv__point::before {
	padding: 0.075625rem;
}

.p-ps-fv__point-main {
	font-size: 0.84875rem;
}

.p-ps-fv__point-main--sm {
	font-size: 0.60375rem;
}

.p-ps-fv__point-num {
	font-size: 1.056875rem;
}

.p-ps-fv__point-sub {
	font-size: 0.60375rem;
}

.p-ps-fv__point-sub + .p-ps-fv__point-main {
	margin-top: -0.113125rem;
}

.p-ps-fv__point-sub + .p-ps-fv__point-main--sm {
	margin-top: -0.314375rem;
}

.p-ps-anchor {
	padding-bottom: 0;
}

.clinic-plastic-surgery .p-clinic-anchor__inner {
	max-width: none;
	padding-bottom: 0;
	padding-top: 0;
	width: 100%;
}

.clinic-plastic-surgery .p-clinic-anchor__list {
	gap: 0.125rem;
	grid-template-columns: 1fr;
}

.clinic-plastic-surgery .p-clinic-anchor__link {
	height: 2.8125rem;
	padding: 0 0.875rem 0 1.8125rem;
}

.clinic-plastic-surgery .p-clinic-anchor__toggle {
	color: #3d3d3d;
}

.p-ps-head__title {
	font-size: 2rem;
	line-height: 1.75;
	margin-top: 0;
}

.p-ps-about {
	padding-bottom: 2.5rem;
	padding-top: 3.125rem;
}

.p-ps-about__bgtext {
	font-size: 11.37875rem;
	left: -155.3125rem;
	letter-spacing: -0.035em;
	top: 24.75rem;
}

.p-ps-about__bgtext--sub {
	font-size: 7.5rem;
	left: -28.3125rem;
	letter-spacing: 0.04em;
	top: 0.0625rem;
}

.p-ps-about__lead {
	margin-top: 1.5625rem;
}

.p-ps-about__photos {
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.p-ps-about__photo {
	width: 10.6875rem;
}

.p-ps-info {
	padding-bottom: 0;
	padding-top: 3.5rem;
}

.p-ps-info__list {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
	width: calc(100% - 2.5rem);
}

.p-ps-info__image img {
	aspect-ratio: auto;
}

.p-ps-info__body { /* article > * + * のリセット由来の1emを打ち消し、画像と密着させる */
	margin-top: 0;
	padding: 1.25rem;
}

.p-ps-info__title {
	font-size: 1.5rem;
	line-height: 1.75;
}

.p-ps-info__btn {
	padding-top: 0.625rem;
}

.p-ps-info__btn .p-clinic-btn {
	font-size: 0.75rem;
	gap: 1.0625rem;
	padding: 1rem 2.5rem;
}

.p-ps-cta .p-clinic-cta__table-menu {
	width: 10rem;
}

.p-ps-cta__note {
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.p-ps-feature {
	padding-bottom: 3.5rem;
	padding-top: 3.5rem;
}

.p-ps-feature__en {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.22em;
	line-height: 1.8;
}

.p-ps-feature__line {
	background: #222222;
	width: 2.625rem;
}

.p-ps-feature__line:first-child {
	margin-right: 0.125rem;
}

.p-ps-feature__line:last-child {
	margin-left: 0.125rem;
}

.p-ps-feature__title {
	color: #222222;
	font-size: 2rem;
	letter-spacing: 0.0325em;
	line-height: 1.26;
	margin-top: 1.0625rem;
}

.p-ps-feature__list {
	gap: 0.9375rem;
	margin-top: 1.5rem;
}

.p-ps-feature__item {
	aspect-ratio: auto;
	display: block;
}

.p-ps-feature__panel {
	display: none;
}

.p-ps-feature__image {
	height: auto;
	width: 100%;
}

.p-ps-feature__item--04 .p-ps-feature__image {
	width: 100%;
}

.p-ps-feature__image img {
	aspect-ratio: 390/269;
	height: auto;
}

.p-ps-feature__body {
	display: block;
	padding: 0;
}

.p-ps-feature__item--02 .p-ps-feature__body,
.p-ps-feature__item--04 .p-ps-feature__body {
	padding-right: 0;
}

.p-ps-feature__box { /* 人間ドックページと同じ「下方向に透過」するグラデーション */
	background: linear-gradient(180deg, #eaf0f6 53.14%, rgba(252, 250, 244, 0.2) 98.2%);
	margin: -4.375rem auto 0;
	max-width: calc(100% - 2.875rem);
	min-height: 14.375rem;
	padding: 1rem 1.25rem;
	position: relative;
	width: 21.5rem;
	z-index: 3;
}

.p-ps-feature__name {
	color: #1a2433;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.p-ps-feature__text {
	color: #3d5166;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.p-ps-reason {
	padding: 3.5rem 0 1.25rem;
}

.p-ps-reason__icon {
	width: 5rem;
}

.p-ps-reason .p-ps-head {
	margin-top: 1.25rem;
}

.p-ps-reason .p-ps-head__line {
	width: 2.625rem;
}

.p-ps-reason .p-ps-head__title {
	line-height: 1.4;
}

.p-ps-reason__lead {
	font-size: 1rem;
	margin-top: 1.25rem;
}

.p-ps-reason__cards {
	gap: 3.125rem;
	margin-top: 1.5rem;
}

.p-ps-reason__card {
	padding: 2.5rem 1.25rem;
}

.p-ps-reason__num-value {
	font-size: 3rem;
}

.p-ps-reason__name {
	font-size: 1.5rem;
	margin-top: 0.75rem;
}

.p-ps-reason__sub {
	font-size: 0.875rem;
}

.p-ps-reason__block {
	margin-top: 1.5rem;
}

.p-ps-reason__badge {
	font-size: 1.125rem;
	height: 2.25rem;
}

.p-ps-reason__compare {
	flex-direction: column;
	gap: 1rem;
}

.p-ps-reason__compare-arrow {
	width: 0.8125rem;
}

.p-ps-reason__cmpbox {
	padding: 1.25rem;
	width: 100%;
}

.p-ps-reason__steps {
	flex-direction: column;
	gap: 0.625rem;
}

.p-ps-reason__steps-arrow img {
	transform: rotate(90deg); /* 90度回転して下向きに（回転後の見た目幅=回転前の高さ） */
	width: 0.34375rem;
}

.p-ps-reason__steps-arrow {
	justify-content: center;
}

.p-ps-reason__step {
	align-items: center;
	flex: none;
	flex-direction: row;
	gap: 0.9375rem;
	text-align: left;
}

.p-ps-reason__step-head {
	align-self: auto;
	font-size: 1.125rem;
	order: 1;
}

.p-ps-reason__step-no {
	font-size: 0.875rem;
}

.p-ps-reason__card--01 .p-ps-reason__step-no {
	font-size: 1.125rem;
}

.p-ps-reason__step-img {
	flex-shrink: 0;
	margin-top: 0;
	width: 6.875rem;
}

.p-ps-reason__step-text {
	margin-top: 0.25rem;
	order: 2;
}

.p-ps-reason__step-result {
	margin-top: 0.25rem;
	order: 2;
}

.p-ps-reason__step {
	grid-column-gap: 0.9375rem;
	-moz-column-gap: 0.9375rem; /* row-gap は図版がまたぐ空行にも効いてしまうため 0 にし、行間は margin で取る */
	grid-row-gap: 0;
	column-gap: 0.9375rem;
	display: grid;
	grid-template-columns: 7rem 1fr; /* 上下の1fr行で右カラム（見出し・本文・注記）を図版に対して上下中央に置く */
	grid-template-rows: 1fr auto auto auto 1fr;
	row-gap: 0;
}

.p-ps-reason__step-img {
	align-self: center;
	grid-column: 1;
	grid-row: 1/-1;
	width: 100%;
}

.p-ps-reason__step-head,
.p-ps-reason__step-text,
.p-ps-reason__step-result,
.p-ps-reason__step > .p-ps-reason__step-note {
	grid-column: 2;
	margin-top: 0.75rem;
}

.p-ps-reason__step-head {
	grid-row: 2;
	margin-top: 0;
}

.p-ps-reason__step-text,
.p-ps-reason__step-result {
	grid-row: 3;
}

.p-ps-reason__step > .p-ps-reason__step-note {
	grid-row: 4;
}

.p-ps-reason__cols {
	grid-template-columns: 1fr;
}

.p-ps-reason__col .p-ps-reason__marks {
	align-self: auto;
}

.clinic-plastic-surgery .p-ps-deco--01,
.clinic-plastic-surgery .p-ps-deco--02,
.clinic-plastic-surgery .p-ps-deco--03,
.clinic-plastic-surgery .p-ps-deco--04,
.clinic-plastic-surgery .p-ps-deco--05,
.clinic-plastic-surgery .p-ps-deco--06,
.clinic-plastic-surgery .p-ps-deco--07,
.clinic-plastic-surgery .p-ps-deco--08 {
	display: none;
}

.clinic-plastic-surgery .p-ps-deco--sp01,
.clinic-plastic-surgery .p-ps-deco--sp02,
.clinic-plastic-surgery .p-ps-deco--sp03,
.clinic-plastic-surgery .p-ps-deco--sp04 {
	display: block;
}

.clinic-ps-detail .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.75;
}

.sec-head__en--long {
	line-height: 1.5;
}

.clinic-ps-detail .p-clinic-anchor__list {
	grid-template-columns: 1fr;
}

.p-psd-lead {
	padding: 4rem 1.5rem;
}

.p-psd-lead__box {
	padding: 1.5rem 1.25rem;
}

.p-psd-lead__title {
	font-size: 1.5rem;
	letter-spacing: 0;
}

.p-psd-lead__text {
	margin-top: 1.5rem;
}

.p-psd-media {
	padding: 4rem 1.5rem 0;
}

.p-psd-media--last {
	padding-bottom: 4rem;
}

.p-psd-media__box {
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.p-psd-media__inner {
	display: block;
}

.p-psd-media__image {
	width: 100%;
}

.p-psd-media__text {
	margin-top: 1rem;
}

.p-psd-diff {
	padding: 2.5rem 1.25rem;
}

.p-psd-diff__lead {
	margin-top: 1.5rem;
}

.p-psd-diff__scroll {
	margin-top: 1.5rem;
	overflow-x: auto;
}

.p-psd-diff__table {
	max-width: none;
	width: 71.5rem;
}

.p-psd-diff__btn {
	margin-top: 1.5rem;
}

.p-psd-treat {
	padding: 4rem 1.25rem;
}

.p-psd-treat__box {
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.p-psd-treat__text {
	text-align: left;
}

.p-psd-treat__flow {
	margin-top: 1.5rem;
}

.p-psd-treat__flow-title {
	font-size: 1.5rem;
	padding-left: 0.75rem;
}

.p-psd-treat__steps {
	margin-top: 1.5rem;
}

.p-psd-treat__time {
	font-size: 1.125rem;
	margin-top: 1.5rem;
}

.p-psd-cost {
	padding: 4rem 1.25rem;
}

.p-psd-cost__table {
	margin-top: 1.5rem;
}

.p-psd-cost__table thead th {
	font-size: 1.125rem;
}

.p-psd-cost__table tbody td {
	font-size: 0.875rem;
	padding: 0.625rem;
}

.p-psd-cost__table--parts,
.p-psd-cost__table--parts thead,
.p-psd-cost__table--parts tbody {
	display: block;
}

.p-psd-cost__table--parts tr {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.p-psd-cost__table--parts th[colspan],
.p-psd-cost__table--parts th[rowspan],
.p-psd-cost__table--parts td[rowspan] {
	grid-column: 1/-1;
}

/* FB: SPは本文セル（td）のみ左寄せ。部位グループの見出しセル（th）は中央のまま */

.p-psd-cost__table--parts tbody td {
	text-align: left;
}

/* FB: SPは部位名を改行しない */

.p-psd-cost__parts br {
	display: none;
}

.p-psd-faq {
	padding: 4rem 1.25rem;
}

.p-psd-faq .p-dock-faq__list {
	margin-top: 1.5rem;
}

.p-psd-flow {
	padding: 4rem 1.25rem;
}

.p-psd-flow__lead {
	margin-top: 1.5rem;
}

.p-psd-flow__list {
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.p-psd-flow__arrow img {
	width: 2rem;
}

.p-psd-flow__item {
	display: block;
	padding: 0.75rem;
}

.p-psd-flow__image {
	width: 100%;
}

.p-psd-flow__title {
	font-size: 1.25rem;
	margin-top: 0.75rem;
}

/* FB: SPは左寄せ（カード内の見出し・本文とも） */

.p-psd-treat__steps .p-ps-reason__step {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	text-align: left;
}

.p-psd-treat__steps .p-ps-reason__step-img {
	margin-top: 0.9375rem;
	order: 1;
	width: 100%;
}

.p-psd-treat__steps .p-ps-reason__step-head {
	font-size: 1.5rem;
	margin-top: 0;
	order: 0;
}

.p-psd-treat__steps .p-ps-reason__step-no {
	font-size: 1.5rem;
}

.p-psd-treat__steps .p-ps-reason__step-text,
.p-psd-treat__steps .p-ps-reason__step-result {
	margin-top: 0.9375rem;
	order: 2;
}

/* SPでも矢印はカンプ実測どおり 4x11（形成外科の11px指定を打ち消す） */

.p-psd-treat__steps .p-ps-reason__steps-arrow img {
	width: 0.25rem;
}

.p-psd-flow__item {
	padding: 0 0 1.5rem;
}

.p-psd-flow__body {
	margin-top: 1.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.p-psd-flow__title {
	margin-top: 0;
}

.p-psd-flow__text {
	margin-top: 1.5rem;
}

.p-psd-flow__arrow {
	display: none;
}

.p-psd-cause {
	padding: 4rem 1.25rem;
}

.p-psd-cause__inner {
	display: block;
	margin-top: 1.5rem;
}

.p-psd-cause__image {
	width: 100%;
}

.p-psd-cause__body {
	margin-top: 1.5rem;
}

.p-psd-cause__text {
	max-width: none;
}

.p-psd-cause__points-label {
	font-size: 1.25rem;
}

.p-psd-prevent {
	padding: 4rem 1.25rem;
}

.p-psd-prevent__list {
	gap: 1.875rem;
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-psd-prevent__body {
	padding: 1.5rem 1.25rem;
}

.p-psd-prevent__title {
	font-size: 1.5rem;
}

.clinic-ingrown-nails .p-psd-treat {
	padding-bottom: 0;
}

.p-psd-cause__image img {
	aspect-ratio: 335/188;
}

.p-psd-prevent__image img {
	aspect-ratio: 335/200;
}

.p-psd-prevent__body {
	padding: 2.5rem 1.25rem;
}

.p-psd-prevent--half .p-psd-prevent__list {
	gap: 1.875rem;
	grid-template-columns: 1fr;
}

.p-psd-similar {
	padding: 4rem 1.25rem 0;
}

.p-psd-similar__list {
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.p-psd-similar__item {
	display: block;
	padding: 1.25rem;
}

.p-psd-similar__image {
	width: 100%;
}

.p-psd-similar__body {
	margin-top: 1rem;
	padding-bottom: 0;
	padding-top: 0;
}

.p-psd-similar__title {
	font-size: 1.5rem;
	line-height: 1.75;
}

.p-psd-procedure {
	padding: 4rem 1.25rem 0;
}

.p-psd-procedure__note {
	font-size: 0.75rem;
	margin: 1rem auto 4rem;
}

.p-psd-procedure__steps {
	margin-top: 1.5rem;
}

.clinic-moles-warts .p-psd-prevent {
	padding-bottom: 0;
}

.p-psd-procedure__steps .p-ps-reason__step {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	text-align: center;
}

.p-psd-procedure__steps .p-ps-reason__step-img {
	margin-top: 0.9375rem;
	order: 1;
	width: 100%;
}

.p-psd-procedure__steps .p-ps-reason__step-head {
	font-size: 1.5rem;
	margin-top: 0;
	order: 0;
}

.p-psd-procedure__steps .p-ps-reason__step-no {
	font-size: 1.5rem;
}

.p-psd-procedure__steps .p-ps-reason__step-text,
.p-psd-procedure__steps .p-ps-reason__step-result {
	margin-top: 0.9375rem;
	order: 2;
}

.p-psd-procedure__steps .p-ps-reason__steps-arrow img {
	width: 0.25rem;
}

.clinic-anatomy-hemo .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.75;
}

.p-anat-deco {
	display: none;
}

.p-anat-anchor {
	padding-bottom: 0;
}

.clinic-anatomy-hemo .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 0;
	width: calc(100% - 2.5rem);
}

.clinic-anatomy-hemo .p-clinic-anchor__list {
	gap: 0.125rem;
	grid-template-columns: 1fr;
}

.clinic-anatomy-hemo .p-clinic-anchor__link {
	height: 2.8125rem;
	padding: 0 0.875rem 0 1.8125rem;
}

.p-anat-intro__box {
	display: block;
	margin-top: 1.5rem;
	padding: 1.5rem 1.25rem;
}

.p-anat-intro__video {
	margin-top: 1.5rem;
}

.p-anat-intro__video-title {
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.p-anat-intro__image {
	width: 100%;
}

.p-anat-intro__text {
	font-size: 0.875rem;
}

.p-anat-sec {
	margin-top: 4rem;
}

.p-anat-sec__box {
	margin-top: 1.5rem;
	padding: 1.25rem;
}

.p-anat-sec__figs {
	flex-direction: column;
	gap: 1rem;
}

.p-anat-sec__fig {
	max-width: none;
	width: 100%;
}

.p-anat-sec__arrow {
	transform: rotate(90deg);
	width: 1.75rem;
}

.p-anat-sec__quad {
	gap: 1rem;
	grid-template-columns: 1fr;
}

.p-anat-sec__quad-num {
	font-size: 1.125rem;
	height: 2.5rem;
	width: 2.5rem;
}

.p-anat-sec__subtitle {
	font-size: 1.25rem;
}

.p-anat-chart {
	margin-top: 4rem;
}

.p-anat-chart__lead {
	font-size: 0.875rem;
	margin-top: 1.5rem;
	text-align: left;
}

.p-anat-chart__scroll {
	margin-top: 1.5rem;
	overflow-x: auto;
}

.p-anat-chart__hyphen {
	display: none;
}

.p-anat-chart__table thead th {
	font-size: 1rem;
	line-height: 1.75;
	padding: 0.625rem;
}

.p-anat-chart__table tbody th {
	padding: 0.625rem;
}

.p-anat-chart__table tbody td {
	padding: 0.625rem;
}

.p-anat-chart__note {
	font-size: 0.875rem;
	margin-top: 1.5rem;
}

.p-anat-concern__lead {
	font-size: 0.875rem;
	text-align: left;
}

.p-anat-intro {
	padding-top: 4rem;
}

.p-anat-intro__box {
	padding: 1.25rem 0.625rem;
}

.p-anat-intro__body {
	margin-top: 1.5rem;
}

.clinic-surgical-results .sec-head__title {
	font-size: 2rem;
	line-height: 1.75;
}

.p-sr-deco {
	display: none;
}

.p-sr-anchor {
	padding-bottom: 0;
}

.clinic-surgical-results .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 0;
	width: calc(100% - 2.5rem);
}

.clinic-surgical-results .p-clinic-anchor__list {
	gap: 0.125rem;
	grid-template-columns: 1fr;
}

.clinic-surgical-results .p-clinic-anchor__link {
	height: 2.8125rem;
	padding: 0 0.875rem 0 1.8125rem;
}

.p-sr-stats {
	padding-top: 4rem;
}

.p-sr-block {
	margin-top: 4rem;
}

.sec-head + .p-sr-block {
	margin-top: 1.5rem;
}

.p-sr-block__title {
	font-size: 1.5rem;
}

.p-sr-block__title-line {
	display: block;
}

.p-sr-block__title-sub {
	font-size: 0.8125rem;
}

.p-sr-block__title-xs {
	font-size: 0.625rem;
}

.p-sr-block__body {
	margin-top: 1.5rem;
}

.p-sr-map__note {
	color: #444444;
	color: var(--txt-color02);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 1.5rem;
	text-align: center;
}

.p-sr-cols {
	gap: 2.5rem;
	grid-template-columns: 1fr;
}

.p-sr-cols {
	margin-top: 4rem;
}

.p-sr-cols .p-sr-panel {
	flex: none;
}

.p-sr-panel {
	margin-top: 1.5rem;
	padding: 1.5rem 1rem;
}

.p-sr-panel--plain {
	padding: 0;
}

.p-sr-panel--inner {
	margin-top: 0;
	padding: 1.5rem 1rem;
}

.p-sr-table-scroll {
	margin-top: 1.5rem;
}

.p-sr-table thead th {
	font-size: 1rem;
	line-height: 1.75;
	padding: 0.3125rem 0.625rem;
}

.p-sr-table__year { /* SPは4列均等（カンプ84/84/84/85） */
	width: 25%;
}

.p-sr-table tbody th,
.p-sr-table tfoot th {
	font-size: 0.875rem;
	line-height: 1.75;
	padding: 0.125rem 0.625rem;
}

.p-sr-table tbody td,
.p-sr-table tfoot td {
	padding: 0.125rem 0.625rem;
}

.p-sr-concern {
	margin-top: 4rem;
}

.p-sr-concern__lead {
	font-size: 0.875rem;
	text-align: left;
}

.p-sr-concern__band {
	margin-top: 2rem;
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.p-sr-concern__subtitle {
	font-size: 1.375rem;
	margin-top: 2.5rem;
}

.p-sr-access {
	padding-bottom: 4rem;
}

#reserve.p-sr-access {
	padding-top: 4rem;
}

.p-sr-access__grid {
	display: block;
	margin-top: 1.5rem;
}

.p-sr-access__map {
	width: 100%;
}

.p-sr-access__body {
	margin-top: 1.5rem;
}

.p-sr-access__logo {
	height: auto;
	justify-content: center;
	padding-left: 0;
}

.p-sr-access__row {
	padding: 1.25rem;
}

.p-sr-access__row--last {
	padding-bottom: 0;
}

.p-sr-access__label {
	font-size: 0.875rem;
}

.p-sr-access__value {
	font-size: 0.9375rem;
}

.p-sr-access__map-link {
	margin-top: 1.25rem;
}

.p-sr-chart--donut {
	gap: 0.25rem 0.5rem;
}

.p-sr-chart--donut .p-sr-donut {
	width: 7.5rem;
}

.p-sr-legend {
	font-size: 0.6875rem;
	width: 10.1875rem;
}

.p-sr-legend li {
	gap: 0.25rem;
	margin-bottom: 0.1875rem;
	margin-top: 0.1875rem;
}

.p-sr-legend__dot {
	height: 0.75rem;
	width: 0.75rem;
}

.p-sr-legend--two-col {
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.clinic-flow .sec-head__title {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.75;
}

.p-flow-deco {
	display: none;
}

.clinic-flow .p-clinic-anchor__inner {
	padding-bottom: 0;
	padding-top: 2.3125rem;
}

.clinic-flow .p-clinic-anchor__list {
	gap: 0.125rem;
	grid-template-columns: 1fr;
}

.clinic-flow .p-clinic-anchor__link {
	gap: 0;
	padding: 0 0.875rem 0 1.8125rem;
}

.clinic-flow .p-clinic-anchor__link > :first-child:not(.p-clinic-anchor__icon),
.clinic-flow .p-clinic-anchor__text {
	white-space: normal;
}

.clinic-flow .p-ibo-flow {
	margin-top: 4rem;
}

.clinic-flow .p-ibo-flow__item {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
}

.clinic-flow .p-ibo-flow__body {
	display: contents;
}

.clinic-flow .p-ibo-flow__title {
	order: 1;
}

.clinic-flow .p-ibo-flow__media {
	margin-top: 1.5rem;
	order: 2;
}

.clinic-flow .p-ibo-flow__media img {
	aspect-ratio: 302/169;
}

.clinic-flow .p-ibo-flow__text {
	margin-top: 1.5rem;
	order: 3;
}

.p-flow-treat {
	margin-top: 4rem;
}

.p-flow-treat__cards {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-flow-treat__media img {
	aspect-ratio: 302/200;
}

.p-flow-treat__links {
	gap: 1rem;
}

.p-flow-anesthesia {
	flex-direction: column;
	margin-top: 1.5rem;
}

.p-flow-anesthesia__media {
	width: 100%;
}

.p-flow-anesthesia__media img {
	aspect-ratio: 302/227;
	height: auto;
}

.p-flow-anesthesia__body {
	flex: none;
	padding: 1.25rem;
	width: 100%;
}

.p-flow-anesthesia__title {
	font-size: 1.5rem;
}

.p-flow-anesthesia__item {
	font-size: 0.875rem;
}

.p-flow-after {
	margin-top: 4rem;
}

.p-flow-after__blocks {
	grid-template-columns: 1fr;
	margin-top: 1.5rem;
}

.p-flow-after__block {
	padding: 1.5rem 0.625rem;
}

.p-flow-after__head {
	font-size: 1.5rem;
}

.p-flow-after__items {
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.top-slick .kv01 {
	left: -25.58cqw;
	top: -31.79cqw;
	width: 61.53cqw;
}

.top-slick .kv02 {
	bottom: 0;
	left: 56.66cqw;
	top: auto;
	top: initial;
	width: 61.53cqw;
}

.slide01 .bnr {
	left: -5cqw;
	top: 10.51cqw;
	width: 85cqw;
}

.slide01 .txt-box {
	left: 6.41cqw;
	top: 31.53cqw;
}

.slide01 .txt {
	font-size: 6.15cqw;
	line-height: 1.6;
	margin-bottom: 1em;
}

.slide01 .lead {
	font-size: 3.58cqw;
	line-height: 1.7;
}

.slide02 .txt-box-inner {
	gap: 17cqw;
}

.slide02 .txt-box {
	right: 23.58cqw;
	top: 3.84cqw;
}

.slide02 .txt {
	font-size: 6.15cqw;
}

.slide02 .lead {
	font-size: 3.58cqw;
	margin-top: 12.56cqw;
}

.slide03 .bnr {
	left: 3.58cqw;
	top: 2.82cqw;
	width: 68.46cqw;
}

.slide03 .txt-box {
	left: 5.12cqw;
	top: 23cqw;
}

.slide03 .txt {
	font-size: 6.15cqw;
	line-height: 1.45;
}

.slide03 .lead {
	font-size: 3.58cqw;
	line-height: 2;
	margin-top: 2cqw;
	white-space: normal;
}

.slide04 .txt-box {
	left: 5.12cqw;
	top: 4.61cqw;
}

.slide04 .txt {
	font-size: 6.15cqw;
	line-height: 1.45;
}

.slide04 .lead {
	font-size: 3.58cqw;
	line-height: 2.1;
	margin-top: 2cqw;
}

.slide06 .txt-box {
	left: 50%;
	top: 10.51cqw;
	transform: translateX(-50%);
	width: -moz-fit-content;
	width: fit-content;
}

.slide06 .txt {
	font-size: 6.15cqw;
}

.mv-content {
	flex-wrap: wrap;
	transform: translateY(-53%);
}

.mv-btn-li {
	justify-content: space-between;
	width: 100%;
}

.mv-news-block {
	max-width: 100;
	width: 100%;
}

.mv-btn-li li {
	height: 31.0256cqw;
	max-height: 100%;
	max-width: 100%;
	width: 33%;
}

.mv-btn-li a .img {
	max-width: 100%;
	width: 42.6%;
}

.mv-btn-li a .txt {
	font-size: 13px;
	font-size: var(--fs-s);
}

.section--top-title {
	margin-bottom: calc(10px * 5);
	margin-bottom: calc(var(--margin) * 5);
}

.section--top-title::after {
	bottom: calc(10px * -1);
	bottom: calc(var(--margin) * -1);
}

.section--top-title .lead {
	font-size: 26px;
}

.greeting-break {
	display: block;
}

.section--top-title .en {
	font-size: 30px;
	letter-spacing: 3px;
}

#pickup {
	padding: 0 0 15.3846cqw;
}

#pickup .pickup-li {
	flex-wrap: wrap;
}

#pickup .pickup-li > li {
	width: 100%;
}

#pickup .pickup-li a .txt-box {
	border-radius: calc(10px * 3) calc(10px * 3) 0 0;
	border-radius: calc(var(--margin) * 3) calc(var(--margin) * 3) 0 0;
	width: 100%;
}

#pickup .pickup-li-title {
	margin-bottom: 0;
}

#pickup .pickup-li-title {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	justify-content: center;
	text-align: center;
}

#pickup .pickup-li-lead {
	font-size: 15px;
	text-align: center;
}

#medical {
	padding: 15.3846cqw 0;
}

#medical .top-keyvisual-01 {
	left: -45cqw;
	top: -45cqw;
	width: 79.2307cqw;
}

#medical .medical-li-img,
#medical .medical-li-icon {
	flex-wrap: wrap;
}

#medical .medical-li-img > li {
	width: 100%;
}

#medical .medical-li-icon > li {
	width: calc((100% - 10px * 2) / 2);
	width: calc((100% - var(--margin) * 2) / 2);
}

#medical .medical-li-img .txt-box {
	gap: calc(10px * 2);
	gap: calc(var(--margin) * 2);
	justify-content: center;
}

#medical .medical-li-img .txt-box .medical-li-txt {
	align-items: center;
	flex-direction: column;
	gap: 10px;
	gap: var(--margin);
}

#medical .medical-li-img .txt-box .medical-li-title {
	text-align: center;
}

#medical .medical-li-img .txt-box .medical-li-cat {
	justify-content: center;
}

#clinic {
	padding: 15.3846cqw 0;
}

#clinic .clinic-li {
	flex-wrap: wrap;
	margin-bottom: calc(10px * 3);
	margin-bottom: calc(var(--margin) * 3);
}

#clinic .clinic-li > li {
	width: 100%;
}

#clinic .clinic-li .clinic-li-inner {
	padding: calc(10px * 2);
	padding: calc(var(--margin) * 2);
}

#clinic .clinic-li .clinic-li-title,
#clinic .clinic-li .address,
#clinic .clinic-li .tell {
	margin-bottom: 1em;
}

#clinic .clinic-li .clinic-li-title {
	margin-bottom: 0;
	text-align: center;
}

#clinic .clinic-li .address {
	font-size: 14px;
	margin-bottom: 2em;
	text-align: center;
}

#clinic .clinic-li .tell {
	justify-content: center;
	text-align: center;
}

#clinic .clinic-li .depts {
	text-align: center;
}

#clinic .clinic-li .depts {
	margin-bottom: 1em;
	padding: 0.3em 0 0.5em;
}

#clinic .silverhills-li {
	flex-wrap: wrap;
}

#clinic .silverhills-li > li {
	width: 100%;
}

#clinic .silverhills-li li:nth-child(2) {
	padding: calc(10px * 3);
	padding: calc(var(--margin) * 3);
}

#clinic .silverhills-li .silverhills-li-title::after {
	left: 0;
	margin: auto;
	right: 0;
	width: 7em;
}

#clinic .silverhills-li .silverhills-li-title {
	text-align: center;
}

#clinic .silverhills-li .address {
	font-size: 14px;
	text-align: center;
}

#clinic .silverhills-li .tell {
	justify-content: center;
	text-align: center;
}

#clinic .silverhills-li .link {
	display: flex;
	justify-content: center;
}

#news {
	padding: 15.3846cqw 0;
}

#news .top-keyvisual-01 {
	right: -15cqw;
	width: 79.2307cqw;
}

#about {
	padding: 15.3846cqw 0;
}

#about .top-keyvisual-01 {
	bottom: 3cqw;
	left: -5cqw;
	width: 79.4871cqw;
}

#about .about-li {
	flex-wrap: wrap;
}

#about .about-li > li {
	width: 100%;
}

#about .about-li > li:nth-child(2) {
	padding: calc(10px * 2);
	padding: calc(var(--margin) * 2);
}

#about .about-li .about-li-title {
	font-size: 20px;
	font-size: var(--fs-6l);
	text-align: center;
}

#about .about-li .link {
	display: flex;
	justify-content: center;
}

#greeting {
	overflow: hidden;
	padding: 15.3846cqw 0;
}

#greeting .top-keyvisual-01 {
	bottom: 3cqw;
	right: -5cqw;
	width: 79.4871cqw;
}

#greeting .greeting-li {
	flex-wrap: wrap;
}

#greeting .greeting-li > li {
	width: 100%;
}

#greeting .greeting-li > li:nth-child(2) {
	order: 1;
}

#greeting .greeting-li > li:first-child {
	order: 2;
	padding: calc(10px * 2);
	padding: calc(var(--margin) * 2);
}

#greeting .greeting-li .about-li-title {
	font-size: 20px;
	font-size: var(--fs-6l);
}

#column {
	padding: 15.3846cqw 0;
}

#column .top-keyvisual-01 {
	bottom: 35cqw;
	left: -15cqw;
	width: 79.4871cqw;
}

#column .content-w-inner {
	max-width: 100% !important;
	width: 100% !important;
}

#column .content-w-inner {
	box-sizing: border-box;
	padding: 0;
}

.column-li {
	margin: 0 auto calc(10px * 3);
	margin: 0 auto calc(var(--margin) * 3);
	padding-bottom: calc(10px * 4);
	padding-bottom: calc(var(--margin) * 4);
}

.column-li .slick-slider {
	visibility: hidden;
}

.column-li .slick-initialized {
	visibility: visible;
}

.column-li {
	display: block !important;
}

.column-li {
	gap: 0;
	overflow: hidden;
	width: 100%;
}

.column-li .slick-list {
	overflow: visible;
	overflow: initial;
}

.column-li .slick-track {
	align-items: center;
	align-items: stretch;
	display: flex;
}

.column-li .slick-slide {
	padding: 0 !important;
}

.column-li .slick-slide {
	box-sizing: border-box;
	height: auto;
	margin: 0 10px;
}

.column-li .slick-slide > a {
	box-sizing: border-box;
	display: block;
	max-width: 100%;
	width: 100%;
}

.column-li .thumb {
	width: 100% !important;
}

.column-li .thumb {
	height: 46.1538cqw;
	position: relative;
}

.column-li .thumb img {
	width: 100% !important;
}

.column-li .thumb img {
	-o-object-fit: cover;
	bottom: 0;
	height: auto;
	left: 0;
	margin: auto;
	object-fit: cover;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.column-li .column-li-content {
	box-sizing: border-box;
	width: 100%;
}

.column-li .slick-dots {
	bottom: 0;
}

.column-li .slick-dots li button {
	height: 2.0512cqw;
	width: 2.0512cqw;
}

.column-li .slick-dots li button:before {
	background: #ededed;
	background: var(--line-color);
	border-radius: 100vmax;
	content: "";
	height: 2.0512cqw;
	opacity: 1;
	width: 2.0512cqw;
}

.column-li .slick-dots li.slick-active button:before {
	background: #004f9c;
	background: var(--main-color);
}

.column-li .medical-category .cate {
	margin-left: 0;
}

.btn-wh-raound40-shadow {
	border-radius: calc(10px * 2);
	border-radius: calc(var(--margin) * 2);
}

.icon-maru-nv-right.maru-big::after {
	background-size: var(--icon-maru-big-w) 100%;
	height: var(--icon-maru-big-h);
	width: calc(var(--icon-maru-big-w) + 10px);
	width: calc(var(--icon-maru-big-w) + var(--margin));
}

.icon-maru-nv-right-left.maru-big::before {
	background-size: var(--icon-maru-big-w) 100%;
	height: var(--icon-maru-big-h);
	width: calc(var(--icon-maru-big-w) + 10px);
	width: calc(var(--icon-maru-big-w) + var(--margin));
}

.icon-maru-wh-right.maru-big::after {
	background-size: var(--icon-maru-big-w) 100%;
	height: var(--icon-maru-big-h);
	width: calc(var(--icon-maru-big-w) + 10px);
	width: calc(var(--icon-maru-big-w) + var(--margin));
}

.icon-maru-nv-link.maru-big::after {
	background-size: var(--icon-maru-big-w) 100%;
	height: var(--icon-maru-big-h);
	width: calc(var(--icon-maru-big-w) + 10px);
	width: calc(var(--icon-maru-big-w) + var(--margin));
}

.icon-maru-nv-down::before {
	background-size: var(--icon-maru-down-w) 100%;
	height: var(--icon-maru-down-h);
	width: var(--icon-maru-down-w);
}

.tell a {
	font-size: 19px;
	font-size: var(--fs-5l);
}

.tell::before {
	background: left center/4.8717cqw 100% no-repeat url("../images/common/icon-tell.svg");
	height: 6.4102cqw;
	width: calc(4.8717cqw + 10px);
}

:where(#content) .inner {
	padding-left: 20px;
	padding-right: 20px;
}

.pc-br,
.pc-block {
	display: none;
}

.sp-br {
	display: inline;
}

.sp-block {
	display: block;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes clinic-about-scroll-up {

from {
	transform: translateY(0);
}

to {
	transform: translateY(calc(-1 * 50%));
	transform: translateY(calc(-1 * var(--scroll-dist, 50%)));
}

}

@keyframes clinic-about-scroll-down {

from {
	transform: translateY(calc(-1 * 50%));
	transform: translateY(calc(-1 * var(--scroll-dist, 50%)));
}

to {
	transform: translateY(0);
}

}

@keyframes rise {

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes section-title-line {

0% {
	opacity: 0;
	width: 0;
}

100% {
	opacity: 1;
	width: 86px;
}

}


/*# sourceMappingURL=style.css.map */
