@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* --------------------------------------------------- */
#sec01 {
	max-width: 1350px;
	width: 90%;
	margin: 0 auto 130px;
	position: relative;
}
#sec01 .block {
	margin-bottom: 50px;
}
#sec01 .block .ttl {
	font-family: "Noto Serif JP", serif;
	font-size: 1.4em;
	font-weight: 500;
	margin-bottom: 40px;
	letter-spacing: 3px;
}
#sec01 .block .txt {
	max-width: 600px;
	width: 100%;
	margin-bottom: 20px;
}
#sec01 .block .name {
	font-size: 1.3em;
	line-height: 1.2em;
	max-width: 600px;
	width: 100%;
	text-align: right;
}
#sec01 .block .name span {
	display: block;
	font-size: 11px;
	text-align: right;
}
#sec01 .ph {
	max-width: 870px;
	width: 110%;
	margin: 0 -7% 0 auto;
}
@media screen and (max-width: 900px) {
	#sec01 {
        margin: 0 auto 80px;
    }
	#sec01 .block .ttl {
        font-size: 1.3em;
    }
}
@media screen and (max-width: 680px) {
	#sec01 .block .ttl {
        font-size: 1.2em;
    }
}
/* --------------------------------------------------- */
#sec02 {
	max-width: 1350px;
	width: 95%;
	margin: 0 auto 130px;
	position: relative;
	background-color: #F6F7F7;
	padding: 0 40px 40px;
}
#sec02 .ttl-style03 {
	top: -30px;
}
#sec02 .block {
	background-color: #fff;
	padding: 40px;
	margin-top: 20px;
}
#sec02 .block p {
	text-align: center;
	margin-top: 15px;
}
@media screen and (max-width: 900px) {
	#sec02 {
		padding: 0 30px 30px;
		margin: 0 auto 80px;
	}
	#sec02 .ttl-style03 {
        top: -20px;
    }
	#sec02 .block p {
		text-align: left;
	}
	#sec02 .block p br {
		display: none;
	}
}
@media screen and (max-width: 680px) {
	#sec02 {
		padding: 0 10px 10px;
		margin: 0 auto 50px;
	}
	#sec02 .block {
        padding: 25px;
        margin-top: 10px;
    }
}
/* --------------------------------------------------- */
#sec03 {
	max-width: 1350px;
	width: 95%;
	margin: 0 auto 80px;
	position: relative;
	background-color: #DFE8F3;
	padding: 0 40px 40px;
}
#sec03 .ttl-style03 {
	top: -30px;
}
#sec03 .ttl-style04 {
	margin-bottom: 30px;
}
#sec03 .block {
	background-color: #fff;
	padding: 40px;
	margin-top: 20px;
}
#sec03 .data1 {
	overflow: hidden;
	margin-bottom: 15px;
}
#sec03 .data1 .img {
	width: 30%;
	float: right;
	position: relative;
}
#sec03 .data1 .img img {
	display: block;
	max-width: 150px;
	width: 80%;
	margin: 10% auto 0;
}
#sec03 .data1 dl {
	width: 65%;
	display: table;
	background-color: #F4F4F4;
	margin-bottom: 5px;
	padding: 10px;
}
#sec03 .data1 dt,
#sec03 .data1 dd {
	display: table-cell;
	vertical-align: top;
}
#sec03 .data1 dt {
	width: 130px;
}
#sec03 .data1 dd {
}
#sec03 .data2 {
}
#sec03 .data2 dl {
	width: 100%;
	display: table;
	padding: 10px;
	border-bottom: #ccc 1px dashed;
}
#sec03 .data2 dt,
#sec03 .data2 dd {
	display: table-cell;
	vertical-align: top;
}
#sec03 .data2 dt {
	width: 130px;
}
#sec03 .data2 dd {
}
@media screen and (max-width: 900px) {
	#sec03 {
		padding: 0 30px 30px;
	}
	#sec03 .ttl-style03 {
        top: -20px;
    }
	#sec03 .block {
        padding: 30px;
    }
	#sec03 .data1 .img {
        width: 100%;
        float: none;
		margin-bottom: 20px;
    }
    #sec03 .data1 .img img {
        margin: 0 auto;
    }
    #sec03 .data1 dl {
        width: 100%;
    }
}
@media screen and (max-width: 680px) {
	#sec03 {
		padding: 0 10px 10px;
		margin: 0 auto 40px;
	}
	#sec03 .block {
        padding: 25px 15px 15px;
        margin-top: 10px;
    }
	#sec03 .data1 .img img {
        width: 80px;
    }
	#sec03 .data1 dl,
	#sec03 .data2 dl {
		font-size: .9em;
	}
	#sec03 .data1 dt,
	#sec03 .data2 dt {
        width: 100px;
    }
}
/* --------------------------------------------------- */

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

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


