/* 공통 */
.sub_bg{background: #fafafa; padding:10rem 0}

/* 인사말 */
.greetings{display: flex; gap:5rem; padding-bottom: 10rem;}
.greetings p{flex-basis: 50%; position: relative; padding:0 0 5rem 5rem ;}
.greetings p::before{content: ''; width: 50%; height: 50%; border-radius: 0 0 10rem 0; background: var(--main_color); position:absolute; bottom: 0; left: 0; z-index: -1;}
.greetings dl{flex:1}
.greetings dl dt{font-weight: bold; font-size:3.6rem; padding-bottom: 2rem;}

.greetings dl dd span{ font-weight: bold;}
.greetings dl dd em{text-align: right; font-weight: bold; font-size: 2.4rem; display: block;}


/* 미션 비전 핵심가치 */
.mission{padding:3rem; text-align: center; font-weight: bold; font-size:3rem; border-radius: 100px; border:1rem solid #ccc}
.vision_list{display: flex; gap:3rem}
.vision_list li{flex:1; text-align: center;}
.vision_list li p{overflow: hidden; margin-bottom: 2rem;}
.vision_list li p img{transition: .5s;}
.vision_list li p img:hover{transform: scale(1.2);}
.core_list{display: flex; gap:-3rem; justify-content: center;}
.core_list li{position: relative;}
.core_list li p{overflow: hidden; width: 40rem; height:40rem; border-radius: 100%; position: relative;}
.core_list li p::before{content: ''; width: 100%; height: 100%; background: rgba(0,0,0,0.5); position: absolute; top: 0; left: 0;}
.core_list li span{display: block; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%); font-weight: bold; font-size:3rem; color:#fff; z-index: 9; text-align: center;} 
.core_list li em{display: block;}
.core_list li i{display: block; font-size: 5rem; margin-bottom: 1rem;}

/* 층별안내 */

.floor_warp{display:flex; justify-content: space-between; margin-bottom: 10rem;}
.floor_info{ overflow:hidden; width: calc(25% - 2rem); border:1px solid #ccc; border-radius: 1rem; margin-right:2rem}
.floor_photo{overflow:hidden; width: 75%; position:relative}
.floor_photo img{max-width:100%; width:100%}
.floor_photo svg{display: none;}
.photo{position:relative; margin-bottom: 2rem;}
.photo .swiper-button-next{background:none; background:url(../images/sub01/arrow_next.png) no-repeat; width: 50px; height: 50px;}
.photo .swiper-button-prev{background:none; background:url(../images/sub01/arrow_prev.png) no-repeat; width: 50px; height: 50px;}


/* 층별안내 아코디언 */

.accordion {cursor: pointer;padding: 18px;width: 100%; background:none; border: none;text-align: left;outline: none;font-size: 15px;transition: 0.4s;  }
.active, .accordion:hover { }
.accordion:after {content: '\2212';color: #777;font-weight: bold;float: right;margin-left: 5px;}  
.active:after {content: "\002B";}
.panel{display:flex;overflow:hidden; padding:1.2rem 1rem; max-height: 0; transition: all 0.2s; border-bottom:1px solid #ccc; transition: all .5s;}
.panel_last{border:none}
.panel a{display:flex}
.panel h2{font-size: 3rem; font-weight:bold; color:#f18c45; padding:0 1rem 0 0}
.panel p{padding:.5rem 0 0; color:#666; font-size:1.6rem}

.panel:hover,
.panel.selected{background:#ed9734 ;}
.panel.selected h2,
.panel.selected p,
.panel:hover h2,
.panel:hover p{color:#fff;}



/* 오시는길 */
.map{display: flex; gap:5rem}
.map_info{flex-basis:30%; display: flex; flex-direction: column; gap:2rem}
.map_info p{margin-bottom: var(--fmb);}
.map_info dl{border-bottom: 1px solid #ccc; padding-bottom: var(--fmb);}
.map_info dl dt{font-weight: bold; font-size: 2.4rem; margin-bottom: 1rem;}
.map_info dl dd{font-size: var(--conTxt);}
.map_info li{display: flex; gap:2rem; align-items: center; padding:1rem 0; }
.map_info li span{display: inline-flex; width:30%; font-weight: bold;}
.map_info li span i{color:var(--main_color); display: inline-block; margin-right: 1rem;}
.map_area{flex-basis:70%}


/* 진료절차 */
.process_list {display: flex; gap:5rem}
.process_list li{flex:1; position: relative;}
.process_list li::before{content: ''; width: 8rem; height: 2rem; background: url(../images/info/process_arrow.png) no-repeat; background-size: cover; position: absolute; top: 10rem; right: -6.5rem;}
.process_list li:last-child::before{display: none;}
.process_list li p{width: 25rem; height: 25rem; border-radius: 100%;  overflow: hidden; margin: auto; margin-bottom: 3rem;}
.process_list li dl{text-align: center;}
.process_list li dl dt{font-weight: bold; font-size: 2.6rem; margin-bottom: 2rem;}
.process_list li dl dd span{display: flex; background: var(--main_color); color:#fff; text-align: center; padding:1rem; border-radius: 1rem; justify-content: center; }


.out_process{display: flex; flex-wrap: wrap; gap:3rem; margin-right: -3rem;}
.out_process li{width: calc(25% - 3rem); border-radius: 2rem;  border:1px solid #ccc; text-align: center; padding:2rem; position: relative;}
.out_process li::before{content: '▶'; font-weight: bold; font-size:3rem; color:#91a5b1; position: absolute; top: 5rem; right: -2.4rem;}
.out_process li:last-child::before{display: none;}
.out_process li span{display: flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; background: var(--main_color); color:#fff; border-radius: 100px; margin: auto; margin-top: -4rem;}
.out_process li i{font-weight: bold; font-size:5rem;display: block; padding:2rem 0 1rem 0; color:#666}
.out_process li em{display: block; font-size: 1.4rem; color:#666}


.info_time{display: flex;}
.info_time p{flex:1}
.time_list{flex:1; background: var(--main_color);padding:5rem}
.time_list dl{display: flex; gap:3rem; margin-bottom:1rem;  color:#fff; font-weight: bold; font-size: 2.4rem;  }
.time_list dl dt{font-weight: bold; display: flex; gap:1rem; align-items: center;}
.time_box{background: #fff; color:#333; padding:2rem; border-radius: 2rem; margin-top: 2rem;}
.time_box li{padding: 1rem 0; border-bottom: 1px dashed #ccc;}

/* 입퇴원 안내 */
.visit_list{display: flex}
.visit_img{flex:1;}
.visit_text{flex:1;}
.visit_text p{font-weight: bold; font-size:2.6rem}


/* 의료진 소개 */
.doctor{display: flex; flex-wrap: wrap; gap:5rem; margin-right: -5rem;}
.doc_list{width: calc(50% - 5rem); border:1px solid #ccc; border-radius: 3rem; padding:3rem; background: url(../images/medical/doc_bg.jpg) no-repeat right top;}
.doc_list dl dt{font-weight: bold; background:var(--main_color); display: inline-block; padding:0 2rem; color:#fff; border-radius: 100px;}
.doc_list dl dd{font-weight: bold; font-size: 3.5rem;}
.doc_wrap{display: flex; gap:5rem}
.doc_con{width:50%}
.doc_photo{width: 50%;}

/* 정신건강학 소개 */
.intro_list{display: flex; gap:5rem; margin-bottom: 5rem;}
.intro_list p{width:40%}
.intro_list dl{width:calc(60% - 5rem)}
.intro_list dl dt{font-weight: bold; font-size:3rem; color:var(--main_color); margin-bottom: 2rem;}
.intro_list dl dd span{color:var(--sub_color)}

/*.intro_list:nth-child(even){flex-direction: row-reverse;}*/


/* 클리닉 */
.clinic_con{display: flex; gap:10rem; margin-bottom: 5rem; padding-bottom: 5rem; border-bottom:3px dotted #ccc}
.clinic_con p{width: 60rem; position: relative; padding:2rem}
.clinic_con p::before{content: ''; width: 50%; height: 50%; background: var(--sub_color); position: absolute; top: 0; left: 0; z-index:-1}
.clinic_con p::after{content: ''; width: 50%; height: 50%; background: var(--main_color); position: absolute; bottom: 0; right: 0; z-index:-1}
.clinic_con dl{width: calc(100% - 70rem);}
.clinic_con dl dt{font-weight: bold; font-size:3rem; margin-bottom: 1rem;}
.clinic_con:nth-child(even){flex-direction: row-reverse;}


/* 프로그램 안내 */
.program_list{display: flex; flex-wrap: wrap; gap:5rem; margin-right: -5rem;}
.program_con{width: calc(33% - 5rem);}
.program_con p{overflow: hidden; border-radius: 2rem; margin-bottom: 2rem;}
.program_con p img{transition: .5s;}
.program_con p img:hover{transform: scale(1.2);}
.program_con dl dt{font-weight: bold; font-size: 2.4rem; margin-bottom: 1rem;}

/* 온라인문의 */
.online_form{display: flex; gap:5rem}
.online_form h3{flex-basis: 30%;  font-size:1.6rem; font-weight: normal; padding:0 0 2rem 0}
.online_form h3 span{display: block; font-weight: bold; color:var(--main_color); font-size: 3rem;}
.online_form h3 p{position: relative;}

/* 라디오버튼 */
.radio_wrap {display: inline-block; position: relative; padding-left: 3rem; margin-right: 1rem; margin-bottom: 1.2rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.radio_wrap input {position: absolute; opacity: 0; cursor: pointer;}
.checkmark {position: absolute; top: 0;left: 0; height: 2rem; width: 2rem; background-color: #eee; border-radius: 50%;}
.radio_wrap:hover input ~ .checkmark {background-color: #ccc;}
.radio_wrap input:checked ~ .checkmark {background-color:var(--sub_color);}
.checkmark:after {content: ""; position: absolute; display: none; }
.radio_wrap input:checked ~ .checkmark:after { display: block;  }
.radio_wrap .checkmark:after { top: 50%; left: 50%; transform: translate(-50%, -50%);  width: 8px;  height: 8px; border-radius: 50%; background: white; }

.form_area{width: 70%;}
.online_form p{padding-top: 2rem;}
.online_form dl{display:flex; align-items: center; padding:3rem 0; border-bottom:1px dotted #ccc}
.online_form dl dt{width:20%; text-align: center;}
.online_form dl dd{width: 80%;}
.form_input{border: 1px solid #ccc; padding:1rem; width:100%; font-size:1.4rem}
.form_text{border: 1px solid #ccc; padding:2rem; width:100%; height: 30rem; overflow-y: auto;  font-size:1.4rem}
#btn_submit{background: var(--sub_color); color:#fff; padding:1rem 2rem}



/* 아코디언 */
.beefup {margin: 1em 0; border: 1px solid #ddd; border-radius: 4px; }
.beefup:hover {border-color: #ccc;}
.beefup:first-child {margin-top: 0;}
.beefup__head, .beefup__body {padding: 2rem;}
.beefup__head {cursor: pointer; position: relative; margin: 0; padding-right: 50px;}
.beefup__head span{display: inline-flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; margin-right: 3rem; border-radius: 100%; background: var(--sub_color); color:#fff; font-family: var(--font-eng);}
button.beefup__head, .beefup__head > button { cursor: pointer; display: block; width: 100%; background: none; border: 0; font: inherit; text-align: inherit;}
button.beefup__head[aria-disabled], .beefup__head > button[aria-disabled] {cursor: default; outline: 0; }
.beefup__head > button{position: relative; z-index: 1; margin: -10px -50px -10px -20px; padding: inherit; width: calc(100% + 70px); background: inherit; border: inherit;}
.beefup__head::after {transition: transform 0.2s ease-out; content: ""; transform: translate(0, -50%) rotate(45deg); position: absolute; top: 50%; right: 20px; z-index: 0; margin-top: -2px; padding: 3px; border-width: 0 2px 2px 0; border-style: solid; color: #ccc;}
.beefup.is-open > .beefup__head::after {transform: translate(0, -50%) rotate(225deg); margin-top: 2px;}
.mockup{background: #fafafa; padding:2rem}  








