/*  */
:before, :after{vertical-align:middle;}
h1,h2,h3,h4,h5,h6 { line-height: 1.2;}

/* common */
.inner01 { max-width: 1700px; margin: 0 auto;}
.inner02 { max-width: 1500px; margin: 0 auto;}
/* .section { padding-top: 100px;} */




/* main-visual */
.main-visual { position: relative; padding: 0; height: 100vh; overflow: hidden;}
.main-visual > .inner02 { display: flex; align-items: center; height: 100%;}
.main-visual-txt { color: #fff;}
.main-visual-txt h2 { font-size: 50px;}
.main-visual-txt p { padding-top: 30px; font-size: 18px;  line-height: 1.5;}
.main-visual-txt p strong { font-weight: 500; }
.main-visual-btn { position: absolute; bottom: 100px; left: 0; right: 0; }
.main-visual-btn ul { display: flex;}
.main-visual-btn-item { display: flex; justify-content: center; width: 33.333333%; }
.main-visual-btn-inner { position: relative; display: flex; align-items: center; color: #fff;}
.main-visual-btn-inner a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.main-visual-btn-inner::after { content: ''; display: inline-block; width: 55px; height: 55px; margin-left: 40px; background: url(/images/contents/main-visual-btn.png) 50% no-repeat; transition: all .4s ease-in-out; z-index: -1;} 
.main-visual-btn-txt p { padding-bottom: 10px; font-size: 28px; font-weight: 500;}
.main-visual-btn-txt span { font-size: 18px; font-weight: 500;}

.main-visual .bg { transition: 1s ease-in-out; }
.main-visual:hover .bg { transform: scale(1.05); }
.main-visual-txt strong { display: inline-block; overflow: hidden;}
.main-visual-txt span { display: inline-block; animation: mainTxt 1s ease-in-out both;}
.main-visual-txt h2 .ani01 span { animation-delay: .2s;}
.main-visual-txt h2 .ani02 span { animation-delay: .3s;}
.main-visual-txt p .ani01 span { animation-delay: .8s;}
.main-visual-txt p .ani02 span { animation-delay: .9s;}

@keyframes mainTxt {
    0% { transform: translateY(100%);}
    100% { transform: translateY(0);}
}
.main-visual-btn-inner:hover::after { transform: rotate(90deg); }
/* .main-visual .bg { animation: mainVisual 1.5s ease-in-out; }
@keyframes mainVisual{
    0% { transform: scale(1.07);}
    100% { transform: scale(1);}
} */

/* main-sec-01 */
.main-sec-01 { padding: 180px 0 150px;}
.main-sec01-txt { text-align: center;}
.main-sec01-txt h3 { font-size: 50px; }
.main-sec01-txt h3 span { color: #0078ff; }
.main-sec01-txt p { padding-top: 20px; color: #999; font-size: 18px; font-weight: 500; }

/* main-sec-02 */
.main-sec-02 { position: relative; padding: 150px 0 100px; }
.main-sec-02 h3 { color: #fff; font-size:80px;}
.main-sec02-txt { display: flex; justify-content: space-between; padding-top: 150px; color: #fff;}
.main-sec02-txt h4 { color: #fff; font-size: 48px; font-weight: bold;}
.main-sec02-txt p { color: #999; font-size: 20px; font-weight: 500;}
.main-sec02-cont { width: 990px; margin-left: auto; padding-top: 110px;}
.main-sec02-list { display: flex; /*margin: 0 -80px;*/ flex-wrap: wrap;}
.main-sec02-item { width: 50%; padding: 0 80px;}
.main-sec02-item:nth-child(2) { margin-top: 35%; margin-bottom: -8%;}
.main-sec02-item-inner { position: relative; }
.main-sec02-cover { overflow: hidden;}
.main-sec02-cover img { transition: all .4s;}
.main-sec02-item a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1;}
.main-sec02-item-txt { padding-top: 25px; color: #fff;}
.main-sec02-item-txt strong { font-size: 40px;}
.main-sec02-item-txt p { padding-top: 20px; color: #e6e6e6; font-size: 20px; }
.main-sec02-item .arrow { margin-top: 40px; width: 30px; height: 14px; background: url(/images/contents/main-sec02-arrow.png) 50% no-repeat; transition: all .4s ease-in-out;}

.main-sec02-item-inner:hover .main-sec02-cover img { transform: scale(1.05);}
.main-sec02-item-inner:hover .arrow { transform: translateX(50%);}
/* .main-sec02-txt.fixed { position: fixed; top: 0; left: 0; max-width: 1500px; margin: 0 auto; } */
.main-sec02-txt.fixed h4 { position: fixed; top: 60px; left: 0; right: 0; max-width: 1500px; margin: 0 auto; }
.main-sec02-txt.fix02 h4 { position: absolute; bottom: 190px; left: 0; right: 0; max-width: 1500px; margin: 0 auto;}
.main-sec02-txt.fixed p { position: relative;  margin-left: auto;}
/* .main-sec02-txt.fixed p { opacity: 0;} */

/* main-sec-03 */
.main-sec-03 { padding: 180px 0 200px;}
.main-sec03-txt { text-align: center;}
.main-sec03-txt h3 { font-size: 50px; }
.main-sec03-txt h3 span { color: #0078ff; }
.main-sec03-txt p { padding-top: 20px; color: #999; font-size: 18px; font-weight: 500; }

/* main-sec-04 */
.main-sec-04 { padding: 0 50px 50px; }
.main-sec-04 .inner02 { max-width: none;}
.main-sec04-cont { position: relative; overflow: hidden; }
.main-sec04-cont .bg { background-position: top; transition: all 0.8s;}
.main-sec04-txt { padding: 130px 0; color: #fff; text-align: center;}
.main-sec04-txt h4 { font-size: 40px;}
.main-sec04-txt p { padding-top: 10px; font-size: 18px; font-weight: 500;}
.main-sec04-txt a { display: block; width: 120px; margin: 40px auto 0; color: #fff; font-size: 20px; font-weight: 500;}
.main-sec04-txt a::after { content: ''; display: inline-block; width: 30px; height: 14px; margin-left: 10px; background: url(/images/contents/main-sec02-arrow.png) 50% no-repeat; vertical-align: baseline; transition: all .4s ease-in-out;}

.main-sec04-cont:hover .bg { transform: scale(1.03); }
.main-sec04-txt a:hover::after { transform: translateX(30%);}

/*** sub ***/
.snb {}
.snb-bg { position: relative; height: 700px; overflow: hidden;}
.bg-about { background: url(/images/contents/sub-visual-about.jpg) 50% /cover no-repeat; }
.bg-business { background: url(/images/contents/sub-visual-business.jpg) 50% /cover no-repeat; }
.bg-product { background: url(/images/contents/sub-visual-product.jpg) 50% /cover no-repeat; }
.bg-community { background: url(/images/contents/sub-visual-community.jpg) 50% /cover no-repeat; }
.snb .inner01 { position: relative; display: flex; align-items: center; height: 100%;}
.snb .pageTit { }
.snb .pageTit h2 { color: #fff; font-family: 'play'; font-size: 70px; }
.snb-cont { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: flex-end; height: 125px; padding: 0 100px 0; background-color: #fff;}
.snb-cont::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; margin: 0 100px; height: 1px; background-color: #e2e2e2;}
.snb-cont h3 { position: relative; font-size: 24px; margin-bottom: 25px;}
.snb-cont h3::before { content: ''; position: absolute; top: -15px; left: 0; width: 40px; height: 3px; background-color: #58ceff;}
.snb-cont nav { margin-left: 200px;}
.snb-cont ul { display: flex; align-items: center; margin: 0 -30px;}
.snb-cont .snb-item { position: relative; padding: 0 30px 25px;}
.snb-cont .snb-item.active::after { content: ''; position: absolute; bottom: 0; left: 30px; right: 30px; height: 3px; background-color: #000;}
.snb-item a { display: block; color: #666; font-size: 18px;}
.snb-item.active a { color: #000; font-weight: bold;}

.sub-sec { padding-top: 120px; overflow: hidden;}
.sub-tit { text-align: center;}
.sub-tit h4 { font-size: 48px; line-height: 1.3; overflow: hidden;}
.sub-tit p { color: #999; font-size: 22px; font-weight: bold; overflow: hidden;}
.sub-tit p + h4 { padding-top: 20px;}

.sub-tit strong { display: inline-block; overflow: hidden;}
.sub-tit span { display: inline-block; opacity: 0; transform: translateY(60%); transition: all 0.8s ease-in-out;}
.sub-tit.aos-animate span { opacity: 1; transform: translateY(0);} 
.sub-tit.aos-animate p + h4 span { transition-delay: .4s;} 

.snb-bg .bg { transition: all 1s ease-in-out;}
.snb-bg:hover .bg { transform: scale(1.02);}
/** about **/
/* about > about */
.sub-about { position: relative;}
.sub-about::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 960px; background: url(/images/contents/sub-about-bg.png) 100% no-repeat; z-index: -1;}
.sub-about .sub-tit { }
.about-cont { display: flex; padding: 120px 0; }
.about-txtbox { display: flex; flex-direction: column; justify-content: space-between; padding-left: 80px; padding-top: 130px;}
.about-txtbox .about-tit { font-size: 48px; line-height: 1.2;}
.about-txtbox .about-tit .color { color: #3d9dff; font-weight: 900;}
.about-txt p { color: #fff; font-size: 19px; }
.about-txt p + p { padding-top: 35px;}
.about-txt p strong { font-size: 30px; }
.about-txt .ceo { font-size: 16px; font-weight: 500; text-align: right;}
.about-txt .ceo::after { content: ''; display: inline-block; width: 88px; height: 38px; margin-left: 10px; background: url(/images/contents/ceo.png) 50% no-repeat;}

.sub-about .animate { display: inline-block; overflow: hidden;}
.sub-about .animate .color { display: inline-block; opacity: 0; transform: translateY(50%); transition: all 0.8s; transition-delay: 0.8s;}
.sub-about .aos-animate .animate .color { opacity: 1; transform: translateY(0); }

/* about > vision */
.vision-cont { padding: 160px 0 220px;}
.vision-item { display: flex; align-items: center;}
.vision-item > div { width: 50%;}
.vision-txtbox { }
.vision-tit { display: flex; align-items: flex-end;}
.vision-tit h5 { font-size: 45px; line-height: 1;}
.vision-txt { padding-top: 40px; color: #666; font-size: 18px;}
.vision-cover img { width: 100%;}

.right .vision-txtbox { text-align: right;}
.right .vision-tit { justify-content: flex-end;}
.left .vision-tit h5 { padding-left: 25px;}
.right .vision-tit h5 { padding-right: 25px; }

/* about > location */
.sub-location .inner02 { max-width: 1350px;}
.location-cont { padding: 60px 0 120px;}
.location-cont .map { box-shadow: 4px 4px 25px 0 rgba(0,0,0,0.15)}
.location-txtbox { display: flex; justify-content: space-between; padding-top: 110px;}
.location-txtbox h5 { font-size: 48px; font-weight: 400;}
.location-txt { width: 60%; padding: 40px 35px; border-top: 1px solid #323232; border-bottom: 1px solid #e4e4e4;}
.location-txt dl { display: flex;}
.location-txt dl + dl { padding-top: 20px;}
.location-txt dt { width: 150px; font-size: 18px; font-weight: 500;}
.location-txt dd { color: #666; font-size: 18px;}


/*** business ***/
/* business > business */
.sub-business .inner02 { max-width: 1820px;}
.sub-business .sub-tit h4 { font-family: 'play'; font-size: 100px; line-height: 1.1;}

.business-contbox { margin-top: -52px; }
.business-cont {  }
.business-cont-top { position: relative; display: flex; flex-direction: column; justify-content: center; height: 450px; color: #fff; text-align: center;}
.business-cont-top-tit { font-size: 48px; font-weight: bold; line-height: 1.2;}
.business-cont-top-txt { padding-top: 20px; font-size: 23px; font-weight: 500;}

.business-cont-txtbox { padding: 150px 0;}
.business-cont-txtbox .tit01 { font-size: 48px; line-height: 1.2;}
.business-cont-txtbox .tit02 { font-size: 32px; }
.business-cont-txtbox .subtit { font-size: 35px; font-weight: bold;}
.business-cont-txtbox .txt01 { font-size: 23px;}
.business-cont-txtbox .txt02 { color: #666; font-size: 18px;}

.business-cont01 .business-cont-top { height: 600px; }
.business-cont01 .business-cont-top > p { text-shadow: 3px 3px 4px rgba(0,0,0,0.15);}
.business-cont01 .business-cont-txtbox { display: flex; justify-content: space-between; max-width: 1500px; margin: 0 auto; padding: 150px 20px;}
.business-cont01 .business-cont-txt { padding-top: 40px;}
.business-cont01 .business-cont-list { padding-top: 60px;}
.business-cont01 .business-cont-txt .txt01 { padding-bottom: 50px;}
/* .business-cont01 .business-list-item {}
.business-cont01 .business-list-item > div { }
.business-cont01 .business-list-item dl {}
.business-cont01 .business-list-item dt { height: 95px; color: #fff; text-align: center;} */

.business-cont02 {}
.business-cont02 .business-cont-txtbox { max-width: 1500px; margin: 0 auto;}
.business-cont02 .business-cont-list { display: flex; flex-wrap: wrap; width: 95%; margin: 0 auto;}
.business-cont02 .business-list-item { display: flex; width: 50%; padding: 0 120px 80px;}
.business-cont02 .business-list-item:nth-last-child(-n+2) { padding-bottom: 0;}
.business-cont02 .subtit { position: relative;}
.business-cont02 .subtit::after { content: ''; position: absolute; top: 5px; left: -40px; width: 5px; height: 55px; background-color: #c8c8c8;}
.business-cont02 .txt02 { padding-top: 10px;}

.business-cont03 .subtit { text-align: center;}
.business-cont03 .business-cont-list { display: flex; justify-content: center; padding-top: 50px;}
.business-cont03 .business-list-item { margin: 0 -10px;}
.business-cont03 .business-list-item-cir { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 326px; height: 325px; background: url(/images/contents/sub-business-cont03-cir01.png) 50% no-repeat;}
.business-cont03 .business-list-item-cir::after { content: ''; position: absolute; top: 50%; left: 0; transform: translate(-40%,-50%); width: 40px; height: 40px; background: url(/images/contents/sub-business-cont03-cir02.png) 50% /cover no-repeat; }
.business-cont03 .business-list-item:nth-child(1) .business-list-item-cir::after { display: none; }
.business-cont03 .business-list-item-ico { display: flex; justify-content: center; align-items: center; height: 108px;}
.business-cont03 .business-list-item-cir .txt01 { padding-top: 15px; font-weight: bold;}
.business-cont03 .business-list-item-txt { padding-top: 30px; text-align: center;}

.business-cont04 {}
.business-cont04 .business-cont-txtbox > p { text-align: center; overflow: hidden;}
/* .business-cont04 .business-cont-txtbox > p strong { display: inline-block; } */
.business-cont04 .tit01 { font-family: 'play';}
.business-cont04 .business-map { padding: 10px 0 20px; overflow: hidden;}
.business-cont04 .business-cont-list { display: flex;}
.business-cont04 .business-list-item { width: calc(100% / 3); text-align: center;}
.business-cont04 .business-list-item + .business-list-item { border-left: 2px solid #d5d5d5;}
.business-cont04 .txt01 { padding-top: 10px; font-weight: bold;}
.business-cont04 .txt02 { padding: 5px 0 20px; text-transform: uppercase;}

.business-cont04 .business-cont-txtbox span { display: inline-block; opacity: 0; transform: translateY(60%); transition: all 0.8s;}
.business-cont04 .business-cont-txtbox .aos-animate span { opacity: 1; transform: translateY(0); }
.business-cont04 .subtit span { transition-delay: .2s;}

/* business > facilities */
.sub-facilities .inner02 { max-width: 1820px;}
.facilities-cont-txtbox .tit01 { font-family: 'play'; font-size: 48px; line-height: 1.2;}
.facilities-cont-txtbox .subtit { font-size: 35px; }
.facilities-cont-txtbox .txt01 { color: #666; font-size: 23px; }
.facilities-cont-txtbox .txt02_black { font-size: 18px;}
.facilities-cont-txtbox .txt02_gray83 { color: #838383; font-size: 18px;}
.facilities-cont-txtbox .txt02_gray43 { color: #434343; font-size: 18px;}
.facilities-cont-txtbox .txt03_black { font-size: 16px;}
.facilities-cont-txtbox .txt03_gray62 { color: #626262; font-size: 16px;}

.facilities-cont01 { padding-top: 50px;}
.facilities-cont01 .business-cont-top { height: 600px;}
.facilities-cont01 .business-logo { display: flex; justify-content: center; }
.facilities-cont01 .business-logo img { padding: 0 25px; }
.facilities-cont01 .facilities-cont-txtbox { max-width: 1160px; margin: 0 auto; padding: 120px 0; }
.facilities-cont01 .facilities-cont-txtbox > p { text-align: center;}
.facilities-cont01 .facilities-cont-txtbox > .txt01 { padding-top: 10px; font-weight: 500;}
.facilities-cont01 .facilities-cont-list { display: flex; flex-wrap: wrap; margin: 0 -15px; padding-top: 50px;}
.facilities-cont01 .facilities-cont-list + .facilities-cont-list { padding-top: 30px;}
.facilities-cont01 .facilities-cont-list02 { position: relative; flex-direction: row-reverse;}
.facilities-cont01 .facilities-cont-list02::after { content: ''; position: absolute; top: 0; right: 120px; width: 1px; height: 40px;transform: translateX(-50%); background-image: linear-gradient(180deg, #3d9dff, #3d9dff 75%, transparent 75%, transparent 100%); background-size: 1px 3px; border: none; z-index: -1;}
.facilities-cont01 .facilities-list-item { width: 20%; padding: 0 15px;}
.facilities-cont01 .facilities-item-cir01 { position: relative; display: flex; justify-content: center; align-items: center; width: 205px; height: 205px; background: linear-gradient(to bottom,#3d9dff,#1d76d3); border-radius: 50%;}
.facilities-cont01 .facilities-item-cir01::before { content: ''; position: absolute; top: calc(50% - 1px); left: -15px; right: -15px; height: 1px; background-image: linear-gradient(90deg, #3d9dff, #3d9dff 75%, transparent 75%, transparent 100%); background-size: 3px 1px; border: none; z-index: -1;}
.facilities-cont01 .facilities-item-cir01::after { content: ''; position: absolute; top: calc(50% - 5px); right: -21px; width: 10px; height: 10px; background-color: #3d9dff; border-radius: 50%;}
.facilities-cont01 .facilities-item-cir02 { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 78%; height: 78%; background-color: #fff; border-radius: 50%; text-align: center;}
.facilities-cont01 .facilities-item-cir02 .txt01 { color: #3d9dff; font-family: 'play'; border-bottom: 2px solid; line-height: 1.2;}
.facilities-cont01 .facilities-item-cir02 .txt02_black { display: flex; align-items: center; margin-top: 20px; height: 40px; font-weight: 500; line-height: 1.2;}

.facilities-cont-list01 .facilities-list-item:first-of-type .facilities-item-cir01::before { left: 0;} 
.facilities-cont-list01 .facilities-list-item:last-of-type .facilities-item-cir01::before { right: 0;} 
.facilities-cont-list01 .facilities-list-item:last-of-type .facilities-item-cir01::after { display: none;} 
.facilities-cont-list02 .facilities-list-item:first-of-type .facilities-item-cir01::before { right: 0;} 
.facilities-cont-list02 .facilities-list-item:first-of-type .facilities-item-cir01::after { top: -20px; right: calc(50% - 4px); }
.facilities-cont-list02 .facilities-list-item:last-of-type .facilities-item-cir01::before { left: 0;} 

.facilities-cont01 .facilities-cont-list02.aos-animate::after { opacity: 1;}
/* .facilities-cont01 .facilities-cont-list02.aos-animate::after {} */

.facilities-cont02 {}
.facilities-cont02 .facilities-cont-txtbox { max-width: 1160px; margin: 0 auto; padding: 100px 0 180px;}
.facilities-cont02 .facilities-cont-list {  }
.facilities-cont02 .facilities-list-item { display: flex; align-items: center; padding: 50px 0; border-top: 2px solid #000;}
.facilities-cont02 .facilities-list-item:last-of-type { border-bottom: 2px solid #000;}
.facilities-cont02 .facilities-item-cover { width: 50%; text-align: center;}
.facilities-cont02 .facilities-item-txtbox { width: 50%; border-left: 1px solid #e1e1e1;}
.facilities-cont02 .facilities-item-top { padding: 0 0 60px 40px; border-bottom: 1px solid #e1e1e1;}
.facilities-cont02 .facilities-item-top .subtit { padding-bottom: 5px;}
.facilities-cont02 .facilities-item-top .txt02_gray83 {}
.facilities-cont02 .facilities-item-top ul { padding-top: 35px;}
.facilities-cont02 .facilities-item-top .txt02_gray43 { position: relative; padding-left: 20px; }
.facilities-cont02 .facilities-item-top .txt02_gray43::before { content: ''; position: absolute; top: 11px; left: 0; width: 8px; height: 2px; background-color: #434343; }
.facilities-cont02 .facilities-item-top li + li { margin-top: 10px;}
.facilities-cont02 .facilities-item-info { padding: 30px 0 0 40px;}
.facilities-cont02 .facilities-item-info {}
.facilities-cont02 .facilities-item-info .txt02_black { padding-bottom: 20px}
.facilities-cont02 .facilities-item-info dl { display: flex; }
.facilities-cont02 .facilities-item-info dl + dl { padding-top: 5px;}
.facilities-cont02 .facilities-item-info .txt03_black { width: 75px; font-weight: 500;}

/*** product ***/
/* product > product */
.sub-product { }
.sub-product .category { display: flex; justify-content: center; margin: 0 -5px; padding-top: 50px;}
.sub-product .category-item { padding: 0 5px; }
.sub-product .category-item a { display: block; width: 110px; height: 45px; line-height: 45px; color: #666; background-color: #e7e9ec; font-size: 16px; border-radius: 25px;}
.sub-product .category-item.active a { color: #fff; background-color: #3c9dff; font-weight: 500;}
.product-cont { max-width: 1380px; margin: 0 auto; padding: 50px 0 200px;}
.product-cont-list { display: flex; flex-wrap: wrap; margin: 0 -25px;}
.product-item { width: 33.333333%; padding: 0 25px 60px;}
.product-cover { overflow: hidden; }
.product-cover img { width: 100%; transition: all .4s;}
.product-txt { padding-top: 20px; text-align: center;}
.product-txt span { font-size: 21px; font-weight: 500;}

.product-item:hover .product-cover img { transform: scale(1.05); }

/*** community ***/
/* community > inquiry_write */
.inquiry-write-cont { max-width: 650px; margin: 60px auto 200px;}
.inquiry-write-item { }
.inquiry-write-item + .inquiry-write-item { padding-top: 20px;}
.inquiry-item-tit { margin-bottom: 5px; font-size: 18px; font-weight: bold; }
.inquiry-item-tit span { position: relative; }
.inquiry-item-tit.req span::after { content:''; position: absolute; top: 0; right: 0; width: 4px; height: 4px; background-color: ##58ceff;  border-radius: 50%;}
.inquiry-write-item input, .inquiry-write-item textarea { width: 100%; background-color: #f8f9fa; font-size: 16px; border: 0;}
.inquiry-write-item input { height: 45px;}
.inquiry-write-item input[type=file] { height: auto; padding:5px;background-color: #f8f9fa;}
.inquiry-write-item textarea { min-height: 140px; resize: none;}
.inquiry-write-btnbox { display: flex; justify-content: space-between; max-width: 650px; margin: 80px auto 0;}
.inquiry-write-btn { width: calc(50% - 5px); height: 70px; color: #fff; font-size: 20px; font-weight: bold; }
button.inquiry-write-btn { background-color: #0c6cd0;  }
a.inquiry-write-btn { display: block; line-height: 70px; background-color: #adb5bd; text-align: center;}







