
/* --------------------------------------------------- */

/* --------------------------------------------------- */
#sec01 {
	width: 100%;
	margin: 0 auto 80px;
	background-color: #10305A;
	color: #fff;
	padding: 80px 0;
}
#sec01 .inner {
	max-width: 1300px;
	width: 90%;
	margin: 0 auto;
}
#sec01 .ttl {
	font-size: 1.3em;
	font-weight: 500;
	margin-bottom: 20px;
	text-align: center;
	margin-bottom: 50px;
}
#sec01 ul {
	display: flex;
	justify-content: space-between;
}
#sec01 li {
	width: 32%;
}
#sec01 li img {
	display: block;
	margin-bottom: 10px;
}
#sec01 li strong {
	display: block;
	font-size: 1em;
	font-weight: 500;
	margin-bottom: 5px;
}
#sec01 li p {
	font-size: 13px;
	line-height: 1.4em;
	margin-bottom: 4px;
}
#sec01 li p span {
	display: inline-block;
	width: 40px;
}
@media (max-width: 1080px) {
	#sec01 .ttl {
		text-align: left;
		font-size: 1.2em;
	}
}
@media (max-width: 840px) {
	#sec01 {
        margin: 0 auto 60px;
        padding: 60px 0;
    }
	#sec01 .ttl {
		font-size: 1.1em;
	}
	#sec01 ul {
		flex-wrap: wrap;
    }
    #sec01 li {
        width: 48%;
		margin-top: 2%;
    }
	#sec01 li p {
		margin-bottom: 10px;
	}
	#sec01 li p span {
		display: block;
		width: 50px;
		text-align: center;
		position: relative;
		padding-bottom: 2px;
		margin-bottom: 3px;
	}
	#sec01 li p span::before,
	#sec01 li p span::after {
		content: "";
		width: 3px;
		height: 100%;
		border-top: #fff 1px solid;
		border-bottom: #fff 1px solid;
		position: absolute;
		top: 0;
	}
	#sec01 li p span::before {
		border-left: #fff 1px solid;
		left: 0;
	}
	#sec01 li p span::after {
		border-right: #fff 1px solid;
		right: 0;
	}
}
@media (max-width: 640px) {
}
@media (max-width: 480px) {
	#sec01 {
        margin: 0 auto 40px;
        padding: 40px 0;
    }
	#sec01 ul {
		display: block;
    }
    #sec01 li {
        width: 100%;
		margin-top: 20px;
    }
}
/* --------------------------------------------------- */
#sec02 {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto 80px;
}
#sec02 .block {
	background-color: #fff;
	position: relative;
	padding: 5%;
	margin-top: 70px;
}
#sec02 .block::after {
	content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 22px solid transparent;
    border-left: 22px solid transparent;
    border-top: 17px solid #fff;
    border-bottom: 0;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-bottom: -15px;
	transform: translate(-50%, 0%);
}
#sec02 .block.last::after {
	display: none;
}
#sec02 .block .step {
	text-align: center;
	width: 90px;
	font-weight: 500;
	line-height: 1.2em;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	margin-top: -40px;
}
#sec02 .block .step span {
	display: block;
	text-align: center;
	font-size: 2em;
	font-weight: 400;
	line-height: 1.2em;
}
#sec02 .block .ttl {
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
}
#sec02 .block > p {
	margin: 20px 0;
	line-height: 1.4em;
	font-size: .9em;
	text-align: center;
}
#sec02 .block ul {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}
#sec02 .block li {
	width: 32%;
	border: #10305A 1px solid;
	padding: 15px 20px;
}
#sec02 .block li strong {
	display: block;
	font-weight: 500;
	margin-bottom: 5px;
}
#sec02 .block li p {
	text-align: left;
	margin: 0;
	font-size: 13px;
	line-height: 1.4em;
	margin-bottom: 8px;
}
#sec02 .block li p span {
	display: inline-block;
	width: 40px;
}
#sec02 .block .btn {
	display: block;
	text-align: center;
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
	background-color: #F2F2F2;
	font-size: 14px;
	position: relative;
}
#sec02 .block .btn::before {
    content: "keyboard_arrow_right";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 18px;
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translate(0%, -50%);
}
#sec02 .block .btn:hover {
	background-color: #10305A;
	color: #F2F2F2;
}
#sec02 .end {
	text-align: center;
	font-size: 1.4em;
	font-weight: 500;
	margin-top: 30px;
}
#sec02 .end br {
	display: none;
}
@media (max-width: 840px) {
	#sec02 {
        margin: 0 auto 60px;
    }
	#sec02 .block {
        padding: 6% 5% 5%;
        margin-top: 70px;
    }
	#sec02 .block .step {
		margin-top: -30px;
	}
	#sec02 .block .ttl {
		font-size: 1em;
		line-height: 1.7em;
    }
	#sec02 .block ul {
		flex-wrap: wrap;
    }
    #sec02 .block li {
        width: 49%;
		margin-top: 2%;
    }
	#sec02 .block li p {
		margin-bottom: 10px;
	}
	#sec02 .block li p span {
		display: block;
		width: 50px;
		text-align: center;
		position: relative;
		padding-bottom: 2px;
		margin-bottom: 3px;
	}
	#sec02 .block li p span::before,
	#sec02 .block li p span::after {
		content: "";
		width: 3px;
		height: 100%;
		border-top: #10305A 1px solid;
		border-bottom: #10305A 1px solid;
		position: absolute;
		top: 0;
	}
	#sec02 .block li p span::before {
		border-left: #10305A 1px solid;
		left: 0;
	}
	#sec02 .block li p span::after {
		border-right: #10305A 1px solid;
		right: 0;
	}
}
@media (max-width: 640px) {
	#sec02 {
        margin: 0 auto 40px;
    }
	#sec02 .end {
        font-size: 1.2em;
    }
}
@media (max-width: 480px) {
	#sec02 .block {
        padding: 8% 5% 5%;
        margin-top: 50px;
    }
	#sec02 .block > p {
		text-align: left;
	}
	#sec02 .block ul {
		display: block;
    }
    #sec02 .block li {
        width: 100%;
    }
	#sec02 .block .ttl {
		text-align: left;
	}
	#sec02 .end {
        font-size: 1.2em;
    }
    #sec02 .end br {
        display: block;
    }
}
/* --------------------------------------------------- */

/* --------------------------------------------------- */

