@charset "utf-8";

/* sub-visual */
.sub-visual {height:550px; background-repeat:no-repeat; background-size:cover; background-position:center center;}
.sub-visual01 {background-image:url('../img/sub/sub-visual01.jpg');}
.sub-visual02 {background-image:url('../img/sub/sub-visual02.jpg');}
.sub-visual03 {background-image:url('../img/sub/sub-visual03.jpg');}
.sub-visual04 {background-image:url('../img/sub/sub-visual04.jpg');}
.sub-visual05 {background-image:url('../img/sub/sub-visual05.jpg');}
.sub-visual .title {display:flex; align-items:center; justify-content:center; width:100%; height:100%; text-align:center;}
.sub-visual .title h2 {font-size:58px; line-height:1.1em; font-weight:600; color:#fff;}
/* lnb */
#lnb {border-bottom:1px solid #ddd; letter-spacing:-.03em;}
.lnb ul {display:flex;}
.lnb ul li {width:100%; position:relative;}
.lnb ul li:after {content:''; width:1px; height:18px; background:#ddd; position:absolute; top:50%; margin-top:-9px; right:0;}
.lnb ul li:last-child:after {display:none;}
.lnb ul li a {height:70px; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1.6em; color:#666; font-weight:500; padding:10px; transition:all 0.4s; position:relative; text-align:center;}
.lnb ul li.active a {color:#0098ff;}
.lnb ul li a:hover {color:#0098ff;}
.lnb ul li a:before {content:''; width:0; height:1px; background:#0098ff; position:absolute; bottom:-1px; left:50%; z-index:11; transition:all 0.4s;}
.lnb ul li.active a:before {width:100%; left:0;}
.lnb ul li a:hover:before {width:100%; left:0;}
.lnb ul li.active a:after {content:''; width:9px; height:9px; background:#0098ff; border-radius:50%; position:absolute; bottom:-5px; left:50%; margin-left:-5px;}
/* sub-title */
.sub-title {text-align:center; padding-top:160px; letter-spacing:-.03em; margin-bottom:76px;}
.sub-title h3 {font-size:52px; line-height:1.2em; color:#333; font-weight:600; position:relative; padding-top:28px;}
.sub-title h3 span {position:absolute; width:30px; height:10px; border-radius:5px; background:#0098ff; top:0; left:50%; margin-left:-15px;}
.sub-title h3 span:before {content:''; width:10px; height:10px; background:#05327a; border-radius:50%; position:absolute; right:0;}
.sub-title p {font-size:24px; line-height:1.6em; color:#666; padding-top:34px;}
/* sub */
.real-cont {padding-bottom:180px;}

.cnt-tit {margin-bottom:76px; text-align:center;}
.cnt-tit h4 {font-size:44px; font-weight:600; color:#333; position:relative; padding-top:28px; font-family:'Montserrat'; line-height:1.2em;}
.cnt-tit.white h4 {color:#fff;}
.cnt-tit h4 span {color:#0098ff;}
.cnt-tit.blue h4 span {color:#05327a;}
.cnt-tit h4:before {content:''; width:10px; height:10px; background:#0098ff; border-radius:50%; position:absolute; top:0; left:50%; margin-left:-5px;}
.cnt-tit.blue h4:before {background:#05327a;}
.cnt-tit h5 {font-size:40px; line-height:1.2em; font-weight:500; font-family:'Montserrat'; color:#333; margin-top:12px;}
.cnt-tit h5 span {color:#0098ff;}
.cnt-tit p {font-size:24px; line-height:1.5em; color:#666; margin-top:34px;}
.cnt-tit.white p {color:#fff;}
/* sub 01 02 */
.greeting {position:relative;}
.greeting .img-box {border-radius:20px; margin-bottom:100px; overflow:hidden;}
.greeting .col {display:flex;}
.greeting .tit-box {width:100%; max-width:500px;}
.greeting .tit-box h4 {font-size:32px; line-height:1.4em; color:#333; font-weight:500;}
.greeting .tit-box h4 strong {color:#0099ff; font-weight:600;}
.greeting .txt-box {width:1%; flex:1 1 auto; padding-left:50px;}
.greeting .txt-box p {font-size:20px; line-height:1.8em; color:#666; margin-bottom:46px;}
.greeting .txt-box p:last-of-type{margin-bottom:0;}
.greeting .txt-box p strong {font-weight:500; color:#333;}
.greeting .txt-box .sign {text-align:right; font-size:24px; line-height:1.4em; color:#333; font-weight:500;}
.greeting .txt-box .sign img {display:inline-block; vertical-align:middle;}
.greeting .greeting-logo {position:absolute; left:0; bottom:0;}
/* sub 01 03 */
.history .img-box {border-radius:20px; margin-bottom:100px; overflow:hidden;}
.history .col {display:flex; position:relative; padding-bottom:200px;}
.history .col:after {content:''; width:1px; height:calc(100% - 10px); background:#ddd; position:absolute; top:10px; left:560px;}
.history .year {width:100%; max-width:560px; padding-left:200px; position:relative; font-family:'Montserrat';}
.history .year .tit {position:sticky; top:100px; right:0; display:inline-block;}
.history .year.active .tit {z-index:1;}
.history .year p {font-size:32px; line-height:1.2em; color:#000; font-weight:600; margin-bottom:16px;}
.history .year h4 {font-size:100px; line-height:1.1em; color:#00aeef;}
.history .wrap {width:1%; flex:1 1 auto; padding-left:50px;}
.history .txt-box {margin-bottom:86px; position:relative;}
.history .txt-box:before {content:''; width:20px; height:20px; background:#00aeef; border:5px solid #fff; border-radius:50%; position:absolute; top:5px; left:-59px; z-index:11;}
.history .txt-box .m-year {display:none;}
.history .txt-box .txt {display:flex; margin-bottom:6px; margin-bottom:32px;}
.history .txt-box .txt .month {width:100%; max-width:80px; font-size:20px; line-height:1.6em; color:#333; font-weight:600;}
.history .txt-box .txt p {width:1%; flex:1 1 auto; font-size:20px; line-height:1.6em; color:#666;}
/* sub 01 04 */
.partner .col {display:flex; margin:0 -26px; flex-wrap:wrap;}
.partner .col .row {width:25%; padding:0 26px; margin-bottom:52px;}
.partner .inner {display:flex; border:1px solid #ddd; border-radius:20px; position:relative; overflow:hidden; height:240px; justify-content:center; align-items:center;}
.partner .inner .img {}
.partner .inner .over {opacity:0; transition:all 0.4s; position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; background:rgba(0,0,0,0.55);}
.partner .inner:hover .over {opacity:1;}
.partner .inner .over p {padding:30px; font-size:24px; font-weight:500; color:#fff; line-height:1.5em; position:relative;}
.partner .inner .over p:before {content:''; width:10px; height:10px; background:#0098ff; border-radius:50%; position:absolute; top:18px; left:50%; margin-left:-5px;}
/* sub 01 06 */
.directions {}
.directions .cnt {margin-bottom:136px;}
.directions .cnt:last-child {margin-bottom:0;}
.directions .tit-box {margin-bottom:50px;}
.directions .tit-box h4 {font-size:40px; line-height:1.2em; color:#333; font-weight:600; font-family:'Montserrat'; display:inline-block; position:relative; padding-right:36px;}
.directions .tit-box h4:before {content:''; width:10px; height:10px; background:#0098ff; position:absolute; bottom:10px; right:0; border-radius:50%;}
.directions .maps {height:470px; border-radius:20px; overflow:hidden; margin-bottom:44px;}
.directions .maps iframe {width:100%; height:100%;}
.directions .txt-box {position:relative; padding-right:130px;}
.directions .txt-box .btns {position:absolute; top:0; right:0;}
.directions .txt-box .btns ul {display:flex; margin:0 -5px;}
.directions .txt-box .btns ul li {padding:0 5px;}
.directions .txt-box .btns ul li a {width:52px; height:52px; border-radius:6px; position:relative; overflow:hidden; transition:all 0.4s;}
.directions .txt-box .btns ul li a:hover {border-radius:26px;}
.directions .txt-box .btns ul li a.more {background:#999;}
.directions .txt-box .btns ul li a.print {background:#00aeef;}
.directions .txt-box dl {display:flex; font-size:20px; line-height:1.8em;}
.directions .txt-box dt {width:100%; max-width:120px; color:#333; font-weight:600;}
.directions .txt-box dd {width:1%; flex:1 1 auto; color:#666;}
/* sub 02 */
.solution-title {border-radius:20px; overflow:hidden; margin-bottom:120px;}
.solution .solution-title .icon {position:absolute; top:-80px; right:-60px; z-index:11; animation: ess-title 12s linear infinite both;}
@keyframes ess-title {0% {transform: rotate(0);}100% {transform: rotate(360deg);}}

.solution .cnt {margin-bottom:140px;}
.solution .cnt:last-child {margin-bottom:0;}
.solution .img-box {text-align:center;}

.solution .function-col {display:flex; margin:0 -20px;}
.solution .function-col .row {width:50%; padding:0 20px; position:relative;}
.solution .function-col .row:after {content:''; width:1px; height:calc(100% - 90px); bottom:15px; right:0; background:#ddd; position:absolute;}
.solution .function-col .row:last-child:after {display:none;}
.solution .function-col .inner .tit {border-radius:15px; background:#05327a; text-align:center; margin-bottom:12px;}
.solution .function-col .inner .tit h5 {font-size:24px; line-height:1.5em; color:#fff; font-weight:600; padding:15px 10px;}
.solution .function-col .inner .txt {padding:30px 60px; border-bottom:1px dashed #ddd;}
.solution .function-col .inner p {font-size:20px; line-height:1.8em; color:#666; position:relative; padding-left:30px; margin-bottom:10px;}
.solution .function-col .inner p:before {content:''; width:6px; height:6px; background:#05327a; border-radius:50%; top:13px; left:0; position:absolute;}
.solution .function-col .inner p strong {display:block; font-weight:500; color:#333;}
.solution .function-col .inner p strong span {color:#05327a;}

.solution .results-wrap .tit {margin-bottom:46px;}
.solution .results-wrap .tit h5 {font-size:38px; line-height:1.2em; color:#333; font-weight:600; position:relative; padding-right:36px; display:inline-block;}
.solution .results-wrap .tit h5:after {content:''; width:10px; height:10px; border-radius:50%; position:absolute; bottom:6px; right:0; background:#0098ff;}
.solution .results-wrap .col {display:flex; align-items:center; margin-bottom:96px;}
.solution .results-wrap .col:last-child {margin-bottom:0;}
.solution .results-wrap .img {width:100%; max-width:680px; text-align:center;}
.solution .results-wrap .img img {border-radius:20px; overflow:hidden; box-shadow:0 0 15px 5px rgba(113,113,113,0.2);}
.solution .results-wrap .img p {font-size:20px; line-height:1.8em; color:#666; display:inline-block; position:relative; padding-left:28px; margin-top:24px;}
.solution .results-wrap .img p:before {content:''; width:12px; height:12px; background:url('../img/sub/results-icon.jpg') no-repeat; background-size:cover; position:absolute; top:12px; left:0;}
.solution .results-wrap .img .row {display:flex; justify-content:space-between;}

.solution .results-wrap .txt {width:1%; flex:1 1 auto; padding-left:130px;}
.solution .results-wrap .txt h6 {font-size:36px; color:#0098ff; line-height:1.2em; font-weight:600; margin-bottom:30px;}
.solution .results-wrap .txt li {font-size:20px; line-height:1.8em; color:#666; position:relative; padding-left:15px; margin-bottom:16px;}
.solution .results-wrap .txt li:last-child {margin-bottom:0;}
.solution .results-wrap .txt li:before {content:''; width:4px; height:4px; background:#0098ff; border-radius:50%; position:absolute; top:15px; left:0;}
/* sub 02 01*/
.bdms .cnt02 .col {display:flex; margin:0 -12px;}
.bdms .cnt02 .col .row {width:33.333333%; position:relative; padding:0 12px;}
.bdms .cnt02 .col .row:after {content:''; width:1px; height:calc(100% - 90px); bottom:15px; right:0; background:#ddd; position:absolute;}
.bdms .cnt02 .col .row:last-child:after {display:none;}
.bdms .cnt02 .inner .tit {border-radius:15px; background:#05327a; text-align:center; margin-bottom:12px;}
.bdms .cnt02 .inner .tit h5 {font-size:24px; line-height:1.5em; color:#fff; font-weight:600; padding:15px 10px;}
.bdms .cnt02 .inner .txt {padding:0 12px;}
.bdms .cnt02 .inner .txt .box {border-bottom:1px dashed #ddd; padding:36px 36px 50px;}
.bdms .cnt02 .inner .txt .box p {font-size:20px; line-height:1.8em; color:#666; position:relative; padding-left:30px;}
.bdms .cnt02 .inner .txt .box p:before {content:''; width:6px; height:6px; background:#05327a; border-radius:50%; top:13px; left:0; position:absolute;}
.bdms .cnt02 .inner .txt .box p strong {font-weight:700; color:#05327a;}
/* sub 02 02*/
.monitor .cnt01 .img-box {margin-bottom:110px;}
.monitor .function-col .inner .txt {min-height:320px;}
/* sub 02 03 */
.fervent .cnt01 .img-box {margin-bottom:110px;}
.fervent .function-col .inner .txt {min-height:220px;}
/* sub 02 04 */
.cell .cnt01 .col {display:flex; justify-content:space-between; margin-bottom:120px;}
.cell .cnt01 .col .row {width:100%; max-width:650px;}
.cell .cnt01 .col .inner {text-align:center;}
.cell .cnt01 .col .inner img {border-radius:20px; overflow:hidden; box-shadow:0 0 15px 5px rgba(113,113,113,0.2);}
.cell .cnt01 .col .inner p {font-size:20px; line-height:1.8em; color:#666; display:inline-block; position:relative; padding-left:28px; margin-top:24px;}
.cell .cnt01 .col .inner p:before {content:''; width:12px; height:12px; background:url('../img/sub/results-icon-blue.jpg') no-repeat; background-size:cover; position:absolute; top:12px; left:0;}
.cell .function-col .inner .txt {min-height:210px;}
/* sub 03 */
.product .cnt {margin-bottom:140px;}
.product .product-title {margin-bottom:120px; position:relative;}
.product .product-title .img img {border-radius:20px;}
.product .product-title .icon {position:absolute; top:-80px; right:-60px; z-index:11; animation: ess-title 12s linear infinite both;}
@keyframes ess-title {0% {transform: rotate(0);}100% {transform: rotate(360deg);}}
.product .function-box {background:#f6fbff; border-radius:20px; padding:70px 0; margin-bottom:70px;}
.product .function-box ul {display:flex; flex-wrap:wrap; margin-bottom:-20px; position:relative;}
.product .function-box ul:after {content:''; width:1px; height:100%; background:#ccc; position:absolute; top:50%; transform:translateY(-50%); left:50%;}
.product .function-box ul li {width:50%; padding:0 95px; margin-bottom:20px;}
.product .function-box ul li p {font-size:20px; line-height:1.5em; color:#666; position:relative; padding-left:30px;}
.product .function-box ul li p:before {content:''; width:4px; height:4px; background:#0098ff; position:absolute; top:12px; left:0; border-radius:50%;}
.product .outcome {padding:100px 0 180px; background-repeat:no-repeat; background-size:cover; background-position:center center;}
/* sub 03 01 */
.ess .real-cont {padding-bottom:0;}
.ess .cnt01 .col {display:flex; flex-wrap:wrap; margin:0 -30px -60px;}
.ess .cnt01 .col .row {width:33.3333333%; padding:0 30px; margin-bottom:60px;}
.ess .cnt01 .inner {border-radius:20px; overflow:hidden; box-shadow:0 0 15px 0 rgba(24,24,24,0.2);}

.ess .cnt02 {background-image:url('../img/sub/ess02bg.jpg');}
.ess .cnt02 .col {display:flex; flex-wrap:wrap; margin:0 -20px -40px; padding:0 180px;}
.ess .cnt02 .col .row {width:33.333333%; padding:0 20px; margin-bottom:40px;}
.ess .cnt02 .inner {width:100%; height:100%; background:rgba(255,255,255,0.1); text-align:center; padding:60px 20px; border-radius:20px;}
.ess .cnt02 .inner .icon {margin-bottom:20px;}
.ess .cnt02 .inner p {font-size:20px; line-height:1.3em; color:#fff;}
/* sub 03 02 */
.ev .real-cont {padding-bottom:0;}
.ev .cnt01 .col {display:flex; flex-wrap:wrap; margin:0 -32px -64px;}
.ev .cnt01 .col .row {width:50%; padding:0 32px; margin-bottom:64px;}
.ev .cnt01 .col .row .inner img {border-radius:20px; box-shadow:0 0 15px 0 rgba(24,24,24,0.2);}
.ev .cnt02 {background-image:url('../img/sub/ev02bg.jpg');}
.ev .cnt02 .col {display:flex; flex-wrap:wrap; margin:0 -21px -42px;}
.ev .cnt02 .col .row {width:25%; padding:0 21px; margin-bottom:42px;}
.ev .cnt02 .inner {height:280px; background:rgba(255,255,255,0.1); border-radius:20px; text-align:center; padding:20px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.ev .cnt02 .inner p {font-size:20px; line-height:1.3em; color:#fff; margin-top:20px;}
/* sub 03 03 */
.control .cnt {margin-bottom:120px;}
.control .col {display:flex; margin:0 -23px;}
.control .col .row {width:25%; padding:0 23px;;}
.control .inner {text-align:center;}
.control .inner img {border-radius:20px; overflow:hidden; box-shadow:0 0 15px 0 rgba(24,24,24,0.2);}
.control .inner p {font-size:20px; line-height:1.8em; color:#666; display:inline-block; position:relative; padding-left:28px; margin-top:24px;}
.control .inner p:before {content:''; width:12px; height:12px; background:url('../img/sub/results-icon.jpg') no-repeat; background-size:cover; position:absolute; top:12px; left:0;}
/* sub 03 04 */
.stand .tit {text-align:center; background:#0098ff; border-radius:14px; text-align:center;}
.stand .tit h4 {font-size:20px; color:#fff; line-height:1.5em; padding:15px 10px; margin-bottom:14px;}
.stand .col {display:flex;}
.stand .col .row {width:33.3333333%; position:relative; padding:0 25px; text-align:center;}
.stand .col .row:after {content:''; width:1px; height:calc(100% - 14px); top:0; right:0; background:#ddd; position:absolute;}
.stand .col .row:last-child:after {display:none;}
.stand .inner .box {padding:50px 20px; border-bottom:1px dashed #ddd;}
.stand .inner .box p {font-size:20px; line-height:1.8em; color:#333; margin-top:40px; display:inline-block; font-weight:500;}
.stand .inner .box p.dot {color:#666; position:relative; padding-left:28px; font-weight:400;}
.stand .inner .box p.dot:before {content:''; width:12px; height:12px; background:url('../img/sub/results-icon.jpg') no-repeat; background-size:cover; position:absolute; top:12px; left:0;}
