

#ifrm {
    width: 100%;
   min-height: 300px;
    overflow: hidden;
    border: 0;
}


/* pc */
@media screen and (min-width:1300px){
   #memofile { max-width:1250px; }
}
/* tablet */
@media screen and (min-width:768px) and (max-width:1024px){
   #memofile { width:99%; }
}
/* mobile */
@media screen and (min-width:0) and (max-width:767px){
   #memofile { width:99%; }
}

body,div,p,h1,h2,h3,h4,h5,h6,ol,li,dl,dt,dd,ul,pre,form,fieldset,legend,button,table,th,td {
border:0;
margin:0;
padding:0;
}

ul,ol,li,dl {
list-style:none;
}

img {
border:0;
vertical-align:top;
font-size:0;
}

address,caption,cite,code,dfn,em,var {
font-style:normal;
}

a {
text-decoration:none;
color:#333;
}

a:hover,a:active,a:focus {
text-decoration:none;
}

table {
border:0;
border-spacing:0;
border-collapse:collapse;
padding:0;
}

strong {
font-weight:500;
}

h1,h2,h3,h4,h5,h6 {
font-weight:400;
}

article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,main {
display:block;
}

body,th,td,input,select,textarea,button {
color:#333;
font-size:var(--fsize1);
line-height:1.5;
letter-spacing:-0.05em;
font-family: 'SUIT';
font-weight:400;
}





body, html{
width:100%;
overflow-x:hidden;
}
html{

  scroll-behavior: smooth;

}

:focus {outline:none;}

.blind {display:none;}

.slick-track{
display:flex;
}
.slick-slide {
display:block;
}





header {
width:100%;
background-size:cover;
z-index:999999;
box-sizing:border-box;
padding:0 20px;
transition: .3s ease;
top:0;
position:absolute;
height:90px; overflow:hidden;
}
header.on{
background:#fff;
}
header.on .gnb > li > a{
color:#333;
}

.header-area{
display:flex;
align-items: center;
justify-content: space-between;
width:96%;
margin:0 auto;
gap:50px;
}

.header-logo{
flex-shrink: 0;
}
.header-logo a{
display:flex;
align-items: center;
justify-content: center;
width:360px; height:90px;
}
.header-logo a img{width:100%;}

.all-menu-area{
display:none;
}

.header-gnb {
height:45px;/*58px;*/
position:absolute;
z-index:99;
/*right:100px;*/
left:35%;
top:15px; /*30px;*/
display:inline-block;
}

.gnb{
}

.gnb > li {
display:inline-block;
position:relative;
line-height:58px;
text-align:center;
box-sizing:border-box;
vertical-align:top;
padding:0 35px;
}


.gnb > li:hover > a{
font-weight:600;
}

.gnb > li > a {
display:block;
font-size:22px;
color:#fff;
position:relative;
font-weight:600;
/*text-shadow: #fff 1px 0 10px;*/
}

/*.gnb > li > ul {
display:none;
position:absolute;
left:50%;
margin-left:-80px;
width:160px;
z-index:5;
background:#377cda;
box-sizing:border-box;
padding:5px 0;
border-radius:5px;
}*/
.gnb > li > ul:after{
content:"";
display:block;
background:url(img/menu-arrow.png);
width:12px;
height:7px;
position:absolute;
top:-7px;
left:50%;
margin-left:-6px;
}

.gnb > li:hover > ul {
height:auto;
display:block;
}

.gnb > li > ul li {
height:30px;
line-height:30px;
}

.gnb > li > ul{
padding-top:10px;
padding-bottom:40px;
box-sizing:border-box;
}

.gnb > li > ul li:first-child{
border-top-width:0;
}

.gnb > li > ul li a {
display:block;
font-size:15px;
}


.gnb > li > ul li:hover a{
color:#000;
font-weight:500;
}

.close-btn{
position:absolute;
right:281px;
top:0;
z-index:99999;
width:60px;
height:60px;
display:flex;
align-items: center;
justify-content: center;
color:#fff;
font-size:25px;
}

.open-btn{
display:flex;
align-items: center;
justify-content: center;
font-size:28px;
box-sizing:border-box;
width:30px;
height:30px;
flex-shrink: 0;
color:#fff;
}
header.on .open-btn{
color:#333;
}

#sidebar{
position:fixed;
top:0;
bottom:0; 
display:none; 
right:-200px; 
z-index:999999999; 
-webkit-transition: right 1s;  
transition: right 1s; 
width:auto; 
overflow:visible; 
background:#000;
margin-left:0;
left:auto;
border:0;
}

.sidebg{
display:block;
position: fixed;
height: 150%;
background: rgba(0,0,0,0.5);
width: 100%;
top: 0;
right: 0;
z-index: 44;
}
.menu{
position:relative;
z-index:55; 
width:280px; 
left:auto; 
right:0; 
overflow-x:hidden; 
overflow-y:auto; 
height:100%; 
background:#fff;
display:block;
text-align:left;
box-sizing:border-box;
padding:20px;
}
header .menu{
line-height:1.5em;
}

.menu > li{
display:block;
width:100%;
box-sizing:border-box;
border-left:0;
box-sizing:border-box;
margin-bottom:10px;
padding-bottom:10px;
border-bottom:1px rgba(0,0,0,0.2) solid;
}

.menu > li > ul > li{
padding:5px 0;
}

.menu > li > a{
height:30px;
line-height:30px;
font-weight:800;
display:block;
width:100%;
}

.menu > li > ul > li > a{
display:block;
}








/********************* main *********************************/

/*@keyframes fade_txt {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}*/
/*visual*/
#visual{
width:100%;
margin:0 auto;
overflow:hidden;
position:relative;
z-index:333;

}
.va-ment{
position:absolute;
width:80%;
height:100%;
left:10%;
top:0%;
z-index:999;
display:flex;
flex-direction: column; 
justify-content: center;
box-sizing:border-box;
text-align:left;
line-height:1.3;
animation: fade_txt 1s forwards;
animation-delay: 5s;
color:#fff;
}
#visual .slick-track{
gap:0;
}

.vam-t1{
font-size:46px;
text-transform: uppercase;
font-weight: 100;
}

.vam-t2{
font-size:80px;
font-weight: 800;

}
.vam-t3{
font-size:26px;
font-weight:60000;
display:block;
letter-spacing: 0.02em;
text-transform: uppercase;
color:#ccf8ff;
}

.visual-area{
position:relative;
z-index:11;
}
.va-box{
position:relative;
text-align:right;
}

.va-img{
position:relative;
left:0%;
top:0;
margin-left:0px;
}

.va-img img{
width:100%;
}

.visual-video{width:100%; position:relative; padding-top:56.25%; z-index:66;}
.visual-video iframe{position:absolute; left:0; top:0; width:100%; height:100%; border:0;}


#visual .slick-list{
position:relative;
z-index:1;
}

#visual .slick-arrow{
position: absolute;
text-align: center;
top: 50%;
margin-top: -45px;
right:50px;
z-index: 999;
display: flex;
align-items: center;
justify-content: center;
width: 65px;
height: 65px;
font-size: 65px;
color: rgb(255, 255, 255, 0.6);
border:0;
background:transparent;
}
#visual .slick-prev{
left:50px;
}
#mVisual { position:relative; width:100%; height:100vh; overflow:hidden;}


.bottom{
background:var(--bg1); position:relative; z-index:999;
width:100%; border-bottom:1px var(--color1) solid; border-top:1px var(--color1) solid;
}
.bottom-area{
width:96%; max-width:1280px; margin:0 auto; display:flex;
position:relative;
}
.fnb-ul{
display:flex; justify-content: space-between; width:100%;
border-left:1px var(--color1) solid;
}
.fnb-ul > li{
width:25%; box-sizing:border-box; border-right:1px var(--color1) solid;
padding:45px;
}
.fnb-ul ul{
display:flex; flex-direction: column; gap:5px;
}
.fnb-ul a{
color:var(--color2);
padding:5px 0;
}
.fnb-ul > li > a{
font-weight:700; color:var(--color3); margin-bottom:5px;
display:block;
}
.foot-add{
background:var(--bg1);
}
.foot-add-area{
width:96%; max-width:1280px; margin:0 auto; display:flex;
padding:45px 0; gap:140px;
}
.fa-logo img{
width:300px;
}
.fa-list{
display:flex; flex-wrap:wrap;
max-width:640px; gap:5px 0;
}
.fa-list li{
display:flex; gap:10px; color:var(--color2);
}
.fa-list li:nth-child(odd){
flex-shrink: 1; width:280px;
}
.fa-list li:nth-child(even){
flex-grow: 1; width:auto;
}
.fa-list li strong{
font-weight:700;
}

footer{
position:relative; z-index:999; background:var(--bg1);
border-top:1px var(--color1) solid;_
}
.foot-copy{
padding:10px 0; width:96%; max-width:1280px; margin:0 auto;
display:flex; align-items: center; justify-content: space-between; gap:10px;
font-size:var(--fsize1); letter-spacing: 0.015em;
}
.foot-copy p{
flex-grow: 1; opacity:0.4;
}
.foot-copy a{
background:var(--color2); padding:0px 20px; color:rgba(255, 255, 255, 0.9); font-size:0.85em;
flex-shrink:0; height:40px; display:flex; justify-content: center; align-items: center;
}

.bottom-top{
display:flex; align-items: center; gap:3px; background:var(--color3); font-size:0.75em;
color:rgba(255, 255, 255, 0.8); padding:0px 10px;height:40px; font-weight:600; cursor:pointer;
}

/*main*/
.b-tit1{
line-height:1.3;
}
.b-tit1 span{
font-weight:800; letter-spacing: 0em;
background-image: linear-gradient(to bottom, #68c184, #016a7c);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
font-size:var(--fsize3); text-transform: uppercase;
}
.b-tit1 strong{
display:block; font-weight:700; font-size:var(--fsize5);
}
.b-tit2{
color:var(--color4); font-size:22px; margin-bottom:5px;
}
.box{
padding:120px 0; width:100%;
}
.box-more{
position:absolute; top:200px; left:50%; margin-left:-640px; width:1280px; display:flex;
justify-content: flex-end;
}
.box-more a{
display:inline-flex; border:1px var(--color5) solid; box-sizing:border-box;
color:var(--color5); align-items: center; gap:5px; padding:10px 25px;
transition: all 0.3s;
}
.box-more a:hover{
background:var(--color5); color:#fff;
}

.slide-arrow{
position:absolute; display:flex; justify-content: center; align-items: center;
left:0; bottom:0; width:100%; gap:1px;
}
.slide-arrow button{
display:flex; width:55px; height:55px; justify-content: center; align-items: center;
background:var(--color5); color:#fff; font-size:var(--fsize3); cursor:pointer;
}

/*main-news*/
#box1{
background-image:url(../img/box1-bg.jpg); background-size:cover; background-position:50%;
position:relative;
}
#box1 .box-tit{
width:96%; max-width:1280px; margin:0 auto; display:flex; align-items: flex-end; gap:5px;+
}
#box1 .slick-track{
gap:35px;
}
#box1 .slide-arrow{

}
.news-box{
margin-top:60px;
}
.ns-box{
background:#fff; box-sizing:border-box; padding:40px; box-shadow: 0px 0px 5px rgba(0,0,0,0.1);
width:300px;
}
.ns-box > a{
display:block;
}
.ns-b-img{
width:100%; padding-top:65%; position:relative; overflow:hidden; background:#f9f9f9;
}
.ns-b-img > div{
position:absolute; width:100%; height:100%; display:flex; align-items: center; justify-content: center;
left:0; top:0;
}
.ns-b-img img{
width:100%; transition: all 0.3s;
}
.ns-box > a:hover .ns-b-img img{
transform:scale(1.1);
}
.ns-b-txt{
padding-top:20px; font-size:var(--fsize2);
}
.ns-b-txt p{
font-weight:700; height:1.5em; line-height:1.5em; overflow:hidden;
}
.ns-b-txt span{
display:flex; align-items: center; color:var(--color2); font-size:0.9em; gap:5px;
}



/*main-business*/
#box2{
position:relative; padding:0;
}
#box2 .b-tit1, #box2 .b-tit2{
color:#fff;
}
#box2 .b-tit2{
margin-top:20px;
}
#box2 .b-tit1 span{
background-image: linear-gradient(to bottom, #eaf9ef, #cddfe2);
}
#box2 .box-more{
position:unset; margin-left:0; width:auto; justify-content: flex-start;
margin-top:50px;
}
#box2 .box-more a{
border-color:rgba(255,255,255,0.6); color:#fff;
}
#box2 .box-more a:hover{
background:#fff; color:var(--color5);
}
.business-slide{
position:relative; z-index:22;
}
.business-slide .slick-track,
.business-slide .slick-slide{

}
.buss-box{
position:relative;
}
.buss-b-txt{
position:absolute;left:50%; top:0px; margin-left:-640px; width:1280px; box-sizing: border-box;
padding:260px 0 120px; 
}
.buss-b-img{
width:100%;
}
.buss-b-img img{
width:100%;
}

.business-nav {
width:450px; position:absolute; left:50%; top:120px; margin-left:-640px; z-index:55;
}
.busi-icon{
background-position:100% 100%;
background-size:140px 70px;
width:70px !important; height:70px;
display:flex; justify-content: center; align-items: center;
border-radius:999px; gap:5px; 
}
.business-nav .slick-slide.slick-current .busi-icon{
background-position:0 0; background-color:#fff; box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
}
.busi-i1{
background-image:url(../img/busi-icon1.png);
}
.busi-i2{
background-image:url(../img/busi-icon2.png);
}
.busi-i3{
background-image:url(../img/busi-icon3.png);
}
.busi-i4{
background-image:url(../img/busi-icon4.png);
}
.busi-i5{
background-image:url(../img/busi-icon5.png);
}



/*main-project*/
#box3{
background-image:url(../img/project-bg.jpg); background-size:cover; background-position:50%;
position:relative;
}
#box3 .box-tit{
color:#fff;
}
#box3 .b-tit1 span{
background-image: linear-gradient(to bottom, #b5ffcc, #41afc2);
}
#box3 .box-more{
top:120px;
}
#box3 .project-prev{
background:#fff; color:var(--color5);
}

.box3-area{
position:relative; left:50%; margin-left:-640px;
display:flex;  gap:80px; align-items: flex-end;
}
.project-left{
width:420px; flex-shrink: 0; 
}
.pn-info{
color:#fff;
}
.pni-title{
font-size:var(--fsize4); font-weight:600;
margin:30px 0 20px;
}
.pni-list{
display:flex; flex-direction: column; gap:5px;
}
.pni-list li{
display:flex;
}
.pni-list li span{
font-weight:700;  flex-shrink: 0; width:40px;
}
.pni-list li p{
font--weight:300; flex-grow: 1;
}
.pni-btn{
display:flex; gap:15px; margin-top:50px;
}
.pni-btn a{
color:#fff; border:1px rgba(255,255,255,0.5) solid;
text-align:center; font-weight:300; width:80px; height:80px;
display:flex; flex-direction: column; align-items: center; justify-content: center;
font-size:16px;  transition: all 0.3s; box-sizing:border-box;
}
.pni-btn a:hover{
border-width:2px; border-color:#fff;
}
.pni-btn a img{
width:30px;
}

.project-right{
flex-grow: 1; width:900px; overflow:hidden;
}
.project-slide .slick-track{
gap:50px;
}
.ps-box{
width:480px !important;
}
.ps-box a{
display:block; width:100%; padding-top:78%; overflow:hidden;
position:relative; background:#f9f9f9;
}
.psb-img{
position:absolute; width:100%; height:100%; position:absolute;
left:0; top:0; display:flex; justify-content: center; align-items: center;
z-index:22;
}
.psb-img img{
width:100%; transition: all 0.3s;
}
.ps-box a:hover .psb-img img{
transform:scale(1.1);
}
.psb-mark{
position:absolute; right:20px; bottom:20px; display:flex; justify-content: center;
align-items: center; border-radius:999px; width:90px; height:90px; color:#fff;
background:var(--color6); font-weight:700; font-size:var(--fsize7); z-index:33;
}
.psb-mark.psb-m2{
background:var(--color7); 
}
.psb-bg{
background:rgba(0,0,0,0.7); position:absolute; width:100%; height:100%; left:0; top:0;
z-index:99; transition: all 0.5s; opacity:1;
}
.project-slide .slick-slide.slick-current .psb-bg{
opacity:0;
}
