@charset "utf-8";

* {box-sizing: border-box;}
html{height: 100%;}
body{overflow: inherit;height: 100%}
body.on{overflow: hidden;}
.layout{position:relative;margin:0 auto;width:100%;max-width:1620px;}
.layout2{position:relative;margin:0 auto;width:100%;max-width:1240px;}
#wrap{height: 100%;}
.nodata{padding:50px 0;text-align: center;}
.nodata p{margin-top:16px;font-weight: 400;font-size: 12px;line-height: 14px;color:#999;}
.essential{color:#C74A46}
.overlay{display:none;position:fixed;top:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index: 1000;}

/* dl style */
.dl-type1{}
.dl-type1 dt{clear:left;float:left;}
.dl-type1 dd{width:100%;}
.dl-type1 dd:after {content: "";display: table;clear: both;}

/* text align */
.txt-left{text-align: left !important}
.txt-center{text-align: center!important}
.txt-right{text-align: right !important}

.color-red{color:#e60012 !important;}

#pagination{margin-top:85px;display: flex;justify-content: center;align-items: center;}
#pagination strong,
#pagination a{display: inline-block;margin:0 10px; font-size: 16px;font-weight: normal;line-height: 2;color: #999;text-align: center;}
#pagination strong{color:#222;text-decoration: underline;}
#pagination a img{display: block;}
#pagination .prev{margin-right:40px;}
#pagination .first{margin-right:40px;}
#pagination .next{margin-left:40px;}
#pagination .end{margin-left:40px;}

.filebox{display:flex;}
.filebox input[type="file"] {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip:rect(0,0,0,0);border: 0;}
.filebox label {display: inline-block;vertical-align: middle;cursor: pointer;width:125px;height:54px;line-height:54px;background:#e4e4e4;text-align: center;color:#fff;font-size: 22px;font-weight: normal;letter-spacing: -0.44px;color: #252525;margin-left:10px;}
.filebox .upload-name {width:535px;border:1px solid #c8c8c8;height:54px;padding:0 10px;font-size: 22px;font-weight: normal;letter-spacing: -0.44px;}


/* checkbox style */
.checkbox-type1{position:relative;display:inline-block;font-size:0;}
.checkbox-type1 input[type="checkbox"]{position:absolute;opacity:0;}
.checkbox-type1 label{position:relative;display:inline-block;padding-left:40px;font-size: 16px;font-weight: normal;cursor:pointer;}
.checkbox-type1 label:before{content:"";display:inline-block;width:24px;height:24px;border:1px solid #e3e3e3;border-radius: 100%;position:absolute;left:0;}
.checkbox-type1 label:after {content: "";display: none;position: absolute;top: 1px;left: 8px;width: 8px;height: 15px;border-right: 2px solid #fff;border-bottom: 2px solid #fff;transform: rotate(45deg);}
.checkbox-type1 input[type="checkbox"]:checked + label:before{border-color:#ffca0e;background:#ffca0e;}
.checkbox-type1 input[type="checkbox"]:checked + label:after{display:inline-block;}


/* radio style */
.radio-type1{position:relative;display:inline-block;font-size:0;}
.radio-type1 input[type="radio"]{position:absolute;opacity:0;}
.radio-type1 label{position:relative;display:inline-block;padding-left:32px; font-size: 18px;font-weight: 500;letter-spacing: -0.72px;color: #252525;cursor:pointer;}
.radio-type1 label:before{content:"";display:inline-block;width:20px;height:20px;border:1px solid #c8c8c8;border-radius: 100%;position:absolute;top:2px;left:0;box-sizing: border-box;}
.radio-type1 label:after{content:"";position:absolute;left:5px;top:7px;display:inline-block;width:10px;height:10px;border-radius: 100%;background:#c8c8c8;box-sizing:border-box;}
.radio-type1 input[type="radio"]:checked + label:before{border-color:#1f9662;}
.radio-type1 input[type="radio"]:checked + label:after{background: #1f9662;}


.scroll:before{content: '';display: block;position: absolute;top: 25px;left: 52%;width: 4px;height: 4px;border-radius: 50%;background: #fff;transform: translateX(-50%);box-sizing: border-box;-webkit-animation: scroll 2s infinite;animation: scroll 2s infinite;}

.blacklayer{display:none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: #fff; opacity: 0.9;z-index: 99;}

@-webkit-keyframes scroll {
    0% { -webkit-transform:translate(-50%, 0); opacity:0; }
    40% { opacity:1; }
    80% { -webkit-transform:translate(-50%, 20px); opacity:0; }
    100% { opacity:0; }
}

@keyframes scroll {
    0% { transform:translate(-50%, 0); opacity:0; }
    40% { opacity:1; }
    80% { transform:translate(-50%, 20px); opacity:0; }
    100% { opacity:0; }
}


header{position: fixed;top:0;left:0;width:100%;z-index: 100;}
header .layout{display: flex;justify-content: space-between;padding:30px;max-width:100%;}
header.sub{}
header.sub .logo{display: inline-block;width:247px;height:26px;background: url(../images/common/logo.png) no-repeat;background-size: 100% auto;}
header.sub .toggle-navi{ display: inline-block;width:48px;height:24px;background: url(../images/icon/navi_icon.png) no-repeat;background-size: 100% auto;}
header.sub.scroll-on{background-color:#fff;}
header.sub.scroll-on .logo{background: url(../images/common/logo2.png) no-repeat;background-size: 100% auto;}
header.sub.scroll-on .toggle-navi{background: url(../images/icon/navi_icon_b.png) no-repeat;background-size: cover;}

header.policy-header .logo{background: url(../images/common/logo2.png) no-repeat;background-size: cover;}
header.policy-header .toggle-navi{background: url(../images/icon/navi_icon_b.png) no-repeat;background-size: cover;}


.gnb{display:none;position: fixed;top:0;left:0;background: #000;width:100%;height:100%;z-index: 1000;}
.gnb .layout{padding-top:86px;}
.gnb .logo{display: none;}
.gnb.pc .logo {display: block; position: absolute; left: 30px; top: 30px;width: 247px;height: 26px; z-index: 99;}
.gnb .close-gnb{position: absolute;right:30px;top:30px;z-index: 10;}
.gnb .menu-wrap{position: relative;max-width:1240px;margin:0 auto;max-height: calc(100vh - 230px);
    overflow-y: auto;}
.gnb .menu-wrap .menu{}
.gnb .menu-wrap .menu strong{display: block;width:100%;margin-bottom: 40px;}
.gnb .menu-wrap .menu strong a{display: block; font-size: 42px;font-weight: bold;letter-spacing: -1.05px;color: #fff;}
.gnb .menu-wrap .menu ul{display: flex;}
.gnb .menu-wrap .menu ul li{display:inline-block;}
.gnb .menu-wrap .menu ul li + li{margin-left:130px;}
.gnb .menu-wrap .menu ul li a{display: block;color:#999;font-size:18px;letter-spacing: -0.45px;}
.gnb .menu-wrap .menu ul li a em{display: block;margin-bottom:15px;font-size: 25px;font-weight: 500;letter-spacing: -0.63px;color:#999;}
.gnb .menu-wrap .menu ul li a:hover{color:#fff;}
.gnb .menu-wrap .menu ul li a:hover em{color:#fff;}
.gnb .menu-wrap .menu + .menu{margin-top:164px;}

.gnb.mobile .layout {box-sizing: border-box; overflow-y: scroll;}
.gnb.mobile .menu-wrap .menu strong a:after{display: none;}
.gnb.mobile .menu-wrap .menu ul{display: block;}

.modal-navi{position: fixed;top:0;left:0;width:100%;height:100%;z-index: 999;display:none;}
.modal-navi .navi-header{position:absolute;width:100%;display: flex;justify-content: space-between;padding:30px 30px;z-index: 10;}
.modal-navi ul{display: flex;flex-wrap: wrap;}
.modal-navi ul li{display: inline-block;width:50%;height:calc(100vh / 2);}
.modal-navi ul li a{display: block;position: relative;height:100%;}
.modal-navi ul li a:after{content:"";position:absolute;top:0;left:0;display: block;width:100%;height:100%;background: rgba(0,0,0,0.5);-moz-transition: all 0.3s;-webkit-transition: all 0.3s;-ms-transition: all 0.3s;-o-transition: all 0.3s;transition: all 0.3s;opacity: 1;}
.modal-navi ul li a span{position: absolute;top:50%;left:0;transform: translateY(-50%); font-size: 45px;font-weight: bold;letter-spacing: -1.13px;color: #fff;z-index: 1;width:100%;text-align: center;}
.modal-navi ul li:nth-child(1) a{background: url(../images/common/navi01.png) 50% 50% no-repeat;background-size: cover;}
.modal-navi ul li:nth-child(2) a{background: url(../images/common/navi02.png) 50% 50% no-repeat;background-size: cover;}
.modal-navi ul li:nth-child(3) a{background: url(../images/common/navi03.png) 50% 50% no-repeat;background-size: cover;}
.modal-navi ul li:nth-child(4) a{background: url(../images/common/navi04.png) 50% 50% no-repeat;background-size: cover;}
.modal-navi ul li:hover a:after{opacity: 0;}


footer{position:relative;padding:70px 20px 76px;background: #000;}
footer select{position: absolute;top:10px;right:0;width:230px;height:50px;border:1px solid rgba(255,255,255,0.5);color:#a3a3a3;font-size:16px;font-weight:500;letter-spacing: -0.4px;padding:0 20px;}
footer select option{background: #000;color:#a3a3a3 !important;}
footer .f-logo{display: inline-block;width:314px;}
footer .f-logo img{display: block;width:100%;}
footer nav{display: flex;margin-top: 49px;}
footer nav a{position:relative;display: inline-block;font-size: 17px;font-weight: 500;letter-spacing: -0.43px;color: #fff;}
footer nav a:before{content: "";display: inline-block;width:1px;height:14px;background: #fff;position: absolute;left:-20px;top:6px;}
footer nav a:first-child:before{display: none;}
footer nav a + a{margin-left:40px;}
footer address{margin-top:45px;}
footer address p{display: flex;}
footer address p + p{margin-top:5px;}
footer address p span{position:relative;display: inline-block;font-size: 15px;font-weight: normal;letter-spacing: -0.38px;color: #a3a3a3;}
footer address p span:before{content: "";display: inline-block;width:1px;height:13px;background: #a3a3a3;position: absolute;left:-12px;top:5px;}
footer address p span:first-child:before{display: none;}
footer address p span + span{margin-left: 25px;}
footer copyright{display:block;margin-top:55px;font-size: 14px;font-weight: 500;letter-spacing: -0.35px;color: #666;}
footer #goTop{color: #a3a3a3;padding-right:20px;font-size: 16px;display: inline-block;position: absolute;bottom: 0;right: 20px;}
footer #goTop:after{content:"";position:absolute;top:9px;right:0;transform: rotate(-180deg);display:inline-block;width:16px;height:10px;background: url(../images/icon/select_icon.png) no-repeat;}
footer #goTop.web-top{display:inline-block;}
footer #goTop.mobile-top{display:none;}


.page-top{position: relative;}
.page-top .visual{position:relative;padding-top:50%;}
.page-top .visual .hgroup{width:100%;text-align: center;position: absolute;top:50%;transform: translateY(-50%);}
.page-top .visual .hgroup h2{ font-size: 65px;font-weight: bold;line-height: 1.08;letter-spacing: -1.63px;color: #fff;}
.page-top .visual .hgroup p{margin-top:50px;font-size: 22px;font-weight: 500;line-height: 1.73;letter-spacing: -0.55px;text-align: center;color: #e5e5e5;}
.page-top .visual .hgroup strong{display: none; font-size: 42px;font-weight: bold;line-height: 1.19;letter-spacing: -1.05px;color: #fff;}
.page-top .m-navi{display: none;}
.page-top .scroll{position: absolute;z-index: 10;left:50%;transform: translateX(-50%);bottom:60px;}
.page-top .visual.sub01{background: url(../images/contents/page_top1.png) top center no-repeat;background-size: cover;}
.page-top .visual.sub02{background: url(../images/contents/page_top2.png) top center no-repeat;background-size: cover;}
.page-top .visual.sub03{background: url(../images/contents/page_top3.png) top center no-repeat;background-size: cover;}
.page-top .visual.sub04{background: url(../images/contents/page_top4.png) top center no-repeat;background-size: cover;}
#navi-menu{position: fixed;top:50%;transform: rotate(90deg) translateY(-50%);right:-200px;z-index: 100;display: flex;}
#navi-menu.sub03{right:-10px;}
#navi-menu.sub02{right:-100px;}
#navi-menu.sub04{right:-165px;}
#navi-menu li{}
#navi-menu li + li{margin-left:39px;}
#navi-menu li a{position:relative;padding-bottom:10px;display: block;font-size: 16px;font-weight: 500;color:#fff;text-transform: uppercase;-moz-transition: all 0.3s;-webkit-transition: all 0.3s;-ms-transition: all 0.3s;-o-transition: all 0.3s;transition: all 0.3s;}
#navi-menu li a:after{content: "";display:none;position: absolute;left: 0;bottom:0;width:100%;height:2px;background: #00a652;}
#navi-menu li.on a{color:#00a652;font-weight:bold;}
#navi-menu li.on a:after{display: block;}
#navi-menu.scroll-on li a{color:#838383}
#navi-menu.scroll-on li.on a{color:#00a652}


.tab-menu{margin-top:60px;}
.tab-menu ul{display: flex;}
.tab-menu ul li{display: inline-block;}
.tab-menu ul li a{position:relative;display: block; font-size: 20px;font-weight: 500;letter-spacing: -0.3px;color: #222;padding:5px 0;}
.tab-menu ul li a:after{content: "";display:none;position: absolute;left:0;bottom:0;width:100%;height:2px;background: #0c4f9f;}
.tab-menu ul li.active a{font-weight:bold;color:#0c4f9f;}
.tab-menu ul li.active a:after{display: block;}
.tab-menu ul li + li{margin-left: 28px;}



#pages{}
#pages .contents{position:relative;padding:146px 0 124px;background: #fff;}
#pages .contents .title-group{position:relative;text-align: center;}
#pages .contents .title-group em{position:relative;padding-bottom:10px;display: inline-block;font-size: 16px;font-weight: 500;letter-spacing: -0.4px;text-align: center;color: #3a3a3a;}
#pages .contents .title-group em:after{content: "";position:absolute;bottom:0;left:50%;transform:translateX(-50%);display: inline-block;width:30px;height:2px;background: #0c4f9f;}
#pages .contents .title-group h2{margin-top:5px;font-size: 40px;font-weight: bold;line-height: 1.25;letter-spacing: -1px;text-align: center;color: #222;}


.error{padding-top:70px;text-align: center;}
.error figure{} 
.error figure img{}
.error h2{margin-top:60px;font-size: 46px;font-weight: bold;letter-spacing: -0.69px;}
.error p{margin-top:40px;font-size: 22px;font-weight: normal;line-height: 1.73;letter-spacing: -0.33px;color: #222;}
.error .btn{margin-top:90px;display: flex;justify-content: center;}
.error .btn a{display: inline-block;width:200px;line-height: 55px;text-align: center;border:1px solid #222;color:#222; font-size: 18px;font-weight: 500;letter-spacing: -0.27px;}
.error .btn a + a{margin-left: 30px;}
.error .btn a:first-child{border-color: #0c4f9f;color:#0c4f9f;}




/* tablet */
@media all and (max-width:1280px) {
	#pagination{margin-top:40px;}
    #pagination a{margin:0 5px;}
    #pagination .next{margin-left:20px;}
    #pagination .end{margin-left:20px;}
    #pagination .prev{margin-right:20px;}
    #pagination .first{margin-right:20px;}

    header .layout{padding:20px;}
    header .logo{display: inline-block;width:165px;height:17px;}
    header .toggle-navi{display: inline-block;width:30px;height:18px;}
    header.sub .logo{display: inline-block;width:165px;height:17px;background: url(../images/common/logo.png) no-repeat; background-size: 100% auto;}
    header.sub .toggle-navi{position:absolute; right:20px;display: inline-block;width:30px;height:18px;}
    header.policy-header .logo{display: inline-block;width:165px;height:16px;background: url(../images/common/logo2.png) no-repeat;background-size: cover;}


    footer{padding:24px;}
    footer nav a{font-size:15px;letter-spacing: -0.38px;}
    footer address{margin-top:20px;}
    footer address p span{font-size:14px;}
    footer copyright{margin-top:30px;font-size:13px;}

    .modal-navi .navi-header{padding:20px;}
    .modal-navi .navi-header .logo{display: inline-block;width:165px;}
    .modal-navi .navi-header .close-navi{display: inline-block;width:20px;}
    .modal-navi ul li a span{font-size: 30px;}
    .modal-navi ul li a:after{display: none}

    .gnb .layout{padding-top:57px;}
    .gnb .logo{position: absolute;top:20px;left:20px;display: inline-block;width:165px; z-index: 999;}
    .gnb .close-gnb{top:20px;right:20px;width:20px;}
    .gnb .menu-wrap{max-width:100%;padding:0 20px;max-height: calc(100vh - 170px);}
    .gnb .menu-wrap .menu{}
    .gnb .menu-wrap .menu + .menu{margin-top:47px;}
    .gnb .menu-wrap .menu strong{margin-bottom: 30px;}
    .gnb .menu-wrap .menu strong a{position:relative;font-size: 28px;font-weight: bold;letter-spacing: -0.7px;}
    .gnb .menu-wrap .menu strong a:after{content: "";position:absolute;right:0;top:11px;display: inline-block;width:21px;height:13px;background: url(../images/icon/gnb_arrow.png) no-repeat;background-size: cover;}
    .gnb .menu-wrap .menu strong.on a:after{transform: rotate(-180deg);}
    .gnb .menu-wrap .menu ul{display:none;}
    .gnb .menu-wrap .menu ul li{display:block;}
    .gnb .menu-wrap .menu ul li a{display: flex;font-size:15px;align-items: center;}
    .gnb .menu-wrap .menu ul li a em{display: inline-block;font-size:17px;margin-right:10px;margin-bottom:0; vertical-align:middle;}
	.gnb .menu-wrap .menu ul li a span{display: inline-block;vertical-align:middle;}
    .gnb .menu-wrap .menu ul li + li{margin:25px 0 0;}

    .page-top .m-navi{position: fixed;width:100%;right:20px;bottom:20px;z-index:100;display: flex;justify-content: flex-end;}
    .page-top .m-navi > div{display: block; width:40px;position: relative;}
    .page-top .m-navi > div:first-child{display:none;}
	.page-top .m-navi > .level2:before{content: "";display: none;width:1px;height:12px;background: #d9d9d9;position: absolute;left:0;top:19px;}
    .page-top .m-navi > .level2 button {border-radius: 100%; /*-webkit-box-shadow: 0px 0px 32px 8px rgba(133,133,133,0.59); box-shadow: 0px 0px 32px 8px rgba(133,133,133,0.59);*/}
    .page-top .m-navi > div button{display: block;width:40px;height:40px;font-size:0;background: url(../images/common/plus_03.png) no-repeat;background-size: cover;position: relative;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
    .page-top .m-navi > div button:after{content: "";position:absolute;top:20px;right:15px;display: none;width:15px;height:9px;background: url(../images/icon/navi_arrow.png) no-repeat;background-size: cover;}
    .page-top .m-navi > div .level-list{display:none;position: absolute;bottom:50px;z-index: 10; width:140px;/*background: #00000078;padding:20px 15px;width:160px;*/right:0;}
/*    .page-top .m-navi > div .level-list a{display: block;padding:1px 10px; font-size: 13px;font-weight: 500;line-height: 2; text-align:center; background-color:#a5a5a5; letter-spacing: -0.21px;color: #fff;}*/
/*    .page-top .m-navi > div .level-list a.on{ background-color: #1e99c8;}*/
    .page-top .m-navi > div .level-list a{display: block;padding:1px 10px; font-size: 13px;line-height: 2; text-align:right; letter-spacing: -0.21px;color: #000;}
    .page-top .m-navi > div .level-list a.on{font-weight: bold; color: #1e99c8;}
    .page-top .m-navi > div .level-list a+a{margin-top:3px;}
    .page-top .scroll{bottom:36px;}
    #pages{}
    #pages .contents{padding:50px 20px 65px;}



    #navi-menu{display: none;}
}


/* tablet */
@media all and (max-width:768px) {
    

    footer .f-logo{display: none;}
	footer .layout{/*padding-top:30px;*/}
	footer #goTop{right:initial;bottom: initial;top: 0;left: 50%;transform: translateX(-50%);}
	footer #goTop:after{}
	footer #goTop.web-top{display:none;}
	footer #goTop.mobile-top{display:inline-block;}
    footer select{position: relative;top:0;width:100%;height:45px;border:0;border-bottom:1px solid rgba(255,255,255,0.5);font-size: 16px;font-weight: normal;letter-spacing: -0.4px;padding:0 10px;}
    footer nav{margin:20px 0 0;justify-content: center;}
    footer nav a{font-size:14px;}
    footer nav a:before{left: -10px;top: 4px;}
    footer nav a + a{margin-left:20px;}

    .modal-navi{padding-top:64px;}
	.modal-navi .navi-header{position:absolute;top:0;left:0;background: #000;}
    .modal-navi ul{height:100%;}
    .modal-navi ul li{width:100%;height: calc((100% - 0px) / 4);}
    .modal-navi ul li:nth-child(1) a{background: url(../images/common/m_navi01.png) 50% 50% no-repeat;background-size: cover;}
    .modal-navi ul li:nth-child(2) a{background: url(../images/common/m_navi02.png) 50% 50% no-repeat;background-size: cover;}
    .modal-navi ul li:nth-child(3) a{background: url(../images/common/m_navi03.png) 50% 50% no-repeat;background-size: cover;}
    .modal-navi ul li:nth-child(4) a{background: url(../images/common/m_navi04.png) 50% 50% no-repeat;background-size: cover;}
    .modal-navi ul li a span{font-size:25px;}

    .page-top .visual{padding-top:100vh;}
    .page-top .visual .hgroup h2{position:relative; padding-bottom:25px;font-size: 35px;font-weight:bold;line-height: 1.2;letter-spacing: -0.45px;color: #fff;}
    .page-top .visual .hgroup h2:after{content: "";display: block;width:30px;height:2px;background: #0c4f9f;position: absolute;bottom:0;left:50%;transform: translateX(-50%);}
    .page-top .visual .hgroup p{margin-top:15px; padding-right:18px; padding-left:18px; font-size:15px;word-break:keep-all;}
    .page-top .visual .hgroup p br{display:none;}
	.page-top .visual.sub01{background: url(../images/contents/m_page_top1.png) top center no-repeat;background-size: cover;}
    .page-top .visual.sub02{background: url(../images/contents/m_page_top2.png) top center no-repeat;background-size: cover;}
    .page-top .visual.sub03{background: url(../images/contents/m_page_top3.png) top center no-repeat;background-size: cover;}
    .page-top .visual.sub04{background: url(../images/contents/m_page_top4.png) top center no-repeat;background-size: cover;}
    .page-top .visual.sub04 .hgroup strong{font-size:39px;}
    #pages .contents .title-group em{display: none;}
    #pages .contents .title-group h2{text-align: left;margin:0;font-size: 24px;font-weight: bold;letter-spacing: -0.6px;}

    .tab-menu{margin-top:40px;}
    .tab-menu ul li a{font-size:17px;letter-spacing: -0.26px;}
    .tab-menu ul li a + a{margin-left:35px;}



    .error figure img{max-width:100px;}
    .error h2{margin-top:30px;font-size:23px;word-break: keep-all;}
    .error p{margin-top:20px;font-size:16px;word-break: keep-all;}
    .error p br{display: none;}
    .error .btn{margin-top:45px;}
    .error .btn a{width:50%;flex:1;font-size:16px;line-height: 43px;}
    .error .btn a + a{margin-left:15px;}


}