@charset "utf-8";
.pc{
	display: none!important;
}

.container{
	width: 90%;
	margin: 0 auto;
}
header{
	position: relative;
		overflow: hidden;

}



p#sp_bt a{
	width: 35px;
	height: calc(100% - 34px);
	display: block;
	position: absolute;
	top: 17px;
	right: 10px;
	font-size: 1em;
	text-align: center;
	cursor: pointer;
	color: #668FCA;
	font-weight: bold;
	text-indent: 3000px;
/*	background: #FF0000;*/
}
p#sp_bt a:before{
	width: 100%;
	height: 4px;
	background: #FFFFFF;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
p#sp_bt a:after{
	width: 100%;
	height: 4px;
	background: #FFFFFF;
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

p#sp_bt a.act{
	position: fixed;
	z-index: 1001;
	height: auto;
	top: 24px;
}
p#sp_bt a.act:before{
	top: 0px;
	transform: rotate(-45deg);
}
p#sp_bt a.act:after{
	top: 0px;
	transform: rotate(45deg);
}
p#sp_bt a.act span:after{
	display: none;
}
p#sp_bt a.act span:before{
	display: none;
}

header{
	background: url(../images/bg01.svg) top left / cover no-repeat;
	padding: 10px;
}
header nav>ul{
	position: fixed;
	top: 0;
	right: -80%;
	background: url(../images/snavbg.png) bottom 30px left 30px / calc(70%) auto no-repeat rgba(0,0,0,0.7);
	width: 80%;
	height: calc(100% - 120px);
	z-index: 1000;
	padding-top: 60px;
	padding-bottom: 60px;
	overflow-y: scroll;
    transition: all 0.3s;
}
header nav>ul.act{
	right: 0;
}

header nav ul li a{
	color: #FFFFFF;
	text-decoration: none;
	padding: 10px 30px;
	font-size: 1.125em;
	display: block;
}
header nav ul li ul{
	margin-left: 70px;
	border-left: 3px solid #FFFFFF;

}
header nav ul li ul li a{
	padding: 7px 20px;
}

#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: 90px 0;
}
.cont2{
	padding: 60px 0;
}
.bg1{
	background: url(../images/bg02sp.png) top left no-repeat;
}
.col50{
}
.col50>*{
	margin-bottom: 40px;
}
.pt1 h2{
	font-size: 2em;
	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 / cover no-repeat;
}
.bg2:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left / cover no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.c2 h2{
	text-align: center;
	font-size: 2.5em;
	color: #FFFFFF;
	margin-bottom: 50px;
}
.c2 h2 span{
	display: inline-block;
	background: url(../images/ic01.png) top left / auto 100% no-repeat;
	padding: 10px 0 0 70px;
}
.l3{
}
.l3 li{
	color: #FFFFFF;
	margin-bottom: 40px;
}
.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;
	width: calc(100% - 40px);
	background: #c94917;
}

.c3 h2{
	text-align: center;
	font-size: 2.5em;
	color: #253064;
	margin-bottom: 50px;
}
.c3 h2 span{
	display: inline-block;
	background: url(../images/ic02.png) top left / auto 100% no-repeat;
	padding: 10px 0 0 70px;
}
.pre{
	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{
}
footer nav div{
	margin-bottom: 20px;
}
footer nav div:last-child{
	margin-right: 0;
}

footer nav h2{
	font-size: 1.1em;
	margin-bottom: 10px;
	font-weight: bold;
}
footer nav ul li,footer nav h3{
	font-size: 0.9em;
	margin-bottom: 5px;
}
footer nav ul.products{
	padding-left: 1em;
	border-left: 2px solid #FFFFFF;
}

p#copy{
	font-size: 0.8em;
	text-align: center;
	margin-top: 50px;
}
footer .footInfo h2{
	margin-bottom: 15px;
	margin-top: 30px;
}

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: 1.8em;
	text-align: center;
	margin-bottom: 60px;
}
.alist{
	margin: 0 auto;
	width: 85%;
}
.alist li{
	background: url(../images/bg04.svg) top left / cover no-repeat;
	align-items: center;
	margin-bottom: 15px;
}
.alist li figure{
}
.alist li p{
	color: #FFFFFF;
	padding: 30px 20px;
	font-size: 1.2em;
}

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




.smenu{
}
.smenu li{
}
.smenu li a{
	display: block;
	background: #253064;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	font-size: 1.87em;
	padding: 20px;
	margin-bottom: 10px;
}

.bg4{
	background: url(../images/bg05.svg) center center / cover no-repeat;
	position: relative;
	padding: 100px 0;
}
.bg4:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left / cover no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.bg5{
	background: url(../images/bg06.svg) center center / cover no-repeat;
	position: relative;
	padding: 100px 0;
}
.bg5:before{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background: url(../images/bg01.svg) top left / cover no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.products.cont2{
	padding-bottom: 0;
}
.products div.wrap{
}
.products div.wrap h2{
	border-bottom: 1px solid #251e1c;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.products div.wrap h2 strong{
	font-size: 2em;
	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.2em;
}
.products div.wrap p{
	font-size: 1em;
	margin-bottom: 30px;
}
.products div.wrap>div{
}
.products div.wrap figure{
	margin-top: 40px;
	text-align: center;
}

.feature{
}
.feature li{
	color: #FFFFFF;
	background: #253064;
	border-radius: 3px;
	font-size: 1.2em;
	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{
}
.bgg{
	background: #403d3c;
}
.gallery{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 5%;
}
.gallery li{
	width: 49%;
	margin-bottom: 2%;
}






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

.partnerList{
}
.partnerList li{
	margin-bottom: 40px;
}
.partnerList li{
	color: #FFFFFF;
}
.partnerList li h3{
	font-size: 1.5em;
	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.5em;
	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;
	display: inline-block;
	width: auto;
}
.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;
}
.foot_social{
	margin-top: 20px;
}
.np01{
	text-align: center;
	margin: 40px 0;
}