@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

.only-desktop {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}
.only-desktop-tablet {display:block;}

#wrapper {position:relative; overflow:hidden; padding-top:calc(40px + var(--header-height));}

#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 {position:relative; width:100%; max-width:1260px; padding-left:30px;padding-right:30px; margin:0 auto;}
.contain:after {content:" "; display:block; clear:both;}


/* header */
#header  {position:fixed; z-index:90; left:0; top:0; width:100%; transition:0.2s all ease; background:#fff;}
#header .contain {position:relative; max-width:1780px;}

.header-fixed #header {border-bottom:1px solid #ddd;}
.sitelogo {position:absolute; left:30px; top:50%; margin-top:-25px;}
.sitelogo a {display:block;}

#gnb>ul {display:flex; justify-content:flex-end; padding-right:355px;}
#gnb>ul>li {position:relative; padding:0 45px;}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; flex-direction: column; justify-content:center; height:var(--header-height); color:#242424; font-size:20px; font-weight:600; letter-spacing:-.03em; line-height:1.3em;}
#gnb>ul>li>a:before {content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:#009a43; transition:0.2s all ease;}
#gnb>ul>li.active >a ,
#gnb>ul>li>a:hover {color:#009a43;}
#gnb>ul>li.active>a:before {width:100%;}

#gnb .submenu {display:none; position:absolute; left:50%; text-align:center; transform:translateX(-50%); z-index:10;}
#gnb .submenu>ul {display:flex;}
#gnb .submenu>ul>li>a {display:block; padding:30px 15px; color:#454545; line-height:1.3em; letter-spacing:-0.03em; white-space:nowrap;}
#gnb .submenu>ul>li>a:hover {color:#009a43; text-decoration:underline;}
.submenu-bg {display:none; position:absolute; width:100%; left:0; background:#fff; box-shadow:0 8px 8px rgba(0,0,0,0.1);}

.header-top-util {text-align:right;}
.header-top-util ul {display:inline-flex; justify-content:flex-end; padding:0 30px; background:#009a43; border-radius:0 0 15px 15px;}
.header-top-util ul li {padding:0 20px; position:relative;}
.header-top-util ul li:before {content:''; position:absolute; widtH:1px; height:12px; top:50%; margin-top:-6px; background:#fff; opacity:0.3; right:0;}
.header-top-util ul li:last-child:before {display:none;}
.header-top-util ul li a {line-height:40px; font-weight:600; letter-spacing:-0.02em; color:#fff;}

.sns-links {position:absolute; right:90px; top:50%; transform:translateY(-50%);}
.sns-links ul {display:flex; align-items:center;}
.sns-links ul li {margin-left:10px;}
.sns-links ul li:first-child {margin-left:0;}
.sns-links ul li a {display:block;}
.sns-links ul li img {display:block;}

/* 전체메뉴 */
.all-navigation .bg-wrap {}
.only-all-menu {display:none;}
.btn-all-menu {position:absolute; right:30px; top:50%; margin-top:-25px; display:block; width:50px; height:50px; border:1px solid #ddd;text-align:center; border-radius:100%; transition: all 0.5s ease-in-out; text-indent:-9999em; }

.btn-all-menu span {position:absolute; display:block; left:50%; margin-left:-10px; top:50%; height:2px; width:20px; background:#242424;}
.btn-all-menu span:before,
.btn-all-menu span:after {content:" "; position:absolute; left:0; width:20px; height:2px; background:#242424; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-all-menu span:before {top:-10px; transition-property:top, transform;}
.btn-all-menu span:after {bottom:-10px; transition-property:bottom, transform;}

.all-navigation {position:fixed; left:0; top:0; padding-top:140px; transform:translateY(-100%); width:100%; overflow:auto; transition:.3s ease-in-out;background:#fff; z-index:20; border-bottom:2px solid #009a43;}
.all-navigation .contain {max-width:100%; border-top:1px solid #ddd;}
.all-navigation .all-nav-menu {width:100%; max-width:1460px; padding:0 30px; margin:0 auto;}
.all-navigation .all-nav-menu>ul {display:flex;}
.all-navigation .all-nav-menu>ul>li {position:relative; transition:0.2s all ease; flex:1; border-right:1px solid #ddd; padding:60px 0;}
.all-navigation .all-nav-menu>ul>li:first-child{border-left:1px solid #ddd;}
.all-navigation .all-nav-menu>ul>li>a {display:block; margin-bottom:20px; font-size:20px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#009a43; text-align:center;}
.all-navigation .all-nav-menu .submenu {display:block !important; height:100%; position:relative; text-align:center; bottom:auto; transform:translateX(0); left:auto; top:auto; transition:0.2s all ease;}
.all-navigation .all-nav-menu .submenu>ul {position:relative; display:block; }
.all-navigation .all-nav-menu .submenu>ul>li {line-height:1.2em; transition:0.2s all ease; padding:4px 0;}
.all-navigation .all-nav-menu .submenu>ul>li>a {display:block; font-weight:400; color:#454545; line-height:1.2em; transition:0.2s all ease;}
.all-navigation .all-nav-menu>ul>li .submenu:before {content:""; position:absolute; width:0; height:2px; left:0; top:2px; background:#db5684; transition:0.2s all ease;}
.all-navigation .all-nav-menu>ul>li.active .submenu:before {width:100%;}
.all-navigation .all-nav-menu .submenu>ul>li>a:hover  {color:#009a43 !important; text-decoration:underline;}


html.menu-all-opened #gnb .submenu  {display:none !important;}
html.menu-all-opened .btn-all-menu span {background:0 !important;}
html.menu-all-opened .btn-all-menu span:before,
html.menu-all-opened .btn-all-menu span:after {transition-delay:0s, 0.3s; background:#505050 !important;}
html.menu-all-opened .btn-all-menu span:before {top:0; transform:rotate(45deg);}
html.menu-all-opened .btn-all-menu span:after  {bottom:0; transform:rotate(-45deg);}
html.menu-all-opened .all-navigation {transform:translateY(0);}
html.menu-all-opened .all-navigation .only-all-menu {display:block;}



/* for mobile */
.btn-m-menu {display:none; position:absolute; right:30px; top:50%; margin-top:-25px; width:50px; height:50px; border:1px solid #ddd;text-align:center; border-radius:100%; transition: all 0.5s ease-in-out; text-indent:-9999em; }
.btn-m-menu span {position:absolute; display:block; left:50%; margin-left:-10px; top:50%; height:2px; width:20px; background:#242424;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; width:20px; height:2px; background:#242424; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-m-menu span:before {top:-10px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-10px; transition-property:bottom, transform;}

.mobile-navigation {position:fixed; top:0; right:0; padding:20px 0; width:300px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#ffffff; z-index:101;}
.mobile-navigation .home {padding-bottom:20px; padding-left:15px;}
.mobile-navigation .home img {height:40px; width:auto;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:14px 15px; display:block; color:#242424; font-size:1.3em; font-weight:500; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#009a43;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #009a43; border-bottom:2px solid #009a43;}
.mobile-navigation .nav-menu>ul>li.active>a:after{transform: translateY(-35%) rotate(-135deg); border-color: #009a43;}
.mobile-navigation .nav-menu .submenu {display:none; position:static; transform: translateX(0); margin:-1px 0 0 0; width:100%;  padding:10px 0;background:#009a43; padding-bottom:10px;}
.mobile-navigation .nav-menu .submenu>ul {display:block; width:100%;}
.mobile-navigation .nav-menu .submenu>ul>li {text-align:left; padding:0;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; position:relative; padding:5px 0 5px 25px; color:#fff; font-size:16px; font-weight:400; line-height:1.3em;}
.mobile-navigation .nav-menu .submenu>ul>li>a:after {content:"";position:absolute; top:14px; left:15px; width:4px; height:4px; border-radius:100%; background:#fff; transition:.2s ease-in-out;}
.mobile-navigation .nav-menu .submenu>ul>li>a:hover {color:#fff}
.mobile-navigation .nav-menu .submenu>ul>li>a:hover:after {background:#fff}
.mobile-navigation .close {position:absolute; top:20px; right:18px; width:24px; height:24px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:2px; background:#242424;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:.76; z-index:98;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}



/* main */
.main-visual {position:relative; background:#fff;}
.main-visual .item {position:relative; width:100%;}
.main-visual .item a {display:block;}
.main-visual .mv img {width:100%; max-width:1920px; margin:0 auto;}

.main-visual .cnt {text-align:center; position:absolute; transform:translate(-50%,-50%); left:50%; top:50%; padding:0 30px; width:100%; max-width:1460px; z-index:1;}
.main-visual .tit {font-size:60px; font-weight:700; line-height:1.2em; letter-spacing:-0.03em; color:#fff; margin-bottom:30px; opacity:0; transform:translateX(-50px);}
.main-visual .txt {font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#fff; opacity:0; transform:translateX(50px);}

.main-visual .slick-active .tit {opacity:1; transform:translateX(0); transition:1s all 0.3s ease;}
.main-visual .slick-active .txt {opacity:1; transform:translateX(0); transition:1s all 0.4s ease;}

.main-visual .slick-dots {position:absolute; width:100%; max-width:1460px; padding:0 30px; top:40px; left:50%; transform:translateX(-50%); display:flex; justify-content:flex-end;}
.main-visual .slick-dots li {margin-right:15px;}
.main-visual .slick-dots li:last-child {margin-right:0;}
.main-visual .slick-dots li button {display:block; width:12px; height:12px; border-radius:100%; border:0; background:#dedede; text-indent:-999em; overflow:hidden;}
.main-visual .slick-dots li.slick-active button {background:#009a43;}


.main-more {position:absolute; right:30px; top:4px;}
.main-more a {display:block; width:50px; height:50px; border:1px solid #ddd; background:#fff url('../images/main/icon-plus.png') no-repeat 50% 50%; text-indent:-999em; overflow:hidden; border-radius:100%;}
.main-more a:hover {transform:rotate(90deg);}
.main-sec {padding:100px 0;}
.main-tit {display:flex; align-items:baseline; margin-bottom:60px;}
.main-tit h2 {font-size:40px; font-weight:700; line-height:1.2em; letter-spacing:-0.03em; color:#242424;}
.main-tit p {position:relative; font-weight:400; line-height:1.3em; letter-spacing:-0.03em; color:#454545; margin-left:20px; padding-left:20px;}
.main-tit p:before {content:''; position:absolute; width:1px; height:20px; left:0; top:50%; margin-top:-10px; background:#ddd;}
.main-sec .contain {max-widtH:1460px;}

.main-story {background:url('../images/main/story-bg.png') no-repeat top 80px right; padding-bottom:0; overflow:hidden;}
.main-story .sld{overflow:hidden;}
.main-story .sld .swiper-slide a {display:block;}
.main-story .sld .swiper-slide .thumb{position:relative; height:0; padding-bottom:75%; overflow:hidden; border-radius:30px;}
.main-story .sld .swiper-slide .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.main-story .sld .swiper-slide .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08); border-radius:30px;}



.main-story .sld .swiper-slide .tt-wrap{display:flex;margin-top:25px;align-items:center;}
.main-story .sld .swiper-slide .tt-wrap .tit{min-width:0;width:1%;flex:1 1 auto;font-size: 24px;font-weight:600;line-height:1.4em;letter-spacing:-0.03em; color: #242424;display: inline-block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;}

.more-txt{color:#898989; position:relative;line-height:1.4em;display:inline-block;}
.main-story .sld .swiper-slide .tt-wrap .more-txt{max-width:120px;width:100%;text-align:right;}

.main-sec .btns {margin-top:50px;display:flex;align-items:center;}
.doc-arrs{display:flex;}
.doc-arrs .doc-arr {display:block;width:50px;height:50px;border-radius:50%;background-repeat:no-repeat;background-size:23px;background-position:50% 50%;border:1px solid #ddd;background-color:#fff;transition:.3s;cursor:pointer;}
.doc-arrs .doc-arr.prev {background-image:url('../images/common/doc_prev.png');margin-right:10px;}
.doc-arrs .doc-arr.next {background-image:url('../images/common/doc_next.png');}
.doc-arrs .doc-arr:hover {background-color: #009a43;border-color:#009a43;}
.doc-arrs .doc-arr.prev:hover {background-image:url('../images/common/doc_prev_on.png');}
.doc-arrs .doc-arr.next:hover {background-image:url('../images/common/doc_next_on.png');}

.doc-arrs .slick-arrow{display:block;width:50px;height:50px;border-radius:50%;background-repeat:no-repeat;background-size:23px;background-position:50% 50%;border:1px solid #ddd;background-color:#fff;transition:.3s;font-size:0;}
.doc-arrs .slick-arrow.slick-prev{background-image:url('../images/common/doc_prev.png');margin-right:10px;}
.doc-arrs .slick-arrow.slick-next{background-image:url('../images/common/doc_next.png');}
.doc-arrs .slick-arrow:hover{background-color: #009a43;border-color:#009a43;}
.doc-arrs .slick-arrow.slick-prev:hover{background-image:url('../images/common/doc_prev_on.png');}
.doc-arrs .slick-arrow.slick-next:hover{background-image:url('../images/common/doc_next_on.png');}

.main-sec .btns .bar-wrap{min-width:0;width:1%;flex:1 1 auto;position:relative;margin-left:90px;}
.main-sec .btns .bar-wrap .bar{height:5px;background-color:#f2f2f2;border-radius:3px;overflow:hidden;}
.main-sec .btns .bar-wrap .bar .swiper-pagination-progressbar-fill{background-color: #009a43;border-radius:3px;}

.tab-slider {position:relative; margin-top:-110px; margin-bottom:50px;}
.tab-slider ul {display:flex; justify-content:flex-end; padding-right:80px; margin:-5px;}
.tab-slider ul li {padding:5px;}
.tab-slider ul li a {display:inline-block; min-width:150px; height:50px; line-height:48px; border:1px solid #ddd; border-radius:100vh; text-align:center; font-size:18px; font-weight:600; letter-spacing:-0.03em; color:#242424;}
.tab-slider ul li a:hover,
.tab-slider ul li.active a {color:#009a43; border-color:#009a43;}

.main-business {position:relative;}
.main-business:before {content:''; position:absolute; width:100vw; height:60%; left:0; bottom:0; background:#f7f7f7; z-index:-1; border-top-left-radius:70px;}
.main-business .sld{overflow:hidden;}
.main-business .sld .swiper-slide {padding:15px;}
.project-item {display:block; border-radius:50px 50px 0 50px; overflow:hidden; box-shadow:0 0 15px 0 rgba(0,0,0,0.1);}
.project-item .thumb{position:relative; height:0; padding-bottom:58.43%; overflow:hidden;}
.project-item .thumb img{position:absolute; top:50%; left:0; transform:translateY(-50%); width:100% !important; height:100% !important; max-width:100%; min-height:100%; object-fit:cover; transition:0.3s;}
.project-item .tt-wrap{position:relative; padding:37px 27px; display:flex; flex-direction:column; justify-content:space-between; background:#fff; min-height:230px;}
.project-item .tt-wrap .tit{font-size: 24px;font-weight:700;line-height:1.4em; color: #242424; text-overflow: ellipsis;white-space: nowrap;overflow: hidden;}
.project-item .tt-wrap .txt{margin-top:18px; font-weight:400;line-height:1.4em; color: #454545;overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal;  display:-webkit-box;  -webkit-line-clamp: 2; -webkit-box-orient:vertical;}

.project-item .cate {position:absolute; right:30px; top:0; margin-top:-22px; z-index:1; display:inline-block; padding:0 10px; min-width:130px; line-height:44px; text-align:center; font-weight:600; letter-spacing:-0.03em; color:#fff; border-radius:100vh; background:#009a43;}
.project-item .cate1 {background:#009a43;}
.project-item .ing {background:#009a43;}
.project-item .cate2 {background:#008c61;}
.project-item .cate3 {background:#007d73;}

.main-business .btns .bar-wrap .bar{background-color:#fff;}



.bnr{background-color:#f7f7f7;padding:40px 0;border-top:1px solid #ddd;}
.bnr .contain{display:flex;max-width:1460px;align-items:center;}
.bnr .tt-wrap{max-width:370px;width:100%;display:flex;align-items:center;}
.bnr .tt-wrap .wrap{margin-right:60px;}
.bnr .tt-wrap .wrap .tit{color: #242424;font-size:22px;font-weight:600;line-height:1.2em;margin-bottom:10px;}
.bnr .tt-wrap .wrap p{color: #686868;line-height:1.5em;}
.bnr .sld{min-width:0;width:1%;flex:1 1 auto;}
.bnr .sld .slick-list{margin:0 -5px;}
.bnr .sld .item{padding:0 5px;}
.bnr .sld .item a{background-color: #fff;border:1px solid #ddd;display:flex;justify-content:center;align-items:center;height:80px;padding:0 10px;border-radius:8px; overflow:hidden;}

.main-notice .main-tit {margin-bottom:40px;}
.main-notice .wrap {display:flex;}
.main-notice .wrap .left {width:46%;}
.main-notice .wrap .left .in {position:relative;}
.main-notice .main-more {right:0;}
.main-notice .notice-list {border-top:2px solid #242424;}
.main-notice .notice-list ul li {border-bottom:1px solid #ddd;}
.main-notice .notice-list ul li a {display:flex; justify-content:space-between; align-items:center; padding:50px 30px; font-size:20px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#242424;}
.main-notice .notice-list ul li .tit {padding-right:20px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.main-notice .notice-list ul li .date {font-weight:400; color:#898989;}
.main-notice .wrap .right {display:flex; justify-content:space-between; padding-left:58px; flex:1 1 auto; min-width:0; width:1%;}
.main-notice .wrap .right .box {width:calc(50% - 5px); border:1px solid #ddd; border-radius:30px; padding:30px;}
.main-notice .wrap .right ul {height:100%; display:flex; flex-direction:column; justify-content:center;}
.main-notice .wrap .right ul li {flex:1; border-bottom:1px solid #ddd;}
.main-notice .wrap .right ul li:last-child {border-bottom:0;}
.main-notice .wrap .right ul li a {height:100%; display:flex; align-items:center; padding:10px 0;}
.main-notice .wrap .right ul li .icon {flex:0 0 auto; margin-right:20px;}
.main-notice .wrap .right ul li dl {flex:1 1 auto; min-width:0; width:1%;}
.main-notice .wrap .right ul li dt {font-size:24px; font-weight:700; line-height:1.2em; letter-spacing:-0.03em; color:#242424;}
.main-notice .wrap .right ul li dd {margin-top:12px; font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}
.main-notice .wrap .right .box2 ul li a {position:relative;}
.main-notice .wrap .right .box2 ul li a:before {content:''; position:absolute; width:9px; height:13px; background:url('../images/main/icon-arrow.png') no-repeat 50% 50%; right:0; top:50%; margin-top:-6.5px;}
.main-notice .wrap .right ul li .tit {flex:1 1 auto; min-width:0; width:1%; font-size:20px; font-weight:700; line-height:1.2em; letter-spacing:-0.03em; color:#242424;}

/* sub */
.sub-visual {position:relative; width:90%; margin:0 auto; height:300px; display:flex; align-items:center; overflow:hidden; background-repeat:no-repeat; background-position:50% 50%; background-size:cover; border-radius:50px;}
.sub-visual .content {position:relative; z-index:1; max-width:1260px; padding:0 30px; width:100%; margin:0 auto; color:#fff;}
.sub-visual .content h2 {font-size:60px; font-weight:700; line-height:1em; letter-spacing:-0.03em;}

.sub-visual .background {
	position:absolute;
	top:0;
	left:0;
	width:100%; height:100%;
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:cover;
	transform:scale(1.09);
    -ms-transform:scale(1.09); /* IE 9 */
    -moz-transform:scale(1.09); /* Firefox */
    -webkit-transform:scale(1.09); /* Safari and Chrome */
    -o-transform:scale(1.09); /* Opera */
	transition: all 2s ease-out 0s;
	transition-delay: 0.1s;
	z-index:0;
 }
.sub-visual.load .background {
	transform:scale(1);
    -ms-transform:scale(1); /* IE 9 */
    -moz-transform:scale(1); /* Firefox */
    -webkit-transform:scale(1); /* Safari and Chrome */
    -o-transform:scale(1); /* Opera */
}


#lnb {margin-top:80px;}
.lnb {max-width:1200px; margin:0 auto; text-align:center; position:relative; border:1px solid #ddd; border-radius:100vh;}
.lnb ul {display:flex;}
.lnb ul li {width:auto; flex:1; position:relative; text-align:center;}
.lnb ul li:before {content:''; position:absolute; width:2px; height:14px; background:#ddd; right:-0.5px; top:50%; margin-top:-7px; z-index:-1;}
.lnb ul li:last-child:before {display:none;}
.lnb ul li a {position:relative; display:flex; align-items:center; justify-content:center; height:64px; font-weight:400; color:#454545; font-size:20px; line-height:1.2em; letter-spacing:-.03em; padding:0 20px;}
.lnb ul li.active a {color:#fff; font-weight:700;}
.lnb ul li.active {background:#009a43; border-color:#009a43;border-radius:100vh; box-shadow:0 0 10px 0 rgba(0,0,0,0.1);}

#contArea {max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}
#contArea.wide {max-width:100%; padding-left:0; padding-right:0;}

.sub-title {position:relative; margin:80px 0 60px; text-align:center;}
.sub-title h1 {color:#242424; font-size:40px; font-weight:700; line-height:1.2em; letter-spacing:-.03em; position:relative;}


.real-cont {padding-bottom:130px;}
.real-cont.none {padding-bottom:0;}



/* footer */
.quickmenu {position:fixed; right:60px; bottom:70px; z-index:20;}
.quickmenu ul li {margin-bottom:12px;}
.quickmenu ul li a {display:flex; flex-direction:column; align-items:center; justify-content:center; width:100px; height:100px; text-align:center; border-radius:10px;}
.quickmenu ul li:nth-child(1) a {background:#009a43;}
.quickmenu ul li:nth-child(2) a {background:#008c61;}
.quickmenu ul li:nth-child(3) a {background:#007d73;}
.quickmenu ul li:last-child {margin-bottom:0;}
.quickmenu ul li .icon {margin-bottom:7px;}
.quickmenu ul li .tit {font-weight:600; line-height:1em; letter-spacing:-0.03em; color:#fff;}
.scroll-top {display:block; padding:10px; text-align:center; margin-top:20px; background:#666; border-radius:10px; font-weight:600; line-height:1em; letter-spacing:-0.03em; color:#fff;}

#footer {color:#b8b8b8; font-size:15px; line-height:1.7em; font-weight:400; letter-spacing:-0.02em; padding:25px 0 40px; background:#333;}
#footer .contain {max-width:1460px;}

#footer address {font-style:normal; flex:1 1 auto; min-width:0; width:1%;}
#footer address strong {display:block; font-weight:500; font-size:18px;}
#footer address span {display:inline-block; margin-right:25px;}
#footer .copyright {display:block; margin-top:20px; font-size:14px; line-height:1.2em;}
#footer .copyright a {color:#686868; letter-spacing:-0.04em;}

.f-menu {display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; padding-bottom:25px; margin-bottom:48px; border-bottom:1px solid #484848;}
.f-menu > ul {display:flex; flex-wrap:wrap;}
.f-menu > ul > li {position:relative; margin-left:48px; line-height:1.2em;}
.f-menu > ul > li:first-child {margin-left:0;}

.f-cnt {display:flex; align-items:center;}
.f-sns-link ul {display:flex;}
.f-sns-link ul li {margin-right:10px;}
.f-sns-link ul li:last-child {margin-right:0;}
.f-sns-link ul li a {display:block;}
.f-sns-link ul li a:hover {transform:translateY(-5px);}

.familysite-box {width:260px; vertical-align:middle; position:relative; z-index:71;}
.familysite-box .familysite {position:relative;}
.familysite>a {display:block; text-decoration:none; line-height:48px; color:#aaa; letter-spacing:-.02em; overflow:hidden; white-space:nowrap; cursor:pointer; z-index:2; position:relative;}
.familysite>a:before {content:""; position:absolute; right:2px; top:50%; margin-top:-4px; transition:0.2s all ease;border-left:7px solid #686868; border-top:7px solid transparent; border-bottom:7px solid transparent; transform:rotate(90deg);}
.familysite.active>a:before {transform:rotate(-90deg); margin-top:-6px;}
.familysite ul {display:none; border:1px solid #ddd; position:absolute; left:0; top:50px; width:100%; z-index:10; max-height:150px; overflow:auto !important; background:#333;}
.familysite ul li a {display:block;text-decoration:none; line-height:50px; letter-spacing:-0.02em; padding:0 20px; color:#7a7c81;}
.familysite ul li a:hover {background:#484848;}