@charset "utf-8";

/* --------------------------------- */
/* 城山クリニック様サイト用メインCSS */
/* --------------------------------- */
/* Modified : 2024/10/23 16:45 */
/*
	▼読み込んでいるWebフォント：
	font-family: "M PLUS Rounded 1c", sans-serif;	: font-weight: 400,500;
	font-family: 'Zen Maru Gothic', sans-serif;		: font-weight: 400,500;
	font-family: "Oswald", sans-serif;				: font-weight: 600;
*/

/* ―――――――― */
/* ■カスタム変数群 */
/* ―――――――― */
:root {
	--content-max-width: 1200px;		/* 最大横幅 */
	--inner-content-max-width: 900px;	/* 広げすぎない場合のコンテンツ枠最大幅 */

	--thin-max-width: 650px;			/* 狭いコンテンツ枠の最大幅 */

	/* ------ */
	/* ▼配色 */
	/* ------ */
	--base-theme-color: #429f7f;		/* ベースカラー */
	--second-theme-color: #d98079;		/* 第2ベースカラー */
	--third-theme-color: #fff4f2;		/* 第3ベースカラー */

	--content-textcolor: #707070;		/* 本文の文字色 */
	--content-backcolor: #fff;			/* 本文の背景色 */
	--midashi-textcolor: #2FA4A8;		/* 見出し文字色 */

	--wideStdBtn-backcolor: white;		/* WIDE STDボタンの背景色 */
	--wideStdBtn-textcolor: #429f7f;	/* WIDE STDボタンの文字色 */
	--wideStdBtn-bordercolor: #93c6c6;	/* WIDE STDボタンの枠線色 */

	--wideRevBtn-backcolor: #429f7f;	/* WIDE REVボタンの背景色 */
	--wideRevBtn-textcolor: white;		/* WIDE REVボタンの文字色 */
	--wideRevBtn-bordercolor: white;	/* WIDE REVボタンの枠線色 */

	--smallStdBtn-backcolor: #429f7f;	/* SMALL STDボタンの背景色 */
	--smallStdBtn-textcolor: white;		/* SMALL STDボタンの文字色 */
	--smallStdBtn-bordercolor: #429f7f;	/* SMALL STDボタンの枠線色 */

	--connectedButton-bordercolor: white;	/* 連結ボタンの枠線色 */
	--connectedButton-linkcolor: white;		/* 連結ボタンの枠線色 */

	--orangebtn-backcolor: #fff;	/* 橙色ボタンの背景色 */

	--drawer-backcolor: #429f7f;		/* ドロワーメニューの背景色 */
	--drawer-linkcolor: #fff;			/* ドロワーメニュー項目の文字色 */
	--hamburger-bar-open-color: #fff;		/* ハンバーガーボタン平時の線色(ドロワーを開くボタンの線色) */
	--hamburger-bar-close-color: #fff;		/* ハンバーガーボタン開時の線色(ドロワーを閉じるボタンの線色) */
	--hamburger-label-textcolor: white;		/* ハンバーガーボタンのラベル文字色 */
	--hamburger-button-color: #429f7f;		/* ハンバーガーボタンのボタン色(背景色) */

	--inputform-textcolor: #111;		/* 入力欄の文字色 */
	--inputform-backcolor: #fff;		/* 入力欄の背景色 */
	--inputform-bordercolor: #888;		/* 入力欄の枠線色 */
	--placeholder-textcolor: #7A7A7A;	/* プレースホルダの文字色 */
	--formbutton-textcolor: #fff;		/* 送信ボタンの文字色 */
	--formbutton-backcolor: #666666;	/* 送信ボタンの背景色 */
	--checktable-bordercolor: black;	/* 送信確認表の枠線色 */
	--checktable-backcolor: white;		/* 送信確認表の背景色 */
	--checktable-textcolor: black;		/* 送信確認表の文字色 */

	--footer-backcolor: #429f7f;	/* フッタの背景色 */
	--footer-textcolor: #fff;		/* フッタの文字色 */

	/* -------- */
	/* ▼その他 */
	/* -------- */
	--loopslider-base-height: 125px;	/* ループスライダーの基本高さ */
}

/* ――――――――――― */
/* ■全環境用のベースCSS  */
/* ――――――――――― */

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	html {
		scroll-behavior: smooth;
	}
	body {
		font-family: "M PLUS Rounded 1c","メイリオ",Meiryo,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","游ゴシック体","YuGothic",sans-serif;
		margin: 0;
		padding: 0;
		color: var(--content-textcolor);
		background-color: var(--content-backcolor);
		line-height: 1.4;
		-webkit-text-size-adjust: 100%;
	}

		/* ▽消極的な改行制御区間 */
		i {
			font-style: normal;
			display: inline-block;
		}

		/* ▽モバイルだけの改行調整 */
		br.sp-only {
			display: block;
			margin: 0.5em 0;
		}

		/* ▽画面幅に応じて自動縮小する画像 */
		.autoResize {
			max-width: 100%;
			height: auto;
		}

		/* ▽リンク配色 */
		body a {
			color: var(--content-textcolor);
			text-decoration: none;
		}
		body a:hover {
			opacity: 0.5;
		}

	/* ---------------- */
	/* 汎用セクション群 */
	/* ---------------- */
	section {
		margin: 0;
		padding: 0;
	}

	/* ---------------- */
	/* 汎用レイアウト群 */
	/* ---------------- */
	/* ▼Base:標準レイアウト枠 */
	.stdLayout {
		max-width: var(--inner-content-max-width);
		margin: auto;
		padding: 0;
		position: relative;
	}

	/* ▼Base:幅広レイアウト枠 */
	.wideLayout {
		max-width: var(--content-max-width);
		margin: auto;
		padding: 0;
		position: relative;
	}

	/* ▼Base:最大幅レイアウト枠 */
	.fullWidthLayout {
		max-width: 100%;
		margin: 0;
	}

	/* ▼Space:標準前後余白 */
	.stdGapDiv {
		margin-top: 7rem;
		margin-botto: 7rem;
	}

	/* ▼Space:短め前後余白 */
	.halfGapDiv {
		margin-top: 3.5rem;
		margin-botto: 3.5rem;
	}

	/* ▼2段組レイアウト枠 */
	.doubleColumnArea {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
		.doubleColumnArea > div {
			flex: 1;
		}

	/* ▼文章空間 */
	.stdSentencesPlace {
		max-width: var(--inner-content-max-width);
		padding: 0 1rem;
		margin: 2.5rem auto;
	}
		.stdSentencesPlace p {
			text-align: justify;
		}

	/* ▼サブセクション */
	.subSectionBlock {
		margin: 5rem 0 6rem;
	}

	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
	/* ▼装飾見出し */
	.decoTitle {
		color: var(--base-theme-color);
		max-width: var(--inner-content-max-width);
		margin: 0 auto 2.5rem;
	}
		.decoTitleInside {
			display: block;
			width: 100%;
			padding: 0;
			margin: 0;
			text-align: center;
		}
			.icoT { }
				.iconInTitle {
					width: auto;
					height: 40px;
				}
			.bigT,
			.subT {
				display: block;
				margin: 0;
				line-height: 1;
			}
			.bigT {
				font-size: 20px;
				font-family: "Caveat", cursive;
				font-optical-sizing: auto;
				font-weight: 400;
				font-style: normal;
				color: #efa5a5;
	  		}
			.subT {
				margin-top: 0.25rem;
				font-size: 30px;
				font-weight: 500;
				font-family: "Zen Maru Gothic", serif;
				color: #42a57f;
			}
			.subT::after {
				content: '';
				display: block;
				width: 100%;
				border-top: 1px solid #42a57f;
				position: relative;
				top: -14px;
				z-index: 1;
			}
				.subT i {
					position: relative;
					display: inline-block;
					background-color: white;
					z-index: 2;
					padding: 0 1em;
				}

	/* ▼両脇縦棒付き見出し */
	.sideBarsTitle {
		color: var(--base-theme-color);
		width: fit-content;
		margin: 4rem auto 3rem;
		font-size: 1.1rem;
		font-weight: 500;
	}
	.sideBarsTitle::before,
	.sideBarsTitle::after {
		content: '｜';
		display: inline-block;
		margin: 0 0.5em;
	}

	/* ▼小見出し */
	.semiTitle {
		display: block;
		margin: 0 auto 3rem;
		width: fit-content;
		line-height: 1;
	}
			.semiTitle .bigT { margin:auto; color: var(--second-theme-color); }
			.semiTitle .subT { margin:0.25rem auto 0; color: var(--base-theme-color); }

	/* ---------- */
	/* 汎用表組群 */
	/* ---------- */
	/* ▼標準テーブル（ただしスマホでは縦展開） */
	.stdTable {
		border-collapse: collapse;
		margin: 0 auto;
		max-width: 100%;
		width: fit-content;
	}
			.stdTable th,
			.stdTable td {
				padding: 0.5rem;
				text-align: left;
			}
			.stdTable th {
				font-weight: 500;
			}

	/* ▼標準広テーブル（ただしスマホでは縦展開） */
	.stdWideTable {
		border-collapse: collapse;
		width: 100%;
	}
		.stdWideTable tr {
			border-bottom: 1px solid #ccc;
		}
			.stdWideTable th,
			.stdWideTable td {
				padding: 1rem;
				text-align: left;
			}

			.stdWideTable th {
				font-weight: 500;
			}

	/* ---------------------------- */
	/* 汎用ボタン群：配置レイアウト */
	/* ---------------------------- */
	/* ▼ボタン群BOX／※2つ以上のボタンを横並びにするレイアウト用(ul+li前提) */
	.buttonSetBox {
		margin: 0;
		padding: 0;
		list-style-type: none;
		text-align: center;
		display: flex;
		align-items:center;
		justify-content:center;
		flex-wrap: wrap;		/* Wrapあり */
		gap: 3rem;				/* 間隔 */
	}
		.oneButtonBox {
		}

	/* ▼ボタンBOX／※1つのボタンをセンタリングするレイアウト用(主にdiv) */
	.buttonBox {
		margin: 0;
		padding: 0;
		text-align: center;
	}

	/* ------------------------ */
	/* 汎用ボタン群：ボタン単独 */
	/* ------------------------ */
	.btn {
		text-decoration: none;
		text-align: center;
		line-height: 1;
	}

	/* ▼WIDE STD：横長角丸白背景ボタン */
	.wideStdBtn {
		display: block;
		width: fit-content;
		min-width: 14em;
		margin: 0 auto;
		padding: 0.9em 1.5em;
		border: 2px solid var(--wideStdBtn-bordercolor);
		border-radius: 0.65em;
		background-color: var(--wideStdBtn-backcolor);
		color: var(--wideStdBtn-textcolor);
	}
	.wideStdBtn:hover {
		border-color: var(--wideStdBtn-bordercolor);
		background-color: var(--wideStdBtn-bordercolor);
		color: var(--wideStdBtn-backcolor);
		opacity: 1;
	}

	/* ▼WIDE REVERSE：横長角丸反転背景ボタン */
	.wideRevBtn {
		display: block;
		width: fit-content;
		min-width: 14em;
		margin: 0 auto;
		padding: 0.9em 1.5em;
		border: 1px solid var(--wideRevBtn-bordercolor);
		border-radius: 0.65em;
		background-color: var(--wideRevBtn-backcolor);
		color: var(--wideRevBtn-textcolor);
	}
	.wideRevBtn:hover {
		border-color: var(--wideRevBtn-bordercolor);
		background-color: var(--wideRevBtn-bordercolor);
		color: var(--wideRevBtn-backcolor);
		opacity: 1;
	}

	/* ▼SMALL STD：横長角丸塗りつぶし小ボタン */
	.smallStdBtn {
		display: inline-block;
		min-width: 10em;
		padding: 0.45em 0.75em 0.35em;
		border: 1px solid var(--smallStdBtn-bordercolor);
		border-radius: 0.5em;
		background-color: var(--smallStdBtn-backcolor);
		color: var(--smallStdBtn-textcolor);
	}

	/* ▼ボタンデコレーション */
		/* 右矢印アイコン付き */
		.withArrowBtn {
			background-image: url("/imgs/icon/ico_arrowP.svg");
			background-size: 1rem;
			background-position: center right 8px;
			background-repeat: no-repeat;
		}
		.withArrowBtn:hover {
			background-image: url("/imgs/icon/ico_arrowP.svg");
		}

		/* 左矢印アイコン付き（※右矢印アイコンに加えて指定） */
		.turnArrowLeft {
			transform: scaleX(-1);
		}
			.turnArrowLeft i {
				transform: scaleX(-1);	/* 矢印以外の文字もすべて左右逆転してしまうので、それを元に戻す */
			}

		/* 右矢印反転アイコン付き */
		.withRevArrowBtn {
			background-image: url("/imgs/icon/ico_arrowP.svg");
			background-size: 1rem;
			background-position: center right 8px;
			background-repeat: no-repeat;
		}
		.withRevArrowBtn:hover {
			background-image: url("/imgs/icon/ico_arrowP.svg");
		}

	/* ------------------------ */
	/* 汎用ボタン群：複合ボタン */
	/* ------------------------ */

	/* ▼連結ボタン */
	.connectedButtons {
		display: flex;
		align-items:center;
		justify-content:center;
		margin: 0 auto;
		padding: 0;
		list-style-type: none;
	}
		.connectedButtons li {
			flex: 1;
			border-width: 1px 0 1px 1px;
			border-style: solid;
			border-color: var(--connectedButton-bordercolor);
			text-align: center;
			max-width: 8em;
		}
		.connectedButtons li:last-child {
			border-width: 1px;
		}
		.connectedButtons li a {
			display: block;
			color: var(--connectedButton-linkcolor);
			line-height: 1;
			padding: 1rem 0;
		}

	/* -------------------- */
	/* サブ汎用レイアウト群 */
	/* -------------------- */

	/* ▼署名レイアウトBOX */
	.signatureCover {
		margin: 1.5rem 0 0 0;
		padding: 0 0.75rem;
		text-align: right;
	}
		.signatureBox {
			display: inline-block;
			text-align: center;
		}
			img.signature {
				width: 170px;
				height: auto;
			}

	/* -------------- */
	/* 汎用特別装飾群 */
	/* -------------- */
	.houganshi {
		/* 方眼紙模様に必須のスタイル */
		background-image: linear-gradient(0deg, transparent calc(100% - 1px), #c4fff3 calc(100% - 1px)),
		                linear-gradient(90deg, transparent calc(100% - 1px), #c4fff3 calc(100% - 1px));
		background-size: 27px 27px;
		background-repeat: repeat;
		background-position: center center;

		/* 以下任意のスタイル */
		padding: 20px;
	}

	/* カーテンセパレータ */
	.curtainSeparator {
		margin: 0;
		padding: 0;
	}
		.curtainSeparator img {
			display: block;
		}
	.curtainSeparator.upsidedown {
		transform: rotate(180deg);
	}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
		position: relative;
	}

		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */
		.headSiteLogo {
			margin: 0;
			padding: 0;
			font-weight: 500;
/*
			margin: 0 auto;
			max-width: var(--inner-content-max-width);
*/
		}
			.headSiteLogo a {
			}

			.siteNameComplex {
				display: flex;
				align-items:center;
				justify-content:flex-start;
				margin: 1rem;
				gap: 0.25rem;
				width: fit-content;
			}
				.siteLogo {
				}
					.siteLogoImage {
						width: auto;
						height: 45px;
						display: block;
					}
				.siteName {
				}
					.siteNameImage {
						width: auto;
						height: 54px;
						display: block;
					}

		/* ………………………… */
		/* ▼メニューバー(PC用) */
		/* ………………………… */
		.globalmenuBox { }
			.globalmenuList {
				list-style-type: none;
				margin: 0;
				padding: 0;
				display: flex;
				gap: 0;
				align-items:center;
				justify-content:flex-end;

				/* フローティング配置 */
				position: absolute;
				top: 0;
				right: 85px;
				z-index:100;
			}
				.globalmenuList li {
				}
					.globalmenuList a {
						display: block;
						margin: 0;
						padding: 0;
						text-align: center;
					}
						.gnavImg {
							display: block;
						}
							.gIcon {
								width: auto;
								height: 32px;
							}
						.gnavTxt {
							font-size: 1rem;
							display: block;
							border-left: 2px dotted var(--second-theme-color);
							padding: 0 2rem;
						}
						.globalmenuList li:last-child .gnavTxt {
							border-right: 2px dotted var(--second-theme-color);
						}

		/* ----------------------------------- */
		/* ▼ドロワーメニュー(PC/モバイル兼用) */
		/* ----------------------------------- */
		.drawerMenu * {
			margin: 0;
			padding: 0;
			outline: none;
			border: none;
			font: inherit;
			font-family: inherit;
			font-size: 100%;
			font-style: inherit;
			font-weight: inherit;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			text-align: left;
			text-decoration: none;
			list-style: none;
		}

			/* ▼ドロワーボタンの表示と動作 */
			.drawerMenu .drawerBg {
				width: 100%;
				height: 100%;
				position: fixed;
				z-index: 999;
				background-color: rgba(255, 255, 255, 0.5);		/* ドロワーが開いているときにページ全体にかぶせる覆い */
				display: none;
				top: 0;
				left: 0;
			}
			.drawerMenu .drawerBtn {
				display: block;
				background: none;
				border: none;
				width: 31px;
				height: 31px;
				letter-spacing: 0.1em;
				cursor: pointer;
				position: fixed;
				top: 15px;		/* ボタンの配置(上) */
				right: 8px;		/* ボタンの配置(右) */
				z-index: 1001;
				text-align: center;
				outline: none;
				border-radius: 50%;
				background-color: var(--hamburger-button-color);	/* 3本線枠の背景色 */
				padding: 10px 15px 20px 15px;						/* 3本線周囲の余白量：上下と左右で合計サイズを合わせると正円になる */
				box-sizing: content-box;
			}
			/* ▽ドロワーが開いている状態でのドロワーボタン */
			.drawerMenu .drawerBtn.active {
				padding: 10px 10px 20px 20px;		/* クロスする場合の3本線周囲の余白量 */
				background-color: var(--hamburger-button-color);
			}
			.drawerMenu .drawerBtn.active .drawerBar {	width: 23px; transform-origin: left center; }	/* 3本線がクロスする場合の長さ */
			.drawerMenu .drawerBtn.active .drawerBar1 {	transform: rotate(45deg); }
			.drawerMenu .drawerBtn.active .drawerBar2 {	opacity: 0;	}
			.drawerMenu .drawerBtn.active .drawerBar3 {	transform: rotate(-45deg); }
			.drawerMenu .drawerBtn.active .drawerLabelMenu {	display: none;	}
			.drawerMenu .drawerBtn.active .drawerLabelClose {	display: block;	}
			.drawerMenu .drawerBar {
				display: block;
				height: 3px;			/* 3本線の太さ */
				margin: 5px 2px;		/* 3本線の「上下間隔」と「横の長さ」 */
				transition: all 0.2s;
				transform-origin: 0 0;
			}

			/* ▼ドロワーボタンの色 */
			.drawerMenu .drawerBtn { color: var(--hamburger-label-textcolor); } /* 3本線下部のラベル文字色 */
			.drawerMenu .drawerBtn .drawerBar { background-color: var(--hamburger-bar-open-color); } 			/* 3本線の色:平時 */
			.drawerMenu .drawerBtn.active .drawerBar { background-color: var(--hamburger-bar-close-color); }	/* 3本線の色:開時 */

			/* ▼ドロワーボタン下のラベル */
			.drawerMenu .drawerText {
				text-align: center;
				font-size: 10px;
			}
			.drawerMenu .drawerLabelClose {
				letter-spacing: 0.08em;
				display: none;
				margin-left: -6px;
			}
			.drawerMenu .drawerLabelMenu {
				display: block;
			}

			/* ▼ドロワーメニュー本体(ラッパー) */
			.drawerMenu .drawerNaviWrapper {
				background-color: var(--drawer-backcolor);		/* 重なるメニューの背景色 */
				background-image: none;							/* 重なるメニューの背景画像 */
				width: 310px;									/* 重なるメニューの横幅(※変更する場合はtransformの値も変える：＋12pxくらいの値に) */
				height: 100%;
				transition: all 0.2s;
				transform: translate(322px, 0);				/* 初期状態では、画面外に移動させておく： (0, -100%) なら上から下へ現れる */
				position: fixed;
				top: 0;
				right: 0;
				z-index: 1000;	/* 最前面表示 */
			}
			.drawerMenu .drawerNaviWrapper.open {
				transform: translate(0);					/* openクラスが付加されたら、元の位置に戻す */
			}

			/* ドロワーメニュー本体のスクロールベース */
			.drawerScrollBase {
				max-height: 100%;
				overflow: auto;
				box-sizing: border-box;
			}

			/* ▼ドロワーメニュー本体 */
			.drawerMenu .drawerNaviList {
				padding: 16px 6px 150px;				/* メニューの動的な表示開始位置を調整する際は、padding-topの値を変更する。スクロールのために下端に余分に空間を確保する。 */
			}

			/* ▼ドロワーメニュー(リンク)項目 */
			.drawerMenu a.drawerLink {
				color: inherit;
				text-decoration: none;
				display: block;
				margin: 7px 0;
				padding: 6px 18px;
				border-radius: 0.5em;
				font-weight: 500;
			}
			.drawerMenu a.drawerLink {
				color: var(--drawer-linkcolor);
				background-color: var(--drawer-backcolor);
			}
			.drawerMenu a.drawerLink:hover {
				background-color: var(--drawer-linkcolor);
				color: var(--drawer-backcolor);
				opacity:1;
			}

			/* ▼ドロワーメニュー項目：アイコンリンク */
			.drawerMenu .iconLinkItems {
				text-align: left;
				margin: 50px 0 0 18px;
			}
				.iconLinkList {
					list-style-type: none;
					margin: 0;
					padding: 0;
					display: flex;
					gap: 20px;
					align-items:center;
					justify-content:start;
					width: fit-content;
				}
					.iconLinkItems img {
						display: block;
						height: 42px;
						width: auto;
					}

			/* ▼ドロワーメニュー項目：長ボタンリンク */
			.wideBtnLinkItems {
				padding: 30px 0 0;
				text-align: center;
			}
				.wideBtnLinkItems a.btn {
					display: block;
					width: 100%;
					margin: 0;
					padding: 0.25em 1.5em;
					border-radius: 0.65em;
					box-sizing: border-box;
					text-align: center;
					font-size: 1.1rem;
				}
					.wideBtnLinkItems a .iconInBtn {
						margin-right: 0.75em;
					}

			/* ▼ドロワーメニュー項目：問診ボタンリンク */
			.monshinBtnLinkItems {
				padding: 16px;
			}
				.monshinBtn {
					display: flex;
					align-items:center; justify-content:center;
					line-height: 1;
					font-size: 1rem;
					height: 50px;
					max-width: 10rem;
					margin: 0 0 0.5rem 0;
					padding: 0.25rem 1.5rem;
					border: 3px solid #a2d1d9;
					color: white;
					border-radius: 0.65rem;
					box-sizing: border-box;
					text-align: center;
				}

			/* ▼ドロワーメニュー内部上端のロゴ */
			.logoOnMenu {
				margin: 0;
				padding: 0px 6px;

				background-color: white;
			}
				.drawerMenu .logoOnMenu a {
					display: flex;
					align-items:center;
					justify-content:flex-start;

					background-color: white;
				}
					.drawerMenu .logoOnMenu a {
						margin: 0 63px 0 0;
						padding: 28px 0 14px 8px;
					}
					.drawerMenu .logoOnMenu .drawerUsagi {
						width: auto;
						height: 50px;
					}
					.drawerMenu .logoOnMenu .drawerLogo {
						width: auto;
						height: 40px;
					}
				.drawerMenu .logoOnMenu a:hover {
					/* 反転表示を適用せず、半透明にする */
					opacity: 0.5;
					background-color: transparent;
				}
				.drawerMenu .logoOnMenu img {
					width: 100px;
					height: auto;
				}

			/* 状況に応じた表示の切り替え（ドロワーメニュー専用）※適用優先度の関係で、共通装飾として以外に、ここにも同じ内容を記述しておく必要がある。 */
			.drawerMenu a.top-only { display: none;  }
			.drawerMenu a.not-top  { display: block; }
			.homePage .drawerMenu a.top-only { display: block; }
			.homePage .drawerMenu a.not-top  { display: none;  }

	/* ==================== */
	/* ▼パンくずリスト区画 */
	/* ==================== */
	.pankuzuZone {
		margin: 0 auto;
		padding: 1.67em 1em;
		font-size: 0.75em;
		line-height: 1;
		max-width: var(--inner-content-max-width);
	}
		/* パンくずリスト */
		.pankuzuList {
			margin: 0 auto;
			padding: 0;
			list-style-type: none;
			max-width: var(--contentbase-max-width);
		}
			/* 一項目 */
			.pankuzuItem {
				display: inline-block;
			}
			.pankuzuItem::after {
				content: '>';
				display: inline-block;
				margin: 0 1em;
			}
			/* 現在項目 */
			.pankuzuItem.presentPage { }
			.pankuzuItem.presentPage::after {
				content: '';
			}

				/* 店名の調整 */
				.pankuzuItem em {
					font-style: normal;
					letter-spacing: -1px;
				}


	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.slideshowSection {
		margin: 0;	/* PCは別指定 */
		padding: 0 0 3rem 0;
		background-color: #e4fefd;
	}

	.outerCoverSlideshow {
		margin: 20px auto 0;
		padding: 0;
		position: relative;
		max-width: var(--content-max-width);
	}

		/* …………………………………………… */
		/* ▼スライド外側に重ねるオブジェクト */
		/* …………………………………………… */
		.outerSlideshow {
			position: absolute;
			z-index: 11;

			background-color: #e26a50;
			color: white;
			border-radius: 8px;

			top: -14px;
			right: 105px;
			width: 200px;
			height: 30px;
		}

			/* ▼オレンジ電話番号BOX */
			.orangeTelBox { }
				.orangeTelBox a {
					display: flex;
					align-items:center;
					justify-content:center;
					color: white;
					height: 30px;
					font-weight: 500;
				}
					.orangeBoxIcon { }
						.orangeBoxIcon img {
							height: 26px;
							width: auto;
							display: block;
						}
					.orangeBoxText {
						letter-spacing: 1px;
						font-size: 18px;
					}

		/* ---------------------- */
		/* ↓従来のスライドベース */

		.slideshowSet {
			/* ---------------------------------------------------------------------------------------------------- */
			/* ※スライド本体(.slideshowCover)の後に、スライドに重ねるオブジェクト(.addonSlideshow)がある場合に使用 */
			/* ---------------------------------------------------------------------------------------------------- */
			margin: auto;
			padding: 0;
			position: relative;
			max-width: var(--content-max-width);
		}
			.slideshowCover {
				/* ------------------------------------------------------------------------------------------ */
				/* ※スライド本体(.slideshowCover)と、その内側にスライドカバー(.slideFront)を重ねる場合に使用 */
				/* ------------------------------------------------------------------------------------------ */
				position: relative;
				margin: 0 auto;
				padding: 0;
				max-width: var(--content-max-width);
			}

			#HeadSlideshow {
				margin: 0px;
				padding: 0px;
			}

				/* ---------------------------- */
				/* ▽スライドショー用表示候補群 */
				/* ---------------------------- */
				#SlideshowBox {
					width: 100%;
					position: relative;
				}

				#SlideshowBox p,
				#NoSlideshow {
					overflow: hidden;
				}

				#SlideshowBox p {
					position: absolute;
					top:  0;
					left: 0;
					right: 0;	/* 左右0にすることで原寸を超えて拡大もできる */
					z-index: 8;
					opacity: 0.0;
					background-color: transparent;
					margin: 0;
				}

				#SlideshowBox p.active {
					z-index: 10;
					opacity: 1.0;
				}

				#SlideshowBox p.last-active {
					z-index: 9;
				}

				#SlideshowBox p img {
					width: 100%;
					height: auto;
					display: block;
					border-radius: 3rem;		/* 画像角丸(※デフォルト空間にも同様の指定が必要 */
				}

				/* ▼スクリプト無効の場合の固定表示（＋デフォルト空間確保） */
				#NoSlideshow img {
					width: 100%;
					height: auto;
					display: block;
					border-radius: 3rem;		/* 画像角丸(※#SlideshowBox p imgと同様の指定にする */
				}

				/* ---------------- */
				/* ▽スライドカバー */
				/* ---------------- */
				.slideFront {
					margin: 0;
					padding: 0;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					z-index:10;
					overflow: hidden;
				}
					.slideFront img {
						display: block;
						width: 100%;
					}

				/* ………………………………… */
				/* ▼画像に重ねるオブジェクト */
				/* ………………………………… */
				.addonSlideshow {
					overflow: hidden;
				}
					.greenOblongBox {
						text-align: center;
						width: 370px;
						height: 140px;
						box-sizing: border-box;
						padding: 21px 16px 0 16px;

						background-color: rgba(119,197,167,0.85);	/* ＝ #77c5a7 の 0.85％不透明 */
						color: white;

						position: absolute;
						bottom: 104px;
						left: 90px;
						z-index: 11;

						text-shadow: 1px 1px 0px rgba(66,159,127,0.75);		/* ＝ #429f7f の 0.75％不透明 */
						/* text-shadow: 1px 1px 0px #429f7f; */
					}
						.insideSlideTitle {
							font-size: 1.16rem;
							font-weight: 500;
							margin: 0 0 1rem 0;
						}
						.insideSlideGuide {
							text-align: justify;
							font-size: 1.3rem;
							font-weight: 500;
							margin: 0;
							line-height: 1.6;
						}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					z-index: 30;
					max-width: var(--thin-max-width);
					margin: -50px auto 0;
					padding: 1px 2rem 1.5rem;
					background-color: white;
					border-radius: 1.5rem;
				}
					.afterSlideTitle { }
						.slideTitleUsagi {
							width: auto;
							height: 170px;
						}
						.slideTitleLogo {
							width: auto;
							height: 58px;
						}
					.afterSlideGuide {
						color: var(--second-theme-color);
						margin: 3rem 0;
					}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
	main {
	}

		/* ============== */
		/* ▼お知らせ区画 */
		/* ============== */
		.infoBoxArea {
			margin: 1rem auto 0;
			padding: 2rem 1rem;
			background-color: var(--third-theme-color);
		}
		.pageNews .infoBoxArea {
			background-color: transparent;
		}

			.infoBoxTitle {
				text-align: center;
				font-size: 1rem;
				font-weight: normal;
			}

			/* ▼お知らせ本体領域 */
			.tegalogEmbedArea {
				margin: 1rem auto;
				max-width: 100%;
				width: var(--inner-content-max-width);
			}

			/* ▼1件ずつの表示(※HOME合成用) */
			.oneNewsBox {
				/* border-bottom: 1px dashed var(--base-theme-color); */
				margin-bottom: 2rem;
				color: #478eb3; /* #e26a50; */
			}
				.postDate {
					text-align: right;
					font-weight: bold;
					margin: 0;
				}
					.postDate a {
						color: #478eb3;	/* #DB6E57; */
					}
				.postTitle {
					margin: 0;
					font-size: 1rem;
				}
				.postTitle::before {
					content: '▶';
					color: #96cdbb;
					font-weight: 500;
				}
				.postMain {
					padding-left: 1rem;
				}

			/* お知らせ一覧ボタン */
			.oshiraseBtn {
				background-color: #96cdbb;
				color: white;
			}
			.oshiraseBtn:hover {
				opacity: 0.7;
			}

		/* ============ */
		/* ▼診療科区画 */
		/* ============ */
		#Departments { }

				/* ▼ボタン群BOX：診療科用装飾付き */
				.departmentBtns { }

		/* ================ */
		/* ▼診療科詳細区画 */
		/* ================ */
		#Dept { }

			/* ……………… */
			/* ▼診療科案内 */
			/* ……………… */
			#DeptInternal { }

				.deptGuideBox {
					max-width: var(--thin-max-width);
					margin: 1rem auto;
					padding: 0 1rem;
					text-align: justify;
				}

			/* ……………… */
			/* ▼問診票区画 */
			/* ……………… */
				.patientFormGuide {
					text-align: center;
				}

				/* ▼ボタン群BOX：問診票ダウンロード */
				.patientFormBtns {
					margin-top: 3rem;
				}
					.patientFormBtns .wideStdBtn {
						border-width: 5px;
						border-radius: 1rem;
						color: var(--content-textcolor);
						min-width: 9em;
					}
					.patientFormBtns .wideStdBtn:hover {
						color: white;
					}
						.pdfIcon {
							width: auto;
							height: 2.1rem;
						}

				/* ………………… */
				/* ▼対応一覧区画 */
				/* ………………… */
				.buttonSetBox.vaccinationsListBtns {
					max-width: var(--content-max-width);
					margin: 1rem auto;
				}

				/* …………… */
				/* ▼発熱外来 */
				/* …………… */
				.feverInside {
					max-width: var(--thin-max-width);
					margin: auto;
				}

					.feverInside .guideBox {
						margin-top: 3rem;
						margin-bottom: 3rem;
					}

					.feverInside .firstCover .firstGuide {
					}

					.telReservation {
						color: var(--base-theme-color);
						text-align: center;
					}
						.reserveTelNum {
							display: block;
							font-size: 2rem;
							font-weight: 500;
						}
						.reserveGuide {
							display: block;
						}

					.feverInside .firstGuide {
						padding: 0 1rem;
						text-align: left;
					}

					/* 修正後BOX外観 */
					.feverInside .guideList {
						background-color: white;
						border-color: #a6d0dc;
						padding: 36px 0;
					}

					/* 修正後BOX内側 */
					.insideGuideBox {
						text-align: center;
						color: #42987f;
						line-height: 1;
					}
						.insideGuideBox a { color: #42987f; }
						.insideGuideBox p { margin: 0; }

						p.igbHead { }
						p.igbTel  { font-size: 2rem; margin: 24px 0; font-weight:500; }
						p.igbNote { margin: 1.25rem 0; }
						p.igbHour { }
					


				/* ……………… */
				/* ▼フロー区画 */
				/* ……………… */
				#Flow { }

					.flowList {
						display: flex;
						list-style-type: none;
						margin: 0;
						padding: 0;
						align-items:center;
						justify-content:center;
						gap: 3rem 2rem;
						flex-wrap: wrap;
					}
						.oneFlowBox {
							text-align: center;
						}
							.flowExp {
								display: block;
								margin: 0 auto 1rem;
							}
							.flowPoint {
								color: var(--base-theme-color);
							}

		/* ============== */
		/* ▼発熱診療区画 */
		/* ============== */
		#FeverDepartment { }

			.feverLinkBox.guideList {
				display: block;
				max-width: var(--thin-max-width);
				margin: auto;
				color: #4794b9;
				font-weight: 500;
				padding: 1.5rem;
			}
				.feverLinkGuide {
					display: block;
					text-align: center;
				}
					.feverLinkGuide span {
						display: block;
					}
						.flSmall  { font-size: 1.00rem; margin-top: 1rem; }
						.flLarge  { font-size: 1.67rem; margin-top: 1.75rem; }
						.flMiddle { font-size: 1.34rem; }

		/* ============== */
		/* ▼医師紹介区画 */
		/* ============== */
		#Doctor { }

			.doctorCover {
				padding: 2rem 0;
				max-width: var(--thin-max-width);
				margin: auto;
			}
				.doctorName {
					font-weight: normal;
					font-size: 1.67rem;
				}
				.doctorCareerList {
					margin: 1.7rem 0 2rem;
					padding: 0;
					list-style-type: none;
				}
					.doctorCareerList li {
						margin-bottom: 0.3rem;
					}
						.careerDate {
							display: inline-block;
							min-width: 9em;
						}
							.careerDate i {
								display: inline-block;
								min-width: 2.5em;
								text-align: right;
							}
						.careerDetail {
						}

		/* ============== */
		/* ▼初診案内区画 */
		/* ============== */
		#FirstGuide { }
			.firstCover {
				max-width: var(--thin-max-width);
				margin: 1rem auto;
				padding: 0 1rem;
			}
				.firstGuide {
					text-align: center;
					color: var(--base-theme-color);
				}
				.guideBox { }
					.guideList {
						list-style-type: none;
						margin: 2rem 0 0 0;
						padding: 0.5rem 1rem;
						border: 4px solid #a4d9e1;
						border-radius: 1rem;
					}
						.guideList li {
							background-image: url('/imgs/icon/ico_arrowP.svg');
							background-size: 1rem;
							background-repeat: no-repeat;
							background-position: left 4px;
							padding-left: 2rem;
							margin: 0.5rem 0;
							line-height: 1.45;
						}

		/* ================== */
		/* ▼よくある質問区画 */
		/* ================== */
		#Faq { }

			.faqCover {
				margin: 3rem 0;
				padding: 1rem;
			}

				/* ………………………… */
				/* ▼アコーディオンQ＆A */
				/* ………………………… */
				/*アコーディオン全体*/
				.accordion-area {
					list-style-type: none;
					max-width: 600px;
					margin: 2.4em auto 0;
					padding: 0;
				}

					/* 1アコーディオン */
					.accordion-area li {
						margin: 0 0 1em 0;
					}

						/* 1アコーディオン枠 */
						.accordion-area section {
							margin: 0;
							padding: 0;
						}

						/* Q（アコーディオンタイトル） */
						.accordion-area .title {
							position: relative;
							margin: 0;
							padding: 1.5rem 49px 1.5rem 66px;		/* 幅：左のQが22px、右の▽が29px */
							cursor: pointer;
							font-size: 1em;
/*							transition: all .5s ease;
*/							font-weight: 500;

							background-color: #fff6f4;
							border: 1px solid white;
							border-radius: 1.5em;
							box-shadow: 3px 3px 0 #41a76e;
						}
						.accordion-area .title:hover {
							color: #aaa;
						}

						/* Qアイコン */
						.accordion-area .title::before {
							position: absolute;
							content: 'Q';
							top: 10px;
							left: 24px;
							color: #41a76e;
							font-size: 2rem;
							font-family: "Zen Maru Gothic", serif;
						}

						/* 開閉アイコン（※標準は「開」／JavaScript側でcloseクラスが付加されると「閉」） */
						.accordion-area .title::after {
							position: absolute;
							content: url("/imgs/icon/ico_plusG.svg");
							width: 1.5rem;
							height: 1.5rem;
							top: 22px;
							right: 30px;
							transition: all .5s ease;		/* アニメーション用 */
						}
						.accordion-area .title.close::after {
							transform: rotate(-225deg);		/* アニメーション用 */
						}

						/* A（アコーディオンで現れるボックス） */
						.accordion-area .box {
							display: none;
							position: relative;
							margin: 1rem 0 0 0;
							padding: 1.5rem;

							background-color: #fff6f4;
							border: 1px solid white;
							border-radius: 1.5em;
							box-shadow: 3px 3px 0 #41a76e;
						}
							.accordion-area .box p {
								margin: 0 0 0.75em 0;
								text-align: justify;
							}
								.accordion-area .box p a {
									color: var(--link-in-text-color);
								}


		/* ======================== */
		/* ▼患者さまへのご案内区画 */
		/* ======================== */
		#Information { }

			.infoContentsBox {
				max-width: var(--thin-max-width);
				margin: auto;
				padding: 0 1rem;
			}

				.infoParaBox { }

				.separateCricles {
					text-align: center;
					color: #f99f97;
					font-size: 0.6rem;
					letter-spacing: 2em;
					margin: 2rem 0;
				}

		/* ================== */
		/* ▼発熱外来詳細区画 */
		/* ================== */
		#DeptFever { }

			#DeptFever h2 { margin-bottom: 0; }
			#DeptFever h3 {
				margin-top: 0.75rem;
				font-size: 1.5rem;
				font-weight: 500;
				font-family: "Zen Maru Gothic", serif;
				color: #42a57f;
			}
/* 			#DeptFever .subSectionBlock { margin-top: 1rem; }	*/

		/* ============== */
		/* ▼アクセス区画 */
		/* ============== */
			.accessGuideBox {
				margin: 2rem 0;
				text-align: center;
			}

				/* 鉄道案内表組 */
				.trainInfo {
					border-collapse: collapse;
					margin: 0 auto;
					max-width: 100%;
					width: fit-content;
				}
					.trainInfo th,
					.trainInfo td {
						vertical-align: top;
						text-align: left;
						padding: 0 1em;
						font-weight: normal;
					}

				/* 駐車場イラスト */
				.parkingMapIllust {
					text-align: center;
				}
					.parkingMapIllust img {
						width: 380px;
						max-width: 100%;
						height: auto;
					}

			/* 2段組の中 */
			.parkingPhotoBoxes {
				gap: 1rem;
				flex-wrap: wrap;
			}
				.oneParkingBox {
					min-width: 300px;
					text-align: center;
				}
					.parkNum { margin-bottom: 0; }
					.parkDet { margin-top: 0.5rem; }

					.parkingPhoto img {
						display: block;
						width: 373px;
						max-width: 100%;
						height: auto;
						margin: auto;
					}

			/* ……… */
			/* ▼地図 */
			/* ……… */
			.companyMapSpace { }
				.companyMapSpace .googleMap {
					display: block;
					width: 100%;
					max-width: 100%;
					height: 299px;
					margin: 2rem auto;
				}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
	.pageBottom {
		margin: 9rem 0 0 0;
	}

		/* …………… */
		/* ▼営業時間 */
		/* …………… */
		.openHoursBox {
			text-align: center;
		}
			.openHours {
				margin: 0 0 1.5rem;
			}
				.openHoursImage {
					margin: 3rem 0 0;
					max-width: min(100%, 550px);
					height: auto;
				}
			.openHourNote {
				display: flex;
				flex-wrap: wrap;
				align-items:center;
				justify-content:center;
				gap: 1rem 3rem;
				color: var(--base-theme-color);
			}
				.closeDays {
					font-size: 1rem;
					color: #618080;
				}
				.limitedOpenDetails {
					font-size: 0.95rem;
				}
					.likeCharIcon {
						width: 1rem;
						height: auto;
						vertical-align: -2px;
					}

		/* …………… */
		/* ▼組織詳細 */
		/* …………… */
		.companyDetailArea {
			margin: 6rem auto 3rem;
		}
			.companyDetailArea .doubleColumnArea {
				align-items: flex-end;
			}

			/* ‥‥‥‥‥‥ */
			/* ▽段：連絡先 */
			/* ‥‥‥‥‥‥ */
			.companyContactBox {
				text-align: center;
			}

				.companyLogo {
					margin: 0;
				}
					.footerSiteNameComplex {
						display: flex;
						flex-direction: column;
					}
						.footerSiteLogo img {width:auto; height:145px; }
						.footerSiteName img {width:auto; height: 55px; }

				.companyAddressBox {
					font-weight: 500;
				}
					.companyAddress {
						margin: 2.5rem 0 3rem;
						font-size: 1.25rem;
					}
					.companyTel {
						font-size: 2rem;
						margin-bottom: 3rem;
					}
						.companyTel a {
							color: var(--base-theme-color);
						}
						.telIcon {
							width: auto;
							height: 42px;
							vertical-align: -11px;
							margin-right: 7px;
						}

				.companyContactBox .buttonBox + .buttonBox {
					margin-top: 3rem;
				}

			/* ‥‥‥‥‥ */
			/* ▽段：地図 */
			/* ‥‥‥‥‥ */
			.companyMapBox {
				text-align: center;
			}

				/* Google Map */
				.companyMapBox iframe { display inline-block; margin-bottom: 3rem; }
				.companyMapBox .buttonBox { }

		/* …………… */
		/* ▼社名領域 */
		/* …………… */
		.companySignArea {
			margin: 5rem 0 0 0;
		}
			.companySign {
				margin: 3rem auto 0;
				padding: 0 1em 0.45em;
				width: fit-content;
				font-size: 1.2rem;
				text-align: center;
				border-bottom: 7px solid var(--third-theme-color);
			}

		/* ………………………………… */
		/* ▼フッタ下端デザイン調整帯 */
		/* ………………………………… */
		.footDesignBelt {
			margin: 1rem 0 0 0;
			padding: 0;
			width: 100%;
			overflow: hidden;
		}
			.footDesignBelt img {
				display: block;
				width: 101%;		/* 左右に1pxの空白が現れるのを防ぐため */
				max-width: 101%;	/* 左右に1pxの空白が現れるのを防ぐため */
				margin: 0 -1px;
			}

		/* …………………… */
		/* ▼フッタ下端領域 */
		/* …………………… */
		.footerBottomArea {
			background-color: var(--footer-backcolor);
			color: var(--footer-textcolor);
			margin-top: -1px;	/* 隙間ができるのを防ぐ */
		}

		/* …………………… */
		/* ▼サイトマップ枠 */
		/* …………………… */
		.sitemapBox {
			margin: 0 auto;
			padding: 0;
			text-align: left;
			line-height: 2.5;
		}

			.sitemapTitle {
				text-align: center;
				font-size: 1rem;
				font-weight: normal;
			}

			/* ▽サイトマップリスト */
			.sitemapList {
				margin: 1.5rem 0 3rem 0;
				padding: 0;
				list-style-type: none;
			}
				/* リスト内1項目 */
				.sitemapList li {
					display: block;
					margin: 0 0 1.33rem 0;
					padding: 0;
					line-height: 1.1;
				}
				.sitemapList li::before,
				.sitemapList li::after {
					content: '｜';
					display: inline-block;
					margin: 0;
					padding: 0;
					color: var(--footer-textcolor);
				}
				.sitemapList li::before	{ padding-right: 0.5em; }
				.sitemapList li::after	{ padding-left: 0.5em; }

				/* リスト内リンク */
				.sitemapList a {
					color: var(--footer-textcolor);
				}

			/* ▽最下部のコンタクトリンク */
			.bottomContact {
				margin: 2.5em 0 0 0;
				padding: 0 0 1.2em 0;
				text-align: center;
			}
				.bottomContact a {
					color: var(--footer-textcolor);
				}

	/* ====================== */
	/* ▼画面下端固定ボックス */	/* SPのみ */
	/* ====================== */
	.fixedBottomScreenBox {
		position: fixed;
		z-index: 10;
	}
		.fixedBottomList {
			display: flex;
			list-style-type: none;
			margin: 0;
			padding: 0;
			background-color: #97cfcf;
			color: white;
		}
			.fixedBottomList li {
				flex: 1;
			}
				.fixedBottomList li a {
					display: block;
					text-align: center;
					margin: 0.75em 0;
					color: white;
				}
				.fixedBottomList li:first-child a { border-right: 2px dotted white; }
				.fixedBottomList li:last-child  a { border-left:  2px dotted white; }
				.fixedBottomIcon {
					display: block;
				}
					.fixedBottomIcon img {
						width: auto;
						height: 24px;
					}
				.fixedBottomText {
					display: block;
					font-size: 0.8rem;
				}

/* ======================================================== */
/* ■総合モバイル端末（横幅899px以下）共通の追加・上書きCSS */
/* ======================================================== */
@media all and (max-width:899px) {

	.pc-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */

	/* ---------- */
	/* 汎用表組群 */
	/* ---------- */
	/* ▼標準広テーブル（ただしスマホでは縦展開） */
	.stdWideTable {
		width: calc( 100% - 2rem );
		margin: 0 1rem;
	}

	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
			.subT::after {
				display: none;	/* モバイルでは見出し横の線は付けない */
			}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */

		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */

		/* ※トップページでは表示しない */
		.homePage .headFloatLogoBox {
			display: none;
		}
		/* ※トップページ以外では表示 */
		.deepPage .headFloatLogoBox {
			position: relative;
		}
			.headFloatLogoBox a {
				padding: 12px 0 12px 12px;
			}
				.headLogo {
					width: 150px;
				}

		/* --------------------------------- */
		/* ▼ドロワー関連群(PC/モバイル兼用) */
		/* --------------------------------- */
			/* ‥‥‥‥‥‥‥‥‥ */
			/* ▼ドロワーメニュー */
			/* ‥‥‥‥‥‥‥‥‥ */
			.drawerClose {
				position: absolute;
				top: 5px;
				right: 20px;
			}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
		/* ============== */
		/* ▼お知らせ区画 */
		/* ============== */
		.infoBoxArea {
			margin-top: 0;
		}

		/* ============== */
		/* ▼医師紹介区画 */
		/* ============== */
				.doctorDoubleColumnBox {
					display: block;
				}
					.doctorMessageBox {
						margin: 0 3rem;
					}

					.doctorPhotoBox {
						width: 350px;
						margin: auto;
					}

		/* ================ */
		/* ▼診療科詳細区画 */
		/* ================ */
				/* ……………… */
				/* ▼フロー区画 */
				/* ……………… */
					.flowList {
					}
						.forFlowArrow {
							display: none;
						}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* …………… */
		/* ▼組織詳細 */
		/* …………… */
		.companyDetailArea .doubleColumnArea {
			display: block;	/* 段組解除 */
		}
			/* ‥‥‥‥‥‥ */
			/* ▽段：連絡先 */
			/* ‥‥‥‥‥‥ */
			.companyContactBox {
				margin-bottom: 3.5rem;
			}

			/* ‥‥‥‥‥ */
			/* ▽段：地図 */
			/* ‥‥‥‥‥ */
			.companyMapBox {
			}
				/* Google Map */
				.companyMapBox iframe { display block; width:100%; max-width:100%; height: 299px; }
				.companyMapBox .buttonBox { }

		/* …………………… */
		/* ▼フッタ下端領域 */
		/* …………………… */
		.footerBottomBox {
			margin: 0 auto;
			padding: 1em 0 5em;
			max-width: 570px;
		}

			/* ▼会社ロゴ */
			.companyLogoBox {
				display: none;
			}

}

/* ====================================================== */
/* ■タブレット端末以上（横幅600～）共通の追加・上書きCSS */
/* ====================================================== */
@media all and (min-width:600px) {

	/* ====================== */
	/* ▼画面下端固定ボックス */
	/* ====================== */
	.fixedBottomScreenBox {
		display: none;
	}

}

/* ========================================================= */
/* ■タブレット端末専用（横幅600～899）共通の追加・上書きCSS */
/* ========================================================= */
@media all and (min-width:600px) and (max-width:899px) {

	.sp-only { display: none !important; }
	.pc-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
	/* ▼装飾見出し */
	.decoTitle {
		margin: 0 0 2.5rem 3rem;
	}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
	}

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.outerCoverSlideshow {
		margin: 0;
	}
		.slideshowSet {
			margin: 0;
		}

				/* ………………………………… */
				/* ▼画像に重ねるオブジェクト */
				/* ………………………………… */
					.greenOblongBox {
						width: 350px;
						height: 114px;
						padding: 10px 10px 0 10px;

						bottom: 55px;
						left: 8px;
					}
						.insideSlideTitle {
							text-align: left;
							font-size: 1.13rem;
							margin-bottom: 0.5rem;
						}
						.insideSlideGuide {
							font-size: 1.25rem;
							line-height: 1.5;
						}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					margin-top: -36px;
				}

				/* ---------------------------- */
				/* ▽スライドショー用表示候補群 */
				/* ---------------------------- */
				#SlideshowBox p img {
					border-radius: 0;		/* 画像角丸(※デフォルト空間にも同様の指定が必要 */
				}

				/* ▼スクリプト無効の場合の固定表示（＋デフォルト空間確保） */
				#NoSlideshow img {
					border-radius: 0;		/* 画像角丸(※#SlideshowBox p imgと同様の指定にする */
				}

}

/* ====================================================== */
/* ■スマートフォン（横幅599px以下）専用の追加・上書きCSS */
/* ====================================================== */
@media all and (max-width:599px) {

	.tb-only,
	.wide-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 0.95rem;
	}

	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
	/* ▼装飾見出し */
	.decoTitle {
	}
		.decoTitleInside {
			border-right: 0px none;
			padding: 0;
			margin: auto;
		}
			.bigT,
			.subT {
				margin: 0 auto;
			}
			.bigT {
				margin-bottom: 0.36rem;
			}

	/* ---------- */
	/* 汎用表組群 */
	/* ---------- */
	/* ▼標準テーブル（ただしスマホでは縦展開） */
	.stdTable {
		display: block;
	}
		.stdTable tr {
			display: block;
			margin: 1rem 0;
		}
		.stdTable th,
		.stdTable td {
			display: block;
			padding: 0 0 0.5rem 0;
		}

	/* ▼標準広テーブル（ただしスマホでは縦展開） */
	.stdWideTable {
		display: block;
	}
		.stdWideTable tr {
			display: block;
			border-bottom-color: #eee;
			width: calc( 100vw - 2rem );
			margin: 1.5rem 0;
		}
		.stdWideTable th,
		.stdWideTable td {
			display: block;
			padding: 0 0 1rem 0;
		}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
	}
		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */
		.homePage .headSiteLogo {
			display: none;
		}

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.outerCoverSlideshow {
		margin: 0;
	}
		.slideshowSet {
			margin: 0;
		}

				/* ---------------------------- */
				/* ▽スライドショー用表示候補群 */
				/* ---------------------------- */
				#SlideshowBox p img {
					border-radius: 0;		/* 画像角丸(※デフォルト空間にも同様の指定が必要 */
				}

				/* ▼スクリプト無効の場合の固定表示（＋デフォルト空間確保） */
				#NoSlideshow img {
					border-radius: 0;		/* 画像角丸(※#SlideshowBox p imgと同様の指定にする */
				}

				/* ………………………………… */
				/* ▼画像に重ねるオブジェクト */
				/* ………………………………… */
					.greenOblongBox {
						width: auto;
						height: auto;
						padding: 10px;

						bottom: 100px;
						left: 1rem;
						right: 1rem;
					}
						.insideSlideTitle {
							text-align: left;
							font-size: 1.1rem;
							line-height: 1;
							margin-bottom: 0.5rem;
						}
						.insideSlideGuide {
							font-size: 1.2rem;
							line-height: 1.2;
						}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					margin: -80px 2rem 0 2rem;
				}
						.slideTitleUsagi {
							height: 115px;
						}
						.slideTitleLogo {
							margin-top: 0.75rem;
							height: 60px;
						}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
		/* ============== */
		/* ▼発熱診療区画 */
		/* ============== */
		#FeverDepartment { }

			.feverLinkBox.guideList {
				margin: 0 0.5rem;
			}
						.flLarge  { font-size: 1.5rem; margin-top: 1.25rem; }

		/* ============== */
		/* ▼医師紹介区画 */
		/* ============== */
		#Doctor { }
			.doctorCover {
				margin-top: -28px;
				padding: 0;
			}
				.doctorCareerList {
					margin-top: 1.0rem;
				}
					.doctorCareerList li {
						margin-bottom: 0.75rem;
					}
						.careerDate {
							display: block;
						}

		/* ================== */
		/* ▼よくある質問区画 */
		/* ================== */
				/* ………………………… */
				/* ▼アコーディオンQ＆A */
				/* ………………………… */
						/* Q（アコーディオンタイトル） */
						.accordion-area .title {
							line-height: 1;
							min-height: 30px;	/* Qの高さを一定に保つため */
						}
						/* Qアイコン */
						.accordion-area .title::before {
							top: 20px;
						}
						/* 開閉アイコン（※標準は「開」／JavaScript側でcloseクラスが付加されると「閉」） */
						.accordion-area .title::after {
							top: 24px;
							right: 16px;
						}

		/* ================== */
		/* ▼発熱外来詳細区画 */
		/* ================== */
		#DeptFever { }
			#DeptFever .subT { font-size: 25px; }
			#DeptFever h3  { font-size: 21px; }
			#DeptFever .houganshi { padding: 1px 1rem; }

					/* 修正後BOX外観 */
					.feverInside .guideList {
						padding: 1rem;
					}

					/* 修正後BOX内側 */
					.insideGuideBox {
						text-align: left;
						line-height: 1.25;
					}
						p.igbTel  { text-align:center; font-size: 2rem; margin: 1rem 0 0.25rem; font-weight:500; }
						p.igbNote { text-align:center; margin: 0 0 1.5rem; }

		/* ============== */
		/* ▼アクセス区画 */
		/* ============== */
				/* 鉄道案内表組 */
				.trainInfo,
				.trainInfo tr,
				.trainInfo th,
				.trainInfo td {
					display: block;
				}

				.trainInfo td {
					margin-bottom: 1rem;
					text-indent: 1rem;
				}

		/* ================== */
		/* ▼お知らせ一覧区画 */
		/* ================== */
		.pageNews .buttonSetBox {
			flex-direction: column;
		}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* …………………… */
		/* ▼フッタ下端領域 */
		/* …………………… */
		.footerBottomBox {
			margin: 0 2em;
		}

	/* ====================== */
	/* ▼画面下端固定ボックス */
	/* ====================== */
	.fixedBottomScreenBox {
		bottom: 0;
		left: 0;
		right: 0;
	}

}

/* ========================================================== */
/* ■小型スマートフォン（横幅360px以下）専用の追加・上書きCSS */
/* ========================================================== */
@media all and (max-width:360px) {

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 0.9rem;
	}

	/* ============ */
	/* ▼メイン区画 */
	/* ============ */
	main {
		width: 100%;
	}

			/* お知らせ一覧ボタン */
			.oshiraseBtn {
				min-width: 9em;
			}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* …………………… */
		/* ▼フッタ下端領域 */
		/* …………………… */
		.footerBottomBox {
			margin: 0 1em;
		}

}

/* ======================================================================== */
/* ■PC(大型タブレット含む)サイズ画面（横幅900px以上）専用の追加・上書きCSS */
/* ======================================================================== */
@media screen and (min-width:900px) {

	.mobile-only,
	.tb-only,
	.sp-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 1rem;
	}

	/* ※Windows環境で日本語Webフォントのシャギーを防ぐ(No-Shaggy Adjust)：インラインには効かないので注意 */
	.nsa,h2,h3,h4,h5,p,li,a,label,u,span
	{
		transform: rotate(0.03deg);
	}
		label,u {
			display: inline-block;
		}
	.noShaggyAdjust p,
	img { transform: rotate(0deg) !important; }	/* 画像も一緒に傾いてしまうのを防ぐ */

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.slideshowSection {
		margin: 1.5rem 0 0 0;
	}


	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* …………………… */
		/* ▼フッタ下端領域 */
		/* …………………… */
		.footerBottomBox {
			margin: 0 auto;
			padding: 1em 10% 5em;
			max-width: var(--inner-content-max-width);
		}

			/* ▽汎用2段組レイアウト枠 */
			.footerBottomBox .doubleColumnArea {
				align-items: end;
				justify-content: space-between;
			}

			/* ……………… */
			/* ▼会社ロゴ段 */
			/* ……………… */
			.companyLogoBox {
				text-align: right;
				padding-bottom: 1rem;
			}

}

/* =================== */
/* ■てがろぐ装飾用CSS */
/* =================== */
.tegalogEmbedArea { }

	/* ------------------------- */
	/* ▼URLが書かれた場合の装飾 */
	/* ------------------------- */
	.tegalogEmbedArea .url {
		word-break:break-all;	/* 自動リンクのはみ出しを防ぐ */
	}

	/* ---------------------------------------------------- */
	/* ▼汎用装飾(てがろぐ専用記法で書かれた場合のみ)：文字 */
	/* ---------------------------------------------------- */
	/* B:太字(Bold) */
	.decorationB {
		font-weight: bold;		/* 太字 */
	}
	/* D:削除(Delete) */
	.decorationD {
		color: #888;	/* 文字色 */
		text-decoration-line: line-through;	/* 取り消し線 */
		text-decoration-color: red;			/* 線の色 */
	}
	/* E:強調(Emphasis) */
	.decorationE {
		color: #050;	/* 文字色 */
		font-style: normal;
		font-weight: bold;
	}
	/* I:斜体(Italic) */
	.decorationI {
		font-style: italic;		/* 斜体 */
	}
	/* Q:引用(Quote) */
	.decorationQ {
		margin: 1em 0.3em 1em 1em;		/* 外側の余白(上→右→下→左) */
		padding: 0.75em 0.5em;			/* 内側の余白(上下→左右) */
		border-left: 5px double #5c5;	/* 左端の枠線 */
		background-color: #efe;			/* 背景色 */
		font-size: 0.95em;				/* 文字サイズ */
		display: block;					/* ※Ver 2.2.0以降必須の記述 */
	}
	.decorationQ::before,
	.decorationQ::after {
		content: '';			/* 標準で付加されてしまう引用符を無効にする */
	}
	.decorationQ + br {
		display: none;	/* 引用直後の改行を無効化する */
	}
	/* S:小文字(Small) */
	.decorationS {
		font-size: 0.8em;	/* 文字サイズ */
	}
	/* T:極小文字(Tiny) */
	.decorationT {
		font-size: 0.6em;	/* 文字サイズ */
	}
	/* U:下線(Underline) */
	.decorationU {
		text-decoration-line: underline;	/* 線位置 */
		text-decoration-style: double;		/* 線種類 */
		text-decoration-color: lime;		/* 線配色 */
	}

	/* -------------- */
	/* ▼埋め込み画像 */
	/* -------------- */
	/* ▽画像ボックス(FIGオプション指定時) */
	.embeddedpictbox {
		margin: 0;					/* 外側の余白を消す */
		padding: 0;					/* 内側の余白を消す */
		display: inline-table;		/* 横方向に並べる */
		border-collapse: collapse;	/* displayをinline-tableにする場合に必要 */
		border: 1px solid #e0eee0;	/* 枠線 */
		vertical-align: top;		/* 行内では上に寄せる */
	}
		/* キャプション */
		.embeddedpictbox figcaption {
			display: table-caption;		/* キャプションが画像幅から外に出ないようにする */
			caption-side: bottom;		/* キャプションの位置(上にしたければtop) */
			font-size: 0.8em;			/* 文字サイズ */
			text-align: center;			/* センタリング */
			background-color: #e0eee0;	/* 背景色 */
		}

		/* 画像ボックスに含まれる画像 */
		.embeddedpictbox img {
			vertical-align: middle;
		}

	/* ▽画像そのもの */
	.embeddedimage {
		max-width: 100%;	/* 横方向にはみ出ないようにする */
		max-height: 240px;	/* 大きくなりすぎないようにする */
		width: auto;	/* 画像サイズを固定したい場合はここに具体的なpx値を指定するのがお勧め */
		height: auto;	/* 高さを固定したい場合を除いて、ここは auto のままにするのがお勧め */
	}

	/* ▽フラグ付き画像 */
	.tegalogEmbedArea figure.nsfw {
		overflow: hidden;	/* ぼかし領域がfigureのボックスからはみ出ないようにする */
	}
	.tegalogEmbedArea img.nsfw {
		filter: blur(9px);	/* ぼかす */
	}

	/* -------------- */
	/* ▼埋め込み動画 */
	/* -------------- */
	@media all and (max-width: 600px) {
		.embeddedmovie {
			display: inline-block;
			max-width: 100%;	/* はみ出ないようにする */
			width: auto;
			height: auto;
		}
	}

	/* --------------- */
	/* ▼埋め込みTweet */	/* これはツイートが埋め込まれる処理「前」用の装飾です。実際に埋め込まれるツイートはTwitter側のiframeで装飾されますので、てがろぐ側では指定できません。 */
	/* --------------- */
	.tegalogEmbedArea blockquote.twitter-tweet,
	.tegalogEmbedArea blockquote.instagram-media {
		background-color: #f8f8f8;
		border: 1px dashed #ddd;
		border-radius: 9px;
		margin: 0.3em 0;
		padding: 1em;
		font-size: 0.95em;
		color: #999;
		text-shadow: 1px 1px 1px #fff;
	}

	/* -------------------- */
	/* ▼検索語のハイライト */
	/* -------------------- */
	.searchword {
		font-weight: bold;
		background: linear-gradient(transparent 60%, #aaf0aa 60%);
	}


/* ======================= */
/* ■埋め込みツール等用CSS */
/* ======================= */
/* ――――――――――――――― */
/* ★ふわっ(その場)アニメーション */
/* ――――――――――――――― */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ================= */
/* ■スクリプト用CSS */
/* ================= */

/* ▼loopSlider  */
.loopSliderWrap { top: 0; left: 0; height: 200px; overflow: hidden; position: absolute; }
.loopSlider { margin: 3em auto; width: 100%; /*max-width:1600px;*/ height: 200px; text-align: left; position: relative; overflow: hidden; }
.loopSlider ul { height: 200px; float: left; overflow: hidden; }
.loopSlider ul li { width: 300px; height: 200px; float: left; display: inline; overflow: hidden; }
.loopSlider * { margin: 0; padding: 0; }
.loopSliderWrap:after { content: ""; display: none; clear: none; }
