@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 
.only-desktop {display:block !important;}
.only-mobile {display:none !important;}

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.contain {width:100%; max-width:1460px; margin:0 auto; padding-left:var(--contain-padding); padding-right:var(--contain-padding);}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {position:fixed; width:100%; z-index:102; top:0; left:0; right:0;}
#header .contain {max-width:1780px; position:relative; display:flex; align-items:center;}

.sitelogo {height:clamp(28px, calc(39 / var(--inner) * 100vw), 39px); aspect-ratio:180/39;}
.sitelogo a {display:block; height:100%; width:100%; background:url('../images/common/logo.png') 0 50% / contain no-repeat;}

#gnb {position:relative; text-align:center; flex:1;}
#gnb > ul {display:flex; justify-content:center;}
#gnb > ul > li {padding-right:var(--gnb-gutter); position:relative; z-index:1;}
#gnb > ul > li > a {height:var(--header-height); position:relative; font-size:var(--font-size-18); letter-spacing:-.03em; font-weight:600; letter-spacing:0; color:#fff; display:flex; align-items:center; justify-content:center; z-index:5;}
#gnb > ul > li:last-child {padding-right:0;}
#gnb > ul > li:hover > a {color:var(--color-primary) !important;}

#main #header {background-color:#fff;}
#main #gnb > ul > li > a {color:#242424;}
#main .btn-m-menu span,
#main .btn-m-menu span:before,
#main .btn-m-menu span:after {background-color:#242424;}

#sub .sitelogo a {background-image:url('../images/common/logo-w.png');}

#gnb .submenu {left:0; z-index:10; display:none; position:absolute;}
#gnb .submenu>ul {display:flex; gap:var(--space-90);}
#gnb .submenu>ul>li>a {color:#666; line-height:1.3em; white-space:nowrap; height:104px; display:flex; align-items:center;}
#gnb .submenu>ul>li>a:hover {font-weight:600; text-decoration:underline; color:var(--color-secondary); text-underline-offset:2px;}

.submenu-bg {display:none; position:absolute; width:100%; left:0; background:#fff; border-top:1px solid #ddd; border-bottom:1px solid rgba(221, 221, 221, .5);}

html.header-hover #header {background-color:#fff; box-shadow:0 0 10px rgba(0, 0, 0, 0.1);}
html.header-hover #header:after {background-color:#ddd;}
html.header-hover #gnb>ul>li>a {color:var(--color-bk);}
html.header-hover .sitelogo a {background-image:url('../images/common/logo.png') !important;}
html.header-hover .btn-m-menu span,
html.header-hover .btn-m-menu span:before,
html.header-hover .btn-m-menu span:after {background:var(--color-bk);}

html.header-fixed #header {background-color:#fff; box-shadow:0 0 10px rgba(0, 0, 0, 0.1);}
html.header-fixed #header:after {background-color:#ddd;}
html.header-fixed #gnb>ul>li>a {color:var(--color-bk);}
html.header-fixed .sitelogo a {background-image:url('../images/common/logo.png') !important;}
html.header-fixed .btn-m-menu span,
html.header-fixed .btn-m-menu span:before,
html.header-fixed .btn-m-menu span:after {background:var(--color-bk);}

/* for mobile */
.btn-m-menu {position:relative;width:48px;height:48px;text-align:center;text-indent:-9999em;z-index:50; display:block;}
.btn-m-menu span {position:absolute; right:0; top:50%; width:28px; height:2px; background:#fff; border-radius:2px;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; right:0; width:48px; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-m-menu span:before {top:-9px; transition-property:top, transform;}
.btn-m-menu span:after {background-color:#fff !important; bottom:-9px; transition-property:bottom, transform;}

#sub .btn-m-menu span:after {opacity:0;}

.mobile-navigation {position:fixed; top:var(--header-height); right:0; width:100%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .nav-menu {max-width:1600px; padding:var(--space-130) var(--space-30) 0; margin:0 auto;}
.mobile-navigation .nav-menu>ul {gap:var(--space-120); display:flex;}
.mobile-navigation .nav-menu>ul>li>a {color:#242424; font-size:var(--font-size-30); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.mobile-navigation .nav-menu .submenu ul {margin-top:var(--space-30); display:grid; gap:var(--space-25);}
.mobile-navigation .nav-menu .submenu ul li a {display:block;color:#666; font-size:var(--font-size-18); font-weight:600; line-height:1.4em; letter-spacing:-.03em;}
.mobile-navigation .nav-menu>ul>li>a:hover,
.mobile-navigation .nav-menu .submenu ul li a:hover {color:var(--color-primary);}

html.menu-opened #header {background-color:#fff;}
html.menu-opened #header:after {background-color:#ddd; position:absolute; content:''; bottom:0; left:0; right:0; height:1px;}
html.menu-opened .sitelogo a {background-image:url('../images/common/logo.png') !important;}
html.menu-opened #gnb > ul > li > a  {color:#242424 !important;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .btn-m-menu span {background:none !important;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s; background-color:#242424 !important;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}
html.menu-opened #sub .btn-m-menu span:after {opacity:1;}

#main #wrapper {padding-top:var(--header-height);}

/* main */
.main-visual {border-radius:50px; margin:0 var(--space-40);}
.main-visual, .main-visual .item {height:880px; position:relative; overflow:hidden; background:#000;}
.main-visual .item img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:5s linear; transform:scale(1.15);}
.main-visual .item video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.main-visual .caption {max-width:1700px; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); padding:0 var(--contain-padding); width:100%; z-index:30;}
.main-visual .caption p {transition:.8s; opacity:0; transform:translateX(20px); color:#fff;}
.main-visual .caption .t1 {font-size:clamp(20px, calc(48 / var(--inner) * 100vw), 48px); font-weight:700; line-height:1.5em; letter-spacing:-.03em; color:#fff;}

.main-visual .active .item img {transform:scale(1);}
.main-visual .active .caption p {opacity:1; transform:translateX(0);}
.main-visual .active .caption .t1 {transition-delay:0.3s;}

.main-visual .controls {justify-content:center; position:absolute; bottom:var(--space-40); left:50%; width:100%; max-width:1780px; padding:0 var(--contain-padding); display:flex; align-items:center; gap:var(--space-30); -webkit-transform:translateX(-50%); transform:translateX(-50%); z-index:30;}
.main-visual .controls .slide-btn {width:10px; height:17px; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:contain; cursor:pointer;}
.main-visual .controls .slide-prev {background-image:url("/images/main/mv-prev.png");}
.main-visual .controls .slide-next {background-image:url("/images/main/mv-next.png");}
.main-visual .slick-dots {display:flex; gap:var(--space-10); align-items:center;}
.main-visual .slick-dots li button {width:9px; height:9px; display:block; background:#fff; opacity:0.5; border:0; border-radius:30px; transition:.2s; overflow:hidden; font-size:0; line-height:0; text-indent:-9999em; opacity:0.5;}
.main-visual .slick-dots li.slick-active button {width:32px; opacity:1;}

.m-sec .contain {max-width:1700px;}

.main-sec2 {position:relative; background:linear-gradient(180deg, #fff 42.9%, #ebf1ff 100%);}
.main-sec2 .numbers {padding:var(--space-120) 0;}
.main-sec2 .numbers .cont-tit {text-align:center; margin-bottom:var(--space-90);}
.main-sec2 .numbers .tit {font-family:'Sora',sans-serif; font-size:var(--font-size-48); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec2 .numbers .list {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;}
.main-sec2 .numbers .list .item {display:flex; flex-direction:column; align-items:center; flex:0 0 auto; padding:0 var(--space-40);}
.main-sec2 .numbers .list .item .img {margin:0 0 var(--space-20);}
.main-sec2 .numbers .list .item .img img {height:clamp(28px, calc( 40 / var(--inner) * 100vw ), 40px);}
.main-sec2 .numbers .list .item .num {font-family:'Sora',sans-serif; font-size:var(--font-size-60); font-weight:600; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5; text-align:center; margin-bottom:var(--space-15);}
.main-sec2 .numbers .list .item .txt {font-size:var(--font-size-18); font-weight:600; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5; text-align:center;}
.main-sec2 .numbers .list .divider {display:flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0 var(--space-20);}
.main-sec2 .numbers .list .divider .img {width:1px; height:80px; background-color:#ddd;}
.main-sec2 .numbers .list .divider .img img {width:80px; height:1px; transform:rotate(90deg); transform-origin:center center;}

.main-sec3 {padding:var(--space-150) 0;}
.main-sec3 .cont-tit {text-align:center; margin-bottom:var(--space-50);}
.main-sec3 .cont-tit .tit {font-family:'Sora',sans-serif; font-size:var(--font-size-48); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec3 .list {display:flex; flex-direction:column; gap:0;}
.main-sec3 .list .item {border-top:1px solid #ddd; display:flex; gap:var(--space-30); align-items:center; padding:var(--space-80) 0;}
.main-sec3 .list .item:last-child {padding-bottom:0;}
.main-sec3 .list .item .txt-wrap {flex:1; align-items:flex-start; display:flex; flex-direction:column; gap:var(--space-40);}
.main-sec3 .list .item .num {font-size:var(--font-size-20); font-weight:600; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec3 .list .item .tit {font-size:var(--font-size-44); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec3 .list .item .desc {font-size:var(--font-size-20); color:#454545; letter-spacing:-.03em; line-height:1.5;}
.main-sec3 .list .item .btn {height:clamp(40px, calc( 60 / var(--inner) * 100vw ), 60px); display:inline-flex; align-items:center; justify-content:center; padding:0 56px; border:1px solid var(--color-bk); border-radius:60px; font-size:var(--font-size-16); font-weight:500; color:var(--color-bk); text-decoration:none; letter-spacing:-.03em;}
.main-sec3 .list .item .btn:hover {background:var(--color-primary); border-color:var(--color-primary); color:#fff;}

.main-sec4 .cont-tit {text-align:center; margin-bottom:var(--space-90);}
.main-sec4 .tit {font-family:'Sora',sans-serif; font-size:var(--font-size-48); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec4 .list {display:grid; grid-template-columns:repeat(5, 1fr); gap:2px;}
.main-sec4 .list .item {position:relative; border:1px solid #fff; overflow:hidden; aspect-ratio:1;}
.main-sec4 .list .item a {display:block; position:absolute; inset:0; color:inherit; text-decoration:none;}
.main-sec4 .list .item .img {position:absolute; inset:0; margin:0; overflow:hidden;}
.main-sec4 .list .item .img img {width:100%; height:100%; object-fit:cover; transition:transform 0.35s ease;}
.main-sec4 .list .item .img::after {content:''; position:absolute; inset:0; background:rgba(0,0,0,0.24); transition:background 0.35s ease;}
.main-sec4 .list .item .txt {position:absolute; left:6.25%; right:6.25%; bottom:6.25%; font-size:var(--font-size-18); font-weight:600; color:#fff; letter-spacing:-.03em; line-height:1.5; transition:opacity 0.35s ease;}
.main-sec4 .list .item .detail {justify-content:center; position:absolute; left:0; right:0; top:0; bottom:0; display:flex; flex-direction:column; align-items:center; padding:40px; box-sizing:border-box; opacity:0; pointer-events:none; transition:opacity 0.35s ease;}
.main-sec4 .list .item .detail .tit {margin:0 0 var(--space-20); font-size:var(--font-size-18); font-weight:600; color:#fff; letter-spacing:-.03em; line-height:1.5; text-align:center;}
.main-sec4 .list .item .detail .line {width:56px; height:1px; background:rgba(255, 255, 255, 0.50);}
.main-sec4 .list .item .detail .line img {display:block; width:56px; height:auto;}
.main-sec4 .list .item .detail .info {flex:1; justify-content:flex-end; text-align:center; display:flex; flex-direction:column; gap:var(--space-25); width:100%;}
.main-sec4 .list .item .detail .info .row {display:flex; flex-direction:column; gap:4px;}
.main-sec4 .list .item .detail .info .label {font-size:var(--font-size-16); font-weight:600; color:#fff; letter-spacing:-.03em; line-height:1.5;}
.main-sec4 .list .item .detail .info .value {font-size:var(--font-size-16); color:#fff; letter-spacing:-.03em; line-height:1.5;}
.main-sec4 .list .item:hover {border-color:transparent;}
.main-sec4 .list .item a:hover .img::after {background:linear-gradient(180deg, #0064f0 0%, #dbe4fa 100%);}
.main-sec4 .list .item a:hover .txt {opacity:0;}
.main-sec4 .list .item a:hover .detail {opacity:1;}
.main-sec4 .btn-wrap {text-align:center; margin-top:var(--space-80);}
.main-sec4 .btn {display:inline-flex; align-items:center; justify-content:center; height:60px; padding:0 56px; border:1px solid var(--color-bk); border-radius:60px; font-size:var(--font-size-16); font-weight:500; color:var(--color-bk); text-decoration:none; letter-spacing:-0.05em; background:#fff;}
.main-sec4 .btn:hover {background:var(--color-primary); border-color:var(--color-primary); color:#fff;}

.main-sec5 {background:linear-gradient(180deg, #ebf1ff 0%, #fff 168.9%);}
.main-sec5 .why-dains {display:flex; padding:var(--space-150) 0 var(--space-180);}
.main-sec5 .why-dains .tit-block {top:130px; flex:1; position:-webkit-sticky; position:sticky; left:0; block-size:fit-content; display:flex; flex-direction:column; gap:var(--space-25);}
.main-sec5 .why-dains .label {font-family:'Sora',sans-serif; font-size:var(--font-size-20); font-weight:600; color:var(--color-primary); letter-spacing:-.03em; line-height:1.5;}
.main-sec5 .why-dains .tit-block .tit {font-size:var(--font-size-48); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec5 .why-dains .tit-block .desc {font-size:var(--font-size-20); color:#454545; letter-spacing:-.03em; line-height:1.5;}
.main-sec5 .why-dains .list {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40);}
.main-sec5 .why-dains .list .item {display:flex; flex-direction:column; gap:var(--space-30);}
.main-sec5 .why-dains .list .item:nth-child(2) {padding-top:140px;}
.main-sec5 .why-dains .list .item:nth-child(3) {margin-top:-140px;}
.main-sec5 .why-dains .list .item .tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec5 .why-dains .list .item .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-.03em; line-height:1.5;}

/* main-sec6 contact-sec */
.main-sec6 {padding:var(--space-150) 0; background:linear-gradient(180deg, #ebeff8 0%, rgba(255,255,255,0.88) 100%);}
.main-sec6 .contain {grid-template-columns:repeat(2, 1fr); display:grid; gap:0 240px;}
.main-sec6 .tit-block {display:flex; flex-direction:column; gap:var(--space-15);}
.main-sec6 .label {font-family:'Sora',sans-serif; font-size:var(--font-size-20); font-weight:600; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec6 .tit-block .tit {font-size:var(--font-size-40); font-weight:700; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec6 .list {display:flex; flex-direction:column; gap:var(--space-15); margin-top:var(--space-60);}
.main-sec6 .list .item {display:flex; align-items:center; gap:var(--space-20); background:#fff; border-radius:20px; padding:var(--space-25); min-height:106px;}
.main-sec6 .list .item .ico {flex:0 0 56px; width:56px; height:56px; border-radius:16px; background:#111; display:flex; align-items:center; justify-content:center;}
.main-sec6 .list .item .ico .img {display:flex; align-items:center;}
.main-sec6 .list .item .ico .img img {height:24px;}
.main-sec6 .list .item .txt-wrap {display:flex; flex-direction:column; gap:4px;}
.main-sec6 .list .item .label {font-size:var(--font-size-15); color:#666; letter-spacing:-.03em; line-height:1.5;}
.main-sec6 .list .item .value {font-size:var(--font-size-18); font-weight:500; color:var(--color-bk); letter-spacing:-.03em; line-height:1.5;}
.main-sec6 .list .item .value a {color:inherit; text-decoration:none;}

.main-sec6 .form-wrap .row {margin-bottom:var(--space-20);}
.main-sec6 .form-wrap .row.row2 {display:flex; gap:var(--space-20);}
.main-sec6 .form-wrap .row.row2 .field {flex:1;}
.main-sec6 .form-wrap .input {padding:0 var(--space-20); border-radius:8px; background-color:#fff; color:#454545; letter-spacing:-.03em; display:block; width:100%; height:clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px);}
.main-sec6 .form-wrap textarea.input {height:clamp(150px, calc( 220 / var(--inner) * 100vw ), 220px); padding:var(--space-15) var(--space-20); resize:vertical;}
.main-sec6 .form-wrap input[type="file"] {padding:0;}
.main-sec6 .form-wrap .input::placeholder {color:#454545;}

.main-sec6 .form-agree {margin:var(--space-45) 0 var(--space-35);}
.main-sec6 .captcha-wrap {height:clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px);}
.main-sec6 #kcaptcha_image {border-radius:8px;}

.main-sec6 .buttons {margin:0 !important;}
.main-sec6 .buttons .btn-pack {border-radius:30px; width:100%; height:clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px); line-height:clamp(42px, calc( 62 / var(--inner) * 100vw ), 62px);}

.text-flow {padding:var(--space-150) 0 var(--space-200); overflow:hidden;}
.text-flow-inner {display:flex; animation:textFlow 20s linear infinite; will-change:transform;}
.text-flow-item {padding:0 var(--space-10); white-space:nowrap; font-size:var(--font-size-100); font-weight:700; line-height:1em; display:flex; align-items:center; gap:var(--space-80); background:linear-gradient(0deg, #0064F0 0%, #BED2FF 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;}

@keyframes textFlow {
    0% {transform:translateX(var(--text-flow-start, 0px));}
    100% {transform:translateX(calc(var(--text-flow-start, 0px) - var(--text-flow-item-width, 0px)));}
}

/* sub page */
.sub-visual {text-align:center; position:relative; height:clamp(250px, calc(560 / var(--inner) * 100vw ), 560px); color:#fff; background:#333; overflow:hidden;}
.sub-visual .bg {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:0; transform:scale(1.1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}
.sub-visual .inner {position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);}
.sub-visual .txt1 {font-size:clamp(26px, calc( 72 / var(--inner) * 100vw ), 72px); line-height:1em; display:block; letter-spacing:-.03em; font-weight:700;}
.sub-visual .txt2 {margin-top:var(--space-15); font-size:clamp(15px, calc( 20 / var(--inner) * 100vw ), 20px); line-height:1.3em; display:block; letter-spacing:-.03em;}
.sub-visual .bg1 {background-image:url("../images/common/sv1.jpg");}
.sub-visual .bg2 {background-image:url("../images/common/sv2.jpg");}
.sub-visual .bg3 {background-image:url("../images/common/sv3.jpg");}
.sub-visual .bg4 {background-image:url("../images/common/sv4.jpg");}
.sub-visual .bg5 {background-image:url("../images/common/sv5.jpg");}
.sub-visual .bg6 {background-image:url("../images/common/sv6.jpg");}

.sub-visual [data-aos=fade-up] {transform:translate3d(0,30px,0);}
.loaded .sub-visual .bg {transform:scale(1); opacity:1;}

.path-wrap {margin-top:-90px; position:relative; z-index:50;}
.path-wrap .inner {display:flex; gap:var(--space-10); justify-content:center;}
.path-wrap .home a {width:clamp(40px, calc( 60 / var(--inner) * 100vw ), 60px); height:clamp(40px, calc( 60 / var(--inner) * 100vw ), 60px); display:block; background:var(--color-primary) url("../images/common/home.svg") 50% 50% no-repeat; border-radius:100%; background-size:clamp(14px, calc( 20 / var(--inner) * 100vw ), 20px); text-indent:-999em; overflow:hidden;}
.path-wrap .part {position:relative; min-width:clamp(200px, calc( 250 / var(--inner) * 100vw ), 250px); z-index:50;}
.path-wrap .part > a {font-size:var(--font-size-18); padding:0 60px 0 24px; display:flex; align-items:center; position:relative; height:clamp(40px, calc( 60 / var(--inner) * 100vw ), 60px); color:#fff; font-weight:500; line-height:1.3em; border-radius:60px; background:rgba(0, 0, 0, 0.40); backdrop-filter:blur(10px);}
.path-wrap .part > a:after {content:""; position:absolute; top:50%; right:23px; margin-top:-7px; width:17px; height:14px; background:url("../images/common/path_down.svg") 50% 50% no-repeat;}
.path-wrap .part ul {margin-top:13px; border:1px solid #0064F0; padding:var(--space-25) var(--space-30); box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.10); border-radius:24px; display:none; position:absolute; width:100%; background:#fff; z-index:50;}
.path-wrap .part ul li {color:#242424;}
.path-wrap .part ul li a {font-size:var(--font-size-18); font-weight:600; line-height:2.45em; display:block;}
.path-wrap .part ul li a:hover {color:#0064F0;}

.sub-title {padding:var(--space-150) 0 var(--space-100); text-align:center;}
.sub-title .tit {font-size:var(--font-size-48); letter-spacing:-.03em; line-height:1.5em; color:var(--color-bk); font-family:'Raleway', sans-serif;}
.sub-title p {margin-top:10px; color:#686868; letter-spacing:-.03em; line-height:1.5em;}

#contArea {width:100%; max-width:1460px; margin:0 auto; padding:0 var(--contain-padding);}
#contArea.wide {max-width:none; padding:0;}

.real-cont {padding:0 0 var(--space-150);}

.foot-float {position:fixed; z-index:90; right:var(--space-30); bottom:var(--space-70);}
.foot-float .wrap {display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-10);}
.foot-float a {display:flex; flex-direction:row; align-items:center; justify-content:center; width:clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px); height:clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px); border-radius:50px; background:#fff; box-shadow:6px 6px 30px rgba(0,0,0,0.2); text-decoration:none; color:#fff; overflow:hidden; transition:width 0.35s ease, background 0.35s ease, border-radius 0.35s ease;}
.foot-float .btn .tit {display:none; font-weight:600; letter-spacing:-0.03em; line-height:1.25; flex:1; align-items:center; justify-content:center; text-align:center; color:#fff; min-width:0;}
.foot-float .btn .ico {flex-shrink:0; width:clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px); height:clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px); display:flex; align-items:center; justify-content:center;}
.foot-float .btn .ico img {max-width:clamp(20px, calc( 36 / var(--inner) * 100vw ), 36px); max-height:clamp(20px, calc( 36 / var(--inner) * 100vw ), 36px); width:auto; height:auto; object-fit:contain; vertical-align:middle;}
.foot-float .btn .ico .hov {display:none;}
.foot-float .btn:hover, .foot-float .btn:focus-visible {width:clamp(120px, calc( 200 / var(--inner) * 100vw ), 200px); border-radius:70px; background:var(--color-primary); justify-content:flex-start; outline:none;}
.foot-float .btn:hover .tit, .foot-float .btn:focus-visible .tit {display:flex; padding-left:clamp(7px, calc( 15 / var(--inner) * 100vw ), 15px); justify-content:flex-start;}
.foot-float .btn:hover .ico .def, .foot-float .btn:focus-visible .ico .def {display:none;}
.foot-float .btn:hover .ico .hov, .foot-float .btn:focus-visible .ico .hov {display:block;}
.go-top img {height:clamp(12px, calc( 19 / var(--inner) * 100vw ), 19px);}

/* footer */
#footer {color:#fff; background:var(--color-primary);}

.foot-top {padding:var(--space-80) 0 var(--space-50);}

.foot-info {flex:1;}
.foot-info .list {display:flex; flex-wrap:wrap; gap:var(--space-45); letter-spacing:-.03em;}
.foot-info .list .item {display:flex; flex-direction:column; gap:var(--space-10);}
.foot-info .list .tit {font-size:var(--font-size-16); font-weight:600; line-height:1.5;}
.foot-info .list .txt {font-size:var(--font-size-16); line-height:1.5;}
.foot-bottom {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-20); padding:var(--space-20) 0; border-top:1px solid rgba(255,255,255,0.2);}

.foot-sns {display:flex; align-items:center; gap:var(--space-10);}
.foot-sns a {display:block;}

.foot-logo {margin-bottom:var(--space-50);}
.foot-info .addr-list {display:flex; gap:var(--space-15); justify-content:center; flex-wrap:wrap;}
.foot-info .contact-list {display:flex; gap:var(--space-30); justify-content:center; flex-wrap:wrap;}

.foot-policy {display:flex; gap:var(--space-40); font-size:var(--font-size-14); letter-spacing:-.03em; color:#ccc;}
.foot-policy a:hover {font-weight:700;}
.foot-copy {flex:1; font-size:var(--font-size-12); opacity:.5; letter-spacing:-.03em;}