/* **************************************** *
 * FORM
 * **************************************** */
 input[type="button"], input[type="text"], input[type="number"], input[type="file"], input[type="password"], input[type="tel"], input[type="image"], input[type="checkbox"], input[type="radio"], textarea, select { -moz-appearance:none; -webkit-appearance:none; appearance:none } 
 input[type="text"],
 input[type="number"] { font-size: 14rem; border: 1rem solid #e8e8e8; padding: 0 10rem; height: 40rem; border-radius: 5rem; } 
 input[type="text"]:focus,
 input[type="number"]:focus { outline: none; } 
 input[fw-label="이메일"] { width: 150rem; } 
 input[type="password"] { font-size: 14rem; border: 1rem solid #e8e8e8; padding: 0 10rem; height: 40rem; border-radius: 5rem; padding-right: 30rem; } 
 input[type="password"]:focus { outline: none; } 
 input[fw-label="패스워드"],
 input[fw-label="비밀번호"],
 input[fw-label="새 비밀번호"],
 input[fw-label="비밀번호 확인"] { padding-right: 30rem; } 
 select { font-size: 14rem; border: 1rem solid #e8e8e8; padding: 0 25rem 0 10rem; height: 40rem; border-radius: 5rem; background: #fff url("../images/icon/select_arrow.svg") no-repeat right 8rem center / 8rem auto; color: #000; } 
 select:focus { outline: none; } 
 textarea { border: 1rem solid #e8e8e8; padding: 10rem; resize: none; font-size: 14rem; width: 100%; border-radius: 5rem; } 
 textarea:focus { outline: none; } 

 input:-webkit-autofill { -webkit-box-shadow: 0 0 0 500rem white inset !important; } 

 input[type="radio"] { width: 16rem; height: 16rem; vertical-align: middle; margin: -3rem 2rem 0 0; background: url("../images/icon/input_radio_blank.png") no-repeat 0 0; background-size: 16rem 16rem; transition: 0.2s ease-out; } 
 input[type="radio"]:checked { background-image: url("../images/icon/input_radio.png"); } 
 input[type="radio"] + label { margin-right: 5rem; } 
 input[type="radio"]:checked + label { } 
 input[type="radio"]:not([disabled="1"]) { cursor: pointer; } 
 input[type="radio"]:not([disabled="1"]) + label { cursor: pointer; } 
 input[type="radio"][disabled="1"] { opacity: 0.2; } 
 input[type="radio"][disabled="1"] + label { opacity: 0.2; } 

 input[type="checkbox"] { width: 18rem; height: 18rem; vertical-align: middle; margin: -2rem 2rem 0 0; background: url("../images/icon/input_checkbox_blank.png") no-repeat 0 0; background-size: 16rem 16rem; transition: 0.2s ease-out; } 
 input[type="checkbox"]:checked { background-image: url("../images/icon/input_checkbox.png"); } 
 input[type="checkbox"] + label { margin-right: 5rem; } 
 input[type="checkbox"]:checked + label { } 
 input[type="checkbox"]:not([disabled="1"]) { cursor: pointer; } 
 input[type="checkbox"]:not([disabled="1"]) + label { cursor: pointer; } 
 input[type="checkbox"][disabled="1"] { opacity: 0.2; } 
 input[type="checkbox"][disabled="1"] + label { opacity: 0.2; } 

 input[type="file"] { font-size: 14rem; cursor: pointer; display: block; margin-bottom: 5rem; } 
 input[type="file"]::file-selector-button { font-size: 14rem; border: 1rem solid #bbb; border-radius: 4rem; padding: 5rem 10rem; font-weight: 600; transition: border-color 0.4s; background: none; cursor: pointer; vertical-align: middle; color: #000; } 
 input[type="file"]:hover::file-selector-button { border: 1rem solid #222; } 
 input[type="checkbox"][fw-label="삭제"] { margin-left: 10rem; } 

 img[alt="필수"] { display: inline-block; vertical-align: middle; margin-top: -4rem; height: 7rem; } /* required */
 /* @media all and (max-width:660px){ input[type="text"],
 input[type="number"],
 input[type="password"],
 select { height: 35rem; font-size: 14rem; } 
 } */

 input.form-field{width: 100%;height: 45rem;}
 .form-block{margin-top: 7rem;}
 
/* **************************************** *
 * ADDRESS
 * **************************************** */


/* **************************************** *
 * PHONE
 * **************************************** */
 .form-phone { display: flex; align-items: center; gap:0 5rem; } 
 .form-phone select,
 .form-phone input[type="text"] { text-align: center; width: 80rem; } 

 .form-phone2 { display: flex; align-items: center; gap:0 5rem; } 
 .form-phone2 select,
 .form-phone2 input[type="text"] { text-align: center; width: 180rem; } 

 
 /* **************************************** *
 * YMD
 * **************************************** */
 .form-ymd { display: flex; align-items: center; gap:0 5rem; } 
 .form-ymd input[type="text"],
 .form-ymd select { text-align: center; width: 80rem; margin-left: 8rem; } 
 .form-ymd input[type="text"]:first-child,
 .form-ymd select:first-child { margin: 0; } 
 .form-solar { display: block; margin-top: 8rem; } 


 /* **************************************** *
 * EMAIL
 * **************************************** */
 .form-email { display: flex !important; align-items: center; gap:0 5rem } 
 .form-email + span { display: block; margin-top: 10rem; font-size: 13rem; } 
 .form-email + span span { margin-right: 10rem; } 


/* **************************************** *
 * TITLE
 * **************************************** */
 h2.title-main { font-size: 25rem; margin: 50rem 0 0; padding-bottom: 30rem; font-weight: 700; border-bottom: 2rem solid var(--color-neutral-10); } 
 h3.title-sub { font-size: 38rem; padding: 70rem 0 30rem; font-weight: 700; } 
 h4.title-mini { font-size: 15rem; font-weight: 600; margin: 20rem 0 10rem; } 
 h5.title-tiny { font-size: 14rem; font-weight: 500; margin: 15rem 0 6rem; } 

.section-title { text-align: center; margin-bottom: 40rem; } 
.section-title h3 { font-size: 22rem; font-weight: 700; margin-bottom: 8rem; } 
.section-title p { font-size: 14rem; font-weight: 500; color: #888; } 

/* **************************************** *
 * PATH
 * **************************************** */
 .path { display: flex; font-size: 16rem; font-weight: 600; display: none; } 
 .path > ol { display: flex; } 
 .path > ol > li{color: #000;width: 250rem;height: 60rem;border-left: 1rem solid var(--color-neutral-2);padding: 18rem 20rem;font-weight: 300;font-size: 17rem;display: flex;align-items: center;position: relative;}
 .path > ol > li:nth-child(1){width: 60rem;height: 60rem;padding: 0;justify-content: center;}
 .path > ol > li:nth-child(1) > a {width: 100%;height: 100%; display: flex;align-items: center;justify-content: center; } 
 .path > ol > li:last-child{border-right: 1rem solid var(--color-neutral-2);}
 .path > ol > li > a img{width: 18rem;}
 .path > ol > li > span{position: absolute;top:0;right: 0;width: 40rem;height: 60rem;background: url(../images/icon/ic_select.svg) no-repeat center center / 16rem auto;cursor: pointer;transition: transform 0.3s;}
 .path > ol > li > span.on{transform: rotate(180deg);}

 .path > ol > li > ul{position: absolute;left: -1rem;top:100%;width: calc(100% + 2rem);z-index: 10;border: 1rem solid var(--color-neutral-2);background: #fff;display: none;}
 .path > ol > li > ul > li{font-weight: 300;font-size: 15rem;border-bottom: 1rem solid var(--color-neutral-2);}
 .path > ol > li > ul > li > a{padding: 18rem 20rem;display: block;}
 .path > ol > li > ul > li:last-child{border-bottom: none;}

 @media all and (max-width: 1023px){
 /* .path { display: none; }  */
 }

 @media all and (max-width:860px) {
   .path{display: none;}
 }

/* **************************************** *
 * TABLE
 * **************************************** */
 .ms-table { } 
 .ms-table table { width: 100%; border-collapse:collapse; } 
 .ms-table table caption { display: none; } 
 
 .ms-table table tr{border-bottom: 1rem solid #e8e8e8;}
 .ms-table table th,
 .ms-table table td { padding: 15rem 10rem; font-size: 16rem; font-weight: 400; line-height: 1.5; } 
 .ms-table table th { background-color: #f6f6f6; } 
 .ms-table table th[scope="row"] { border-bottom: 1rem solid #e8e8e8; } 
 @media all and (max-width:1023px){
    .ms-table table th,
    .ms-table table td { padding: 10rem; } 
     
    .col-rwd { width: 100rem !important; } 
 }

 .ms-table .message { padding: 60rem 0; text-align: center; font-size: 13rem; color: #888; } 

 .ms-table__small { } 
 .ms-table__small table th,
 .ms-table__small table td { padding: 12rem 10rem; font-size: 12rem; } 

 /* scroll-table */
 .scroll-table__wrap + .text-info { display: none; } 

 @media all and (max-width:660px){ 
    table.scroll-table { width: 660rem; } 
    table.scroll-table.large { width: 860rem; } 
    .scroll-table__wrap { 
        overflow-x: scroll; 
        scrollbar-color: var(--color-primary) var(--color-neutral-1); 
        scrollbar-width: thin;
    }

    .scroll-table__wrap::-webkit-scrollbar {
        height: 8rem;
    }

    .scroll-table__wrap::-webkit-scrollbar-track {
        background: var(--color-neutral-1);
        border-radius: 4rem;
    }

    .scroll-table__wrap::-webkit-scrollbar-thumb {
        background: var(--color-primary);
        border-radius: 4rem;
    }

    .scroll-table__wrap + .text-info { display: block; text-align: center; margin-top: 8rem; } 
 }

 @media all and (max-width:560px){ 
    table.scroll-table.small { width: 560rem; } 
 }



 /* custom */
 @media all and (max-width:1023px) {
     .ms-table > table{display: block;width: 100%;}
     .ms-table > table > thead{display: none;}
     .ms-table > table > tbody{display: block;border-top: 1rem solid #000;}
     .ms-table > table > tbody tr{display: block;padding: 10rem 0;width: 100%;box-sizing: border-box;}
     .ms-table > table > tbody tr td{font-size: 12rem;padding: 3rem 8rem;color: #666;}
     .ms-table > table > tbody tr td.text-left{font-size: 14rem;display: block;color: #000;}
     .ms-table > table > tbody tr td.text-left a{display: inline-block;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;max-width: 100%;}
 }

 /* **************************************** *
 * TABS
 * **************************************** */
 .tabs { } 
 .tabs .tab-list { } 
 .tabs .tab-list.current { } 

 .tab-contents { } 
 .tab-contents .tab-content { display: none; opacity: 0; visibility: hidden; transition: all 0.6s; } 
 .tab-contents .tab-content.current { display: block;; } 
 .tab-contents .tab-content.show { opacity: 1; visibility: visible; } 

 
 /* **************************************** *
 * PAGINATE
 * **************************************** */
 .ms-paginate { display: flex; align-items: center; justify-content: center; margin-top: 30rem; } 
 .ms-paginate > .prev,
 .ms-paginate > .next { width: 25rem; height: 35rem; display: flex; align-items: center; justify-content: center; font-size: 0; } 
 .ms-paginate > .prev img,
 .ms-paginate > .next img { display: none; } 
 .ms-paginate > .prev svg,
 .ms-paginate > .next svg { opacity: 0.3; transition: opacity 0.4s; } 
 .ms-paginate > .prev:hover svg,
 .ms-paginate > .next:hover svg { opacity: 1; } 
 
 .ms-paginate > a:not(.prev):not(.next) { width: 35rem; height: 35rem; display: flex; align-items: center; justify-content: center; font-size: 13rem; padding-top: 0; opacity: 0.3; transition: opacity 0.4s; } 
 .ms-paginate > a:not(.prev):not(.next):hover { opacity: 1; } 
 .ms-paginate > span.current { width: 35rem; height: 35rem; display: flex; align-items: center; justify-content: center; font-size: 13rem; padding-top: 0; font-weight: 600; opacity: 1; } 
 .ms-paginate > span.dots { width: 35rem; height: 35rem; display: flex; align-items: center; justify-content: center; font-size: 0; padding-top: 0; } 
 .ms-paginate > span.dots::before { content: '···'; font-size: 13rem; color: #888; } 

 @media all and (max-width:660px){
    .ms-paginate > a svg,
    .ms-paginate > ol > li a{opacity: 1;}
 }
 

/* **************************************** *
 * INFO / TOOLTIP
 * **************************************** */

 /* info */
 ul.info { margin: 20rem 0 0; font-size: 13rem; } 
 ul.info > li { position: relative; padding-left: 12rem; margin-bottom: 7rem; line-height: 1.4; } 
 ul.info > li:last-child { margin-bottom: 0; } 
 ul.info > li::before { content: ''; width: 3rem; height: 3rem; background: #666; border-radius: 50%; position: absolute; top:6rem; left: 0; } 

 ul.list-info { font-size: 13rem; color: #888; margin: 20rem 0; } 
 ul.list-info li { position: relative; padding-left: 12rem; margin-bottom: 6rem; } 
 ul.list-info li a { color: #000; } 
 ul.list-info li:last-child { margin-bottom: 0; } 
 ul.list-info li::before { content: ''; width: 3rem; height: 3rem; background: #888; border-radius: 50%; position: absolute; top:6rem; left: 0; } 

 /* div text-info */
 div.text-info { margin-top: 40rem; color: #000; } 
 div.text-info > h3 { font-size: 16rem; margin: 0 0 20rem; } 
 div.text-info > .inner { padding: 20rem; border: 1rem solid #e8e8e8; border-top: 1rem solid #000; font-size: 12rem; line-height: 20rem; font-weight: normal; } 
 div.text-info > .inner > h4 { margin-top: 20rem; } 
 div.text-info > .inner > h4:first-child { margin-top: 0; } 
 div.text-info > .inner > p { margin-top: 10rem; } 
 div.text-info > .inner > ol { margin-top: 10rem; } 
 div.text-info > .inner > ol:first-child { margin-top: 0; } 
 div.text-info > .inner > ol > li { position: relative; padding-left: 12rem; } 
 div.text-info > .inner > ol > li::before { content: ''; width: 3rem; height: 3rem; background: #666; border-radius: 50%; position: absolute; top:7rem; left: 0; } 


/* **************************************** *
 * BUTTONS
 * **************************************** */
 button { background: #fff; color: #000; } 
 .button-wrap { margin-top: 20rem; overflow: hidden; } 
 .ms-button { display: inline-block; font-size: 12rem; border: 1rem solid #bbb; border-radius: 4rem; padding: 5rem 10rem; font-weight: 600; transition: border-color 0.4s; cursor: pointer; text-align: center; background: #fff; line-height: 1; } 
 .ms-button:hover { border: 1rem solid #222; } 

 .ms-button__full{width: 100%; background: var(--color-primary); color: #fff; font-size: 16rem; padding: 15rem 10rem; }
 .ms-button.ms-button__05 { background: #fff; border: 1rem solid #bbb; color: #222; width: 100%; font-size: 16rem; padding: 15rem 10rem; } 
 .ms-button.ms-button__06 { width: 100%; padding: 10rem; } 
 .ms-button.ms-button__07 { background: #222; border: 1rem solid #222; color: #fff; width: 100%; font-size: 16rem; padding: 15rem 10rem; } 
 .ms-button.ms-button__08 { padding: 0 20rem; line-height: 38rem; background: #222; border: 1rem solid #222; color: #fff; } 
 .ms-button.ms-button__09 { padding: 10rem 20rem; } 
 .ms-button.ms-button__10 { background: #222; border: 1rem solid #222; color: #fff; } 
 .ms-button.ms-button__11 { padding: 8rem 10rem; } 

 .bounce-button svg { transition:transform 0.1s } 
 .bounce-button.animate svg { animation: bounceIn 0.5s; } 
 .bounce-button svg path { stroke:#000; } 
 .bounce-button.on svg path { fill: #000; stroke:#000; } 

 @media all and (max-width:1023px){
 .print-button { display: none; } 
 }

 @media all and (max-width:660px){
 .ms-button:hover { border: 1rem solid #bbb } 
 .ms-button.ms-button__11 { padding: 10rem; } 
 }

 @media all and (max-width:560px){
 .ms-button.ms-button__08 { padding: 0 10rem; } 
 }

 .empty-text { text-align: center; font-size: 14rem; color: #888; margin: 30rem 0; }


 /* **************************************** *
 * SWIPER
 * **************************************** */
 .swiper .swiper-pagination { bottom: 25rem; } 
 .swiper .swiper-pagination > span { width: 5rem; height: 5rem; margin: 0 5rem; background: var(--color-neutral-1); opacity: 0.5; border-radius: 5rem; transition: all 0.4s; } 
 .swiper .swiper-pagination > span.swiper-pagination-bullet-active { opacity: 1; width: 25rem; } 


 .ms-pc{}
 .ms-mo{display: none;}

 @media all and (max-width:660px) {
    .ms-pc{display: none;}
    .ms-mo{display: block;}
 }