/* reservation S */
.m-wrap{ padding-bottom: 100px;}

.subcontent_main_title { font-size: 40px; line-height: 1; letter-spacing: -0.04em; color:#181818; margin: 40px 0 30px 0; font-weight: 700; } 

.subTitle_bg { background: #f2f2f2; padding: 10px 0 10px 20px; font-weight: 600; color:#035f94; } 
.subTitle_bg > span { position:absolute; left:10px; top:80px; font-size: 24px; color:#818181; font-weight: 300; } 
.subTitle_bg0105 { background: none; border-bottom: 1px solid #233e86; padding-left: 10px; } 
.subcontent_main_title img { vertical-align: top; margin-right: 13px; } 
.reservation_text { font-size: 24px; letter-spacing: -0.04em; color:#181818; line-height: 32px; } 
.reser_time_box { margin-top: 50px; padding:36px 30px; max-width: 930px; border:1px solid #cccccc; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; } 
.reservation_title { color:#233e86; font-size: 40px; letter-spacing: -0.05em; line-height: 1; font-weight: 500; margin:50px 0 20px 0; } 
.reservation_stepBox { font-size: 0; } 
.reservation_stepBox > li { font-size: 20px; color:#555555; letter-spacing: -0.08em; display: inline-block; width:157px; line-height: 30px; text-align: center; border:1px solid #cccccc; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; vertical-align: top; font-weight: 400; position: relative; margin-right: 14px; padding: 18px 0; } 
.reservation_stepBox > li.active { background: #233e86; color:#fff; border:solid 1px #233e86; } 
.reservation_stepBox > li strong { font-size: 23px; font-weight: 400; display: block; text-align: center; color: inherit; } 
.reservation_stepBox > li:after { background-image: url(../image/sub/reservation_step.png); width:9px; height: 15px; position: absolute; content: ""; top:0; bottom: 0; right:-14px; margin: auto; } 
td.calendar_ymd { padding:0 10px 5px 10px; font-size:24px; color:#333; line-height:28px; } 
.reser_doctor_select, .reser_doctor_selectD { border: 1px solid #dddddd; vertical-align: top; width: 14%; color: #666; cursor: pointer; text-align: right; background: transparent; padding-right: 5px !important; font-size:26px; line-height:32px; word-break: break-all; } 
.reser_doctor_selectD { text-align: right; } 
.reser_doctor_clickOn, .reser_doctor_donClick { cursor:pointer; color:#5f5f5f; font-size:26px; line-height:32px; word-break: break-all; margin-bottom: 18px; text-align: center; } 
.reser_doctor_donClick { color:#cacaca; } 
.reser_doctor_selectD span { padding-right: 5px; } 
.leftHoliday { color: #e81135; text-align: left; padding-left: 5px; font-size: 20px; } 
.mDisplay_none { display: none !important; } 
.reservation_stepBox > li:last-child { margin-right: 0; } 
.reservation_stepBox > li:last-child:after { width:0; } 

.reservation_table_my { margin:0 auto 20px auto; } 
.reservation_table_my td, .reservation_table_day td, .reservation_table_date td { font-size: 20px; letter-spacing: -0.02em; font-weight: 400; } 
.reservation_table_day, .reservation_table_date { border-collapse: collapse; } 
.reservation_table_day td, .reservation_table_date td { border: 1px solid #d6d6d6; padding:8px 0; } 
.reservation_table_date td { font-size: 20px; letter-spacing: -0.05em; width:14%; position: relative; padding-left: 0; vertical-align: top; height: 100px; } 
.daydate { font-size: 18px; display: block; text-align: right; padding-right: 0; margin-bottom: 5px; } 
.reservation_doctor, .reservation_none, .reservation_counsel { display: block; text-align: left; } 
.reservation_none { color:#e81135; text-align: left; } 
.reservation_counsel { color:#233e86; text-align: left; } 
.reservation_table_date div.holiday { color:#e81135; text-align: left; padding-left: 0; font-size: 20px } 
.question_text { text-align:right; color:#233e86; font-size:20px; padding-left:5px; } 
.sub_01_01_table { width:100%; } 
.sub_01_01_table caption { display: none; } 
.sub_01_01_table th, .sub_01_01_table td { padding: 10px 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; color:#181818; font-weight: 400; font-size: 22px; letter-spacing: -0.04em; text-align: center; } 
.sub_01_01_table th { color:#fff; } 
.sub_01_01_table td { border-bottom:1px solid #dfdfdf; } 
.sub_01_01_table th, .sub_01_01_table td { border-right: 1px solid #dfdfdf; word-break: keep-all; } 
.sub_01_01_table th:last-child, .sub_01_01_table td:last-child { border-right: 0; } 
.reser_doctorListBox { font-size: 0; border-top: 1px solid #c2c2c2; } 
.reser_doctorListBox > li { padding: 10px 0; border-bottom: 1px solid #c2c2c2; } 
.reser_doctorListBox > li img { padding:20px; width:150px; height:110px; object-fit:cover; object-position:top;}
.reser_doctorListBox > li .table_box > li { vertical-align: middle; display:table-cell; } 
.reser_doctorListBox .table_box > li:first-child { text-align: center; width:205px; } 
.reser_doctorListBox .table_box > li:first-child img { max-width: 150px; } 
.reser_doctorListBox > li .table_box > li h5 { font-size: 30px; color:#181818; letter-spacing: -0.05em; font-weight: 400; line-height: 1; margin-bottom: 20px; } 
.reser_doctorListBox .table_box > li h5 strong { color: #233e86; font-weight: 400; } 
.reser_doctorListBox .table_box > li h5 span { font-size: 24px; color:#7a7a7a; } 
.reser_doctorListBox .table_box > li p { font-size: 24px; color:#7a7a7a; line-height: 36px; letter-spacing: -0.06em; } 

.reser_completeBox { color:#333; padding:20px 0 30px 0; border-top: 3px solid #233e86; letter-spacing: -0.05em; } 
.reser_completeBox > h5 { text-align: center; font-size: 30px; font-weight: 300; } 
.reser_completeBox ul { background: #f5f5f5; padding:30px 25px; margin-top: 30px; } 
.reser_completeBox ul > li { position: relative; padding-left: 20px; line-height: 40px; margin-bottom: 5px; font-size: 24px; } 
.reser_completeBox ul > li:before { position: absolute; content: ""; background: #233e86; width:6px; height: 6px; left:0; top:17px; border-radius: 50%; } 
.selected_doctor_box { max-width: 930px; margin-bottom: 40px; border:1px solid #cccccc; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; padding: 33px 25px; letter-spacing: -0.05em; } 
.selected_doctor_box .select_reser_info { background: #233e86; font-size: 20px; border-radius: 15px; display: inline-block; padding:0 12px; line-height: 27px; height: 27px; color:#fff; text-align: center; margin-right: 8px; } 
.selected_doctor_box strong { line-height: 1; font-size: 26px; color:#233e86; font-weight: 400; } 
.select_time_table { width:100%; vertical-align: top; } 
.select_time_table th, .select_time_table td { vertical-align: middle; font-size: 24px; letter-spacing: -0.05em; text-align: center; } 
.select_time_table th { color:#fff; letter-spacing: -0.05em; font-weight: 400; height: 52px; background: #233e86; } 

.select_time_table td { color:#333333; height: 80px; border-bottom: 1px solid #b7b7b7; } 
.select_time_table td input { width:20px; height: 20px; appearance: auto !important;} 
.select_time_table .canReser, .select_time_table .cantReser { color:#e81135; background-image: url(../image/sub/select_check_icon.jpg); padding-right: 25px; background-position: right 10px; background-repeat: no-repeat; } 
.select_time_table .canReser { color:#307dc1; background-image: url(../image/sub/select_check_icon1.jpg); } 
.reservation_pagingBtn { text-align: center; margin-top: 40px; } 
.reservation_pagingBtn>a { display: inline-block; position: relative; width:100px; height: 50px; background-color: #233e86; border-radius: 10px; /* background-repeat: no-repeat; background-position: 0 0; font-size: 0; */ } 
 .reservation_pagingBtn> a.prevBtn { background-color: #fff; border: 1px solid #ddd; } 
/*
.reservation_pagingBtn> a.nextBtn { background-image: url(../image/sub/paging_btn_next.jpg); } */
.reservation_pagingBtn>a span { color:#fff; font-size: 24px; letter-spacing: -0.05em; line-height: 50px; text-align: center; } 
.reservation_pagingBtn > a.prevBtn span { left: 22px; right:auto; color:#333; } 
.agreement_textBox { overflow-y: scroll; width:100%; height: 230px; border:1px solid #cccccc; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; font-size: 18px; line-height: 24px; white-space: pre-line; letter-spacing: -0.05em; color:#727272; padding: 30px 25px; } 
.agreement_btnBox { margin-top: 10px; text-align: right; font-size: 24px; letter-spacing: -0.05em; color:#333333; } 
.agreement_btnBox input[type='radio'] { width:15px; height:15px; margin-right:5px; } 
.reservation_input_box { border-top: 3px solid #233e86; margin-top: 40px; } 
.reservation_input_box th, .reservation_input_box td { padding: 10px 0; border-bottom: 1px solid #e4e4e4; letter-spacing: -0.05em; } 
.reservation_input_box td textarea {  } 
.reservation_input_box th { font-size:24px; color:#333; text-align: left; padding-left: 22px; font-weight: 500; width:25% !important; vertical-align: top; } 
.reservation_input_box td { vertical-align: middle; font-size: 20px; line-height: 28px; color:#939393; width:75% !important; word-break: break-all; font-weight:300; } 
.inputLine { border: 1px solid #c2c2c2; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; height: 40px; font-size: 20px; color: #939393; } 

/* reservation E */
