@charset "UTF-8";
/* Google Fonts を読み込み：Kosugi Maru（丸ゴシック）とフォールバックに Noto Sans JP */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Sans+JP:wght@400;700;900&display=swap');

/* タグ上の「治療メニュー」タイトル */
.treatment-menu-title {
	display: inline-block;
	position: relative;
	font-size: 1.45rem;
	color: #9b8a5a;
	margin-bottom: 8px;
	letter-spacing: 0.05em;
	padding-bottom: 6px;
	/* 下線用のスペース */
}

.treatment-menu-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	/* 装飾用の短い下線 */
	background: #9b8a5a;
	border-radius: 2px;
}

@media (min-width: 2400px) {
	.treatment-card-btn {
		margin-top: 24px;
	}
}

.treatment-tag {
	color: #9b8a5a;
	font-size: clamp(1.1rem, 1.6vw, 1.25rem);
}

.treatment-tag:not(:last-child)::after {
	/* 重複を避けるため元のセパレータは無効化しています；代わりに隣接する兄弟要素の ::before を使います */
	content: '';
	display: none;
	margin: 0;
	padding: 0;
}

.treatment-card-btn:hover .btn-arrow svg path {
	stroke: #fff;
}

@media (max-width: 2400px) {
	.treatment-card-body {
		display: flex !important;
		flex-direction: column !important;
	}
}

.treatment-card-body {
	display: flex;
	flex-direction: column;
}

.treatment-tag {
	position: relative;
	/* セパレータのためのスタッキングコンテキストを作る */
	z-index: 1;
}

/* タグ背景でセパレータが隠れないよう、タグ間に明示的なセパレータ要素を挿入 */
.treatment-sep {
	color: #bca873;
	margin: 0 2px 0 4px;
	font-size: 0.8em;
	display: inline-block;
	vertical-align: middle;
	pointer-events: none;
	position: relative;
	z-index: 9;
}

.treatment-tag:hover,
.treatment-tag:focus {
	background: #bca873;
	color: #fff;
	border-color: #bca873;
	text-decoration: none;
}

/* セパレータが前のタグの背景内にならないよう、次のタグの ::before に移動していた説明（現在は明示要素を利用） */

.treatment-tag+.treatment-tag::before {
	content: '/';
	color: #bca873;
	margin: 0 12px;
	/* タグ背景との間に十分な余白を確保 */
	font-size: 1em;
	display: inline-block;
	vertical-align: middle;
	pointer-events: none;
	position: relative;
	z-index: 5;
	/* タグ背景より上に描画 */
	background: transparent;
	padding: 0 2px;
}

/* ホバー時でもセパレータの色が変わらないようにする（前後どちらのタグをホバーしても） */
.treatment-tag:hover+.treatment-tag::before,
.treatment-tag+.treatment-tag:hover::before {
	color: #bca873;
}

/* ===== 治療案内セクション ===== */
.treatment-section {
	background: #faf8f6;
	border-radius: 16px;
	padding: 40px 24px;
	margin: 0 auto 40px auto;
	max-width: 90vw;
}

@media all and (max-width: 767px) {

	/* sp mode */
	.treatment-section {
		padding: 0 24px 40px;
	}
}

.treatment-header {
	margin-bottom: 32px;
}

.treatment-title {
	position: relative;
	/* background: #f8f6f3; */
	align-items: baseline;
	gap: 16px;
	font-size: clamp(3rem, 8vw, 5rem);
	font-weight: bold;
	margin-bottom: 0px;
}

@media all and (max-width: 767px) {

	/* sp mode */
	.treatment-title {
		font-size: clamp(2rem, 7vw, 5rem);
	}
}

.treatment-title-en {
	position: relative;
	/* 疑似要素で z-index を使えるようにする */
	overflow: visible;
	color: #bca873;
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	font-family: 'Josefin Sans', sans-serif;
	font-weight: normal;
	position: relative;
	z-index: 1;
}

.treatment-title-en::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 100%;
	height: 1px;
	background: #bca873;
	width: calc(100vw - 100% - 48px);
	transform: translateY(-50%);
	z-index: 0;
	margin-left: 1em;
	min-width: 40px;
	max-width: 9999px;
}

.treatment-desc {
	margin-top: 12px;
	font-size: clamp(0.95rem, 1.8vw, 1.1rem);
	color: #333;
}

.treatment-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px 24px;
}

.treatment-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	display: flex;
	gap: 20px;
	padding: 24px;
	align-items: flex-start;
}

.treatment-card-img img {
	width: 240px;
	object-fit: cover;
	border-radius: 10px;
	background: #eee;
}

.treatment-card-body {
	flex: 1;
}

.treatment-card-title {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: bold;
}

.treatment-card-text {
	font-size: clamp(1.3rem, 2.8vw, 1.6rem);
	line-height: 1.8;
	color: #444;
}

.treatment-card-btn {
	display: inline-block;
	position: relative;
	padding: 8px 2.5em 8px 20px;
	border: 1px solid #bca873;
	background: #fff;
	color: #bca873;
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
	text-decoration: none;
	margin-bottom: 23px;
	transition: background 0.2s, color 0.2s;
}

.treatment-card-btn::after {
	content: '›';
	position: absolute;
	right: 0.5em;
	top: 46%;
	transform: translateY(-50%);
	font-size: 1.5em;
	color: #bca873;
	transition: color 0.2s;
	pointer-events: none;
}

.treatment-card-btn:hover::after {
	color: #fff;
}

.btn-arrow {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.btn-arrow svg {
	display: block;
}

.treatment-card-btn:hover {
	background: #bca873;
	color: #fff;
}

.treatment-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	display: flex;
	gap: 20px;
	padding: 24px 24px 0 24px;
	align-items: flex-start;
	height: 100%;
}

@media (max-width: 2400px) {
	.treatment-card {
		flex-direction: column;
		align-items: stretch;
		padding-bottom: 5px;
	}

	.treatment-card-img {
		order: 1;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}

	.treatment-card-body {
		order: 2;
		display: flex !important;
		flex-direction: column !important;
	}

	/* カード内の要素順序を明示的に指定 */
	.treatment-card-title {
		order: 1;
	}

	.treatment-card-text {
		order: 2;
	}

	.treatment-card-btn {
		order: 3;
		align-self: flex-end !important;
		display: inline-block !important;
		margin-top: 12px;
	}

	/* メニュータイトルをボタンの直後、タグの直上に配置 */
	.treatment-menu-title {
		order: 4;
		margin-bottom: 4px;
	}

	.treatment-tags {
		order: 5;
		line-height: 1.5;
	}

	.treatment-tag {
		/* display: inline-block; */
		/* background: #f8f6f3; */
		color: #9b8a5a;
		/* border: 1px solid #e5dfd0; */
		padding: 0px 0px;
		font-size: clamp(1.1rem, 1.6vw, 1.25rem);
		margin-right: 0px;
		margin-bottom: 0px;
		transition: background 0.2s, color 0.2s;
	}

	.treatment-tag:hover,
	.treatment-tag:focus {
		background: #bca873;
		color: #fff;
		border-color: #bca873;
		text-decoration: none;
	}

	/* スラッシュ（::after）の通常色とホバー時の色を明示 */
	.treatment-tag::after {
		color: #bca873;
		background: transparent;
		/* 明示的に背景を透過 */
		display: inline-block;
		margin: 0 6px 0 4px;
		vertical-align: middle;
		pointer-events: none;
		position: relative;
		z-index: 2;
		/* タグ背景より上に描画されるようにする */
	}

	.treatment-tag:hover::after,
	.treatment-tag:focus::after {
		/* ホバー時は背景と対比する白にして視認性を確保 */
		color: #fff !important;
		text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
		/* subtle contrast */
		background: transparent;
		z-index: 3;
	}
}

@media (max-width: 900px) {
	.treatment-cards {
		grid-template-columns: 1fr;
	}

	.treatment-card {
		flex-direction: column;
		align-items: stretch;
	}

	.treatment-card-img img {
		width: 100%;
		height: auto;
		max-width: 100%;
		aspect-ratio: 4/3;
	}
}

/* ---------- disease-intro タブ用スタイル ---------- */
.disease-intro-section .disease-icons-grid {
	/* デフォルト（モバイルファースト）：必要に応じて横スクロールを許可 */
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
	/* 垂直間隔を狭くして詳細を近づけます */
	margin-bottom: 8px;
	overflow-x: auto;
	padding: 8px 12px 12px;
	box-sizing: border-box;
}

/* デスクトップ: メインコンテンツ幅で中央揃えにし、子要素が均等に幅を共有する */
@media all and (min-width: 768px) {
	.disease-intro-section .disease-icons-grid {
		max-width: 1580px;
		margin-left: auto;
		margin-right: auto;
		/* 行がメインカラムのパディングを使うように、内部の余分なサイドパディングを除去 */
		padding: 8px 0 18px;
		gap: 12px;
		overflow-x: hidden;
	}
}


.disease-icon {
	background: #fff;
	/* 選択時のボーダーカラー切替でレイアウトがずれないよう、2px分の透明ボーダー領域を予約 */
	border: 2px solid transparent;
	box-sizing: border-box;
	padding: 10px 14px;
	border-radius: 8px;
	cursor: pointer;
	font-weight: 600;
	color: #333;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.disease-icon[aria-selected="true"] {
	/* 選択状態: 微かな2pxのボーダーを表示 */
	outline: none;
	box-shadow: none;
	border: 2px solid rgba(188, 168, 115, 0.18);
	background: #fff;
}

@media all and (max-width: 767px) {

	/* sp mode */
	.disease-icon[aria-selected="true"] {
		border: 1px solid rgba(188, 168, 115, 0.18);
	}
}

.disease-intro__media img {
	width: 100%;
	height: auto;
	max-width: 360px;
	display: block;
	border-radius: 10px
}

.disease-intro__content {
	padding-left: 18px
}

.disease-tab-panels {
	margin-top: 8px;
}

.disease-panel {
	padding: 8px 0;
	border-top: 1px solid #f0ebe7;
}

@media (max-width:900px) {
	.disease-icons-grid {
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 6px
	}

	.disease-intro__body {
		display: block
	}

	.disease-intro__media {
		margin-bottom: 12px
	}

	.disease-intro__content {
		padding-left: 0
	}
}

/* ---------- enhanced layout to match attachment ---------- */
.disease-intro-section {
	background: #fff;
	padding: 20px 20px 40px 20px;
	margin: 30px auto;
}

.c-info-bar__link {
	color: #426496;
	font-weight: bold;
}

.c-info-bar__link:hover,
.c-info-bar__link:focus {
	color: #D13522;
	text-decoration: underline !important;
}

/* 重要なお知らせバー */
.c-info-bar-section {
	margin-bottom: 20px;
}

/* ===== 治療案内セクション ===== */

.c-info-bar {
	display: flex;
	align-items: stretch;
	border: 1px solid #bca873;
	border-radius: 28px;
	overflow: hidden;
	margin: 32px 0 0 0;
	font-size: 14px;
	background: #fff;
}

@media all and (max-width: 767px) {

	/* sp mode */
	.c-info-bar {
		margin: 24px 0 0 0;
	}
}


.c-info-bar__label {
	background: #f8f6f3;
	color: #9b8a5a;
	font-weight: bold;
	padding: 12px 48px;
	display: flex;
	align-items: center;
	border-right: 1px solid #bca873;
	min-width: 220px;
	justify-content: center;
	font-size: 1.7rem;
}

@media all and (min-width: 768px) {

	/* pc mode */
	.c-info-bar__content {
		display: flex;
		align-items: center;
		padding: 0 24px;
		flex: 1;
		font-size: 1.5rem;
	}
}

@media all and (max-width: 767px) {

	/* sp mode */
	.c-info-bar-section {
		margin-bottom: 20px;
		width: 100%;
	}

	.c-info-bar {
		flex-direction: column;
		border-radius: 6px;
	}

	.c-info-bar__label {
		padding: 7px 10px;
		min-width: unset;
		border-right: none;
		border-bottom: 1px solid #e5e1d6;
		font-size: 1.5rem;
	}

	.c-info-bar__content {
		padding: 10px 10px;
		font-size: 1.2rem;
	}
}




/* Attached hero block under c-info-bar-section */
.c-hero-attached {
	display: flex;
	gap: 24px;
	align-items: stretch;
	flex-wrap: nowrap;
	/* デスクトップではメディアとサイドを同一行に保持 */
	background: transparent;
	/* 白背景を削除 */
	padding: 10px 0;
}

@media all and (max-width: 767px) {

	/* sp mode */
	.c-hero-attached {
		padding: 5px 0 0;
	}
}

.c-hero-attached__media {
	flex: 0 0 60%;
	min-width: 0;
	/* flex 内でメディアが正しく縮小できるようにする */
	box-sizing: border-box;
}

.c-hero-attached__media img {
	width: 100%;
	/* メディア列を埋め、サイドが右に配置されるようにする */
	max-width: 100%;
	height: auto;
	display: block;
}

@media all and (min-width: 768px) {

	/* pc mode */
	.c-hero-attached__side {
		flex: 0 0 32%;
		display: flex;
		/* desktop: place list to the left of the vertical title */
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding-right: 20px;
		gap: 40px;
		/* spacing between list and title (increased) */
		min-width: 0;
		/* allow the side column to shrink instead of wrapping */
	}

	.c-hero-attached__title {
		font-size: 3.5rem;
		font-weight: 700;
		/* Google Fonts（Kosugi Maru, Noto Sans JP）を優先し、次にローカル筑紫またはシステムフォントにフォールバック */
		font-family: "DNPShueiMGoStd-B";
		writing-mode: vertical-rl;
		text-orientation: upright;
		line-height: 1.6;
		color: #111;
		padding-right: 10px;

		order: 2;
	}
}

@media all and (max-width: 767px) {

	/* sp mode */
	.c-hero-attached__title {
		font-size: 2.555rem;
		font-weight: 700;
		font-family: "DNPShueiMGoStd-B";
		line-height: 1.6;
		color: #111;
		writing-mode: horizontal-tb;
		text-align: center;

		order: 1;
	}
}

@media all and (min-width: 768px) {

	/* pc mode */
	.c-hero-attached__list {
		margin-top: 12px;
		font-size: 1.9rem;
		color: #333;
		writing-mode: vertical-rl;
		text-orientation: upright;
		line-height: 1.9;
		order: 1;
		margin-right: 40px;
	}
}

@media all and (max-width: 767px) {

	/* sp mode */
	.c-hero-attached {
		flex-direction: column;
	}

	.c-hero-attached__media {
		flex: none;
		width: 100%;
	}

	.c-hero-attached__side {
		flex: none;
		padding-left: 0;
		display: flex;
		flex-direction: column;
	}

	.c-hero-attached__list {
		writing-mode: horizontal-tb;
		text-orientation: mixed;
		line-height: 1.5;
		margin-top: 8px;
		font-size: 1.4222rem;
		text-align: center;
		order: 1;
		padding: 0 10px;
		margin: 20px auto 0;
	}
}

/* When the section is also given .home-posts__inner globally, that class sets display:flex
   and other layout rules which interfere with this section's internal layout. Force block
   so the internal .disease-icons-grid can control its own width and centering. */
/* セクションに .home-posts__inner が付与されている場合、そのクラスが display:flex 等を設定し、このセクション内部のレイアウトに干渉します。内部の .disease-icons-grid が幅と中央揃えを制御できるよう display:block を強制しています。 */

.white {
	background-color: #fff;
}

.disease-intro-section.home-posts__inner {
	display: block;
}

.disease-icons-grid .disease-icon {
	background: #fbf6f4;
	/* 通常の .disease-icon に合わせる：選択時のレイアウトシフトを防ぐためにボーダー領域を確保 */
	border: 2px solid transparent;
	padding: 10px 10px 15px;
	border-radius: 0px;
	text-align: center;
	font-weight: 600;
	color: #333;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-height: 120px;
	box-sizing: border-box;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	/* allow shrinking */
}

/* 注意: 隣接ルールを削除しました（左ボーダーが隠れないようにし、選択タブで1pxのボーダーが表示されます） */
/* 注意: 選択タブで左ボーダーが隠れてしまう隣接ルールを削除し、選択時に1pxの完全なボーダーが表示されるようにしています */

.disease-icons-grid .disease-icon span {
	display: block;
	text-align: center;
	margin: 0;
	padding: 6px 0 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	align-items: center;
	gap: 8px;
}

.disease-icons-grid .disease-icon .label-with-control .disease-auto-toggle {
	margin-left: 6px;
}

/* コントロールがコンテンツ/タイトルの横に配置される場合 */
.title-with-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.title-with-control .disease-auto-toggle {
	margin-left: 8px;
}

/* 自動切替コントロールのスタイル */
.disease-auto-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 8px;
}

.disease-auto-toggle {
	background: transparent;
	border: 1px solid #e0d6ca;
	color: #333;
	/* allow text + icon: remove fixed width/height, use padding and min-width */
	min-width: 72px;
	padding: 6px 10px;
	height: auto;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 15px;
	white-space: nowrap;
}

.disease-auto-toggle[aria-pressed="true"] {
	background: #fbf6f4;
}

/* 選択タブの背景を白にする（base の .disease-icon ルールの後に配置して特異性/順序で勝たせる） */
.disease-icons-grid .disease-icon[aria-selected="true"] {
	background: #fff;
	/* 選択状態（グリッド）：微かな2pxのボーダー */
	outline: none;
	box-shadow: none;
	border: 2px solid rgba(188, 168, 115, 0.18);
}

@media all and (max-width: 767px) {

	/* sp mode */
	.disease-icons-grid .disease-icon[aria-selected="true"] {
		border: 1px solid rgba(188, 168, 115, 0.18);
	}
}

.disease-icon__img img {
	display: block;
	width: 72px;
	max-width: 100%;
}

.disease-icon__label {
	display: block;
	font-size: 1.555rem;
	line-height: 1.3;
	font-family: "DNPShueiMGoStd-B";
	white-space: normal;
	word-break: keep-all;
}

.disease-intro__body {
	display: flex;
	align-items: flex-start;
	gap: 28px;
	margin-top: 6px
}

.disease-intro__media {
	flex: 0 0 28.66%;
	display: flex;
	/* image horizontally centered, caption below */
	align-items: center;
	align-self: center;
	justify-content: flex-start;
	flex-direction: column;
	gap: 8px;
}

.disease-intro__media img {
	max-width: 160px;
	width: 100%;
	height: auto
}

/* メディアとコンテンツのフェード用トランジション */
.disease-intro__media,
.disease-intro__content {
	transition: opacity 0.35s ease, transform 0.35s ease;
	will-change: opacity, transform;
}

.disease-intro__media.is-fading,
.disease-intro__content.is-fading {
	opacity: 0;
	transform: translateY(6px);
}

.disease-intro__content {
	flex: 1;
	padding-left: 12px
}

.disease-media-caption {
	/* メディア画像下のキャプションコンテナ：内容を縦横中央揃え */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-align: center;
	margin-top: 0;
	padding-top: 0;
	box-sizing: border-box;
}

.disease-media-caption__title {
	display: block;
	font-size: 2.8rem;
	font-family: "DNPShueiMGoStd-B";
	/* 画像の下にちょうどよく収まる控えめなサイズ */
	color: #222;
	font-weight: 700;
	margin: 0;
	padding-top: 6px;
	margin-bottom: 0.8rem;
	line-height: 1.2;
	text-align: center;
}

.disease-intro__title {
	font-size: 2.6rem;
	color: #bca873;
	font-weight: 700;
	margin: 0 0 8px
}

.disease-intro__lead {
	font-size: 2.4rem;
	font-family: "DNPShueiMGoStd-B";
	color: #bca873;
	font-weight: 600;
	margin: 0 0 14px
}

.disease-intro__text {
	color: #333;
	line-height: 1.9;
	margin-bottom: 24px
}

.disease-intro__actions .btn {
	border-color: #bca873;
	color: #bca873;
	background: #fff;
	margin-right: 12px;
	padding: 10px 18px
}

.disease-intro__actions .btn:hover {
	background: #bca873;
	color: #fff
}

/* Make outline-style buttons match treatment-tag appearance */
.btn--outline {
	background: #fff;
	color: #9b8a5a;
	/* base tag color */
	border: 1px solid #9b8a5a;
	padding: 8px 18px 8px 14px;
	font-size: inherit;
}

.btn--outline:hover,
.btn--outline:focus {
	background: #bca873;
	color: #fff;
	border-color: #bca873;
}

/* add arrow similar to treatment-card-btn */
.btn--outline::after {
	content: '›';
	display: inline-block;
	margin-left: 12px;
	margin-top: -2px;
	font-size: 1.2em;
	color: inherit;
	transition: color 0.2s;
}

.btn--outline:hover::after {
	color: #fff;
}

@media all and (min-width: 768px) {

	/* pc mode */
	.disease-intro__actions {
		/* 横並び */
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
	}
}


/* make icons responsive: horizontal scroll on small screens */
@media all and (max-width: 767px) {
	/* sp mode */

	/* 1行表示を維持；セルサイズはビューポートに合わせて縮小します */
	.disease-icons-grid .disease-icon {
		padding: 8px 8px 10px;
		min-height: 0;
	}

	.disease-intro__body {
		flex-direction: column;
		align-items: center
	}

	.disease-intro__media {
		order: 1;
		margin-bottom: 12px
	}

	.disease-intro__content {
		order: 2;
		padding-left: 0;
		text-align: left
	}

	.disease-intro__title {
		font-size: 2.2555rem;
		padding-bottom: 10px;
	}

	.disease-intro__lead {
		font-size: 2.1rem;
		line-height: 1.7;
	}

	.disease-intro__actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.disease-intro__actions li a {
		display: block;
	}

	/* スマホ時: 1行目は全幅、2/3はそれぞれ 50% で横並びにする */
	.disease-intro__actions {
		/* リスト自体の余白をリセットし、flex の幅指定が正しく効くようにする */
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.disease-intro__actions>li {
		box-sizing: border-box;
		/* default: each li は flex-basis 100%（縦並び） */
		flex: 0 0 100%;
		padding: 0;
	}

	.disease-intro__actions>li>a {
		/* リンクが li の幅いっぱいに広がるようにする */
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	/* 2番目・3番目はそれぞれ50%で横並び */
	.disease-intro__actions>li:nth-child(2),
	.disease-intro__actions>li:nth-child(3) {
		/* gap を考慮して計算した幅を与える（gap が 10px の場合は 5px を差し引く） */
		flex: 0 0 calc(50% - 5px);
		max-width: calc(50% - 5px);
	}

	/* モバイル: ボタンの余白やボックスサイズで 50% が崩れるのを防ぐ */
	.disease-intro__actions {
		align-items: stretch;
	}

	/* 各リンクを高さ揃えして中身を中央寄せにする（見た目をボタンらしく） */
	.disease-intro__actions>li>a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}

}

@media all and (max-width: 767px) {

	/* スマホ時に .disease-intro__icons をブラウザ横幅いっぱいに表示 */
	.disease-intro__icons {
		width: 100vw !important;
		position: relative !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
}


@media all and (max-width: 767px) {

	/* 全体は縦積みだが、メディア領域は画像＋タイトルを横並びで表示 */
	.disease-intro__body {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}

	/* メディア領域を横並びにする（画像左、タイトル右） */
	.disease-intro__media {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 12px !important;
		width: 100% !important;
		justify-content: flex-start !important;
		padding: 0 !important;
		margin-bottom: 0 !important;
	}

	.disease-intro__media img {
		width: 50% !important;
		height: auto !important;
		max-width: none !important;
		border-radius: 8px !important;
	}



}

/* スマホ: treatment-cards を 1 行に 2 個並べる */
@media all and (max-width: 767px) {
	.treatment-cards {
		grid-template-columns: repeat(2, 1fr);
		/* 縦の行間を広げる（1行目と2行目の間にスペースを作る） */
		gap: 38px 6px;
		/* row-gap column-gap */
	}

	.treatment-card {
		padding: 16px;
	}

	.treatment-card-img img {
		width: 100%;
		height: auto;
		aspect-ratio: 4/3;
	}
}

/* --------------------------------
	point　7つの理由
-------------------------------- */
#point-area {
	margin-bottom: 40px;
	padding-top: 30px;
}
.point-list-area {
	background-color: #a7c54a;
}
.point-title-area {
	background: url("../img/home/point/point-title-back.png") repeat-x left bottom;
}
#point-area li {
	height: 300px;
	margin-bottom: 2%;
}
#point-area li:first-child {
	width:100%;
}
#point-area li:nth-child(1),
#point-area li:nth-child(2),
#point-area li:nth-child(4),
#point-area li:nth-child(6){
	margin-left: 0;
}
#point-area li:nth-child(1) {
	background: url("../img/home/point/point-1.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(2) {
	background: url("../img/home/point/point-2.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(3) {
	background: url("../img/home/point/point-3.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(4) {
	background: url("../img/home/point/point-4new.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(5) {
	background: url("../img/home/point/point-5.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(6) {
	background: url("../img/home/point/point-6new.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area li:nth-child(7) {
	background: url("../img/home/point/point-7new2.webp") no-repeat top right;
	background-size: auto 300px;
	background-color: rgba(255,255,255,255);
}
#point-area .green {
	color: #1dae35;
}
#point-area .red {
	color: #952025;
}

/* --------------------------------
	treatment-block 症状別治療例
-------------------------------- */
#treatment-area {
	margin-bottom: 40px;
}
#treatment-area .treatment-block h4 {
	background-color: #eee;
	text-align: center;
	font-size: 108.71%;
	padding: 16px;
}
#treatment-area .adult ul li {
	background-color: #fefaf8;
}
#treatment-area .child ul li {
	background-color: #fffaff;
}
#treatment-area .treatment-block li {
	padding: 16px 16px 16px 24px;
	border-bottom: 1px dotted #ccc;
	background: url("../../images/top/treatment-arrow.png") no-repeat 10px center;
	background-size: 5px 7px;
}
.adult-color { color: #cc6633; }
.child-color { color: #cc6699; }
#treatment-area .treatment-block a:link,
#treatment-area .treatment-block a:visited {
	color: #336699;
}
#treatment-area .treatment-block a:hover,
#treatment-area .treatment-block a:active {
	color:#E60012;
	text-decoration:underline;
}

/* --------------------------------
	content-title タイトル
-------------------------------- */
.content-title {
	font-size: 148%;
	text-align: center;
	border-bottom: 2px solid #a7c54a;
	padding-bottom: 10px;
	margin-bottom: 30px;
}
.content-title:after {
	content: '';
	display: block;
	height: 2px;
	width: 20%;
	position: absolute;
	margin-top: 8px;
	left: 40%;
	background: #a7c54a;
}

/* --------------------------------
	access アクセス
-------------------------------- */
#map-canvas {
	width: 100%;
	height: 340px;
	margin: 20px 0 50px;
}
.access-txt {
	text-align: center;
	line-height: 1.5;
	font-weight: bold;
	padding-bottom: 15px;
}
.access-txt .access-b-txt { font-size: 238%; }
.access-txt .access-n-txt { font-size: 168%; }
.access-txt .access-r-txt { font-size: 168%; color: #e05e7a; }
.access-txt .access-s-txt { font-size: 128%; }

/* --------------------------------
	#voice-block 患者様の声
-------------------------------- */
#voice-block {
	background-color: #fafafa;
	padding: 30px 0;
	margin-bottom: 30px;
}
#voice-block ul {
	/*text-align: center;*/
}
#voice-block li {
	border-bottom: 1px dotted #ccc;
	margin-top: 20px;
	padding-bottom: 20px;
	font-size: 94.71%;
}
#voice-block .date {
	display: block;
	margin-bottom: 8px;
	margin-right: 3%;
}
#voice-block .category {
	display: block;
	padding: 8px 10px;
	margin-bottom: 8px;
	font-size: 90%;
	background-color: #fff;
	border: 1px solid #ccc;
	text-align: center;
}

/* --------------------------------
	#news-block ニュース
-------------------------------- */
#news-block {
	margin-bottom: 50px;
}
#news-block .date {
	margin-right: 10px;
}
#news-block .content-title:after {
	content: '';
	display: block;
	height: 0px;
	width: 20%;
	position: absolute;
	margin-top: 8px;
	left: 40%;
	background: #a7c54a;
}
#news-block li {
	border-bottom: 1px dotted #ccc;
	margin-top: 20px;
	padding-bottom: 20px;
}
.btn-links a,
.btn-news-list a,
.btn-treatment a {
	display: block;
	text-align: center;
	font-size: 128%;
	color: #fff;
	background-color: #cd667c;
	padding: 20px 0;
	margin: 20px auto 50px;
	width: 80%;
}
.btn-links a:hover { background-color: #b9475c; }
.btn-links a:before{
	content: "";
	position: absolute;
	/*background-image:url("../../images/icon-reservation.png");
	background-size: 30px 30px;
	/*background-position: 10px 5px;
	width:30px;
	height:30px;
	margin-top:-4px;
	margin-left:-42px;*/
}
.btn-news-list a,
.btn-treatment a {
	margin: 20px auto 0;
	padding: 15px 0;
	font-size: 118%;
}

/* --------------------------------
	table
-------------------------------- */
.gray_tbl {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}
.gray_tbl th {
	padding: 15px;
	text-align: center;
	vertical-align: top;
	color: #333;
	background-color: #fafafa;
	border: 1px solid #eee;
	vertical-align: middle;
	text-align: center;
	font-family: "FP-ヒラギノ丸ゴ StdN W5", "FP-HiraMaruStdN-W5";
}
.gray_tbl td {
	padding: 15px;
	background-color: #fff;
	border: 1px solid #eee;
	vertical-align: middle;
	text-align: center;
}
table .time-ok,.time-ng {
	font-size: 148%;
}
.w30 {width: 30%;}
.time-ok { color: #f39700; }
.time-am { /* color: #5d8e39; */ }
.time-pm { color: #c9516b; }
.time-desc {
	text-align: center;
	line-height: 1.8;
}

/* PC SIZE */
@media screen and (min-width: 980px){

	.wpr {
	width: 980px;
	margin: 0 auto;
	}

	/* --------------------------------
		point　7つの理由
	-------------------------------- */
	#point-area ul {
		padding-left: 0;
	}
	#point-area li {
		display: inline-block;
		width:49%;
		vertical-align: top;
		margin-left: 2%;
	}
	#point-area .first-point-fix {
		width: 56%;
		margin: 30px;
	}
	#point-area .point-fix {
		width: 60%;
		margin: 30px;
	}
	.first-point-fix .point-title,
	.point-fix .point-title {
		font-size: 158.71%;
		text-align: center;
		margin: 30px 0;
		line-height: 1.5;
	}
	.first-point-fix p {
		font-size: 16px;
		line-height: 1.8;
	}
	.point-fix p {
		font-size: 16px;
		line-height: 1.8;
	}

	/* --------------------------------
		slide　スライド画像
	-------------------------------- */
	.viewer .cover,
	.pc-viewer .cover {
		position: absolute;
		background-color: #fff;
		height: 23px;
		top: 0;
		left: 0;
		right: 0;
		width: 980px;
		z-index: 999;
		margin: 0 auto;
		border-bottom: 3px solid #a7c54a;
	}
	/* --------------------------------
		disease-new-block 難病リスト
	-------------------------------- */
	#disease-new-block {
/* 		background: url('../../images/top/disease_background.png') no-repeat center; */
		min-height: 300px;
		padding: 20px 0 30px;
		letter-spacing: -3em;
	}
	#disease-new-block .ctr-ad {
		margin-left: 120px;
	}
	/* --------------------------------
		disease-block 難病リスト
	-------------------------------- */
	#disease-block {
/* 		background: url('../../images/top/disease_background.png') no-repeat center; */
		min-height: 300px;
		padding: 20px 0 30px;
		letter-spacing: -3em;
	}
	#disease-block .ctr-ad {
		margin-left: 120px;
	}
	/* --------------------------------
		sinkyu-list-block 鍼灸リスト
	-------------------------------- */
	#sinkyu-list-block {
		margin-top: 50px;
	}
	#sinkyu-list-block .sinkyu-ul .sinkyu-list {
		float: left;
		margin-left: 40px;
	}
	#sinkyu-list-block .sinkyu-ul .sinkyu-list:first-child {
		margin-left: 0;
	}
	#sinkyu-list-block p {
		line-height: 1.5;
		font-size: 100%;
	}
	/* --------------------------------
		treatment-block 症状別治療例
	-------------------------------- */
	#treatment-area .treatment-block {
		width: 485px;
		float: left;
	}
	#treatment-area .child,
	#treatment-area .child h4 {
		margin-left: 10px;
	}
	/* --------------------------------
		#voice-block 患者様の声
	-------------------------------- */
	#voice-block .date {
/* 		margin-left: 20%; */
	}
	#voice-block .category {
		display: inline-block;
	}
	#voice-block li {
		width: 480px;
		float: left;
	}
	#voice-block li:nth-child(odd){
		margin-right: 20px;
	}
	/* --------------------------------
		#news-block ニュース
	-------------------------------- */
	#news-block .news-list {
		width: 480px;
		float: left;
	}
	#news-block .staff,
	#news-block .staff h3,
	#news-block .staff ul,
	#news-block .staff .btn-news-list {
		margin-left: 20px;
	}
	#news-block .btn-news-list a {
		width: 100%;
	}
}

/* SMARTPHONES SIZE */
@media screen and (max-width: 980px){

	.wpr {
		max-width: 94vw;
		max-width: 96%;
		margin:0 auto;
	}

	/* --------------------------------
		point　7つの理由
	-------------------------------- */
	#point-area ul {
		padding-left: 0;
		padding-bottom: 30px;
	}
	#point-area li {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 20px 0;
	}
	#point-area li:nth-child(2),
	#point-area li:nth-child(3),
	#point-area li:nth-child(4),
	#point-area li:nth-child(5),
	#point-area li:nth-child(6),
	#point-area li:nth-child(7) {
		background-size: auto 220px;
	}
	#point-area li:nth-child(1) {
		background: url("../img/home/point/point-1-sp.webp") no-repeat top right;
		background-size: auto 220px;
		background-color: rgba(255,255,255,255);
	}
	#point-area {
		margin-bottom: 40px;
	}
	#point-area .first-point-fix,
	#point-area .point-fix {
		width: 65%;
		padding: 20px;
	}
	.first-point-fix .point-title,
	.point-fix .point-title {
		font-size: 1.4em;
		text-align: center;
		margin-bottom: 10px;
		padding-top: 0px;
		line-height: 1.5;
	}
	.first-point-fix p,
	.point-fix p {
		font-size: 1.0222em;
		line-height: 1.5;
	}


	/* --------------------------------
		mainimg-block スライド画像
	-------------------------------- */
	.swiper-slide {
		position: relative;
	}
	.swiper-slide img {
		width: 100%;
	}
	.swiper-slide p.img1,
	.swiper-slide p.img2,
	.swiper-slide p.img3 {
		position: absolute;
		top: 68%;
		right: 0;
		/*-ms-transform: translate(-50%,-5%);
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);*/

		font-size: 116.71%;
		background-color: rgba(255,255,255,0.9);
		padding: 20px 12px;
	}
	.swiper-slide p.img2 {
		top: 68%;
		-ms-transform: translate(-0%,-0%);
		-webkit-transform: translate(-0%,-0%);
		transform: translate(-0%,-0%);
	}
	.swiper-slide p.img3 {
		top: 10%;
		-ms-transform: translate(-0%,-0%);
		-webkit-transform: translate(-0%,-0%);
		transform: translate(-0%,-0%);
	}
	#mainimg-block .swiper-button-prev,
	#mainimg-block .swiper-container-rtl .swiper-button-next{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAFAklEQVRogdWaS2xVVRiFv/JK6IBObGJCB2pJfEQiGl9owAcCIhEQfBAVfIwU1DhSqk61xpFRQWaioolCVSQqIoqAihGjGBxogqJJa2LKBAaQQCjmb1Zrc7v/c869Z99zzl3JTXO7bs/+V+8+e++1/tPW980qWgjXABuBZcDfVvaEFir+RmAnMAv4EuiihQQsAj4Fpul9N/A1cG4rCLgT2AZMrfm9idhWdQEPAu8BkwPcceDJKgt4HHjDmeZHgRuA/VUV8CzwisMNAHOAg/ZmUrF1paINeBF4yvngH8B84MjIL6okwGbDeuARh/8VuFXfwCiqImAi8BZwr8MfABYDg7VEFQRMAbYCtzv8XmAJcCxEli2gHdgO3OzwO4AVwAnvAmWuQh06EnjF9wFLk4qnRAGdwB7gWoe3++Ee4FTahcoQYIewfcBlDr9eO/CZLBcrWsAMFX+hw/cCjwFns16wSAEzNW3Oc/ge4Jl6L1rUKnQ18AlwjsOvAV5v5MJFCLBD18djzvJjMQSsBt5p9OLNFrBIy2HtWd5wGrhLZ/2G0cx7wDMihpPAbXmLp4kC0ozILcCuGAM1Q0CaETFz/l2swWILSDMic4GfYw4Y6ybOYkQWAH9GGm8UMQRY8RtSjIitRv0RxhqHvALSjMiPWm3GGZFYyCPAjMgWmY0Q9smkBI1I2QLatbvOc/jPgeVpZ/kYaGQV6tAa7hX/ob6VphdPAwI6lUnOdvi3dTxINSKxUI+ALhnsWQ5vK9EDWY1I0QJmqPiLHN72gLX1GJFYyCJgpqbN+Q7fo1cpSFuFrlIuH92IxEKSgLnKbDwjYvN9c5nFkyDAMsgPEozI3cBHTa4tE0L3wAptUp4RWVyV4gkIsGnxfoIRsWj7i4Jqy4SxAiyP2ZRgRG4Cvq1Q7cMYKdbymFedzwwoWfipwLoyY5I2oaedPzAjslA/K4lWanQHYQLWycuG0K048JJqlf0/Rr6BF5QmhDBdIq4oudYgxk6h15TnDAU+aEeJ3cD1JdYaRO098KZ22dOBD0/THjC/pFqDCN3EfXJUJwPcVKXMy0qoNQhvFdqh89DxADdZIu8vuNYgkpbRvcowjwa4CbKPjxZYaxBp+8ABdREHHH6DluHSkGUjO6RA9ojD9+pVCrLuxIdlcH5z+HXqLrYVLaKeo0S/RBx0+DVahidGqi0T6j0LDWo67Xf4VYobpxRQ+zAaOcwd0+r0lcPfIS/dnrO2TGj0NHpCkfl2h1+gvaSjibUPI89x+pT+2+86/BxlqJ05xkhFXj9wRvN+o8NfqanWFbnuUcQwNENagV5y+EuV7F0QYaxxiOXIzsqWPufw3TqaXBxpvFHEtpTPA0843HSJuDzmgM3wxJZuPJRgjGw6XRdrsGaZ+k164sozRru0l+RGM1OJrXrmzTNGlnovrbIAw2fa8DxjZAHyfXkGKCIX2iMf7RmjzXmMUVHB1g8yRv84fMPGqMhk7pAy1r8cvlf5VF0oOlo8rDPS7w7fo3wqszEqIxvtl4hfHH6tluFMxqiscHdQ0+l7h1+tRkuqMSoznTZjNC/BGC1XqyvRGJUdr6cZo4VpxqgK/YFcxqgqDY6GjVGVOjQNGaOqtZjqNkZV7ZFlNkZVbvKZMXo4xRjNrnqX0p4AXplgjF5uhTbrFnWEao2R9a6XtEqf2NybPX86YoyseMto/22lRrfNeYssLR03P90P8B9ICO+a9Ne2iQAAAABJRU5ErkJggg==");
		left:10px;
		right:auto
	}

	#mainimg-block .swiper-button-prev.swiper-button-black,
	#mainimg-block .swiper-container-rtl .swiper-button-next.swiper-button-black{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAFAklEQVRogdWaS2xVVRiFv/JK6IBObGJCB2pJfEQiGl9owAcCIhEQfBAVfIwU1DhSqk61xpFRQWaioolCVSQqIoqAihGjGBxogqJJa2LKBAaQQCjmb1Zrc7v/c869Z99zzl3JTXO7bs/+V+8+e++1/tPW980qWgjXABuBZcDfVvaEFir+RmAnMAv4EuiihQQsAj4Fpul9N/A1cG4rCLgT2AZMrfm9idhWdQEPAu8BkwPcceDJKgt4HHjDmeZHgRuA/VUV8CzwisMNAHOAg/ZmUrF1paINeBF4yvngH8B84MjIL6okwGbDeuARh/8VuFXfwCiqImAi8BZwr8MfABYDg7VEFQRMAbYCtzv8XmAJcCxEli2gHdgO3OzwO4AVwAnvAmWuQh06EnjF9wFLk4qnRAGdwB7gWoe3++Ee4FTahcoQYIewfcBlDr9eO/CZLBcrWsAMFX+hw/cCjwFns16wSAEzNW3Oc/ge4Jl6L1rUKnQ18AlwjsOvAV5v5MJFCLBD18djzvJjMQSsBt5p9OLNFrBIy2HtWd5wGrhLZ/2G0cx7wDMihpPAbXmLp4kC0ozILcCuGAM1Q0CaETFz/l2swWILSDMic4GfYw4Y6ybOYkQWAH9GGm8UMQRY8RtSjIitRv0RxhqHvALSjMiPWm3GGZFYyCPAjMgWmY0Q9smkBI1I2QLatbvOc/jPgeVpZ/kYaGQV6tAa7hX/ob6VphdPAwI6lUnOdvi3dTxINSKxUI+ALhnsWQ5vK9EDWY1I0QJmqPiLHN72gLX1GJFYyCJgpqbN+Q7fo1cpSFuFrlIuH92IxEKSgLnKbDwjYvN9c5nFkyDAMsgPEozI3cBHTa4tE0L3wAptUp4RWVyV4gkIsGnxfoIRsWj7i4Jqy4SxAiyP2ZRgRG4Cvq1Q7cMYKdbymFedzwwoWfipwLoyY5I2oaedPzAjslA/K4lWanQHYQLWycuG0K048JJqlf0/Rr6BF5QmhDBdIq4oudYgxk6h15TnDAU+aEeJ3cD1JdYaRO098KZ22dOBD0/THjC/pFqDCN3EfXJUJwPcVKXMy0qoNQhvFdqh89DxADdZIu8vuNYgkpbRvcowjwa4CbKPjxZYaxBp+8ABdREHHH6DluHSkGUjO6RA9ojD9+pVCrLuxIdlcH5z+HXqLrYVLaKeo0S/RBx0+DVahidGqi0T6j0LDWo67Xf4VYobpxRQ+zAaOcwd0+r0lcPfIS/dnrO2TGj0NHpCkfl2h1+gvaSjibUPI89x+pT+2+86/BxlqJ05xkhFXj9wRvN+o8NfqanWFbnuUcQwNENagV5y+EuV7F0QYaxxiOXIzsqWPufw3TqaXBxpvFHEtpTPA0843HSJuDzmgM3wxJZuPJRgjGw6XRdrsGaZ+k164sozRru0l+RGM1OJrXrmzTNGlnovrbIAw2fa8DxjZAHyfXkGKCIX2iMf7RmjzXmMUVHB1g8yRv84fMPGqMhk7pAy1r8cvlf5VF0oOlo8rDPS7w7fo3wqszEqIxvtl4hfHH6tluFMxqiscHdQ0+l7h1+tRkuqMSoznTZjNC/BGC1XqyvRGJUdr6cZo4VpxqgK/YFcxqgqDY6GjVGVOjQNGaOqtZjqNkZV7ZFlNkZVbvKZMXo4xRjNrnqX0p4AXplgjF5uhTbrFnWEao2R9a6XtEqf2NybPX86YoyseMto/22lRrfNeYssLR03P90P8B9ICO+a9Ne2iQAAAABJRU5ErkJggg==");
	}

	#mainimg-block .swiper-button-prev.swiper-button-white,
	#mainimg-block .swiper-container-rtl .swiper-button-next.swiper-button-white{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAFAklEQVRogdWaS2xVVRiFv/JK6IBObGJCB2pJfEQiGl9owAcCIhEQfBAVfIwU1DhSqk61xpFRQWaioolCVSQqIoqAihGjGBxogqJJa2LKBAaQQCjmb1Zrc7v/c869Z99zzl3JTXO7bs/+V+8+e++1/tPW980qWgjXABuBZcDfVvaEFir+RmAnMAv4EuiihQQsAj4Fpul9N/A1cG4rCLgT2AZMrfm9idhWdQEPAu8BkwPcceDJKgt4HHjDmeZHgRuA/VUV8CzwisMNAHOAg/ZmUrF1paINeBF4yvngH8B84MjIL6okwGbDeuARh/8VuFXfwCiqImAi8BZwr8MfABYDg7VEFQRMAbYCtzv8XmAJcCxEli2gHdgO3OzwO4AVwAnvAmWuQh06EnjF9wFLk4qnRAGdwB7gWoe3++Ee4FTahcoQYIewfcBlDr9eO/CZLBcrWsAMFX+hw/cCjwFns16wSAEzNW3Oc/ge4Jl6L1rUKnQ18AlwjsOvAV5v5MJFCLBD18djzvJjMQSsBt5p9OLNFrBIy2HtWd5wGrhLZ/2G0cx7wDMihpPAbXmLp4kC0ozILcCuGAM1Q0CaETFz/l2swWILSDMic4GfYw4Y6ybOYkQWAH9GGm8UMQRY8RtSjIitRv0RxhqHvALSjMiPWm3GGZFYyCPAjMgWmY0Q9smkBI1I2QLatbvOc/jPgeVpZ/kYaGQV6tAa7hX/ob6VphdPAwI6lUnOdvi3dTxINSKxUI+ALhnsWQ5vK9EDWY1I0QJmqPiLHN72gLX1GJFYyCJgpqbN+Q7fo1cpSFuFrlIuH92IxEKSgLnKbDwjYvN9c5nFkyDAMsgPEozI3cBHTa4tE0L3wAptUp4RWVyV4gkIsGnxfoIRsWj7i4Jqy4SxAiyP2ZRgRG4Cvq1Q7cMYKdbymFedzwwoWfipwLoyY5I2oaedPzAjslA/K4lWanQHYQLWycuG0K048JJqlf0/Rr6BF5QmhDBdIq4oudYgxk6h15TnDAU+aEeJ3cD1JdYaRO098KZ22dOBD0/THjC/pFqDCN3EfXJUJwPcVKXMy0qoNQhvFdqh89DxADdZIu8vuNYgkpbRvcowjwa4CbKPjxZYaxBp+8ABdREHHH6DluHSkGUjO6RA9ojD9+pVCrLuxIdlcH5z+HXqLrYVLaKeo0S/RBx0+DVahidGqi0T6j0LDWo67Xf4VYobpxRQ+zAaOcwd0+r0lcPfIS/dnrO2TGj0NHpCkfl2h1+gvaSjibUPI89x+pT+2+86/BxlqJ05xkhFXj9wRvN+o8NfqanWFbnuUcQwNENagV5y+EuV7F0QYaxxiOXIzsqWPufw3TqaXBxpvFHEtpTPA0843HSJuDzmgM3wxJZuPJRgjGw6XRdrsGaZ+k164sozRru0l+RGM1OJrXrmzTNGlnovrbIAw2fa8DxjZAHyfXkGKCIX2iMf7RmjzXmMUVHB1g8yRv84fMPGqMhk7pAy1r8cvlf5VF0oOlo8rDPS7w7fo3wqszEqIxvtl4hfHH6tluFMxqiscHdQ0+l7h1+tRkuqMSoznTZjNC/BGC1XqyvRGJUdr6cZo4VpxqgK/YFcxqgqDY6GjVGVOjQNGaOqtZjqNkZV7ZFlNkZVbvKZMXo4xRjNrnqX0p4AXplgjF5uhTbrFnWEao2R9a6XtEqf2NybPX86YoyseMto/22lRrfNeYssLR03P90P8B9ICO+a9Ne2iQAAAABJRU5ErkJggg==");
	}

	#mainimg-block .swiper-button-next,
	#mainimg-block .swiper-container-rtl .swiper-button-prev{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAE5UlEQVRogdWaSYxVRRSGvwYxoRfNBhKjJA6YOEQjGjWiwQFpFI20Y4xKq1EXImpcaTssAYeVcV45z4o4RARFoqLiFMXEKCZOCzQxzYZedCcQ1FT7X2ykzn33vltVt/iX77x3+/y3q07Vd6p6Vn48iHQg8DpwPfA5e4kmKc2ZwPvAbOBd4PS9ycB+wAfALH3WB6wGFracWyU5A29MSL7QVH1+cb6p/ytn4BZgxBObArwEXN1GYlXlDGwETgO2en7j4k8AN+WZ/n+TeBMwF/jd+N4DwJ0J86qsSRO+uFkmfjZ+vAy4F+jJKP/dDDj9quH0nfH9W4FHPL9rTb5E3DCaB3xpJOUWumeAybkacBoG+oGPjPjlwCpg34i5VVLZUNimxWyNET8PeAfobSn3cXUay6PAALDSiM/TFmRahNwqqcpk3A5cCjxtxE8CPgRmJM59XFWryU6tyA8b8WOADdoUJlWdcvg3cCNwtxE/TCYOzdVAoTuA243YQRpORzdPrZq6XZDuAW4wYvsD64ETYyZeqMmK+iiwGPjLE5sOvKdVPaqabgmeAy4EdnhifVonooJRiD2NA59zgDFPLDoYhdqUrQPmtwFGIXeVn6oZkBSMQm+LvwFOTQlGMfb1P8hEEjCKBSa/aDh1AqPGJmKS1RbtVr8y4g6Mnm0KRrHRcFjVaYMRd2D0WhMwSsG2DozOBtYa8UXqBHYFRqngfFSJrjLiZ2otqQ1GKbsLDowuUUPApznq0dYCo9TtEQdGV6kC+TRbjYTKYNRGf8eB0VJtyX06XCYqgVGbDSoHRRYYHazh1BGM2u6wlYHRAQKjE8oekEOL0IHRYAkYrdPWxKtcepxuRb6oBIzWaC3ZQ9k0aXXAeG4JGL0pk7spJwOIo/tLwOhlleFdys2A0yfAGSVg9KT6U7s+yFFfq6NhgdGD6k+xT6YGnL6XibWeU1Sn5W6C5/ofqKycDRypNqXv7SO2Hsp1CB2noTPdiLvuxkNkOgdOEeD0eWJutb4GeKr4IDcD/erkTfXE3Cp92f9Pi3KaA+cDbxvJj4no9jjqysXAYiU3xRMb0T7Ie9iYg4ElwkxfLlvV1bCOe1s3MFSCl50O3MfV5iR2Z21DRsxdeVgA/NTpIW0Y6FENt0hss6rRlioPS21gstrsg0Z8k978cNUHpjTg2ocvAhcY8Y06jtpW56GpDPSqK7fAiK/X3YvRug9OUYWmqYZbyb+lN187eRIYmKGuwlwj/ryG1PZu/0BMAzM1NI434o9pMu9s8kdiGThEnbWjjPh9KqO+XlAtxTBwhJZ+C0TuAm5Tj7SxQlehY3X32gKRmwXkwRTSwMm6WmCByLVqiQRVKAPz1TmzQMSdhb0aOnkCzYEBIaAFIgOxkieAgSt0ymiByEINq2hqYmCJusoWiPSrLRJV3RooA5E/BCJfxE6eLifxipI7c7/pzXcEkVCqY6BHNXypEf9R1agSiKQ24EDkceBKI/6t3nxlEAmlKgYciLygu3E+faa2Ry0QSWWgV2XyLCPeNYiEUlkVKkDESr4RiMQ2EB1EQslnIAmIxDKQDERCaaKBpCASSkUVSg4iIQ3MUbWxQOQ6ddOylDNwv5H8Dm2XX8k1eTQHFnkuqY7pxCTr5JGBP3VJtTAxotvoq1vOrZKKKuR2kG4nWXSHXSnNX8A/aazvMCjM2LMAAAAASUVORK5CYII=");
		right:10px;
		left:auto
	}

	#mainimg-block .swiper-button-next.swiper-button-black,
	#mainimg-block .swiper-container-rtl .swiper-button-prev.swiper-button-black{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAE5UlEQVRogdWaSYxVRRSGvwYxoRfNBhKjJA6YOEQjGjWiwQFpFI20Y4xKq1EXImpcaTssAYeVcV45z4o4RARFoqLiFMXEKCZOCzQxzYZedCcQ1FT7X2ykzn33vltVt/iX77x3+/y3q07Vd6p6Vn48iHQg8DpwPfA5e4kmKc2ZwPvAbOBd4PS9ycB+wAfALH3WB6wGFracWyU5A29MSL7QVH1+cb6p/ytn4BZgxBObArwEXN1GYlXlDGwETgO2en7j4k8AN+WZ/n+TeBMwF/jd+N4DwJ0J86qsSRO+uFkmfjZ+vAy4F+jJKP/dDDj9quH0nfH9W4FHPL9rTb5E3DCaB3xpJOUWumeAybkacBoG+oGPjPjlwCpg34i5VVLZUNimxWyNET8PeAfobSn3cXUay6PAALDSiM/TFmRahNwqqcpk3A5cCjxtxE8CPgRmJM59XFWryU6tyA8b8WOADdoUJlWdcvg3cCNwtxE/TCYOzdVAoTuA243YQRpORzdPrZq6XZDuAW4wYvsD64ETYyZeqMmK+iiwGPjLE5sOvKdVPaqabgmeAy4EdnhifVonooJRiD2NA59zgDFPLDoYhdqUrQPmtwFGIXeVn6oZkBSMQm+LvwFOTQlGMfb1P8hEEjCKBSa/aDh1AqPGJmKS1RbtVr8y4g6Mnm0KRrHRcFjVaYMRd2D0WhMwSsG2DozOBtYa8UXqBHYFRqngfFSJrjLiZ2otqQ1GKbsLDowuUUPApznq0dYCo9TtEQdGV6kC+TRbjYTKYNRGf8eB0VJtyX06XCYqgVGbDSoHRRYYHazh1BGM2u6wlYHRAQKjE8oekEOL0IHRYAkYrdPWxKtcepxuRb6oBIzWaC3ZQ9k0aXXAeG4JGL0pk7spJwOIo/tLwOhlleFdys2A0yfAGSVg9KT6U7s+yFFfq6NhgdGD6k+xT6YGnL6XibWeU1Sn5W6C5/ofqKycDRypNqXv7SO2Hsp1CB2noTPdiLvuxkNkOgdOEeD0eWJutb4GeKr4IDcD/erkTfXE3Cp92f9Pi3KaA+cDbxvJj4no9jjqysXAYiU3xRMb0T7Ie9iYg4ElwkxfLlvV1bCOe1s3MFSCl50O3MfV5iR2Z21DRsxdeVgA/NTpIW0Y6FENt0hss6rRlioPS21gstrsg0Z8k978cNUHpjTg2ocvAhcY8Y06jtpW56GpDPSqK7fAiK/X3YvRug9OUYWmqYZbyb+lN187eRIYmKGuwlwj/ryG1PZu/0BMAzM1NI434o9pMu9s8kdiGThEnbWjjPh9KqO+XlAtxTBwhJZ+C0TuAm5Tj7SxQlehY3X32gKRmwXkwRTSwMm6WmCByLVqiQRVKAPz1TmzQMSdhb0aOnkCzYEBIaAFIgOxkieAgSt0ymiByEINq2hqYmCJusoWiPSrLRJV3RooA5E/BCJfxE6eLifxipI7c7/pzXcEkVCqY6BHNXypEf9R1agSiKQ24EDkceBKI/6t3nxlEAmlKgYciLygu3E+faa2Ry0QSWWgV2XyLCPeNYiEUlkVKkDESr4RiMQ2EB1EQslnIAmIxDKQDERCaaKBpCASSkUVSg4iIQ3MUbWxQOQ6ddOylDNwv5H8Dm2XX8k1eTQHFnkuqY7pxCTr5JGBP3VJtTAxotvoq1vOrZKKKuR2kG4nWXSHXSnNX8A/aazvMCjM2LMAAAAASUVORK5CYII=");
	}

	#mainimg-block .swiper-button-next.swiper-button-white,
	#mainimg-block .swiper-container-rtl .swiper-button-prev.swiper-button-white{
		background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABUCAYAAADEZ7TLAAAE5UlEQVRogdWaSYxVRRSGvwYxoRfNBhKjJA6YOEQjGjWiwQFpFI20Y4xKq1EXImpcaTssAYeVcV45z4o4RARFoqLiFMXEKCZOCzQxzYZedCcQ1FT7X2ykzn33vltVt/iX77x3+/y3q07Vd6p6Vn48iHQg8DpwPfA5e4kmKc2ZwPvAbOBd4PS9ycB+wAfALH3WB6wGFracWyU5A29MSL7QVH1+cb6p/ytn4BZgxBObArwEXN1GYlXlDGwETgO2en7j4k8AN+WZ/n+TeBMwF/jd+N4DwJ0J86qsSRO+uFkmfjZ+vAy4F+jJKP/dDDj9quH0nfH9W4FHPL9rTb5E3DCaB3xpJOUWumeAybkacBoG+oGPjPjlwCpg34i5VVLZUNimxWyNET8PeAfobSn3cXUay6PAALDSiM/TFmRahNwqqcpk3A5cCjxtxE8CPgRmJM59XFWryU6tyA8b8WOADdoUJlWdcvg3cCNwtxE/TCYOzdVAoTuA243YQRpORzdPrZq6XZDuAW4wYvsD64ETYyZeqMmK+iiwGPjLE5sOvKdVPaqabgmeAy4EdnhifVonooJRiD2NA59zgDFPLDoYhdqUrQPmtwFGIXeVn6oZkBSMQm+LvwFOTQlGMfb1P8hEEjCKBSa/aDh1AqPGJmKS1RbtVr8y4g6Mnm0KRrHRcFjVaYMRd2D0WhMwSsG2DozOBtYa8UXqBHYFRqngfFSJrjLiZ2otqQ1GKbsLDowuUUPApznq0dYCo9TtEQdGV6kC+TRbjYTKYNRGf8eB0VJtyX06XCYqgVGbDSoHRRYYHazh1BGM2u6wlYHRAQKjE8oekEOL0IHRYAkYrdPWxKtcepxuRb6oBIzWaC3ZQ9k0aXXAeG4JGL0pk7spJwOIo/tLwOhlleFdys2A0yfAGSVg9KT6U7s+yFFfq6NhgdGD6k+xT6YGnL6XibWeU1Sn5W6C5/ofqKycDRypNqXv7SO2Hsp1CB2noTPdiLvuxkNkOgdOEeD0eWJutb4GeKr4IDcD/erkTfXE3Cp92f9Pi3KaA+cDbxvJj4no9jjqysXAYiU3xRMb0T7Ie9iYg4ElwkxfLlvV1bCOe1s3MFSCl50O3MfV5iR2Z21DRsxdeVgA/NTpIW0Y6FENt0hss6rRlioPS21gstrsg0Z8k978cNUHpjTg2ocvAhcY8Y06jtpW56GpDPSqK7fAiK/X3YvRug9OUYWmqYZbyb+lN187eRIYmKGuwlwj/ryG1PZu/0BMAzM1NI434o9pMu9s8kdiGThEnbWjjPh9KqO+XlAtxTBwhJZ+C0TuAm5Tj7SxQlehY3X32gKRmwXkwRTSwMm6WmCByLVqiQRVKAPz1TmzQMSdhb0aOnkCzYEBIaAFIgOxkieAgSt0ymiByEINq2hqYmCJusoWiPSrLRJV3RooA5E/BCJfxE6eLifxipI7c7/pzXcEkVCqY6BHNXypEf9R1agSiKQ24EDkceBKI/6t3nxlEAmlKgYciLygu3E+faa2Ry0QSWWgV2XyLCPeNYiEUlkVKkDESr4RiMQ2EB1EQslnIAmIxDKQDERCaaKBpCASSkUVSg4iIQ3MUbWxQOQ6ddOylDNwv5H8Dm2XX8k1eTQHFnkuqY7pxCTr5JGBP3VJtTAxotvoq1vOrZKKKuR2kG4nWXSHXSnNX8A/aazvMCjM2LMAAAAASUVORK5CYII=");
	}

@media ( prefers-reduced-motion: reduce ) {
   .sip-slider, .swiper-container, .swiper-wrapper, .swiper-slide, .swiper-slide img{
    transition-duration: 100ms !important;
  }
}
	#corona-area {
		font-size: 92%;
	}

	/* --------------------------------
		disease-new-block 難病リスト
	-------------------------------- */
	#disease-new-block {
		padding: 20px 0 !important;
	}
	#disease-new-block .disease-links {
		margin-top: 20px;
	}
	#disease-new-block .disease-links li {
		width: 49%;
		margin-left: 0;
		margin-right: 2%;
	}
	#disease-new-block .disease-links a {
		width: 100%;
	}
	#disease-new-block .disease-links li:first-child {
		display: block;
		width: 100%;
	}
	#disease-new-block .disease-links li:first-child a {
		display: block;
		width: 100%;
	}
	#disease-new-block .disease-links li:nth-child(odd) {
		margin-right: 0;
	}
	/*タブ実装*/
	.tab_box .btn_area li {
		display: inline-block;
		width: 49% !important;
		margin-left: 2%;
		margin-bottom: 10px;
	}
	.tab_box .tab_btn {
		width: 100% !important;
	}
	.tab_box .btn_area li:nth-child(odd) {
		margin-left: 0;
	}

	/* --------------------------------
		disease-block 難病リスト
	-------------------------------- */
	#disease-block-title h1.title {
		font-size: 148.71%;
		padding: 30px 0 20px;
	}
	#disease-block-title h2.desc {
		font-size: 98.71%;
		line-height: 1.5;
	}
	#disease-block .disease-list {
		width: 100%;
		padding-left: 0px;
		padding-bottom: 0px;

	}
	#disease-block .disease-list p.title {
		width: 100%;
		padding: 20px 0 20px;
		font-size: 148%;
		line-height: 0;
	}
	#disease-block .disease-desc {
		width: 100%;
	}
	#disease-block .disease-desc a {
		margin: 10px auto 15px;
		padding: 10px 0;
		color: #fff;
		width: 94%;
	}
	/* --------------------------------
		quick--block クイック診断
	-------------------------------- */
	#quick-block .title {
		font-size: 168.71%;
	}
	#quick-block img {
		width: 482px;
	}
	/* --------------------------------
		sinkyu-list-block 鍼灸リスト
	-------------------------------- */
	#sinkyu-list-block {
		margin-top: 20px;
	}
	#sinkyu-list-block li {
		margin: 0 auto;
	}
	.sinkyu-list p {
		padding: 65px 0 15px;
		text-align: center;
	}
	.sinkyu-links {
		padding-bottom: 20px;
	}
	.sinkyu-links li {
		margin-top: 10px !important;
	}
	.sinkyu-links li:first-child {
		margin-top: 0 !important;
	}
	/* --------------------------------
		treatment-block 症状別治療例
	-------------------------------- */
	#treatment-area .child h4 {
		margin-top: 20px;
	}
	/* --------------------------------
		#voice-block 患者様の声
	-------------------------------- */
	#voice-block .n-title {
		display: block;
		margin-top: 10px;
	}
	#voice-block .category {
		padding: 5px 10px;
		font-size: 90%;
		text-align: center;
	}
	/* --------------------------------
		#news-block ニュース
	-------------------------------- */
	#news-block li {
		text-align: center;
	}
	#news-block .staff .content-title {
		margin-top: 30px;
	}

	.grad-wrap {
	  position: relative;
	}
	.grad-wrap + .grad-wrap {
	  margin-top: 40px;
	}
	.grad-btn {
	  z-index: 2;
	  position: absolute;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  width: 148px;
	  margin: auto;
	  padding: .5em 0;
	  border-radius: 2px;
	  background: #b76172;
	  color: #fff;
	  text-align: center;
	  cursor: pointer;
	  transition: .2s ease;
	  box-shadow: 0 0 3px rgba(0,0,0,.3);
	}
	.grad-btn:hover {
/*
	  background: #fff;
	  color: #009e8f;
*/
	}
	.grad-btn .fa {
	  margin-right: .5em;
	}
	.grad-item {
	  position: relative;
	  overflow: hidden;
	  line-height: 1.5;
	  height: 40px; /*隠した状態の高さ*/
	}
	.grad-item::before {
	  display: block;
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  width: 100%;
	  height: 50px; /*グラデーションで隠す高さ*/
	  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	  content: "";
	}
	.grad-trigger {
	  display: none; /*チェックボックスは常に非表示*/
	}
	.grad-trigger:checked + .grad-btn {
	  display: none; /*チェックされていたら、grad-btnを非表示にする*/
	}
	.grad-trigger:checked ~ .grad-item {
	  height: auto; /*チェックされていたら、高さを戻す*/
	}
	.grad-trigger:checked ~ .grad-item::before {
	  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
	}
}
/* Galaxy Tab */
@media screen and (max-width: 712px) {
}


/* SMALL SMARTPHONES SIZE */
@media screen and (max-width: 480px){
	#corona-area {
		font-size: 88.71%;
	}
	/* --------------------------------
		disease-block 難病リスト
	-------------------------------- */
	#disease-block h1.title {
		font-size: 168%;
		padding: 30px 0 10px;
	}
	#disease-block h2.desc {
		font-size: 118%;
		line-height: 1.5;
		padding-bottom: 20px;
	}
	/* --------------------------------
		table
	-------------------------------- */
	.gray_tbl {
		margin: 10px 0;
	}
	.gray_tbl th {
		padding: 6px;
		font-size: 78.71%;
	}
	.gray_tbl td {
		padding: 6px;
		font-size: 78.71%;
	}
}

/* --------------------------------
	汎用クラス
-------------------------------- */

/* clearfix ---------------- */
.clearfix:after { content:""; display:block; clear:both; }
ol, ul { list-style:none; }
body, h1, h2, h3, h4, h5, h6, p, address, blockquote, pre, div, dl, dt, dd, ol, ul, li, th, td, form, fieldset, input, textarea { margin:0 0 0 0; padding:0 0 0 0; }
select { margin:0 0 0 0; }

a:hover img.hover,
#header a:hover img,
#footer a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    /* ie lt 8 */
	 -ms-filter: "alpha(opacity=80)";
    /* ie 8 */
	 -moz-opacity: 0.8;
    /* FF lt 1.5, Netscape */
	 -khtml-opacity: 0.8;
    /* Safari 1.x */

}
.img_auto {	max-width: 100% !important; display: block; }
.max-img { margin: 0 auto; }

