/* s1 */
.s1 {
	padding-top: 30px; padding-bottom: 140px; height: calc(100vh - var(--headerH)); box-sizing: border-box; background-color: var(--beige); position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.s1 .wrap { display: flex; align-items: stretch; justify-content: space-between; gap: 60px; flex-wrap: wrap;}
.s1 .leftArea { font-size: 1px; }
.s1 .leftArea h1 { font-size: 180em; color: var(--gold); }
.s1 .leftArea h1 div { display: flex; align-items: center; justify-content: flex-start; }
.s1 .leftArea h1 div p { }
.s1 .leftArea h1 div svg { width: calc(113/180*1em); margin: 0 calc(40/180*1em); height: 1em;}
.s1 .leftArea h1 div svg * { fill: var(--gold); }
.s1 .leftArea .mail { font-size: 50em; width: 100%; text-align: right; padding-right: calc(40/50*1em); box-sizing: border-box; margin-top: calc(80/50*1em); }
.s1 .leftArea .mail div{position: relative; display: inline-block;}
.s1 .leftArea .mail span {}
.s1 .leftArea .mail .line{position: absolute; left: 0; bottom: -2px; width: 100%; height: calc(2/50*1em); background-color: #000; }
.s1 .rightArea { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between;}
.s1 .rightArea .txt { font-size: 26px; margin-bottom: max(calc(40/26*1em),20px); line-height: calc(34/26); }
.s1 .rightArea .imgArea { }
.s1 .rightArea .imgArea .imgBx { width: 193px; aspect-ratio: 193/184; }
.s1 .rightArea .imgArea .imgBx div { width: 100%; height: 100%; background-position: center center; background-size: cover; }
.s1 .rightArea .imgArea p { margin-top: 14px; font-size: 1px; }
.s1 .rightArea .imgArea p small { color: rgba(0,0,0,0.5); font-family: 'roboto'; font-size: 20em; font-weight: 500; margin-right: calc(10/20*1em); }
.s1 .rightArea .imgArea p span { font-size: 24em; }
.s1 ._downBtn{position: absolute; bottom: 60px;}

/* 모션 셋팅 */
.s1 .leftArea h1 div{overflow: hidden;}
.s1 .leftArea h1 div p{transform: translateY(110%);}
.s1 .leftArea h1 div svg{transform: translateY(110%);}
.s1 .leftArea .mail .line{transform: scaleX(0); transform-origin: left center;}
.s1 .rightArea .txt{transform: translateY(60px); opacity: 0;}
.s1 .rightArea .imgArea .imgBx{overflow: hidden; transform: translateY(60px); opacity: 0;}
.s1 .rightArea .imgArea .imgBx div{transform: scale(1.3); filter: blur(10px);}
.s1 .rightArea .imgArea p{transform: translateY(60px); opacity: 0;}
.s1 ._downBtn{transform: translateY(60px); opacity: 0;}

/* 가로가 길경우 */
@media (orientation: landscape) and (max-height:920px){
	.s1{padding-bottom: calc(140/920*var(--vh100));}
	.s1 .leftArea{font-size: min(calc(1.2/1920*100vw),calc(0.7/920*var(--vh100))); }
	.s1 .rightArea .imgArea .imgBx{width: calc(180/920*var(--vh100));}
}
@media (orientation: landscape) and (max-height:900px){}
@media (orientation: landscape) and (max-height:800px){
	.s1 .wrap{justify-content: center; gap: max(calc(120/1000*100vw),40px);}
	.s1 .leftArea .mail{text-align: left;}
}
@media (orientation: landscape) and (max-height:700px){
	.s1 .rightArea .txt{font-size: max(calc(26/700*var(--vh100)),12px); }
	.s1 .rightArea .imgArea p{font-size: max(calc(1/700*var(--vh100)),0.6px); }
	.s1 ._downBtn{bottom: 20px;}
}
@media (orientation: landscape) and (max-height:600px){}
@media (orientation: landscape) and (max-height:500px){}
@media (orientation: landscape) and (max-height:400px){}
@media (orientation: landscape) and (max-height:300px){}

/* 세로가 길경우 */
@media (orientation: Portrait) and (max-width:1920px){
	.s1{height: auto; min-height: calc(100vh - var(--headerH));}
	.s1 .wrap{flex-direction: column; gap: 8vw;}
	.s1 .leftArea{font-size: min(calc(1.5/1920*100vw),calc(0.4/920*var(--vh100))); }
	.s1 .leftArea h1 div{justify-content: center;}
	.s1 .leftArea .mail{text-align: center; padding-right: 0;}

	.s1 .rightArea .txt{margin: 0 auto; margin-bottom: max(calc(40/26*1em),20px); text-align: center; font-size: max(min(calc(26/1920*100vw),calc(26/920*var(--vh100))),13px); }
	.s1 .rightArea .imgArea{margin: 0 auto;}
	.s1 .rightArea .imgArea .imgBx{margin: 0 auto; width: min(36vw,193px);}
	.s1 .rightArea .imgArea p{font-size: max(calc(1/1920*100vw),0.7px); text-align: center;}

}
@media (orientation: Portrait) and (max-width:1600px) {}
@media (orientation: Portrait) and (max-width:1440px) {}
@media (orientation: Portrait) and (max-width:1280px) {}
@media (orientation: Portrait) and (max-width:1024px) {}
@media (orientation: Portrait) and (max-width:820px) {
	.s1 ._downBtn{bottom: 40px;}
}
@media (orientation: Portrait) and (max-width:500px) {}
@media (orientation: Portrait) and (max-width:320px) {}





/* s2 */
.s2 {padding: 145px 0; box-sizing: border-box; position: relative; }
.s2 .bg {position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden;}
.s2 .bg div {width: 100%; height: 100%;background-position: center center; background-size: cover; }
.s2 .wrap { }
.s2 .box {font-size: 1px;background-color: #fff; max-width: 940px;padding: 80em 65em; margin: 0 auto;}
.s2 .box h3 {font-size: 80em; margin-bottom: 1em; }
.s2 .box .flexBx {display: flex; align-items: flex-start; justify-content: center;gap: 70em; }
.s2 .box .flexBx form {width: 100%; }
.s2 .box .flexBx form > label {font-size: 20em; font-family: 'roboto'; font-weight: 500;display: flex; align-items: flex-start; justify-content: flex-start; gap: calc(14/20*1em);border-bottom: 2px solid var(--gray); margin-bottom: 2em; }
.s2 .box .flexBx form > label.message {flex-direction: column; }
.s2 .box .flexBx form > label .textArea {width: 100%; }
.s2 .box .flexBx form > label .textArea textarea {font-size: calc(16/20*1em); border: 0;width: 100%; resize: none; height: 100px; line-height: 1.4; font-family: 'Pretendard'; }
.s2 .box .flexBx form > label p {padding-top: calc(8/20*1em); min-width: 3em; }
.s2 .box .flexBx form > label input {font-size: 1em;background-color: transparent; margin: 0; padding: 0; border: 0;height: calc(35/20*1em);width: 100%; font-family: 'Pretendard'; }
.s2 .box .flexBx form .bottom {display: flex; align-items: flex-end; justify-content: space-between; }
.s2 .box .flexBx form .bottom .left { }
.s2 .box .flexBx form .bottom .left a {font-size: 18em; line-height: 1.4; margin-bottom: 10px; }
.s2 .box .flexBx form .bottom .left a p { }
.s2 .box .flexBx form .bottom .left a p b {text-decoration: underline; }
.s2 .box .flexBx form .bottom .left label {cursor: pointer; font-size: 18em;display: flex; align-items: flex-start; justify-content: flex-start; gap: 0.5em; }
.s2 .box .flexBx form .bottom .left label input { display: none; }
.s2 .box .flexBx form .bottom .left label .ico { position: relative; display: flex; align-items: center; justify-content: center; }
.s2 .box .flexBx form .bottom .left label i { font-size: 1.2em; opacity: 0.7; }
.s2 .box .flexBx form .bottom .left label i:nth-child(2) { opacity: 0; position: absolute; }
.s2 .box .flexBx form .bottom .left label input:checked + .ico i:nth-child(1) { opacity: 0; }
.s2 .box .flexBx form .bottom .left label input:checked + .ico i:nth-child(2) { opacity: 1; }
.s2 .box .flexBx form .bottom .left label p { opacity: 0.8; }
.s2 .box .flexBx form .bottom .left label input:checked ~ p { opacity: 1; }
.s2 .box .flexBx form .bottom .right { }
.s2 .box .flexBx form .bottom .right button {font-family: 'Pretendard'; font-weight: 500; border: 0; cursor: pointer;font-size: 15px; background-color: var(--gold); color: #fff;display: flex; align-items: center; justify-content: center;border-radius: 100px; padding: 11px 30px; }
.s2 .box .flexBx form .bottom .right button:hover { background-color: #444; }
.s2 .box .flexBx form .bottom .right button p { }
.s2 .box .flexBx .map { min-width: 36%; }
.s2 .box .flexBx .map > iframe { width: 100%; filter: grayscale(1); }

.root_daum_roughmap .wrap_controllers {display: none;}
.root_daum_roughmap .cont {display: none;}

@media screen and (max-width:1600px) {}
@media screen and (max-width:1440px) {}
@media screen and (max-width:1280px) {}
@media screen and (max-width:1024px) {
	.s2 .box{font-size: 0.8px; }
}
@media screen and (max-width:820px) {
	.s2{padding: 120px 0;}
	.s2 .box h3{font-size: calc(64/820*100vw); }
	.s2 .box .flexBx{flex-direction: column;}
	.s2 .box .flexBx .map{min-width: unset; width: 100%;}
}
@media screen and (max-width:500px) {
	.s2{padding: 80px 0;}
	.s2 .box{padding: 40px 20px;}
	.s2 .box .flexBx form .bottom{flex-direction: column; gap: 20px;}
	.s2 .box .flexBx form .bottom .left{margin-right: auto;}
	.s2 .box .flexBx .map > iframe{aspect-ratio: 16/12;}
	.s2 .box .flexBx .map > iframe{height: 100%;}
}
@media screen and (max-width:320px) {}



/* s3 */
.s3{padding-top: 120px; padding-bottom: 140px; box-sizing: border-box; background-color: var(--beige);}
.s3 .wrap{text-align: center;}
.s3 h3{color: var(--gold); font-family: 'roboto'; font-size: 20px; font-weight: 500; margin-bottom: 120px;}
.s3 ul{
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; max-width: 1440px; margin: 0 auto;  gap: 80px 40px;}
.s3 ul li{width: calc((100% / 5) - (40px * 4 / 5));}
.s3 ul li img{filter: grayscale(1); cursor: pointer;}
.s3 ul li:hover img{filter: grayscale(0);}
@media screen and (max-width:1600px) {
	.s3 h3{margin-bottom: max(calc(120/1600*100vw),60px);}
}
@media screen and (max-width:1440px) {}
@media screen and (max-width:1280px) {}
@media screen and (max-width:1024px) {
	.s3{padding: 100px 0; padding-bottom: 120px;}
	.s3 ul{gap: 80px 30px;}
	.s3 ul li{width: calc((100% / 4) - (30px * 3 / 4));}
}
@media screen and (max-width:820px) {
	.s3 ul li img{max-height: 32px;}
}
@media screen and (max-width:500px) {
	.s3{padding: 80px 0; padding-bottom: 90px;}
	.s3 ul{gap: 40px 20px;}
	.s3 ul li{width: calc((100% / 2) - (20px * 1 / 2));}
	.s3 ul li img{max-height: 28px; max-width: 130px;}
}
@media screen and (max-width:320px) {}


.privacy_policy {
    display: none;
    position: fixed;
    left: 0; top: 0;
    width: 100%; height: 100vh;
    background-color: rgba(0,0,0,0.5);
    z-index: 9999;
}
.privacy_policy .inner {
    position: absolute;
    left: 50%; top: 50%;    
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 40px;
    border-radius: 10px;
    max-width: 800px;
    width: 95%;
    box-sizing: border-box;
    height: 70vh;
    display: flex;
    flex-direction: column;
}
.privacy_policy .inner h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 40px;
}
.privacy_policy .inner .policy-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-grow: 1;
    overflow: hidden;
}
.privacy_policy .inner .policy-wrap .policy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
}
.privacy_policy .inner .policy-wrap .policy .txt h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}
.privacy_policy .inner .policy-wrap .policy .txt p {
    font-size: 16px;
    line-height: 1.5;
}
.privacy_policy .close {
    position: absolute;
    right: 20px; top: 20px;
    width: 30px; height: 30px;
    background-color: #000;
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}
@media screen and (max-width: 1280px) {
    .privacy_policy .inner {
        max-width: 600px;
        height: 90vh;
    }
    .privacy_policy .inner h2 {
        font-size: 24px;
    }
    .privacy_policy .inner .policy-wrap .policy .txt h3 {
        font-size: 18px;
    }
    .privacy_policy .inner .policy-wrap .policy .txt p {
        font-size: 14px;
    }
}
@media screen and (max-width: 820px) {
    .privacy_policy .inner {
        height: 80vh;
    }
}
@media screen and (max-width: 500px) {
    .privacy_policy .inner {
        padding: 20px;
    }
    .privacy_policy .inner h2 {
        font-size: 20px;
    }
    .privacy_policy .inner .policy-wrap .policy .txt h3 {
        font-size: 16px;
    }
    .privacy_policy .inner .policy-wrap .policy .txt p {
        font-size: 14px;
    }
}