@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	list-style: none;
	text-decoration: none;
}
body {
	font-family: "Noto Sans JP","Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体",Meiryo,"Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",Osaka,Arial,Sans-serif;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
}
.l-main {
	margin-bottom: 0;
}
#kv img {
	display: block;
	width: 100%;
}
/* ==================================================
lead
================================================== */
#lead {
	background: #C8DCEF;
	padding: 60px 0 44px;
}
#lead .inner {
	background: #FFF;
	border-radius: 32px;
	color: #036EB8;
	font-weight: bold;
	margin: auto;
	max-width: 644px;
	padding: 30px 0 27px;
	text-align: center;
	width: 92%;
}
#lead .inner h2 {
	font-size: 24px;
	margin: 9px auto 18px;
}
#lead .inner p:nth-last-child(2) {
	letter-spacing: 0.1rem;
	margin: 17px auto 26px;
}
#lead .inner figure img {
	display: block;
	margin: auto;
	max-width: 230px;
	width: 100%;
}
@media screen and (max-width: 769px){
	#lead {
		padding-bottom: 64px;
	}
	#lead .inner {
		border-radius: 24px;
	}
	#lead .inner h2 {
		font-size: calc(16 / 390 * 100vw);
	}
	#lead .inner p {
		font-size: calc(10 / 390 * 100vw);
	}
}
/* ==================================================
info
================================================== */
#info {
	background: url("../img/bg-info.jpg") no-repeat;
	background-size: 1920px;
	padding: 45px 0 70px;
}
#info h2 {
	color: #036EB8;
	font-size: 32px;
	letter-spacing: 0.1rem;
	text-align: center;
	text-shadow: -1px -1px 0 #fff, -1px -1px 0 #fff,-1px 1px 0 #fff,-1px 0px 0 #fff,0px -1px 0 #fff,0px 1px 0 #fff,1px 1px 0 #fff,1px -1px 0 #fff,1px 0px 0 #fff;
}
#info #member .swiper {
	margin: 53px auto 74px;
	min-width: 1110px;
}
#info #member .swiper-free-mode>.swiper-wrapper {
	transition-timing-function: linear;
}
#info #member li img {
	width: 100%;
}
#info #challenge .inner {
	display: flex;
	justify-content: space-between;
	margin: 61px auto 0;
	max-width: 920px;
	width: 100%;
}
#info #challenge .inner li {
	background: #FFF;
	border-radius: 16px;
	overflow: hidden;
	width: 32.2%;
}
#info #challenge .inner li dt img {
	display: block;
	width: 100%;
}
#info #challenge .inner li dd.text {
	box-sizing: border-box;
	color: #036EB8;
	font-weight: bold;
	letter-spacing: 0.1rem;
	padding: 1em 1em 0;
}
#info #challenge .inner li dd.fig {
	box-sizing: border-box;
	padding: 0 1em 1em;
	text-align: right;
}
#info #challenge .inner li dd.fig img {
	width: 80%;
}
#info .btn {
	margin-top: 45px;
}
#info .btn a {
	align-items: center;
	background: #FFF;
	border: 3px solid #0659A6;
	border-radius: 42px;
	color: #0659A6;
	display: flex;
	font-size: 24px;
	font-weight: bold;
	justify-content: center;
	height: 50px;
	margin: auto;
	transition: 0.3s;
	text-align: center;
	width: 624px;
}
#info .btn a:hover {
	opacity: 0.7;
}
@media screen and (min-width: 1920px){
	#info {
		background-size: 100%;
	}
}
@media screen and (max-width: 1200px){
	#info {
		overflow: hidden;
	}
}
@media screen and (max-width: 769px){
	#info {
		background: url("../img/bg-info-sp.jpg") repeat-y;
		background-size: 100%;
		padding: 60px 0 45px;
	}
	#info h2 {
		font-size: calc(20 / 390 * 100vw);
	}
	#info #member .swiper {
		margin-bottom: 66px;
	}
	#info #challenge .inner {
		display: block;
		margin-top: 55px;
	}
	#info #challenge .inner li {
		font-size: calc(16 / 390 * 100vw);
		margin: 0 auto 24px;
		width: 76%;
	}
	#info .btn a {
		border-radius: 100px;
		display: block;
		font-size: calc(52 / 780 * 100vw);
		max-width: 100%;
		padding: 0.5em 0;
		height: auto;
		width: 80%;
	}
	#info .btn a span {
		display: block;
	}
}
/* ==================================================
strategy
================================================== */
#strategy {
	background: #C8DCEF;
	color: #036EB8;
	padding: 40px 0 50px;
}
#strategy .inner {
	font-weight: bold;
	margin-bottom: 40px;
	text-align: center;
}
#strategy .inner h2 {
	font-size: 32px;
	margin-bottom: 16px;
}
#strategy figure {
	margin-bottom: 40px;
}
#strategy figure img {
	display: block;
	margin: auto;
	max-width: 1200px;
	width: 100%;
}
#strategy .btn a {
	align-items: center;
	background: #FFF;
	border-radius: 42px;
	color: #0659A6;
	display: flex;
	font-size: 24px;
	font-weight: bold;
	justify-content: center;
	height: 50px;
	margin: auto;
	transition: 0.3s;
	width: 484px;
}
#strategy .btn a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 769px){
	#strategy {
		padding-bottom: 68px 0 47px;
	}
	#strategy .inner {
		margin-bottom: 58px;
	}
	#strategy .inner h2 {
		font-size: calc(40 / 780 * 100vw);
	}
	#strategy .inner p {
		line-height: 2em;
		font-size: calc(20 / 780 * 100vw);
	}
	#strategy figure {
		margin-bottom: 50px;
	}
	#strategy .btn a {
		border-radius: 100px;
		font-size: calc(52 / 780 * 100vw);
		max-width: 100%;
		height: 2.3em;
		width: 80%;
	}
}
@media screen and (min-width: 770px){
	.pc-hide {
		display: none !important;
	}
}
@media screen and (max-width: 769px){
	.sp-hide {
		display: none !important;
	}
}
#challenge .inner dt,
figure,
dd.fig {
	position: relative;
}
figure:after,
dd.fig:after,
#challenge .inner dt:after {
	background: url(../img/transparent.png);
    background-size: cover;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}