@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);


/*------------------------------------------------------------------*/

/*--------------mv--------------*/
#mv{
	background: url("/images/index/mv_img.jpg") no-repeat center / cover;
	height: 65vh;
	max-height: 650px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: 1px solid #e5e5e5;
}
#mv .wrapper{
	display: flex;
	align-items: center;
	justify-content: center;
}
#mv .mv-catch{
	max-width: 765px;
}

@media screen and (max-width: 900px){
	#mv {
		height: 60vh;
		max-height: 460px;
	}
	#mv .mv-catch {
		margin-left: 5%;
		width: 60%;
	}
}
@media screen and (max-width: 600px){
	#mv .mv-catch {
		width: 75%;
	}
}
@media screen and (max-width: 480px){
	#mv .mv-catch {
		width: 96%;
	}
}

/*--------------schedule--------------*/

#schedule {
	position: relative;
	max-width: 500px;
	margin: -140px 5% 0 auto;
	background: url("/images/index/clock.png") no-repeat right -2% bottom -140% var(--color-secondary);
	border-radius: 5px;
	color: #fff;
	padding: 10px 20px;
}
#schedule table{
	width: 100%;
	font-size: 1.5rem;
}
#schedule table thead th:last-of-type{
	letter-spacing: -0.4rem;
}
#schedule table tbody tr{
	border-top: 1px solid rgba(255, 255, 255, 0.75);
}
#schedule dl{
	font-size: 1.4rem;
	margin-top: 5px;
}
#schedule dl dt,
#schedule dl dd{
	display: inline-block;
}
#schedule dl dt{
	margin-right: 32px;
}
@media screen and (max-width: 900px){
	#schedule {
		width: 94%;
		max-width: 500px;
		margin: -60px auto 0;
		transform: none;
		padding: 8px 12px;
	}
	table th,
	table td {
		padding: 5px 6px!important;
	}
	#schedule dl dt {
		margin-right: 14px;
	}
}

/*--------------top-nav--------------*/
#top-nav{
	padding: 80px 0;
}
#top-nav ul{
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
}
#top-nav ul li{
	flex-grow: 1;
	display: flex;
	justify-content: center;
	padding: 50px 20px 0;
	position: relative;
	width: 145px;
}
#top-nav ul li:nth-of-type(1){
	background: url("/images/index/top.png") no-repeat top center/47px;
}
#top-nav ul li:nth-of-type(2){
	background: url("/images/index/treatment.png") no-repeat top center/26px;
}
#top-nav ul li:nth-of-type(3){
	background: url("/images/index/reserve.png") no-repeat top center/40px;
}
#top-nav ul li:nth-of-type(4){
	background: url("/images/index/clinic.png") no-repeat top center/53px;
}
#top-nav ul li:nth-of-type(5){
	background: url("/images/index/doctor.png") no-repeat top center/44px;
}
#top-nav ul li:nth-of-type(6){
	background: url("/images/index/time.png") no-repeat top center/51px;
}
#top-nav ul li:before,
#top-nav ul li:last-child:after{
	content: "";
	display: block;
	width: 1px;
	height: 74px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	pointer-events: none;
	background: #554444;
	opacity: 0.15;
}
#top-nav ul li:last-child:after{
	left: auto;
	right: 0;
}
#top-nav ul li a{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px;
	color: #5f5757;
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
}
@media screen and (max-width: 909px){
	#top-nav ul li:before,
	#top-nav ul li:last-child:after{
		display: none;
	}
	#top-nav ul li{
		padding: 64px 10px 15px;
		width: 33.3%;
		font-size: 1.5rem;
		border: 1px solid rgba(85, 68, 68, 0.23);
		border-radius: 5px;
		margin-bottom: 8px;
		background-position: top 20px center!important;
	}
	#top-nav ul li:nth-of-type(2n+1){
		margin-right: 8px;
	}
	#top-nav ul li a{
		line-height: 1.3;
	}
}

/*--------------notice--------------*/
#notice{
	text-align: center;
	padding-top: 0;
}
#notice h2 + p{
	font-size: 2.2rem;
	color: var(--color-secondary);
	margin-bottom: 5px;
}
#notice div{
	width: 100%;
	overflow: auto;
}
#notice .notice-table{
	margin: 15px auto 0;
	font-weight: normal;
	min-width: 730px;
}
#notice .notice-table th,
#notice .notice-table td{
	padding: 10px 20px;
}
#notice .notice-table thead tr{
	background: var(--color-orange);
	color: #fff;
}
#notice .notice-table thead tr th{
	line-height: 1.2;
}
#notice .notice-table tbody tr{
	border-bottom: 1px solid #d2d2d2;
}
#notice .notice-table tbody th,
#notice .notice-table tbody td{
	padding: 14px 20px 12px;
}
#notice .notice-table tbody td:not(:first-of-type):not(:last-of-type){
	background: #fcf0f0;
	color: #f23838;
}
@media screen and (max-width: 900px){
	#notice h2 + p{
		font-size: 1.9rem;
	}
}
@media screen and (max-width: 480px){
	#notice .notice-table{
		min-width: 580px;
	}
	#notice .notice-table th,
	#notice .notice-table td{
		padding: 10px 12px;
	}
	#notice .notice-table tbody th,
	#notice .notice-table tbody td {
		padding: 10px 8px 7px;
	}
}

/*--------------message--------------*/
#message .flex{
	align-items: flex-start;
}
#message figure,
#message .flex > div{
	width: 50%;
}
#message .flex > div{
	padding-left: 20px;
}
#message h2{
	text-align: left;
}
#message h2:before,
#message h2:after{
	display: none;
}
#message h2 span{
	color: var(--color-secondary);
}
#message .btn{
	margin-top: 20px;
}
#message figure{
	position: relative;
}
#message figure:before{
	content: "";
	display: block;
	width: 60vw;
	height: 100%;
	max-width: 800px;
	position: absolute;
	bottom: -20%;
	left: 20%;
	pointer-events: none;
	background: var(--color-secondary);
	opacity: 0.14;
	z-index: -1;
}
#message figure:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: -25%;
	left: -10px;
	pointer-events: none;
	background: url("/images/index/greeting.png") no-repeat bottom left/272px;
}
@media screen and (max-width: 980px){
	#message .btn a{
		min-width: 150px!important;
	}
	#message .btn a:nth-of-type(n+2) {
		margin-left: 10px!important;
	}
}
@media screen and (max-width: 900px){
	#message figure,
	#message .flex > div {
		width: 100%;
	}
	#message .flex > div {
		padding: 0;
	}
	#message figure:before{
		display: none;
	}
	#message figure:after{
		bottom: -8%;
		left: -8px;
	}
	#message figure:after{
		background-size: 180px;
	}
	#message h2 {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 800px){
	#message h2 {
		font-size: 2.6rem;
		padding: 40px 0 10px;
	}
}
@media screen and (max-width: 480px){
	#message figure:after {
		background-size: 140px;
	}
	#message h2 {
		font-size: 2rem;
		padding: 40px 0 12px;
	}
}

/*--------------service--------------*/
#service{
	background: #f3f3f3;
	padding-top: 0;
}
#service .title{
	background: #a4cb50;
	padding: 50px 0 100px;
}
#service .title h2{
	color: #fff;
}
#service .title h2:before{
	background: url("/images/cmn/h1_w.png") no-repeat bottom center/68px;
}
#service .title h2:after{
	background: url("/images/index/h1_2.png") no-repeat top center/53px;
}
#service .list-item{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	width: calc(33.33% - 20px);
	background: #fff;
	padding: 20px;
}
#service .list-item:nth-of-type(n+2){
	margin-left: 20px;
}
#service .list-item:before{
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: transparent;
	border-top: 16px solid transparent;
	border-right: 16px solid var(--color-secondary);
}
#service .list-item .list-img{
	text-align: center;
	margin-bottom: 25px;
}
#service .list-item span{
	font-size: var(--font-xsmall);
}
#service .list-item div{
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	margin-top: 20px;
	flex: 1;
}
#service .list-item div a{
	display: inline-block;
	position: relative;
	width: 100%;
	color: var(--color-body);
	font-weight: bold;
}

#service .list-item .check-thyroid li{
	position: relative;
	padding-left: 15px;
}
#service .list-item .check-thyroid li:before{
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--color-secondary);
}
#service .wrapper-co4{
	max-width: 1300px;
	margin: -65px auto 30px;
	padding: 0 20px;
}
#service .wrapper-co4 .list-item{
	width: calc(25% - 20px);
}
#service .wrapper-co4 .list-item .list-img{
	position: relative;
	top: -10%;
}
#service .wrapper-co4 .list-item:nth-of-type(1) .list-img img{
	width: 194px;
}
#service .wrapper-co4 .list-item:nth-of-type(2) .list-img img,
#service .wrapper-co4 .list-item:nth-of-type(3) .list-img img{
	width: 122px;
}
#service .wrapper-co4 .list-item:nth-of-type(4) .list-img img{
	width: 203px;
}
#service .wrapper-co4 .list-item h3{
	padding: 0;
	margin-bottom: 0;
	border: none;
}
#service .wrapper-co4 .list-item ul{
	padding-bottom: 20px;
	margin-top: -10px;
}
#service .wrapper-co4 .list-item li{
	position: relative;
	padding: 4px 0 0 30px;
	border-bottom: 1px dotted #c9c9c9;
}
#service .wrapper-co4 .list-item li:before{
	content: "";
	display: block;
	width: 11px;
	height: 10px;
	position: absolute;
	top: calc(50% - 2px);
	left: 0;
	pointer-events: none;
	background: url("/images/index/check.png") no-repeat center/11px;
}
#service .wrapper .list-item:nth-of-type(1) .list-img img{
	width: 245px;
}
#service .wrapper .list-item:nth-of-type(2) .list-img img{
	width: 203px;
}
#service .wrapper .list-item:nth-of-type(3) .list-img img{
	width: 149px;
}
@media screen and (max-width: 900px){
	#service .flex{
		flex-direction: row!important;
	}
	#service .wrapper-co4 .list-item,
	#service .list-item{
		width: calc(50% - 10px);
		margin-bottom: 30px;
	}
	#service .list-item:nth-of-type(2n+1){
		margin-right: 10px;
	}
	#service .list-item:nth-of-type(n+2) {
		margin-left: 0;
	}
	#service .wrapper-co4{
		margin-bottom: 0;
	}
}
@media screen and (max-width: 600px){
	#service .wrapper-co4 .list-item,
	#service .list-item{
		width: 100%;
		margin-bottom: 10px;
	}
	#service .list-item:nth-of-type(2n+1){
		margin-right: 0;
	}
	#service .list-item:nth-of-type(n+2){
		margin-top: 30px;
	}
	#service .wrapper-co4 {
		margin-bottom: 30px;
	}
}

/*--------------news--------------*/
#news .flex > div{
	width: 48%;
}
#news .flex > div:last-child{
	margin-left: 2%;
}
#news h2{
	text-align: left;
	font-size: 1.6rem;
	color: var(--color-secondary);
	padding: 0;
}
#news h2:before,
#news h2:after{
	display: none;
}
#news h2 span{
	font-size: 4.5rem;
	padding-right: 20px;
	font-family: 'Josefin Sans', sans-serif;
}
#news dl a{
	display: flex;
	color: var(--color-body);
	border-bottom: 1px dotted #d2d2d2;
	padding: 10px;
	line-height: 1.2;
}
#news dl a dt{
	position: relative;
	padding-left: 20px;
	margin-right: 20px;
}
#news dl a dt:before,
#news .news-btn a:before{
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	left: 0;
	width: 5px;
	height: 5px;
	border-top: 2px solid var(--color-orange);
	border-right: 2px solid var(--color-orange);
	transform: translateY(-50%) rotate(45deg);
}
#news .news-btn{
	text-align: right;
}
#news .news-btn a{
	position: relative;
	display: inline-block;
	padding: 10px 0 0 20px;
	color: var(--color-body);
}
#news .news-btn a:before{
	top: calc(50% + 4px);
	border-top: 2px solid var(--color-secondary);
	border-right: 2px solid var(--color-secondary);
}
@media screen and (max-width: 900px){
	#news .flex > div{
		width: 100%;
	}
	#news .flex > div:last-child {
		margin-top: 30px;
		margin-left: 0;
	}
}
@media screen and (max-width: 600px){
	#news h2 span{
		font-size: 3.8rem;
	}	
}

/*--------------banner--------------*/
#banner{
	padding-bottom: 80px;
}
#banner .wrapper div{
	text-align: center;
	max-width: 713px;
	margin: 0 auto;
}

/*--------------contact--------------*/
#contact{
	background: #a4cb50;
	padding: 60px 0 45px;
}
#contact .flex > div{
	width: 48%;
	background: #fff;
	border-radius: 10px;
	position: relative;
	padding: 30px 25px 50px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#contact .flex > div:before,
#contact .flex > div:after{
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
#contact .flex > div:before{
	bottom: 0;
	left: 0;
	width: 100%;
	height: 32px;
	background: url("/images/index/grass.png") repeat-x bottom left/320px;
}
#contact .flex > div > p{
	font-size: 2.2rem;
	letter-spacing: 0.2rem;
	line-height: 1.5;
}
#contact .flex > div > p span{
	color: #f1614a;
}
#contact .top-tel:after{
	top: -25%;
	left: -8%;
	width: 125px;
	height: 128px;
	background: url("/images/index/bird.png") no-repeat center/125px;
}
#contact .top-tel p:nth-of-type(2) a{
	position: relative;
	font-size: 3.7rem;
	color: var(--color-secondary);
	padding: 7px 6px 5px 30px;
	border-bottom: 2px dotted var(--color-secondary);
	display: inline-block;
	margin-top: 2px;
	font-family: 'Josefin Sans', sans-serif;
}
#contact .top-tel p:nth-of-type(2) a img{
	position: absolute;
	width: 24px;
	height: auto;
	top: 1.9rem;
	left: 0;
}
#contact .top-web:after{
	bottom: -5%;
	right: -12%;
	width: 119px;
	height: 79px;
	background: url("/images/index/stump.png") no-repeat bottom right/119px;
}
#contact .top-web > p{
	position: relative;
	padding: 22px 0 15px;
}
#contact .top-web > p:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	background: url("/images/index/OK.png") no-repeat top center/107px;
}
#contact .top-web dl{
	padding: 6px 0 6px;
	border-bottom: 1px dotted #c9c9c9;
	display: flex;
	align-items: center;
}
#contact .top-web dt,
#contact .top-web dd,
#contact .top-web dt p{
	display: inline-block;
	line-height: 1.2;
}
#contact .top-web dt{
	width: 105px;
}
#contact .top-web dt p{
	background: var(--color-orange);
	padding: 7px 10px 4px;
	color: #fff;
	margin-right: 10px;
}
#contact .top-web dd{
	flex: 1;
	text-align: left;
}
#contact .btn{
	margin-top: 15px;
}
@media screen and (max-width: 900px){
	#contact .flex > div{
		width: 100%;
		padding: 40px 25px 60px;
	}
	#contact .top-tel:after,
	#contact .top-web:after{
		background-size: 80px;
	}
	#contact .top-tel:after{
		top: -20%;
		left: -5%;
	}
	#contact .top-web{
		margin-top: 30px;
	}
	#contact .top-web:after{
		bottom: -2%;
		right: -2%;
	}
}
@media screen and (max-width: 600px){
	#contact .top-tel:after{
		top: -24%;
		left: -8%;
	}
	#contact .top-tel p:nth-of-type(2) a{
		font-size: 3rem;
		padding: 5px 5px 5px 27px;
	}
	#contact .top-tel p:nth-of-type(2) a img {
		width: 20px;
		top: 1.4rem;
	}
	#contact .top-web dl {
		padding: 8px 0 8px;
	}
	#contact .btn {
		margin-top: 20px;
	}
}