* { margin: 0; padding: 0; box-sizing: border-box;}
a, a:visited, a:hover, a:active {text-decoration: none;}
ul, li, ol {list-style: none;}
/* img {width: 100%;} */
/* <img> 에는 원본 픽셀 width/height 속성을 넣어 로딩 전 비율(aspect-ratio)을 브라우저에 알려준다(CLS 방지).
   단, 속성값이 그대로 표시 크기가 되면 flex 안에서 늘어나거나 줄어들지 못해 레이아웃이 깨지므로 CSS 에서 auto 로 되돌린다.
   크기는 기존처럼 원본 크기 또는 클래스별 CSS 가 결정한다. */
img {width: auto; height: auto;}

/* 화면에는 숨기고 검색엔진·스크린리더에만 노출하는 텍스트 */
.blind {position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}

section.white {background-color: #fff;}
section.grey {background-color: #F9F8F3;}
section.green {background-color: #043330;}

/* header */
.header {z-index: 999; position: fixed; width: 100%; left: 0; top: 0; background-color: #043330; padding: 24px 300px; display: flex; justify-content: center;}
.header ul {display: flex; align-items: center; width: 100%; justify-content: space-between;}
.header ul a {color: #fff; font-family: "PretendardSB"; font-size: 35px;}
.header ul a.mobileLogo {display: none;}
.header ul a.numberNav {font-family: "Danjunghae"; display: flex; gap: 5px; align-items: center;}
.header ul li .mobileMenuBtn {cursor: pointer; display: none; border: none; background-color: transparent;}
.header nav {display: none;}
.header nav a {color: #fff; font-family: "PretendardSB"; font-size: 26px;}
.header nav#mobileMenu .divider {width: 100%; height: 1px; opacity: 0.3; margin: 0; background-color: #ffffff;}

/* main */
main {max-width: 1920px; margin: 90px auto 0 auto; overflow-x: hidden;}

/* mainBanner */
.mainBanner {position: relative; background: url(../images/main_banner.png) no-repeat; width: 100%; height: 670px; overflow: hidden; background-size: 1920px 670px; background-position: center top;}
.mainBannerText {font-weight: normal; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; gap: 10px; align-items: center;}
.mainBannerText .bannerTopText {white-space: nowrap; font-family: "RiaSansB"; font-size: 75px; line-height: 72px;}
.mainBannerText .bannerBgText {white-space: nowrap; background-color: #F8781F; color: #fff; padding: 10px 15px; font-family: "RiaSansB"; font-size: 75px; line-height: 72px;}
.mainBannerText .bannerSubText {white-space: nowrap; font-size: 40px; color: #FF6900; font-family: "RiaSansB"; line-height: 72px;}

/* wreath */
.wreath {padding: 70px 0;}
.wreath .title {z-index: 2; height: 149px; background-position: center; margin: 0 auto; position: relative; display: inline-block; display: flex; justify-content: center; align-items: center; background-repeat: no-repeat;}
.wreath .title .titleText {color: #fff; font-family: "RiaSansB"; font-size: 50px; position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%, -62%); letter-spacing: 2%;}
.wreath .wreathWrapper {display: flex; justify-content: center; gap: 10px; margin: 25px auto;}
.wreath .wreathWrapper .wreathWrap {display: flex; flex-direction: column; border: 1px solid #000000;}
.wreath .wreathWrapper .wreathPriceWrap {padding: 15px 22px; background-color: #043330; color: #FFFFFF;}
.wreath .wreathWrapper .wreathPriceWrap .wreathPrice {font-family: "JalnanGothic"; font-size: 22px; margin-bottom: 2px;}
.wreath .wreathWrapper .wreathPriceWrap .wreathDesc {font-family: "Paperlogy5M"; font-size: 20px;}
.wreath .wreathLink {line-height: 92px; border-radius: 55px; position: relative; color: #fff; font-family: "RiaSansB"; font-size: 42px; display: flex; justify-content: center; max-width: 1020px; margin: 0 auto; background-color: #FF6900; letter-spacing: 2%;}
.wreath .wreathLink::before {position: absolute; top: 0; right: 50px; content: ""; background-image: url(../images/wreath_link_icon.png); width: 113px; height: 133px;}
.wreath.wreath3 .title .titleText {transform: translate(-50%, -70%);}
.wreath.wreath4 .title .titleText {transform: translate(-50%, -70%);}
.wreath.wreath5 .title .titleText {transform: translate(-50%, -70%);}
.wreath .title::before {content: ""; position: absolute; width: 100%; height: 10px; background-color: #043330; border-radius: 6px; top: 50%; z-index: 1;}
.wreath .title .mobile {display: none;}
.wreath .title img {position: relative; z-index: 2;}

/* subBanner */
.subBanner {position: relative; background: url(../images/sub_banner.png) no-repeat; width: 100%; height: 700px; overflow: hidden; background-size: cover; background-position: center;}
.subBanner .subBannerLink {display: inline-block; width: 100%; height: 100%;}

/* self */
.self {padding: 89px 0; background-color: #F9F8F3;}
.self .selfWrap {display: flex; flex-direction: column; gap: 25px; justify-content: center; align-items: center; margin-bottom: 25px;}
.self .selfTitle {font-family: "LINESeedKRB"; font-size: 42px;}
.self .selfImg {position: relative;}
.self .selfImg .selfDesc {position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); font-family: "LINESeedKRR"; font-size: 28px; display: flex; flex-direction: column; align-items: center; color: #fff;}
.self .selfImg .selfDesc .strong {font-family: "LINESeedKRB";}
.self .selfLink {position: relative; border-radius: 60px; color: #043330; font-family: "RiaSansB"; font-size: 36px; background: #FDDC37; display: flex; justify-content: center; max-width: 1020px; margin: 0 auto; padding: 10px 0; letter-spacing: 7%;}
.self .selfLink {line-height: 75px; position: relative; color: #043330; font-family: "RiaSansB"; font-size: 42px; display: flex; justify-content: center; max-width: 1020px; margin: 0 auto; letter-spacing: 2%;}
.self .selfLink::before {position: absolute; top: 0; right: 50px; content: ""; background-image: url(../images/wreath_link_icon.png); width: 113px; height: 133px;}

/* allDayBanner */
.allDayBanner {padding: 127px 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 35px;}
.allDayBanner .allDayTitle {font-family: "RiaSansB"; color: #fff; font-size: 75px;}
.allDayBanner .allDayTitle .allDayTitleSub {color: #FDDC37;}
.allDayBanner .allDayWrap {display: flex; gap: 32px;}
.allDayBanner .allDayItem {background-color: #fff; border-radius: 32px; padding: 23px; display: flex; flex-direction: column; gap: 23px; align-items: center;}
.allDayBanner .allDayItem .allDayLinkWrap {display: flex; gap: 32px; align-items: center; width: 100%; height: 100%;}
.allDayBanner .allDayItem .allDayTitle {font-family: "RiaSansB"; font-size: 46px;}
.allDayBanner .allDayItem .allDayTitle .allDayTitleSub {padding: 0 8px;}
.allDayBanner .allDayItem.chatWrap .allDayTitle { color: #FF6900;}
.allDayBanner .allDayItem.chatWrap .allDayTitle .allDayTitleSub {background-color: #FF6900; color: #fff;}
.allDayBanner .allDayItem.callWrap .allDayTitle {color: #043330;}
.allDayBanner .allDayItem.callWrap .allDayTitle .allDayTitleSub {background-color: #043330; color: #fff;}
.allDayBanner .allDayItem .allDayLinkWrap .allDayLink {position: relative; display: inline-block; width: 100%; height: 100%;}
.allDayBanner .allDayItem .allDayLinkWrap .allDayLink .naver {background-color: #04C75B;}
.allDayBanner .allDayItem .allDayLinkWrap .allDayLink .linkText {font-family: "LINESeedKRB"; white-space: nowrap; position: absolute; left: 50%; transform: translateX(-50%); font-size: 29px; color: #043330;}
.allDayBanner .allDayItem .allDayLinkWrap .allDayLink .linkText {position: static; transform: none; background-color: #fff; padding: 6px 24px 4px 24px; display: flex; align-items: center; justify-content: center; border: 2px solid #3E2A2E; border-radius: 24px;}
.allDayBanner .allDayItem .call {background-color: #FF6900; display: flex; flex-direction: column; gap: 20px; align-items: center; padding: 27px 40px; gap: 34px; box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25); border-radius: 24px;}
.allDayBanner .allDayItem .naver {background-color: #04C75B;; display: flex; flex-direction: column; gap: 20px; align-items: center; padding: 27px 40px; gap: 11px; box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25); border-radius: 24px;}
.allDayBanner .allDayItem .kakao {background-color: #FAE100; display: flex; flex-direction: column; gap: 20px; align-items: center; padding: 27px 40px; gap: 11px; box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25); border-radius: 24px;}
.allDayBanner .allDayItem.callWrap .callNumber {display: flex; align-items: center; gap: 2px; color: #fff; font-family: "RiaSansB"; font-size: 35px;}

/* review */
.review {padding: 100px 0; display: flex; flex-direction: column; justify-content: center; gap: 35px; align-items: center;}
.review .reviewTitle {position: relative; width: 100%; max-width: 1357px;}
.review .reviewTitle img {position: relative; z-index: 2; left: 50%; transform: translateX(-50%);}
.review .reviewTitle::before {border-radius: 10px; width: 100%; height: 10px; background-color: #FF6900; content: ""; position: absolute; top: 50%; left: 0; transform: translateY(-50%); z-index: 1;}
.review .reviewTitle .mobile {display: none;}
.review .reviewTitle .reviewTitleText {font-size: 52px; color: #fff; font-family: "RiaSansEB"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3;}
.review .reviewTitle .reviewTitleText .reviewTitleTextSub {color: #FDDC37;}
.review .reviewItemWrap {display: flex; gap: 19px; width: 100%; justify-content: center;}
.review .reviewItem {width: 250px; height: 445px; display: flex; flex-direction: column; align-items: center; gap: 15px; padding: 15px 19px; border-radius: 25px;}
.review .reviewItem.grey {background-color: #F9F8F3;}
.review .reviewItem.yellow {background-color: #FFF8D3;}
.review .reviewItem .reviewId {display: flex; font-family: "PretendardSB"; font-size: 18px; align-items: center; gap: 21px;}
.review .reviewItem .reviewDesc {font-family: "PretendardR"; letter-spacing: -2%; font-size: 20px;}

/* promise */
.promise {padding: 100px 0; display: flex; flex-direction: column; justify-content: center; gap: 35px; align-items: center;}
.promise .promiseTitle {position: relative; width: 100%; max-width: 1357px;}
.promise .promiseTitle img {position: relative; z-index: 2; left: 50%; transform: translateX(-50%);}
.promise .promiseTitle::before {border-radius: 10px; width: 100%; height: 10px; background-color: #043330; content: ""; position: absolute; top: 50%; left: 0; transform: translateY(-50%); z-index: 1;}
.promise .promiseTitle .promiseTitleText {font-size: 52px; color: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-family: "RiaSansEB"; z-index: 3;}
.promise .promiseTitle .promiseTitleText .promiseTitleTextSub {color: #FDDC37;}
.promise .promiseWrap {display: flex; gap: 20px; margin-top: 21px;}
.promise .promiseWrap .promiseItem {position: relative;}
.promise .promiseWrap .promiseItem .num {color: #fff; background-color: #FF6900; padding: 7px; border-radius: 50%; font-size: 22px; position: absolute; left: 50%; transform: translateX(-50%); top: -21px; font-family: "PretendardEB";}
.promise .promiseWrap .promiseItem .promiseDesc {display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: "LINESeedKRB"; position: absolute; width: 100%; left: 0; bottom: 15px; font-size: 38px; color: #fff;}
.promise .promiseWrap .promiseItem .promiseDesc span {color: #FDDC37;}
.promise .promiseComment {display: flex; align-items: flex-start; justify-content: center; gap: 15px;}
.promise .promiseComment .commentText {font-family: "LINESeedKRR"; font-size: 36px; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.promise .promiseComment .commentText .commentTextSub {font-family: "LINESeedKRB";}

/* checkPoint */
.checkPoint {padding: 86px 0; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.checkPoint .checkTitle {font-weight: normal; margin-bottom: 25px; display: flex; justify-content: center; align-items: center; font-family: "LINESeedKRB"; letter-spacing: 2%; font-size: 30px; color: #fff; background-color: #FF6900; padding: 8px 25px 4px 25px; border-radius: 25px;}

/* checkPoint1 */
.checkPoint1 .checkPointText {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 25px;}
.checkPoint1 .checkPointText .checkPointTop {font-family: "RiaSansR"; color: #fff; font-size: 35px; display: flex; gap: 30px;}
.checkPoint1 .checkPointText .checkPointMid {font-family: "RiaSansB"; color: #FDDC37; font-size: 52px; display: flex; gap: 70px;}
.checkPoint1 .checkPointText .checkPointBottom {font-family: "RiaSansR"; color: #fff; font-size: 40px; display: flex; gap: 20px;}
.checkPoint1 .checkPointText .checkPointInfo {border-radius: 15px; background-color: #fff; color: #043330; padding: 15px 23px 8px 23px; font-family: "LINESeedKRB"; font-size: 33px; letter-spacing: 10%;}

/* checkPoint2 */
.checkPoint2 .checkPointText {display: flex; flex-direction: column; gap: 25px; justify-content: center; align-items: center;}
.checkPoint2 .checkPointText .checkPointTop {display: flex; gap: 20px; align-items: center; justify-content: center;}
.checkPoint2 .checkPointText .checkPointTop .checkPointTopText {font-size: 52px; font-family: "RiaSansB"; color: #000;}
.checkPoint2 .checkPointText .checkPointTop img {vertical-align: middle;}
.checkPoint2 .checkPointText .checkPointBottom {display: flex; flex-direction: column; align-items: center; font-family: "LINESeedKRR"; font-size: 36px; letter-spacing: 2%;}

/* checkPoint3 */
.checkPoint3 .checkPointText {display: flex; flex-direction: column; gap: 25px; justify-content: center; align-items: center;}
.checkPoint3 .checkPointText .checkPointTop .checkPointTopText {font-family: "RiaSansB"; font-size: 52px; color: #fff; letter-spacing: 10%;}
.checkPoint3 .checkPointText .checkPointTop .checkPointTopText .checkPointTopTextSub {color: #FDDC37;}
.checkPoint3 .checkPointText .checkPointBottom {color: #fff; display: flex; flex-direction: column; align-items: center; font-family: "PretendardR"; font-size: 32px;}

/* checkPoint4 */
.checkPoint4 .checkTitle {margin-bottom: 30px;}
.checkPoint4 .checkPointText {display: flex; flex-direction: column; justify-content: center; align-items: center;}
.checkPoint4 .checkPointText .checkPointTop {display: flex; flex-direction: column; align-items: center; margin-bottom: 30px;}
.checkPoint4 .checkPointText .checkPointTop .checkPointTopText {font-family: "LINESeedKRR"; font-size: 36px; letter-spacing: 2%;}
.checkPoint4 .checkPointText .checkPointBottom {font-family: "RiaSansB"; font-size: 52px; display: flex; flex-direction: column; gap: 4px; align-items: center;}
.checkPoint4 .checkPointText .checkPointBottom .checkPointBottomText {font-size: 52px; color: #fff; background-color: #043330; padding: 0 15px; display: flex; gap: 13px;}
.checkPoint4 .checkPointText .checkPointBottom .checkPointBottomTextSub {letter-spacing: 10%;}
.checkPoint4 .web {width: 100%;}
.checkPoint4 .mobile {display: none;}

/* checkPoint5 */
.checkPoint5 .checkPointText {display: flex; flex-direction: column; gap: 25px; justify-content: center; align-items: center;}
.checkPoint5 .checkPointText .checkPointTop .checkPointTopText {font-family: "RiaSansB"; font-size: 52px; color: #fff; letter-spacing: 10%;}
.checkPoint5 .checkPointText .checkPointTop .checkPointTopText .checkPointTopTextSub {color: #FDDC37;}
.checkPoint5 .checkPointText .checkPointMid {color: #fff; display: flex; flex-direction: column; align-items: center; font-family: "LINESeedKRR"; font-size: 36px;}
.checkPoint5 .checkPointText .checkPointBottom {color: #fff; font-family: "HakgyoansimGaeulsopungL"; font-size: 45px; letter-spacing: 5%; border-bottom: 1px solid #fff;}

/* online */
.online {padding: 58px 0; display: flex; flex-direction: column; gap: 35px; align-items: center;}
.online .onlineTitle {font-weight: normal; font-family: "RiaSansB"; font-size: 52px; text-align: center; letter-spacing: 10%;}
.online .onlineTitle .onlineTitleSub {color: #FF7210;}
.online .callBoxWrap {background-color: #043330; padding: 30px 82px; border-radius: 25px;}
.online .callBoxWrap .callTextWrap {display: flex; align-items: center; gap: 25px;}
.online .callBoxWrap .callTextWrap .callText {font-family: "LINESeedKRB"; font-size: 57px; color: #fff;}
.online .callBoxWrap .callTextWrap .callText .callTextSub {color: #FDDC37;}
.online .callBoxWrap .callNumWrap .callNumLink {display: block; font-family: "RiaSansB"; font-size: 90px; color: #FDDC37; letter-spacing: 10%;}
.online .callBoxWrap .callBoxDescWrap {background-color: #fff; border-radius: 63px; padding: 9px 63px 2px 63px; color: #043330; font-size: 45px; font-family: "LINESeedKRB";}
.online .callDescWrapper {width: 848px;}
.online .callDescWrap {display: flex; flex-direction: column; gap: 20px; margin-left: 20px;}
.online .callDesc {display: flex; gap: 20px; align-items: center;}
.online .callDescText {font-family: "LINESeedKRR"; font-size: 32px;}
.online .callDescText .bold {font-family: "LINESeedKRB"; display: inline-block;}
.online .callDescText .underLine {border-bottom: 3px solid #000;}
.online .callContentWrap {display: flex; flex-direction: column; gap: 35px;}

/* faq */
.faq {padding:150px 0; background-color:#faf8f4;}
.faq .contentWrap {max-width: 1400px; margin: 0 auto; width: 100%;}
.faq .cl_sectionTitle {margin-bottom: 80px; text-align: center;}

.faq .cl_sectionTitle .mainText {font-size: 52px; color: #fff; font-family: "RiaSansR";}
.faq .cl_sectionTitle .mainText .orange {color: #FDDC37;}
.faq .faqListWrap {border-top:solid 2px #FF6900;}
.faq .faqListWrap .faqList {display:flex; align-items: flex-start; gap:30px; padding:0 75px; border-bottom:solid 2px #f0f0f0; background-color:#ffffff; transition:all 0.3s linear;}
.faq .faqListWrap .faqList:before {content:"Q"; display:flex; justify-content: center; align-items: center; width:30px; height:90px; font-size:30px; color:#cac3b7; font-family: PretendardSB;}
.faq .faqListWrap .faqList:after {content:""; display:flex; justify-content: center; align-items: center; width:30px; height:90px; font-family:xeicon; font-size:40px; color:#000000;}
.faq .faqListWrap .faqList .faqContent {flex:1;}
.faq .faqListWrap .faqList .faqContent .title {display:flex; align-items: center; min-height:90px; font-size:30px; color:#282828; font-family:PretendardB;}
.faq .faqListWrap .faqList .faqContent .title > button {display:flex; align-items:center; align-self:stretch; flex:1; text-align:left; cursor:pointer; background: none; border: none; font-size: 30px; font-family: "LINESeedKRB"; color: #000;}
.faq .faqListWrap .faqList .faqContent .desc {display:none; font-size:24px; color:#282828; font-family:PretendardR; line-height:1.5;}
.faq .faqListWrap .faqList .faqContent .desc ul li {position:relative; padding-left:30px;}
.faq .faqListWrap .faqList .faqContent .desc ul li:before {content:""; position:absolute; top:50%; left:10px; transform: translateY(-50%); width:5px; height:5px; border-radius:50%; background-color:#222222;}
.faq .faqListWrap .faqList.on {padding-top:20px; padding-bottom:45px; transition:all 0.3s linear;}
.faq .faqListWrap .faqList.on:after {content:"";}
/* FAQ 테이블 */
.faq .faqListWrap .faqList .faqContent .desc table {
    width: 100%;
    margin: 25px 0;
    border-collapse: collapse;
    table-layout: fixed;
    background-color: #ffffff;
    font-size: 20px;
    line-height: 1.5;
}

/* 테이블 전체 셀 */
.faq .faqListWrap .faqList .faqContent .desc table th,
.faq .faqListWrap .faqList .faqContent .desc table td {
    padding: 18px 15px;
    border: 1px solid #e5e0d8;
    text-align: center;
    vertical-align: middle;
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* 테이블 제목 */
.faq .faqListWrap .faqList .faqContent .desc table thead th {
    background-color: #f5f0e7;
    color: #282828;
    font-family: PretendardB;
    font-weight: normal;
    border-top: 2px solid #FF6900;
}

/* 테이블 내용 */
.faq .faqListWrap .faqList .faqContent .desc table tbody td {
    color: #444444;
    font-family: PretendardR;
    background-color: #ffffff;
}

/* 행에 마우스를 올렸을 때 */
.faq .faqListWrap .faqList .faqContent .desc table tbody tr:hover td {
    background-color: #fffaf3;
}


/* floatingLink */
.floatingLink {position: fixed; z-index: 999; right: 50px; bottom: 50px; border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);}
.floatingLink .floatingLinkWrap {display: flex; flex-direction: column; align-items: center; width: 100%; height: 100%; padding: 51px 29px; background-color: #043330;}
.floatingLink .floatingLogo {padding-bottom: 10px;}
.floatingLink .floatingText {font-size: 36px; color: #fff; font-family: "RiaSansB"; padding-bottom: 35px;}
.floatingLink .floatingNum {display: flex; align-items: center; gap: 5px; font-family: "Danjunghae"; font-size: 35px; color: #fff;}

/* footer */
.footer {background-color: #043330; display: flex; flex-direction: column; gap: 35px; justify-content: center; align-items: center; padding: 50px 0;}
.footer .footerWrap {display: flex; gap: 35px; flex-direction: column;}
.footer .footerWrap .mobile {display: none;}
.footer .footerWrap .footerLine {width: 100%; height: 1px; background-color: #fff;}
.footer .footerWrap .footerDescWrapper {display: flex; gap: 52px;}
.footer .footerWrap .footerDescWrap {display: flex; flex-direction: column; gap: 24px;}
.footer .footerWrap .descTitle {font-size: 26px; font-family: "PretendardB"; color: #fff; letter-spacing: -7%;}
.footer .footerWrap .descSubTitleWrap {display: flex; flex-direction: column;}
.footer .footerWrap .descSubTitleMain {font-size: 30px; font-family: "PretendardSB"; letter-spacing: -7%; color: #fff;}
.footer .footerWrap .descSubTitleStrong {font-size: 22px; font-family: "PretendardR"; letter-spacing: -7%; color: #fff; padding-top: 17px;}
.footer .footerWrap .descSubTitleP {font-size: 19px; padding-top: 14px; font-family: "NotoSansKRL"; color: #fff; font-style: normal;}
.footer .footerWrap a {color: inherit;}
.footerLineMobile {display: none;}