/* 공통 */
.sub_bg{background-color: #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{ color:var(--sub_color)}
.greetings dl dd em{text-align: right; font-weight: bold; font-size: 2.4rem; display: block;}


/* 연혁 */
.history_con{display: flex; flex-wrap: wrap; position: relative; padding:5rem 0}
.history_con::before{content: ''; width: 1rem; height: 100%; background:var(--main_color); position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.history_con dl{width:50%; /*display: flex; gap:3rem; align-items: center; */position: relative; padding:0 10rem;  margin-top:15rem;}
.history_con dl::before{content: ''; width: 1.5rem; height: 1.5rem; background:#fff; border: 3px solid var(--main_color); border-radius: 100%; position: absolute; top: 0; left:-.7rem; z-index: 1;}
.history_con dl::after{content: ''; width: 5rem; height:1px; background: var(--main_color); position: absolute; top:.5rem; left: 0; }
.history_con dl dt{font-family: var(--font-eng); font-weight: bold; font-size:4rem; color:var(--main_color); margin-bottom: 2rem;}
.history_con dl:nth-child(odd){text-align:right;  margin-top:5rem;}
.history_con dl:nth-child(odd)::before{left:auto; right:-.7rem}
.history_con dl:nth-child(odd)::after{left:auto; right: 0;}
.history_con dl dd{display: inline-block; position: relative; padding-left: 1.5rem;}
.history_con dl dd::before{content: ''; width: .3rem;  height: .3rem; background: #333; border-radius: 10rem; position: absolute; top: 1rem; left:0}
.history_con dl dd p{padding:2rem 0}
.history_img::before{display: none;}

/* 오시는길 */
.map{display: flex; gap:5rem}
.map_info{flex-basis:30%; display: flex; flex-direction: column; gap:2rem}
.map_info dl{border-bottom: 1px solid #ccc; padding-bottom: 2rem;}
.map_info dl dt{font-weight: bold; font-size: 2.5rem;}
.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%}

/* 제품소개 */
.product_con{display:flex; gap:10rem; overflow: hidden; position: relative;}
.product_img{width: 60%; overflow: hidden; position: relative;}
.product_img .swiper-button-next,
.product_img .swiper-button-prev{background: none;}
.product_img .swiper-button-next span,
.product_img .swiper-button-prev span{font-size:4rem}

.product_info{width: calc(40% - 10rem);}
.product_info dl dt {font-size: 3rem; font-weight: bold; margin-bottom: 2rem;}
.product_info dl dt span{display:block; font-weight:900; font-size: 5rem;}
.product_info ul{display: flex; gap:2rem; text-align: center; margin-top: 3rem;}
.product_info ul li{flex:1}
.product_info ul li a{display: flex;gap:1rem; justify-content: center; align-items: center; padding: 1.5rem 2rem; border: 1px solid #ccc; transition: .5s; }
.product_info ul li:last-child a{background: var(--sub_color); color:#fff; border: none;}
.product_info ul li a:hover{background: #333; color:#fff}

.thumb_list{display: flex; gap:2rem}
.thumb_list dl{flex:1;  text-align: center;}
.thumb_list dl dt{background: var(--main_color); color:#fff; padding: 1rem;}

.flex_layout{display: flex; gap:5rem}
.flex_layout p{width: 70%;}
.flex_layout > div{width: 30%;}

.table02 th,
.table02 td{padding: 1rem;}

/* 바렐 */
.flex_list{display: flex; flex-wrap: wrap; gap:3rem; margin-right: -3rem;}
.flex_list li{width: calc(25% - 3rem); position: relative; cursor: hand;}
/*.flex_list li::before{content: '+'; border-radius: 100%; width: 5rem; height: 5rem; background: rgba(0,0,0,0.5); color:#fff; display: flex; justify-content: center; align-items: center; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); display: none;}
.flex_list li:hover::before{display: flex;}*/

/* 연구소 소개 */
.rnd_list{display: flex; gap:2rem; justify-content: center; text-align: center; font-weight: bold;}
.rnd_list li p{width: 30rem; height: 30rem; border-radius: 100%; overflow: hidden; margin-bottom: 2rem;}


/* 인증서 */
.cer_list li{width: calc(20% - 3rem); text-align: center;}
.cer_list li p{border: 1px solid #ccc; box-shadow: 0 0 1rem rgba(0,0,0,0.2); margin-bottom: 2rem;}
.cer_list li span{}

/* 온라인문의 */
.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}  







