/* =========================================================
   性病検査（STD検査）ページ専用 スタイルシート
   ターゲットデザイン（濃い青・クッキリフォント・最適余白）
   ========================================================= */

/* 修正点: 親テーマが持つmainタグの巨大な上部パディング（100px）をPC・スマホ全領域で完全に消去 */
html body main,
html body #main,
html body .l-main,
html body [role="main"],
main {
	padding-top: 50px !important;
}

:root {
	--color-primary:        #1d6fb8;
	--color-primary-dark:   #14507f;
	--color-primary-light:  #e7f1fa;
	--color-accent:         #f7b500;
	--color-text:           #333333;
	--color-text-sub:       #666666;
	--color-border:         #d9e3ec;
	--color-bg-soft:        #f5f9fc;
	--color-white:          #ffffff;
	--shadow-card:          0 4px 14px rgba(29, 111, 184, 0.08);
	--shadow-card-hover:    0 8px 24px rgba(29, 111, 184, 0.15);
	--radius-md:            8px;
	--radius-lg:            12px;
}

/* 全体コンテナのラップと親テーマの干渉リセット */
.stdtest-custom-inside {
	box-sizing: border-box;
	max-width: 1000px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
	color: var(--color-text) !important;
	line-height: 1.8 !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

.stdtest-custom-inside *, 
.stdtest-custom-inside *::before, 
.stdtest-custom-inside *::after {
	box-sizing: inherit;
}

/* 既存テーマの「.l-section」が持つ過剰な上下余白を強制クリア */
.stdtest-custom-inside .l-section {
	margin: 0 !important;
	padding: 0 !important;
}

/* 文字のかすれ・薄さを解消 */
.stdtest-custom-inside p, 
.stdtest-custom-inside td, 
.stdtest-custom-inside dd, 
.stdtest-custom-inside div {
	color: var(--color-text) !important;
	font-weight: 400 !important;
}

/* ---------------------------------------------------------
   目次セクション（外側の二重枠・影を完全削除）
   --------------------------------------------------------- */
.p-mokuji {
	max-width: 1000px !important;
	margin: 50px auto 30px !important;
	padding: 0 20px !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
}

/* ---------------------------------------------------------
   セクション大見出し（H2グラデーションの縦幅を目標に完全合致）
   --------------------------------------------------------- */
.stdtest-custom-inside h2.section-title {
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: var(--color-primary-dark) !important;
	border: none !important;
	border-left: 5px solid var(--color-primary) !important;
	padding: 14px 0 14px 16px !important;
	margin: 45px 0 20px !important;
	text-align: left !important;
	background: linear-gradient(to right, var(--color-primary-light) 0%, transparent 60%) !important;
	line-height: 1.4 !important;
}

/* ---------------------------------------------------------
   【1】性病検査について（3つの特長ボックスを横幅いっぱいに揃える）
   --------------------------------------------------------- */
.stdtest-custom-inside .about-section { margin: 24px 0 16px; }
.stdtest-custom-inside .about-lead { display: flex; gap: 18px; align-items: flex-start; background: linear-gradient(135deg, var(--color-primary-light) 0%, #f5f9fc 100%); border-left: 5px solid var(--color-primary); border-radius: var(--radius-md); padding: 22px 24px; margin-bottom: 20px; text-align: left; box-shadow: var(--shadow-card) !important; }

/* リード文内のハートアイコン白抜き化 */
.stdtest-custom-inside .about-lead-icon { flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: var(--color-primary); color: var(--color-white); display: flex; align-items: center; justify-content: center; }
.stdtest-custom-inside .about-lead-icon svg,
.stdtest-custom-inside .about-lead-icon svg path { fill: none !important; stroke: var(--color-white) !important; stroke-width: 2 !important; }

.stdtest-custom-inside .about-lead-text { margin: 0; font-size: 0.98rem !important; line-height: 1.85 !important; color: var(--color-text) !important; font-weight: 400 !important; }
.stdtest-custom-inside .about-text { margin: 0 0 14px; padding: 0 4px; font-size: 0.95rem; line-height: 1.85; text-align: left; }

/* 3つのボックスの親要素幅を100%にしてテーブルの両端とピッタリ揃える */
.stdtest-custom-inside .about-features { 
	display: flex !important; 
	justify-content: space-between !important; 
	align-items: stretch !important; 
	gap: 16px !important; 
	margin-top: 26px !important;
	width: 100% !important;
}
/* 均等3分割にし、目標の右側画像と同じ幅に自動アジャスト */
.stdtest-custom-inside .about-feature { 
	background: var(--color-white); 
	border: 1px solid var(--color-border); 
	border-radius: var(--radius-md); 
	padding: 24px 18px !important; 
	text-align: center; 
	transition: transform 0.2s ease, box-shadow 0.2s ease; 
	flex: 1 !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}
.stdtest-custom-inside .about-feature:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); }
.stdtest-custom-inside .about-feature-icon { width: 48px; height: 48px; border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary); display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }

/* 3つの特長アイコンの黒塗り潰しを解除し、目標通りの青線×白（透明）に戻す */
.stdtest-custom-inside .about-feature-icon svg,
.stdtest-custom-inside .about-feature-icon svg path,
.stdtest-custom-inside .about-feature-icon svg polyline,
.stdtest-custom-inside .about-feature-icon svg circle { 
	fill: none !important; 
	stroke: var(--color-primary) !important; 
	stroke-width: 2 !important;
}

.stdtest-custom-inside .about-feature-title { font-size: 1rem; font-weight: 700 !important; color: var(--color-primary-dark); margin-bottom: 6px; }
.stdtest-custom-inside .about-feature-text { font-size: 0.85rem; color: var(--color-text-sub) !important; line-height: 1.65; margin: 0; }

/* ---------------------------------------------------------
   【2】STDパッケージ表（ホバー・クリック・選択時の背景色変化を完全遮断）
   --------------------------------------------------------- */
.stdtest-custom-inside .package-table-wrapper { overflow-x: auto; margin: 24px 0; box-shadow: var(--shadow-card); border-radius: var(--radius-lg); }
.stdtest-custom-inside .package-table { width: 100%; border-collapse: collapse; background: var(--color-white); min-width: 720px; font-size: 0.95rem; }

/* 表のヘッダー（青背景部分） */
.stdtest-custom-inside .package-table thead th { 
	background: var(--color-primary) !important; 
	color: var(--color-white) !important; 
	font-weight: 700 !important; 
	padding: 16px 14px !important; 
	text-align: center !important; 
	font-size: 1rem !important; 
	border-right: 1px solid rgba(255,255,255,0.2) !important; 
	vertical-align: middle !important; 
	line-height: 1.4 !important; 
}
.stdtest-custom-inside .package-table thead th:last-child { border-right: none !important; }
.stdtest-custom-inside .package-table thead th .pkg-subtitle { display: block; font-size: 0.78rem; font-weight: 400; margin-top: 4px; opacity: 0.9; }

/* どのようなホバー、クリック、テーマ独自の選択クラス付与がセルに発生しても背景変化を100%無効化 */
.stdtest-custom-inside .package-table tbody td,
.stdtest-custom-inside .package-table tbody tr td,
.stdtest-custom-inside .package-table tbody tr:hover td,
.stdtest-custom-inside .package-table tbody tr:active td,
.stdtest-custom-inside .package-table tbody tr[class*="active"] td,
.stdtest-custom-inside .package-table tbody tr[class*="selected"] td,
.stdtest-custom-inside .package-table tbody td:hover,
.stdtest-custom-inside .package-table tbody td:active,
.stdtest-custom-inside .package-table tbody td[class*="active"],
.stdtest-custom-inside .package-table tbody td[class*="selected"] { 
	background: var(--color-white) !important; 
	padding: 14px 14px !important; 
	border-bottom: 1px solid var(--color-border); 
	border-right: 1px solid var(--color-border); 
	vertical-align: middle; 
	line-height: 1.6 !important; 
}
.stdtest-custom-inside .package-table tbody td:last-child { border-right: none !important; }
.stdtest-custom-inside .package-table tbody tr:last-child td { border-bottom: none !important; }

/* 左側ラベル列（row-label）もホバーやクリックを完全に無効化して本来の水色に固定 */
.stdtest-custom-inside .package-table tbody .row-label,
.stdtest-custom-inside .package-table tbody tr:hover .row-label,
.stdtest-custom-inside .package-table tbody tr:active .row-label,
.stdtest-custom-inside .package-table tbody tr[class*="active"] .row-label,
.stdtest-custom-inside .package-table tbody .row-label:hover,
.stdtest-custom-inside .package-table tbody .row-label:active { 
	background: var(--color-primary-light) !important; 
	color: var(--color-primary-dark) !important; 
	font-weight: 700 !important; 
	width: 140px; 
	text-align: center; 
	white-space: nowrap; 
}
.stdtest-custom-inside .package-table .cell-center { text-align: center; }

/* 色塗り丸（●）を鮮やかなコーポレートブルーに強制変更 */
.stdtest-custom-inside .package-table .mark-yes { 
	color: var(--color-primary) !important; 
	font-size: 1.15rem !important; 
	font-weight: 700 !important; 
}
.stdtest-custom-inside .package-table .mark-no { color: #b8c5d1 !important; font-size: 1rem !important; }
.stdtest-custom-inside .package-table .item-label { background: var(--color-white) !important; font-size: 0.92rem; padding-left: 20px; color: var(--color-text) !important; width: auto; text-align: left; white-space: normal; }

/* 濃い青のカテゴリ見出し行（category-row）もホバーやクリックを無効化して色を固定 */
.stdtest-custom-inside .package-table .category-row td,
.stdtest-custom-inside .package-table tbody tr.category-row:hover td,
.stdtest-custom-inside .package-table tbody tr.category-row:active td,
.stdtest-custom-inside .package-table tbody tr.category-row[class*="active"] td { 
	background: var(--color-primary-dark) !important; 
	color: var(--color-white) !important; 
	font-weight: 700 !important; 
	font-size: 0.92rem; 
	padding: 10px 16px; 
	letter-spacing: 0.5px; 
	text-align: left; 
	border-right: none; 
}

/* 最下部価格行（price-row）もホバーやクリックによる色変化を完全に遮断して固定 */
.stdtest-custom-inside .package-table .price-row td,
.stdtest-custom-inside .package-table tbody tr.price-row:hover td,
.stdtest-custom-inside .package-table tbody tr.price-row:active td,
.stdtest-custom-inside .package-table tbody tr.price-row[class*="active"] td { 
	background: var(--color-bg-soft) !important; 
	border-top: 2px solid var(--color-primary); 
	padding: 18px 14px !important; 
}
.stdtest-custom-inside .package-table .price-row .row-label,
.stdtest-custom-inside .package-table tbody tr.price-row:hover .row-label,
.stdtest-custom-inside .package-table tbody tr.price-row:active .row-label { 
	background: var(--color-primary-light) !important; 
}

.stdtest-custom-inside .package-table .price { font-size: 1.5rem; font-weight: 700; color: var(--color-accent) !important; text-align: center; letter-spacing: 0.5px; line-height: 1.2 !important; }
.stdtest-custom-inside .package-table .price small { display: block; font-size: 0.75rem; color: var(--color-text-sub) !important; font-weight: 400; margin-top: 4px; }

/* 「おすすめ」の背景の真ん中に文字が配置されるように数値を最適化 */
.stdtest-custom-inside .badge-recommend { 
	display: inline-block !important; 
	vertical-align: middle !important;
	background: var(--color-accent) !important; 
	color: var(--color-white) !important; 
	font-size: 0.7rem !important; 
	padding: 2px 10px 3px 10px !important; 
	border-radius: 999px !important; 
	margin-bottom: 6px !important; 
	font-weight: 700 !important; 
	letter-spacing: 0.5px !important; 
	line-height: 1.2 !important; 
	height: auto !important;
}

.stdtest-custom-inside .package-note {
	font-size: 0.85rem;
	color: var(--color-text-sub) !important;
	margin-top: 15px !important;
	margin-bottom: 0 !important;
	padding-left: 16px;
	border-left: 3px solid var(--color-border);
	text-align: left;
	line-height: 1.8 !important;
}

/* ---------------------------------------------------------
   【3】STDの種類（導入文の行間を1.75倍に広げて最適化）
   --------------------------------------------------------- */
.stdtest-custom-inside .std-types-intro { 
	background: var(--color-bg-soft); 
	border-radius: var(--radius-md); 
	padding: 18px 20px !important; 
	margin-bottom: 28px; 
	font-size: 0.95rem; 
	color: var(--color-text-sub) !important; 
	text-align: left; 
	line-height: 1.75 !important; 
}
.stdtest-custom-inside .std-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin: 24px 0 32px; }
.stdtest-custom-inside .std-card { background: var(--color-white); border: 1px solid var(--color-border); border-top: 4px solid var(--color-primary); border-radius: var(--radius-md); padding: 20px 18px; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; text-align: left; width: 100%; font-family: inherit; }
.stdtest-custom-inside .std-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.stdtest-custom-inside .std-card.active { border-color: var(--color-accent); border-top-color: var(--color-accent); box-shadow: var(--shadow-card-hover); }

.stdtest-custom-inside .std-card .card-icon { width: 44px; height: 44px; border-radius: 50% !important; background: var(--color-primary-light); color: var(--color-primary-dark) !important; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; margin-bottom: 12px; transition: background 0.2s, color 0.2s; }
.stdtest-custom-inside .std-card.active .card-icon { 
	background: var(--color-accent) !important; 
	color: var(--color-white) !important; 
}

.stdtest-custom-inside .std-card h4 { font-size: 1.05rem; margin: 0 0 6px; color: var(--color-primary-dark) !important; font-weight: 700 !important; }
.stdtest-custom-inside .std-card .card-method { display: inline-block; font-size: 0.75rem; background: var(--color-primary-light); color: var(--color-primary-dark); padding: 2px 10px; border-radius: 999px; margin-bottom: 8px; }
.stdtest-custom-inside .std-card .card-summary { font-size: 0.85rem; color: var(--color-text-sub) !important; line-height: 1.6; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.stdtest-custom-inside .std-detail { background: var(--color-bg-soft); border-radius: var(--radius-lg); padding: 28px 28px 24px; border-left: 5px solid var(--color-primary); margin-bottom: 24px; display: none; text-align: left; }
.stdtest-custom-inside .std-detail.show { display: block; animation: fadeIn 0.3s ease; }
.stdtest-custom-inside .std-detail .detail-title { font-size: 1.3rem; font-weight: 700; color: var(--color-primary-dark); margin: 0 0 18px; display: flex; align-items: center; gap: 12px; }
.stdtest-custom-inside .std-detail .detail-title::before { content: ""; width: 6px; height: 24px; background: var(--color-accent); border-radius: 3px; }
.stdtest-custom-inside .detail-grid { display: grid; grid-template-columns: 140px 1fr; gap: 0; border-top: 1px solid var(--color-border); }
.stdtest-custom-inside .detail-grid dt { padding: 14px 12px; background: var(--color-primary-light); color: var(--color-primary-dark) !important; font-weight: 700 !important; font-size: 0.9rem; border-bottom: 1px solid var(--color-border); display: flex; align-items: flex-start; margin: 0; }
.stdtest-custom-inside .detail-grid dd { margin: 0; padding: 14px 16px; background: var(--color-white); border-bottom: 1px solid var(--color-border); font-size: 0.92rem; line-height: 1.75; white-space: pre-line; }

/* ---------------------------------------------------------
   【4】診療時間テーブル
   --------------------------------------------------------- */
.hours-table-wrapper { overflow-x: auto; margin: 24px 0; box-shadow: var(--shadow-card); border-radius: var(--radius-lg); }
.stdtest-custom-inside .hours-table { width: 100%; border-collapse: collapse; background: var(--color-white); min-width: 640px; font-size: 0.95rem; table-layout: auto !important; }
.stdtest-custom-inside .hours-table thead th { background: var(--color-primary); color: var(--color-white); font-weight: 700; padding: 12px 10px; text-align: center; border-right: 1px solid rgba(255,255,255,0.2); font-size: 0.9rem; }
.stdtest-custom-inside .hours-table thead th:last-child { border-right: none; }
.stdtest-custom-inside .hours-table thead th.clinic-49 { background: var(--color-primary-dark); }
.stdtest-custom-inside .hours-table tbody td { padding: 12px 10px; text-align: center; border-bottom: 1px solid var(--color-border); border-right: 1px solid var(--color-border); font-size: 0.95rem; }
.stdtest-custom-inside .hours-table tbody td:last-child { border-right: none; }
.stdtest-custom-inside .hours-table tbody tr:last-child td { border-bottom: none; }
.stdtest-custom-inside .hours-table tbody tr:nth-child(even) td { background: var(--color-bg-soft); }
.stdtest-custom-inside .hours-table .day-col { background: var(--color-primary-light); color: var(--color-primary-dark) !important; font-weight: 700 !important; width: 90px; white-space: nowrap; }
.stdtest-custom-inside .hours-table tbody tr:nth-child(even) .day-col { background: #dce8f3; }
.stdtest-custom-inside .hours-table .day-col.sat { color: #1d6fb8 !important; }
.stdtest-custom-inside .hours-table .day-col.sun { color: #c0392b !important; }
.stdtest-custom-inside .hours-table .open { color: var(--color-primary) !important; font-weight: 700 !important; }
.stdtest-custom-inside .hours-table .close { color: #bbb !important; font-weight: 400 !important; background: transparent; }

/* ---------------------------------------------------------
   【5】お問い合わせ
   --------------------------------------------------------- */
.stdtest-custom-inside .contact-cards {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 20px !important;
	margin: 28px 0 40px !important;
}
.stdtest-custom-inside .contact-cards > p:empty, 
.stdtest-custom-inside .contact-cards > p, 
.stdtest-custom-inside .contact-cards > *:not(.contact-card) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.stdtest-custom-inside .contact-card {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important; 
	padding: 22px 24px !important;
	background: var(--color-white) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius-lg) !important;
	text-decoration: none !important;
	color: var(--color-text) !important;
	box-shadow: var(--shadow-card) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	position: relative !important;
	overflow: hidden !important;
	text-align: left !important;
}
.stdtest-custom-inside .contact-card::before { content: ""; position: absolute; top: 0; left: 0; width: 6px; height: 100%; }
.stdtest-custom-inside .contact-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-card-hover) !important; }
.stdtest-custom-inside .contact-card.line-card::before { background: #06c755; }
.stdtest-custom-inside .contact-card.line-card .contact-icon { background: #06c755; color: var(--color-white); }
.stdtest-custom-inside .contact-card.line-card .contact-cta { color: #06c755 !important; }
.stdtest-custom-inside .contact-card.tel-card::before { background: var(--color-primary); }
.stdtest-custom-inside .contact-card.tel-card .contact-icon { background: var(--color-primary); color: var(--color-white); }
.stdtest-custom-inside .contact-card.tel-card .contact-cta { color: var(--color-primary) !important; }

.stdtest-custom-inside .contact-card.line-card { padding-left: 24px !important; }
.stdtest-custom-inside .contact-icon { 
	flex-shrink: 0 !important; 
	width: 60px !important; 
	height: 60px !important; 
	border-radius: 50% !important; 
	display: flex !important; 
	align-items: center !important; 
	justify-content: center !important;
	margin: 0 18px 0 0 !important; 
	padding: 0 !important;
}
.stdtest-custom-inside .contact-card.line-card .contact-icon {
	margin-left: 0 !important;
}

.stdtest-custom-inside .contact-body { 
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	flex: 1; 
	min-width: 0; 
}
.stdtest-custom-inside .contact-label { 
	font-size: 0.82rem !important; 
	color: var(--color-text-sub) !important; 
	margin: 0 0 6px 0 !important; 
	letter-spacing: 0.5px; 
	line-height: 1.2 !important;
}
.stdtest-custom-inside .contact-value { 
	font-size: 1.35rem !important; 
	font-weight: 700 !important; 
	color: var(--color-primary-dark) !important; 
	letter-spacing: 0.5px; 
	line-height: 1.4 !important; 
	word-break: break-all; 
	margin: 0 0 6px 0 !important; 
}
.stdtest-custom-inside .contact-cta { 
	margin: 0 !important; 
	font-size: 0.85rem !important; 
	font-weight: 700 !important; 
	display: inline-flex !important; 
	align-items: center; 
	gap: 6px; 
	line-height: 1.2 !important;
}

/* 親テーマの黒塗り潰しを粉砕する最高レベル優先度ブロック */
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.line-card div.contact-icon svg,
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.line-card div.contact-icon svg path,
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.line-card div.contact-icon svg * {
	fill: var(--color-white) !important;
	stroke: none !important;
	color: var(--color-white) !important;
}
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.tel-card div.contact-icon svg,
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.tel-card div.contact-icon svg path,
html body div#page.site div.stdtest-custom-inside section#point5.l-section div.contact-cards a.contact-card.tel-card div.contact-icon svg * {
	fill: none !important;
	stroke: var(--color-white) !important;
	stroke-width: 2 !important;
	color: var(--color-white) !important;
}

/* ---------------------------------------------------------
   モバイルレスポンス設定
   --------------------------------------------------------- */
@media (max-width: 640px) {
	/* 親テーマのul.pn-bが持つ「display: flex;」を完全に破壊し、確実な2行構成へ矯正 */
	.blue_container .ttl_blue02 ul.pn-b {
		display: block !important;       
		padding: 15px 20px !important;    
		margin: 0 !important;
		list-style: none !important;
		width: 100% !important;
		white-space: normal !important;
		height: auto !important;
	}

	/* 1行目: トップページ（ホームリンク）要素の設定 */
	.blue_container .ttl_blue02 ul.pn-b li:first-child {
		display: inline-block !important;
		width: auto !important;
		margin: 0 0 4px 0 !important;
	}
	.blue_container .ttl_blue02 ul.pn-b li:first-child a {
		font-size: 0.8rem !important;
		color: var(--color-text-sub) !important;
		display: inline !important;
	}
	/* 1行目の右端に「 /」を固定描写 */
	.blue_container .ttl_blue02 ul.pn-b li:first-child a::after {
		content: " /" !important;
		color: #b8c5d1 !important;
		margin-left: 4px !important;
		display: inline-block !important;
	}
	
	.blue_container .ttl_blue02 ul.pn-b p,
	.blue_container .ttl_blue02 ul.pn-b br {
		display: none !important;
	}

	/* 2行目: 既存の古い固定ページタイトル「性病検査テストページ」を画面上から完全消滅させる */
	.blue_container .ttl_blue02 ul.pn-b li:last-child {
		display: block !important; 
		font-size: 0 !important; 
		color: transparent !important;
		line-height: 0 !important;
		height: 0 !important;
		margin: 2px 0 0 0 !important;
		padding: 0 !important;
		border: none !important;
		visibility: hidden !important;
	}

	/* 2行目: 消失させた文字の代わりに、「性病検査（STD検査）」を2行目としてクッキリ表示 */
	.blue_container .ttl_blue02 ul.pn-b li:last-child::before {
		content: "性病検査（STD検査）" !important;
		font-size: 0.8rem !important; 
		color: var(--color-text-sub) !important; 
		font-weight: 700 !important;
		visibility: visible !important;
		display: block !important;
	}

	.stdtest-custom-inside h2.section-title { font-size: 1.3rem !important; }
	.stdtest-custom-inside .package-table { min-width: 560px; }
	.stdtest-custom-inside .package-table .item-label { font-size: 0.85rem; padding-left: 12px; }
	.stdtest-custom-inside .detail-grid { grid-template-columns: 1fr; }
	.stdtest-custom-inside .detail-grid dt { padding: 10px 12px; border-bottom: none; }
	.stdtest-custom-inside .detail-grid dd { padding: 12px 12px 16px; }
	.stdtest-custom-inside .std-detail { padding: 20px 18px; }
	.stdtest-custom-inside .contact-card { padding: 18px 18px; gap: 14px; }
	.stdtest-custom-inside .contact-icon { width: 50px; height: 50px; }
	.stdtest-custom-inside .contact-value { font-size: 1.1rem; }
	.stdtest-custom-inside .about-lead { padding: 18px 18px; gap: 14px; }
	.stdtest-custom-inside .about-lead-icon { width: 44px; height: 44px; }
	.stdtest-custom-inside .about-lead-text { font-size: 0.92rem; }
	
	.stdtest-custom-inside .about-features {
		flex-direction: column !important;
		align-items: center !important;
		gap: 16px !important;
	}
	.stdtest-custom-inside .about-feature {
		max-width: 100% !important;
		width: 100% !important;
	}
	.stdtest-custom-inside .std-cards { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
	.stdtest-custom-inside .std-card { padding: 15px 12px; }
	.stdtest-custom-inside .std-card h4 { font-size: 0.95rem; }
}