@charset "utf-8";
.root_daum_roughmap,
.root_daum_roughmap .wrap_map {overflow:hidden; height:clamp(250px, calc( 400 / var(--inner) * 100vw ), 400px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}

/* brand page */
.brand-hero {padding:calc(var(--header-height) + var(--space-80)) 0 var(--space-50); background:#fff;}
.brand-hero-inner {display:flex; flex-direction:column; align-items:center; gap:var(--space-40); text-align:center;}
.brand-hero-tit {display:flex; align-items:center; justify-content:center; gap:var(--space-25); margin:0;}
.brand-hero-deco {display:flex; width:30px; height:30px; flex-shrink:0;}
.brand-hero-deco img {display:block; width:100%; height:100%;}
.brand-hero-name {font-size:var(--font-size-64); font-weight:500; line-height:1.15em; color:#242424; white-space:nowrap;}
.brand-hero-desc {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.7em; color:#454545;}

.brand-page.real-cont {padding:0;}
.brand-sec {padding:var(--space-100) 0; border-bottom:1px solid #949494;}
.brand-sec--philosophy {border-top:1px solid #949494;}
.brand-sec-head {margin-bottom:var(--space-50);}
.brand-sec-head h2, .brand-why-tit, .brand-brilliance-head h2 {margin:0; font-size:var(--font-size-44); font-weight:500; line-height:1.3em; color:#242424;}
.brand-sec-desc {margin:var(--space-16) 0 0; font-size:var(--font-size-18); font-weight:400; line-height:1.5em; color:#454545;}

.brand-philosophy-wrap {display:flex; align-items:center; gap:clamp(40px, calc(104 / var(--inner) * 100vw), 104px);}
.brand-philosophy-visual {flex:0 0 clamp(280px, calc(872 / var(--inner) * 100vw), 872px); max-width:872px; aspect-ratio:1/1; overflow:hidden; background:#ededed;}
.brand-philosophy-visual img {width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.brand-philosophy-body {flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:var(--space-80);}
.brand-philosophy-head {display:flex; flex-direction:column; gap:var(--space-25);}
.brand-philosophy-label {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:1.5em; color:#242424;}
.brand-philosophy-tit {margin:0; font-size:var(--font-size-44); font-weight:500; line-height:1.3em; color:#242424;}
.brand-philosophy-txt {display:flex; flex-direction:column; gap:var(--space-35);}
.brand-philosophy-lead {margin:0; font-size:var(--font-size-24); font-weight:400; line-height:1.4em; color:#454545;}
.brand-philosophy-desc {display:flex; flex-direction:column; gap:0;}
.brand-philosophy-desc p {margin:0 0 1em; font-size:var(--font-size-16); font-weight:400; line-height:1.875em; color:#454545;}
.brand-philosophy-desc p:last-child {margin-bottom:0;}

.brand-specialty-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-16);}
.brand-specialty-item {min-height:320px; position:relative; display:flex; flex-direction:column; align-items:center; gap:var(--space-16); padding:var(--space-50) var(--space-25); background:#f8f8f8; box-sizing:border-box; text-align:center; overflow:hidden; transition:background-color 0.35s ease;}
.brand-specialty-hover-bg {position:absolute; inset:0; opacity:0; transition:opacity 0.35s ease; pointer-events:none;}

.brand-specialty-hover-bg img {width:100%; height:100%; object-fit:cover;}
.brand-specialty-item:hover .brand-specialty-hover-bg {opacity:1;}
.brand-specialty-item:hover .brand-specialty-icon,
.brand-specialty-item:hover .brand-specialty-num,
.brand-specialty-item:hover .brand-specialty-line,
.brand-specialty-item:hover .brand-specialty-txt {position:relative; z-index:1;}
.brand-specialty-icon {display:flex; align-items:center; justify-content:center; width:88px; height:88px; border-radius:50%; background:#fff; flex-shrink:0;}
.brand-specialty-icon img {display:block; width:40px; height:auto; max-height:40px;}
.brand-specialty-num {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:1.5em; color:#242424;}
.brand-specialty-line {display:flex; align-items:center; justify-content:center; width:10px; height:8px;}
.brand-specialty-line img {display:block; width:100%; height:100%;}
.brand-specialty-txt {margin:0; font-size:var(--font-size-16); font-weight:500; line-height:1.6em; color:#242424;}

.brand-why-tit {margin-bottom:var(--space-50);}
.brand-why-list {grid-template-columns:repeat(3, 1fr); display:grid; gap:var(--space-25);}
.brand-why-item {position:relative; min-height:680px; display:flex; flex-direction:column; justify-content:flex-end; padding:var(--space-40); overflow:hidden; box-sizing:border-box;}
.brand-why-bg {position:absolute; inset:0; background:#ededed;}
.brand-why-bg img {width:100%; height:100%; object-fit:cover;}
.brand-why-bg:after {content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(72,72,72,0.4) 100%);}
.brand-why-txt {position:relative; z-index:1; color:#fff;}
.brand-why-txt h3 {margin:0 0 var(--space-16); font-size:var(--font-size-36); font-weight:600; line-height:1.3em;}
.brand-why-txt p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.5em;}

.brand-sec--brilliance {border-bottom:0;}
.brand-brilliance-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-40); margin-bottom:var(--space-50); text-align:center;}
.brand-brilliance-head p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.5em; color:#454545;}
.brand-brilliance-visual {height:740px; overflow:hidden; background:#ededed;}
.brand-brilliance-visual img {width:100%; height:100%; object-fit:cover;}

/* product page */
.product-visual {margin-bottom:0;}
.product-hero {padding:calc(var(--header-height) + var(--space-80)) 0 var(--space-50); background:#fff;}
.product-hero-tit {font-family: 'Cormorant Garamond', serif; margin:0; font-size:var(--font-size-64); font-weight:500; line-height:1.15em; color:#242424; text-align:center;}
.product-page.real-cont {padding:0 0 var(--space-100);}

/* contact page */
.contact-wrap {max-width:1500px;}
.contact-page.real-cont {padding:var(--space-80) 0 var(--space-100);}
.contact-contain {max-width:1500px;}
.contact-sec {padding-bottom:var(--space-100);}
.contact-sec.contact-sec--location {padding-bottom:0;}
.contact-sec--inquiry {border-bottom:1px solid #949494; margin-bottom:var(--space-100);}
.contact-sec-row {display:flex; align-items:flex-start; justify-content:space-between; gap:clamp(40px, calc(80 / var(--inner) * 100vw), 80px);}
.contact-sec-head {flex:0 0 auto; display:flex; flex-direction:column; gap:clamp(24px, calc(32 / var(--inner) * 100vw), 32px);}
.contact-sec-tit {margin:0; font-size:clamp(36px, calc(56 / var(--inner) * 100vw), 56px); font-weight:500; line-height:1.18em; color:#242424;}
.contact-sec-desc {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.55em; color:#454545;}
.contact-sec-body {flex:0 0 clamp(280px, calc(955 / var(--inner) * 100vw), 955px); max-width:955px; width:100%;}

.contact-page .contact-form .form-area {display:flex; flex-direction:column; gap:var(--space-25);}
.contact-page .contact-form .form-row {display:flex; gap:var(--space-40); margin:0;}
.contact-page .contact-form .form-group {flex:1 1 0; min-width:0; width:auto; padding:0;}
.contact-page .contact-form .form-row.wide .form-group {width:100%;}
.contact-page .contact-form .label-wrap {margin-bottom:12px; display:flex; gap:0; font-size:var(--font-size-16); font-weight:600; line-height:1.625em;}
.contact-page .contact-form .label {color:#242424; line-height:1.625em;}
.contact-page .contact-form .required {color:#d3a790; line-height:1.625em;}
.contact-page .contact-form .input {width:100%; height:clamp(44px, calc(56 / var(--inner) * 100vw), 56px); padding:0 clamp(15px, calc(20 / var(--inner) * 100vw), 20px); font-size:var(--font-size-15); font-weight:600; line-height:1.73em; color:#242424; border:1px solid #ddd; border-radius:0;}
.contact-page .contact-form .input::placeholder {color:#999; font-weight:600;}
.contact-page .contact-form textarea.input {height:200px; padding:18px 20px; resize:none;}
.contact-page .contact-form .contact-file {display:flex; gap:12px; align-items:stretch;}
.contact-page .contact-form .contact-file-name {flex:1 1 auto; min-width:0;}
.contact-page .contact-form .contact-file-btn {height:clamp(44px, calc(56 / var(--inner) * 100vw), 56px); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:120px; padding:0 var(--space-40); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; color:#242424; background:#fff; border:1px solid #ddd; cursor:pointer;}
.contact-page .contact-form .captcha-wrap {display:flex; gap:10px; height:clamp(44px, calc(56 / var(--inner) * 100vw), 56px);}
.contact-page .contact-form .captcha-img {flex:0 0 123px; display:flex; align-items:center; justify-content:center; height:100%;}
.contact-page .contact-form .captcha-img img {display:block; max-width:100%; max-height:100%; cursor:pointer;}
.contact-page .contact-form .captcha-wrap .input {flex:1 1 auto; min-width:0;}

.contact-page .contact-form .form-agree {margin:var(--space-40) 0 0;}
.contact-page .contact-form .form-agree h3 {margin:0 0 18px; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:#242424; letter-spacing:0;}
.contact-page .contact-form .form-agree .scroll-box {padding:10px; font-size:var(--font-size-14); font-weight:400; line-height:1.57em; color:#454545; background:#fff; border:1px solid #ddd;}
.contact-page .contact-form .form-agree .check {display:flex; align-items:center; justify-content:center; gap:8px; margin-top:30px; text-align:left;}
.contact-page .contact-form .form-agree .checkbox label {font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#454545;}
.contact-page .contact-form .contact-agree-link {display:inline-flex; align-items:center; justify-content:center; min-width:54px; height:24px; padding:0 8px; font-size:var(--font-size-12); font-weight:500; line-height:1.5em; color:#454545; background:#fff; border:1px solid #ddd; text-decoration:none;}
.contact-page .contact-form .buttons {margin:var(--space-40) 0 0;}
.contact-page .contact-form .contact-submit {min-width:140px; height:clamp(44px, calc(56 / var(--inner) * 100vw), 56px); padding:0 var(--space-40); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; color:#fff; background:#111; border:1px solid #111; border-radius:0; cursor:pointer;}

.contact-location-info {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40); margin-top:clamp(32px, calc(48 / var(--inner) * 100vw), 48px);}
.contact-location-addr {display:flex; align-items:flex-start; gap:var(--space-25); flex:1 1 auto; min-width:0;}
.contact-location-icon {display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; padding:8px 6px;}
.contact-location-icon img {display:block; width:18px; height:auto;}
.contact-location-main {margin:0 0 8px; font-size:var(--font-size-20); font-weight:500; line-height:1.5em; color:#242424;}
.contact-location-sub {margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; color:#454545;}
.contact-location-meta {display:flex; flex-direction:column; gap:var(--space-16); flex:0 0 auto;}
.contact-meta-item {display:flex; align-items:center; gap:var(--space-16); margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; color:#454545; white-space:nowrap;}
.contact-meta-icon {display:flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; height:20px;}
.contact-meta-icon img {display:block; width:100%; height:100%;}