@charset "UTF-8";
/* 共通 */
body{font-display: swap;}

div.cont_btn a {
	display: inline-block;
	width: 66%;
	font-size: 3.8vw;
	line-height: 3em;
	color: #D3CEB8;
	background: #333;
	text-decoration: none;
	text-align: center;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	position: relative;
}
	div.cont_btn a:after {
		position: absolute;
		display: block;
		content: '';
		width: 0.6em;
		height: 0.6em;
		margin: 0;
		padding: 0;
		border-top: 2px solid #9B8759;
		border-right: 2px solid #9B8759;
		transform: rotate(45deg);
		top: 43%;
		right: 20px;
	}

/* KV */
#kv {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	position: relative;
}
	#kv ul.slick_box {
		width: 100%;
		height: 35em;
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
		list-style: none;
	}
		#kv ul.slick_box li {
			width: 100%;
			height: 35em;
			margin: 0 auto;
			padding: 0;
			color: #fff;
			text-align: left;
			position: relative;
		}
			#kv ul.slick_box li:before {
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}
			#kv ul.slick_box li.kv01:before {
				background: url(../images/top/kv_01_sp.jpg) top center / cover no-repeat;
			}
	#kv div.txt {
		position: absolute;
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		top: 18em;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		z-index: 1;
	}
		#kv div.txt h2 {
			margin: 0;
			padding: 0;
			font-size: 8.0vw;
			line-height: 160%;
			font-weight: 400;
			font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
			text-shadow:
				#fff 1px 1px 10px, #fff -1px 1px 10px,
				#fff 1px -1px 10px, #fff -1px -1px 10px;
			white-space: nowrap;
		}
		#kv div.txt h3 {
			margin: 2% 0 0;
			padding: 0;
			font-size: 4.0vw;
			line-height: 200%;
			font-weight: 400;
			font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
			text-shadow:
				#fff 1px 1px 10px, #fff -1px 1px 10px,
				#fff 1px -1px 10px, #fff -1px -1px 10px;
			white-space: nowrap;
		}


/* 当日予約OK・緊急の来院でも対応します */
div.index_shop {
	width: 100%;
	margin: 0 auto;
	padding: 10% 4% 15%;
	background: url(../images/top/shop_bg_sp.png) top center / 100% auto no-repeat;
}
	div.index_shop div.shop_box {
		width: 100%;
		margin: 0 auto;
		padding: 7px;
		background: #D3CEB8;
	}
		div.index_shop div.shop_box div.shop_box_in {
			width: 100%;
			margin: 0 auto;
			padding: 4% 5% 10%;
			background: #fff;
			position: relative;
		}
			div.index_shop div.shop_box div.shop_box_in:before,
			div.index_shop div.shop_box div.shop_box_in:after{
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 0;
				left: 0;
			}
			div.index_shop div.shop_box div.shop_box_in:before{
				border-bottom: solid 1em #fff;
				border-left: solid 1em #D3CEB8;
				bottom: calc(100% - 1em + 1px);
			}
			div.index_shop div.shop_box div.shop_box_in:after{
				border-top: solid 1em #fff;
				border-right: solid 1em #D3CEB8;
				top: calc(100% - 1em + 1px);
			}
			div.index_shop div.shop_box div.shop_box_in .point {
				margin: 0 auto;
				padding: 0;
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
			}
				div.index_shop div.shop_box div.shop_box_in .point span {
					display: inline-block;
					width: 46%;
					margin: 0 2%;
					padding: 0;
					font-size: 3.4vw;
					line-height: 2.6em;
					font-weight: 500;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
					color: #fff;
					background: #60AAB7;
				}
					div.index_shop div.shop_box div.shop_box_in .point span:last-of-type {
						margin-top: 2%;
					}
			div.index_shop div.shop_box div.shop_box_in h3 {
				margin: 5% auto 0;
				padding: 0;
				font-size: 5.8vw;
				line-height: 180%;
				font-weight: 500;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
			}
			div.index_shop div.shop_box div.shop_box_in h4 {
				margin: 3% auto 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 180%;
				font-weight: 400;
			}
				div.index_shop div.shop_box div.shop_box_in h4 storng {
					font-weight: 500;
				}
			div.index_shop div.shop_box div.shop_box_in div.tel_time {
				margin: 8% auto 0;
				padding: 0;
			}
				div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel {
					width: 100%;
					margin: 0;
					padding: 0;
					border: 1px solid #D3CEB8;
					display: flex;
				}
					div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel .tel_ttl {
						width: 31.8%;
						margin: 0;
						padding: 0;
						font-size: 3.2vw;
						line-height: 140%;
						font-weight: 500;
						font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
						color: #9B8759;
						background: #D3CEB8;
						display: flex;
						justify-content: center;
						align-items: center;
					}
					div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel a {
						width: 68.2%;
						margin: 0;
						padding: 2% 0;
						font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
						text-decoration: none;
						display: flex;
						flex-wrap: wrap;
						justify-content: center;
					}
						div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel a strong {
							display: block;
							margin: 0;
							padding: 0;
							font-size: 3.2vw;
							line-height: 120%;
							font-weight: 500;
							color: #333;
						}
						div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel a span {
							display: block;
							margin: 1% 0 0;
							padding: 0 0 0 0.9em;
							font-size: 5.6vw;
							line-height: 120%;
							font-weight: 500;
							color: #9B8759;
							position: relative;
						}
							div.index_shop div.shop_box div.shop_box_in div.tel_time div.tel a span:before {
								position: absolute;
								content: '';
								display: block;
								width: 0.7em;
								height: 0.7em;
								margin: 0;
								background: url(../images/icon/tel_ico.png) center / contain no-repeat;
								top: 0.3em;
								left: 0;
							}
				div.index_shop div.shop_box div.shop_box_in div.tel_time div.open_days {
					width: 100%;
					margin-top: 5%;
				}
					div.index_shop div.shop_box div.shop_box_in div.tel_time div.open_days table.time_table th:first-of-type {
						width: 26.2%;
					}
					div.index_shop div.shop_box div.shop_box_in div.tel_time div.open_days table.time_table th:nth-of-type(n+2) {
						width: calc((100% - 26.2%) / 7);
					}

/* 選ばれる3つのポイント */
div.index_point3 {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 15%;
	position: relative;
	z-index: 1;
}
	div.index_point3:before {
		position: absolute;
		content: '';
		display: block;
		width: 200%;
		height: calc(100% - 3em);
		margin: 0 auto;
		padding: 0;
		background: linear-gradient(to top, #D9D1BF 0px, #D9D1BF 3em, #F2F1E8 10em, #F2F1E8 100%);
		transform: rotate(0) skew(-5deg, -5deg);
		top: 0.5em;
		left: -50%;
		z-index: -1;
	}
	div.index_point3:after {
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		margin: 0 auto;
		padding: 0;
		background: linear-gradient(transparent 0%, transparent 50%, #D9D1BF 50%, #D9D1BF 100%);
		top: 0;
		left: 0;
		z-index: -2;
	}
	div.index_point3 div.point_cont {
		margin: 0 auto;
		padding: 0;
	}
		div.index_point3 div.point_cont div.point_txt {
			width: 96%;
			margin: 10% 4% 0 0;
			padding: 8% 5% 12%;
			text-align: left;
			background: linear-gradient(to top, #9A835A 0px, #9A835A 15%, #B9A98A 100%);
			position: relative;
		}
			div.index_point3 div.point_cont.rev div.point_txt {
				margin-left: 4%;
			}
			div.index_point3 div.point_cont div.point_txt:after {
				position: absolute;
				content: '';
				display: block;
				width: 100%;
				height: 2em;
				background: rgba(0,0,0,0.2);
				bottom: 0;
				left: 0;
			}
			div.index_point3 div.point_cont div.point_txt h4 {
				margin: 0 0 0 15%;
				padding: 0;
				font-size: 5.4vw;
				line-height: 160%;
				font-weight: 500;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				color: #fff;
				position: relative;
				z-index: 1;
			}
				div.index_point3 div.point_cont div.point_txt h4 span {
					position: absolute;
					display: block;
					margin: 0;
					padding: 0;
					font-size: 13.6vw;
					line-height: 110%;
					font-weight: 300;
					font-style: italic;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
					color: #7B6948;
					top: -0.5em;
					left: -0.9em;
					z-index: -1;
				}
			div.index_point3 div.point_cont div.point_txt p {
				margin: 5% 0 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 180%;
				color: #fff;
			}
		div.index_point3 div.point_cont div.point_img {
			width: 96%;
			margin: -0.8em 0 0 4%;
			position: relative;
			z-index: 1;
		}
		div.index_point3 div.point_cont.rev div.point_img {
			width: 96%;
			margin: -0.8em 4% 0 0;
		}
			div.index_point3 div.point_cont div.point_img img {
				width: 100%;
				height: auto;
			}
	div.index_point3 div.cont_btn {
		margin: 10% auto 0 !important;
	}

/* 院長ごあいさつ */
div.index_message {
	width: 100%;
	margin: 0 auto 0;
	padding: 20% 0 20%;
	background: url(../images/top/message_bg_sp.png) top center / 100% auto no-repeat;
	position: relative;
	z-index: 2;
}
	div.index_message div.message_cont {
		margin: 0 auto;
		padding: 0 4%;
	}
		div.index_message div.message_cont div.message_txt {
			width: 100%;
			margin: 0;
			padding: 8% 0 0;
			text-align: left;
		}
			div.index_message div.message_cont div.message_txt p {
				margin: 1em 0 0;
			}
				div.index_message div.message_cont div.message_txt p:nth-of-type(4) {
					margin: 2em 0 0;
				}
		div.index_message div.message_cont div.message_img {
			width: 100%;
			margin: 10% auto 0;
		}
			div.index_message div.message_cont div.message_img div.message_img_in {
				width: 100%;
				margin: 0;
				position: relative;
			}
				div.index_message div.message_cont div.message_img div.message_img_in img {
					width: 100%;
					height: auto;
				}
				div.index_message div.message_cont div.message_img div.message_img_in div.img_btm {
					position: absolute;
					width: 100%;
					margin: 0;
					padding: 14% 4% 3%;
					text-align: right;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
					color: #fff;
					background: rgba(0,0,0,0.4);
					bottom: 0;
					left: 0;
				}
					div.index_message div.message_cont div.message_img div.message_img_in div.img_btm strong {
						position: absolute;
						display: inline-block;
						font-size: 12.2vw;
						line-height: 110%;
						font-weight: 300;
						font-style: italic;
						font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
						color: #fff;
						top: -0.45em;
						left: 2%;
					}
					div.index_message div.message_cont div.message_img div.message_img_in div.img_btm h4 {
						margin: 0;
						font-size: 3.6vw;
						font-weight: 500;
					}
					div.index_message div.message_cont div.message_img div.message_img_in div.img_btm p {
						margin: 1% 0 0;
						font-size: 4.8vw;
						font-weight: 500;
					}
						div.index_message div.message_cont div.message_img div.message_img_in div.img_btm p small {
							display: inline-block;
							margin: 0 1em 0 0;
							font-size: 3.4vw;
							font-weight: 500;
						}
			div.index_message div.message_cont div.message_img div.cont_btn {
				margin: 10% auto 0 !important;
			}

/* 院内紹介 */
div.index_clinic {
	width: 100%;
	margin: 0 auto;
	padding: 20% 0;
	background: url(../images/top/clinic_bg_sp.jpg) center / cover no-repeat;
}
	div.index_clinic .cont_top_txt {
		margin: 0 auto;
		padding: 5% 4% 0;
	}
		div.index_clinic .cont_top_txt p {
			margin: 1em auto 0;
		}
	div.index_clinic ul.clinic_img {
		width: 100%;
		margin: 8% auto 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
	}
		div.index_clinic ul.clinic_img li {
			width: 50%;
			margin: 0;
		}
			div.index_clinic ul.clinic_img li img {
				width: 100%;
				height: auto;
			}

/* GoogleMap */
div.index_gmap {
	width: 100%;
	margin: 0 auto;
	padding: 20% 4%;
}
	div.index_gmap .gmap {
		width: 100%;
		height: 28em;
		margin: 0 auto;
		position: relative;
	}
		div.index_gmap .gmap iframe {
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			margin: 0;
			top: 0;
			left: 0;
		}

/* 診療メニュー */
div.index_menu {
	width: 100%;
	margin: 0 auto;
	padding: 20% 0;
	background: url(../images/top/menu_bg_sp.jpg) center / cover no-repeat;
}
	div.index_menu ul.menu_cont {
		width: 100%;
		margin: 0 auto;
		padding: 2% 4% 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
		div.index_menu ul.menu_cont li {
			width: 31%;
			margin: 10% 0 0;
			padding: 0;
		}
			div.index_menu ul.menu_cont li:nth-of-type(3n+1) {
				margin-right: 3%;
			}
			div.index_menu ul.menu_cont li:nth-of-type(3n) {
				margin-left: 3%;
			}
		div.index_menu ul.menu_cont li a {
			width: 100%;
			height: 8em;
			margin: 0;
			padding: 15% 0 0;
			text-decoration: none;
			color: #333;
			background: #EDEADE;
			border-radius: 110px;
			border: 1px solid #EDEADE;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
		}
			div.index_menu ul.menu_cont li a img {
				width: 50%;
				height: auto;
			}
			div.index_menu ul.menu_cont li a h4 {
				height: 3.6em;
				margin: 0 auto;
				padding: 0;
				font-size: 2.8vw;
				line-height: 160%;
				font-weight: 500;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				display: flex;
				justify-content: center;
				align-items: center;
			}

/* お知らせ */
div.index_info {
	width: 100%;
	margin: 0 auto;
	padding: 15% 4% 20%;
}
	div.index_info h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 6.2vw;
		line-height: 180%;
		font-weight: 500;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	}
	div.index_info div.info_cont {
		width: 100%;
		max-height: 20em;
		margin: 5% auto 0;
		padding: 7% 0;
		font-size: 3.4vw;
		line-height: 180%;
		font-weight: 400;
		text-align: left;
		border-top: 1px solid #DDDDDD;
		border-bottom: 1px solid #DDDDDD;
		overflow-y: auto;
	}
		div.index_info div.info_cont div,
		div.index_info div.info_cont p {
			margin: 0;
			padding: 0;
			font-size: 3.4vw !important;
			font-weight: 400 !important;
		}
	div.index_info ul.pdf_link {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
		div.index_info ul.pdf_link li {
			width: 100%;
			margin: 0;
			padding: 0;
			text-align: left;
			border-bottom: 1px solid #DDDDDD;
		}
			div.index_info ul.pdf_link li a {
				display: block;
				margin: 0;
				padding: 7% 0 7% 17%;
				font-size: 3.0vw;
				line-height: 160%;
				text-decoration: none;
				color: #333;
				position: relative;
			}
				div.index_info ul.pdf_link li a:before {
					position: absolute;
					content: '';
					display: block;
					width: 1.2em;
					height: 1.8em;
					margin: auto;
					padding: 0;
					background: url(../images/icon/pdf_ico_off.png) center / contain no-repeat;
					top: 50%;
					left: 11%;
					transform: translateY(-50%);
					-webkit-transform: translateY(-50%);
				}
