@charset "utf-8";

body{
	color:#fff;
	font-family: YakuHanJP,"din-2014" ,Helvetica , Arial, "Hiragino sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size:14px;
	line-height:1.8;
	background-color:#090D36;
	word-break: break-all;
}

body.on{
	overflow:hidden;
}

.font_anton{
	font-family: YakuHanJP, anton, Helvetica , Arial, "Hiragino sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	font-style: normal;
}

ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#fff;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	text-decoration:none;
}

header a , nav a{
	text-decoration:none;
}


img{
	max-width:100%;
	height:auto;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */

.container{
	max-width:1020px;
	margin:auto;
	padding:0 20px;
	box-sizing:border-box;
}

.btn01{
	margin-top:90px;
}

.btn01 a{
	display:block;
	width:200px;
	margin:auto;
	text-align:center;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	background: #4C5EFD;
	border-radius: 10px;
	padding:15px 0;
	position:relative;
}

.btn01 a:after{
	content:"";
	display:block;
	position:absolute;
	right:15px;
	top:20px;
	background:url(image/common/arrow01.svg)no-repeat center center;
	background-size:cover;
	width:12px;
	height:8px;
}

.btn02{
	margin-top:25px;
}

.btn02 a{
	display:block;
	width:200px;
	text-align:center;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	background: #2C2C2C;
	border-radius: 10px;
	padding:15px 0;
	position:relative;
}

.btn02 a:after{
	content:"";
	display:block;
	position:absolute;
	right:15px;
	top:20px;
	background:url(image/common/arrow01.svg)no-repeat center center;
	background-size:cover;
	width:12px;
	height:8px;
}

.btn03{
	margin-top:90px;
}

.btn03 a{
	display:block;
	width:200px;
	margin:auto;
	text-align:center;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	background: #4C5EFD;
	border-radius: 10px;
	padding:15px 0;
	position:relative;
}

.title{
	padding-top:70px;
}

.title h2{
	font-size: 18px;
	line-height: 27px;
	color: #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
	display:inline-block;
	padding-bottom:5px;
	font-weight:normal;
}

.title h2 small{
	font-size: 18px;
	line-height: 26px;
	display:block;
}

.title h2 span{
	font-size: 48px;
	line-height: 70px;
	padding-right:10px;
}

ul.contents_list{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
	margin-top:75px;
}

ul.contents_list li{
	width:23.46%;
	margin-right:1.93%;
	margin-bottom:30px;
}

ul.contents_list.home_list li:nth-child(n + 21){
/*	display:none;*/
}

ul.contents_list li:nth-child(4n){
	margin-right:0;
}

ul.flow_list{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	margin-top:70px;
}

ul.flow_list li{
	width:21.36%;
	position:relative;
}

ul.flow_list li:after{
	content:"";
	display:block;
	position:absolute;
	width:22px;
	height:42px;
	background:url(image/common/arrow02.svg)no-repeat center center;
	background-size:cover;
	top:115px;
	right:-30px;
}

ul.flow_list li:last-child:after{
	display:none;
}

ul.flow_list li .image_area{
	text-align:center;
}

ul.flow_list li h3{
	min-height:50px;
	text-align:center;
	font-weight: 600;
	font-size: 16px;
	line-height: 160%;
	margin-top:25px;
}

ul.flow_list li h3 span{
	display:block;
	font-size: 14px;
	line-height: 19px;
}

ul.flow_list li p{
	margin-top:5px;
	font-weight: 300;
	font-size: 13px;
	line-height: 160%;
}

ul.flow_list li .flow_btn{
	margin-top:18px;
	text-align:center;
}

ul.flow_list li .flow_btn a{
	display:inline-block;
	min-width:148px;
	background: #28D8CE;
	border-radius: 10px;
	font-weight: bold;
	font-size: 14px;
	line-height: 160%;
	margin:auto;
	text-align:center;
	padding:14px 5px;
}

footer{
	background: #212870;
	margin-top:90px;
	padding:40px 0;
}

footer .footer_content{
	max-width:1480px;
	margin:auto;
	padding:0 20px;
	box-sizing:border-box;
}

footer ul.footer_nav{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	float:right;
	width:73%;
}

footer ul.footer_nav li.footer_gnav{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
	flex:1;
}

footer ul.footer_nav li.footer_contact{
	width:33%;
	background: #394190;
	border-radius: 20px;
	font-weight: 500;
	font-size: 14px;
	line-height: 150%;
	letter-spacing: 0.02em;
	padding:20px 0 20px 35px;
}

footer ul.footer_nav li.footer_contact span{
	position:relative;
	padding-left:22px;
}

footer ul.footer_nav li.footer_contact span:before{
	position:absolute;
	content:"";
	display:block;
	width:18px;
	height:18px;
	background:url(image/common/footer_mail.svg)no-repeat center center;
}

footer ul.footer_nav li.footer_gnav div{
	width:30%;
	font-weight: 500;
	font-size: 14px;
	line-height: 300%;
}

footer ul.footer_logo{
	width:170px;
	float:left;
	margin-top:25px;
}

footer ul.footer_logo li ul.footer_sns{
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0.11em;
	margin-top:60px;
}

footer ul.footer_logo li ul.footer_sns span{
	margin-left:10px;
}

footer ul.footer_logo li ul.footer_sns a{
	margin-left:10px;
}

footer ul.footer_logo li ul.footer_sns a img{
	width:15px;
}

footer ul.footer_sub_nav{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	float:right;
	width:73%;
	margin-top:40px;
}

footer ul.footer_sub_nav li ul{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

footer ul.footer_sub_nav li ul li{
	font-size: 12px;
	line-height: 180%;
	letter-spacing: 0.02em;
	margin-right:20px;
}

footer ul.footer_sub_nav li ul li:last-child{
	margin-right:0;
}

.regist_btn{
	position:fixed;
	right:50px;
	bottom:50px;
	z-index:99999;
}

.modal{
	width:80%;
	height:80vh;
	margin:auto;
	background-color:#fff;
	color:#000;
	padding:50px;
	overflow:scroll;
	position:fixed;
	top:10%;
	left:0;
	right:0;
	z-index:9999999;
	pointer-events: none;
	opacity:0;
	transition:all 0.4s;
}

.modal.on{
	opacity:1;
	pointer-events:unset;
}
.modal a{
	color:#000;
}

.modal_mask{
	width:100%;
	height:100vh;
	background-color:rgba(0,0,0,0.9);
	position:fixed;
	top:0;
	z-index:999999;
	pointer-events: none;
	opacity:0;
	transition:all 0.4s;
}

.modal_mask.on{
	opacity:1;
	pointer-events:unset;
}

.modal_mask span{
	top:30px;
	right:30px;
	width:30px;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #fff;
	transition: all 0.2s linear;
	cursor: pointer;
}

.modal_mask span:nth-child(1){
	transform: rotate(-45deg);
}

.modal_mask span:nth-child(2){
	transform: rotate(45deg);
}

@media only screen and (max-width: 1000px) {


}

@media only screen and (min-width: 769px) {
	.sp_logo{
		display:none;
	}
}

@media only screen and (min-width: 768px) {
	.sp_only{
		display:none !important;
	}

}

@media (max-width: 768px) {

	.sp_logo{
		position:fixed;
		top:26px;
		left:26px;
		z-index:999999;
	}

	.sp_logo img{
		max-width:220px;
	}

	#switchBtnArea {
		position: fixed;
		top:15px;
		right:25px;
		width:43px;
		height:43px;
		background: rgba(84, 101, 255, 0.9);
		border-radius: 5px;
		z-index:999999;
	}

	#switchBtnArea .switchBtn {
		width: 20px;
		height: 25px;
		display: block;
		z-index:999999;
		position:absolute;
		left:10px;
		top:15px;
	}

	#switchBtnArea .switchBtn span {
		left: 10%;
		width: 100%;
		height: 3px;
		display: block;
		position: absolute;
		background-color: #fff;
		transition: all 0.2s linear;
	}
	#switchBtnArea .switchBtn span:nth-of-type(1) {top:0px;transform: rotate(0);}
	#switchBtnArea .switchBtn span:nth-of-type(2) {bottom:10px;transform: scale(1);}

	#switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:5px;transform: rotate(-45deg);}
	#switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {bottom:17px;transform: rotate(45deg);}


	.fix_content{
		background: rgba(33, 50, 112, 0.84);
		backdrop-filter: blur(33px);
		-webkit-backdrop-filter: blur(33px);
		width:100%;
		height:100vh;
		position:fixed;
		top:0;
		text-align:center;
		z-index:99999;
		overflow:auto;
		transition:all 0.4s;
		left:100vw;
	}

	.fix_content.on{
		left:0;
	}

	.fix_content nav{
		margin-top:100px;
	}

	.fix_content nav .logo{
		display:none;
	}

	.fix_content nav ul.g_navi li{
		font-weight: 600;
		font-size: 20px;
		margin-bottom:15px;
	}

	.fix_content nav ul.g_navi li.child img{
		display:none;
	}

	.fix_content nav ul.g_navi li ul{
		margin-top:20px;
	}

	.fix_content nav ul.g_navi li ul li{
		font-weight: 500;
		font-size: 16px;
	}

	.fix_content nav ul.sns_area{
		margin-top:50px;
		margin-bottom:20px;
	}

	.fix_content nav ul.sns_area li.mypage_link a{
		display:block;
		background: #4C5EFD;
		border-radius: 6px;
		font-weight: bold;
		font-size: 14px;
		line-height: 21px;
		color: #FFFFFF;
		width:162px;
		height:45px;
		line-height:45px;
		margin:0 auto 10px auto;
	}

	.fix_content nav ul.sns_area li.sns_list{
		margin-top:15px;
	}

	.fix_content nav ul.sns_area li.sns_list a{
		margin-right:15px;
	}

	.fix_content nav ul.sns_area li.sns_list a:last-child{
		margin-right:0;
	}

	.fix_content nav ul.sns_area li.sns_list img{
		width:34px;
	}

	.fix_content nav ul.sns_area li:last-child{
		display:none;
	}

	ul.flow_list li .image_area img{
		width:105px;
	}

	ul.flow_list li h3{
		font-size: 14px;
	}

	ul.flow_list li h3 small{
		display:block;
	}

	ul.flow_list li p{
		font-size: 12px;
		min-height: 80px;
	}

	ul.flow_list li .flow_btn a{
		font-size: 12px;
	}

	ul.flow_list li:after{
		background:url(image/common/arrow03.svg)no-repeat center center;
		background-size:cover;
		width:19px;
		height:35px;
	}

	footer ul.footer_nav li.footer_gnav div{
		width:50%;
	}



}


@media (max-width: 767px) {
	.pc_only{
		display:none !important;
	}

	.title{
		padding-top:60px;
	}

	.title h2{
		font-size: 14px;
		line-height: 21px;
	}

	.title h2 span{
		font-size: 32px;
		line-height: 47px;
	}

	ul.contents_list{
		justify-content: space-between;
		margin-top:25px;
	}

	ul.contents_list li{
		width:46.15%;
		margin-right:0 !important;
		margin-bottom:18px;
	}

	ul.flow_list{
		margin-top:35px;
	}

	ul.flow_list li{
		width:46%;
		margin-bottom:45px;
	}

	ul.flow_list li:nth-child(2):after{
		display:none;
	}

	ul.flow_list li h3{
		min-height:unset;
	}

	ul.flow_list li h3 span{
		display:inline-block;
		font-size: 12px;
		padding-left:5px;
	}

	ul.flow_list li h3 small{
		font-size: 12px;
	}

	ul.flow_list li:first-child .flow_btn{
	}


	footer{
		padding:20px 24px;
	}

	footer .footer_content{
		padding:0;
	}

	footer ul.footer_nav{
		float:unset;
		display:block;
		width:100%;
	}

	footer ul.footer_nav li.footer_gnav div{
		width:40%;
		font-size: 12px;
	}

	footer ul.footer_nav li.footer_contact{
		width:100%;
		margin-top:25px;
		padding:17px;
		font-size: 12px;
		border-radius: 10px;
	}


	footer ul.footer_logo{
		float:unset;
		width:100%;
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		margin-top:30px;
	}

	footer ul.footer_logo > li:first-child img{
		width:157px;
	}

	footer ul.footer_logo > li:last-child{
		padding-left:40px;
	}

	footer ul.footer_logo li ul.footer_sns{
		margin-top:0;
	}


	footer ul.footer_sub_nav{
		float:unset;
		width:100%;
	}

	footer ul.footer_sub_nav li ul li{
		font-size:10px;
	}

	footer .copyright{
		margin-top:10px;
	}

	.regist_btn{
		right:25px;
		bottom:25px;
		width:70px;
	}

	.modal{
		padding:20px;
	}

}

