@charset "UTF-8";

/* ------------------------------
    what
------------------------------ */
.ttl_sec{
	margin-bottom: 60px;
	text-align: center;
	font-style: italic;
	font-weight: 700;
	font-size: 5.0rem;
}
.txt_lead{
	line-height: 1.875;
	text-align: center;
	font-size: 1.6rem;
}
.txt_lead .em{
	font-style: normal;
	color: #0065AF;
}
.txt_feature{
	line-height: 1.5;
	text-align: center;
	font-style: italic;
	font-weight: 700;
	font-size: 2.4rem;
}
.txt_feature .em{
	font-size: 3.4rem;
}
.txt_feature .normal{
	font-style: normal;
}
.btn_link{
    width: 450px;
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
	.ttl_sec{
		margin-bottom: 1em;
		font-size: 2.5rem;
	}
	.txt_lead{
		font-size: 1.3rem;
	}
	.txt_feature{
		font-size: 1.5rem;
	}
	.txt_feature .em{
		font-size: 1.5rem;
	}
	.btn_link {
	    width: auto;
	    margin-top: 8%;
	}
}
@media screen and (max-width: 330px) {
	.ttl_sec{
		font-size: 2.3rem;
	}
}

/* ------------------------------
    sec_what
------------------------------ */
.sec_what{
	padding: 60px 0;
	background: url(../img/common/check_bg01.png) #fff;
}
.sec_what .ttl_sec{
	color: #0065AF;
}
.sec_what .txt_lead{
	margin-bottom: 60px;
}
.list_flow{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.list_flow li{
		position: relative;
	width: 360px;
	height: 240px;
	padding-top: 35px;
	text-align: center;
	background-color: #fff;
	border: 5px solid #0065AF;
}
.list_flow li:first-child:before{
	display: none;
}
.list_flow li:before{
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin-left: -42px;
	border-style: solid;
	border-width: 18px 0 18px 18px;
	border-color: transparent transparent transparent #FF6700;
	transform: translateY(-50%);
}
.list_flow li .img{
	margin-bottom: 30px;
	text-align: center;
}
.list_flow li .txt{
	text-align: center;
	font-style: italic;
	font-weight: 700;
	font-size: 2.8rem;
	color: #0065A8;
}
.sec_what .txt_feature .em{
	color: #0065AF;
}
@media screen and (max-width: 768px) {
	.sec_what{
		padding: 10% 0;
  		background-size: 700px auto;
	}
	.sec_what .txt_lead{
	  margin-bottom: 10%;
	}
	.list_flow{
		margin-bottom: 8%;
	}
	.list_flow li{
		width: 30%;
		height: 0;
		padding-top: 30%;
	}
	.list_flow li:before{
		margin-left: calc( -12% - 5px );
		border-width: 8px 0 8px 8px;
		border-color: transparent transparent transparent #FF6700;
	}
	.list_flow li .img{
		position: absolute;
		top: 15%;
		left: 0;
		right: 0;
		width: 55%;
		margin: 0 auto;
	}
	.list_flow li .txt{
		position: absolute;
		bottom: 12%;
		left: 0;
		width: 100%;
		text-align: center;
		font-size: 1.3rem;
	}
}

/* ------------------------------
    sec_system
------------------------------ */
.sec_system{
	padding: 70px 0;
}
.sec_system .ttl_sec{
	color: #0065AF;
}
.sec_system .txt_lead{
	margin-bottom: 55px;
}
.sec_system .txt_lead .em01{
	color: #FF6700;
}
.sec_system .txt_lead .em02{
	color: #0065AF;
}
.cover_system{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.cover_system .box_system{
	width: 580px;
	padding: 0 50px 50px;
	text-align: center;
	border: 3px solid #FF6700;
}
.cover_system .box_system.system02{
	border-color: #0065AF;
}
.cover_system .box_system .ttl_system{
	display: inline-block;
	height: 50px;
	margin: -25px 0 35px;
	padding: 0 20px;
	line-height: 50px;
	font-style: italic;
	font-weight: 700;
	font-size: 3.4rem;
	color: #fff;
	background-color: #FF6700;
}
.cover_system .box_system.system02 .ttl_system{
	background-color: #0065AF;
}
.cover_system .box_system .box + .box{
	margin-top: 40px;
}
.cover_system .box_system .box .ttl{
	margin-bottom: 20px;
	text-align: center;
	font-size: 2.4rem;
	color: #FF6700;
}
.cover_system .box_system.system02 .box .ttl{
	color: #0065AF;
}
.cover_system .box_system .box .list_system{
	padding: 27px 27px 18px;
	background-color: #FFF0E5;
}
.cover_system .box_system.system02 .box .list_system{
	background-color: #E5F0F7;
}
.cover_system .box_system .box .list_system{
	font-size: 0;
}
.cover_system .box_system .box .list_system li{
	display: inline-block;
	margin-bottom: 9px;
	padding-right: 25px;
	letter-spacing: -0.02em;
	line-height: 20px;
	font-size: 1.6rem;
}
.cover_system .box_system.system01 .box .list_lg li{
	width: 140px;
}
.cover_system .box_system.system01 .box .list_lg li:nth-child(3n),
.cover_system .box_system.system02 .box .list_lg li:nth-child(2){
	padding-right: 0;
}
.cover_system .box_system .box .list_system li:before{
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	vertical-align: middle;
	background: url(../img/common/ico_check01.svg) no-repeat;
}
.cover_system .box_system.system02 .box .list_system li:before{
	background-image: url(../img/common/ico_check02.svg);
}
.sec_system .txt_feature .em{
	color: #FF6700;
}
@media screen and (max-width: 768px) {
	.sec_system{
		padding: 10% 0;
	}
	.sec_system .txt_lead{
		margin-bottom: 10%;
	}
	.cover_system{
		display: block;
		margin-bottom: 8%;
	}
	.cover_system .box_system{
		width: auto;
		padding: 0 5% 5%;
	}
	.cover_system .box_system + .box_system{
		margin-top: 10%;
	}
	.cover_system .box_system .ttl_system{
		height: 30px;
		margin: -15px 0 1em;
		padding: 0 3%;
		line-height: 30px;
		font-size: 1.8rem;
	}
	.cover_system .box_system .box + .box{
		margin-top: 10%;
	}
	.cover_system .box_system .box .ttl{
		margin-bottom: 0.5em;
		font-size: 1.5rem;
	}
	.cover_system .box_system .box .list_system{
		padding: 5% 5% 2%;
	}
	.cover_system .box_system .box .list_system li{
		width: 100%;
		margin-bottom: 3%;
		padding-right: 0;
		line-height: 15px;
		font-size: 1.2rem;
	}
	.cover_system .box_system.system01 .box .list_lg li{
		width: 50%;
	}
	.cover_system .box_system .box .list_system li:before{
		width: 15px;
		height: 15px;
		margin-right: 5px;
	}
}

/* ------------------------------
    sec_statusquo
------------------------------ */
.sec_statusquo{
	padding: 65px 0 120px;
	background: url(../img/common/check_bg02.png) #0065AF;
}
.sec_statusquo .ttl_sec{
	color: #fff;
}
.sec_statusquo .txt_lead{
	margin-bottom: 70px;
	color: #fff;
}
.sec_statusquo .box_status{
	position: relative;
	padding: 0 80px 80px;
	text-align: center;
	border: 1px solid #fff;
	border-top: none;
}
.sec_statusquo .box_status + .box_status{
	margin-top: 90px;
}
.sec_statusquo .box_status .ttl_status{
	display: inline-block;
	margin: -0.5em 0 55px;
	font-style: italic;
	font-weight: 700;
	font-size: 3.4rem;
	color: #fff;
}
.sec_statusquo .box_status .js-ttlbar{
	width: 100%;
	height: 1px;
}
.sec_statusquo .box_status .js-ttlbar .bar01,
.sec_statusquo .box_status .js-ttlbar .bar02{
	position: absolute;
	top: 0;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	opacity: 1;
}
.sec_statusquo .box_status .js-ttlbar .bar01{
	left: 0;
}
.sec_statusquo .box_status .js-ttlbar .bar02{
	right: 0;
}
.sec_statusquo .box_status .txt{
	line-height: 1.875;
	font-size: 1.6rem;
	color: #fff;
}
.sec_statusquo .box_status .img{
	position: relative;
	margin: 35px 0 20px;
	padding: 20px;
	background: #fff;
}
.sec_statusquo .box_status .img .txt_caption{
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 10px;
	text-align: right;
	font-size: 1.2rem;
	color: #fff;
}
.sec_statusquo .box_status .list_status li{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}
.sec_statusquo .box_status .list_status li + li{
	margin-top: 15px;
}
.sec_statusquo .box_status .list_status .ballon{
	width: 112px;
	height: 106px;
	margin-right: 5px;
	padding: 30px 10px 0 0;
	background: url(../img/what/hope_balloon.png) no-repeat;
	background-size: 100% 100%;
}
.sec_statusquo .box_status .list_status .ballon .txt_reason{
	display: block;
	margin-bottom: 8px;
	line-height: 0.8;
	text-align: center;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-style: italic;
	font-weight: 500;
	font-size: 1.2rem;
	color: #fff;
}
.sec_statusquo .box_status .list_status .ballon .num{
	display: block;
	line-height: 0.7;
	text-align: center;
	font-family: 'Barlow Semi Condensed', sans-serif;
	font-style: italic;
	font-weight: 500;
	font-size: 4.0rem;
	color: #fff;
}
.sec_statusquo .box_status .list_status li .txt{
	font-style: italic;
	line-height: 1.5;
	letter-spacing: -0.02em;
	font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
	.sec_statusquo{
		padding: 10% 0;
  		background-size: 700px auto;
	}
	.sec_statusquo .txt_lead{
		margin-bottom: 10%;
	}
	.sec_statusquo .box_status{
		padding: 0 5% 5%;
	}
	.sec_statusquo .box_status + .box_status{
	  margin-top: 15%;
	}
	.sec_statusquo .box_status .ttl_status{
		margin-bottom: 1em;
		line-height: 1.3;
		text-align: center;
		font-size: 1.8rem;
	}
	.sec_statusquo .box_status:nth-of-type(3) .ttl_status{
		margin-top: -1em;
	}
	.sec_statusquo .box_status .txt{
		font-size: 1.3rem;
	}
	.sec_statusquo .box_status .img{
	  margin: 5% 0 10%;
	  padding: 5%;
	}
	.sec_statusquo .box_status .img .txt_caption{
		line-height: 1.3;
		font-size: 1.1rem;
	}
	.sec_statusquo .box_status .list_status li + li{
	  margin-top: 3%;
	}
	.sec_statusquo .box_status .list_status .ballon{
		width: 25vw;
		max-width: 112px;
		height: 23vw;
		max-height: 106px;
		background-size: 100% auto;
	}
	.sec_statusquo .box_status .list_status li .txt{
		width: 70%;
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 450px) {
	.sec_statusquo .box_status .list_status .ballon{
		padding: 8% 3% 0 0;
	}
	.sec_statusquo .box_status .list_status .ballon .txt_reason{
		margin-bottom: 0.5em;
	}
	.sec_statusquo .box_status .list_status .ballon .num{
		font-size: 3.0rem;
	}
}

/* ------------------------------
    sec_conference
------------------------------ */
.sec_conference .ttl_sec{
	text-align: left;
}
@media screen and (max-width: 768px) {
	.sec_conference .ttl_sec{
		text-align: center;
	}
}