@import url(font.css);
@import url(remixicon.css);

html {overflow-y:auto;}
body {-webkit-overflow-scrolling:touch; line-height: normal; font-size: 16px; color:#222222; font-family:'Pretendard', sans-serif; font-weight: 400;}
html,body {width:100%;}
header,footer,section,article,aside,nav,hgroup,details,menu,figure,figcaption{display:block;}
audio,canvas,video{display:inline-block;}
audio:not([controls]){display:none;height:0;}
ul,ol,dl,dt,li {list-style: none;}
img, fieldset {border:0 none;}
img {vertical-align:top; height:auto;}
legend {display:none; position:absolute; top:0; left:0; width:0; height:0; overflow:hidden; visibility:hidden; font-size:0; line-height:0;}
input, textarea {font-size:14px; color: #222222; background:transparent; font-family: inherit;}
textarea {resize: none;}
button {border:0 none; background:transparent; padding:0; margin:0; font-family: inherit; color:#222222;}
input,textarea,select {appearance:none;}
em, address {font-style:normal; font-family: inherit;}
table {border-spacing:0; border-collapse:collapse; width:100%; font-family: inherit;}
caption {font-size: 0; line-height: 0; width:0; height:0; text-indent:-1000px; overflow: hidden;}
a, a:link, a:visited {text-decoration:none; color:#222222;}
a:hover, a:active {text-decoration:none;}
a,input{-webkit-tap-highlight-color:transparent;}
* {margin: 0; padding: 0; outline: none; text-decoration: none; box-sizing: border-box;}
::before, ::after {box-sizing: border-box;}
button, label {cursor: pointer;}

/* radio */
input[type="radio"] {position:relative;}
input[type="radio"]::before {content:""; display:flex; width:28px; height:28px; background:url('../images/check_off.png')no-repeat; background-size:contain; background-position:center center;}
input[type="radio"]:checked::before {content:""; display:flex; width:28px; height:28px; background:url('../images/check_on.png')no-repeat; background-size:contain; background-position:center center;}

/* checkbox */
input[type="checkbox"] {position:relative;}
input[type="checkbox"]::before {content:""; display:flex; width:28px; height:28px; background:url('../images/check_off.png')no-repeat; background-size:contain; background-position:center center;}
input[type="checkbox"]:checked::before {content:""; display:flex; width:28px; height:28px; background:url('../images/check_on.png')no-repeat; background-size:contain; background-position:center center;}

/* select */
.selectBox {position:relative;}
.selectBox select {width:100%; height:48px; font-size:18px; border:1px solid #E2E1E5; border-radius:5px; padding:0 35px 0 10px; background: transparent; cursor: pointer;}
.selectBox::before {content:""; display:flex; width:16px; height:16px; background:url('../images/select.png')no-repeat; background-size:contain; background-position:center center; position:absolute; top:50%; right:10px; transform: translateY(-50%); z-index: -1;}

/* common */
br.m {display:none;}
.w123 {width:123px;}
.w140 {width:140px;}
.w300 {width:300px;}
.w330 {width:330px;}
.w500 {width:500px;}
.w100p {width:100%;}
.blue {background:#3035A6;}
.black {background:#28323C;}
.red {background: #ED1A34;}
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.redtx {color:#D72624;}

/* header */
.header { display: flex; align-items: center; justify-content: space-between; padding: 50px 3.075% 23px; position: relative; z-index: 1;}
.header::after { content: ""; width: 93.85%; height: 1px; background: rgba(255,255,255,0.5); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.header .logo { width: 169px; margin-left: 30px; }
.header .logo img { width: 100%; }
.header .nextButton { width: 60px; margin-right: 30px; }
.header .nextButton img { width: 100%; }
.header .topTitle { color: #ffffff; font-weight: 300; text-align: center; font-size: 30px; }

/* footer */
.footer {display: flex; justify-content: space-between; padding: 36px 3.075% 23px; position: relative;}
.footer::after { content: ""; width: 93.85%; height: 1px; background: rgba(0,0,0,0.5); position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.footer .footerLogo {display:flex; gap:16px;}
.footer .footerLogo .footerImg {display:flex; width:105px;}
.footer .footerLogo .footerImg img {width:100%;}
.footer .footerLogo address {display:flex; flex-direction: column; gap:12px;}
.footer .footerLogo address h5 {color:#9A9A9A; font-size:18px;}
.footer .footerLogo address h5 span {font-size:16px; font-weight:300; margin-left:18px;}
.footer .footerLogo address .txt {color:#767676; font-size:16px; line-height: 1.4;}
.footer .footerLogo address .txt a {text-decoration: underline; color:#3035A6; background: transparent;}
.footer .footerLogo address .copy {color:#767676; font-size:16px; line-height: 1;}
.footer .footerLink {position:absolute; top:36px; right:3.075%; background:#28323C; padding:10px 20px;}
.footer .footerLink .btn {position: relative; width:187px; height:25px; display:flex; align-items: center; color:#ffffff; font-size:18px; font-weight:600; justify-content: space-between;}
.footer .footerLink .btn::after {content:""; width:18px; height:18px; background: url(../images/arrow-right-gray.png)no-repeat; background-size: cover; background-position: center center;}

/* main */
.mainTopBG { height: 1024px; width: 100%; transition: background-color 2s; position: absolute; top:0; left:0; z-index: -1;}
.mainTitle { display: flex; flex-direction: column; margin: 74px 0 82px; align-items: center; gap: 74px; }
.mainTitle h2 { font-size: 134px; color: #ffffff; }
.mainTitle .middle {display:flex; width:143px;}
.mainTitle .middle img {width:100%;}
.mainTitle .bottomLogo {display:flex; max-width: 1120px; width:100%;}
.mainTitle .bottomLogo img {width:100%;}
.mainBanner { max-width: 1260px; margin:0 auto;  width:100%;}
.mainBanner img { width: 100%; }
.video-container { max-width: 1260px; width: 100%; aspect-ratio: 16 / 9; margin:0 auto;}
.video-container iframe {width:100%; height:100%;}
.passportNLink {display:flex; max-width:1240px; margin:105px auto 272px; flex-direction: column; position: relative; padding:0 0 0 615px;}
.passportNLink .passportText {font-size:40px; line-height: 1.2; font-weight:400; width:643px; word-break: keep-all; margin-bottom:40px;}
.passportNLink .passportImg {display:flex; max-width:460px; width:100%; position: absolute; top:0; left:30px;}
.passportNLink .passportImg img {width:100%;}
.passportNLink .passportlink {display:flex; flex-direction: column; width:580px; gap:20px;}
.passportNLink .passportlink > a {display:flex; align-items: center; width:100%; height:104px; position: relative; color:#ffffff; padding:0 45px; font-size:36px; justify-content: space-between;}
.passportNLink .passportlink > a::after {content:""; display:flex; width:36px; height:22px; background:url('../images/right-arrow.png')no-repeat; background-size:cover; background-position: center center;}
.passportNLink .passportlink > .top {border-top-right-radius: 50px;}
.passportNLink .passportlink > .bottom::after {display:none;}
.passportNLink .soldout {display:flex; align-items: center; justify-content: center; text-align: center; line-height: 1.4; color:#7C0C0C; font-size:36px; height:200px;}
.passportNLink .passportText2 {font-size:26px; line-height: 1.4; font-weight:400; width:620px; word-break: keep-all; margin-top:50px;}

/* sub common */
.subTopBG { height: 650px; width: 100%; transition: background-color 2s; position: absolute; top:0; left:0; z-index: -1;}
.container {max-width: 1300px; width:calc(100% - 6.15%); margin:0 auto;}
.subHeader {margin:68px 0 0 0;}
.subHeader h2 {display:flex; flex-direction: column; margin-bottom:65px;}
.subHeader h2 span {display:flex;}
.subHeader h2 .top {font-size:104px; color:#ffffff; letter-spacing: -1.5px;}
.subHeader h2 .bottom {font-size:82px; font-weight: 400; color:#ffffff;}
.subImgTitle {position:relative; overflow: hidden; padding-top:35px;}
.subImgTitle::before {content:""; display:flex; background:url(../images/passport_subtitle_img.png) no-repeat; background-size: 100%; background-position: center top; width:214px; height:100%; position: absolute; top:0; left:0px; z-index: 10;}
.subImgTitle .innerBg {display:flex; flex-direction: column; gap:5px; position:relative; padding:24px 30px 24px 300px; min-height: 160px; justify-content: center;}
.subImgTitle .innerBg.arrow {padding:34px 0 34px 300px;}
.subImgTitle .innerBg.arrow::after {content:""; display:flex; width:61px; height:30px; background:url('../images/sub-arrow.svg')no-repeat; background-size:cover; background-position: 0 0; position:absolute; top:50%; right:48px; transform: translateY(-50%);}
.subImgTitle .innerBg.arrow span {width:80%;}
.subImgTitle .innerBg .top {font-size:40px; font-weight:700; color:#ffffff; word-break: keep-all;}
.subImgTitle .innerBg .bottom {font-size:28px; font-weight: 400; color:#ffffff; word-break: keep-all;}
.subImgTitle .innerBg .bottom.small {font-size:22px; line-height: 1.4; letter-spacing: -0.5px;}
.noticeSection {padding:40px 50px; background:#F5F5F5; display:flex; gap:105px; margin:30px 0;}
.noticeSection h3 {color:#DA2725; font-size:32px;}
.noticeSection > ul > li {line-height: 1.6; position:relative; padding:0 15px; font-size:24px;}
.noticeSection > ul > li::before {content:""; display:block; width:4px; height:4px; border-radius: 50%; background: #222222; position:absolute; top:18px; left:0;}
.noticeSection > ul > li > span {display:flex;}
.noticeSection > ul > li > ul {display:flex;}
.noticeSection > ul > li em {text-decoration: underline;}
.noticeSection > ul > li .column > ul > li {position:relative; padding:0 20px;}
.noticeSection > ul > li .column > ul > li::before {content:""; display:block; width:8px; height:2px; background: #222222; position:absolute; top:18px; left:0;}

/* 방문자여권 신청 폼 */
.passportForm_wrap {margin:0 0 80px 0;}
/* input style */
.inpField_wrap {display:flex; flex-direction: column; gap:40px; padding:48px 0 0 300px;}
.inpField_wrap.noTopPadding {padding:0 0 0 300px;}
.inpField {display:flex; flex-direction: column; gap:16px;}
.inpField .lb {display:block; width:100%; font-size:20px;}
.inpField .lb .sub {display:block; color:#7A7A7A; font-size:16px; margin-top:5px;}
.inpField .inp {height:48px; border:1px solid #E2E1E5; border-radius:5px; padding:0 10px; font-size:18px;}
.inpField .radioWrap {display:flex; align-items: center; gap:42px;}
.inpField .radioWrap .inbox {display:flex; align-items: center; gap:10px;}
.inpField .radioWrap .inbox label {font-size:20px;}
.inpField .threeField {display:flex; align-items: center; gap:20px}
.inpField .threeField.dashed {gap:7px;}
.inpField .dash {display:flex; width:12px; height:100%; align-items: center;}
.inpField .dash::after {content:""; width:100%; height:2px; background:#000000;}
.inpField .address {display:flex; flex-direction: column; gap:12px;}
.inpField .address .top {display:flex; align-items: center; gap:14px;}
.inpField .address .top button {display:flex; align-items: center; justify-content: center; height:48px; font-size:18px; font-weight: 500; color:#ffffff; background:#000000; border-radius:5px;}
.inpField .columnRadio {display:flex; flex-direction: column; gap:20px;}
.inpField .columnRadio .inbox {display:flex; align-items: center; gap:20px;}
.inpField .columnRadio .inbox label {font-size:20px;}
.childrenHidden .addField {display:flex; flex-direction: column; gap:40px; padding:40px 0 40px 0; border-top:1px solid #AEAEAE; border-bottom:1px solid #AEAEAE; width:100%;}
.inquiryField .inp {border:0; border-radius:0; border-bottom:1px solid #E2E1E5;}
.childrenField {display:flex; flex-direction: column; gap:40px;}
.inpField_wrap h3 {font-size:24px; font-weight:700; color:#D72624; padding:0 10px 10px 10px; border-bottom:1px solid #D72624; display:flex; align-items: center; justify-content: space-between;}
.inpField_wrap h3 .checkBox {display:flex; align-items: center; gap:10px;}
.inpField_wrap h3 .checkBox input[type="checkbox"]::before {width:24px; height:24px; background:url(../images/check_off_red.png)no-repeat; background-size:contain; background-position:center center;}
.inpField_wrap h3 .checkBox input[type="checkbox"]:checked::before {background:url('../images/check_on.png')no-repeat;}
.inpField_wrap h3 .checkBox label {font-size:20px; font-weight:400; color:#D72624;}

/* bottom Button style */
.bottomButton_wrap {display:flex; align-items: center; margin-top:50px;}
.bottomButton_wrap input, .bottomButton_wrap a, .bottomButton_wrap button {display:flex; align-items: center; position: relative; height:104px; color:#ffffff; font-size:30px; padding:0 30px; justify-content: space-between; border-top-right-radius: 50px;}
.bottomButton_wrap input::after, .bottomButton_wrap a::after, .bottomButton_wrap button::after {content:""; display:flex; width:36px; height:24px; background:url('../images/button-arrow.png')no-repeat; background-size: contain; background-position: center center;}

/* 필드 안에 추가 버튼 */
.fieldINButton_wrap {display:flex; align-items: center; gap:30px;}
.fieldINButton_wrap a, .fieldINButton_wrap input, .fieldINButton_wrap button {display:flex; align-items: center; justify-content: center; height:69px; font-size:24px;}
.fieldINButton_wrap .add {border:3px solid #01077D; color:#01077D;}
.fieldINButton_wrap .delete {border:3px solid #7D7D7D; color:#7D7D7D;}

/* 방문자투어 유의 사항 */
.passportNotice h3 {font-size:20px; font-weight:700;}
.passportNotice .innerListBox {padding:30px; background:#F5F5F5; margin-top:20px;}
.passportNotice .innerListBox h4 {font-size:20px; font-weight:700; margin-top:45px;}
.passportNotice .innerListBox > ul > li {list-style:decimal; line-height: 1.6; font-size:20px; font-weight: 300; margin-left:20px; letter-spacing: -0.35px;}
.passportNotice .innerListBox > ul.disc > li {list-style:disc;}
.passportNotice .check_wrap {display:flex; flex-direction: column; margin:20px 0 0; gap:25px;}
.passportNotice .check_wrap span {display:flex; align-items: center; gap:20px;}
.passportNotice .check_wrap span .lb {font-size:20px; font-weight:700;}

@media (max-width: 1345px) {
    .subHeader h2 .top {font-size:7.3vw;}
    .subHeader h2 .bottom {font-size:6vw;}
}

@media (max-width: 1024px) {
    html,body {font-size: 14px;}
    /* header */
    .header {padding: 30px 3.075% 20px;}
    .header .logo {width: 145px; margin-left: 20px;}
    .header .nextButton {width: 45px; margin-right: 20px;}
    .header .topTitle {font-size: 24px;}

    /* footer */
    .footer {padding: 28px 3.075% 20px;}
    .footer .footerLogo .footerImg {width:85px;}
    .footer .footerLogo address {gap:8px;}
    .footer .footerLogo address h5 {font-size:15px;}
    .footer .footerLogo address h5 span {font-size:14px;}
    .footer .footerLogo address .txt {font-size:14px;}
    .footer .footerLogo address .copy {font-size:14px;}
    .footer .footerLink {top:28px;}
    .footer .footerLink .btn {width:165px; font-size:15px;}
    .footer .footerLink .btn::after {width:16px; height:16px;}

    /* common */
    .container {padding:0 25px; width:100%;}

    /* main */
    .mainTopBG {height: 768px;}
    .mainTitle { margin: 54px 0 92px; gap:45px; }
    .mainTitle h2 {font-size: 84px;}
    .mainTitle .middle {width:85px;}
    .mainTitle .bottomLogo {width:68%;}
    .mainBanner {width:88%;}
    .passportNLink {margin:0; padding:75px 55px 185px; gap:50px; min-height:665px;}
    .passportNLink .passportText {font-size:26px; width:auto; padding:0 3% 0 52%; line-height: 1.4;}
    .passportNLink .passportImg {max-width:100%; width:38vw; top:75px; left:75px;}
    .passportNLink .passportlink {width:100%; gap:20px; padding:0 0 0 52%;}
    .passportNLink .passportlink > a {height:65px; font-size:22px; gap:60px; padding:0 8%;}
    .passportNLink .passportlink > a::after {width:28px;}
    .passportNLink .passportlink > .top {border-top-right-radius: 40px;}
    .passportNLink .soldout {font-size:24px; padding:0 0 0 42%; height:auto;}
	.passportNLink .passportText2 {font-size:18px; width:auto; padding:0 3% 0 52%; line-height: 1.4;}

    /* sub common */
    .subTopBG {height: 540px;}
    .subImgTitle::before {width:200px; left:0;} 
    .subImgTitle .innerBg {padding:28px 30px 28px 240px; min-height: 65px;}
    .subImgTitle .innerBg.arrow::after {width:45px; height:22px; right:35px;}
    .subImgTitle .innerBg.arrow {padding:28px 30px 28px 240px;}
    .subImgTitle .innerBg .top {font-size:32px;}
    .subImgTitle .innerBg .bottom {font-size:22px;}
    .subImgTitle .innerBg .bottom.small {font-size:18px;}
    .noticeSection {padding:25px 30px; gap:50px;}
    .noticeSection h3 {font-size:24px;}
    .noticeSection > ul > li {font-size:18px;}

    /* radio */
    input[type="radio"]::before {width:20px; height:20px;}
    input[type="radio"]:checked::before {width:20px; height:20px;}

    /* checkbox */
    input[type="checkbox"]::before {width:20px; height:20px;}
    input[type="checkbox"]:checked::before {width:20px; height:20px;}

    /* select */
    .selectBox select {height:42px; font-size:14px;}

    /* input style */
    .inpField_wrap {padding:35px 0 0 240px;}
    .inpField_wrap.noTopPadding {padding:0 0 0 240px;}
    .inpField {display:flex; flex-direction: column; gap:16px;}
    .inpField .lb {font-size:18px;}
    .inpField .lb .sub {font-size:14px;}
    .inpField .inp {height:42px; font-size:14px;}
    .inpField .radioWrap .inbox label {font-size:18px;}
    .inpField .threeField {gap:15px}
    .inpField .threeField.dashed {gap:5px;}
    .inpField .dash {width:10px;}
    .inpField .address {gap:10px;}
    .inpField .address .top {gap:10px;}
    .inpField .address .top button {height:42px; font-size:14px;}
    .inpField .columnRadio {gap:15px;}
    .inpField .columnRadio .inbox {gap:15px;}
    .inpField .columnRadio .inbox label {font-size:18px;}
    .childrenHidden .addField {padding:35px 0 35px 0;}
    .inpField_wrap h3 {font-size:20px;}
    .inpField_wrap h3 .checkBox input[type="checkbox"]::before {width:20px; height:20px;}
    .inpField_wrap h3 .checkBox label {font-size:18px;}

    /* bottom Button style */
    .bottomButton_wrap input, .bottomButton_wrap a, .bottomButton_wrap button {height:84px; font-size:24px; padding:0 25px;}
    .bottomButton_wrap input::after, .bottomButton_wrap a::after, .bottomButton_wrap button::after {width:28px; height:19px;}
    .bottomButton_wrap .w500 {width:400px;}

    /* 필드 안에 추가 버튼 */
    .fieldINButton_wrap {gap:20px;}
    .fieldINButton_wrap a, .fieldINButton_wrap input, .fieldINButton_wrap button {height:55px; font-size:20px;}
    .fieldINButton_wrap .w300 {width:240px;}

    /* 스탬프신청 유의 사항 */
    .stampNotice .check_wrap {gap:20px;}
    .stampNotice .check_wrap span {display:flex; align-items: center; gap:15px;}
    .stampNotice .check_wrap span .lb {font-size:18px;}
}

@media (max-width: 768px) {
    html,body {font-size: 12px;}
    br.m {display:block;}

    /* header */
    .header { padding: 20px 20px 16px; }
    .header::after { width:calc(100% - 40px);}
    .header .logo { width: 95px; margin-left: 12px; }
    .header .nextButton { width: 45px; margin-right: 12px; }
    .header .topTitle {display:none;}

    /* footer */
    .footer { flex-direction: column; align-items: flex-start; padding: 15px 20px 16px; }
    .footer::after { width:calc(100% - 40px);}
    .footer .footerLogo {gap: 12px; display:flex; align-items: flex-start;}
    .footer .footerLogo .footerImg { width: 72px; }
    .footer .footerLogo address {display:flex; flex-direction: column; gap:5px;}
    .footer .footerLogo address h5 { font-size: 14px; display:flex; flex-direction: column;}
    .footer .footerLogo address h5 span { font-size: 12px; margin-left:0; }
    .footer .footerLogo address .txt {font-size: 12px; word-break: keep-all;}
    .footer .footerLogo address .copy { font-size: 12px; }
    .footer .footerLink { position: relative; top: auto; right: auto; width:100%; margin-bottom:15px; background:#28323C;}
    .footer .footerLink .btn { width: 100%; font-size: 14px;}
    .footer .footerLink .btn::after { width: 18px; height: 18px; }

    /* main */
    .mainTopBG { height: 450px; }
    .mainTitle { margin: 49px 0 47px; gap: 30px; }
    .mainTitle h2 { font-size: 10vw; }
    .mainTitle .middle { width:45px; }
    .mainTitle .bottomLogo { width: 80%; }
    .mainBanner { width: 100%; height:300px; display:flex; align-items: center; justify-content: center; overflow: hidden; max-width:640px;}
    .mainBanner img {width: 100%; height:100%; object-fit: cover; object-position: center;}
	.video-container {margin-top:30px;}
    .passportNLink { flex-direction: column; gap:0; padding: 40px 0 60px; margin: 0 auto; max-width: 500px;}
    .passportNLink .passportText { font-size: 30px; line-height: 1.4; margin-bottom:35px; padding:0;}
    .passportNLink .passportImg { width: 100%; display:flex; justify-content: center; max-width: 100%; position: relative; left: auto; right:auto; top:auto;}
    .passportNLink .passportImg img {width:100%;}
    .passportNLink .passportlink { width: 100%; gap: 16px; padding:0;}
    .passportNLink .passportlink > a {font-size: 36px; gap: 35px; height:104px; padding:0 25px;}
    .passportNLink .passportlink > a::after {content:""; display:flex; width:36px; height:22px; background:url('../images/right-arrow.png')no-repeat; background-size:cover; background-position: center center;}
    .passportNLink .passportlink > .top {border-top-right-radius: 50px;}
    .passportNLink .soldout {font-size:30px; height:120px; margin:0; padding:0;}
    .passportNLink .passportText2 { font-size: 18px; line-height: 1.4; margin-bottom:35px; padding:0;}

    /* sub common */
    .subTopBG {height: 280px;}
    .container {padding:0 20px;}
    .subHeader {margin:35px 0 0 0;}
    .subHeader h2 {margin-bottom:25px;}
    .subImgTitle {padding-top:15px;}
    .subImgTitle::before {width:85px;}
    .subImgTitle .innerBg {padding:12px 15px 12px 100px;}
    .subImgTitle .innerBg.arrow {padding:12px 15px 12px 100px;}
    .subImgTitle .innerBg.arrow::after {width:25px; height:12px; right:10px;}
    .subImgTitle .innerBg .top {font-size:18px;}
    .subImgTitle .innerBg .bottom {font-size:14px;}
    .subImgTitle .innerBg .bottom.small {font-size:12px;}
    .noticeSection {flex-direction: column; gap:16px; padding:20px 15px; margin:24px 0;}
    .noticeSection h3 {font-size:20px;}
    .noticeSection > ul > li {font-size:14px; padding:0 10px;}
    .noticeSection > ul > li::before {top:10px; width:3px; height:3px;}
    .noticeSection > ul > li .column > ul > li {padding:0 10px;}
    .noticeSection > ul > li .column > ul > li::before {top:11px; width:6px; height:2px;}

    /* radio */
    input[type="radio"]::before {width:18px; height:18px;}
    input[type="radio"]:checked::before {width:18px; height:18px;}

    /* checkbox */
    input[type="checkbox"]::before {width:18px; height:18px;}
    input[type="checkbox"]:checked::before {width:18px; height:18px;}

    /* select */
    .selectBox select {height:38px; font-size:14px;}

    /* input style */
    .inpField_wrap {padding:35px 0 0 0; gap:30px;}
    .inpField_wrap.noTopPadding {padding:0 0 0 0; gap:30px;}
    .inpField {display:flex; flex-direction: column; gap:10px;}
    .inpField .lb {font-size:15px;}
    .inpField .lb .sub {font-size:13px;}
    .inpField .inp {height:38px; font-size:14px;}
    .inpField .radioWrap .inbox label {font-size:15px;}
    .inpField .threeField {gap:10px; flex-direction: column; } 
    .inpField .threeField.dashed {gap:10px;}
    .inpField .dash {display:none;}
    .inpField .address {gap:10px;}
    .inpField .address .top {gap:10px;}
    .inpField .address .top .inp {flex:2;}
    .inpField .address .top button {height:38px; font-size:14px; flex:1;}
    .inpField .columnRadio {gap:15px;}
    .inpField .columnRadio .inbox {gap:15px;}
    .inpField .columnRadio .inbox label {font-size:15px;}
    .inpField .w123, .inpField .w140, .inpField .w300, .inpField .w330, .inpField .w500 {width:100%;}
    .childrenHidden .addField {padding:30px 0; gap:30px;}
    .childrenField {gap:30px;}
    .inpField_wrap h3 {font-size:18px;}
    .inpField_wrap h3 .checkBox input::before {width:18px; height:18px;}
    .inpField_wrap h3 .checkBox label {font-size:15px;}

    /* bottom Button style */
    .bottomButton_wrap input, .bottomButton_wrap a, .bottomButton_wrap button {height:60px; font-size:18px; padding:0 25px; border-top-right-radius:30px;}
    .bottomButton_wrap input::after, .bottomButton_wrap a::after, .bottomButton_wrap button::after {width:24px; height:16px;}
    .bottomButton_wrap .w500 {max-width:360px; width:100%;}

    /* 필드 안에 추가 버튼 */
    .fieldINButton_wrap {gap:15px;}
    .fieldINButton_wrap a, .fieldINButton_wrap input, .fieldINButton_wrap button {height:50px; font-size:16px;}
    .fieldINButton_wrap .w300 {width:50%;}

    /* 방문자투어 유의 사항 */
    .passportNotice h3 {font-size:15px;}
    .passportNotice .innerListBox {padding:15px 10px;}
    .passportNotice .innerListBox h4 {font-size:15px;}
    .passportNotice .innerListBox > ul > li {font-size:14px; margin-left:18px;}
    .passportNotice .check_wrap {gap:20px;}
    .passportNotice .check_wrap span {display:flex; align-items: center; gap:15px;}
    .passportNotice .check_wrap span .lb {font-size:15px;}
}

@media (max-width:767px){
    .mainTitle {margin:28px 0 34px;}
    .mainBanner {height:240px;}
    .passportNLink { flex-direction: column; gap:0; padding: 40px 30px 60px; margin: 0 auto; }
    .passportNLink .passportText { font-size: 18px; line-height: 1.4; margin-bottom:35px; padding:0;}
    .passportNLink .passportImg { width: 100%; display:flex; justify-content: center; max-width: 100%; position: relative; left: auto; right:auto; top:auto;}
    .passportNLink .passportImg img {width:70%;}
    .passportNLink .passportlink { width: 100%; gap: 16px; padding:0;}
    .passportNLink .passportlink > a { height: 60px; font-size: 18px; gap: 35px; }
    .passportNLink .passportlink > a::after { width: 32px; height: 14px; }
    .passportNLink .passportlink > .top { border-top-right-radius: 24px; }
    .passportNLink .soldout {font-size:18px; height:50px;}
}