@charset "utf-8";
/* CSS Document */
/*-----------------------------------------------------------*/
section .inn{
	margin-left: auto;
	margin-right: auto;
}
section .inn.w1100{
	width: 1100px;
}
section .inn.w1000{
	width: 1000px;
}
section .inn.w1070{
	width: 1070px;
}

section .inn h2.hd{
	font-size: 33px;
	color: #172b6c;
	text-align: center;
	padding-bottom: 20px;
	position: relative;
}
section .inn h2.hd::before{
	content: '';
	display: block;
	width: 206px;
	height: 1px;
	background-color: #172b6c;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}

section .inn h3.hd{
	font-size: 30px;
	color: #1847a0;
	text-align: center;
	padding-bottom: 25px;
	position: relative;
}
section .inn h3.hd::before{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #c4c4c4;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}

/*-----------------------------------------------------------*/
section#a01 .inn{
}

section#a01 .first_catch{
	line-height: 250%;
	letter-spacing: 0.05em;
	text-align: center;
}
section#a01 .first_catch > span{
	font-size: 23px;
	color: #1847a0;
}

section#a01 .inn > h2{
	margin-top: 135px;
}

section#a01 .label{
	margin-top: 55px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px 40px;
}
section#a01 .label > div{
	width: calc( 315px - 60px );
	min-height: 110px;
	padding: 0 30px;
	background-color: #f5f5f5;
	color: #1847a0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

section#a01 .inn > dl{
	margin-top: 90px;
}
section#a01 .inn > dl dt{
	font-size: 24px;
	text-align: center;
}
section#a01 .inn > dl dd{
	margin-top: 55px;
	font-weight: 400;
	line-height: 187%;
}

/*-----------------------------------------------------------*/
section#a02{
	max-width: 100% !important;
	background-color: #f5f5f5;
}

section#a02 .inn{
	padding: 30px 0 90px;
	line-height: 175%;
}

section#a02 .inn > h2.hd{
	line-height: 128%;
}

section#a02 .txts{
	margin-top: 65px;
	font-weight: 400;
}

section#a02 .txts .points{
	margin: 30px;
}

section#a02 .txts .points li{
	list-style-type: decimal;
}

section#a02 .txts .points li::marker{
	color: #1847a0;
	font-size:20px;
	font-weight: 500;
}
section#a02 .txts .points li dl {
	margin-bottom: 26px;
	
}
section#a02 .txts .points li dl dt{
	color: #1847a0;
	font-size:20px;
	letter-spacing: 2px;
	font-weight: 500;
	padding-bottom: 8px;
}

section#a02 .btn-style02 {
	width: 23.24rem;
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
}
section#a02 .btn-style02 .btn {
	padding-left: 0;
	justify-content: center;
}
/*-----------------------------------------------------------*/
section#a03{
}
section#a03 .inn{
}

section#a03 .inn > .column{
	margin-top: 60px;
	display: flex;
}
section#a03 .column:last-of-type{
	margin-top: 120px;
}

section#a03 .column .number{
	width: 20%;
}
section#a03 .column .number dl{
	width: calc( 100% - 20px );
	margin: 0 auto 0 0;
	text-align: center;
    background-color: #fff;
    position: relative;	
    z-index: 2;
}
section#a03 .column .number dl dt{
	font-size: 39px;
	color: #1847a0;
	line-height: 100%;
}
section#a03 .column .number dl dd{
	margin-top: 20px;
	padding-bottom: 20px;
	font-size: 20px;
}

section#a03 .column .flows{
	width: 80%;
	border: 1px solid #c4c4c4;
	background-color: #fafafa;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;	
	position: relative;
}
section#a03 .column .flows:not(.noline)::before{
	content: '';
	display: block;
	width: 1px;
	height: calc( 100% + 25px );
	background-color: #c4c4c4;
	position: absolute;
	top: 0;
	left: -122px;
}
section#a03 .column:nth-of-type(3) .flows::before{
	height: calc( 100% + 85px );
}
section#a03 .column:last-of-type .flows::before{
	content: '本番公開';
	font-size: 22px;
	color: #1847a0;
	font-weight: 500;
	position: absolute;
	top: -80px;
	left: 45px;
}

section#a03 .column .flows > dl{
	padding: 30px 50px;
}
section#a03 .column .flows > dl:not(:last-of-type){
	border-bottom: 1px solid #c4c4c4;
}
section#a03 .column .flows > dl dt{
	font-size: 18px;
	color: #1847a0;
}
section#a03 .column .flows > dl dd{
	margin-top: 16px;
}



/*-----------------------------------------------------------*/
section#a04{
	max-width: 100% !important;
	background-color: #f5f5f5;
}
section#a04 .inn{
	padding: 65px 0 70px;
}

section#a04 .inn > .column{
	margin-top: 30px;
	border: 1px solid #c4c4c4;
	background-color: #fff;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	padding: 35px 55px;
}

section#a04 .inn > .column > dl{
	padding-bottom: 25px;
	border-bottom: 1px solid #c4c4c4;
	color: #333;
}
section#a04 .inn > .column > dl dt{
	font-size: 23px;
	text-align: center;
}
section#a04 .inn > .column > dl dd{
	margin-top: 20px;
	font-size: 15px;
}

section#a04 .inn > .column .area{
	margin-top: 25px;
	display: flex;
}

section#a04 .inn > .column .area > .icon{
	width: 20%;
	display: flex;
	justify-content: center;
}
section#a04 .inn > .column .area > .icon > p{
	max-width: 125px;
	width: calc( 100% - 50px );
	min-height: 125px;
	border: 1px solid #1847a0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	color: #1847a0;
	text-align: center;
}

section#a04 .inn > .column .area > .txts{
	width: 80%;
}
section#a04 .inn > .column .area > .txts > dl{
	display: flex;
	align-items: center;
}
section#a04 .inn > .column .area > .txts > dl:not(:first-of-type){
	margin-top: 16px;
}
section#a04 .inn > .column .area > .txts > dl dt{
	min-width: 60px;
	min-height: 24px;
	background-color: #004da1;
	font-size: 14px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
section#a04 .inn > .column .area > .txts > dl dd{
	margin-left: 25px;
	font-size: 15px;
	color: #333;
}

/*-----------------------------------------------------------*/
section#a05{
}
section#a05 .inn{
}

section#a05 .links{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 0;
}
section#a05 .links > a{
	width: calc( 25% - 20px );
	height: 100px;
	display: flex;
	align-items: center;
	padding: 0 20px 0 85px;
	border: 1px solid #c8c8c8;
	box-sizing: border-box;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	position: relative;
}

section#a05 .links > a::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 17px;
}
section#a05 .links > a.icon01::before{
	background: url("../image/homepage/icon01.png") no-repeat;
	background-size: contain;
	width: 47px;
	height: 44px;
}
section#a05 .links > a.icon02::before{
	background: url("../image/homepage/icon02.png") no-repeat;
	background-size: contain;
	width: 46px;
	height: 43px;
}
section#a05 .links > a.icon03::before{
	background: url("../image/homepage/icon03.png") no-repeat;
	background-size: contain;
	width: 47px;
	height: 43px;
}
section#a05 .links > a.icon04::before{
	background: url("../image/homepage/icon04.png") no-repeat;
	background-size: contain;
	width: 48px;
	height: 41px;
}
section#a05 .links > a.icon05::before{
	background: url("../image/homepage/icon05.png") no-repeat;
	background-size: contain;
	width: 48px;
	height: 34px;
}
section#a05 .links > a.icon06::before{
	background: url("../image/homepage/icon06.png") no-repeat;
	background-size: contain;
	width: 44px;
	height: 44px;
}
section#a05 .links > a.icon07::before{
	background: url("../image/homepage/icon07.png") no-repeat;
	background-size: contain;
	width: 52px;
	height: 31px;
}
section#a05 .links > a.icon08::before{
	background: url("../image/homepage/icon08.png") no-repeat;
	background-size: contain;
	width: 41px;
	height: 41px;
}

/**/