@charset "UTF-8";



/* ------------------------------
	.mv
------------------------------ */
.mv{
	position: relative;
}

.mv .mv_img img{
	position: relative;
	width: 100%;
	max-width: initial;
}

.mv .wrap{
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 30px;
	bottom: 2%;
}

.mv .txt_box{
	display: flex;
	align-items: center;
	margin-left: 20px;
}

.mv .txt_box .ttl{
	flex-shrink: 0;
	padding: 4px 20px;
	margin-right: 20px;
	border: 1px solid #1a1c21;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.mv .txt_box .txt{
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 1400px){
	.mv .txt_box{
		margin: 0;
	}
}


@media screen and (max-width: 767px){
	.mv .mv_img{
		width: 100%;
	}
	.mv .mv_img img{
		position: relative;
		transform: none;
		left: 0;
		width: 100%;
		max-width: 100%;
	}

	.mv .wrap{
		bottom: 2%;
	}

	.mv .txt_box{
		flex-direction: column;
		margin-left: 0;
		width: 50%;
	}

	.mv .txt_box .ttl{
		width: 100%;
		padding: 2px 4px;
		margin-right: 0;
		margin-bottom: 4px;
		text-align: center;
		font-size: 1.0rem;
	}

	.mv .txt_box .txt{
		font-size: 1.0rem;
	}
}



/* ------------------------------
	.obi
------------------------------ */
.obi{
	padding: 12px 0;
	background: #000e46;
}

.obi .wrap{
	display: flex;
	align-items: center;
	justify-content: center;
}

.obi .ttl{
	position: relative;
	padding: 4px 20px;
	background: #fff;
	border-radius: 10px;
	margin-right: 36px;
	line-height: 1.5;
	color: #0469b6;
	/*font-size: 4.0rem;*/
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.obi .ttl::before{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: -23px;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 12px solid #fff;
	border-right: 12px solid transparent;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

.obi .txt{
	color: #fff;
	/*font-size: 5.2rem;*/
	font-size: 4.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 767px){
	.obi{
		padding: 12px 0 8px;
	}

	.obi .wrap{
		flex-direction: column;
	}

	.obi .ttl{
		padding: 2px 14px;
		margin-bottom: 8px;
		margin-right: 0;
		border-radius: 5px;
		color: #0469b6;
		font-size: 1.5rem;
	}
	.obi .ttl::before{
		top: auto;
		left: 0;
		right: 0;
		bottom: -12px;
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 7px solid #fff;
		border-bottom: 7px solid transparent;
	}

	.obi .txt{
		text-align: center;
		font-size: 2.7rem;
	}
}



/* ------------------------------
	.present
------------------------------ */
.present{
	padding: 50px 0 50px;
	background: #000e46 url(../img/bg_img01.jpg) repeat center top;
	background-size: cover;
}

.present_ttl_box{
	padding: 12px 0;
	background: #000e46;
}

.present_ttl_box .ttl{
	line-height: 1.5;
	font-size: 2.6rem;
	color: #fff;
}

.present .wrap{
	max-width: 1000px;
}

.present_list{
	display: flex;
	justify-content: space-between;
}

.present_list li{
	position: relative;
	width: 32%;
	max-width: 356px;
}

.present_list li .ico{
	width: 191px;
	margin-bottom: 4px;
}

.present_list li .ttl_box{
	margin-bottom: 10px;
}

.present_list li .ttl_box .present_ttl{
	line-height: 1.1;
	font-size: 3.2rem;
	font-weight: bold;
	color: #e9c071;
	white-space: nowrap;
}

.present_list li .ttl_box .present_txt{
	line-height: 1.5;
	font-size: 2.6rem;
	font-weight: bold;
	color: #e9c071;
	white-space: nowrap;
}
.present_list li .ttl_box .present_txt .big{
	line-height: 1.1;
	font-size: 3.2rem;
}

.present_list li .img_box{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 303px;
	height: 12em;
	margin: 0 auto;
}
.present_list li .img_box .img{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.present_list li .img_box .img img{
	max-width: 100%;

	width: auto;
}

.present_list li .txt_box{
	max-width: 310px;
	margin: 0 auto;
	padding: 20px 0 0;
}

.present_list li .note{
	margin-top: 8px;
}

.present .txt{
	/*font-size: 2.0rem;*/
	font-size: 1.6rem;
	line-height: 1.6;	
	color: #131e6a;
}
.present .txt.note{
	font-size: 1.4rem;
}

.present .txt .min{
	font-size: 1.0rem;
	vertical-align: top;
}


@media screen and (max-width: 1250px){
	.present_list li .ttl_box .present_ttl{
		font-size: 2.5vw;
	}
	.present_list li .ttl_box .present_txt .big{
		font-size: 2.5vw;
	}
}


@media screen and (max-width: 1100px){
	.present_list li .ttl_box .present_txt{
		font-size: 2.2vw;
	}
}


@media screen and (max-width: 1050px){
	.present_list li{
		width: 31.5%;
	}
	.present_list li .img_box{
		height: 23.32vw;
	}
}


@media screen and (max-width: 900px){
	.present_list li{
		width: 31.5%;
	}
}


@media screen and (max-width: 767px){
	.present{
		padding: 25px 0 25px;
		background: #000e46 url(../img/bg_img01_sp.jpg) no-repeat center top;
		background-size: cover;
	}

	.present .wrap{
		width: 100%;
	}
	.present_ttl_box{
		padding: 10px 0;
	}

	.present_ttl_box .ttl{
		font-size: 1.4rem;
	}

	.present_list{
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.present_list li{
		margin-left: 0;
		width: auto;
		margin-top: 180px;
		margin-bottom: 173px;
	}

	.present_list li + li{
		margin-left: 0;
		margin-top: 10px;
		margin-bottom: 20px;
	}

	.present_list li .ttl_box{
		/*max-width: 300px;*/
		margin: 0;
	}

	.present_list li .img_box{
		width: 82vw;
		max-width: inherit;
		height: auto;
	}
	.present_list li:first-child .img_box .img{
		height: 0vw;
	}

	.present_list li .ico{
		width: 150px;
		margin-bottom: 6px;
	}

	.present_list li .ttl_box .present_ttl{
		font-size: 2.6rem;
	}

	.present_list li .ttl_box .present_txt{
		font-size: 2.0rem;
		letter-spacing: 0;
	}
	.present_list li .ttl_box .present_txt .big{
		font-size: 2.6rem;
	}

	.present_list li .txt_box{
		padding: 20px 0 0;
		max-width: 303px;
	}

	.present .txt{
		font-size: 1.4rem;
	}
	.present .txt.note{
		font-size: 1.2rem;
	}

	.present .txt .min{
		font-size: 0.8rem;
	}

	.present_list li .note{
		margin-top: 4px;
	}
}



/* ------------------------------
	.qualification
------------------------------ */
.qualification{
	padding: 60px 0 0;
	border-top: 1px solid #fff;
}

.qualification_box + .qualification_box{
	margin-top: 40px;
}

.qualification_ttl{
	display: inline-block;
	padding: 4px 32px;
	margin-bottom: 20px;
	background: #005bac;
	border-radius: 30px;
	/*font-size: 2.8rem;*/
	font-size: 2.2rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.qualification_box .note{
	margin-top: 15px;
}

.qualification_box .txt .min{
	font-size: 1.2rem;
	vertical-align: top;
}

.qualification_box .txt.space_l1{
	padding-left: 1em;
	text-indent: -1em;
}


@media screen and (max-width: 767px){
	.qualification{
		padding: 40px 0 0;
	}

	.qualification_box + .qualification_box{
		margin-top: 20px;
	}

	.qualification_ttl{
		padding: 2px 20px;
		font-size: 1.8rem;
	}

	.qualification_box .txt{
		font-size: 1.4rem;
	}

	.qualification_box .note{
		margin-top: 8px;
	}
}



/* ------------------------------
	.campaign
------------------------------ */
.campaign{
	padding: 64px 0 120px;
}

.campaign_ttl{
	position: relative;
	/*margin-bottom: 80px;*/
	margin-bottom: 60px;
	padding-bottom: 16px;
	/*font-size: 4.8rem;*/
	font-size: 3.6rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.campaign_ttl::before{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 150px;
	height: 6px;
	background: #009ce5;
}

.campaign_box + .campaign_box{
	margin-top: 48px;
}

.campaign_box .ttl_box{
	padding-bottom: 12px;
	margin-bottom: 24px;
	border-bottom: 1px solid #ddd;
}

.campaign_box .ttl{
	padding-left: 16px;
	border-left: 4px solid #009ce5;
	/*font-size: 2.8rem;*/
	font-size: 2.2rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.campaign_box .txt{
	/*font-size: 2.0rem;*/
	font-size: 1.6rem;
}

.campaign_box .list .txt{
	padding-left: 1em;
	text-indent: -1em;
}
.campaign_box .list .txt::before{
	content: "・";
	color: #009ce5;
	font-weight: bold;
}
.campaign_box .list .txt + .txt{
	margin-top: 2px;
}

.campaign_box .space1{
	margin-top: 1.3em;
}
.campaign_box .space2{
	margin-top: 40px;
}

.campaign_box .txt .min{
	font-size: 1.2rem;
	vertical-align: top;
}

.campaign_box .note{
	font-size: 1.3rem;
}


@media screen and (max-width: 767px){
	.campaign{
		padding: 36px 0 60px;
	}

	.campaign_ttl{
		padding-bottom: 8px;
		margin-bottom: 36px;
		font-size: 2.6rem;
	}
	.campaign_ttl::before{
		width: 100px;
		height: 4px;
	}

	.campaign_box + .campaign_box{
		margin-top: 28px;
	}

	.campaign_box .ttl_box{
		margin-bottom: 16px;
	}

	.campaign_box .ttl{
		padding-left: 12px;
		font-size: 2.0rem;
	}

	.campaign .txt{
		font-size: 1.4rem;
	}
	.campaign_box .list .txt{
		position: relative;
		text-indent: 0;
	}
	.campaign_box .list .txt::before{
		position: absolute;
		top: -0.3rem;
		left: -0.3rem;
		font-size: 1.8rem;
	}

	.campaign_box .space1{
		margin-top: 1em;
	}
	.campaign_box .space2{
		margin-top: 25px;
	}

	.campaign_box .note{
		font-size: 1.3rem;
		margin-top: 1em;
	}
}