@charset "UTF-8";

/*access
---------------------------------------------------------*/
#access .map{
	position: relative;
	z-index: 3;
}
#access .map iframe{
	display: block;
	width: 100%;
	height:min(600px,50vw);
}
#access .map .com_link1{
	margin-top: 30px;
}
#access .info{
	position: relative;
	z-index: 2;
}
#access .info .txt{
	max-width: 560px;
	width: 53%;
	margin: 0 0 0 auto;
}
#access .info .txt .clinic dt{
	font-size: min(265%,4.2vw);
	letter-spacing: .05em;
	line-height: 1em;
	margin-bottom: 0.6em;
}
#access .info .txt .clinic dd{
	font-size: 95%;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
#access .info .txt .access_list{
	font-size: min(130%,2.2vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
}
#access .info .txt .access_list li{
	display: flex;
	align-items: center;
	padding: 1.2em 0;
	border-top: 1px solid #a3a3a3;
}
#access .info .txt .access_list li:first-child{
	border-top: none;
	padding-top: 0;
}
#access .info .txt .access_list li:last-child{
	padding-bottom: 0;
}
#access .info .txt .access_list li div{
	max-width: 80px;
	width: 3.64em;
	margin-right: 1em;
}
#access .info .txt .access_list li p strong{
	font-size: 145%;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0 0.1em;
	transform: translateY(0.05em);
	display: inline-block;
}
#access .info .txt .access_list li p span{
	padding-left: 0.15em;
}
#access .info .abs_img{
	position: absolute;
	display: block;
	max-width: 786px;
	width: 52.4vw;
	left: 0;
	top:0;
	transform: translate(-29%,-38%);
	z-index: -1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#access .map .com_link1{
	margin-top: 15px;
}
#access .info .abs_img{
	transform: translate(-26%,-38%);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#access .map iframe{
	height:100vw;
}
#access .map .com_link1{
	margin-top: 1em
}

#access .info .txt{
	max-width: 100%;
	width: 100%;
	margin: 65vw 0 0 auto;
}
#access .info .txt .clinic{
	text-align: center;
}
#access .info .txt .clinic dt{
	font-size:210%;
	letter-spacing: .05em;
	margin-bottom: 0.5em;
}
#access .info .txt .clinic dd{
	font-size: 100%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
}
#access .info .txt .access_list{
	font-size: 115%;
	letter-spacing: 0.1em;
}
#access .info .txt .access_list li{
	padding: 1em 0;
}
#access .info .abs_img{
	width: 100vw;
	left: 0;
	top:0;
	transform: translate(-13%,-90%);
	z-index: -1;
}
}



/*slide_box
---------------------------------------------------------*/
.slide_box{
	position: relative;
	z-index: 1;
}
.slide_box::before{
	position: absolute;
	content: "";
	background: #f8f7f0;
	width: 100%;
	height: 210px;
	left: 0;
	bottom: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.slide_box::before{
	position: absolute;
	content: "";
	background: #f8f7f0;
	width: 100%;
	height: 16vw;
	left: 0;
	bottom: 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.slide_box::before{
	position: absolute;
	content: "";
	background: #f8f7f0;
	width: 100%;
	height: 22vw;
	left: 0;
	bottom: 0;
}
}



/*schedule
---------------------------------------------------------*/
#schedule .schedule_bg{
	background: #f8f7f0;
}
#schedule .schedule_bg .w1200{
	position: relative;
	padding: 210px 0 120px;
}
#schedule .schedule_bg .w1200::before{
	position: absolute;
	content: "";
	background: url("../images/access/schedule_abs@2x.png") no-repeat left top;
	background-size: 100% 100%;
	width: 136px;
	height: 136px;
	left: 0;
	top:0;
	transform: translate(-26%,45%);
}
#schedule .flt_box .flt_l,
#schedule .flt_box .flt_r{
	max-width: 560px;
	width: 48.5%;
}
#schedule .schedule_tit{
	margin-bottom: 65px;
	font-size: min(100%,1.4vw);
}
#schedule .schedule_tit p{
	font-size: 410%;
	letter-spacing: .3em;
	line-height: 1.2em;
}
#schedule .schedule_tit h2{
	font-size: 147%;
	letter-spacing: .15em;
	line-height: 1.5em;
	margin-top: .6em;
}
#schedule .com_timetable .time_bg {
	font-size: min(130%,1.9vw);
	border-color: #a3a3a3; 
}
#schedule .com_timetable .icon-hyphen{
	color: #000000;
}
#schedule .contact_box{
	background: #f1eee0;
	padding: 60px 4% 65px;
}
#schedule .contact_box .contact_txt{
	font-size: min(153%,2.7vw);
	letter-spacing: 0.15em;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 1.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#schedule .schedule_bg .w1200{
	padding: 18% 0 10%;
}
#schedule .schedule_bg .w1200::before{
	width: 14vw;
	height: 14vw;
	transform: translate(-26%,28%);
}
#schedule .schedule_tit{
	font-size: min(100%,1.6vw);
	margin-bottom: 5vw;
}
#schedule .schedule_tit p{
	letter-spacing: .2em;
}
#schedule .schedule_tit h2{
 	letter-spacing: .1em;
    margin-top: .4em;
}
#schedule .contact_box{
	background: #f1eee0;
	padding: 5% 4% 5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#schedule .schedule_bg .w1200{
	padding: 22% 0 13%;
}
#schedule .schedule_bg .w1200::before{
	width: 17vw;
	height: 17vw;
	transform: translate(-26%,26%);
}
#schedule .flt_box .flt_l,
#schedule .flt_box .flt_r{
	max-width: 100%;
	width: 100%;
	float: none;
}
#schedule .flt_box .flt_l{
	margin-bottom: 8%;
}
#schedule .schedule_tit{
	font-size: 100%;
	margin-bottom: 8vw;
}
#schedule .schedule_tit p{
	font-size: 250%;
	letter-spacing: .2em;
}
#schedule .schedule_tit h2{
	font-size: 90%;
    letter-spacing: .1em;
    margin-top: .4em;
}
#schedule .com_timetable .time_bg {
  font-size: 100%;
}
#schedule .contact_box{
	padding: 6% 5% 7%;
}
#schedule .contact_box .contact_txt{
	font-size: 130%;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	text-align: center;
	margin-bottom: 1em;
}
}