@charset "utf-8";

/* 共通 */
.sec-title{
	font-size: 35px;
	letter-spacing: 8px;	
}
.sec-title .mini{
	font-size: 24px;
	font-weight: 500;
	display: block;
	letter-spacing: 10px;
}
.more-btn a{
	font-size: 24px;
	display: block;
	letter-spacing: 5px;
	width: 250px;
	color: #000;
	border: 2px solid #000;
	text-align: center;
	padding: 3px 0;
	position: relative;
}
.more-btn a:after{
	content: "";
	background: url(../images/top/arrow-right.png) no-repeat;
	background-size: contain;
	width: 300px;
	height: 30px;
	display: block;
	position: absolute;
	left: 0;
	bottom: -50px;
	transition: .5s;
}
.more-btn a:hover{
	color: #fff;
	background: #000;
}
/* スクロール */
.slbl_scroll {
  position: absolute;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
	right: 1.7vw;
  bottom: 10px;
  z-index: 100;
}
.slbl_scroll>span{
	letter-spacing: 1px;
	font-weight: 300;
}
.slbl_scroll_bar {
  display: block;
  margin: 10px auto 0;
  width: 1px;
  height: 70px;
  background-color: #333;
  position: relative;
  z-index: 0;
}
.slbl_scroll_bar:after {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
  background-color: #FFE100;
	position: absolute;
	top: 0;
	left: -24.155vw;
	right: -24.155vw;
	margin: 0 auto;
	-webkit-animation: 3.2s scrollanimeB ease infinite 3.32s;
	animation: 3.2s scrollanimeB ease infinite 3.32s;
	transform: translate(0,-50%) scale(0)
}
.slbl_scroll_link {
  text-decoration: none;
  color: #000000;
  font-size: 2.899vw;
  display: none;
}
.slbl_scroll_text {
  font-size: 14px;
}
@-webkit-keyframes scrollanimeB {
	0%{
	  top: 0;
		opacity: 1;
	  transform: translate(0,-50%) scale(0)
	}
	5%{
	  top: 0;
	  opacity: 1;
	  transform: translate(0,-50%) scale(1)
	}
	75%{
	  top: 100%;
	  opacity: 1;
	  transform: translate(0,-50%) scale(1)
	}
	100%{
	  top: 100%;
	  opacity: 0;
	  transform: translate(0,-50%) scale(1)
	}
}
@keyframes scrollanimeB {
  0%{
    top: 0;
		opacity: 1;
    transform: translate(0,-50%) scale(0)
  }
	5%{
    top: 0;
    opacity: 1;
    transform: translate(0,-50%) scale(1)
  }
	75%{
    top: 100%;
    opacity: 1;
    transform: translate(0,-50%) scale(1)
  }
	100%{
    top: 100%;
    opacity: 0;
    transform: translate(0,-50%) scale(1)
 	}
}
.top-area{
	margin: 0px auto 0;
	padding-top: 40px;
	position: relative;
}
.top-area::before{
	content:"";
	background:#e8f3fb;
	width:50%;
	height:140%;
	position: absolute;
	top:40px;
	left:0;
	z-index:-1;
}
.top-area::after{
	content:"";
	background:#c1d1de;
	width:50%;
	height:105%;
	height:calc(100% + 50px);
	position: absolute;
	top:0;
	right:0;
	z-index:-1;
}
.main-text{
	font-size: 42px;
	position: absolute;
	left: 0;
	top: 27%;
	z-index: 10;
	letter-spacing: .2em;
}
.main-text span{
	background: #fff;
	padding:8px;
}
.slide-box h2.sub-text{
	font-size: 24px;
	position: absolute;
	left: 4%;
	top: 67%;
	z-index: 10;
	letter-spacing: .2em;
}
.slide-box h2.sub-text a{
	color:#39474f;
	background: #e5e1aa;
	padding:11px 52px 9px 20px;
}


.slide-box h2.sub-text::after{
	content:"";
	background: url(../images/common/arrow.svg);
	display: inline-block;
	background-size: 100%;
	width:31px;
	height: 11px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
.slide-box{
	width:85%;
	margin:0 auto;
	position: relative;
}




.problemsarea{
	background:#fff;
	padding:20px 40px 40px;
	margin-top: 50px;
	margin-bottom: 100px;
	position:relative;
}
.problemsarea::after{
	content: "";
	border-top: 50px solid #39474f;
  border-right: 85px solid transparent;
  border-left: 85px solid transparent;
  position: absolute;
  bottom:-50px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform:translateX(-50%);
}
.problemsarea h2{
	text-align: center;
	margin-top: -33px;
	margin-bottom: 30px;
}
.problems-list{
	display: flex;
	flex-wrap:wrap;
}
.problems-list li{
	background: #739ebf;
	border-radius: 8px;
	text-align: center;
	padding:0px;
	font-size: 18px;
	font-weight: bold;
	color:#fff;
	width:32%;
	margin-right: 2%;
	margin-bottom: 20px;
}
.problems-list li span{
	margin:8px;
	border:1px solid #fff;
	padding:13px;
	display: block;
	border-radius: 5px;
}
.problems-list li:nth-child(3n){
	margin-right: 0;
}

.choose-area{
	margin-top:60px;
	margin-bottom:90px;
}
.choose-area h2{
	text-align: center;
	margin-bottom: 30px;
	font-size: 38px;
}
.choose-area h2 span{
	background:#fff;
	padding:8px 30px 7px;
}
.choose__contents{
	display: flex;
	align-items: center;
}
.choose__contents__img{
	width:55%;
	margin-right: 3%;
}
.choose__contents__text{
	flex:1;
	font-size: 17px;
}
.choose__contents__text h3{
	margin-bottom: 20px;
	font-size: 25px;
}

.support-area{
	background:url(../images/top/suppotback.jpg) no-repeat;
	background-size: 100%;
	padding:60px 0;
	color: #fff;
	margin-bottom: 80px;
}
.support-area__contents{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 980px;
}
.support__img{
	width:45%;
	margin-left:5%;
}
.support__contents{
	font-size: 21px;
}
.support__contents h2{
	font-size: 40px;
}

.supportcase-area{
	margin-top: 60px;
	margin-bottom:60px;
}
.supportcase-area h2{
	text-align: center;
}
.case-list{
	display: flex;
}
.case-list li{
	width:31%;
	margin-right: 3.5%;
}
.case-list li:last-child{
	margin-right: 0;
}
.case-list li p{
	margin-top: 6px;
}

.service-area{
	margin: 100px auto 0;
	position: relative;
}
.service-area>.inner{
	position: relative;
}
.service-area .sec-title{
	position: relative;
	z-index: 10;
}
.service-area .sub-text{
	margin-top: 20px;
	font-size: 17px;
	letter-spacing: 3px;
	line-height: 2;
	position: relative;
	z-index: 10;
	background: rgba(255,255,255,.8);
	padding: 10px;
	width: 605px;
}
@media screen and (max-width:1100px){
	.service-area .sub-text{
		width: 540px;
	}
}
@media screen and (max-width:768px){
	.service-area .sub-text{
		margin-top: 25px;
		font-size: 16px;
	}
}
.service-area .sub-img{
	position: absolute;
	right: 0;
	top: 0;
	width: 55%;
	max-width: 780px;
	z-index: 2;
}
.service-area .sub-img2{
	margin: 50px auto 0 -10%;
	position: relative;
	width: 70%;
	z-index: -1;
}
.service-area .more-btn{
	position: absolute;
	right: 7vw;
	bottom: 7vw;
}
@media screen and (max-width:1360px){
	.service-area .more-btn{
		right: 2vw;
		bottom: 10vw;
	}
}
@media screen and (max-width:768px){
	.service-area .more-btn{
		right: 5%;
		bottom: 10vw;
	}
}
@media screen and (min-width:1600px){
	.service-area .more-btn{
		right: 0;
		bottom: 140px;
	}
}
.advantage-area{
	margin-top: 100px;
}
.advantage-box{
	margin-top: 50px;
	align-items: center;
}
@media screen and (max-width:1100px){
	.advantage-box{
		flex-direction: column;
	}
}
@media screen and (max-width:768px){
	.advantage-box{
		margin-top: 20px;
		font-size: 22px;
	}
}
.advantage-box .sub-text{
	font-size: 30px;
	font-weight: 900;
	width: 40%;
	line-height: 2;
	letter-spacing: 2px;
}
@media screen and (max-width:1100px){
	.advantage-box .sub-text{
		font-size: 26px;
		width: 100%;
	}
	.advantage-box .sub-text br{
		display: none;
	}
}
.advantage-box .sub-text2{
	font-size: 18px;
	line-height: 2.6;
	width: 60%;
	letter-spacing: 1px;
}
@media screen and (max-width:1100px){
	.advantage-box .sub-text2{
		margin-top: 20px;
		width: 100%;
	}
}
@media screen and (max-width:768px){
	.advantage-box .sub-text2{
		font-size: 17px;
	}
}
.advantage-list{
	margin-top: 100px;
	justify-content: space-around;
}
.advantage-list li{
	width: 25%;
	text-align: center;
}
.feature-text{
	margin-top: 30px;
	text-align: center;
	font-size: 21px;
	font-weight: 900;
	letter-spacing: 5px;
	line-height: 1.4;
}
@media screen and (max-width:768px){
	.feature-text{
		font-size: 19px;
		letter-spacing: 1px;
	}
}
.feature-text br{
	display: none;
}
@media screen and (max-width:990px){
	.feature-text br{
		display: block;
	}
}
.advantage-area .more-btn{
	margin-top: 50px;
}
.advantage-area .more-btn a{
	margin: 0 auto;
	width: 300px;
}
.advantage-area .more-btn a:after{
	width: 350px;
	height: 35px;
}
@media screen and (max-width:768px){
	.advantage-area .more-btn a:after{
		bottom: -50px;
	}
}
.works-area{
	margin-top: 150px;
	padding: 100px 0;
	background: #e5e1aa;
}
.works-img{
	margin-top: 30px;
}
.works-img2{
	margin-top: 50px;
}
.works-area .more-btn{
	margin-top: 50px;
}
.works-area .more-btn a{
	margin: 0 auto;
	background: #fff;
}
.works-area .more-btn a:hover{
	background: #251814;
}
.sec-title.voice{
	margin-top: 150px;
}
.voice-img{
	margin-top: 30px;
}
.company-area{
	margin-top: 100px;
}
@media screen and (max-width:768px){
	.company-area{
		margin: 0;
		display: none;
	}
}
.site-box{
	padding-bottom: 60px;
}
.site-area{
	margin-top: 150px;
}
.site-area h2{
	text-align: center;
}
.site-area .sec-title{
	border-bottom: 2px solid;
	padding-bottom: 10px;
}
.site-img{
	margin: 30px auto 0;
}
.site-more{
	margin: -50px auto 0;
	padding: 30px 20px 30px;
	max-width: 900px;
	background: #e8eff5;
	position: relative;
	justify-content: space-between;
	align-items: center;
}
.site-no{
	position: absolute;
	top: -22px;
	left: -8px;
	font-size: 36px;
	font-weight: bold;
}
.site-title{
	width: 40%;
	margin-right: 3%;
}
.site-more-contents{
	flex:1;
}
.site-title .main{
	margin-right: 20px;
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 2px;
	display: inline-block;
}
.site-title .main.bold{
	font-weight: 900;
}
.site-title .semi{
	font-size: 20px;
	font-weight: 900;
	letter-spacing: 2px;
}
.site-more .more-btn a{
	border: none;
	font-size: 18px;
	font-weight: 300;
	width: 150px;	
	text-align: left;
}
.site-more .more-btn a:hover{
	color: #3e7ab1;
	background: transparent;
}
.site-more .more-btn a:before{
	content: "";
	background: url(../images/top/top-target.png) no-repeat;
	background-size: contain;
	width: 22px;
	height: 22px;
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translate(0,-50%);	
}
.site-more .more-btn a:after{
	width: 150px;
  height: 14px;
  left: -10px;
  bottom: -15px;
}
.associated-area{
	margin-top: 100px;
}
.associated-area .sec-title{
	border-bottom: 2px solid;
	padding-bottom: 10px;
}
.associated-img{
	margin: 50px auto 0;
	max-width: 1030px;
}




.contactbox{
	background:#c5d2de;
	padding:45px;
	max-width:1000px;
}

.service-area{
	
}
.service-area h2{
	text-align: center;
}
.service-list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
}
.service-list li{
	width:49%;
	margin-right: 2%;
	margin-bottom: 22px;
	position: relative;
}
.service-list li::before{
	content:"";
	background: rgba(0, 0, 0, 0.39);
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
}
.service-list li img{
	width: 100%;
	vertical-align: bottom;
}
.service-list li p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	margin: auto;
	color:#fff;
	font-size:25px;
}
.service-list li:nth-child(2n){
	margin-right: 0;
}

.blog-area{
	margin-top: 100px;
}
.blog-list{
	margin-top: 50px;
	flex-wrap: wrap;
}
.blog-list li{
	margin: 0 calc(10% / 3) 40px 0;
	width: 22.5%;
}
.blog-list li:nth-of-type(4n){
	margin: 0 0 40px 0;
}
@media screen and (max-width:900px){
	.blog-list li{
		margin: 0 3.5% 30px 0;
		width: 31%;
	}
	.blog-list li:nth-of-type(4n){
		margin: 0 3.5% 30px 0;
	}
	.blog-list li:nth-of-type(3n){
		margin: 0 0 30px 0;
	}
	.blog-list li:nth-of-type(n+7){
		display: none;
	}
}

.blog-title{
	margin-top: 10px;
}
.blog-list time{
	margin-top: 5px;
	display: block;
	letter-spacing: 3px;
	letter-spacing: 2px;
  color: #989898;
  text-align: right;
}
.blog-area .more-btn{
	margin-top: 20px;
}
.blog-area .more-btn a{
	margin: 0 0 0 auto;
}
/* アニメーション */
.animation{
  opacity : 0;
  transform : translate(0, 50px);
  transition: all 1000ms ease-out;
}
.animation.fade-in{
  opacity : 1;
  transform : translate(0, 0);
}
/* NEWSエリア */
.newsarea{
	animation:fadeInUp03 1.33s ease-in-out 5s forwards;
	opacity:0;
}
.newsarea{
	position:fixed;
	bottom:0;
	right:0;
	z-index:996;
}
.ticker {
	margin: 0 auto;
	padding: 10px 15px;
	width: 400px;
	height: 75px !important;
	text-align: left;
	position: relative;
	overflow: hidden;
	background:#f0f0e4;
}
.ticker ul {
	width: 100%;
	position: relative;
}
.ticker ul li {
	width: 100%;
	display: none;
	font-size:13px;
}
.ticker ul li img{
	width:70px;
	height: auto;
	float:left;
	margin-right:10px;
}
.ticker ul li,.ticker ul li a{
	color:#373732;
}
.ticker ul li a:hover{
	color:#9f9f87;
}
.ticker ul li p,.ticker ul li a p{
	overflow:hidden;
}
@-webkit-keyframes fadeInUp03 {
	0% { opacity: 0; -webkit-transform: translateY(100px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}