/*공통 버튼*/
.booking_btn_box{ margin-top:50px; display:flex; flex-wrap:wrap; align-items:center;  justify-content:center;  }
.booking_btn_box > .booking_btn{ width:calc(50% - 5px); margin-right:10px; max-width:280px; height:65px; line-height:65px;  border:1px solid #d71532; background:#d71532; color:#fff; font-size:18px; font-weight:700;   
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
}
.booking_btn_box > .booking_btn:last-child{ margin-right:0px; }
.booking_btn_box > .booking_btn.color_write{ border-color:#ddd; background:#fff; color:#333; font-weight:500;}
.booking_btn_box > .booking_btn:hover{ color:#fff; background:#333; border-color:#333;}

@media all and (max-width:1024px){
	/*공통 버튼*/
	.booking_btn_box{ margin-top:40px;}
	.booking_btn_box > .booking_btn{ max-width:210px; height:55px; line-height:55px; font-size:16px; }
}
@media all and (max-width:768px){
	/*공통 버튼*/
	.booking_btn_box{ margin-top:30px;}
	.booking_btn_box > .booking_btn{ max-width:180px; height:45px; line-height:45px; font-size:14px; }
}


/********공통 end********************************************************************************************************************************************/

/*step01 레이아웃*/
#booking_step1 > .inner{display:flex; flex-wrap:wrap; border:1px solid #ddd;}
#booking_step1 > .inner > div{ padding:50px; }
#booking_step1 .booking_left{ width:65%; border-right:1px solid #ddd;  }
#booking_step1 .booking_right{ width:35%; }
#booking_step1 .booking_right h4{ text-align:center; font-size:22px; line-height:100%; padding-bottom:15px; border-bottom:2px solid #333; font-weight:700; margin-bottom:50px;    }
#booking_step1 .tel_box{ text-align:center; margin-top:50px;  }
#booking_step1 .tel_box p{ font-size:16px; line-height:160%; margin:15px 0; }
#booking_step1 .tel_box b{ font-size:18px; color:#d71532; font-weight:500; line-height:100%; }
#booking_step1 .tel_box b strong{ font-size:24px; color:#333;  }

/*step01 네비*/
#calendar_nav{ text-align:center; font-size:0px; margin-bottom:50px;   }
#calendar_nav > a{ display:inline-block; vertical-align:middle; width:25px; height:25px; background-position:center; background-repeat:no-repeat; font-size:0px;
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
}
#calendar_nav > a.prev{ background-image:url('./img/calendar_nav_prev.png'); }
#calendar_nav > a.next{ background-image:url('./img/calendar_nav_next.png'); }
#calendar_nav > a:hover{ opacity:0.3;}
#calendar_nav > strong{ display:inline-block; vertical-align:middle; font-size:30px; line-height:100%; margin:0 30px;  }

/*step01 달력*/
#calendar_box table{ width:100%; max-width:600px; margin:0 auto;   }
#calendar_box table thead th,
#calendar_box table tbody td{ text-align:center; padding:5px; font-size:18px;   }
#calendar_box table thead th{ font-weight:500; padding-bottom:10px;  }
#calendar_box table tbody td.imposs{ color:#ccc; }
#calendar_box table tbody td .day{ font-weight:700; display:inline-block; width:40px; height:40px; line-height:40px; border-radius:100%; background-color:#fff; 
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; 
}
#calendar_box table tbody td.live .day:hover,
#calendar_box table tbody td.live .day.active{ background-color:#d71532; color:#fff;  }

/*step01 시간*/
#time_box .empty{ text-align:center; font-size:14px; color:#999; line-height:160%;  }
#time_box .btn-time{ display:block; max-width:200px; margin:0 auto 15px; }
#time_box .btn-time:last-child{ margin-bottom:0px; }
#time_box .btn-time a{ display:block; border-radius:10px; height:55px; line-height:55px; background:#aaa;  text-align:center; color:#fff; font-size:16px; font-weight:700;  
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
}
#time_box .btn-time a.live{ background:#d71532;}
#time_box .btn-time a.live.active{ background:#333; }

@media all and (max-width:1024px){
	/*step01 레이아웃*/
	#booking_step1 > .inner > div{ padding:30px; }
	#booking_step1 .booking_right h4{ font-size:18px; margin-bottom:30px; }
	#booking_step1 .tel_box{ margin-top:30px; }
	#booking_step1 .tel_box img{ width:30px;}
	#booking_step1 .tel_box p{ font-size:14px; margin:10px 0;  }
	#booking_step1 .tel_box b{ font-size:14px;}
	#booking_step1 .tel_box b strong{ font-size:18px; }
	
	/*step01 네비*/
	#calendar_nav{ margin-bottom:30px; }
	#calendar_nav > strong{ font-size:25px; margin:0 15px; }

	/*step01 달력*/
	#calendar_box table thead th,
	#calendar_box table tbody td{ font-size:16px; }
	#calendar_box table tbody td .day{ width:35px; height:35px; line-height:35px;  }
	
	/*step01 시간*/
	#time_box .empty{ font-size:14px; }
	#time_box .btn-time{ max-width:150px; margin-bottom:10px; }
	#time_box .btn-time a{ height:45px; line-height:45px; border-radius:7px;  font-size:14px;  }
}
@media all and (max-width:768px){
	/*step01 레이아웃*/
	#booking_step1 > .inner > div{ padding:30px 15px; }
	#booking_step1 .booking_left{ width:100%; border-right:none; border-bottom:1px solid #ddd; }
	#booking_step1 .booking_right{ width:100%;}

	/*step01 네비*/
	#calendar_nav > a{ width:20px; height:20px; background-size:8px; }
	#calendar_nav > strong{ font-size:20px; margin:0 10px; }

	/*step01 달력*/
	#calendar_box table thead th,
	#calendar_box table tbody td{ font-size:13px; padding:2px;  }
	#calendar_box table tbody td .day{ width:25px; height:25px; line-height:25px;  }

	/*step01 시간*/
	#time_box .btn-time a{ height:35px; line-height:35px; }
}


/********step01 end********************************************************************************************************************************************/

/*step02 타이틀*/
.booking_step2_tit{ display:flex; flex-wrap:wrap; align-items:end; margin-bottom:15px; }
.booking_step2_tit > b{ display:block; width:100%;  font-size:26px; font-weight:900; color:#bbb; line-height:100%; margin-bottom:5px;  }
.booking_step2_tit .tit{ font-size:30px; font-weight:700; line-height:140%; margin:0px;  }
.booking_step2_tit .req{ margin-left:auto; font-weight:500; font-size:16px; }
.booking_step2_tit .req b{ color:#d71532; font-weight:500; }

/*인풋, 셀렉트, 아리아*/
.booking_step2_box .booking_input,
.booking_step2_box .booking_select{ height:60px; width:100%; max-width:550px; border-radius:5px; padding:0 25px; border:1px solid #ddd; font-size:14px;  }
.booking_step2_box .booking_select{width:100%;-moz-appearance: none; -webkit-appearance: none; appearance: none;background:url('./img/booking_select_arrow.png') no-repeat right center;background-position-x: 95%;}
.booking_step2_box .booking_select::-ms-expand{display: none;}
.booking_step2_box .booking_area{ width:100%; height:100px; border:1px solid #ddd; padding:25px; border-radius:5px; font-size:14px; resize:none;  }
.booking_step2_box .booking_input.wid100{ max-width:100%; width:100% !Important;  }

/*라디오*/
.custom_radio01{ overflow:hidden; position:relative;}
.custom_radio01 input{ position:absolute; top:-99px; left:-99px; opacity:0; width:0px; height:0px;  }
.custom_radio01 input + label{  position:relative; font-size:16px; line-height:140%; font-weight:500; padding-left:30px; cursor:pointer;   }
.custom_radio01 input + label:after,
.custom_radio01 input + label:before{ content:""; position:absolute; border-radius:100%; background-color:#fff; }
.custom_radio01 input + label:after{  top:-2px; left:0; width:20px; height:20px; border:1px solid #ddd; }
.custom_radio01 input + label:before{ z-index:1; top:3px; left:5px; width:10px; height:10px;  transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; }
.custom_radio01 input:checked + label:before{ background-color:#d71532;}

/*체크*/
.custom_checkbox01{ overflow:hidden; position:relative;}
.custom_checkbox01 input{ position:absolute; top:-99px; left:-99px; opacity:0; width:0px; height:0px;  }
.custom_checkbox01 input + label{ position:relative;  font-size:16px; line-height:140%; font-weight:500; padding-left:30px; cursor:pointer; margin-bottom:0px;    }
.custom_checkbox01 input + label:after{ content:""; position:absolute; top:0px; left:0; width:20px; height:20px; border:1px solid #ddd; border-radius:2px; background-color:#fff;
	background-image:url('./img/booking_ck_ico01.png'); background-position:center; background-repeat:no-repeat;
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
}
.custom_checkbox01 input:checked + label:after{ background-image:url('./img/booking_ck_ico02.png'); background-color:#d71532;}

/*step02 기본 레이아웃*/
.booking_step2_box{ border-top:2px solid #333; border-bottom:1px solid #ddd; padding-bottom:40px;  }
.booking_step2_box .item{ display:flex; flex-wrap:wrap; margin-top:40px; }
.booking_step2_box .item .tit_box{ width:180px; display:flex; flex-wrap:wrap; align-items:center; }
.booking_step2_box .item .tit_box .tit{ font-size:18px; line-height:130%; font-weight:700; }
.booking_step2_box .item .tit_box .tit b{ color: #d71532}
.booking_step2_box .item .content_box{ width:calc(100% - 180px); padding-left:10px;}
.booking_step2_box .item label{ margin:0px; }
.booking_step2_box .dot_list{ width:100%; margin-top:10px; }

/*step02 버튼 레이아웃*/
.booking_step2_box .item .content_box.btn_box{ display:flex; flex-wrap:wrap;}
.booking_step2_box .item .content_box.btn_box .booking_input{ width:calc(100% - 190px); }
.booking_step2_box .item .content_box.btn_box .com_btn{ width:180px; margin-left:10px; border:3px solid #333; height:60px; line-height:56px; text-align:center; font-size:16px; font-weight:700; background:#fff; border-radius:5px;  color:#333;   
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; 
}
.booking_step2_box .item .content_box.btn_box .com_btn.on{ background:#333; color:#fff; }

/*step02 파일 레이아웃*/
.booking_step2_box .item .content_box.file_box{ display:flex; flex-wrap:wrap;}
.booking_step2_box .item .content_box.file_box > p{ width:calc(100% - 190px); margin:0px; line-height:60px; color:#777;  }
.booking_step2_box .item .content_box.file_box > div{  position:relative; width:180px; margin-left:10px; }
.booking_step2_box .item .content_box.file_box > div label{ display:block; width:100%; border:3px solid #333; height:60px; line-height:56px; text-align:center; font-size:16px; font-weight:700; background:#fff; border-radius:5px;  color:#333;   
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; 
}
.booking_step2_box .item .content_box.file_box > div input[type='file']{ position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; cursor:pointer;  }

/*step02 주소 레이아웃*/
.booking_step2_box .item .content_box.adr_box input{ margin-bottom:10px;}
.booking_step2_box .item .content_box.adr_box input:last-child{ margin-bottom:0px;}

/*step02 체크 레이아웃*/
.booking_step2_box .item .content_box.ck_box div{ margin-top:20px; }
.booking_step2_box .item .content_box.ck_box div label{ display:inline-block;  margin:5px 20px 5px 0;  }

/*개인정보제공동의01*/
.booking_agree01 .agree_ck{  display:flex; flex-wrap:wrap; align-items:center; margin-bottom:20px;   }
.booking_agree01 .agree_ck strong{ font-size:18px; line-height:140%; }
.booking_agree01 .agree_ck .custom_checkbox01{ margin-left:auto; }
.booking_agree01 .inner{ border:1px solid #ddd; border-top:2px solid #333; padding:25px; }
.booking_agree01 .inner p{ font-size:16px; line-height:160%; margin-bottom:20px;}
.booking_agree01 .inner p:last-child{ margin-bottom:0px; }
.booking_agree01 .inner p.color_gray{ color:#777;}
.booking_agree01 .inner b.tit{ display:block; font-size:16px; line-height:140%; margin-bottom:3px; }
.booking_agree01 .inner b.color_red{ color:#d71532; }

/*개인정보제공동의02*/
.booking_agree02{ background:#f4f4f4; display:flex; flex-wrap:wrap; align-items:center; padding:40px 30px; }
.booking_agree02 strong{ font-size:18px; line-height:140%; margin-right:auto;  }
.booking_agree02 .custom_radio01{ margin-left:20px; }


@media all and (max-width:1024px){
	/*step02 타이틀*/
	.booking_step2_tit{ margin-bottom:10px; }
	.booking_step2_tit > b{ font-size:20px; }
	.booking_step2_tit .tit{ font-size:25px; }
	.booking_step2_tit .req{ font-size:14px;  }

	/*인풋, 셀렉트, 아리아*/
	.booking_step2_box .booking_input,
	.booking_step2_box .booking_select{ height:55px;}

	/*라디오*/
	.custom_radio01 input + label{  font-size:14px; padding-left:25px; }

	/*체크*/
	.custom_checkbox01 input + label{  font-size:14px; padding-left:25px; }

	/*step02 기본 레이아웃*/
	.booking_step2_box{ padding-bottom:30px;  }
	.booking_step2_box .item{ margin-top:30px; }
	.booking_step2_box .item .tit_box{ width:130px;  }
	.booking_step2_box .item .tit_box .tit{ font-size:16px; }
	.booking_step2_box .item .content_box{ width:calc(100% - 130px); }

	/*step02 버튼 레이아웃*/
	.booking_step2_box .item .content_box.btn_box .booking_input{ width:calc(100% - 160px); }
	.booking_step2_box .item .content_box.btn_box .com_btn{ width:150px; font-size:14px; height:55px; line-height:51px;   }

	/*step02 파일 레이아웃*/
	.booking_step2_box .item .content_box.file_box > p{ width:calc(100% - 160px); line-height:55px; }
	.booking_step2_box .item .content_box.file_box > div{ width:150px; }
	.booking_step2_box .item .content_box.file_box > div label{ height:55px; line-height:51px; font-size:14px; }

	/*step02 체크 레이아웃*/
	.booking_step2_box .item .content_box.ck_box div{ margin-top:15px; }
	.booking_step2_box .item .content_box.ck_box div label{  margin:5px 10px 5px 0;  }

	/*개인정보제공동의01*/
	.booking_agree01 .agree_ck{ margin-bottom:15px;   }
	.booking_agree01 .agree_ck strong{ font-size:16px; }
	.booking_agree01 .inner{  padding:20px; }
	.booking_agree01 .inner p{ font-size:14px;  margin-bottom:15px;}
	.booking_agree01 .inner b.tit{ font-size:14px; }

	/*개인정보제공동의02*/
	.booking_agree02{ padding:30px 20px; justify-content:center; }
	.booking_agree02 strong{ font-size:16px; width:100%; margin-bottom:10px;   }
	.booking_agree02 .custom_radio01{ width:100%; margin:0px;  }
	
}
@media all and (max-width:768px){
	/*step02 타이틀*/
	.booking_step2_tit .tit{ font-size:20px; }
	.booking_step2_tit .req{ font-size:12px; }

	/*인풋, 셀렉트, 아리아*/
	.booking_step2_box .booking_input,
	.booking_step2_box .booking_select{ height:45px; padding:0 15px; }
	.booking_step2_box .booking_area{ padding:15px; }

	/*step02 기본 레이아웃*/
	.booking_step2_box .item .tit_box{ width:100%; margin-bottom:10px;  }
	.booking_step2_box .item .tit_box br{ display:none; }
	.booking_step2_box .item .content_box{ width:100%; padding-left:0px;  }

	/*step02 버튼 레이아웃*/
	.booking_step2_box .item .content_box.btn_box .booking_input{ width:calc(100% - 100px); }
	.booking_step2_box .item .content_box.btn_box .com_btn{ width:90px; font-size:12px; height:45px; line-height:41px;   }

	/*step02 파일 레이아웃*/
	.booking_step2_box .item .content_box.file_box > p{ width:calc(100% - 100px); line-height:45px; }
	.booking_step2_box .item .content_box.file_box > div{ width:90px; }
	.booking_step2_box .item .content_box.file_box > div label{ height:45px; line-height:41px; font-size:12px; }


	/*개인정보제공동의01*/
	.booking_agree01 .agree_ck strong{ width:100%;}
	.booking_agree01 .agree_ck .custom_checkbox01{ margin:5px 0 0 0; }
}



/********step02 end********************************************************************************************************************************************/

/*스튜디오 예약 확인*/
#booking_step1_view .application_box{ border:1px solid #ddd; padding:50px; }
#booking_step1_view .application_box .gray_box{ padding:15px; text-align:center;  }
#booking_step1_view .application_box .gray_box p{ margin:0px; font-size:14px; }
#booking_step1_view .application_box .item{ display:flex; flex-wrap:wrap; margin-bottom:20px;  }
#booking_step1_view .application_box .item .tit_box{ width:18%; display:flex; flex-wrap:wrap; align-items:center; }
#booking_step1_view .application_box .item .tit_box *{ font-size:18px; line-height:140%; font-weight:700; }
#booking_step1_view .application_box .item .content_box{ width:82%;}
#booking_step1_view .application_box .item .content_box input{ height:60px; padding:0 25px; font-size:14px; border:1px solid #ddd; width:100%; max-width:550px;  }
#booking_step1_view .application_box .item .content_box.btn_box{ display:flex; flex-wrap:wrap;}
#booking_step1_view .application_box .item .content_box.btn_box input{ width:calc(100% - 190px); }
#booking_step1_view .application_box .item .content_box.btn_box .com_btn{ width:180px; margin-left:10px; border:3px solid #333; height:60px; line-height:56px; text-align:center; font-size:16px; font-weight:700; background:#fff; border-radius:5px;  color:#333;   
transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; 
}
#booking_step1_view .application_box .item .content_box.btn_box .com_btn.on{ background:#333; color:#fff; }
#booking_step1_view .application_box button[type='submit']{ margin:40px auto 0;}

#booking_step1_view button[type='submit']{ display:block;  width:100%; max-width:320px; height:65px; line-height:65px; color:#fff; text-align:center; font-size:18px; font-weight:700;  margin:0 auto;  background:#d71532; transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; }
#booking_step1_view button[type='submit'] img{ display:inline-block; vertical-align:middle; margin-left:10px; }
#booking_step1_view button[type='submit']:hover{ background:#333;}


/*스튜디오 예약 확인 리스트*/
#application_list{margin-top:60px; overflow-x:auto;  }
#application_list table{ width:100%; min-width:600px; }
#application_list table th{ border-top:2px solid #333; border-bottom:1px solid #333; }
#application_list table td{ border-bottom:1px solid #ddd; }
#application_list table th,
#application_list table td{ padding:15px 0; text-align:center; font-size:15px; line-height:160%;   }
#application_list table td.state span{ display:inline-block; width:100px; height:32px; border:1px solid #333; line-height:30px; text-align:center; font-size:15px; background:#fff;  }
#application_list table td.state span.end{ border-color:#d71532; color:#d71532;}
#application_list table td.state span.end2{ border-color:#ebebeb; background:#ebebeb; }

@media all and (max-width:1024px){
	/*스튜디오 예약 확인*/
	#booking_step1_view .application_box{  padding:30px; }
	#booking_step1_view .application_box .gray_box p{ font-size:13px; }
	#booking_step1_view .application_box .item{  margin-bottom:15px;  }
	#booking_step1_view .application_box .item .tit_box *{ font-size:16px;}
	#booking_step1_view .application_box .item .content_box input{ height:55px;  }
	#booking_step1_view .application_box .item .content_box.btn_box input{ width:calc(100% - 160px); }
	#booking_step1_view .application_box .item .content_box.btn_box .com_btn{ width:150px; font-size:14px; height:55px; line-height:51px;}
	#booking_step1_view .application_box button[type='submit']{ margin:30px auto 0;}

	#booking_step1_view button[type='submit']{  max-width:230px; height:50px; line-height:50px; font-size:16px; }

	/*스튜디오 예약 확인 리스트*/
	#application_list table th,
	#application_list table td{ padding:10px 0; font-size:14px;  }
	#application_list table td.state span{ width:80px; font-size:13px; }
}
@media all and (max-width:768px){
	/*스튜디오 예약 확인*/
	#booking_step1_view .application_box{  padding:20px; }
	#booking_step1_view .application_box .item .tit_box{ width:100%; margin-bottom:5px; }
	#booking_step1_view .application_box .item .content_box{ width:100%;}
	#booking_step1_view .application_box .item .tit_box *{ font-size:14px;}
	#booking_step1_view .application_box .item .content_box input{ height:45px; padding:0 15px;   }
	#booking_step1_view .application_box .item .content_box.btn_box input{ width:calc(100% - 100px); }
	#booking_step1_view .application_box .item .content_box.btn_box .com_btn{ width:90px; font-size:12px; height:45px; line-height:41px;}
	#booking_step1_view button[type='submit']{  max-width:180px; height:40px; line-height:40px; font-size:14px; }

	/*스튜디오 예약 확인 리스트*/
	#application_list table th,
	#application_list table td{  font-size:13px;  }
}