@charset "UTF-8";

.contentpage .m_img_area .m_img {background-image: url("../images/access/m_img@2x.jpg");}



/*accessmap
---------------------------------------------------------*/
#accessmap .bg {
	background: var(--color_bg_org);
	position: relative;
}
#accessmap .circle_top {
	position: absolute;
	z-index: 0;
	left: 0;
	top: -1px;
	background: #fff;
	padding-top: min(360px,24vw)
}
#accessmap .w1300 {
	position: relative;
	z-index: 1;
}
#accessmap .map_box {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#accessmap .map_box iframe {
	width: 100%;
	height: 40vw;
	max-height: 490px;
}

#accessmap .clinic_info {
	color: #fff;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	flex-direction: row-reverse;
}
#accessmap .clinic_info .box_r {
	width: 50%;
	max-width: 610px;
}
#accessmap .clinic_info .box_l {
	width: 47%;
	max-width: 600px;
}
#accessmap .clinic_info .memo {
	font-size: min(125%,1.8vw);
	letter-spacing: .22em;
	line-height: 1.2em;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	column-gap: .8em;
}
#accessmap .clinic_info .memo li {
	border-radius: 3.0em;
	border: solid 1px #fff;
	padding: .3em 1.2em;
}
#accessmap .clinic_info .clinic_name {
	font-size: min(250%, 3.4vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	white-space: nowrap;
	margin: .4em 0 1.0em;
}
#accessmap .clinic_info address {
	letter-spacing: .06em;
	line-height: 1.8em;
}

#accessmap .access_list {
	margin-top: 50px;
	font-size: min(105%,1.6vw);
	letter-spacing: .08em;
	line-height: 1.4em;	
	font-feature-settings: "halt";
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	column-gap: min(3vw,60px);
	row-gap: 1.0em;
}
#accessmap .access_list li {
	display: flex;
    justify-content: center;
    align-items: center;
}
#accessmap .access_list .icon {
	width: 6vw;
	max-width: 70px;
	flex-shrink: 0;
	margin-right: min(20px,1vw);
}
#accessmap .access_list dl,
#accessmap .access_list p {
	flex-shrink: 0;
}
#accessmap .access_list .acce_style1 > dt {
	text-align: center;
	background: #CC7D4B;
	padding: .2em 0;
	border-radius: 3.0em;
	margin-bottom: 1.0em;
}
#accessmap .access_list .acce_style1 > dd {
	padding: 0 1.5em;
	display: flex;
    justify-content: space-between;
}
#accessmap .access_list .acce_style1 > dd dl:first-child {
	padding-right: 1.5em;
	border-right: solid 1px #fff;
	margin-right: 1.5em;
}
#accessmap .access_list .acce_style2 dt {
	font-weight: bold;
}
#accessmap .acce_txt {
	text-align: center;
	color: #fff;
	font-size: 125%;
	letter-spacing: .14em;
	line-height: 2.0em;
}

#accessmap .root_box h3 {
	text-align: center;
	color: #fff;
	line-height: 1.6em;
	padding-bottom: .8em;
	border-bottom: solid 1px #fff;
	position: relative;
	margin-bottom: 60px;
}
#accessmap .root_box h3::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -5px;
	border-bottom: solid 1px #fff;
}
#accessmap .root_box .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#accessmap .root_box .flex_box > div {
	width: 48%;
	max-width: 614px;
}
#accessmap .root_box h4 {
	background: #CC7D4B;
	text-align: center;
	color: #fff;
	font-size: min(145%,2.2vw);
	font-weight: bold;
	letter-spacing: .16em;
	line-height: 1.4em;
	padding: .8em 1.5em;
	border-radius: 3.0em;
	margin-bottom: 1.0em;
}
#accessmap .root_list > li::after {
	content: "";
	display: block;
	width: 100%;
	height: 4vw;
	max-height: 55px;
	background: url("../images/access/arrow@2x.png") no-repeat center center;
	background-size: auto 33%;
}
#accessmap .root_list > li:last-child::after {
	display: none;
}
#accessmap .root_list .root_style {
	background: #fff;
	border-radius: var(--radius20);
	padding: 1.6em 5%;
	line-height: 1.8em;
}
#accessmap .root_list .root_style dt,
#accessmap .root_list .root_style dd {
	padding-left: 55px;	
	font-feature-settings: "halt";
	letter-spacing: .06em;
}
#accessmap .root_list .root_style dt {
	position: relative;
	color: #CC7D4B;
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .16em;
	margin-bottom: .4em;
}
#accessmap .root_list .root_style dt::before {
	content: "1";
	font: var(--font_eng1);
	text-align: center;
	color: #fff;
	font-size: 95%;
	letter-spacing: normal;
	width: 2.0em;
	line-height: 2.0em;
	background: #CC7D4B;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: -.4em;
}
#accessmap .root_list > li:nth-child(2) .root_style dt::before {content: "2";}
#accessmap .root_list > li:nth-child(3) .root_style dt::before {content: "3";}
#accessmap .root_list > li:nth-child(4) .root_style dt::before {content: "4";}
#accessmap .root_list > li:nth-child(5) .root_style dt::before {content: "5";}
#accessmap .root_list > li:nth-child(6) .root_style dt::before {content: "6";}
#accessmap .root_list > li:nth-child(7) .root_style dt::before {content: "7";}
#accessmap .root_list > li:nth-child(8) .root_style dt::before {content: "8";}
#accessmap .root_list > li:nth-child(9) .root_style dt::before {content: "9";}
#accessmap .root_list > li:nth-child(10) .root_style dt::before {content: "10";}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#accessmap .clinic_info .memo {
	font-size: 2.1vw;
	letter-spacing: .1em;
}
#accessmap .clinic_info .clinic_name {
	font-size: 3.6vw;
	letter-spacing: .05em;
	margin-bottom: .5em;
}

#accessmap .access_list {
	margin-top: 8%;
	font-size: 2.0vw;
	letter-spacing: .02em;
    justify-content: space-between;
	column-gap: 0;
}
#accessmap .acce_txt {
	font-size: 115%;
	letter-spacing: .07em;
}

#accessmap .root_box h3 {
	margin-bottom: 6%;
}
#accessmap .root_box h4 {
	font-size: 2.4vw;
	letter-spacing: .1em;
}
#accessmap .root_list > li::after {
	height: 5vw;
	background-size: auto 40%;
}
#accessmap .root_list .root_style {
	padding: 1.6em 5%;
}
#accessmap .root_list .root_style dt,
#accessmap .root_list .root_style dd {
	padding-left: 13%;	
}
#accessmap .root_list .root_style dt {
	font-size: 115%;
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#accessmap .circle_top {
	padding-top: 50vw;
}
#accessmap .map_box iframe {
	height: 90vw;
	max-height: 100%;
}

#accessmap .clinic_info {
	display: block;
}
#accessmap .clinic_info .box_r {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 10%;
}
#accessmap .clinic_info .box_l {
	width: 100%;
	max-width: 100%;
}
#accessmap .clinic_info .memo {
	font-size: 120%;
	letter-spacing: .1em;
}
#accessmap .clinic_info .clinic_name {
	font-size: 180%;
	letter-spacing: .05em;
	margin: .4em 0 .5em;
}
#accessmap .clinic_info address {
	font-size: 105%;
	letter-spacing: .04em;
}

#accessmap .access_list {
	margin-top: 6%;
	font-size: 100%;
	letter-spacing: .04em;
}
#accessmap .access_list .icon {
	width: 11vw;
	max-width: 100%;
	margin-right: 3vw;
}
#accessmap .acce_txt {
	font-size: 115%;
	letter-spacing: .04em;
}

#accessmap .root_box h3 {
	padding-bottom: .5em;
	margin-bottom: 8%;
}
#accessmap .root_box .flex_box {
	display: block;
}
#accessmap .root_box .flex_box > div {
	width: 100%;
	max-width: 100%;
	margin-bottom: 10%;
}
#accessmap .root_box .flex_box > div:last-child {
	margin-bottom: 0;
}
#accessmap .root_box h4 {
	font-size: 120%;
}
#accessmap .root_list > li::after {
	height: 8vw;
	max-height: 100%;
	background-size: auto 40%;
}
#accessmap .root_list .root_style {
	padding: 1.6em 5%;
}
#accessmap .root_list .root_style dt,
#accessmap .root_list .root_style dd {
	padding-left: 13%;
}
#accessmap .root_list .root_style dt {
	font-size: 120%;
	letter-spacing: .06em;
	margin-bottom: .2em;
}
}



/*clinichours
---------------------------------------------------------*/
#clinichours .bg {
	background: var(--color_bg1);
}
#clinichours .schedule_box {
	width: 100%;
	max-width: 1145px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#clinichours .schedule_box .box_l {
	width: 60%;
	max-width: 684px;
}
#clinichours .schedule_box .box_r {
	width: 36%;
	max-width: 375px;
}
#clinichours .schedule_box .com_timetable {
	background: #fff;
	font-size: min(120%,1.7vw);
	padding-top: 1.3em;
	padding-bottom: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#clinichours .schedule_box .com_timetable {
	font-size: 1.9vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#clinichours .schedule_box {
	display: block;
}
#clinichours .schedule_box .box_l {
	width: 100%;
	max-width: 100%;
	margin-bottom: 8%;
}
#clinichours .schedule_box .box_r {
	width: 100%;
	max-width: 100%;
}
#clinichours .schedule_box .com_timetable {
	font-size: 100%;
	padding-top: 1.2em;
	padding-bottom: 1.0em;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}