@charset "utf-8";
.point-tit { display: flex; align-items: flex-start; font-weight: 500; letter-spacing: 0; }
.point-tit span:first-of-type { margin-top: .125rem; margin-right: .5rem; }
.gradient-point {
    background-image: linear-gradient(160deg, #ab7334 0%, #ab7334 15%, #714528 50%, #714528 100%);
    background-clip: text; -webkit-background-clip: text; color: transparent;
}
.q_inquiry img { cursor: pointer; }
main { background-color: #fff; max-width: 100vw; overflow-x: hidden; }
@media (max-width:768px) {
    .point-tit { font-size: 1.3rem; margin-bottom: 2rem; }
    .point-tit .font-12 { font-size: 1rem; }
    .font-50 { font-size: 2.5rem; }
    .font-32 { font-size: 2rem; }
    .font-20 { font-size: 1.2rem; }
}

#visual { height: auto; }
#visual .bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_visual.webp); }
#visual .inner { position: relative; height: 100vh; }
#visual .inner .cont { position: absolute; top: 50%; right: 0; transform: translateY(-50%); z-index: 5; }
@media (max-width:1080px) {
    #visual .bg { background-position: 35% center; }
}
@media (max-width:990px) {
    #visual .font-70 { line-height: 1.2; }
}
@media (max-width:768px) {
    #visual { aspect-ratio: 9/19.5; }
    #visual .bg { background-image: url(./img/bg_visual_m.webp); }
    #visual .inner { height: auto; }
    #visual .inner .cont { width: 100%; top: 5rem; right: auto; left: 50%; transform: translateX(-50%); }
    #visual .font-24 { font-size: 1.25rem; }
    #visual .font-40 { font-size: 2rem; }
    #visual .font-70 { font-size: 3.25rem; }
    #visual h2 { margin-top: 1rem; margin-bottom: 2rem; }
}

#target { background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_target.jpg); }
#target .inner { position: relative; width: 46.67%; height: auto; aspect-ratio: 1/1; margin: auto; }
#target .inner .tit { position: absolute; width: 100%; height: auto; top: 50%; left: 50%; transform: translate(-50%,-50%); }
#target .inner ul { position: relative; width: 100%; height: 100%; }
#target .inner ul li { position: absolute; z-index: 5; }
#target .inner ul li:nth-child(1) { top: -3rem; left: 50%; transform: translateX(-50%); }
#target .inner ul li:nth-child(2) { top: 30%; left: -20%; transform: translateY(-30%); }
#target .inner ul li:nth-child(3) { top: 30%; right: -20%; transform: translateY(-30%); }
#target .inner ul li:nth-child(4) { bottom: 10%; right: -15%; transform: translateY(-10%); }
#target .inner ul li:nth-child(5) { bottom: 10%; left: -15%; transform: translateY(-10%); }

#core .bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_core.webp); }
#core .inner { position: relative; z-index: 5; }
@media (max-width:768px) {
    #core .bg { background-image: url(./img/bg_core_m.webp); }
    #core .inner { padding-bottom: 100%; }
}

#customized { background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_customized.png); }
#customized .flexList { --x-gap: .5rem; --y-gap: .5rem; }
#customized .flexList .box { background-color: #fff; }
#customized .flexList .box .cont { display: flex; flex-direction: column; justify-content: space-between; align-items: baseline; height: 100%; padding: 2rem 2.5rem; }
#customized .bubble { position: relative; left: 0; right: 0; width: 100%; }
@media (max-width:768px) {
    #customized { background-image: url(./img/bg_customized_m.png); }
    #customized .flexList { --x-gap: 1rem; --y-gap: 1rem; }
    #customized .flexList .box { aspect-ratio: 1/.95; }
    #customized .flexList .box .cont { padding: 1rem 1.25rem; }
    #customized .flexList .box .cont img { max-width: 25%; }
    #customized .flexList .box .cont .font-32 { font-size: 1.35rem; }
}

#program { background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_program.jpg); }
#program .tit p { position: absolute; width: 100%; height: auto; line-height: 1; top: -2rem; left: 50%; transform: translateX(-50%); color: #ded3a7; }
@media (max-width:768px) {
    #program { background-image: url(./img/bg_program_m.jpg); }
    #program .tit p { white-space: nowrap; left: 0; }
    #program .flexList { --y-gap : 5rem; }
    #program h3 svg { width: 3rem; height: 3rem; }
}

#comparision { background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_comparision.jpg); }
#comparision .table table { border-spacing: .5rem; }
#comparision .table table th, #comparision .table table td { border-radius: .5rem; }
#comparision .table table th { padding: 1rem; }
#comparision .table table td { padding: 1.25rem 1rem; }
#comparision .table table thead th.first { background-image: linear-gradient(to right, #896b4c, #5c3c23); }
#comparision .table table thead th.last { background-image: linear-gradient(to right, #cfa977, #9d6831); }
#comparision .table table tbody td { background-color: #fff; }
#comparision .table table tbody td.middle { background-color: #f9efdf; }
@media (max-width:768px) {
    #comparision { background-image: url(./img/bg_comparision_m.jpg); }
    #comparision .tit .flex-between { flex-wrap: wrap; }
    #comparision .tit .flex-between > * { width: 100%; }
    #comparision .table_section { width: 90%; }
    #comparision .table table { border-spacing: .25rem; }
}

#reason { background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url(./img/bg_reason.webp); }
#reason .flexList { --x-gap : .0125rem; --y-gap: .0125rem; }
#reason .flexList .box { position: relative; padding: 2rem 2.5rem; }
#reason .flexList .box .bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; overflow: hidden; background-repeat: no-repeat; background-size: 100% 100%; }
#reason .flexList .box:nth-child(1) .bg { background-image: url(./img/bg_reason01.png); border-radius: 1rem 0 0 1rem; }
#reason .flexList .box:nth-child(2) .bg { background-image: url(./img/bg_reason02.png); }
#reason .flexList .box:nth-child(3) .bg { background-image: url(./img/bg_reason03.png); border-radius: 0 1rem 1rem 0; }
#reason .flexList .box > *:not(.bg) { position: relative; z-index: 5; }
#reason .mark-text { display: inline-block; padding: .25rem .5rem; margin-top: .5rem; }
#reason .mark-text.m1 { background-color: #825830; color: #ffefd3; }
#reason .mark-text.m2 { background-color: #635242 ; color: #ffefd2; }
#reason .mark-text.m3 { background-color: #3d2d1c; color: #ffefd2; }
@media (max-width:768px) {
    #reason { background-image: url(./img/bg_reason_m.jpg); }
    #reason section.flex-between { flex-wrap: wrap; }
    #reason section.flex-between > * { width: 100%; }
    #reason section.flex-between > *:not(:first-child) { margin-top: 4rem; }
    #reason .flexList { --y-gap: .00025rem; margin-bottom: 4rem; }
    #reason .flexList .box img { max-width: 25%; }
    #reason .flexList .box:nth-child(1) .bg { border-radius: 1rem 1rem 0 0; }
    #reason .flexList .box:nth-child(2) .bg { border-radius: 0; }
    #reason .flexList .box:nth-child(3) .bg { border-radius: 0 0 1rem 1rem; }
    #reason .flexList .box > p { font-size: 1.15rem; font-weight: 500; }
    #reason .mark-text { margin-top: .25rem; }
}

#process { background-color: #fffcf7; }
#process .processSection { width: var(--layoutWidthMini); margin: auto; }
#process .processSectionLine { position: relative; width: 100vw; height: 1px; border-top: 1px dashed #0d4243; opacity: .2; left: calc( ((100vw - var(--layoutWidthMini)) / 2) * -1 ) ; top: 6rem; z-index: 0; }
#process .processList .step { position: relative; display: inline-block; padding: .125rem 1rem .25rem; background-image: linear-gradient(to right, #9d6831, #5f370d); border-radius: 1rem; z-index: 5; }
@media (max-width:1544px) {
    #process .processSection { width: 85%; }
}
@media (max-width:768px) {
    #process .processSection { width: 95%; margin-left: 5%; }
    #process .processList .step { font-size: 1.3rem; border-radius: 2rem; }
}

#specialStemcell .tit { width: 40%; padding: 6rem 4rem; background-image: url(./img/bg_special.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; }
#specialStemcell .cont { width: 55%; padding-left: 5%; }
#specialStemcell .cont .flexList { --x-gap: 3rem; align-items: center; }
#specialStemcell .cont .box.txt h6 { color: #9d6831; font-weight: 500; }
@media (max-width:768px) {
    #specialStemcell .section-right_mini.flex { flex-wrap: wrap; padding-right: 0; }
    #specialStemcell .section-right_mini.flex .tit { width: 100%; padding: 12rem 0; }
    #specialStemcell .tit { background-image: url(./img/bg_special_m.jpg); }
    #specialStemcell .section-right_mini.flex .cont { width: 90%; margin: auto; padding-left: 0; }
    #specialStemcell .section-right_mini.flex .cont ul { width: 100%; }
    #specialStemcell .cont .flexList { --y-gap: 1.5rem; }
    #specialStemcell .box.txt { padding: 0 5% 5%; }
}

#contact { background-color: #fffcf7; }
#contact h2 {
    background-image: linear-gradient(120deg, #744728 0%, #744728 20%, #1c1c1c 70%, #1c1c1c 100%);
    background-clip: text; -webkit-background-clip: text; color: transparent;
}
@media (max-width:768px) {
    #contact .section_mini { padding: 125px 0 0; }
}

#location { background-image: linear-gradient(to bottom, #fffbf4 0%, #fff3e1 15%, #fff3e1 100%); }
#location .flexList { --x-gap: 8rem; }
#location .root_daum_roughmap { width: 100%; }
#location .root_daum_roughmap, #location .root_daum_roughmap .map { height: 700px !important; }
#location .root_daum_roughmap .wrap_controllers,
#location .root_daum_roughmap .cont,
#location .root_daum_roughmap .map_border { display: none; }
#location .info a { min-width: 185px; margin-right: 1rem; padding: 1rem; background: #fff; box-shadow: 0 0 .25rem rgba(0,0,0,.0125); }
#location .list > li .tit { width: 6rem; }
#location .list > li .tit.lng { width: 8rem; }
#location .list > li .innerbox { background-color: rgba(214,192,159,.3); margin-top: .5rem; padding: 1rem; }
#location .list ol { line-height: 1; }
#location .list ol li p { position: relative; width: 4rem; text-align: justify; }
#location .list ol li.lng p { width: 6rem; }
#location .list ol li p::after { display: inline-block; content: ''; width: 100%; }
@media (max-width:768px) {
    #location .container_mini { width: 100%; }
    #location .section_mini { padding: 125px 0; }
    #location .info { padding: 5% 7.5%; }
    #location .font-40 { font-size: 2rem; }
    #location .root_daum_roughmap, #location .root_daum_roughmap .map { height: 400px !important; }
    #location .directions { width: 100%; justify-content: space-between; }
    #location .info a { width: 31.5%; min-width: auto; padding: 1rem .5rem; margin-right: 0; }
    #location .list > .flex { display: block ; }
    #location .list > .flex > .tit { width: 100%; margin-bottom: 1rem; line-height: 1.4; }
    #location .list > .flex > .cont { line-height: 1.6; }
    #location .list > li .innerbox { padding: 1.5rem; margin-top: 1rem; }
    #location .list ol { line-height: 1 !important; }
}

#lnd_counsel { position: fixed; left: 0; right: 0; bottom: 0; width: 100%; z-index: 100; transition: .3s; bottom: -5rem; }
#lnd_counsel.opened { bottom: 0; }
#lnd_counsel .counsel--buttons  {display: flex; width: 215px; overflow: hidden; margin-left: auto; margin-right: auto;  }
#lnd_counsel .counsel--call-btn { width: 100%; height: 55px; background-color: rgba(106, 84, 52, .75); backdrop-filter: blur(.5rem); -webkit-backdrop-filter: blur(.5rem); color: #fff; border:0; padding: .5rem 1rem; border-radius: 1rem 1rem 0 0; cursor:pointer; display: flex; justify-content: center; align-items: center; }
#lnd_counsel .counsel-form-box { width: 100%; background-color: rgba(106, 84, 52, .75); backdrop-filter: blur(.5rem); -webkit-backdrop-filter: blur(.5rem); }
#lnd_counsel .counsel-form-box form { display: flex; align-items: center; justify-content: space-between; width: var(--layoutWidthMini); margin: 0 auto; padding: 1.5rem 0; }
#lnd_counsel .counsel-form-box fieldset { width: 62.5%; }
#lnd_counsel .counsel-form-box fieldset > *:not(:last-child) { margin-right: 5%; }
#lnd_counsel .counsel-form-box fieldset .short { width: 25%; }
#lnd_counsel .counsel-form-box fieldset.lng .short { width: 30%; }
#lnd_counsel .counsel-form-box fieldset .long { width: 40%; }
#lnd_counsel .counsel-form-box fieldset.lng .long { width: 50%; }
#lnd_counsel .counsel-form-box fieldset label { display: inline-block; min-width: 25%; color: #fff; }
#lnd_counsel .counsel-form-box fieldset.lng label { min-width: 30%; }
#lnd_counsel .counsel-form-box fieldset input[type=text],
#lnd_counsel .counsel-form-box fieldset input[type=tel],
#lnd_counsel .counsel-form-box fieldset textarea
{
    min-width: 75%; max-width: 75%; max-height: 40px; padding: .75rem 1.25rem; border: 0; outline: 0;
    font-family: var(--mainfont) !important; border-radius: .25rem; overflow-y: hidden; resize: none;
}
#lnd_counsel .counsel-form-box fieldset.lng input[type=text],
#lnd_counsel .counsel-form-box fieldset.lng input[type=tel],
#lnd_counsel .counsel-form-box fieldset.lng textarea { min-width: 70%; max-width: 70%; }
#lnd_counsel .counsel-form-box fieldset input[type=text]:focus,
#lnd_counsel .counsel-form-box fieldset input[type=tel],:focus{
    border: 0 !important; box-shadow: none !important;
}
#lnd_counsel .counsel-form-box .buttonset { width: 35%; }
#lnd_counsel .counsel-form-box .buttonset button { display: flex; align-items: center; justify-content: center; padding: .75rem 5rem .85rem 5rem; line-height: 1; border-radius: .5rem; order: 1; }
#lnd_counsel .counsel-form-box .buttonset button[type=submit] { background-color: #000; }
#lnd_counsel .counsel-form-box .privacy { margin: .75rem 2.5%; display: flex; justify-content: flex-end; align-items: flex-end; order: 2; }
#lnd_counsel .counsel-form-box .checkbox { position: relative; }
#lnd_counsel .counsel-form-box .checkbox input[type=checkbox] { position: absolute; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; }
#lnd_counsel .counsel-form-box .checkbox input[type=checkbox] ~ label { position: relative; padding-left: 1.5rem; }
#lnd_counsel .counsel-form-box .checkbox input[type=checkbox] ~ label::before { position: absolute; content: ''; top: 50%; left: 0; transform: translateY(-50%); width: 1rem; height: auto; aspect-ratio: 1/1; border: 1px solid #fff; border-radius: .25rem; background-color: transparent;  }
#lnd_counsel .counsel-form-box .checkbox input[type=checkbox]:checked ~ label::before { background-color: #fff; }
#lnd_counsel .counsel-form-box .checkbox a { color: #fff; }
#lnd_counsel .counsel-form-cover, #lnd_counsel .counsel-form-header { display: none; }
@media(max-width: 768px){
    #lnd_counsel { bottom: 0; z-index: 500; }
    #lnd_counsel .counsel--buttons { width: 45%; }
    #lnd_counsel .counsel--call-btn { font-size: 1.5rem; }
    #lnd_counsel .counsel-form-cover { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; background-color: rgba(0,0,0,.5); }
    #lnd_counsel .counsel-form-box { display: none; position: fixed; top: 50%; left: 50%; width: 90%; transform: translate(-50%,-50%); border-radius: 1rem; }
    #lnd_counsel.opened .counsel-form-cover, #lnd_counsel.opened .counsel-form-box, #lnd_counsel.opened .counsel-form-header { display: block; }
    #lnd_counsel .counsel-form-box form,
    #lnd_counsel .counsel-form-box fieldset { display: block; width: 100%; }
    #lnd_counsel .counsel-form-box form { padding: 4rem 3rem; }
    #lnd_counsel .counsel-form-box fieldset label { display: none; }
    #lnd_counsel .counsel-form-box fieldset input[type=text],
    #lnd_counsel .counsel-form-box fieldset input[type=tel],
    #lnd_counsel .counsel-form-box fieldset textarea,
    #lnd_counsel .counsel-form-box fieldset.lng input[type=text],
    #lnd_counsel .counsel-form-box fieldset.lng input[type=tel],
    #lnd_counsel .counsel-form-box fieldset.lng textarea
    { min-width: auto; width: 100%; max-width: 100%; margin-bottom: .75rem; padding: .75rem 1.5rem; border-radius: .5rem; font-size: 1.15rem; }
    #lnd_counsel .counsel-form-box fieldset textarea { min-height: 150px; max-height: none; overflow-y: auto; }
    #lnd_counsel .counsel-form-box fieldset .short, #lnd_counsel .counsel-form-box fieldset.lng .short,
    #lnd_counsel .counsel-form-box fieldset .long, #lnd_counsel .counsel-form-box fieldset.lng .long { width: 100%; margin-right: 0; }
    #lnd_counsel .counsel-form-box .buttonset { width: 100%; flex-wrap: wrap; }
    #lnd_counsel .counsel-form-box .buttonset > * { width: 100%; }
    #lnd_counsel .counsel-form-box .buttonset button { order: 2; }
    #lnd_counsel .counsel-form-box .privacy { order: 1; align-items: center; justify-content: flex-start; margin: 1rem 0 2rem; font-size: 1rem; }
    #lnd_counsel .counsel-form-box .buttonset button[type=submit] { padding: 1.25rem 0; font-size: 1.15rem; }
    #lnd_counsel.opened .counsel-form-header { position: relative; }
    #lnd_counsel .counsel-form-cls { position: absolute; right: -2.5rem; top: -3.5rem; }
}

#header { background-color: rgba(255,255,255,.75); }

/* .lngCtrl { display: flex; align-items: center; position: fixed; top: 2rem; right: 2.5%; z-index: 99; }
.lngCtrl a:not(:first-child) { margin-left: .5rem; }
.lngCtrl a img { min-width: 60px; height: auto; aspect-ratio: 1/1; object-fit: cover; border-radius: 50%; overflow: hidden; }
.lngCtrl a p { display: none; }
@media (max-width:990px) {
    .lngCtrl { right: 5%; }
    .lngCtrl a img { min-width: 30px; }
} */