@charset "UTF-8";

/* map */
#map
{
	padding:60px 0;
}
.maparea
{
	background:#e6eff2;
	margin-top:30px;
	padding:30px 20px;	
}

.maparea-title,
.clinic-box h4
{
	background:#073966;
	color:#fff;
	font-size:150%;
	text-align:center;
	padding:15px 0;
}

.ma-map,
.ma-clinic
{
	background:#eff2f5;
	box-sizing:border-box;
	height:1150px;
}

.ma-map
{
	border:1px solid #dadada;
	float:left;
	padding:5px;
	position:relative;
	text-align:left;
	width:650px;
}

.ma-map p
{
	color:#333;
	padding:30px;
	text-align:left;
}


.ma-map .map,
.ma-map .hokkaido,
.ma-map .tohoku,
.ma-map .kanto,
.ma-map .tokai,
.ma-map .hokushinetsu,
.ma-map .kinki,
.ma-map .chugoku,
.ma-map .kyushu
{
	position:absolute;
}

.ma-map .map
{
	left:62px;
	top:315px;
}

.ma-map .hokkaido,
.ma-map .tohoku,
.ma-map .kanto,
.ma-map .tokai,
.ma-map .hokushinetsu,
.ma-map .kinki,
.ma-map .chugoku,
.ma-map .kyushu
{
	width:115px;
}

.ma-map .hokkaido
{
	top:210px;
	right:115px;
}
.ma-map .tohoku
{
	top:550px;
	right:35px;
}
.ma-map .kanto
{
	top:690px;
	right:110px;
}

.ma-map .tokai
{
	top:365px;
	left:235px;
}
.ma-map .hokushinetsu
{
	top:490px;
	left:100px;
}
.ma-map .kinki
{
	top:790px;
	left:235px;
}
.ma-map .chugoku
{
	top:590px;
	left:45px;
}
.ma-map .kyushu
{
	top:890px;
	left:35px;
}

.ma-map li
{
	margin-top: 6px;
	background:url(../images/icon_bluearrow.png) no-repeat left center;
	color:#000;
	font-size:75%;
	line-height:200%;
	padding:0 0 0 15px;
}

.ma-map li span {
	text-decoration:underline;
}

.ma-map li a.reservebtn {
	display: block;
	margin-top: 1px;
	float: right;
	width: 30px;
	padding: 4px 5px;
	line-height: 1;
	color: #ff3;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #005ca7;
	border: 2px solid #d3f2fc;
	border-radius: 5px;
}

.ma-map li a.reservebtn:hover {
	color: #005ca7;
	background: #d3f2fc;
	border-color: #005ca7;
}

.ma-map li span:hover
{
	cursor:pointer;
	text-decoration:none;
}

.ma-clinic
{
	border:1px solid #dadada;
	margin:0 auto;
	padding:5px;
	width:390px;
}

.clinic-box
{
	display:none;
}

.clinic-box.open
{
	display:block;
}

.ma-clinic h4 .new-clinic
{
	font-size:55%;
	font-weight:normal;
	padding:0 5px 0 0;
	vertical-align:middle;
}

.ma-clinic h5
{
	border-bottom:1px solid #073966;
	padding:0 0 5px 0;
	text-align:center;
}

.clinic-call
{
	color:#000;
	display:inline-block;
	font-size:200%;
	font-weight:bold;
	margin:25px auto 5px auto;
	padding:0;
	text-align:center;
}

a.clinic-btn
{
	background:url(../images/icon_yellowarrow.png) no-repeat 310px center #005ca7;
	border:3px solid #d3f2fc;
	box-shadow:2px 3px 0 0 #005ca7;
	box-sizing:border-box;
	color:#ff3;
	display:block;
	font-size:125%;
	font-weight:bold;
	line-height:100%;
	height:60px;
	margin:10px auto 20px auto;
	padding:15px 10px 15px 0;
	text-align:center;
	text-decoration:none;
	width:350px;
}

a.clinic-btn:hover
{
	background-color:#176baf;
	box-shadow:1px 1px 0 0 #005ca7;
}

.clinic-info
{
	margin:5px;
}

.clinic-info dt,
.clinic-info dd
{
	text-align:left;
}

.clinic-info dt
{
	font-weight:bold;
}

.clinic-info dd
{
	font-size:85%;
	line-height:160%;
	margin-bottom:10px;
}

.clinic-map
{
	height:250px;
	margin:0 auto 5px auto;
	width:350px;
}

.clinic-doctorimg
{
	height:150px;
	margin:10px auto;
	width:150px;
}

/* part7 for indvidual-clinic */
.indvidual-clinic
{
	background:#dadada;
	border:10px solid #e6eff2;
	margin:40px auto 20px auto;
	padding:1px;
}

.indvidual-clinic-inner
{
	background:#eff2f5;
	border:4px solid #eff2f5;
	padding-bottom:16px;
}

.indvidual-clinic-inner h3
{
	background:#073966;
	color:#fff;
	font-size:150%;
	text-align:center;
	padding:15px 0;
}

.indvidual-clinic-inner h4
{
	border-bottom:1px solid #073966;
	margin:0 auto 20px auto;
	padding:40px 0 10px 0;
	text-align:center;
	width:1030px;
}
.individual-clinic-doctor,
.individual-clinic-address
{
	float:right;
	margin-left:25px;
	width:490px;
}
.individual-clinic-doctor dt
{
	background:url(../images/bg_part7-01.png) no-repeat left center;
	color:#fff;
	float:left;
	margin-bottom:40px;
	padding:10px 0 10px 20px;
	width:110px;
}
.individual-clinic-doctor dd
{
	float:right;
	line-height:200%;
	width:380px;
}
.individual-clinic-doctor dd:first-of-type
{
	font-size:120%;
	font-weight:bold;
	line-height:100%;
	margin-bottom:60px;
	padding-top:10px;	
}

.individual-clinic-map
{
	float:left;
	height:300px;
	text-align:center;
	width:510px;	
}

.individual-clinic-map iframe
{
	margin-bottom:10px;
}

.individual-clinic-address dt
{
	font-weight:bold;
}

.individual-clinic-address dd:first-of-type
{
	margin-bottom:20px;
}

.individual-clinic-address dd img
{
	margin-top:20px;
}

/* form */
.form-wrap
{
	padding:60px 0;
}

.spacer,
.required-field
{
	display:block;
	float:right;
    font-size: 80%;
    padding: 1px 7px;
    margin: 0 5px;
}
.required-field
{
    background: #df4b59;
    border-radius: 5px;
    color: #fff;
}
.required-field.il
{
	display:inline;
	float:none;
	padding:4px 7px;
	vertical-align:baseline;
}

.w1100 form#mailformpro dl dt
{
	border-top:none;
	font-size:14px;
	line-height:150%;
	width:30%;
}

.w1100 form#mailformpro dl dd
{
	font-size:14px;
	padding-left:calc(30% + 10px);
}


.form select
{
    font-size: 14px;
}

table#mfp_confirm_table tr td
{
	vertical-align:middle;
}

.w1100 div.mfp_ok
{
	vertical-align:baseline;
}

.clear	{	clear: both; height: 0;}

.clearfix:after
{
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}

.contact_upper {
	height: 108px;
	background: #fffbe9 url(../images/img_main04.png) repeat-x left top;
	background-size: auto 108px;
}

.contact_upper_in {
	width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.contact_upper_in img {
	width: auto;
	height: 108px;
}

.pc_hide_i {display: none;}
.pc_hide_b {display: none;}
.sp_hide_i {display: inline;}
.sp_hide_b {display: block;}

.sec08 {
	background: #fffbe9;
	padding: 20px 0 110px;
	border-bottom: 4px solid #fff5c6;
	margin: 0 auto 50px;
}

.sec08 form {
	width: 925px;
	background: #fff;
	border-radius: 10px;
	margin: 0 auto 30px;
	box-shadow: 0 0 5px 0 #cecece;
	padding: 35px 0 55px;
}

.sec08 form .area-step {
	margin: 0 0 45px;
}

.sec08 form .area-step .step_1 {
	font-weight: bold;
	color: #f55e5e !important;
}

.sec08 dl {
	width: 700px;
	margin: 0 auto 10px;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

.sec08 dl dt {
	width: 250px;
	border-top: 1px solid #cbcbcb;
	text-align: right;
	padding: 10px;
	font-size: 16px;
	box-sizing: border-box;
	font-weight: bold;
}

.sec08 dl dt span {
	font-size: 14px;
	color: #fff;
	background: #555;
	margin-left: 5px;
	border-radius: 5px;
	padding: 2px 5px 1px;
	font-weight: normal;
}

.sec08 dl dt span.required-field {
	background: #f13a56;
}

.sec08 dl dd {
	width: 450px;
	border-top: 1px solid #cbcbcb;
	box-sizing: border-box;
	padding: 15px 0 15px 20px;
	font-size: 0;
}

.sec08 dl dd p.txt {
	font-weight: bold;
	margin: 0 0 8px 0;
	font-size: 14px;
	font-weight: bold;
}

.sec08 dl dd label {
	display: inline-block;
	font-size: 16px;
	margin: 0 10px 8px 0;
	padding: 2px 10px 0 25px;
	border: 1px solid #eee;
	border-radius: 3px;
}

.sec08 dl dd label:hover {
	cursor: pointer;
}

.sec08 dl dd input[type="radio"],
.sec08 dl dd input[type="checkbox"] {
	display: none;
}

.sec08 dl dd label.radio_btn {
	position: relative;
}

.sec08 dl dd label.radio_btn::before {
	display: block;
	width: 14px;
	height: 14px;
	content: "";
	border: 1px solid #a2a2a2;
	border-radius: 50%;
	position: absolute;
	top: 6px;
	left: 5px;
}

.sec08 dl dd input[type="radio"]:checked + label::after {
	display: block;
	width: 10px;
	height: 10px;
	content: "";
	background: #1687ff;
	border-radius: 50%;
	position: absolute;
	top: 9px;
	left: 8px;
}

.sec08 dl dd label.check_btn {
	position: relative;
}

.sec08 dl dd label.check_btn::before {
	display: block;
	width: 12px;
	height: 12px;
	content: "";
	border: 1px solid #a2a2a2;
	border-radius: 3px;
	position: absolute;
	top: 7px;
	left: 5px;
}

.sec08 dl dd input[type="checkbox"]:checked + label.check_btn::before {
	border: none;
	background: #1687ff;
}

.sec08 dl dd input[type="checkbox"]:checked + label::after {
	display: block;
	content: "✓";
	font-size: 12px;
	color: #fff;
	position: absolute;
	top: 3px;
	left: 5px;
}

.sec08 dl dd textarea {
	width: 400px;
	height: 70px;
	border: 1px solid #cbcbcb;
	border-radius: 5px;
	box-shadow: 0 0 5px #ccc inset;
	font-size: 14px;
	line-height: 1.3em;
	padding: 0.5em;
	box-sizing: border-box;
}

.msf-navigation button.btn-submit {
	display: block;
	padding: 0;
	background: transparent;
	width: 210px;
	height: 41px;
	margin: 0 auto;
	border-radius: 20px;
}

.msf-navigation button.btn-submit img {
	border-radius: 20px;
}

.msf-navigation button.btn-submit:hover {
	opacity: 0.8;
	cursor: pointer;
}

.sec08 .tel {
	width: 910px;
	margin: 0 auto;
}

.sec08 .tel img {
	width: 100%;
}