@charset "utf-8";
header{
	width: 100%;
	height: 70px;
	position: absolute;
	z-index: 1;
	transition: all .8s;
	background-color: #fff;
	display: flex;
	align-items: center;
}
.logo{
	width: min(70%,270px);
	padding-left: 15px;
}
/*-----メインー sp -----*/
main{
	height: auto;
}
/*----- 診療時間のお知らせボタン sp -----*/
.fix_time{
	position: fixed;
	bottom: 40px;
	left: 0;
	width: 55px;
	z-index: 1;
	transition: .5s;
	border: 2px solid var(--main-color);
	border-left: none;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	opacity: .8;
	background-color: #fff;
	padding: 20px 0;
	text-align: center;

	img{
		width: 35px;
	}

	a{
		display: block;
		width: 100%;

		&:hover{
			opacity: 1;
		}
	}
}
/*---トップに戻るボタンsp---*/
#page-top {
	position: fixed;
	width: 60px;
	bottom: 15px;
	right: 15px;
	text-align: center;
	line-height: 1.2;
}
#page-top a {
	transition: all .3s;
	width: 60px;
	height: 60px;
	background-color: #246DE5;
	color: #fff;
	font-size: 1.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	/*border: 1px solid #4561E1;*/
	/*transform: rotate(90deg);*/
	font-weight: 900;
	position: relative;
	padding-top: 14px;
	letter-spacing: .08em;
}
#page-top a::after{
	position: absolute;
	content: "";
	left: 25px;
	top: 11px;
	/*ボーダー矢印*/
	display: inline-block;
  	width: 12px;
  	height: 7px;
	background-image: url("../images/common/png_06.png");
	background-size: 12px;
	background-repeat: no-repeat;
  	/*border-top: 3px solid #ffffff;
  	border-right: 3px solid #ffffff;
  	transform: rotate(-45deg);*/
	transition: .3s;
}
#page-top a:hover::after{
	top: 5px;
}
#page-top a:hover {
	opacity: 1;	
}
/*-----フッター sp -----*/
.foot_ban{
	padding: clamp(20px,3vw,43px) 5% clamp(10px,calc(3vw - 10px),33px);
	background-color: #246DE5;
}
.foot_ban li{ 
	background: linear-gradient(0deg, #ffffff 0%, #e9f0fa 50%, #ffffff 50%, #ffffff 100%);
	border-radius: clamp(5px,.8vw,10px);
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
	margin-bottom: 10px;
}
.foot_ban li:hover{ 
	background: #ffffff;	
}
.foot_ban li a{ 
	display: block;
	padding: 14px 15px 14px 55px;
}
.foot_ban li a:hover{ 
	opacity: 1;
}
.foot_ban li::after{ 
	display: inline-block;
	content: "";
	position: absolute;
	background-image: url("../images/common/png_05.png");
	width: 14px;
	height: 14px;
	background-size: 14px;
	top: 20px;
	right: 12px;
	transition: all .3S;
	background-repeat: no-repeat;	
}
.foot_ban li::before{
	display: inline-block;
	content: "";
	position: absolute;
	transition: all .3S;
	background-repeat: no-repeat;
}
.foot_ban_01::before{
	background-image: url("../images/common/png_07.png");
	width: 25px;
	height: 28px;
	background-size: 25px;
	top: 15px;
	left: 13px;
}
.foot_ban_02::before{
	background-image: url("../images/common/png_08.png");
	width: 25px;
	height: 25px;
	background-size: 25px;
	top: 15px;
	left: 17px;
}
.foot_ban_03::before{
	background-image: url("../images/common/png_09.png");
	width: 18px;
	height: 33px;
	background-size: 18px;
	top: 14px;
	left: 19px;
}
.foot_ban_04::before{
	background-image: url("../images/common/png_10.png");
	width: 35px;
	height: 18px;
	background-size: 35px;
	top: 19px;
	left: 10px;
}
/*---フッタinfo sp ----*/
.foot_info{
	width: min(90%,1100px);
	margin: clamp(30px,6vw,100px) auto 0;
	background-color: var(--gray);
	border-radius: var(--px20);
	padding: clamp(25px,3vw,55px) clamp(17px,3.2vw,58px) clamp(35px,4.5vw,75px);

	.foot_info_tx table tr td{
		vertical-align: top;
		padding: 6px 0px;
		line-height: 1.5;
	}
	.foot_info_ti{
		background-color: #333;
		color: #ffffff;
		text-align: center;
		width: 4.5em;
		font-weight: 600;
		border-radius: 50px;
		margin-right: 10px;
	}
	.foot_info_access{
		background-color: #246DE5;
		color: #ffffff;
		font-weight: 600;
		border-radius: 50px;
		position: relative;
		width: 210px;
	}
	.foot_info_access a{
		color: #ffffff;
		padding: 6px 0 6px 50px;
		display: block;
		
	}
	.foot_info_access::before{
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_11.png");
		width: 20px;
		height: 20px;
		background-size: 20px;
		top: 7px;
		left: 20px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.foot_info_access::after{
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_03.png");
		width: 12px;
		height: 12px;
		background-size: 12px;
		top: 12px;
		right: 20px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.foot_info_img{
		padding-top: 15px;
		width: min(100%,600px);
		margin: 0 auto;
	}
}
.foot_nav{
	padding: clamp(50px,7vw,100px) 0 clamp(10px,1.4vw,20px);
	border-bottom: 2px solid #246DE5;	
}
.foot_nav .pc_menu_02{
	padding-top: 2px;
	display: flex;
	flex-wrap: wrap;
}
.foot_nav .pc_menu_02 li{
	margin-left: 20px;
	font-weight: 500;
}
.foot_nav .menu_02_1{
	position: relative;
	padding-right: 18px;
}
.foot_nav .menu_02_1::after {
	display: inline-block;
	content: "";
	position: absolute;
	background-image: url("../images/common/png_05.png");
	width: 13px;
	height: 13px;
	background-size: 13px;
	top: 5px;
	right: 0px;
	transition: all .3S;
	background-repeat: no-repeat;
}
.foot_logo{
	width: min(70%,380px);
	margin: 0 auto;
	padding: clamp(30px,4.5vw,60px) 0 clamp(50px,6.5vw,100px) ;
	text-align: center;
}
.foot_add{
	text-align: center;
}
.foot_tel{
	text-align: center;
	font-weight: 400;
	font-size: 2.3rem;
	margin-top: 7px; 
}
.foot_tel a{
	position: relative;
	padding-left: 28px;
}
.foot_tel a::before{
	display: inline-block;
	content: "";
	position: absolute;
	background-image: url("../images/common/png_01.png");
	width: 22px;
	height: 22px;
	background-size: 22px;
	top: 4px;
	left: 0px;
	transition: all .3S;
	background-repeat: no-repeat;
}
.foot_contact{
	padding-top: 10px;
}
.foot_contact .menu_01_3{
	position: relative;
	background-color: #246DE5;
	padding: 3px 35px 4px 37px; 
	color: #fff;
	border-radius: 50px;
	font-weight: 500;
}
.foot_contact .menu_01_3::before {
	display: inline-block;
	content: "";
	position: absolute;
	background-image: url("../images/common/png_04.png");
	width: 18px;
	height: 13px;
	background-size: 18px;
	top: 8px;
	left: 12px;
	transition: all .3S;
	background-repeat: no-repeat;
}
.foot_contact .menu_01_3::after {
	display: inline-block;
	content: "";
	position: absolute;
	background-image: url("../images/common/png_03.png");
	width: 12px;
	height: 12px;
	background-size: 12px;
	top: 8px;
	right: 10px;
	transition: all .3S;
	background-repeat: no-repeat;
}
.copy{
	text-align: center;
	padding-bottom: clamp(10px,1.2vw,16px);
}

@media (min-width:580px){
.foot_nav .pc_menu_02{
		justify-content: center;
	}
}
@media (min-width:768px){
	/*----- 診療時間のお知らせボタン tab -----*/
	.fix_time{
		bottom: 40px;
		width: 60px;

		img{
			width: 39px;
		}
	}
	header{
		width: 100%;
		height: 90px;
		position: fixed;
		z-index: 10;
		display: block;
		/*background-color: aqua;*/
	}
	.pc_menu{
		width: min(95%,1740px);
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.logo{
		width: 254px;
		padding-top: 18px;
		padding-left: 0;
	}
	.pc_menu_01{
		padding-top: 20px;
		text-align: right;
		display: flex;
		align-items: center;
	}
	.pc_menu_01 li{
		display: inline-block;
		margin-left: 5px;
	}
	.menu_01_1{
		position: relative;
		padding-left: 23px;
		font-size: 1.8rem;
		font-weight: 400;
		letter-spacing: .05em;
	}
	.menu_01_1::before {
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_01.png");
		width: 17px;
		height: 17px;
		background-size: 17px;
		top: 6px;
		left: 0px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.menu_01_2{
		position: relative;
		background-color: #2BAEA3;
		padding: 3px 35px 4px 37px; 
		color: #fff;
		border-radius: 50px;
		font-weight: 500;
	}
	.menu_01_2::before {
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_02.png");
		width: 20px;
		height: 13px;
		background-size: 20px;
		top: 8px;
		left: 10px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.menu_01_2::after, .menu_01_3::after {
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_03.png");
		width: 12px;
		height: 12px;
		background-size: 12px;
		top: 8px;
		right: 10px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.menu_01_3{
		position: relative;
		background-color: #246DE5;
		padding: 3px 35px 4px 37px; 
		color: #fff;
		border-radius: 50px;
		font-weight: 500;
	}
	.menu_01_3::before {
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_04.png");
		width: 18px;
		height: 13px;
		background-size: 18px;
		top: 8px;
		left: 12px;
		transition: all .3S;
		background-repeat: no-repeat;
	}
	.pc_menu_02{
		padding-top: 2px;
		text-align: right;		
	}
	.pc_menu_02 li{
		display: inline-block;
		margin-left: 20px;
		font-weight: 500;
	}
	.menu_02_1{
		position: relative;
		padding-right: 18px;
	}
	.menu_02_1::after {
		display: inline-block;
		content: "";
		position: absolute;
		background-image: url("../images/common/png_05.png");
		width: 13px;
		height: 13px;
		background-size: 13px;
		top: 5px;
		right: 0px;
		transition: all .3S;
		background-repeat: no-repeat;
	}

	/*-----フッター tab -----*/
	.foot_ban{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding-right: 5px;
		padding-left: 5px;
	}
	.foot_ban li{
		width: min(24.2%,260px);
		margin-right: 0.4%;
		margin-left: 0.4%;
	}
	/*---フッタinfo tab ----*/
	.foot_info{
		.foot_info_access{
			width: 250px;
		}
		.foot_info_img{
			padding-top: 25px;
			width: min(100%,800px);
		}
	}
	.foot_tel{
		font-size: 3.5rem;
		margin-top: 5px; 
	}
	.foot_tel a{
		padding-left: 30px;
	}
	.foot_tel a::before{
		top: 12px;
		left: 0px;
	}
	
}
@media (min-width:1024px){
/*--------- pc ---------*/
	#point_01,#point_02,#point_03,#point_04{
		margin-top: -120px;
		padding-top: 120px;
	}	
	/*----- 診療時間のお知らせボタン pc -----*/
	.fix_time{
		top: 150px;
		bottom: auto;
		width: 62px;
	}
	header{
		height: 120px;
	}
	.logo{
		width: 340px;
		padding-top: 22px;
	}
	.pc_menu_01{
		padding-top: 22px;
	}
	.pc_menu_01 li{
		margin-left: 10px;
	}
	.menu_01_1{
		padding-left: 28px;
		font-size: 2.6rem;
	}
	.menu_01_1::before {
		width: 22px;
		height: 22px;
		background-size: 22px;
		top: 10px;
		left: 0px;
	}
	.menu_01_2{
		padding: 3px 40px 4px 55px; 
	}
	.menu_01_2::before {
		width: 30px;
		height: 20px;
		background-size: 30px;
		top: 6px;
		left: 16px;
	}
	.menu_01_2::after, .menu_01_3::after {
		top: 10px;
		right: 11px;
	}
	.menu_01_3{
		padding: 3px 40px 4px 50px;
	}
	.menu_01_3::before {
		width: 25px;
		height: 20px;
		background-size: 25px;
		top: 6px;
		left: 18px;
	}
	.pc_menu_02{
		padding-top: 0px;
	}
	.pc_menu_02 li{
		margin-left: 30px;
		font-size: 1.8rem;
	}
	.menu_02_1{
		padding-right: 22px;
	}
	.menu_02_1::after {
		width: 16px;
		height: 16px;
		background-size: 16px;
		top: 6px;
		right: 0px;
	}

/*---トップに戻るボタンpc---*/
	#page-top {
		width: 90px;
		bottom: 20px;
		right: 20px;
	}
	#page-top a {
		width: 90px;
		height: 90px;
		font-size: 1.8rem;
		padding-top: 22px;
	}
	#page-top a::after{
		left: 38px;
		top: 17px;
		width: 15px;
		height: 9px;
		background-size: 15px;
	}
	#page-top a:hover::after{
		top: 8px;
	}
	/*-----フッター pc -----*/
	.foot_ban li{ 
		font-size: 2.0rem;
	}
	.foot_ban li a{ 
		padding: 26px 15px 26px 84px;
	}
	.foot_ban li::after{ 
		top: 35px;
		right: 10px;
	}
	.foot_ban_01::before{
		width: 45px;
		height: 50px;
		background-size: 45px;
		top: 18px;
		left: 18px;
	}
	.foot_ban_02::before{
		width: 45px;
		height: 45px;
		background-size: 45px;
		top: 20px;
		left: 20px;
	}
	.foot_ban_03::before{
		width: 32px;
		height: 58px;
		background-size: 32px;
		top: 17px;
		left: 26px;
	}
	.foot_ban_04::before{
		width: 62px;
		height: 33px;
		background-size: 62px;
		top: 27px;
		left: 10px;
	}
	/*---フッタinfo pc ----*/
	.foot_info{
		display: flex;
		justify-content: space-between;
		align-items: center;
	
		.foot_info_ti{
			width: 5em;
			margin-right: 22px;
		}
		.foot_info_tx{
			width: 40%;
		}
		.foot_info_img{
			width: 58%;
			padding-top: 0;
		}
	}
	.foot_nav .menu_02_1{
		padding-right: 30px;
	}
	.foot_nav .menu_02_1::after {
		width: 16px;
		height: 16px;
		background-size: 16px;
		top: 6px;
		right: 8px;
	}
	.foot_tel{
		font-size: 4.2rem;
		margin-top: 3px; 
	}
	.foot_tel a{
		padding-left: 32px;
	}
	.foot_tel a::before{
		top: 16px;
		left: 0px;
	}
	.foot_contact .menu_01_3::after {
		top: 11px;
		right: 11px;
	}
	.foot_contact .menu_01_3{
		padding: 3px 40px 4px 50px;
	}
	.foot_contact .menu_01_3::before {
		width: 25px;
		height: 20px;
		background-size: 25px;
		top: 7px;
		left: 18px;
	}
}
@media (min-width:1280px){
	/*----- 診療時間のお知らせボタン 1280 -----*/
	.fix_time{
		top: 200px;
		width: 72px;
	}
	.logo{
		width: 380px;
		padding-top: 15px;
	}
	.pc_menu_01{
		padding-top: 20px;
	}
	.menu_01_1{
		font-size: 3.0rem;
	}
	.menu_01_1::before {
		top: 14px;
		left: 0px;
	}
	.menu_01_2{
		padding: 3px 45px 4px 58px; 
		font-size: 1.8rem;
	}
	.menu_01_2::before {
		top: 7px;
		left: 18px;
	}
	.menu_01_2::after, .menu_01_3::after {
		top: 11px;
		right: 12px;
	}
	.menu_01_3{
		padding: 3px 40px 4px 55px;
		font-size: 1.8rem;
	}
	.menu_01_3::before {
		top: 7px;
		left: 22px;
	}
	.pc_menu_02{
		padding-top: 0px;
	}
	.pc_menu_02 li{
		font-size: 2.1rem;
	}
	.menu_02_1{
		padding-right: 24px;
	}
	.menu_02_1::after {
		top: 8px;
		right: 0px;
	}
/*-----フッター 1280 -----*/
	.foot_ban li{ 
		font-size: 2.4rem;
	}
	.foot_ban li a{ 
		padding: 24px 15px 24px 84px;
	}
	.foot_ban li::after{ 
		top: 36px;
	}
	.foot_ban_01::before{
		top: 19px;
		left: 18px;
	}
	.foot_ban_02::before{
		top: 22px;
		left: 20px;
	}
	.foot_ban_03::before{
		top: 19px;
		left: 26px;
	}
	.foot_ban_04::before{
		top: 29px;
		left: 10px;
	}
	.foot_nav .menu_02_1::after {
		top: 9px;
		right: 7px;
	}
}


@media (min-width:1480px){
	/*----- 診療時間のお知らせボタン 1480 -----*/
	.fix_time{
		top: 340px;
		width: 82px;
	}
}

@media (min-width:1680px){
	/*----- 診療時間のお知らせボタン 1480 -----*/
	.fix_time{
		width: 120px;
	}
}