/* itdm-patient-home — .itdm-patient-home-wrap 配下限定 */

/* -----------------------------------------------
   ラッパー
----------------------------------------------- */
.itdm-patient-home-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 16px;
	padding-left: 16px;
}

.itdm-patient-home-wrap *,
.itdm-patient-home-wrap *::before,
.itdm-patient-home-wrap *::after {
	box-sizing: inherit;
}

/* -----------------------------------------------
   ヒーロー
----------------------------------------------- */
.itdm-ph-hero {
	padding: 40px 0 32px;
	text-align: center;
}

.itdm-ph-hero__inner {
	padding: 0;
}

.itdm-ph-hero__title {
	margin: 0 0 8px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.3;
	color: #1a3a5c;
}

.itdm-ph-hero__subtitle {
	margin: 0;
	font-size: 1rem;
	color: #555;
}

/* -----------------------------------------------
   アクションボタン
----------------------------------------------- */
.itdm-ph-actions {
	padding: 0 0 40px;
}

.itdm-ph-actions__inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

@media (min-width: 576px) {
	.itdm-ph-actions__inner {
		flex-direction: row;
	}
}

.itdm-ph-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	gap: 6px;
	padding: 24px 16px;
	border-radius: 12px;
	text-decoration: none;
	text-align: center;
	transition: opacity 0.2s, transform 0.15s;
	min-width: 0; /* flex内でテキスト溢れ防止 */
	touch-action: manipulation;
}

.itdm-ph-btn:hover {
	opacity: 0.88;
	transform: translateY(-2px);
	text-decoration: none;
}

.itdm-ph-btn--primary {
	background-color: #1a6eb0;
	color: #fff;
}

.itdm-ph-btn--primary:hover,
.itdm-ph-btn--primary:visited {
	color: #fff;
}

.itdm-ph-btn--secondary {
	background-color: #f0f4f8;
	color: #1a3a5c;
	border: 2px solid #c5d5e8;
}

.itdm-ph-btn--secondary:hover,
.itdm-ph-btn--secondary:visited {
	color: #1a3a5c;
}

.itdm-ph-btn__icon {
	font-size: 2rem;
	line-height: 1;
}

.itdm-ph-btn__label {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
}

.itdm-ph-btn__sub {
	font-size: 0.875rem;
	opacity: 0.85;
	line-height: 1.4;
}

/* -----------------------------------------------
   ご利用の流れ
----------------------------------------------- */
.itdm-ph-guide {
	padding: 0 0 48px;
}

.itdm-ph-guide__inner {
	background: #f8fafc;
	border-radius: 12px;
	padding: 28px 24px;
}

.itdm-ph-guide__title {
	margin: 0 0 20px;
	font-size: 1.1rem;
	font-weight: 700;
	color: #1a3a5c;
	text-align: center;
}

.itdm-ph-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

@media (min-width: 576px) {
	.itdm-ph-steps {
		flex-direction: row;
		gap: 12px;
	}
}

.itdm-ph-step {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	flex: 1;
	min-width: 0;
}

@media (min-width: 576px) {
	.itdm-ph-step {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

.itdm-ph-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 32px;
	border-radius: 50%;
	background: #1a6eb0;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
}

.itdm-ph-step__body {
	min-width: 0;
}

.itdm-ph-step__body strong {
	display: block;
	font-size: 0.95rem;
	color: #1a3a5c;
	margin-bottom: 4px;
}

.itdm-ph-step__body p {
	margin: 0;
	font-size: 0.875rem;
	color: #666;
	line-height: 1.5;
}

/* -----------------------------------------------
   トップページ限定 不要要素非表示
   body.home / body.page-id-9 にのみ適用
   他ページ・予約フローには影響しない
----------------------------------------------- */

/* ページタイトル・エントリーヘッダー */
body.home .entry-header,
body.home .page-header,
body.home .entry-title,
body.home .page-title,
body.page-id-9 .entry-header,
body.page-id-9 .page-header,
body.page-id-9 .entry-title,
body.page-id-9 .page-title {
	display: none !important;
}

/* パンくず */
body.home .vk_breadcrumb,
body.home .vk-breadcrumb,
body.home .breadcrumb,
body.home #breadcrumb,
body.home .veu_breadcrumb,
body.page-id-9 .vk_breadcrumb,
body.page-id-9 .vk-breadcrumb,
body.page-id-9 .breadcrumb,
body.page-id-9 #breadcrumb,
body.page-id-9 .veu_breadcrumb {
	display: none !important;
}

/* SNSボタン */
body.home .sns,
body.home .sns-share,
body.home .vk_sns,
body.home .vk-sns,
body.home .veu_socialSet,
body.page-id-9 .sns,
body.page-id-9 .sns-share,
body.page-id-9 .vk_sns,
body.page-id-9 .vk-sns,
body.page-id-9 .veu_socialSet {
	display: none !important;
}

/* 投稿メタ・entry footer・前後記事ナビ */
body.home .entry-footer,
body.home .postNextPrev,
body.page-id-9 .entry-footer,
body.page-id-9 .postNextPrev {
	display: none !important;
}

/* アーカイブ・カテゴリーウィジェット・サイドバー */
body.home .widget_archive,
body.home .widget_categories,
body.home #secondary,
body.home .sidebar,
body.home .sub-section,
body.page-id-9 .widget_archive,
body.page-id-9 .widget_categories,
body.page-id-9 #secondary,
body.page-id-9 .sidebar,
body.page-id-9 .sub-section {
	display: none !important;
}

/* 右下ページトップボタン */
body.home .vk-pagetop,
body.home .page_top_btn,
body.home #page_top,
body.home #page-top,
body.page-id-9 .vk-pagetop,
body.page-id-9 .page_top_btn,
body.page-id-9 #page_top,
body.page-id-9 #page-top {
	display: none !important;
}

/* 予約フロー下部固定バー（トップページのみ非表示・予約フロー各ページは対象外）*/
body.home .itdm-booking-bottom-bar,
body.home .itdm-booking-fixed-bar,
body.home .itdm-bottom-bar,
body.home [class*="booking-bottom"],
body.home [class*="booking-fixed"],
body.home [class*="step-bottom"],
body.home [class*="floating-bottom"],
body.home [class*="fixed-bottom"],
body.page-id-9 .itdm-booking-bottom-bar,
body.page-id-9 .itdm-booking-fixed-bar,
body.page-id-9 .itdm-bottom-bar,
body.page-id-9 [class*="booking-bottom"],
body.page-id-9 [class*="booking-fixed"],
body.page-id-9 [class*="step-bottom"],
body.page-id-9 [class*="floating-bottom"],
body.page-id-9 [class*="fixed-bottom"] {
	display: none !important;
}

/* アーカイブ・カテゴリー・サイドバー 追加セレクター */
body.home .widget-area,
body.home .sidebar-area,
body.home .l-col__sidebar,
body.home .vk-col-sidebar,
body.home [id*="sidebar"],
body.home [class*="widget-area"],
body.page-id-9 .widget-area,
body.page-id-9 .sidebar-area,
body.page-id-9 .l-col__sidebar,
body.page-id-9 .vk-col-sidebar,
body.page-id-9 [id*="sidebar"],
body.page-id-9 [class*="widget-area"] {
	display: none !important;
}

/* アーカイブ・カテゴリー・サイドバー Lightning G3 固有セレクター */
body.home .l-col__sub,
body.home .l-col-2__sub,
body.home .l-col-3__sub,
body.home .col-sub,
body.home .site-body__sub,
body.home .l-subContent,
body.home .sub-content,
body.home .l-subCol,
body.page-id-9 .l-col__sub,
body.page-id-9 .l-col-2__sub,
body.page-id-9 .l-col-3__sub,
body.page-id-9 .col-sub,
body.page-id-9 .site-body__sub,
body.page-id-9 .l-subContent,
body.page-id-9 .sub-content,
body.page-id-9 .l-subCol {
	display: none !important;
}

/* アーカイブ・カテゴリーウィジェット 直接指定（場所を問わず非表示）*/
body.home .widget_archive,
body.home .widget_categories,
body.home .widget.widget_archive,
body.home .widget.widget_categories,
body.home aside.widget_archive,
body.home aside.widget_categories,
body.page-id-9 .widget_archive,
body.page-id-9 .widget_categories,
body.page-id-9 .widget.widget_archive,
body.page-id-9 .widget.widget_categories,
body.page-id-9 aside.widget_archive,
body.page-id-9 aside.widget_categories {
	display: none !important;
}

/* Lightning G3 フッターウィジェットエリア（copyright は残す）*/
body.home .l-footer__widget,
body.home .l-footer__widgetArea,
body.home .l-footer__upper,
body.home .footer-widget-area,
body.home .footer-widgets,
body.home .footerWidgets,
body.home [class*="footer__widget"],
body.home [class*="footer-widget"],
body.page-id-9 .l-footer__widget,
body.page-id-9 .l-footer__widgetArea,
body.page-id-9 .l-footer__upper,
body.page-id-9 .footer-widget-area,
body.page-id-9 .footer-widgets,
body.page-id-9 .footerWidgets,
body.page-id-9 [class*="footer__widget"],
body.page-id-9 [class*="footer-widget"] {
	display: none !important;
}

/* 予約フロー下部固定バー 追加セレクター
   実際のクラス名が不明なため広範に指定（body.home 限定） */
body.home .booking-bar,
body.home .booking-nav,
body.home .booking-footer,
body.home .step-bar,
body.home .step-nav,
body.home .step-footer,
body.home .bottom-fixed,
body.home .bottom-nav,
body.home .flow-bar,
body.home .flow-nav,
body.home .clinic-bar,
body.home .fixed-bar,
body.home [class*="booking-bar"],
body.home [class*="booking-nav"],
body.home [class*="step-bar"],
body.home [class*="step-nav"],
body.home [class*="bottom-fixed"],
body.home [id*="booking-bar"],
body.home [id*="booking-nav"],
body.home [id*="step-bar"],
body.home [id*="bottom-bar"],
body.home [id*="fixed-bar"],
body.page-id-9 .booking-bar,
body.page-id-9 .booking-nav,
body.page-id-9 .booking-footer,
body.page-id-9 .step-bar,
body.page-id-9 .step-nav,
body.page-id-9 .step-footer,
body.page-id-9 .bottom-fixed,
body.page-id-9 .bottom-nav,
body.page-id-9 .flow-bar,
body.page-id-9 .flow-nav,
body.page-id-9 .clinic-bar,
body.page-id-9 .fixed-bar,
body.page-id-9 [class*="booking-bar"],
body.page-id-9 [class*="booking-nav"],
body.page-id-9 [class*="step-bar"],
body.page-id-9 [class*="step-nav"],
body.page-id-9 [class*="bottom-fixed"],
body.page-id-9 [id*="booking-bar"],
body.page-id-9 [id*="booking-nav"],
body.page-id-9 [id*="step-bar"],
body.page-id-9 [id*="bottom-bar"],
body.page-id-9 [id*="fixed-bar"] {
	display: none !important;
}

/* Lightning標準ヘッダー非表示（トップページ限定）
   独自ヘッダー header-patient.php / header-patient.css で代替 */
body.home .siteHeader,
body.home .site-header,
body.home header.siteHeader,
body.home header.site-header,
body.home #site-header,
body.home .l-header,
body.home .vk-mobile-nav,
body.home .global-nav,
body.home .globalNav,
body.home .gMenu,
body.home .navbar,
body.page-id-9 .siteHeader,
body.page-id-9 .site-header,
body.page-id-9 header.siteHeader,
body.page-id-9 header.site-header,
body.page-id-9 #site-header,
body.page-id-9 .l-header,
body.page-id-9 .vk-mobile-nav,
body.page-id-9 .global-nav,
body.page-id-9 .globalNav,
body.page-id-9 .gMenu,
body.page-id-9 .navbar {
	display: none !important;
}
