@charset "UTF-8";

/* sec2
---------------------------------------------------------*/
#sec2{
	padding-bottom: 120px;
}
#sec2 iframe{
	display: block;
}
#sec2 .btn{
	text-align: right;
	position: relative;
	z-index: 2;
}
#sec2 .btn a{
	display: block;
	width: 15%;
	max-width: 130px;
	margin-top: -80px;
	aspect-ratio: 1 / 1;
	background: #f76f00;
	border-radius: 50%;
	margin-left: auto;
	margin-right: 50px;
	transition: 0.4s;
}
#sec2 .btn a:hover{
	background: #f99a4c;
	transition: 0.4s;
}
#sec2 .clinic{
	text-align: center;
	margin: 25px auto 70px;
}
#sec2 .clinic .name{
	font-size: min(160%,2.6vw);
	line-height: 1em;
	margin-bottom:1.3em;
}
#sec2 .clinic .name span{
	font-size:190%;
	padding-left: .3em;
	vertical-align: bottom;
}
#sec2 .clinic address,
#sec2 .clinic .sp_tel_btn{
	font-size:105%;
	display: inline-block;
}
#sec2 .clinic .sp_tel_btn{
	margin-left: 1em;
}
#sec2 .clinic .com_access{
	margin-top: 50px;
}

#sec2 .map{
	width: 65%;
	margin: 0 auto 40px;
}
#sec2 .car{
	width: 90%;
	max-width: 736px;
	margin: 0 auto 80px;
}
#sec2 .car li{
	width: 48%;
}
#sec2 .car li dl{
	display: flex;
    justify-content: space-between;
    align-items: center;
	font-size:115%;
	line-height: 1.6em;
	margin-top: .6em;
	height: 3em;
}
#sec2 .car li dl dt{
	width: 3em;
}
#sec2 .car li dl dd{
	width: calc(100% - 4.2em);
}

.com_serifbox .abs{
	margin: 0 auto 8px;
}
.com_serifbox .txt{
	margin: 0 auto 35px;
}
.com_serifbox ul{
	max-width: 740px;
	margin: 0 auto;
}
.com_serifbox ul li{
	position: relative;
	width: 48%;
}
.com_serifbox ul li .sub{
	position: absolute;
	bottom: -30px;
	left: 0;
	width:45%;
	max-width: 153px;
	aspect-ratio: 153 / 145;
}
.com_serifbox ul li p{
	text-align: right;
	margin-top: .3em;
}
.ac_slider{
	margin-bottom: 120px;
}
.ac_slider .swiper-slide{
	width: 40vw;
	max-width: 570px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec2{
	padding-bottom: 10%;
}
#sec2 iframe{
	height: 50vw;
}
#sec2 .btn a{
	margin-top: -8vw;
	margin-right: 4%;
}
#sec2 .clinic{
	margin: 1% auto 5%;
}
#sec2 .clinic .name{
	margin-bottom: 1em;
}
#sec2 .clinic .com_access{
	margin-top:3%;
}
#sec2 .map{
	margin-bottom: 4%;
}
#sec2 .car{
	max-width: 736px;
	margin: 0 auto 8%;
}
#sec2 .car li{
	width: 48%;
}
#sec2 .car li dl{
	margin-top: .8em;
}

.com_serifbox .abs{
	width: 23vw;
	margin: 0 auto 1vw;
}
.com_serifbox .txt{
	margin: 0 auto 4%;
}
.com_serifbox ul li .sub{
	bottom: -3vw;
	left: -2%;
}
.ac_slider{
	margin-bottom: 10%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec2{
	padding-bottom: 10%;
}
#sec2 iframe{
	height: 60vw;
}
#sec2 .btn a{
	width: 25%;
	margin-top: -15vw;
	margin-right: -2%;
}
#sec2 .clinic{
	margin: 4% auto 8%;
}
#sec2 .clinic .name{
	font-size: 100%;
	margin-bottom:1.2em;
}
#sec2 .clinic address,
#sec2 .clinic .sp_tel_btn{
	font-size:100%;
	display: block;
}
#sec2 .clinic .sp_tel_btn{
	display: block;
	position: relative;
	margin-left: 0;
	height: 1.5em;
	width: 10em;
	margin: 0 auto;
}
#sec2 .clinic .sp_tel_btn::after{
	position: absolute;
	display: block;
	content: "";
	background: #000;
	background-size: 100% auto;
	width: 100%;
	height: 1px;
	top: 100%;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#sec2 .clinic .com_access{
	margin-top: 8%;
}

#sec2 .map{
	width: 90%;
	margin: 0 auto 5%;
}
#sec2 .car{
	flex-wrap: wrap;
	flex-direction: column-reverse;
	width: 100%;
	margin: 0 auto 8%;
}
#sec2 .car li{
	display: block;
	width: 70%;
	max-width: 100%;
	margin: 0 auto 6%;
}
#sec2 .car li dl{
	font-size:100%;
	line-height: 1.4em;
	margin-top: .6em;
	height: auto;
}
#sec2 .car li dl dt{
	width: 2.5em;
}
#sec2 .car li dl dd{
	width: calc(100% - 3.5em);
}

.com_serifbox .abs{
	width: 40vw;
	margin: 0 auto 2vw;
}
.com_serifbox .txt{
	text-align: left;
	margin: 0 auto 5%;
}
.com_serifbox ul{
	display: block;
}
.com_serifbox ul li{
	width: 70%;
	margin: 0 auto 12%;
}
.com_serifbox ul li:last-child{
	margin-bottom: 0;
}
.com_serifbox ul li .sub{
	bottom: -5vw;
	width: 50%;
	left: -25%;
}
.com_serifbox ul li p{
	margin-top: .2em;
}
.ac_slider{
	margin-bottom: 10%;
}
}




/* sec3
---------------------------------------------------------*/
#sec3{
	margin-bottom: 100px;
}
#sec3 .time{
	width: 70%;
	max-width: 840px;
	margin: 0 auto;
}
#sec3 .time dt{
	border-top:1px solid #999999;
	border-bottom:1px solid #999999;
	padding: 55px 0;
}
#sec3 .time dd{
	font-size: min(130%,2.5vw);
	line-height: 1.4em;
	margin-top: 1em;
}
#sec3 .time dd.ft_got{
	margin-top: .6em;
}
#sec3 .com_btn1.type3{
	margin-top: 65px;
}

#sec3 .hoken{
	margin: 45px auto 0;
	text-align: center;
}
#sec3 .hoken .abs{
	width: 4.5em;
	margin: 0 auto 1em;
}
#sec3 .hoken .com_btn1{
	margin-top: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#sec3{
	margin-bottom: 8%;
}
#sec3 .time dt{
	padding: 5vw 0;
}
#sec3 .time dd{
	margin-top: .8em;
}
#sec3 .com_btn1.type3{
	margin-top: 5%;
}

#sec3 .hoken{
	margin: 5% auto 0;
}
#sec3 .hoken .abs{
	width: 3.2em;
	margin: 0 auto .8em;
}
#sec3 .hoken .com_btn1{
	margin-top: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec3{
	margin-bottom: 10%;
}
#sec3 .time{
	width: 100%;
	text-align: center;
}
#sec3 .time dt{
	padding: 5vw 0;
}
#sec3 .time dd{
	text-align: left;
	font-size: 95%;
	margin-top: .8em;
}
#sec3 .com_btn1.type3{
	margin-top: 8%;
}
	
#sec3 .hoken{
	margin:8% auto 0;
}
#sec3 .hoken .abs{
	width: 12vw;
	margin: 0 auto .6em;
}
#sec3 .hoken p{
	text-align: left;
}
#sec3 .hoken .com_btn1{
	margin-top: 1.2em;
}
}