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


@media screen and (min-width:1001px){
	div.top_navi:not(.float_navi){
		display: none;
	}
}
body:first-of-type h1{
}
body:first-of-type h2,
h2{
	color: #0071cb;
	font-size: 30px;
	text-align: center;
	margin: 0;
	margin-bottom: 60px;
	line-height: 1.4
}


body:first-of-type #headSection h2{
	margin-bottom: 0;
}
body:first-of-type h3{
}
body:first-of-type h4{
}
body:first-of-type h5{
}
body:first-of-type h6 {
}
.inner{
	max-width: 1100px;
	margin: auto;
}
section{
	padding: 0 20px;
}
section.box1{
	padding-top: 60px;
}
section.box1,
section.box2,
section.box3{
	padding-bottom: 60px;
	background-color: #f2f2f2;
}

section.box4{
	background-color: #ccedff;
	padding: 60px 20px;
}
section.box5,
section.box7{
	padding: 60px 20px;
}
section.box6,
section.box8{
	padding: 60px 20px;
	background-color: #f2f2f2;
}

.mainvisual{
	padding: 0;
}
.mainvisual img{
	width: 100%;
}
section.top_navi .inner{
	width: 100%;
	max-width: 1080px;
}
.top_navi .left {
    display: flex;
    align-items: center;
	justify-content: flex-start;
}
.readtext{
	margin-bottom: 20px;
}
.box1 .inner{
	background-color: #fff;
	border-radius: 15px;
	padding: 40px;
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
.box1 .inner:after{
	content: "";
	width: 70px;
	height: 50px;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
	bottom: -48px;
	position: absolute;
	background-image: url(../images/top/box1_arrow.png);background-size: contain;
	background-position: top center;
	background-repeat: no-repeat;
}
.box1 .inner .left{

	flex-shrink: 0;
	margin-right: 30px;
}

.box1 h2,
body:first-of-type .box1 h2{	
	color: #00a3ff;
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 20px;
	text-align: left;
}
.box1 li{
	display: flex;
	align-items: center;
}
.box1 li p{
	font-size: 18px;
	font-weight: 700;
}
.box1 li:not(:last-child){
	margin-bottom: 10px;
}
.box1 li img{
	width: 54px;
	margin-right: 10px;
	flex-shrink: 0;
}
.fukidashi1{
	display: flex;
	align-items:flex-end;
	font-size: 18px;
	justify-content: center;
	font-weight: 500;
	margin-bottom: 10px;
}
.fukidashi1 p{text-align: center;
	}
.fukidashi1:before,
.fukidashi1:after{
	content:"";
    width: 1px;
    height: 30px;
    display: block;
    background-color: #000;
    margin: 0 10px;
    transform: rotate(-20deg);
}
.fukidashi1:after{
	transform: rotate(20deg);
}
.box3 ul{
margin-bottom: 60px;		
}
.box2 ul,
.box3 ul{
	display: flex;
}
.box2 ul li,
.box3 ul li{
	width: calc(33.33% - 80px / 3);
	box-sizing: border-box;
	background-color: #fff;
	padding: 20px;
	border-radius: 15px;
	position: relative
}
.box2 ul li:not(:first-child),
.box3 ul li:not(:first-child){
	margin-left: 40px;
}
.box2 ul li:not(:first-child):before{
      content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 0;
	top: 0;
	left: -30px;
	display:block;
    margin: auto;
    border-top: 20px solid transparent;
    border-left: 20px solid #0071cb;
    border-bottom: 20px solid transparent;
}
.box2 ul li h3,
.box3 ul li h3{
	font-size: 22px;
	color: #00a3ff;
	font-weight: 500;
	text-align: center;
}
.box2 ul li img,
.box3 ul li img{
	margin: 10px 0;
	
}

body:first-of-type .box4 h2 {
	margin-bottom: 10px;
}
.box4 li{
	padding: 20px;
	padding-bottom: 0;
	background-color: #fff;
	text-align: center;
	border-radius: 15px;
}
.box4 li:not(:last-child){
	margin-bottom: 20px;
}
.box4 li a.aco_open2{
	padding:10px 0;
	border-top: #0071cb solid 1px;	
	width: 100%;
	display: block;
	margin-top: 20px;
	color: #0071cb;
	font-weight: 500;
}
.box4 .subtitle{
	font-size: 14px;
	font-weight: 500;
}
.aco_inner2{
	display: none;
	border-top: #0071cb solid 1px;
	padding: 20px;
	margin-top: 20px;
	text-align: left;
}
@media screen and (min-width: 801px){

.aco_contents1{
	display: flex;
}
.aco_contents1 .left{
	width: 270px;
	flex-shrink: 0;
	margin-right: 20px;
	}
}

@media screen and (max-width: 800px){
.aco_contents1 .left{
	width: 270px;
	margin: auto;
	margin-bottom: 20px;
	}
}
.aco_contents2 img{
	margin: auto;
	margin-bottom: 20px;
}
.box5{
}

.box5 .inner{
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.box5 .inner .left{
}
.box5 .inner .right{
	width: 190px;
	flex-shrink: 0;
	margin-left: 30px;
}

.box6 .inner{
	display: flex;
	margin-bottom: 60px;
}
.box6 .left{
	width: 100%;
	margin-right: 30px;
	text-align: left;
	
}
	.sarabot_logo{
		width: 250px;
		flex-shrink: 0;
		margin: auto;
		margin-top: 20px;
	}
.box6 .right{
	color: #268cc0;
	font-size: 18px;
	font-weight:500;
	flex-shrink: 0;
	max-width: 640px;
	width: 100%;
}
.box6 .right ul{
	display: flex;
	align-items:stretch;
}
.box6 .right ul li{
	width: calc(33.33% - 70px / 3);
	display: flex;
	flex-direction: column;
	align-items:center;
	justify-content: space-between;
}
.box6 ul li:not(:first-child){
	margin-left: 35px;
}
.box6 .imgbox{
	position: relative;
	flex-shrink: 0;
	width: 100%;
}
.box6 ul li p{
	display: flex;
	align-items: center;
	height: 100%;
	flex-shrink: 1;
    line-height: 1.4;
    font-weight: 600;
}
.box6 ul li:not(:first-child) .imgbox:before{
      content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 0;
	top: 0;
	left: -25px;
	display:block;
    margin: auto;
    border-top: 15px solid transparent;
    border-left: 15px solid #268cc0;
    border-bottom: 15px solid transparent;
}

.icon_external{
	width: 20px;
	display: block;
	margin-right: 10px;
}
.box7{
}
.box7 .readtext{
	text-align: left;
}
.box7 h4{
margin-bottom: 20px;}
.box7 .inner ul{
	display: flex;
}
.box7 .inner li{
	padding: 20px;
	box-sizing: border-box;
	background-color: #e5f1fa;
	width:calc(33.33% - 80px / 3);
	border-radius: 15px;
}
.box7 .inner li:nth-child(2){
	width:calc(33.33% - 80px / 3);
}
.box7 .inner li:not(:first-child){
	margin-left: 30px;
}
.box7 dt{
	font-size: 20px;
	color: #0071bc;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
	width: 100%;
}
.box7 dd{
	font-size: 16px;
    font-weight: 400;
}
.box7 dd:before{
	content: "●";
	color: #00a3ff;
}
.box7 .inner li dl{
	/*display: flex;
	flex-wrap: wrap;
	justify-content: center;*/
}
.box7 .inner li:nth-child(2) dd{
	
	box-sizing: border-box;
	display: block;
	
}
.box8 .inner{
	margin-bottom: 60px;
}
.box8 .btn{
    max-width: 460px;
	margin: auto;
}
.technology{
	display: flex;
	justify-content: center;
}
.technology li{
	margin: 5px;
}
@media screen and (max-width: 1000px){
	section.top_navi{
		display: none;
	}
.box6 .inner {
    flex-direction: column;
	align-items: center;
}
	.box6 .left {
    width: 100%;
    margin-right: 0px;
		margin-bottom: 30px;
		display: flex;
		justify-content: space-between;
		display: flex;
}
	.sarabot_logo{
		width: 250px;
		flex-shrink: 0;
		margin: 0;
		margin-left: 30px;
	}
}
@media screen and (max-width: 800px){
	.box1 .inner{
		flex-direction: column;
		align-items: center;
		
	}
	.box1 .inner > div.left{
		margin: 0;
	}
	.box1 .inner > div.right{
		margin: 0;
		margin-top: 30px;
		max-width: 500px;
		width: 80%;
	}
	.box2 ul, .box3 ul{
		flex-direction: column;
	}
	
	.box2 ul li img,
	.box3 ul li img{
		max-width: 500px;
		width: 80%;
		margin:10px auto;
	}
	.box2 ul li,
	.box3 ul li{
		width: 100%;
		margin: 0;
	}
.box2 ul li:not(:first-child), .box3 ul li:not(:first-child) {
    margin-left: 00px;
	margin-top: 40px;
}
	.box2 ul li:not(:first-child):before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -30px;;
    bottom: auto;
		right: 0;
    left: 0px;
    display: block;
    margin: auto;
    border-left: 20px solid transparent;
    border-top: 20px solid #0071cb;
    border-right: 20px solid transparent;
    border-bottom: 00px solid transparent;
	}
	
	.box5 .inner{

		flex-direction: column;
		justify-content: center;
		align-items:center;
	}
	.box5 .inner .right{
		margin-top: 30px;
		margin-left: 0;
	}
	.box6 .left{
		flex-direction: column;		
	}
	.sarabot_logo{
		margin: auto;
		margin-top: 20px;
    max-width: 250px;
    width: 70%;
	}
	.box6 .right{
		
	}
	.box6 .right ul{
		flex-direction: column;
	}

	.box6 .right ul{
		align-items: center;
		
	}
	.box6 .right ul li {
		width: 100%;
		margin: auto;
		margin-bottom: 00px;
    flex-direction: row;
		position: relative;
    max-width: 410px;
    justify-content: flex-start;
}
	
.box6 ul li:not(:first-child) {
    margin-left: auto;
	margin-top: 40px;
	}
	.box6 ul li:not(:first-child) .imgbox:before{
		display: none;
	}
	.box6 .imgbox {
		width: 200px;
		margin-right: 20px;
    flex-shrink: 1;
	}
	
.box6 ul li p {
    width: 170px;
	flex-shrink: 0;
	}
	.box6 .right ul li:not(:first-child):before{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -30px;
    bottom: auto;
    right: 0;
    left: 0px;
    display: block;
    margin: auto;
    border-left: 20px solid transparent;
    border-top: 20px solid #0071cb;
    border-right: 20px solid transparent;
    border-bottom: 0px solid transparent;
}
	.box7 .inner ul{
		flex-direction: column;
	}
	.box7 .inner ul li{
		margin: 0;
		width: 100%;
	}
		.box7 .inner ul li img{
		margin: 0;
		width: 100%;
	}
	.box7 .inner li:not(:first-child){
		width: 100%;
		margin: 0;
		margin-top:20px;
	}
.technology{
	flex-wrap: wrap;
	}
.technology li{
	margin: 5px;
	width: 14%;
}
.technology li.size1{
	width: 30%;
	
}
	
}
.box8 .inner ul{
	display: flex;
	max-width: 1100px;
	width: 100%;
}
.box8 .inner ul li{
	width: calc(33.33% - 80px / 3);
	box-sizing: border-box;
	background-color: #fff;
	padding: 20px;
	border-radius: 15px;
}
.box8 ul li:not(:first-child){
    margin-left: 40px;
}
body:first-of-type .box8 h3{
	
	font-size: 22px;
    color: #00a3ff;
    font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 900px){
	.box8 .inner ul{	display: block;}
	.box8 .inner ul li{width: 100%;margin-bottom: 40px;}
	.box8 ul li:not(:first-child){ margin-left: 0px;}
}
@media screen and (max-width: 500px){
	
	
.box1 .inner {
	padding: 20px;
	}
	
.box1 h2, body:first-of-type .box1 h2 {
	font-size: 22px;
	}
body:first-of-type h2, h2 {
    color: #0071cb;
	font-size: 22px;
	}
.box1 li p {
	font-size: 16px;
	}
.fukidashi1 {
	font-size: 14px;
}
	.box8 .btn{
		flex-direction: column;
		align-items: center;
		
	}
	.box8 .btn a:not(:first-child){
		margin-top: 20px;
	}
}
.floatingbutton a{
	display: block;
	width: 15px;
	height: 15px;
	background: #A8A8A8;
	border-radius: 50px;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 2px solid #ffffff;
}
.floatingbutton a:hover{
	background: #808080;
	border: 2px solid #3C83D5;
}
.floatingbutton{
	position: fixed;
	right: 20px;
	height: 160px;
	top: 0;
	bottom: 0;
	width: 15px;
	margin: auto;
}