@charset "utf-8";
.sp{
	display: none!important;
}
.container{
	width: 80%;
	margin: 0 auto;
}
header{
	background: url(../images/bg01.svg) top left / cover no-repeat;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header nav ul{
	display: flex;
	align-items: stretch;
	padding-right: 60px;
}
header nav ul li a{
	color: #FFFFFF;
	text-decoration: none;
	padding: 30px;
	font-size: 1.125em;
	display: block;
}
header nav ul li:last-child a{
	background: #c94917;
}
#mv ul li img{
	width: 100%;
	height: auto;
}
#mv ul{
	position: relative;
	overflow: hidden;
}

#mv ul li{
	opacity: 0;
	transition: all 2s;
	position: absolute;
	top: 0;
	left: 0;
}
#mv ul li.ac{
	position: relative;
	opacity: 1;
}
@keyframes scaleDown {
  from {
  	transform: scale(1.1);
  }
  to {
  	transform: scale(1);
  }
}
ul.slide li.ac{
  animation-duration: 1s;
  animation-name: scaleDown;
}
.cont{
	padding: 140px 0;
}
.cont2{
	padding: 60px 0;
}
.bg1{
	background: url(../images/bg02.png) top left no-repeat;
}
.col50{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 100px;
}
.col50>*{
	width: 47%;
}
.pt1 h2{
	font-size: 2.5em;
	font-weight: bold;
	font-style: italic;
	color: #253064;
	line-height: 110%;
	margin-bottom: 30px;
}
.yt {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.yt video {
  width: 100%;
  height: 100%;
}
.bg2{
	position: relative;
	background: url(../images/bg03.svg) center center / 100% 100% no-repeat;
}
.bg2:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left /  100% 100% no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.c2 h2{
	text-align: center;
	font-size: 3.43em;
	color: #FFFFFF;
	margin-bottom: 70px;
}
.c2 h2 span{
	display: inline-block;
	background: url(../images/ic01.png) top left / auto 100% no-repeat;
	padding: 40px 0 0 130px;
}
.l3{
	display: flex;
	justify-content: space-between;
}
.l3 li{
	width: 30%;
	color: #FFFFFF;
}
.l3 h3{
	font-size: 1.875em;
	text-align: center;
	padding: 10px 0; 
}

.bt {
	text-align: center;
	margin-top: 60px;
}
.bt a{
	display: inline-block;
	color: #FFFFFF;
	text-decoration: none;
	font-size: 1.5em;
	border-radius: 100px;
	padding: 20px;
	min-width: 300px;
	background: #c94917;
}

.c3 h2{
	text-align: center;
	font-size: 3.43em;
	color: #253064;
	margin-bottom: 70px;
}
.c3 h2 span{
	display: inline-block;
	background: url(../images/ic02.png) top left / auto 100% no-repeat;
	padding: 40px 0 0 130px;
}
.pre{
	text-align: center;
	font-size: 1.18em;
	line-height: 200%;
	margin-bottom: 40px;
}
footer{
	background: #595757;
	padding: 60px 0 30px 0;
	color: #FFFFFF;
}
footer a{
	text-decoration: none;
	color: #FFFFFF;
}
footer nav{
	display: flex;
}
footer nav div{
	margin-right: 40px;
}
footer nav div:last-child{
	margin-right: 0;
}

footer nav h2{
	font-size: 1.1em;
	margin-bottom: 20px;
	font-weight: bold;
}
footer nav ul li,footer nav h3{
	font-size: 0.8em;
	margin-bottom: 5px;
}
footer nav ul.products{
	padding-left: 1em;
	border-left: 2px solid #FFFFFF;
}
p#copy{
	font-size: 0.8em;
	text-align: right;
	margin-top: 50px;
}
footer .footInfo h2{
	margin-bottom: 15px;
}
footer .footInfo ul li{

}
footer .footInfo ul li span{
	font-size: 0.8em;
	display: block;
	line-height: 180%;
}
footer .footInfo ul li strong{
	display: block;
	font-size: 0.9em;
	line-height: 180%;

	margin-bottom: 10px;
}


.bg3{
	background: url(../images/about_bg.jpg) center center / cover no-repeat;
}
.col50.pt2{
	margin-bottom: 0;
}
.col50.pt2 h2{
	font-size: 1.25em;
	margin-bottom: 10px;
}

.bg3 h2{
	color: #FFFFFF;
	font-size: 2.5em;
	text-align: center;
	margin-bottom: 60px;
}
.alist{
	width: 80%;
	margin: 0 auto;
}
.alist li{
	display: flex;
	background: url(../images/bg04.svg) top left / cover no-repeat;
	align-items: center;
	margin-bottom: 15px;
}
.alist li figure{
	width: 30%;
	margin-right: 40px;
}
.alist li p{
	color: #FFFFFF;
	font-size: 1.5em
}

.bn01{
	display: flex;
	align-items: center;
	border: 1px solid #4260a8;
	border-radius: 10px;
	padding: 20px;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 80px;
}
.bn01 figure{
	width: 30%;
}
.bn01 p strong{
	display: block;
	margin-bottom: 10px;
	font-size: 1.5em
}
.bn01 p{
}





.smenu{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.smenu li{
	width: 30%;
}
.smenu li a{
	display: block;
	background: #253064;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	font-size: 1.87em;
	padding: 20px;
}

.bg4{
	background: url(../images/bg05.svg) center center / 100% 100% no-repeat;
	position: relative;
	padding: 100px 0;
}
.bg4:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left / 100% 100% no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.bg5{
	background: url(../images/bg06.svg) center center / 100% 100% no-repeat;
	position: relative;
	padding: 100px 0;
}
.bg5:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left / 100% 100% no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.products.cont2{
	padding-bottom: 0;
}
.products div.wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.products div.wrap h2{
	border-bottom: 1px solid #251e1c;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.products div.wrap h2 strong{
	font-size: 3.87em;
	font-style: italic;
	font-weight: bold;
	color: #251e1c;
	display: block;
	line-height: 105%;
	margin-bottom: 20px;

}
.products div.wrap h2 span{
	display: block;
	font-size: 1.4em;
}
.products div.wrap p{
	font-size: 1.4em;
	margin-bottom: 30px;
}
.products div.wrap>div{
	width: calc(100% - 400px);
}
.products div.wrap>div figure{
	margin-top: 40px;
}

.feature{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}
.feature li{
	color: #FFFFFF;
	background: #253064;
	border-radius: 3px;
	font-size: 1.2em;
	width: calc(49% - 20px);
	margin-bottom: 10px;
	padding: 2px 10px;
	text-align: center;
}
.feature li.l2{
	color: #FFFFFF;
	background: #253064;
	border-radius: 3px;
	font-size: 1.2em;
	width: calc(100% - 20px);
	margin-bottom: 10px;
	padding: 2px 10px;
	text-align: center;
}
.bt.bt2 a{
	border-radius: 0;
}
.products .bg5 div.wrap{
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
}
.bgg{
	background: #403d3c;
}
.gallery{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 5%;
}
.gallery li{
	width: 24%;
	margin-bottom: 2%;
}
.bn01.partner{
	max-width: 818px;
	margin: 60px auto;
}
.bn01.partner figure{
	width: auto;
	margin-right: 20px;
}

.cont2.partner h2{
	font-size: 2.6em;
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 50px;
}

.partnerList{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.partnerList li{
	width: 42%;
	padding: 0 4%;
	margin-bottom: 7%;
}
.partnerList li{
	color: #FFFFFF;
}
.partnerList li h3{
	font-size: 1.875em;
	margin-top: 15px;
	margin-bottom: 10px;
	font-weight: bold;
}
.partnerList li p{
	margin-bottom: 15px;
}


.bg6{
	position: relative;
	background: url(../images/bg07.svg) center center / 100% 100% no-repeat;
}
.bg6:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left /  100% 100% no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.bg6 .col50 div{
	color: #FFFFFF;
}
.bg6 .col50 div h3{
	font-size: 1.875em;
	margin-top: 15px;
	margin-bottom: 10px;
	font-weight: bold;
}
.bg6 .col50 div p{
	margin-bottom: 15px;
}
.bt.bt3 a{
	border-radius: 0;
	font-size: 0.8em;
	color: #000000!important;
	min-width: 0;
	background: #ffffff;
	padding: 5px 15px;
}
.bt.bt3{
	text-align: left;
	margin-top: 20px;
}
.bt.bt3 img{
margin-right: 5px;
}

figure.center{
	text-align: center;
}

.l3 li a{
	color: inherit;
	text-decoration: none;
}
footer .footWrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .footInfo{
	width: 235px;
}
.foot_social{
	margin-top: 20px;
}
.np01{
	text-align: center;
	margin: 40px 0;
}