@charset "utf-8";
/* CSS Document */
.font15{
	font-size: 15px;
	font-size: 1.5rem;
}
.font18{
	font-size: 18px;
	font-size: 1.8rem;
}
.font20{
	font-size: 20px;
	font-size: 2rem;
}
.font22{
	font-size: 22px;
	font-size: 2.2rem;
}
.bold{
	font-weight: bold;
}
/*.d-box{
	margin-bottom: 10vw;
}*/
.btn-01 a {
	padding: 10px 40px;
	box-sizing: border-box;
	border-radius: 27px;
	font-size: 28.8px;
	font-size: 2.88rem;
}
#container{
	margin-top: 10vw;
	font-family: 'Noto Sans JP', sans-serif;
}
h2{
	text-align: center;
	line-height: 6rem;
	color: #043CC8;
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 10vw;
}
h2 img{
	max-width: 351px;
	width: 80%;
}
h3{
	margin-bottom: 40px;
	font-size: 35px;
	font-size: 3.5rem;
	font-weight: normal;
	line-height: 7rem;
}
h3 img{
	margin-bottom: 30px;
}
#concept h3 span{
	font-size: 22px;
	font-size: 2.2rem;
}
#concept{
	position: relative;
	margin-bottom: 10vw;
}
#concept .font18{
	color: #043CC8;
	line-height: 1.5;
}
#concept .bold{
	display: inline-block;
	margin-bottom: 40px;
}
#concept figure{
	position: absolute;
	right: -10vw;
	top: -7vw;
	text-align: right;
}
#concept figure img{
	max-width: 773px;
	width:47vw;
}
#location{
	background: -moz-linear-gradient(top, #043c78 5%, #3C64FF);
  background: -webkit-linear-gradient(top, #043c78 5%, #3C64FF);
  background: linear-gradient(to bottom, #043c78 5%, #3C64FF);
}
#location .bg{
	background: url("../img/signage/bg1.png") no-repeat top center,url("../img/signage/bg2.png") no-repeat bottom -1px center;
	background-size: 100% auto;
	padding-bottom: 20vw;
}
#location #map{
	margin-bottom: 80px;
	height: 466px;
}
#location .font20{
	text-align: center;
	color: #fff;
	line-height: 1.5;
	margin-bottom: 80px;
}
#location section{
	margin-bottom: 7vw;
}
#location h4{
	color: #3C64FF;
	background-color: #fff;
	border-radius: 5px;
	padding: 10px 50px;
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	max-width: 217.5px;
	margin: 0 auto 40px;
}
#location .flex{
	justify-content: center;
	-webkit-justify-content: center;
}
#location .flex-wrap{
flex-wrap: wrap;
}
#location .flex-wrap li{
margin-bottom: 50px;
line-height: 1.2;	
}

#location li{
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	margin: 0 25px;
	width: 21%;
}
#location li img{
	margin-bottom: 20px;
	width: 100%;
}
#location li{
	display: inline-block;
	color: #fff;
}
#features{
	margin-top: -20vw;
}
#features.d-box{
	margin-bottom: 0;
}
#features .flex{
	flex-wrap: wrap;
	-ewbkit-flex-wrap: wrap;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	justify-content: space-around;
	-webkit-justify-content: space-around;
}
#features .flex div{
	width: 45%;
	margin-bottom: 9vw;
}
#features figure{
	text-align: right;
	margin-bottom: 60px;
}
#features h3{
	text-align: right;
	margin-bottom: 203px;
}
#features h4{
	font-size: 20px;
	font-size: 2rem;
	color: #043CC8;
	padding: 40px 0;
	text-align: center;
	border-top: 1px solid #043CC8;
	border-bottom: 1px solid #043CC8;
	margin-bottom: 40px;
	line-height: 1.3;
}
#features p{
	line-height: 1.5;
}
#features .btn-01{
	text-align: center;	
}
#features .btn-01 a {  
  background-color: #EC404D;
	color: #fff;
}
#document{
	background: -moz-linear-gradient(top, #043c78 5%, #3C64FF);
  background: -webkit-linear-gradient(top, #043c78 5%, #3C64FF);
  background: linear-gradient(to bottom, #043c78 5%, #3C64FF);
}
#document .bg{
	background: url("../img/signage/bg1.png") no-repeat top center,url("../img/signage/bg2.png") no-repeat bottom -1px center;
	background-size: 100% auto;
	padding-bottom: 20vw;
	padding-top: 20vw;
}
#document h3{
	text-align: right;
	color: #fff;
}
#document p {
	color: #fff;
	line-height: 2;
}
#document p.font22{
	text-align: right;
	margin-bottom: 120px;
	line-height: 1.5;
}
#document p.font18{
	margin-bottom: 80px;
}
#document .flex{
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
#document .flex > div{
	width: 60%;
}
#document figure{
	width: 30%;
}
#document figure img{
	width: 100%;
}
#document .btn-01 a{ 
  background-color: #fff;
	color: #EC404D;	
}
#contact h3{
	color: #3C64FF;
	font-size: 30px;
	font-size: 3rem;
	text-align: center;
}
#contact .flex{
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin-bottom: 9vw;
}
#contact li{
	width: 45%;
}
#contact li:first-child img{
	/* max-width: 249px; */
	width: 100%;
}
#contact li:last-child img{
	/* max-width: 366px; */
	width: 100%;
}
#contact li a{
	/* background-color: #043CC8; */
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
	/* padding: 10px; */
	box-sizing: border-box;
	border-radius: 10px;
	line-height: 2;
}


/* #contact li:first-child a::before{
	content: '';
	display: inline-block;
	background: url("../img/signage/icon-tel.png") no-repeat left center;
	background-size: contain;
	width: 38px;
	height: 38px;
	vertical-align: middle;
	margin-right: 10px;
}
#contact li:last-child a::before{
	content: '';
	display: inline-block;
	background: url("../img/signage/icon-mail.png") no-repeat left center;
	background-size: contain;
	width: 36px;
	height: 26px;
	vertical-align: middle;
	margin-right: 10px;
} */
#contact figure{
	text-align: center;
	margin-bottom: 8vw;
}
#contact figure img {
    max-width: 225px;
}
.f-reverse{
	flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
	
	h2 img {
    width: 50%;
}
	h3{
		line-height:1.5;
		font-size: 21px;
		font-size: 2.1rem;
	}
	h3 img{
		width: 30%;
	}
.btn-01 a {
    font-size: 20px;
    font-size: 2rem;
}
	#concept h3{
		line-height: 2.5;
		margin-bottom: 40px;
		font-size: 30px;
		font-size: 3rem;
		font-weight: normal;
	}
	#concept h3 span {
    line-height: 1.5;
    display: inline-block;
}
	.bg{
	}
	#concept .font18 {
    padding-bottom:10vh;
}
#concept .bold {
    line-height: 3;
}
	#concept figure {
		position: static;
		margin-bottom: 50px;
		text-align: right;
}
	#concept figure img{
		width: 100%;
		max-width: 475px;
		margin-right: -10vw;
		}
	#location h3{
		text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
	}
	#location .bg {
    background-size: auto 35%,100% auto;
		padding-bottom: 15vh;
}
	#location #map {
    margin-bottom: 50px;
}
	#location .font20 {
    margin-bottom: 50px;
}
	#location ul.flex{
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		justify-content: space-between;
		-webkit-justify-content: space-between;
	}
	location h4 {
    margin: 0 auto 30px;
}
	#location li img {
    margin-bottom: 10px;
}
	#location li {
    margin: 0;
	margin-bottom: 20px;
    width: 48%;
}
	#location li span {
   line-height: 1.5;
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
}
	#features {
    margin-top: 0;
		padding-bottom: 5vh;
}
	#features h3{
		margin-bottom: 40px;
	}
	#features h4 {
    line-height: 1.5;
}
	#features .flex{
		display: block;
	}
	#features .flex div {
    width: 100%;
}
#features figure{
	text-align: center;
}
	#document .bg {
    padding-top: 30vw;
		padding-bottom: 20vh;
}
	#document .flex{
		display: block;
	}
	#document .flex > div {
		width: 100%;
	}
	#document figure {
    	width: 80%;
		margin: 100px auto 50px;
}
	#document p.font22 {
    margin-bottom: 100px;
	font-size: 19px;
	font-size: 1.9rem;
}
	#document .btn-01{
		text-align: center;
	}
	#contact h3 {
    font-size: 21px;
    font-size: 2.1rem;
}
	#contact .flex{
		display: block;
	}
	#contact li{
		width: 100%;
	}
	#contact li:first-child{
		margin-bottom: 9vw;
	}
	#contact li:first-child img {
    /* width: 60%; */
}
	#contact li a {
    font-size: 18px;
    font-size: 1.8rem;
		line-height: 1.7;
		/* padding: 20px; */
}
	#contact li:first-child a::before {
    width: 28px;
    height: 28px;
		margin-top: -5px;
}
	#contact li:last-child a::before {
    width: 26px;
    height: 19px;
		margin-top: -3px;
}
	#contact figure {
    margin-bottom: 20px;
    margin-top: 10vh;
}
	#contact figure img {
    width: 30%;
}
}
@media screen and (max-width: 500px) {
	#concept figure img{
		margin-right: -26vw;
		}

}







