@charset "UTF-8";
/* CSS Document */

@font-face {
  font-family:'Open Sans';
  font-style:bold;
  font-weight:600;
}

*{margin: 0;padding: 0; outline:none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-appearance: none; /*font-feature-settings : "palt";*/}
html {font-size:62.5%;}
body {font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif; font-size:16px;/* letter-spacing: 0.02em;*/ line-height:1.8; background:#FFF; color:#333c43; text-align: center; scrolling: yes; position: relative; -webkit-text-size-adjust: 100%; max-width: 100vw; overflow-x: hidden;}
*.en{font-family: "Open Sans", Helvetica, Arial, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif!important; font-weight: 600!important;}

body.fixed {position: fixed; width: 100%; height: 100%;}

a{color:#333c43; text-decoration:none; overflow:hidden; outline:none; cursor: pointer;}
a[href^="tel"]{color:#3b444b!important; text-decoration:none!important;}
a:hover{text-decoration:none; color: #333c43;}

p{font-size: 1.5rem; margin: 0 0 30px;}
img{border:none; vertical-align: top;}
table{border-collapse:collapse;}
ul{list-style-type:none;}
button, input, select, textarea{border: none; border-radius: 0; -webkit-appearance: none;}
button{ cursor: pointer;}
select{-moz-appearance: none; text-indent: 0.01px; text-overflow: '';}
select::-ms-expand {display: none;}

h1, h2, h3{font-weight:bold;}


/* ::::::::::::::::::::::::::::::::: COMMON ::::::::::::::::::::::::::::::::: */

div.wrap{overflow: hidden; width: 100%;}
h2{font-size: 2.8rem; margin: 0 0 40px; line-height: 1.5;}
h3{font-size: 1.8rem; margin: 0 0 30px; line-height: 1.5;}
p.commonBtn{text-align: center; font-size: 1.6rem!important; font-weight: bold;}
p.commonBtn.en{font-size: 1.7rem!important;}
p.commonBtn a{line-height: 60px; width: 300px; display: block; margin: 0 auto; color: #FFF!important; text-decoration: none!important; background: #3b444b url(/assets/img/common/vector_m_white.svg) no-repeat right 15px top 23px; background-size: 30px 15px; transition: opacity 0.3s ease, background-position 0.3s ease; box-sizing: border-box;}
p.commonBtn.grayGray a{color: #FFF!important; border: 2px solid #3b444b; background: #3b444b url(/assets/img/common/vector_m_white.svg) no-repeat right 15px top 23px; background-size: 30px 15px;}
p.commonBtn.grayWhite a{color: #3b444b!important; border: 2px solid #3b444b; background: #FFF url(/assets/img/common/vector_m_black.svg) no-repeat right 15px top 23px; background-size: 30px 15px;}
p.commonBtn.blueBlue a{color: #FFF!important; border: 2px solid #2db0b9; background: #2db0b9 url(/assets/img/common/vector_m_white.svg) no-repeat right 15px top 23px; background-size: 30px 15px;}
p.commonBtn.blueWhite a{color: #2db0b9!important; border: 2px solid #2db0b9; background: #FFF url(/assets/img/common/vector_m_blue.svg) no-repeat right 15px top 23px; background-size: 30px 15px;}
p.commonBtn.whiteGray a{color: #FFF!important; border: 2px solid #FFF; background: url(/assets/img/common/vector_m_white.svg) no-repeat right 15px top 23px; background-size: 30px 15px;}

p.commonBtn a:hover{background-position: right 5px top 23px;}

/* HEADER */
header.mainHeader{position: fixed; height: 60px; width: 100%; z-index: 500; left: 0; top: 0; background: #FFF; box-shadow:0px 0px 10px 0px rgba(0,0,0,0.05);}
header.mainHeader h1,
header.mainHeader p.siteTitle{position: absolute; width: 100px; height: 34px; left: 30px; top: 28px;}
header.mainHeader p{margin: 0;}
header.mainHeader a,
header.mainHeader span{color: #333c43;}
header.mainHeader p.contact{position: absolute; width: 140px; height: 100%; right: 0; top: 0;}
header.mainHeader p.contact a{display: flex; height: 100%; flex-wrap: wrap; align-content: center; background: #5ac1c8; font-size: 1.8rem; line-height: 1.6;}
header.mainHeader p.contact a span{width: 100%; color: #FFF;}
header.mainHeader p.contact a span.ja{font-size: 1.1rem; padding: 0 0 5px;}
header.mainHeader p.optima{position: absolute; width: 260px; height: 100%; right: 140px; top: 0;}
header.mainHeader p.optima::before{border-left: 1px solid #e4e4e4; position: absolute; content: ""; height: calc(100% - 40px); left: 0; top: 20px; z-index: 2;}
header.mainHeader p.optima a{display: flex; height: 100%; position: relative; justify-content: center; align-items: center; transition: background 0.2s ease; position: relative; z-index: 3;}
header.mainHeader p.optima a span.en{padding: 0 12px 0 0; position: relative;}
header.mainHeader p.optima a span.en img{transition: opacity 0.2s ease;}
header.mainHeader p.optima a span.en img.sp{display: block!important; position: absolute; left: 0; top: 0; opacity: 0;}
header.mainHeader p.optima a span.ja{font-size: 1.1rem; padding: 0 0 3px; transition: all 0.2s ease;}
header.mainHeader p.optima a:hover{opacity: 1; background: #6dc8ce;}
header.mainHeader p.optima a:hover span{color: #FFF;}
header.mainHeader p.optima a:hover span.en img.pc{opacity: 0;}
header.mainHeader p.optima a:hover span.en img.sp{opacity: 1;}
header.mainHeader p.optima.active a span{color: #2db0b9;}
header.mainHeader p.optima.active a span.ja{border-bottom: 1px solid #2db0b9; font-weight: bold;}
header.mainHeader p.optima.active a:hover span{color: #FFF;}
header.mainHeader p.optima.active a:hover span.ja{border-color: #FFF;}

header.mainHeader ul.mainList{position: absolute; width: 600px; height: 100%; display: flex; justify-content: space-between; align-items: center; height: 100%; left: calc((50% - 200px) + 65px - 300px); top: 0; z-index: 10;}
header.mainHeader ul.mainList li{height: 100%;}
header.mainHeader ul.mainList li a,
header.mainHeader ul.mainList li div.hasChild{display: flex; height: 100%; flex-wrap: wrap; align-content: center; position: relative; z-index: 510; cursor: pointer;}
header.mainHeader ul.mainList li div.hasChild::after{transition: opacity 0.3s ease; width: 0; height: 0; border-style: solid; border-width: 0 5px 5px 5px; border-color: transparent transparent #ffffff transparent; position: absolute; left: calc(50% - 5px); bottom: -20px; content: ""; opacity: 0;}
header.mainHeader ul.mainList li a span,
header.mainHeader ul.mainList li div.hasChild span{width: 100%;}
header.mainHeader ul.mainList li a span.en,
header.mainHeader ul.mainList li div.hasChild span.en{font-size: 1.6rem; line-height: 1.6;}
header.mainHeader ul.mainList li a span.ja,
header.mainHeader ul.mainList li div.hasChild span.ja{font-size: 1.1rem; padding: 0;}
header.mainHeader ul.mainList li div.hasChild.open{opacity: 1!important;}
header.mainHeader ul.mainList .hoverAlpha:hover span,
header.mainHeader ul.mainList li div.hasChild.open span{color: #aaaaaa; opacity: 1;}
header.mainHeader ul.mainList li div.hasChild.open::after{opacity: 1;}

header.mainHeader ul.mainList li.active a.parent,
header.mainHeader ul.mainList li.active a.parent span,
header.mainHeader ul.mainList li.active div.hasChild span{color: #2db0b9;}

header.mainHeader ul.mainList li div.childWrap{position: fixed; width: 100%; height: calc(100% - 90px); background: rgba(45,176,185,0.9); left: 0; top: 90px; z-index: 499; visibility: hidden; overflow: hidden; opacity: 0; transition: all 0.3s ease;}
header.mainHeader ul.mainList li div.childWrap span{position: absolute; width: 100%; height: 100%; left: 0; top: 0;}
header.mainHeader ul.mainList li div.mainTable{position: absolute; left: 40px; top: 20px; width: calc(100% - 200px); background: #FFF; box-shadow:0px 0px 10px 0px rgba(0,0,0,0.1); _zoom: 1; overflow: hidden; padding: 50px 60px 40px; text-align: left;}
header.mainHeader ul.mainList li div.mainTable div.left{float: left; width: 200px;}
header.mainHeader ul.mainList li div.mainTable div.right{float: right; width: calc(100% - 210px);}
header.mainHeader ul.mainList li div.mainTable p.title.en{font-size: 3.0rem; line-height: 1.4;}
header.mainHeader ul.mainList li div.mainTable p.title.ja{font-size: 1.4rem; font-weight: bold;}
header.mainHeader ul.mainList li div.mainTable ul.childList{font-size: 1.4rem; border-bottom: 1px solid #EEE; padding: 20px 0 15px;}
header.mainHeader ul.mainList li div.mainTable ul.childList:first-child{padding-top: 10px;}
header.mainHeader ul.mainList li div.mainTable ul.childList:last-child{border: none;}
header.mainHeader ul.mainList li div.mainTable ul.childList li{display: inline-block; padding: 0 45px 5px 0;}
header.mainHeader ul.mainList li div.mainTable ul.childList li a{padding: 0 0 0 25px; background: url(/assets/img/common/vector_s_black.svg) no-repeat left 7px; background-size: 16px 8px; transition: background-position 0.2s ease; font-weight: bold;}
header.mainHeader ul.mainList li div.mainTable ul.childList li a:hover{background-position: 4px 7px;}

header.mainHeader ul.mainList li div.hasChild.open+div.childWrap{visibility: visible; opacity: 1;}

@media screen and (max-width: 1260px){
    header.mainHeader p.contact{width: 130px;}
    header.mainHeader p.optima{width: 250px; right: 130px;}
    header.mainHeader ul.mainList{width: 550px; left: calc((50% - 190px) + 65px - 275px);}
}

@media screen and (max-width: 1130px){
    header.mainHeader p.optima{width: 150px; right: 130px;}
    header.mainHeader p.optima a{flex-wrap: wrap; align-content: center;}
    header.mainHeader p.optima a span{}
    header.mainHeader p.optima a span.en{padding: 0;}
    header.mainHeader p.optima a span.ja{padding: 0 0 0 2px; margin: -3px 0 0;}
    header.mainHeader ul.mainList{width: 530px; left: calc((50% - 140px) + 65px - 265px);}
}

header.optimaFormHeader{position: fixed; height: 90px; width: calc(100% - 80px); padding: 0 40px; z-index: 500; left: 0; top: 0; background: #FFF; box-shadow:0px 0px 10px 0px rgba(0,0,0,0.05); display: flex; justify-content: space-between; align-items: center;}
header.optimaFormHeader h1{font-size: 1.5rem;}
header.optimaFormHeader p{margin: 0;}

/* MAIN CONTENT */
div.wrap{}
div.spacer{margin-top: -80px; padding-top: 80px;}
div.mainContent{background: #f1f2f3;}
div.mainContent.page{padding: 90px 0 120px;}
div.mainContent a{color: #2db0b9; text-decoration: underline;}
div.mainContent a:hover{color: #8ad3d8;}
div.mainContent h2{text-align: center;}
div.mainContent h2.withLine{text-align: left; color: #FFF!important; font-size: 2.0rem; padding: 15px 20px; margin: 0 0 35px; background: #3b444b;}
div.mainContent table{margin: 0 0 35px; width: 100%;}
div.mainContent table th,
div.mainContent table td{padding: 15px 20px; border: 1px solid #d2d4d6; text-align: left; vertical-align: top; font-size: 1.5rem;}
div.mainContent table th{font-weight: bold; background: #f1f2f3;}
div.mainContent ul,
div.mainContent ol{margin: 0 0 30px; font-size: 1.5rem; padding: 0 0 0 17px;}
div.mainContent ul li{position: relative;}
div.mainContent ul li::before{content: ""; position: absolute; width: 5px; height: 5px; display: block; border: 1px solid #333c43; border-radius: 50%; left: -17px; top: 10px;}
div.mainContent ul.linkTab{padding: 0; margin: 0 0 55px; text-align: center;}
div.mainContent ul.linkTab li{display: inline-block; margin: 0 0 0 13px; padding: 0 0 0 15px; position: relative;}
div.mainContent ul.linkTab li::before{width: 0; height: 15px; border: none; border-radius: 0; border-left: 1px solid #333c43; left: 0; top: 7px;}
div.mainContent ul.linkTab li:first-child{margin: 0; padding: 0;}
div.mainContent ul.linkTab li:first-child::before{display: none;}
div.mainContent ul.linkTab li a{color: #333c43;}
div.mainContent ul.linkTab li a:hover{color: #2db0b9;}
div.mainContent hr{margin: 50px 0 40px; border: none; border-top: 2px solid #ebeced;}
div.mainContent dl{_zoom: 1; overflow: hidden; margin: 0 0 30px; font-size: 1.5rem;}
div.mainContent dl dt{float: left; width: 30px;}
div.mainContent dl dd{padding: 0 0 0 30px;}
div.mainContent .alignLeft{text-align: left!important;}
div.mainContent .alignCenter{text-align: center!important;}
div.mainContent .alignRight{text-align: right!important;}

div.topWrap{padding: 120px 0 160px;}
div.topWrap.template{background: url(/assets/img/page/main_template_pc.jpg) no-repeat center center; background-size: cover;}
div.topWrap.news{background: url(/assets/img/page/main_news_pc.jpg) no-repeat center bottom; background-size: cover;}
div.topWrap.reruit{background: url(/assets/img/page/main_recruit_pc.jpg) no-repeat center center; background-size: cover;}
div.topWrap.contact{background: url(/assets/img/page/main_contact_pc.jpg) no-repeat center center; background-size: cover;}
div.topWrap.contactOptima{background: url(/assets/img/page/main_contact-optima_pc.jpg) no-repeat center center; background-size: cover;}
div.topWrap.company{background: url(/assets/img/page/main_company_pc.jpg) no-repeat center center; background-size: cover; padding: 200px 0 260px;}
div.topWrap.solutions{background: url(/assets/img/page/main_solutions_pc.jpg) no-repeat center center; background-size: cover; padding: 120px 0 150px;}
div.topWrap.caseStudy{background: url(/assets/img/page/main_case-study_pc.jpg) no-repeat center center; background-size: cover; padding: 120px 0 150px;}
div.topWrap h1{font-size: 3.4rem; line-height: 1.5; color: #FFF; padding: 0 20px;}
div.topWrap h1.en{font-size: 3.8rem;}
div.topWrap.nonImg{padding: 80px 0 100px;}
div.topWrap.nonImg h1{color: #333c43;}
div.topWrap.company h1{font-size: 4.0rem;}
div.topWrap.solutions p.lead,
div.topWrap.caseStudy p.lead{color: #FFF; padding: 35px 0;}
div.topWrap.solutions ul{width: 990px; display: flex; margin: 0 auto; padding: 0; justify-content: space-between;}
div.topWrap.solutions ul li{width: 230px;}
div.topWrap.solutions ul li::before{display: none;}
div.topWrap.solutions ul li a{display: block; background: #FFF; color: #2db0b9; text-decoration: none; padding: 19px 0 34px; position: relative;}
div.topWrap.solutions ul li a::after{content: ""; width: 20px; height: 10px; position: absolute; left: 0; right: 0; bottom: 15px; margin: 0 auto; background: url(/assets/img/page/vector_solutions.png) no-repeat center center; background-size: 20px 10px; transition: all 0.3s ease;}
div.topWrap.solutions ul li a:hover::after{transform: translateY(5px);}
div.topWrap.solutions ul li span{display: block; font-size: 1.3rem;}
div.topWrap.solutions ul li span.en{font-size: 2.0rem; line-height: 1.2; font-weight: bold;}

div.topWrap.caseStudy ul{width: 990px; display: flex; margin: 0 auto; padding: 0; justify-content: space-between;}
div.topWrap.caseStudy ul li{width: 316px; display: flex; align-items:stretch;}
div.topWrap.caseStudy ul li::before{display: none;}
div.topWrap.caseStudy ul li a{display: flex; justify-content: center; align-items: center; width: 100%; background: #FFF; color: #2db0b9; text-decoration: none; padding: 15px 0 32px; position: relative;}
div.topWrap.caseStudy ul li a::after{content: ""; width: 20px; height: 10px; position: absolute; left: 0; right: 0; bottom: 15px; margin: 0 auto; background: url(/assets/img/page/vector_solutions.png) no-repeat center center; background-size: 20px 10px; transition: all 0.3s ease;}
div.topWrap.caseStudy ul li a:hover::after{transform: translateY(5px);}
div.topWrap.caseStudy ul li span{display: block; font-size: 1.6rem; font-weight: bold;}

div.pageMainWrap{width: 990px; background: #FFF; margin: -40px auto 0;}
div.pageMainWrap div.inner{padding: 70px 95px 50px; text-align: left;}
div.pageMainWrap img{max-width: 100%; height: auto;}
div.pageMainWrap p.unavailable{padding: 40px 20px; margin: 0 0 40px; border: 1px solid #e3e4e5; text-align: center;}

/* SOLUTIONS */
div.pageMainWrap.solutions{margin-bottom: 100px;}
div.pageMainWrap.solutions h2{text-align: left; color: #2db0b9; margin: 0 0 45px;}
div.pageMainWrap.solutions h2 span{display: block; font-size: 3.6rem;}
div.pageMainWrap.solutions h2 span.ja{font-size: 1.5rem;}
div.pageMainWrap.solutions h3{text-align: left; margin: 0 0 45px; padding: 0 0 0 20px; border-left: 5px solid #2db0b9;}
div.pageMainWrap.solutions h3 span{display: block; font-size: 2.8rem; line-height: 1.0; margin: 0 0 5px;}
div.pageMainWrap.solutions h3 span.ja{font-size: 1.5rem; line-height: 1.5;}
div.pageMainWrap.solutions h3 small{font-size: 1.3rem; font-weight: normal;}
div.pageMainWrap.solutions h4{font-size: 1.8rem; margin: 0 0 5px;}
div.pageMainWrap.solutions h4#example{margin-top: -90px; padding-top: 90px;}
div.pageMainWrap.solutions p small{font-size: 1.3rem;}
div.pageMainWrap.solutions p.note{font-size: 1.3rem; color: #6d747a;}
div.pageMainWrap.solutions p.img{opacity: 0; transform: scale(0.4) rotateZ(-70deg); transition: all 0.5s ease;}
div.pageMainWrap.solutions p.img2{transform: scale(0.4) rotateZ(0);}
div.pageMainWrap.solutions p.img.show{opacity: 1; transform: scale(1) rotateZ(0);}
div.pageMainWrap.solutions div.spacerBtn1{padding: 0 0 20px;}
div.pageMainWrap.solutions div.spacerBtn2{padding: 10px 0 0;}
div.pageMainWrap.solutions div.featureWrap{display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 15px;}
div.pageMainWrap.solutions div.featureWrap div.block{width: 365px; margin: 0 0 35px; display: flex; justify-content: space-between;} 
div.pageMainWrap.solutions div.featureWrap div.block:nth-child(even){border-left: 5px solid #f1f2f3; padding: 0 0 0 35px;}
div.pageMainWrap.solutions div.featureWrap div.right{width: 270px;}
div.pageMainWrap.solutions div.featureWrap p{margin: 0; font-size: 1.4rem; line-height: 1.5;}
div.pageMainWrap.solutions div.featureWrap p.img{width: 70px;}
div.pageMainWrap.solutions div.featureWrap p.title{font-size: 1.6rem; font-weight: bold; margin: 0 0 5px;}
div.pageMainWrap.solutions a#akuru{margin: -80px 0 0; padding: 80px 0 0; display: block;}
div.pageMainWrap.solutions div.borderBlock{border: 3px solid #f1f2f3; padding: 30px 45px 10px; margin: 0 0 35px;}
div.pageMainWrap.solutions div.borderBlock.asuka{margin: 0 0 50px;}
div.pageMainWrap.solutions div.borderBlock h4{color: #2dafb8; padding: 0 0 20px;}
div.pageMainWrap.solutions div.borderBlock p.asuka{float: right; padding: 0 0 0 40px;}
div.pageMainWrap.solutions div.drsMap{display: flex; justify-content: space-between;}
div.pageMainWrap.solutions div.drsMap p{width: 280px; padding: 25px 0 0;}
div.pageMainWrap.solutions div.drsMap p.pc{width: 400px; padding: 0;}
div.pageMainWrap.solutions div.consulWrap{}
div.pageMainWrap.solutions div.consulWrap div.block{border-bottom: 2px solid #ebeced; margin: 0 0 30px; display: flex; justify-content: space-between;}
div.pageMainWrap.solutions div.consulWrap div.block:last-child{margin: 0 0 20px; border: none;}
div.pageMainWrap.solutions div.consulWrap h3{border: none; font-size: 2.2rem; padding: 10px 0 0; margin: 0 0 5px;}
div.pageMainWrap.solutions div.consulWrap p.img{width: 70px;}
div.pageMainWrap.solutions div.consulWrap p.lead{font-weight: bold; margin: 0 0 15px;}
div.pageMainWrap.solutions div.consulWrap ul{font-size: 1.4rem; margin: 0 0 40px;}
div.pageMainWrap.solutions div.consulWrap div.right{width: 700px;}
div.pageMainWrap.solutions ul.mediaList{padding: 0; display: flex; justify-content: flex-start; flex-wrap: wrap;}
div.pageMainWrap.solutions ul.mediaList li{width: 160px; margin: 0 20px 5px 0;}
div.pageMainWrap.solutions ul.mediaList li:nth-child(4n){margin-right: 0;}
div.pageMainWrap.solutions ul.mediaList li::before{display: none;}
div.pageMainWrap.solutions ul.mediaList li.new::after{content: ""; width: 50px; height: 25px; position: absolute; right: -15px; top: -5px; background: url(/assets/img/page/s_feature_new.png) no-repeat center center; background-size: 50px 25px;}
div.pageMainWrap.solutions ul.mediaList li img{max-height: 70px;}
div.pageMainWrap.solutions ul.logoList{padding: 0; margin: 0 0 40px; display: flex; flex-wrap: wrap;}
div.pageMainWrap.solutions ul.logoList li{width: 160px;}
div.pageMainWrap.solutions ul.logoList li.first{width: 600px;}
div.pageMainWrap.solutions ul.logoList li:before{display: none;}
div.pageMainWrap.solutions.booking{background: #FFF url(/assets/img/page/s_bg_1.png) no-repeat right top; background-size: 500px 280px;}
div.pageMainWrap.solutions.group{background: #FFF url(/assets/img/page/s_bg_4.png) no-repeat right top; background-size: 500px 280px;}
div.pageMainWrap.solutions.direct{background: #FFF url(/assets/img/page/s_bg_2.png) no-repeat right top; background-size: 500px 280px;}
div.pageMainWrap.solutions.consulting{margin-bottom: 0; background: #FFF url(/assets/img/page/s_bg_3.png) no-repeat right top; background-size: 500px 280px;}

/* CASE STUDY */
div.pageMainWrap.solutions div.caseStudyIterview{display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 0 0 20px;}
div.pageMainWrap.solutions div.caseStudyIterview div.block{}
div.pageMainWrap.solutions div.caseStudyIterview img{width: 100%; height: auto;}
div.pageMainWrap.solutions div.caseStudyIterview p.thumb{margin: 0;}
div.pageMainWrap.solutions div.caseStudyIterview p.service{font-size: 1.3rem; color: #2dafb8; margin: 20px 0 5px;}
div.pageMainWrap.solutions div.caseStudyIterview p.spec{font-size: 1.4rem; color: #6d747a; margin: 0 0 15px;}
div.pageMainWrap.solutions div.caseStudyIterview h4{font-size: 1.6rem;}
div.pageMainWrap.solutions div.caseStudyIterview ul{margin: 0 0 40px;}
div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block{width: 100%; display: flex; justify-content: space-between; padding: 0 0 40px;}
div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block p.thumb{width: 380px;}
div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block p.service{margin-top: 0;}
div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block div.inside{width: 380px;}
div.pageMainWrap.solutions div.caseStudyIterview.b2 div.block{width: 380px; padding: 0 40px 0 0;}
div.pageMainWrap.solutions div.caseStudyIterview.b2 div.block:nth-child(even){padding: 0;}
div.pageMainWrap.solutions div.caseStudyIterview.b3 div.block{width: 240px; padding: 0 40px 0 0;}
div.pageMainWrap.solutions div.caseStudyIterview.b3 div.block:nth-child(3n){padding: 0;}
div.pageMainWrap.caseStudyBottom{}
div.pageMainWrap.caseStudyBottom div.block{display: flex; justify-content: space-between; align-items: center; padding: 70px 70px 40px;}
div.pageMainWrap.caseStudyBottom div.block div.left{width: 540px; text-align: left;}
div.pageMainWrap.caseStudyBottom div.block div.left p{font-size: 2.0rem; font-weight: bold;}
div.pageMainWrap.caseStudyBottom div.block div.right{width: 300px;}

/* OPTIMA */
div.optimaMenuBar{background: #4bbac1; position: fixed; width: 100%; height: 65px; left: 0; top: 90px; z-index: 499;}
div.optimaMenuBar ul{font-size: 1.5rem; font-weight: bold; padding: 20px 0; display: inline-block; margin: 0 -2px;}
div.optimaMenuBar ul li{display: inline-block; padding: 0 15px; line-height: 25px; vertical-align: top;}
div.optimaMenuBar ul li a{line-height: 25px; color: #FFF; display: block;}
div.optimaMenuBar ul li a.on{border-bottom: 1px solid #FFF;}

div.pageMainWrap.optima{opacity: 0; transform: translateY(0px); transition: all 0.5s ease;}

div.mainContent.optima{padding-top: 155px;}
div.mainContent.optima div.topWrap{background: #2dafb8 url(/assets/img/page/optima/shadow.png) repeat-x center top; background-size: 100px 160px; padding: 0;}
div.mainContent.optima div.topWrap div.inner{width: 80%; min-width: 990px; max-width: 1060px; height: 480px; position: relative; margin: 0 auto;}
div.mainContent.optima div.topWrap div.inner h1{position: absolute; left: 0; top: 185px;}
div.mainContent.optima div.topWrap div.mockWrap{position: absolute; right: 0; top: 80px; width: 585px; height: 305px;}
div.mainContent.optima div.topWrap div.mockWrap div.inside{overflow: hidden;}
div.mainContent.optima div.topWrap div.mockWrap div.pcBlock{position: absolute; width: 397px; height: 248px; padding: 18px 64px 39px; overflow: hidden; left: 0; top: 0;}
div.mainContent.optima div.topWrap div.mockWrap div.pcBlock::after{background: url(/assets/img/page/optima/mock_pc2.png) no-repeat center top; background-size: 525px 305px; position: absolute; left: 0; top: 0; width: 525px; height: 305px; content: "";}
div.mainContent.optima div.topWrap div.mockWrap div.spBlock{position: absolute; width: 117px; height: 238px; padding: 18px 24px 4px; overflow: hidden; right: 0; bottom: 3px;}
div.mainContent.optima div.topWrap div.mockWrap div.spBlock::after{background: url(/assets/img/page/optima/mock_sp2.png) no-repeat center top; background-size: 165px 260px; position: absolute; left: 0; top: 0; width: 165px; height: 260px; content: "";}
div.mainContent.optima div.topWrap div.mockWrap div.spBlock img{border-radius: 0 0 10px 10px;}
div.mainContent.optima div.topWrap div.mockWrap ul.imgList{padding: 0; margin: 0; width: 1000%; _zoom: 1; overflow: hidden;}
div.mainContent.optima div.topWrap div.mockWrap ul.imgList li{width: 10%; float: left;}
div.mainContent.optima div.topWrap div.mockWrap ul.imgList li::before{display: none;}

div.optimaBlock{padding: 70px 0 0;}
div.optimaBlock div.inner{width: 990px; margin: -70px auto 0; padding: 70px 0 60px; text-align: left; position: relative;}
div.optimaBlock p.note{font-size: 1.3rem; color: #6d747a;}

div.optimaBlock div.introWrap{width: 990px; background: #FFF; border-radius: 6px; margin: -100px auto 70px; padding: 95px 0 80px; position: relative;}
div.optimaBlock div.introWrap h2{font-size: 2.4rem; margin: 0 0 35px;}
div.optimaBlock div.introWrap h3{font-size: 2.2rem; margin: 0 0 35px; color: #2dafb8;}
div.optimaBlock div.introWrap p.link{width: 170px; height: 170px; position: absolute; left: -30px; top: -30px;}
div.optimaBlock div.introWrap p.lead{font-size: 1.5rem; margin: 0 0 50px;}
div.optimaBlock div.introWrap div.reason{_zoom: 1; overflow: hidden; padding: 0 85px;}
div.optimaBlock div.introWrap div.reason div{width: 100%; border: 1px solid #eaeaea; display: flex; align-items: center; margin: 0 0 20px; padding: 30px 0;}
div.optimaBlock div.introWrap div.reason div h4{color: #15a5af; font-size: 2.4rem; width: 145px; padding: 0 0 0 30px; margin: 0 35px 0 0; position: relative;}
div.optimaBlock div.introWrap div.reason div h4::after{content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; border-right: 1px solid #2dafb8;}

div.optimaBlock div.introWrap div.reason div p{text-align: left; font-size: 1.5rem; margin: 0;}

div.optimaBlock div.functionWrap1{width: 700px; margin: 0 auto 60px;}
div.optimaBlock div.functionWrap1 div.section{display: flex; justify-content: space-between; align-items: center; padding: 30px 0;}
div.optimaBlock div.functionWrap1 div.section:first-child{flex-direction: row-reverse;}
div.optimaBlock div.functionWrap1 div.titleBlock{width: 260px;}
div.optimaBlock div.functionWrap1 div.titleBlock.t1{padding: 0 30px 0 0;}
div.optimaBlock div.functionWrap1 div.titleBlock.t2{padding: 0 0 0 45px;}
div.optimaBlock div.functionWrap1 div.phoneBlock{width: 330px; height: 520px; position: relative;}
div.optimaBlock div.functionWrap1 div.base{width: 230px; height: 475px; position: absolute; padding: 35px 50px 10px; left: 0; top: 0; overflow: hidden;}
div.optimaBlock div.functionWrap1 div.base::after{background: url(/assets/img/page/optima/mock_sp1.png) no-repeat center top; background-size: 330px 520px; width: 330px; height: 520px; content: ""; position: absolute; left: 0; top: 0;}
div.optimaBlock div.functionWrap1 div.inside{width: 230px; height: 475px; overflow: hidden;}
div.optimaBlock div.functionWrap1 ul.imgList{padding: 0; width: 1000%; _zoom: 1; overflow: hidden;}
div.optimaBlock div.functionWrap1 ul.imgList li{padding: 0; width: 10%; float: left;}
div.optimaBlock div.functionWrap1 ul.imgList li::before{display: none;}
div.optimaBlock div.functionWrap1 h3{font-size: 4.2rem; line-height: 1.5; letter-spacing: -0.02em; margin: 0 0 25px;}
div.optimaBlock div.functionWrap1 h3 span{color: #2dafb8;}
div.optimaBlock div.functionWrap1 p{font-size: 1.4rem;}
div.optimaBlock div.functionWrap1 p.cap{line-height: 60px; font-size: 1.5rem; font-weight: bold; margin: 0 0 10px;}
div.optimaBlock div.functionWrap1 p.cap.c1{background: url(/assets/img/page/optima/f_icon1.png) no-repeat left top; background-size: 40px 55px; padding: 0 0 0 55px;}
div.optimaBlock div.functionWrap1 p.cap.c2{background: url(/assets/img/page/optima/f_icon2.png) no-repeat left top; background-size: 55px 55px; padding: 0 0 0 70px;}

div.optimaBlock div.functionWrap2{}
div.optimaBlock div.functionWrap2 ul{padding: 0;}
div.optimaBlock div.functionWrap2 ul li::before{display: none;}
div.optimaBlock div.functionWrap2 ul.functionTabList{text-align: center;}
div.optimaBlock div.functionWrap2 ul.functionTabList li{cursor: pointer; padding: 0 14px; width: 130px; display: inline-block; position: relative; transition: all 0.3s ease; opacity: 0.3;}
div.optimaBlock div.functionWrap2 ul.functionTabList li:hover{opacity: 0.2; transform: translateY(-5px);}
div.optimaBlock div.functionWrap2 ul.functionTabList li p.img{margin: 0 0 15px;}
div.optimaBlock div.functionWrap2 ul.functionTabList li p.title{}
div.optimaBlock div.functionWrap2 ul.functionTabList li.on{opacity: 1;}
div.optimaBlock div.functionWrap2 ul.functionTabList li.on::after{background: url(/assets/img/page/optima/vector_func.png) no-repeat center bottom; background-size: 30px 15px; position: absolute; width: 100%; height: 15px; left: 0; bottom: 0; content: "";}
div.optimaBlock div.functionWrap2 ul.functionTabList li.on:hover{opacity: 1; transform: translateY(0);}
div.optimaBlock div.functionWrap2 ul.functionTabList li.on p.title{font-weight: bold;}
div.optimaBlock div.functionWrap2 div.functionDesWrap{text-align: center; padding: 0 0 30px;}
div.optimaBlock div.functionWrap2 div.functionDesWrap div.block{display: none;}
div.optimaBlock div.functionWrap2 div.functionDesWrap div.block.on{display: block;}
div.optimaBlock div.functionWrap2 div.functionDesWrap div.block p{font-size: 1.4rem;}
div.optimaBlock div.functionWrap2 div.functionSSWrap{position: relative; overflow: hidden;}
div.optimaBlock div.functionWrap2 div.inside{width: 576px; height: 360px; margin: 0 auto 50px; padding: 30px 112px 50px; overflow: hidden; position: relative;}
div.optimaBlock div.functionWrap2 div.inside::after{background: url(/assets/img/page/optima/mock_pc_base.png) no-repeat center center; background-size: 800px 440px; width: 800px; height: 440px; position: absolute; left: 0; top: 0; content: "";}
div.optimaBlock div.functionWrap2 div.ssBelt{width: 1000%; _zoom: 1; overflow: hidden;}
div.optimaBlock div.functionWrap2 div.ssBelt div.block{width: 10%; float: left;}
div.optimaBlock div.functionWrap2 div.ssBelt p.img{position: relative; width: 576px; height: 360px; margin: 0;}
div.optimaBlock div.functionWrap2 p.btn{width: 20px; height: 50px; margin: 0; position: absolute; top: 185px; cursor: pointer;}
div.optimaBlock div.functionWrap2 p.btnFuncLeft{left: 0;}
div.optimaBlock div.functionWrap2 p.btnFuncRight{right: 0;}
div.optimaBlock div.functionWrap2 ul.pointList{margin: 0 0 30px; text-align: center;}
div.optimaBlock div.functionWrap2 ul.pointList li{display: inline-block; margin: 0 4px; width: 8px; height: 8px; cursor: pointer; border-radius: 50%; background: #DDD;}
div.optimaBlock div.functionWrap2 ul.pointList li.on{background: #1eb3ba;}

div.optimaBlock p.example{line-height: 50px; text-align: center; background: #FFF; border-radius: 25px; margin: 0 0 45px; font-size: 1.4rem;}

div.optimaBlock div.specWrap{margin: 0 0 40px;}
div.optimaBlock div.specWrap div.line{display: flex; padding: 0 0 1px; align-items: stretch;}
div.optimaBlock div.specWrap div.line.first{padding: 0 0 0 360px; width: 630px; display: flex; height: 210px; background: #f1f2f3; overflow: hidden; transition: all 0.3s ease;}
div.optimaBlock div.specWrap div.line.first div.block{width: 210px; text-align: center; position: relative; margin: 0;}
div.optimaBlock div.specWrap div.line.first div.block h3,
div.optimaBlock div.specWrap div.line.first div.block p,
div.optimaBlock div.specWrap div.line.first div.block a{color: #FFF; margin: 0;}
div.optimaBlock div.specWrap div.line.first div.block h3{font-size: 2.5rem; margin: 20px 0 7px;}
div.optimaBlock div.specWrap div.line.first div.block p.lead{font-size: 1.4rem; margin: 0 0 20px;}
div.optimaBlock div.specWrap div.line.first div.block p.link{font-size: 1.4rem; font-weight: bold; margin: 0 0 30px;}
div.optimaBlock div.specWrap div.line.first div.block p.link a{display: block; line-height: 40px; width: 160px; margin: 0 auto; border: 1px solid #FFF; text-decoration: none;}
div.optimaBlock div.specWrap div.line.first div.block:nth-child(1){background: #4abad3;}
div.optimaBlock div.specWrap div.line.first div.block:nth-child(2){background: #0b5e8c;}
div.optimaBlock div.specWrap div.line.first div.block:nth-child(2)::after{width: 60px; height: 60px; position: absolute; content: ""; background: url(/assets/img/page/optima/spec_recommend.png) no-repeat center center; background-size: 60px 60px; right: 0; top: 0; z-index: 10;}
div.optimaBlock div.specWrap div.line.first div.block:nth-child(3){background: #13102d;}
div.optimaBlock div.specWrap div.line.last{padding: 0 0 0 360px; width: 630px; display: flex;}
div.optimaBlock div.specWrap div.line.last div.block{width: 210px; text-align: center; position: relative; margin: 0;}
div.optimaBlock div.specWrap div.line.last div.block a{display: block; line-height: 55px; color: #FFF; font-weight: bold; background: #4abad3; text-decoration: none;}
div.optimaBlock div.specWrap div.line.last div.block.plus a{background: #0b5e8c;}
div.optimaBlock div.specWrap div.line.last div.block.enterprise a{background: #13102d;}

div.optimaBlock div.specWrap div.specCapWrap{height: 210px;}
div.optimaBlock div.specWrap div.specCapWrap.on{}
div.optimaBlock div.specWrap div.specCapWrap.on div.line.first{position: fixed; left: 0; top: 155px; right: 0; margin: 0 auto; z-index: 100; height: 130px;}
div.optimaBlock div.specWrap div.specCapWrap.on.out div.line.first{top: 0px;}

div.optimaBlock div.specWrap div.titleBlock{width: 359px; border-right: 1px solid #f0f1f2; background: #FFF;}
div.optimaBlock div.specWrap div.titleBlock h4{padding: 20px 0 10px 50px; font-size: 1.6rem; position: relative;}
div.optimaBlock div.specWrap div.titleBlock h4::before{width: 18px; height: 18px; position: absolute; left: 20px; top: 25px; background: url(/assets/img/page/optima/check.png) no-repeat center center; background-size: 18px 18px; content: ""; opacity: 0; transform: scale(0.1); transition: all 0.5s ease;}
div.optimaBlock div.specWrap div.titleBlock h4.show::before{opacity: 1; transform: scale(1);}

div.optimaBlock div.specWrap div.titleBlock p{font-size: 1.3rem; padding: 0 20px 25px 25px; margin: 0;}
div.optimaBlock div.specWrap ul{width: 630px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: space-between; position: relative;}
div.optimaBlock div.specWrap ul li{width: 210px; height: 100%; text-align: center; font-size: 2.0rem; position: relative; display: flex; align-items: center; justify-content: center; background: #FFF;}
div.optimaBlock div.specWrap ul li::before{display: none;}
div.optimaBlock div.specWrap ul li:nth-child(1){color: #4abad3;}
div.optimaBlock div.specWrap ul li:nth-child(2){color: #0b5e8c; background: #f8fcff; margin: 0 1px; width: 208px;}
div.optimaBlock div.specWrap ul li:nth-child(3){color: #13102d;}

div.optimaBlock div.specWrap div.line:last-child ul::before{height: 100%; border-bottom: 4px solid #0b5e8c; border-radius: 0 0 6px 6px;}
div.optimaBlock div.specWrap div.line:last-child ul::after{display: none;}

div.optimaBlock ul.logoList{width: 800px; padding: 0; margin: 0 auto 40px; display: flex; flex-wrap: wrap;}
div.optimaBlock ul.logoList li{width: 200px;}
div.optimaBlock ul.logoList li:before{display: none;}

div.optimaBlock ul.simTabList{text-align: center; display: flex; justify-content: center; padding: 0;}
div.optimaBlock ul.simTabList li{margin: 0 25px 5px; padding: 0 0 20px; cursor: pointer; opacity: 0.3; transition: 0.3s all ease; position: relative;}
div.optimaBlock ul.simTabList li:hover{opacity: 0.8; transform: translateY(-5px);}
div.optimaBlock ul.simTabList li::before{display: none;}
div.optimaBlock ul.simTabList li p{color: #FFF; margin: 0 0 5px;}
div.optimaBlock ul.simTabList li.on{opacity: 1;}
div.optimaBlock ul.simTabList li.on p{font-weight: bold;}
div.optimaBlock ul.simTabList li.on:hover{opacity: 1; transform: translateY(0);}
div.optimaBlock ul.simTabList li.on::after{background: url(/assets/img/page/optima/vector_sim.png) no-repeat center bottom; background-size: 30px 15px; position: absolute; width: 100%; height: 15px; left: 0; bottom: 0; content: "";}

div.optimaBlock div.simWrap{background: #5f666c; border-radius: 5px; position: relative; margin: 0 0 30px; display: none;}
div.optimaBlock div.simWrap.on{display: block;}
div.optimaBlock div.simWrap div.topBlock{position: relative; z-index: 2; background: #5f666c; border-radius: 5px 5px 0 0; padding: 55px 0 15px;}
div.optimaBlock div.simWrap div.topBlock p.mark{width: 155px; height: 64px; margin: -5px 25px 0 -5px; background: url(/assets/img/page/optima/mark_sim.png) no-repeat center center; background-size: 175px 75px; font-weight: bold; font-size: 1.5rem; line-height: 1.6; padding: 11px 0 0 20px; color: #000; float: left;}
div.optimaBlock div.simWrap div.topBlock p.txt{font-size: 1.5rem; font-weight: bold; padding: 0 30px 0 0; line-height: 60px; color: #FFF;}
div.optimaBlock div.simWrap div.topBlock p.note{clear: both; padding: 0 0 0 190px; color: #ededed;}
div.optimaBlock div.simWrap div.topBlock p.result{font-size: 3.2rem; font-weight: bold; color: #FFF;}
div.optimaBlock div.simWrap div.topBlock p.result font{display: block; line-height: 40px; border-bottom: 2px solid #FFF; padding: 7px 0 0; vertical-align: top; position: relative;}
div.optimaBlock div.simWrap div.topBlock p.result font span{display: inline-block; position: relative;}
div.optimaBlock div.simWrap div.topBlock form{display: flex; justify-content: flex-start; padding: 0 0 25px; height: 60px;}
div.optimaBlock div.simWrap div.topBlock input{background: #7d8287; color: #FFF; line-height: 60px; font-size: 1.8rem; padding: 0 15px; margin: 0 15px 0 0; width: 65px; font-weight: bold; text-align: left;}
div.optimaBlock div.simWrap div.topBlock button{color: #3b444b; background: #FFF; width: 210px; font-size: 1.5rem; font-weight: bold; margin: 0 40px 0 0;}
div.optimaBlock div.simWrap div.bottomBlock{background: #4b535a; border-radius: 0 0 5px 5px; padding: 45px 0 40px; text-align: center;}
div.optimaBlock div.simWrap div.bottomBlock p.lead{color: #FFF;}

div.optimaBlock div.optimaNewsWrap{margin: 0 0 35px; overflow: hidden;}
div.optimaBlock div.optimaNewsWrap dl{_zoom: 1; overflow: hidden; padding: 15px 0; margin: 0; border-bottom: 1px solid #eaeaea; font-size: 1.5rem;}
div.optimaBlock div.optimaNewsWrap dt{float: left; font-weight: bold; color: #2dafb8; width: 105px;}
div.optimaBlock div.optimaNewsWrap dd.cat{float: left; padding: 3px 20px 0 0;}
div.optimaBlock div.optimaNewsWrap dd.cat span{color: #263037; border: 1px solid #333c43; min-width: 85px; padding: 0 10px; font-size: 1.2rem; line-height: 20px; display: block; text-align: center; font-weight: normal;}
div.optimaBlock div.optimaNewsWrap dd.title{padding: 0;}
div.optimaBlock div.optimaNewsWrap dd a{color: #333c43; text-decoration: none;}
div.optimaBlock div.optimaNewsWrap dd a:hover{text-decoration: underline;}
div.optimaBlock div.optimaNewsWrap dd a.pdf::after{content: "PDF"; display: inline-block; font-size: 1.1rem; line-height: 17px; padding: 0 10px; margin: 0 10px; border: 1px solid #BBB; color: #AAA; vertical-align: top;}
div.optimaBlock div.optimaNewsWrap p.commonBtn{padding: 50px 0 0; margin: 0;}

div.optimaBlock h3.faq{font-size: 2.5rem; margin: 0 0 30px; padding: 0 0 0 25px; border-left: 5px solid #2daeb7;}
div.optimaBlock div.faqWrap{margin: 0 0 55px; background: #FFF; opacity: 0; transform: translateY(10px); transition: all 0.5s ease;}
div.optimaBlock div.faqWrap.show{opacity: 1; transform: translateY(0);}
div.optimaBlock div.faqWrap div.block{padding: 20px 25px 0px 35px; border-bottom: 1px solid #f0f1f2; position: relative;}
div.optimaBlock div.faqWrap div.answer{padding: 5px 0 25px 30px; position: relative; display: none;}
div.optimaBlock div.faqWrap div.answer::before{content: "A"; font-size: 2.1rem; color: #91969a; font-weight: bold; position: absolute; left: 0; top: 0;}
div.optimaBlock div.faqWrap div.answer img{max-width: 100%; height: auto;}
div.optimaBlock div.faqWrap div.answer p{padding: 0 0 20px; margin: 0;}
div.optimaBlock div.faqWrap div.answer p.tel{font-size: 2.5rem; margin: -20px 0 0;}
div.optimaBlock div.faqWrap div.answer p.tel small{font-size: 1.5rem;}
div.optimaBlock div.faqWrap div.answer p.logo img{padding: 0 10px 0 0;}
div.optimaBlock div.faqWrap h4{font-size: 1.8rem; cursor: pointer; position: relative; padding: 3px 90px 23px 30px; z-index: 3;}
div.optimaBlock div.faqWrap h4::before{content: "Q"; font-size: 2.1rem; color: #2daeb7; font-weight: bold; position: absolute; left: 0; top: 0;}

div.optimaBlock p.toggleBtn{color: #2db0b9; cursor: pointer; padding: 0 35px 0 0; width: 100px; line-height: 30px; background: url(/assets/img/top/btn_news_open.svg) no-repeat right center; background-size: 24px 24px; text-align: right; font-weight: bold; font-size: 1.3rem; position: absolute; right: 30px; top: 24px;}
div.optimaBlock p.toggleBtn span.close{display: none;}
div.optimaBlock p.toggleBtn.on{background: url(/assets/img/top/btn_news_close.svg) no-repeat right center; background-size: 24px 24px;}
div.optimaBlock p.toggleBtn.on span.open{display: none;}
div.optimaBlock p.toggleBtn.on span.close{display: inherit;}
div.optimaBlock p.toggleBtn.newsBtn{right: 0; top: 70px;}

div.optimaBlock.white{background: #FFF;}
div.optimaBlock.black{background: #3b444b;}
div.optimaBlock.black h2{color: #FFF;}
div.optimaBlock#faq{margin-bottom: -90px;}

p.fixSimBtn{width: 200px; height: 90px; position: fixed; right: 0; bottom: 40px; margin: 0; z-index: 200;}
p.fixSimBtn a{background: #f3d857; display: flex; justify-content: center; align-items: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: 6px 0 0 6px; text-align: left; font-weight: bold; font-size: 1.6rem; color: #111; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);}
p.fixSimBtn a span{padding: 0 0 0 40px; background: url(/assets/img/page/optima/btn_sim.png) no-repeat left center; background-size: 24px 34px;}

/* ABOUT */
div.pageMainWrap.company{opacity: 0; transform: translateY(30px); transition: all 0.5s ease;}
div.pageMainWrap.company.show{opacity: 1; transform: translateY(0);}
div.pageMainWrap.company div.inner{padding: 65px 0 60px; text-align: center;}
div.pageMainWrap.company div.inner h2{font-size: 2.4rem; margin: 0 0 50px;}
div.pageMainWrap.company div.inner p{margin: 0 0 25px;}
div.mainContent.page.company{padding-bottom: 0;}
div.spacer.company{padding-bottom: 70px;}
div.companyBlock{padding: 70px 0 0; background: #FFF;}
div.companyBlock.gray{background: #3b444b;}
div.companyBlock.gray *{color: #FFF;}
div.companyBlock div.inner{width: 990px; margin: -70px auto 0; padding: 70px 0 0;}
div.companyBlock table{margin: 0;}
div.companyBlock table ul{margin: 0;}
div.companyBlock table th{width: 200px;}
div.companyBlock #sysmap{background: #DDD; width: 100%; height: 500px; margin: 0 0 40px;}
div.companyBlock div.mapBottom{_zoom: 1; overflow: hidden; padding: 0 0 80px;}
div.companyBlock div.mapBottom div.right{width: 300px; float: right;}
div.companyBlock div.mapBottom div.left{width: 650px; float: left; text-align: left;}
div.companyBlock#history div.inner{padding-bottom: 125px;}
div.companyBlock#history table{margin: -15px 0 0;}
div.companyBlock#history table th,
div.companyBlock#history table td{background: none; border: none; border-bottom: 1px solid #60656a; padding: 15px 0;}
div.companyBlock#history table th{width: 105px;}

/* CONTACT */
div.mainContent ul.contactFlow{display: table; table-layout: fixed; width: 100%; padding: 0; margin: 0 0 40px;}
div.mainContent ul.contactFlow li{display: table-cell; border-top: 1px solid #e3e4e5; border-bottom: 1px solid #e3e4e5; line-height: 48px; text-align: center; color: #aaa; text-indent: 5px; padding: 0 5px;}
div.mainContent ul.contactFlow li::before{display: none;}
div.mainContent ul.contactFlow li::after{display: block; content: ""; width: 15px; height: calc(100% + 2px); top: -1px; right: -15px; position: absolute; background: url(/assets/img/page/contact_cap_white.png) no-repeat center center; background-size: 15px 100%; z-index: 10;}
div.mainContent ul.contactFlow li:first-child{border-left: 1px solid #e3e4e5;}
div.mainContent ul.contactFlow li:last-child{border-right: 1px solid #e3e4e5;}
div.mainContent ul.contactFlow li:last-child:after{display: none;}
div.mainContent ul.contactFlow li.active{border-color: #2db0b9; color: #FFF; font-weight: bold; background: #2db0b9;}
div.mainContent ul.contactFlow li.active::after{background-image: url(/assets/img/page/contact_cap_blue.png);}
div.mainContent div.contactIndex{border: 1px solid #d2d4d6; margin: 0 0 30px; padding: 40px; display: flex; justify-content: space-between; align-items: center;}
div.mainContent div.contactIndex h2{text-align: left; font-size: 2.2rem; margin: 0;}
div.mainContent div.contactIndex p{margin: 0;}
div.mainContent div.contactIndex.first{margin-top: 50px;}
div.mainContent div.contactIndex.last{margin-bottom: 40px;}

div.mainContent div.inputWrap{border: 1px solid #d2d4d6; padding: 50px 50px 80px; margin: 0 0 35px;}
div.mainContent div.inputWrap table{margin: 0 0 15px;}
div.mainContent div.inputWrap table th,
div.mainContent div.inputWrap table td{border: none; background: #FFF; padding: 0 0 20px;}
div.mainContent div.inputWrap table th{width: 190px; padding: 10px 10px 20px 0; font-weight: normal;}
div.mainContent div.inputWrap table th small{font-size: 1.2rem; margin: -2px 0 0; display: block;}
div.mainContent div.inputWrap table span.num{line-height: 60px;}
div.mainContent div.inputWrap span.required{background: #2db0b9; color: #FFF; font-size: 1.2rem; line-height: 1.7; font-weight: bold; padding: 0 6px 0 5px; margin: 0 0 0 5px; display: inline-block;}
div.mainContent div.inputWrap input{background: #f1f2f3; font-size: 1.5rem; padding: 18px 20px; width: calc(100% - 40px); font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif;}
div.mainContent div.inputWrap input.mini{width: 50px;}
div.mainContent div.inputWrap label{display: inline-block; padding: 2px 0; cursor: pointer;}
div.mainContent div.inputWrap label input{display: none;}
div.mainContent div.inputWrap label span{padding-left: 25px; position: relative; margin-right: 15px;}
div.mainContent div.inputWrap label span.end{margin: 0;}
div.mainContent div.inputWrap label span::before{content: ""; display: block; position: absolute; top: 0; left: 0; width: 14px; height: 14px; border: 2px solid #d2d4d6;}
div.mainContent div.inputWrap input:checked + span{color: #2db0b9;}
div.mainContent div.inputWrap input:checked + span::before{border-color: #2db0b9;}
div.mainContent div.inputWrap input:checked + span::after{content: ""; display: block; position: absolute; top: 2px; left: 6px; width: 4px; height: 8px; transform: rotate(40deg); border-bottom: 2px solid #2db0b9; border-right: 2px solid #2db0b9;}

div.mainContent div.inputWrap label input[type=radio] + span::before{border-radius: 50%;}
div.mainContent div.inputWrap label input[type=radio] + span::after{width: 8px; border: none; background: #2db0b9; border-radius: 50%; transform: rotate(0deg); top: 5px; left: 5px;}

div.mainContent div.inputWrap p.error_messe{margin: 0; font-weight: bold;}
div.mainContent div.inputWrap p.error_messe:last-child{margin: 0 0 -15px;}
div.mainContent div.confirmBtnWrap{padding: 20px 0 0;}
div.mainContent p.back{text-align: center; padding: 30px 0 0;}
div.mainContent div.inputWrap dl{_zoom:1; overflow: hidden;}
div.mainContent div.inputWrap dl dt{width: 100px; float: left;}
div.mainContent div.inputWrap dl dd{padding: 0 0 0 120px;}
div.mainContent div.agreeCheck{text-align: center; margin: 0 0 40px;}
div.mainContent div.agreeCheck label{font-size: 1.5rem; font-weight: bold; color: #2db0b9;}
div.mainContent div.agreeCheck label span::before{border-color: #2db0b9;}
div.mainContent div.inputWrap textarea{background: #f1f2f3; font-size: 1.5rem; padding: 18px 20px; width: calc(100% - 40px); resize: vertical; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif;}
div.mainContent div.inputWrap ul.inner{margin: 0; padding: 0 0 10px 47px; position: relative;}
div.mainContent div.inputWrap ul.inner::before{content: ""; position: absolute; left: 25px; top: 13px; background: url(/assets/img/common/vector_s_black.svg) no-repeat left center; background-size: 16px 8px; width: 16px; height: 8px;}
div.mainContent div.inputWrap ul.inner li{display: inline-block;}
div.mainContent div.inputWrap ul.inner li::before{display: none;}
div.mainContent div.privacyWrap{border: 1px solid #d2d4d6; overflow: hidden; overflow-y: scroll; height: 200px; margin: 0 0 45px;}
div.mainContent div.privacyWrap div.content{padding: 30px;}
div.mainContent div.privacyWrap div.content p{font-size: 1.4rem;}
div.mainContent button.submit{text-align: center; font-size: 1.6rem; font-weight: bold; line-height: 60px; width: 300px; display: block; margin: 0 auto; color: #FFF!important; border: 2px solid #2db0b9; background: #2db0b9 url(/assets/img/common/vector_m_white.svg) no-repeat right 15px top 23px; background-size: 30px 15px; transition: all 0.3s ease;}
div.mainContent button.submit.en{font-size: 1.7rem;}
div.mainContent button.submit:hover{background-position: right 5px top 23px;}
div.mainContent button.submit.disabled{opacity: 0.2; cursor: not-allowed;}

/* NEWS */
div.mainContent div.newsArchiveWrap{margin: 0 0 40px; overflow: hidden;}
div.mainContent div.newsArchiveWrap dl{_zoom: 1; overflow: hidden; padding: 0 0 15px; margin: 0 0 15px; border-bottom: 1px solid #eaeaea; font-size: 1.5rem;}
div.mainContent div.newsArchiveWrap dt{float: left; font-weight: bold; color: #2dafb8; width: 100px;}
div.mainContent div.newsArchiveWrap dd.cat{float: left; padding: 3px 20px 0 0;}
div.mainContent div.newsArchiveWrap dd.cat span{color: #263037; border: 1px solid #333c43; min-width: 85px; padding: 0 10px; font-size: 1.2rem; line-height: 20px; display: block; text-align: center; font-weight: normal;}
div.mainContent div.newsArchiveWrap dd.title{padding: 5px 0 0; clear: both;}
div.mainContent div.newsArchiveWrap dd.title p{margin: 0;}
div.mainContent div.newsArchiveWrap dd a{color: #333c43; text-decoration: none;}
div.mainContent div.newsArchiveWrap dd a:hover{text-decoration: underline;}
div.mainContent div.newsArchiveWrap dd a.pdf::after{content: "PDF"; display: inline-block; font-size: 1.1rem; line-height: 17px; padding: 0 10px; margin: 0 10px; border: 1px solid #BBB; color: #AAA; vertical-align: top;}
div.mainContent div.pageMainWrap.newsSingle{margin-top: 70px;}
div.mainContent div.newsSingleTop{padding: 0 0 30px; margin: 0 0 30px; border-bottom: 1px solid #eaeaea;}
div.mainContent div.newsSingleTop p.date{float: left; font-weight: bold; color: #2dafb8; width: 105px; line-height: 24px; margin: 0 0 10px;}
div.mainContent div.newsSingleTop p.cat{float: left; padding: 1px 20px 0 0; color: #263037; border: 1px solid #333c43; font-size: 1.2rem; min-width: 85px; padding: 0 10px; line-height: 20px; display: block; text-align: center; font-weight: normal!important; margin: 0 0 10px;}
div.mainContent div.newsSingleTop h1{font-size: 2.8rem; clear: both; line-height: 1.6;}
div.mainContent div.newsSingleMain{padding: 0 0 10px;}
div.mainContent ul.pagenation{text-align: center; padding: 0 0 40px; margin: 0;}
div.mainContent ul.pagenation li{display: inline-block; padding: 0 7px;}
div.mainContent ul.pagenation li::before{display: none;}
div.mainContent ul.pagenation li a{color: #3b444b; width: 40px; line-height: 40px; border: 2px solid #3b444b; display: block; font-weight: bold; text-decoration: none;}
div.mainContent ul.pagenation li.on a{color: #FFF; border-color: #2db0b9; background: #2db0b9;}

div.mainContent ul.pagenation.newOld{text-align: right; padding: 15px 0 40px; margin: 0;}
div.mainContent ul.pagenation.newOld li{display: inline-block; padding: 0 12px 0 11px;}
div.mainContent ul.pagenation.newOld li::before{display: none;}
div.mainContent ul.pagenation.newOld li::after{border-right: 1px solid #333c43; height: 15px; content: ""; right: 0; top: 5px; position: absolute;}
div.mainContent ul.pagenation.newOld li a{color: #999; width: auto; line-height: 1.6; border: none; display: inline-block; font-weight: normal; text-decoration: underline;}
div.mainContent ul.pagenation.newOld li.on a{color: #333c43; background: none; font-weight: bold; text-decoration: none;}
div.mainContent ul.pagenation.newOld li:last-child{padding-right: 0;}
div.mainContent ul.pagenation.newOld li:last-child::after{display: none;}


/* INDEX */
header.mainHeader.index{background: rgba(45,176,185,0); transition: all 0.3s ease;}
header.mainHeader.index.on{background: #2db0b9;}
div.mainContent.index{background: #FFF; padding: 90px 0 0; width: 100%;}
div.mainContent.index h2{margin: 0 0 25px; font-size: 3.0rem;}
div.mainContent.index p.lead{margin: 0 0 40px;}
div.indexMainVisual{background: #2db0b9; position: relative; max-width: 100vw; height: 100vh; height: calc(100vh - 150px); min-height: 550px; overflow: hidden;}
div.indexMainVisual ul.imgList{position: absolute; min-width: 900px; max-width: 1200px; width: 90%; height: 70%; top: 0; left: 0; right: 0; bottom: 0; padding: 0; margin: auto;}
div.indexMainVisual ul.imgList li{position: absolute; width: 100%; height: 100%; left: 0; bottom: 0; padding: 0; margin: 0; background-size: contain; background-position: right bottom; background-repeat: no-repeat; opacity: 0; transform: translate(-70px,35px); transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);}
div.indexMainVisual ul.imgList li::before{display: none;}
div.indexMainVisual ul.imgList li.on{opacity: 1; transform: translate(0);}
div.indexMainVisual ul.imgList li.img1{background-image: url(/assets/img/top/t_1_pc.png);}
div.indexMainVisual ul.imgList li.img2{background-image: url(/assets/img/top/t_2_pc.png);}
div.indexMainVisual ul.imgList li.img3{background-image: url(/assets/img/top/t_3_pc.png);}
div.indexMainVisual div.captionBlock{min-width: 900px; max-width: 1200px; width: 90%; height: 350px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto;}
div.indexMainVisual div.captionBlock p{text-align: left; color: #FFF;}
div.indexMainVisual div.captionBlock p.title{margin: 0 0 40px;}
div.indexMainVisual div.captionBlock p.lead1{font-size: 2.2rem; font-weight: bold;}
div.indexMainVisual div.captionBlock p.lead2{font-size: 1.65rem; line-height: 2.0;}
div.indexMainVisual p.scrollMark{width: 40px; height: 20px; position: absolute; bottom: 70px; left: 0; right: 0; margin: 0 auto; animation: scrollBar 2s ease infinite;}

#floatingCirclesG{position:absolute; width:45px; height:45px; margin:auto; top: 0; right: 0; bottom: 0; left: 0; transform:scale(0.6); -o-transform:scale(0.6); -ms-transform:scale(0.6); -webkit-transform:scale(0.6); -moz-transform:scale(0.6); transition: opacity 0.5s ease 0.5s; opacity: 0.6;}
#floatingCirclesG.off{opacity: 0;}

.f_circleG{
	position:absolute;
	background-color:rgb(255,255,255);
	height:8px;
	width:8px;
	border-radius:4px;
		-o-border-radius:4px;
		-ms-border-radius:4px;
		-webkit-border-radius:4px;
		-moz-border-radius:4px;
	animation-name:f_fadeG;
		-o-animation-name:f_fadeG;
		-ms-animation-name:f_fadeG;
		-webkit-animation-name:f_fadeG;
		-moz-animation-name:f_fadeG;
	animation-duration:0.472s;
		-o-animation-duration:0.472s;
		-ms-animation-duration:0.472s;
		-webkit-animation-duration:0.472s;
		-moz-animation-duration:0.472s;
	animation-iteration-count:infinite;
		-o-animation-iteration-count:infinite;
		-ms-animation-iteration-count:infinite;
		-webkit-animation-iteration-count:infinite;
		-moz-animation-iteration-count:infinite;
	animation-direction:normal;
		-o-animation-direction:normal;
		-ms-animation-direction:normal;
		-webkit-animation-direction:normal;
		-moz-animation-direction:normal;
}

#frotateG_01{
	left:0;
	top:18px;
	animation-delay:0.1795s;
		-o-animation-delay:0.1795s;
		-ms-animation-delay:0.1795s;
		-webkit-animation-delay:0.1795s;
		-moz-animation-delay:0.1795s;
}

#frotateG_02{
	left:5px;
	top:5px;
	animation-delay:0.236s;
		-o-animation-delay:0.236s;
		-ms-animation-delay:0.236s;
		-webkit-animation-delay:0.236s;
		-moz-animation-delay:0.236s;
}

#frotateG_03{
	left:18px;
	top:0;
	animation-delay:0.2925s;
		-o-animation-delay:0.2925s;
		-ms-animation-delay:0.2925s;
		-webkit-animation-delay:0.2925s;
		-moz-animation-delay:0.2925s;
}

#frotateG_04{
	right:5px;
	top:5px;
	animation-delay:0.349s;
		-o-animation-delay:0.349s;
		-ms-animation-delay:0.349s;
		-webkit-animation-delay:0.349s;
		-moz-animation-delay:0.349s;
}

#frotateG_05{
	right:0;
	top:18px;
	animation-delay:0.4055s;
		-o-animation-delay:0.4055s;
		-ms-animation-delay:0.4055s;
		-webkit-animation-delay:0.4055s;
		-moz-animation-delay:0.4055s;
}

#frotateG_06{
	right:5px;
	bottom:5px;
	animation-delay:0.472s;
		-o-animation-delay:0.472s;
		-ms-animation-delay:0.472s;
		-webkit-animation-delay:0.472s;
		-moz-animation-delay:0.472s;
}

#frotateG_07{
	left:18px;
	bottom:0;
	animation-delay:0.5285s;
		-o-animation-delay:0.5285s;
		-ms-animation-delay:0.5285s;
		-webkit-animation-delay:0.5285s;
		-moz-animation-delay:0.5285s;
}

#frotateG_08{
	left:5px;
	bottom:5px;
	animation-delay:0.585s;
		-o-animation-delay:0.585s;
		-ms-animation-delay:0.585s;
		-webkit-animation-delay:0.585s;
		-moz-animation-delay:0.585s;
}

@keyframes f_fadeG{
	0%{ background-color:rgb(45,175,184);}
	100%{ background-color:rgb(255,255,255);}
}

@-o-keyframes f_fadeG{
	0%{ background-color:rgb(45,175,184);}
	100%{ background-color:rgb(255,255,255);}
}

@-ms-keyframes f_fadeG{
	0%{ background-color:rgb(45,175,184);}
	100%{ background-color:rgb(255,255,255);}
}

@-webkit-keyframes f_fadeG{
	0%{ background-color:rgb(45,175,184);}
	100%{ background-color:rgb(255,255,255);}
}

@-moz-keyframes f_fadeG{
	0%{	background-color:rgb(45,175,184);}
	100%{ background-color:rgb(255,255,255);}
}

div.indexNewsWrap{max-height: 70px; overflow: hidden; margin: -30px auto 0; padding: 20px 90px 20px 40px; position: relative; transition: max-height 0.4s linear; min-width: 990px; max-width: 1200px; width: 90%; box-sizing: border-box; background: #FFF; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);}
div.indexNewsWrap.on{max-height: 1000px;}
div.indexNewsWrap dl{overflow: hidden; _zoom: 1; display: block; text-align: left; margin: 0 0 21px; padding: 0 0 20px; border-bottom: 1px solid #ebebeb;}
div.indexNewsWrap dl:last-child{margin: 0 0 35px;}

div.indexNewsWrap dl dt{float: left; font-weight: bold; color: #2dafb8; width: 105px; line-height: 24px;}
div.indexNewsWrap dl dd.cat{float: left; padding: 1px 20px 0 0;}
div.indexNewsWrap dl dd.cat span{color: #263037; border: 1px solid #333c43; font-size: 1.2rem; min-width: 85px; padding: 0 10px; line-height: 20px; display: block; text-align: center; font-weight: normal;}
div.indexNewsWrap dl dd.title{padding: 0; line-height: 24px;}
div.indexNewsWrap dl dd a{color: #333c43; text-decoration: none;}
div.indexNewsWrap dl dd a:hover{color: #333c43; text-decoration: underline;}
div.indexNewsWrap dl dd a.pdf::after{content: "PDF"; display: inline-block; font-size: 1.1rem; line-height: 17px; padding: 0 10px; margin: 0 10px; border: 1px solid #BBB; color: #AAA; vertical-align: top;}
div.indexNewsWrap dl p{margin: 0;}

div.indexNewsWrap p.toggleBtn{color: #2db0b9; cursor: pointer; padding: 0 35px 0 0; width: 100px; line-height: 60px; background: url(/assets/img/top/btn_news_open.svg) no-repeat right center; background-size: 24px 24px; text-align: right; font-weight: bold; font-size: 1.3rem; position: absolute; right: 30px; top: 2px;}
div.indexNewsWrap p.toggleBtn span.close{display: none;}
div.indexNewsWrap p.toggleBtn.on{background: url(/assets/img/top/btn_news_close.svg) no-repeat right center; background-size: 24px 24px;}
div.indexNewsWrap p.toggleBtn.on span.open{display: none;}
div.indexNewsWrap p.toggleBtn.on span.close{display: inherit;}

div.topSolutionsWrap{padding: 80px 0 90px; margin: 0 auto; width: calc(100% - 60px); max-width: 1400px;}
div.topSolutionsWrap div.contentArea{display: flex; width: 100%; margin: 0;}
div.topSolutionsWrap div.block{vertical-align: top; display: flex; padding: 0 8px 16px; width: calc((100% - 48px) / 2); /*perspective: 300px;*/}
div.topSolutionsWrap div.block.optima{width: 100%; padding: 0 0 16px;}
div.topSolutionsWrap div.block:first-child{padding-left: 0;}
div.topSolutionsWrap div.block:last-child{padding-right: 0;}
div.topSolutionsWrap div.block a{text-decoration: none; display: block; background: #FFF; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1); width: 100%; padding: 50px 10%; border-radius: 6px; transition: opacity 0.3s ease, box-shadow 0.3s ease; position: relative;}
div.topSolutionsWrap div.block a p{color: #333c43;}
div.topSolutionsWrap div.block a::after{background: url(/assets/img/common/sp_menu_btn_vector.svg) no-repeat center center; background-size: 15px 15px; content: ""; position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; width: 15px; height: 15px; transition: right 0.4s ease;}
div.topSolutionsWrap div.block a:hover{opacity: 0.8; box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);}
div.topSolutionsWrap div.block a:hover::after{right: 12px;}
div.topSolutionsWrap div.block.optima a{width: 810px; padding-left: calc(50% - 405px); padding-right: calc(50% - 405px); display: flex; justify-content: space-between; flex-wrap: wrap; align-content: center;}
div.topSolutionsWrap div.block.optima a p.img{padding: 40px 0 30px; width: 480px;}
div.topSolutionsWrap div.block.optima a div.titleBlock{text-align: left; display: flex; flex-wrap: wrap; align-content: center; width: 290px; padding: 0 0 30px;}
div.topSolutionsWrap h3{color: #2db0b9; margin: 0 0 10px; width: 100%;}
div.topSolutionsWrap h3 span{display: block; font-size: 2.0rem; margin: 0 0 5px;}
div.topSolutionsWrap h3 span.ja{font-size: 1.3rem; font-weight: normal;}
div.topSolutionsWrap p{margin: 0 0 1px; font-size: 1.4rem;}
div.topSolutionsWrap p.img{margin: 0; opacity: 0; transform: scale(0.7);}
div.topSolutionsWrap p.img0{transition: opacity 0.7s ease, transform 0.7s ease; transform: scale(0.7);}
div.topSolutionsWrap p.img1{transition: opacity 0.5s ease, transform 0.5s ease;}
div.topSolutionsWrap p.img2{transition: opacity 0.5s ease, transform 0.5s ease;}
div.topSolutionsWrap p.img3{transition: opacity 0.5s ease, transform 0.5s ease;}
div.topSolutionsWrap p.img.show,
div.topSolutionsWrap div.block.show p.img{opacity: 1; transform: scale(1);}
div.topSolutionsWrap p.spRight{opacity: 0; transform: translateY(10px); transition: opacity 0.5s ease, transform 0.5s ease;}
div.topSolutionsWrap div.block.show p.spRight{opacity: 1; transform: translateY(0);}
div.topSolutionsWrap p.title{font-size: 2.0rem; font-weight: bold; margin: 0 0 5px;}
div.topSolutionsWrap p.title.ja{font-size: 1.8rem; margin: 0 0 8px;}
div.topSolutionsWrap p small{font-size: 1.2rem; color: #82898e;}

div.topCompanyWrap{position: relative; padding: 0 0 115px;}
div.topCompanyWrap div.videoWrap{position: absolute; width: 100%; height: 70%; height: calc(100% - 200px); left: 0; bottom: 0; background: #DDD;}
div.topCompanyWrap div.inner{min-width: 990px; max-width: 1200px; width: 90%; padding: 70px 0 80px; margin: 0 auto; background: #3b444b; position: relative; opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease;}
div.topCompanyWrap div.inner.show{opacity: 1; transform: translateY(0);}
div.topCompanyWrap div.contentArea{width: 840px; margin: 0 auto 35px; display: table; table-layout: fixed;}
div.topCompanyWrap div.contentArea div.block{display: table-cell;}
div.topCompanyWrap div.contentArea p{margin: 0 0 10px; font-size: 1.4rem;}
div.topCompanyWrap div.contentArea p.img{opacity: 0; transform: scale(0.5) rotateZ(-80deg); transition: opacity 0.7s ease 0.6s, transform 0.7s ease 0.6s;}
div.topCompanyWrap div.inner.show p.img{opacity: 1; transform: scale(1) rotateZ(0);}
div.topCompanyWrap div.contentArea p.title{font-size: 3.2rem; font-weight: bold;}
div.topCompanyWrap h2,
div.topCompanyWrap p{color: #FFF;}
div.topCompanyWrap dl{text-align: left; width: 780px; font-size: 1.1rem; color: #b4b8bb; margin: 0 auto;}

@keyframes scrollBar {
    0% {transform: translateY(-10px); opacity: 1;}
    50% {transform: translateY(0); opacity: 0.5;}
    100% {transform: translateY(-10px); opacity: 1;}
}

/* FOOTER */
footer.mainFooter{}
footer.mainFooter div.mainBlock{background: #FFF; padding: 50px 7% 55px 9%; position: relative; _zoom: 1; overflow: hidden; text-align: left;}
footer.mainFooter div.mainBlock div.left{float: left; width: 55%; padding: 10px 0 60px;}
footer.mainFooter div.mainBlock div.left ul.parentList{display: table; width: 100%;}
footer.mainFooter div.mainBlock div.left ul.parentList li.l1{width: 38%;}
footer.mainFooter div.mainBlock div.left ul.parentList li.l2{width: 27%;}
footer.mainFooter div.mainBlock div.left ul.parentList li.l3{width: 20%;}
footer.mainFooter div.mainBlock div.left ul.parentList li{display: table-cell; vertical-align: top; font-size: 1.7rem; font-weight: bold; padding: 0 5% 30px 0;}
footer.mainFooter div.mainBlock div.left ul.parentList li a:hover{text-decoration: underline;}
footer.mainFooter div.mainBlock div.left ul.parentList li span{padding: 0 0 15px; display: block;}
footer.mainFooter div.mainBlock div.left ul.parentList li span:last-child{padding: 0;}
footer.mainFooter div.mainBlock div.left ul.childList{padding: 20px 0 0 0; }
footer.mainFooter div.mainBlock div.left ul.childList li{display: block; margin: 0; padding: 0; font-size: 1.4rem; font-weight: normal;}
footer.mainFooter div.mainBlock div.left ul.childList li a{padding: 0 0 0 25px; background: url(/assets/img/common/vector_s_black.svg) no-repeat left 7px; background-size: 16px 8px; transition: background-position 0.2s ease; display: inline-block;}
footer.mainFooter div.mainBlock div.left ul.childList li a:hover{background-position: 4px 7px;}
footer.mainFooter div.mainBlock div.left ul.childList li ul{padding: 0 0 0 25px; }
footer.mainFooter div.mainBlock div.right{float: right; width: 35%; padding: 0 0 0 6%; border-left: 1px solid #dadada;}
footer.mainFooter div.mainBlock div.right h3{font-size: 3.0rem; margin: 0 0 20px;}
footer.mainFooter div.mainBlock div.right p.commonBtn{margin: 0 0 15px;}
footer.mainFooter div.mainBlock div.right p.commonBtn a{width: 100%; max-width: 420px; margin: 0;}
footer.mainFooter div.mainBlock div.info{position: absolute; left: 5%; bottom: 45px; width: 450px; _zoom: 1; overflow: hidden;}
footer.mainFooter div.mainBlock div.info p{margin: 0;}
footer.mainFooter div.mainBlock div.info p.logo{float: left; padding: 5px 20px 0 0;}
footer.mainFooter div.mainBlock div.info p.name{font-size: 1.25rem; line-height: 1.7;}
footer.mainFooter div.mainBlock div.info p.name small{font-size: 1.1rem; color: #6d747a;}
footer.mainFooter div.bottomBar{height: 70px; position: relative; background: #263037; overflow: hidden;}
footer.mainFooter div.bottomBar p.btnTop{position: absolute; width: 70px; height: 70px; right: 0; top: 0;}
footer.mainFooter div.bottomBar p.copyright{position: absolute; left: 5%; top: 25px; color: #888; font-size: 1.1rem; font-weight: bold;}
footer.mainFooter div.bottomBar ul{font-size: 1.2rem; color: #babdc0; padding: 25px 110px 0 0; text-align: right;}
footer.mainFooter div.bottomBar ul li{display: inline-block; padding: 0 15px 0 0; margin: 0 15px 0 0; position: relative;}
footer.mainFooter div.bottomBar ul li::after{content: ""; border-right: 1px solid #babdc0; position: absolute; height: 10px; margin: auto 0; right: 0; top: 0; bottom: 0;}
footer.mainFooter div.bottomBar ul li:last-child{margin: 0; padding: 0;}
footer.mainFooter div.bottomBar ul li:last-child::after{display: none;}
footer.mainFooter div.bottomBar ul li a{color: #babdc0; text-decoration: underline;}
footer.mainFooter div.bottomBar ul li a:hover{color: #FFF;}



/* ::::::::::::::::::::::::::::::::: PC ::::::::::::::::::::::::::::::::: */
@media screen and (min-width: 1000px){
    .sp{display:none!important;}
    
    .hoverAlpha{transition: opacity 0.2s ease;}
    .hoverAlpha:hover{opacity: 0.8;}
    
    header.mainHeader{height: 90px;}
    
    div.indexNewsWrap{max-height: 64px;}
}

/* ::::::::::::::::::::::::::::::::: SP ::::::::::::::::::::::::::::::::: */
@media screen and (max-width: 999px){
    .pc{display:none!important;}
	
	p{margin: 0 0 30px;}
	
	div.wrap{}
	h2{font-size: 2.4rem; margin: 0 0 30px;}
	h3{font-size: 1.7rem; margin: 0 0 30px;}
	p.commonBtn{font-size: 1.55rem;}
	p.commonBtn.en{font-size: 1.65rem;}
	p.commonBtn a{width: 100%;}
	p.commonBtn a:hover{background-position: right 15px top 23px;}
	p.commonBtn span{padding: 0 7px 0 0;}
    
    /* HEADER */
    header.mainHeader{height: 60px; transition: height 0.3s ease;}
    header.mainHeader h1,
    header.mainHeader p.siteTitle{width: 70px; height: 30px; left: 20px; top: 15px;}
    header.mainHeader h1 img,
    header.mainHeader p.siteTitle img{width: 70px; height: 30px;}
    header.mainHeader p{}
    header.mainHeader a,
    header.mainHeader span{}
    header.mainHeader p.contact{position: fixed; width: 50%; height: 70px; top: auto; bottom: -70px; transition: bottom 0.3s ease;}
    header.mainHeader p.contact a{}
    header.mainHeader p.contact a span{}
    header.mainHeader p.contact a span.ja{padding: 0 0 4px;}
    header.mainHeader p.optima{position: fixed; width: 50%; height: 70px; right: 50%; top: auto; bottom: -70px; transition: bottom 0.3s ease;}
    header.mainHeader p.optima::before{display: none;}
    header.mainHeader p.optima a,
    header.mainHeader p.optima a:hover{background: #2dafb8;}
    header.mainHeader p.optima a span.ja{font-size: 1.1rem; padding: 0 0 0 3px; color: #FFF;}
    header.mainHeader p.optima a span.en img.sp{position: relative; opacity: 1; left: inherit; top: inherit; display: inline!important;}
    header.mainHeader p.optima.active a span.ja{font-weight: normal; border: none;}

    header.mainHeader div.inner{position: absolute; left: 30px; top: 80px; width: calc(100% - 60px); height: calc(100% - 180px); overflow: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch;}
    
    header.mainHeader ul.mainList{position: relative; width: auto; height: auto; display: block; left: auto; top: 0; padding: 0 0 30px;}
    header.mainHeader ul.mainList li{height: auto; display: block; text-align: left; border-bottom: 1px solid #EEE; padding: 15px 0;}
    header.mainHeader ul.mainList li a,
    header.mainHeader ul.mainList li div.hasChild{}
    header.mainHeader ul.mainList li div.hasChild::after{display: none;}
    header.mainHeader ul.mainList li a span,
    header.mainHeader ul.mainList li div.hasChild span{}
    header.mainHeader ul.mainList li a span.en,
    header.mainHeader ul.mainList li div.hasChild span.en{font-size: 1.8rem; line-height: 1.6;}
    header.mainHeader ul.mainList li a span.ja,
    header.mainHeader ul.mainList li div.hasChild span.ja{}
    header.mainHeader ul.mainList li div.hasChild.open{}
    header.mainHeader ul.mainList li div.hasChild.open span{color: #3b444b;}
    header.mainHeader ul.mainList li div.hasChild.open::after{}
    
    header.mainHeader ul.mainList li a{background: url(/assets/img/common/sp_menu_btn_vector.svg) no-repeat right center; background-size: 15px 15px;}
    header.mainHeader ul.mainList li div.hasChild{background: url(/assets/img/common/sp_menu_btn_plus.svg) no-repeat right center; background-size: 15px 15px;}
    header.mainHeader ul.mainList li div.hasChild.spOpen{background: url(/assets/img/common/sp_menu_btn_minus.svg) no-repeat right center; background-size: 15px 15px;}

    header.mainHeader ul.mainList li div.childWrap{position: relative; height: auto; max-height: 0; background: none; top: 0; visibility: visible; opacity: 1;}
    header.mainHeader ul.mainList li div.childWrap.spOpen{max-height: 500px;}
    header.mainHeader ul.mainList li div.childWrap span{display: none;}
    header.mainHeader ul.mainList li div.mainTable{position: relative; left: 0; top: 0; width: 100%; box-shadow: none; padding: 20px 0 0 15px;}
    header.mainHeader ul.mainList li div.mainTable div.left{display: none;}
    header.mainHeader ul.mainList li div.mainTable div.right{float: none; width: 100%;}
    header.mainHeader ul.mainList li div.mainTable p.title.en{}
    header.mainHeader ul.mainList li div.mainTable p.title.ja{}
    header.mainHeader ul.mainList li div.mainTable ul.childList{border-bottom: none; padding: 0;}
    header.mainHeader ul.mainList li div.mainTable ul.childList:first-child{padding-top: 0;}
    header.mainHeader ul.mainList li div.mainTable ul.childList:last-child{}
    header.mainHeader ul.mainList li div.mainTable ul.childList li{display: block; padding: 0 0 5px; border: none;}
    header.mainHeader ul.mainList li div.mainTable ul.childList li a{font-weight: normal;}
    header.mainHeader ul.mainList li div.mainTable ul.childList li a:hover{}

    header.mainHeader ul.mainList li div.hasChild.open+div.childWrap{}
    
    header.mainHeader button.spMenuBtn{display: block; text-indent: -999px; display: block; cursor: pointer; background: #5ac1c8; position: absolute; width: 60px; height: 60px; right: 0; top: 0; transition: all 0.3s ease; overflow: hidden; z-index: 600;}
	header.mainHeader button.spMenuBtn span{position: absolute; width: 20px; left: 20px; border-top: 2px solid #FFF; transition: all 0.3s ease;}
	header.mainHeader button.spMenuBtn span.line1{top: 23px;}
	header.mainHeader button.spMenuBtn span.line2{top: 30px;}
	header.mainHeader button.spMenuBtn span.line3{top: 37px;}
    
    header.mainHeader.active{height: 100%;}
    header.mainHeader.active p.contact{bottom: 0;}
    header.mainHeader.active p.optima{bottom: 0;}
    header.mainHeader.active button.spMenuBtn{}
	header.mainHeader.active button.spMenuBtn span{}
	header.mainHeader.active button.spMenuBtn span.line1{transform: rotate(45deg); top: 30px;}
	header.mainHeader.active button.spMenuBtn span.line2{opacity: 0;}
	header.mainHeader.active button.spMenuBtn span.line3{transform: rotate(-45deg); top: 30px;}
    
    header.optimaFormHeader{height: 60px; width: calc(100% - 30px); padding: 0 15px;}
    header.optimaFormHeader h1{font-size: 1.4rem;}
    header.optimaFormHeader p img{width: 120px; height: 28px;}
	
	/* MAIN CONTENT */
	div.wrap{}
	div.spacer{margin-top: -70px; padding-top: 70px;}
	div.mainContent{}
	div.mainContent.page{padding: 60px 0 60px;}
	div.mainContent a{}
	div.mainContent a:hover{color: #2db0b9;}
	div.mainContent h2{}
	div.mainContent h2.withLine{font-size: 1.8rem; padding: 12px 20px; margin: 0 0 30px;}
	div.mainContent table{margin: 0 0 35px;}
	div.mainContent table th,
	div.mainContent table td{padding: 12px 15px;}
	div.mainContent table th{}
	div.mainContent ul,
	div.mainContent ol{margin: 0 0 30px;}
	div.mainContent ul li{}
	div.mainContent ul li::before{}
	div.mainContent dl{margin: 0 0 30px;}
	div.mainContent hr{margin: 45px 0 35px;}

	div.topWrap{padding: 70px 0 90px;}
	div.topWrap.template{background-image: url(/assets/img/page/main_template_sp.jpg);}
    div.topWrap.news{background-image: url(/assets/img/page/main_news_sp.jpg);}
	div.topWrap.reruit{background-image: url(/assets/img/page/main_recruit_sp.jpg);}
	div.topWrap.contact{background-image: url(/assets/img/page/main_contact_sp.jpg);}
    div.topWrap.contactOptima{background-image: url(/assets/img/page/main_contact-optima_sp.jpg);}
	div.topWrap.company{background-image: url(/assets/img/page/main_company_sp.jpg); padding: 100px 0 210px;}
	div.topWrap.solutions{background-image: url(/assets/img/page/main_solutions_sp.jpg); padding: 70px 0 90px;}
    div.topWrap.caseStudy{background-image: url(/assets/img/page/main_case-study_sp.jpg); padding: 70px 20px 90px;}
	div.topWrap h1{font-size: 2.6rem;}
	div.topWrap h1.en{font-size: 3.0rem;}
	div.topWrap.nonImg{padding: 45px 0 70px;}
	div.topWrap.company h1{font-size: 2.8rem; padding-left: 32px;}
	div.topWrap.solutions p.lead{color: #FFF; padding: 15px 20px 40px; margin: 0;}
	div.topWrap.solutions ul{width: auto; display: block; padding: 0 20px;}
	div.topWrap.solutions ul li{width: 100%; margin: 0 0 10px;}
	div.topWrap.solutions ul li::before{}
	div.topWrap.solutions ul li a{padding: 15px 0 12px;}
	div.topWrap.solutions ul li a::after{top: 0; right: 15px; bottom: 0; left: inherit; margin: auto 0;}
    div.topWrap.caseStudy ul{width: auto; display: block; padding: 0;}
	div.topWrap.caseStudy ul li{width: 100%; margin: 0 0 10px;}
	div.topWrap.caseStudy ul li::before{}
	div.topWrap.caseStudy ul li a{padding: 17px 40px 17px 30px; display: flex; justify-content: center; align-items: center; line-height: 1.7;}
	div.topWrap.caseStudy ul li a::after{top: 0; right: 15px; bottom: 0; left: inherit; margin: auto 0;}

	div.pageMainWrap{width: calc(100% - 40px); margin: -30px auto 0;}
	div.pageMainWrap div.inner{padding: 40px 20px 20px;}
	div.pageMainWrap img{}
	
	/* SOLUTIONS */
	div.pageMainWrap.solutions{margin-bottom: 70px;}
	div.pageMainWrap.solutions h2{margin: 0 0 30px;}
	div.pageMainWrap.solutions div.inner{padding-top: 35px;}
	div.pageMainWrap.solutions h2 span{font-size: 2.8rem;}
	div.pageMainWrap.solutions h2 span.ja{font-size: 1.5rem;}
	div.pageMainWrap.solutions h3{margin: 0 0 30px; padding: 0 0 0 15px;}
	div.pageMainWrap.solutions h3 span{font-size: 2.4rem;}
	div.pageMainWrap.solutions h3 span.ja{font-size: 1.45rem;}
	div.pageMainWrap.solutions h3 small{}
	div.pageMainWrap.solutions h4{}
	div.pageMainWrap.solutions p small{}
	div.pageMainWrap.solutions p.note{}
	div.pageMainWrap.solutions div.spacerBtn1{padding: 0 0 10px;}
	div.pageMainWrap.solutions div.spacerBtn2{padding: 5px 0 0;}
	div.pageMainWrap.solutions div.featureWrap{display: block; margin: 0 0 50px;}
	div.pageMainWrap.solutions div.featureWrap div.block{width: 100%; margin: 0 0 25px;} 
	div.pageMainWrap.solutions div.featureWrap div.block:nth-child(even){border-left: none; padding: 0;}
	div.pageMainWrap.solutions div.featureWrap div.right{width: calc(100% - 85px);}
	div.pageMainWrap.solutions div.featureWrap p{}
	div.pageMainWrap.solutions div.featureWrap p.img{}
	div.pageMainWrap.solutions div.featureWrap p.title{}
	div.pageMainWrap.solutions div.borderBlock{padding: 25px 20px 10px; margin: 0 0 35px;}
	div.pageMainWrap.solutions div.borderBlock p.sp{text-align: center;}
    div.pageMainWrap.solutions div.borderBlock img.drsSPimg{height: calc((100vw - 126px) * 26 / 25);}
	div.pageMainWrap.solutions div.borderBlock.asuka{margin: 0 0 40px;}
    div.pageMainWrap.solutions div.borderBlock.asuka img.asukaSPimg{height: calc((100vw - 126px) * 227 / 330);}
	div.pageMainWrap.solutions div.drsMap{display: block;}
	div.pageMainWrap.solutions div.drsMap p{width: auto; padding: 25px 0 0;}
	div.pageMainWrap.solutions p.sp{margin: 0 0 20px;}
	div.pageMainWrap.solutions div.consulWrap{}
	div.pageMainWrap.solutions div.consulWrap div.block{margin: 0 0 20px; display: block;}
	div.pageMainWrap.solutions div.consulWrap div.block:last-child{margin: 0 0 20px;}
	div.pageMainWrap.solutions div.consulWrap h3{font-size: 1.8rem; padding: 0; margin: 0 0 10px;}
	div.pageMainWrap.solutions div.consulWrap p.img{width: 100%; text-align: center; margin: 0 0 15px; padding: 10px 0 0;}
	div.pageMainWrap.solutions div.consulWrap p.img img{width: 77px; height: 88px;}
	div.pageMainWrap.solutions div.consulWrap p.lead{font-size: 1.4rem; margin: 0 0 15px;}
	div.pageMainWrap.solutions div.consulWrap ul{}
	div.pageMainWrap.solutions div.consulWrap div.right{width: 100%;}
	div.pageMainWrap.solutions ul.mediaList{width: 100%; margin: 0 0 20px; justify-content: flex-start;}
	div.pageMainWrap.solutions ul.mediaList li{width: 48%; max-width: 160px; margin: 0 2% 10px 0;}
    div.pageMainWrap.solutions ul.mediaList li:nth-child(4n){margin: 0 2% 10px 0;}
	div.pageMainWrap.solutions ul.mediaList li::before{}
	div.pageMainWrap.solutions ul.mediaList li.new::after{right: -5px; top: -15px;}
    div.pageMainWrap.solutions ul.mediaList li img{height: calc((100vw - 126px) * 0.96 / 2 * 7 / 16);}
	div.pageMainWrap.solutions ul.logoList{margin: -5px 0 40px;}
	div.pageMainWrap.solutions ul.logoList li{width: 33.3%;}
	div.pageMainWrap.solutions ul.logoList li.first{width: 100%;}
	div.pageMainWrap.solutions ul.logoList li:before{}
    div.pageMainWrap.solutions ul.logoList li img{width: 100%; height: calc((100vw - 80px) / 3 * 0.6)}
	div.pageMainWrap.solutions.booking{background: #FFF;}
	div.pageMainWrap.solutions.group{background: #FFF;}
	div.pageMainWrap.solutions.direct{background: #FFF;}
	div.pageMainWrap.solutions.consulting{margin-bottom: 0; background: #FFF;}
    
    /* CASE STUDY */
    div.pageMainWrap.solutions div.caseStudyIterview{display: block; padding: 0 0 10px;}
    div.pageMainWrap.solutions div.caseStudyIterview div.block{}
    div.pageMainWrap.solutions div.caseStudyIterview img{}
    div.pageMainWrap.solutions div.caseStudyIterview p.thumb{}
    div.pageMainWrap.solutions div.caseStudyIterview p.service{}
    div.pageMainWrap.solutions div.caseStudyIterview p.spec{}
    div.pageMainWrap.solutions div.caseStudyIterview h4{}
    div.pageMainWrap.solutions div.caseStudyIterview ul{margin: 0 0 30px;}
    div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block{display: block; padding: 0;}
    div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block p.thumb{width: 100%;}
    div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block p.service{margin-top: 20px;}
    div.pageMainWrap.solutions div.caseStudyIterview.b1 div.block div.inside{width: 100%;}
    div.pageMainWrap.solutions div.caseStudyIterview.b2 div.block{width: 100%; padding: 0;}
    div.pageMainWrap.solutions div.caseStudyIterview.b2 div.block:nth-child(even){}
    div.pageMainWrap.solutions div.caseStudyIterview.b3 div.block{width: 100%; padding: 0;}
    div.pageMainWrap.solutions div.caseStudyIterview.b3 div.block:nth-child(3n){}
    div.pageMainWrap.caseStudyBottom{}
    div.pageMainWrap.caseStudyBottom div.block{display: block; padding: 40px 20px 10px;}
    div.pageMainWrap.caseStudyBottom div.block div.left{width: 100%; text-align: center;}
    div.pageMainWrap.caseStudyBottom div.block div.left p{font-size: 1.8rem;}
    div.pageMainWrap.caseStudyBottom div.block div.right{width: 100%;}
	
	/* OPTIMA */
	div.optimaMenuBar{height: 50px; top: 60px; width: 200%;}
	div.optimaMenuBar ul{font-size: 1.45rem; padding: 12px 0; display: block; width: 50%; float: left; transition: margin 0.3s ease;}
	div.optimaMenuBar ul.first.on{margin-left: -50%;}
	div.optimaMenuBar ul li{padding: 0 10px;}
	div.optimaMenuBar ul li a{}
	div.optimaMenuBar ul li.on a{}
	div.optimaMenuBar p.btn{position: absolute; width: 20px; height: 20px; top: 15px; display: none;}
	div.optimaMenuBar p.btn.on{display: block;}
	div.optimaMenuBar p.btn.btnLeft{left: 5px;}
	div.optimaMenuBar p.btn.btnRight{right: calc(50% + 5px);}

	div.pageMainWrap.optima{}

	div.mainContent.optima{padding-top: 110px;}
	div.mainContent.optima div.topWrap{background-size: 100px 70px;}
	div.mainContent.optima div.topWrap div.inner{width: 80%; min-width: 290px; height: auto; padding: 0 0 110px;}
	div.mainContent.optima div.topWrap div.inner h1{position: relative; left: inherit; top: inherit; padding: 40px 0 25px;}
	div.mainContent.optima div.topWrap div.inner h1 img{max-width: 210px; height: auto; margin: 0 auto; padding: 0 10px 0 0;}
	div.mainContent.optima div.topWrap div.mockWrap{position: relative; right: inherit; top: inherit; width: 292px; height: 152px; margin: 0 auto ;}
    div.mainContent.optima div.topWrap div.mockWrap div.pcBlock{width: 198px; height: 124px; padding: 9px 32px 19px;}
    div.mainContent.optima div.topWrap div.mockWrap div.pcBlock::after{background-image: url(/assets/img/page/optima/mock_pc3.png); background-size: 262px 152px; width: 262px; height: 152px;}
    div.mainContent.optima div.topWrap div.mockWrap div.pcBlock img{width: 198px; height: 124px;}
    div.mainContent.optima div.topWrap div.mockWrap div.spBlock{width: 58px; height: 119px; padding: 9px 12px 2px; bottom: 1px;}
    div.mainContent.optima div.topWrap div.mockWrap div.spBlock::after{background-image: url(/assets/img/page/optima/mock_sp3.png); background-size: 82px 130px; width: 82px; height: 130px;}
    div.mainContent.optima div.topWrap div.mockWrap div.spBlock img{width: 58px; height: 119px; border-radius: 0 0 5px 5px;}
    div.mainContent.optima div.topWrap div.mockWrap ul.imgList{}
    div.mainContent.optima div.topWrap div.mockWrap ul.imgList li{}
    div.mainContent.optima div.topWrap div.mockWrap ul.imgList li::before{}

	div.optimaBlock{padding: 45px 0 0;}
	div.optimaBlock div.inner{width: calc(100% - 40px); margin: -45px auto 0; padding: 45px 0 30px;}
	div.optimaBlock p.note{}

	div.optimaBlock div.introWrap{width: calc(100% - 80px); margin: -90px auto 50px; padding: 50px 20px 30px;}
	div.optimaBlock div.introWrap h2{font-size: 2.0rem; margin: 0 0 35px;}
	div.optimaBlock div.introWrap h3{font-size: 2.0rem; margin: 0 0 30px;}
	div.optimaBlock div.introWrap p.link{width: 100px; height: 100px; left: -15px; top: -55px;}
	div.optimaBlock div.introWrap p.link img{width: 100px; height: 100px;}
	div.optimaBlock div.introWrap p.lead{margin: 0 0 40px;}
	div.optimaBlock div.introWrap div.reason{padding: 0;}
	div.optimaBlock div.introWrap div.reason div{float: none; width: auto; display: block; padding: 25px 20px 35px;}
	div.optimaBlock div.introWrap div.reason div.left{}
    div.optimaBlock div.introWrap div.reason div.right{}
	div.optimaBlock div.introWrap div.reason div h4{padding: 0 0 13px; margin: 0 0 15px; width: 100%; font-size: 2.0rem;}
    div.optimaBlock div.introWrap div.reason div h4::after{left: 0; top: inherit; bottom: 0; margin: 0 auto; width: 40px; border-right: none; border-bottom: 1px solid #2dafb8;}

	div.optimaBlock div.introWrap div.reason div p{padding: 0; margin: 0; width: 100%;}
    
    div.optimaBlock div.functionWrap1{width: auto; margin: 0 auto;}
    div.optimaBlock div.functionWrap1 div.section{display: block; padding: 0 0 30px;}
    div.optimaBlock div.functionWrap1 div.section:first-child{}
    div.optimaBlock div.functionWrap1 div.titleBlock{width: auto;}
    div.optimaBlock div.functionWrap1 div.titleBlock.t1{padding: 0;}
    div.optimaBlock div.functionWrap1 div.titleBlock.t2{padding: 0;}
    div.optimaBlock div.functionWrap1 div.phoneBlock{width: 330px; height: 520px; margin: -40px calc(50% - 165px) -30px; transform: scale(0.8);}
    div.optimaBlock div.functionWrap1 div.base{}
    div.optimaBlock div.functionWrap1 div.base::after{}
    div.optimaBlock div.functionWrap1 ul.imgList{}
    div.optimaBlock div.functionWrap1 ul.imgList li{}
    div.optimaBlock div.functionWrap1 ul.imgList li::before{}
    div.optimaBlock div.functionWrap1 h3{font-size: 3.1rem; line-height: 1.4; letter-spacing: -0.02em; margin: 0 0 22px;}
    div.optimaBlock div.functionWrap1 h3 img{width: 208px; height: 88px;}
    div.optimaBlock div.functionWrap1 h3 span{}
    div.optimaBlock div.functionWrap1 p{font-size: 1.4rem;}
    div.optimaBlock div.functionWrap1 p.cap{line-height: 45px; font-size: 1.4rem; margin: 0 0 12px;}
    div.optimaBlock div.functionWrap1 p.cap.c1{background-size: contain; padding: 0 0 0 45px;}
    div.optimaBlock div.functionWrap1 p.cap.c2{background-size: contain; padding: 0 0 0 56px;}

    div.optimaBlock div.functionWrap2{}
    div.optimaBlock div.functionWrap2 ul{}
    div.optimaBlock div.functionWrap2 ul li::before{}
    div.optimaBlock div.functionWrap2 ul.functionTabList{width: 280px; margin: 0 auto 15px; vertical-align: top;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li{padding: 0 5px; width: 80px; vertical-align: top;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li:nth-child(1),
    div.optimaBlock div.functionWrap2 ul.functionTabList li:nth-child(4){padding-left: 0;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li:nth-child(3),
    div.optimaBlock div.functionWrap2 ul.functionTabList li:nth-child(6){padding-right: 0;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li img{width: 60px; height: 60px;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li:hover{opacity: 1; transform: translateY(0);}
    div.optimaBlock div.functionWrap2 ul.functionTabList li p.img{margin: 0 0 5px;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li p.title{font-size: 1.4rem; line-height: 1.5; margin: 0 0 10px;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li.on{}
    div.optimaBlock div.functionWrap2 ul.functionTabList li.on::after{display: none;}
    div.optimaBlock div.functionWrap2 ul.functionTabList li.on:hover{opacity: 1; transform: translateY(0);}
    div.optimaBlock div.functionWrap2 ul.functionTabList li.on p.title{}
    div.optimaBlock div.functionWrap2 div.functionDesWrap{padding: 0;}
    div.optimaBlock div.functionWrap2 div.functionDesWrap div.block{}
    div.optimaBlock div.functionWrap2 div.functionDesWrap div.block.on{}
    div.optimaBlock div.functionWrap2 div.functionDesWrap div.block p{}
    div.optimaBlock div.functionWrap2 div.functionSSWrap{width: calc(100% + 40px); margin: 0 -20px 10px;}
    div.optimaBlock div.functionWrap2 div.inside{padding: 12px 45px 20px; width: 230px; height: 144px; margin: 0 auto 30px;}
    div.optimaBlock div.functionWrap2 div.inside::after{background-size: 320px 176px; width: 320px; height: 176px;}
    div.optimaBlock div.functionWrap2 div.ssBelt{margin: 0 0 30px;}
    div.optimaBlock div.functionWrap2 div.ssBelt div.block{}
    div.optimaBlock div.functionWrap2 div.ssBelt p.img{width: 230px; height: 144px;}
    div.optimaBlock div.functionWrap2 div.ssBelt p.img img{width: 230px; height: auto;}
    div.optimaBlock div.functionWrap2 p.btn{width: 10px; height: 25px; top: inherit; bottom: 18px;}
    div.optimaBlock div.functionWrap2 p.btn img{width: 10px; height: 25px;}
    div.optimaBlock div.functionWrap2 p.btnFuncLeft{left: 20px;}
    div.optimaBlock div.functionWrap2 p.btnFuncRight{right: 20px;}
    div.optimaBlock div.functionWrap2 ul.pointList{margin: 0 0 20px;}
    div.optimaBlock div.functionWrap2 ul.pointList li{}
    div.optimaBlock div.functionWrap2 ul.pointList li.on{}

	div.optimaBlock div.functionWrap{}

	div.optimaBlock p.example{}

	div.optimaBlock div.specWrap{margin: 0 0 30px;}
	div.optimaBlock div.specWrap div.line{display: block; padding: 0;}
	div.optimaBlock div.specWrap div.line.first{padding: 0; display: block; width: auto; height: auto;}
	div.optimaBlock div.specWrap div.line.first div.block{width: auto; margin: 0 0 20px; padding: 0 15px;}
	div.optimaBlock div.specWrap div.line.first div.block h3,
	div.optimaBlock div.specWrap div.line.first div.block p,
	div.optimaBlock div.specWrap div.line.first div.block a{}
	div.optimaBlock div.specWrap div.line.first div.block h3{font-size: 2.3rem; margin: 0; padding: 25px 0 10px;}
	div.optimaBlock div.specWrap div.line.first div.block p.lead{}
	div.optimaBlock div.specWrap div.line.first div.block p.price{}
	div.optimaBlock div.specWrap div.line.first div.block p.link{margin: 0; padding: 0 0 30px;}
	div.optimaBlock div.specWrap div.line.first div.block p.link a{}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(1){border-radius: 5px;}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(2){border-radius: 5px; width: auto; margin: 0 0 20px;}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(2)::after{}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(2) h3{margin: 0;}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(2) p.link a{width: 160px;}
	div.optimaBlock div.specWrap div.line.first div.block:nth-child(3){border-radius: 5px;}
    
    div.optimaBlock div.specWrap div.specCapWrap{height: auto;}
    div.optimaBlock div.specWrap div.specCapWrap.on{}
    div.optimaBlock div.specWrap div.specCapWrap.on div.line.first{position: static; left: inherit; top: inherit; right: inherit; height: auto;}
    div.optimaBlock div.specWrap div.specCapWrap.on.out div.line.first{top: inherit;}
	
	div.optimaBlock div.specWrap div.example{background: #FFF; border-radius: 5px; padding: 20px; margin: 0 0 20px;}
	div.optimaBlock div.specWrap div.example dl{font-size: 1.3rem; _zoom: 1; overflow: hidden; margin: 0;}
	div.optimaBlock div.specWrap div.example dl dt{float: left;}
	div.optimaBlock div.specWrap div.example dl dd{padding: 0 0 0 30px;}

	div.optimaBlock div.specWrap div.titleBlock{width: auto; border-right: none; border-radius: 5px 5px 0 0;}
	div.optimaBlock div.specWrap div.titleBlock h4{}
	div.optimaBlock div.specWrap div.titleBlock h4::before{}
	div.optimaBlock div.specWrap div.titleBlock p{}
	div.optimaBlock div.specWrap ul{width: auto; margin: 0 0 20px; padding: 0; border-radius: 0 0 5px 5px; overflow: hidden;}
	div.optimaBlock div.specWrap ul li{width: 33%; font-size: 1.8rem; padding: 12px 0 5px; display: block;}
	div.optimaBlock div.specWrap ul li:nth-child(2){width: 34%;}
	div.optimaBlock div.specWrap ul::before{display: none;}
	div.optimaBlock div.specWrap ul::after{display: none;}
	div.optimaBlock div.specWrap ul li::before{font-size: 1.2rem; line-height: 1; color: #FFF; display: block; border: none; position: relative; left: inherit; top: inherit; width: auto; height: auto; border-radius: 0;}
	div.optimaBlock div.specWrap ul li:nth-child(1){background: #4abad3; color: #FFF;}
	div.optimaBlock div.specWrap ul li:nth-child(1)::before{content: "Basic";}
	div.optimaBlock div.specWrap ul li:nth-child(2){background: #0b5e8c; color: #FFF;}
	div.optimaBlock div.specWrap ul li:nth-child(2)::before{content: "Plus";}
	div.optimaBlock div.specWrap ul li:nth-child(3){background: #13102d; color: #FFF;}
	div.optimaBlock div.specWrap ul li:nth-child(3)::before{content: "Enterprise";}

	div.optimaBlock div.specWrap div.line:last-child ul::before{}
	div.optimaBlock div.specWrap div.line:last-child ul::after{}
    
    div.optimaBlock ul.logoList{margin: 0 0 30px; width: 100%;}
	div.optimaBlock ul.logoList li{width: 33.3%;}
    div.optimaBlock ul.logoList li img{width: 100%; height: auto;}

    div.optimaBlock ul.simTabList{}
    div.optimaBlock ul.simTabList li{margin: 0 0 5px; padding: 0 0 20px; width: 70px;}
    div.optimaBlock ul.simTabList li:hover{opacity: 1; transform: translateY(0);}
    div.optimaBlock ul.simTabList li img{width: 70px; height: 70px;}
    div.optimaBlock ul.simTabList li p{font-size: 1.3rem; line-height: 1.6;}
    div.optimaBlock ul.simTabList li.on{}
    div.optimaBlock ul.simTabList li.on p{}
    div.optimaBlock ul.simTabList li.on:hover{}
    div.optimaBlock ul.simTabList li.on::after{}
    
	div.optimaBlock div.simWrap{}
	div.optimaBlock div.simWrap div.topBlock{padding: 25px 0 15px;}
	div.optimaBlock div.simWrap div.topBlock p.mark{float: none; margin-bottom: 25px;}
	div.optimaBlock div.simWrap div.topBlock p.txt{padding: 0 20px 0 0;}
	div.optimaBlock div.simWrap div.topBlock p.note{padding: 0 30px;}
	div.optimaBlock div.simWrap div.topBlock p.result{margin: 0 15px 0 0;}
	div.optimaBlock div.simWrap div.topBlock p.result font{}
	div.optimaBlock div.simWrap div.topBlock form{justify-content: center; flex-wrap: wrap; height: auto; padding: 0 30px; margin: 0 0 -5px;}
	div.optimaBlock div.simWrap div.topBlock input{height: 60px; text-align: center; width: calc(100% - 160px);}
	div.optimaBlock div.simWrap div.topBlock button{height: 60px; width: 100%; margin: 0 0 20px;}
	div.optimaBlock div.simWrap div.bottomBlock{padding: 35px 30px 25px;}
	div.optimaBlock div.simWrap div.bottomBlock p.lead{}

	div.optimaBlock div.optimaNewsWrap{margin: -10px 0 30px;}
	div.optimaBlock div.optimaNewsWrap dl{margin: 0;}
	div.optimaBlock div.optimaNewsWrap dt{width: 95px;}
	div.optimaBlock div.optimaNewsWrap dd.cat{padding: 2px 0 5px 0;}
    div.optimaBlock div.optimaNewsWrap dd.title{clear: both; padding: 0;}
	div.optimaBlock div.optimaNewsWrap dd a{}
	div.optimaBlock div.optimaNewsWrap dd a:hover{}
	div.optimaBlock div.optimaNewsWrap dd a::after{}

	div.optimaBlock h3.faq{font-size: 2.0rem; margin: 0 0 25px; padding: 0 0 0 20px;}
	div.optimaBlock div.faqWrap{margin: 0 0 35px;}
	div.optimaBlock div.faqWrap div.block{padding: 16px 20px 0px 20px;}
	div.optimaBlock div.faqWrap div.answer{padding: 5px 0 15px 25px;}
	div.optimaBlock div.faqWrap div.answer::before{}
	div.optimaBlock div.faqWrap div.answer p{}
	div.optimaBlock div.faqWrap div.answer p.tel{}
	div.optimaBlock div.faqWrap div.answer p.tel small{}
	div.optimaBlock div.faqWrap div.answer p.logo img{width: 90px; height: auto; padding: 0 5px 5px 0;}
	div.optimaBlock div.faqWrap h4{font-size: 1.8rem; padding: 3px 35px 18px 25px;}
	div.optimaBlock div.faqWrap h4::before{}

	div.optimaBlock p.toggleBtn{padding: 25px 0 0 0; width: 30px; height: 10px; line-height: 1.5; background: url(/assets/img/top/btn_news_open.svg) no-repeat center top; background-size: 24px 24px; text-align: center; font-weight: bold; font-size: 1.0rem; position: absolute; right: 15px; top: 22px;}
	div.optimaBlock p.toggleBtn span.close{}
	div.optimaBlock p.toggleBtn.on{background: url(/assets/img/top/btn_news_close.svg) no-repeat center top; background-size: 24px 24px;}
	div.optimaBlock p.toggleBtn.on span.open{}
	div.optimaBlock p.toggleBtn.on span.close{}
	div.optimaBlock p.toggleBtn.newsBtn{top: 48px;}

	div.optimaBlock.white{}
	div.optimaBlock.black{}
	div.optimaBlock.black h2{}
	div.optimaBlock#faq{margin-bottom: -70px;}
    
    p.fixSimBtn{width: calc(100% - 40px); height: 55px; bottom: -55px; right: 20px; transition: bottom 0.5s ease;}
    p.fixSimBtn.fixed{bottom: 10px;}
    p.fixSimBtn a{border-radius: 6px; font-size: 1.4rem;}
    p.fixSimBtn a span{padding: 0 0 0 30px; background-size: 16px 22px;}
	
	/* ABOUT */
	div.pageMainWrap.company div.inner{padding: 40px 20px 25px;}
	div.pageMainWrap.company div.inner h2{font-size: 2.0rem; margin: 0 0 30px;}
	div.pageMainWrap.company div.inner p{}
	div.mainContent.page.company{}
	div.spacer.company{padding-bottom: 40px;}
	div.companyBlock{padding: 60px 0 0; background: #FFF;}
	div.companyBlock.gray{}
	div.companyBlock.gray *{}
	div.companyBlock div.inner{width: auto; margin: -60px auto 0; padding: 60px 20px 0;}
	div.companyBlock table{margin: 0;}
	div.companyBlock table ul{}
	div.companyBlock table th{width: 30%;}
	div.companyBlock #sysmap{height: 450px;}
	div.companyBlock div.mapBottom{padding: 0 0 20px;}
	div.companyBlock div.mapBottom div.right{width: 100%; float: none;}
	div.companyBlock div.mapBottom div.left{width: 100%; float: none;}
	div.companyBlock#history div.inner{padding-bottom: 60px;}
	div.companyBlock#history table{margin: -10px 0 0;}
	div.companyBlock#history table th,
	div.companyBlock#history table td{padding: 12px 0;}
	div.companyBlock#history table th{width: 50px;}
	
	/* CONTACT */
	div.mainContent ul.contactFlow{ margin: 0 0 30px;}
	div.mainContent ul.contactFlow li{line-height: 1.5; font-size: 1.3rem; text-align: left; text-indent: 5px; padding: 10px 0 10px 20px; min-height: 28px; vertical-align: middle;}
	div.mainContent ul.contactFlow li::before{}
	div.mainContent ul.contactFlow li::after{}
	div.mainContent ul.contactFlow li:first-child{padding-left: 10px;}
	div.mainContent ul.contactFlow li:last-child{padding-right: 5px;}
	div.mainContent ul.contactFlow li:last-child:after{}
	div.mainContent ul.contactFlow li.active{}
	div.mainContent ul.contactFlow li.active::after{}
	div.mainContent div.contactIndex{padding: 30px 20px; display: block;}
	div.mainContent div.contactIndex h2{text-align: center; font-size: 2.0rem; margin: 0 0 25px;}
	div.mainContent div.contactIndex p{}
	div.mainContent div.contactIndex.first{margin-top: 35px;}
	div.mainContent div.contactIndex.last{margin-bottom: 30px;}
	
	div.mainContent div.inputWrap{padding: 25px 20px 40px; margin: 0 0 30px;}
	div.mainContent div.inputWrap table{margin: 0 0 15px;}
	div.mainContent div.inputWrap table th,
	div.mainContent div.inputWrap table td{display: block; padding: 0 0 15px;}
	div.mainContent div.inputWrap table th{width: 100%; padding: 10px 0 10px 0; font-weight: bold;}
	div.mainContent div.inputWrap span.required{line-height: 1.7;}
	div.mainContent div.inputWrap input{padding: 18px 15px; width: calc(100% - 30px);}
	div.mainContent div.inputWrap label{display: block; padding: 5px 0; width: 100%;}
	div.mainContent div.inputWrap label input{}
	div.mainContent div.inputWrap label span{padding-left: 25px;  margin-right: 0;}
	div.mainContent div.inputWrap label span::before{}
	div.mainContent div.inputWrap input:checked + span{}
	div.mainContent div.inputWrap input:checked + span::before{}
	div.mainContent div.inputWrap input:checked + span::after{}
	div.mainContent div.agreeCheck{margin: 0 0 30px;}
	div.mainContent div.agreeCheck label{}
	div.mainContent div.agreeCheck label span::before{}
	div.mainContent div.inputWrap textarea{}
	div.mainContent div.inputWrap ul.inner{padding: 0 0 10px 25px;}
	div.mainContent div.inputWrap ul.inner::before{left: 0; top: 16px;}
	div.mainContent div.inputWrap ul.inner label{font-size: 1.4rem; line-height: 25px;}
	div.mainContent div.inputWrap ul.inner label span{}
	div.mainContent div.inputWrap ul.inner li{display: block;}
	div.mainContent div.privacyWrap{height: 200px; margin: 0 0 30px; -webkit-overflow-scrolling: touch;}
	div.mainContent div.privacyWrap div.content{padding: 20px 20px 0;}
	div.mainContent div.privacyWrap div.content p{}
	div.mainContent button.submit{width: 100%; text-indent: -7px;}
	div.mainContent button.submit.en{font-size: 1.55rem;}
	div.mainContent button.submit.disabled{}
    
    div.mainContent ul.pagenation.newOld{text-align: center; padding: 0px 0 30px; margin: -10px 0 0; text-align: center;}
    div.mainContent ul.pagenation.newOld li{}
    div.mainContent ul.pagenation.newOld li::before{}
    div.mainContent ul.pagenation.newOld li::after{}
    div.mainContent ul.pagenation.newOld li a{}
    div.mainContent ul.pagenation.newOld li.on a{}
    div.mainContent ul.pagenation.newOld li:last-child{}
    div.mainContent ul.pagenation.newOld li:last-child::after{}
    
    /* NEWS */
    div.mainContent div.newsSingleTop h1{font-size: 2.4rem;}
        
	/* INDEX */
	header.mainHeader.index{}
	header.mainHeader.index.on{}
	header.mainHeader.index.active{background: #2db0b9;}
	div.mainContent.index{padding: 60px 0 0;}
	div.mainContent.index h2{margin: 0 0 20px; font-size: 2.4rem;}
	div.mainContent.index p.lead{margin: 0 0 30px;}
	div.indexMainVisual{min-height: 480px;}
    
    div.indexMainVisual ul.imgList{position: absolute; width: 100%; min-width: 200px; height: 60%; left: inherit; right: 10px; top: inherit; bottom: 5%;}
    div.indexMainVisual ul.imgList li{transform: translate(-50px,25px)}
	div.indexMainVisual ul.imgList li.img1{background-image: url(/assets/img/top/t_1_sp.png);}
	div.indexMainVisual ul.imgList li.img2{background-image: url(/assets/img/top/t_2_sp.png);}
	div.indexMainVisual ul.imgList li.img3{background-image: url(/assets/img/top/t_3_sp.png);}
	div.indexMainVisual div.captionBlock{width: 100%; min-width: 200px; height: 150px; position: absolute; left: 20px; top: 15%; bottom: inherit; margin: auto;}
	div.indexMainVisual div.captionBlock p{text-align: left; margin: 0 0 13px;}
	div.indexMainVisual div.captionBlock p.title{margin: 0 0 18px; width: 260px;}
    div.indexMainVisual div.captionBlock p.title img{width: 260px; height: 85px;}
    div.indexMainVisual div.captionBlock p.lead1{font-size: 1.75rem;}
    div.indexMainVisual div.captionBlock p.lead2{font-size: 1.4rem;}
    div.indexMainVisual p.scrollMark{width: 30px; height: 15px; bottom: 60px;}
	div.indexMainVisual p.scrollMark img{width: 30px; height: 15px;}
	div.indexNewsWrap{max-height: 70px; margin: -35px 10px 10px; padding: 15px 40px 15px 15px; width: calc(100% - 20px); min-width: 200px;}
    div.indexNewsWrap div.inner{max-height: 40px; margin: 0 0 15px; overflow: hidden; transition: max-height 0.4s linear;}
    div.indexNewsWrap div.btnWrap{padding: 0 0 0 25px;}
    div.indexNewsWrap.on{max-height: 1000px;}
    div.indexNewsWrap.on div.inner{max-height: 1000px;}
	div.indexNewsWrap dl{margin: 0 0 13px; padding: 0 0 10px;}
	div.indexNewsWrap dl:last-child{margin: 0 0 20px;}
	div.indexNewsWrap dl dt{line-height: 19px; font-size: 1.35rem; width: 85px;}
	div.indexNewsWrap dl dd{padding: 0; display: block; line-height: 21px; font-size: 1.4rem;}
    div.indexNewsWrap dl dd.cat{padding: 0 0 2px 0;}
    div.indexNewsWrap dl dd.cat span{line-height: 16px; font-size: 1.2rem;}
    div.indexNewsWrap dl dd.title{clear: both; padding: 0;}
	div.indexNewsWrap dl a{vertical-align: middle;}
	div.indexNewsWrap dl a:hover{text-decoration: none;}
	div.indexNewsWrap dl a.pdf::after{font-size: 1.0rem; line-height: 13px; padding: 0 8px; margin: 3px 8px 0; border: 1px solid #333c43; vertical-align: top;}

	div.indexNewsWrap dl p{ font-size: 1.4rem;}
	div.indexNewsWrap p.toggleBtn{padding: 25px 0 0 0; width: 30px; height: 10px; line-height: 1.5; background: url(/assets/img/top/btn_news_open.svg) no-repeat center top; background-size: 24px 24px; text-align: center; font-weight: bold; font-size: 1.0rem; position: absolute; right: 10px; top: 15px;}
	div.indexNewsWrap p.toggleBtn span.close{}
	div.indexNewsWrap p.toggleBtn.on{background: url(/assets/img/top/btn_news_close.svg) no-repeat center top; background-size: 24px 24px;}

	div.topSolutionsWrap{padding: 30px 0 60px; margin: 0 auto; width: calc(100% - 40px);}
	div.topSolutionsWrap div.contentArea{display: block; width: 100%; margin: 0;}
    div.topSolutionsWrap div.contentArea.last{margin: 0 0 40px;}
    div.topSolutionsWrap div.block{display: block; padding: 0; width: 100%; border-bottom: 1px solid #e4e4e4;}
    div.topSolutionsWrap div.block.optima{padding: 0 0 10px; border: none;}
    div.topSolutionsWrap div.block:first-child{}
    div.topSolutionsWrap div.block:last-child{}
    div.topSolutionsWrap div.block a{display: block; box-shadow: none; background: none; padding: 30px 0; transition: none;}
    div.topSolutionsWrap div.block a p{}
    div.topSolutionsWrap div.block a::after{right: 0; top: 50px; bottom: auto; margin: auto 0; transition: none;}
    div.topSolutionsWrap div.block a:hover{opacity: 1; box-shadow: none;}
    div.topSolutionsWrap div.block a:hover::after{right: 0;}
    div.topSolutionsWrap div.block.optima a{width: calc(100% + 20px); padding-left: 0; padding-right: 0; margin: 0 -10px; display: block; background: #FFF; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1); padding: 40px 0; border-radius: 6px; text-align: center;}
    div.topSolutionsWrap div.block.optima a::after{right: 15px; top: 60px;}
    div.topSolutionsWrap div.block.optima a p.img{padding: 10px 0 30px; width: 100%; text-align: center;}
    div.topSolutionsWrap div.block.optima a p.img img{width: 240px; height: 120px; margin: 0 auto;}
    div.topSolutionsWrap div.block.optima a div.titleBlock{text-align: center; display: block; width: 100%; padding: 0;}
    div.topSolutionsWrap div.block.optima a div.titleBlock img{width: 150px; height: 33px;}
    div.topSolutionsWrap div.block.optima a div.titleBlock p{padding: 0 0 10px;}
    div.topSolutionsWrap h3{margin: 0 0 20px;}
    div.topSolutionsWrap h3 span{}
    div.topSolutionsWrap h3 span.ja{}
    div.topSolutionsWrap p{}
    div.topSolutionsWrap p.img{float: left;}
    div.topSolutionsWrap p.img img{width: 112px; height: 98px;}
    div.topSolutionsWrap p.img.show{}
    div.topSolutionsWrap p.spRight{text-align: left; padding-left: 125px;}
    div.topSolutionsWrap p.spRight.show{}
    div.topSolutionsWrap p.title{font-size: 1.7rem; margin: 0 0 8px;}
    div.topSolutionsWrap p.title.ja{font-size: 1.6rem; margin: 0 0 8px;}
    div.topSolutionsWrap p small{}

	div.topCompanyWrap{padding: 0 0 55px;}
	div.topCompanyWrap div.videoWrap{height: calc(100% - 270px); background: #FFF;}
	div.topCompanyWrap div.videoWrap #video{position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto;}
	div.topCompanyWrap div.inner{min-width: inherit; max-width: inherit; width: calc(100% - 80px); padding: 40px 20px 30px;}
	div.topCompanyWrap div.contentArea{width: 100%; margin: 0 auto 10px; display: flex; justify-content: space-between; flex-wrap: wrap;}
	div.topCompanyWrap div.contentArea div.block{display: block; width: 45%; width: calc(50% - 10px); margin: 0 0 20px;}
	div.topCompanyWrap div.contentArea p{margin: 0 0 5px;}
	div.topCompanyWrap div.contentArea p.title{font-size: 2.4rem;}
	div.topCompanyWrap div.contentArea img{width: 100%; height: auto; max-width: 150px;}
	div.topCompanyWrap h2,
	div.topCompanyWrap p{}
	div.topCompanyWrap dl{width: 100%;}
	
	/* FOOTER */
	footer.mainFooter{}
	footer.mainFooter div.mainBlock{padding: 35px 20px 40px;}
	footer.mainFooter div.mainBlock div.left{float: none; width: 100%; padding: 0 0 30px;}
	footer.mainFooter div.mainBlock div.left ul.parentList{display: block;}
	footer.mainFooter div.mainBlock div.left ul.parentList li.l1{width: 100%; padding: 0 0 0;}
	footer.mainFooter div.mainBlock div.left ul.parentList li.l2{width: 100%; padding: 0 0 0;}
	footer.mainFooter div.mainBlock div.left ul.parentList li.l3{width: 100%; padding: 0 0 10px;}
	footer.mainFooter div.mainBlock div.left ul.parentList li{display: block;}
	footer.mainFooter div.mainBlock div.left ul.parentList li a:hover{text-decoration: none;}
	footer.mainFooter div.mainBlock div.left ul.childList{padding: 12px 0 15px;}
	footer.mainFooter div.mainBlock div.left ul.childList li{}
	footer.mainFooter div.mainBlock div.left ul.childList li a{}
	footer.mainFooter div.mainBlock div.left ul.childList li a:hover{background-position: left 4px;}
	footer.mainFooter div.mainBlock div.right{float: none; width: 100%; padding: 30px 0 25px 0; border: none; border-top: 1px solid #dadada; border-bottom: 1px solid #dadada;}
	footer.mainFooter div.mainBlock div.right h3{font-size: 2.4rem; margin: 0 0 20px;}
	footer.mainFooter div.mainBlock div.right p.lead{font-size: 1.4rem;}
	footer.mainFooter div.mainBlock div.right p.commonBtn{}
	footer.mainFooter div.mainBlock div.right p.commonBtn a{}
	footer.mainFooter div.mainBlock div.info{position: relative; left: 0; bottom: inherit; width: 100%; padding: 35px 0 0;}
	footer.mainFooter div.mainBlock div.info p{}
	footer.mainFooter div.mainBlock div.info p.logo{float: none; padding: 0 0 10px 0;}
	footer.mainFooter div.mainBlock div.info p.logo img{height: 24px; width: auto;}
	footer.mainFooter div.mainBlock div.info p.name{}
	footer.mainFooter div.mainBlock div.info p.name small{}
	footer.mainFooter div.bottomBar{height: auto;}
	footer.mainFooter div.bottomBar p.btnTop{position: relative; width: 100%; height: 50px; margin: 0;}
	footer.mainFooter div.bottomBar p.btnTop a{display: block; text-align: center; background: #3b444b;}
	footer.mainFooter div.bottomBar p.btnTop img{width: 50px; height: 50px;}
	footer.mainFooter div.bottomBar p.copyright{position: relative; left: inherit; top: inherit; text-align: center; margin: 0; padding: 15px 0 20px;}
	footer.mainFooter div.bottomBar ul{padding: 25px 10px 0; text-align: center;}
	footer.mainFooter div.bottomBar ul li{padding: 0 0 0 15px; margin: 0 0 5px 15px;}
	footer.mainFooter div.bottomBar ul li::after{border-right: none; border-left: 1px solid #babdc0; right: inherit; left: 0;}
	footer.mainFooter div.bottomBar ul li:last-child{padding: 0 0 0 15px; margin: 0 0 5px 15px;}
	footer.mainFooter div.bottomBar ul li:last-child::after{display: block;}
	footer.mainFooter div.bottomBar ul li:first-child{padding: 0; margin-left: 0;}
	footer.mainFooter div.bottomBar ul li:first-child::after{display: none;}
	footer.mainFooter div.bottomBar ul li a{}
	footer.mainFooter div.bottomBar ul li a:hover{color: #babdc0;}
	
}
  
	/* mail-icon */
	header.mainHeader .icon_mail,
	footer.mainFooter div.mainBlock .icon_mail,
	div.mainContent .icon_mail{width: 16px; height: 16px; padding:0 8px 2px 0; vertical-align: middle;}
	div.optimaBlock .icon_mail{width: 16px; height: 16px; padding:0 2px 3px 0; vertical-align: middle;}
