@charset "UTF-8";
/*----------------------------------------

	+ content
		- tit01
		- box01
		- box02
		- box03
		- box05

-----------------------------------------*/

/*----------------------------------------
	content
-----------------------------------------*/
@media screen and (max-width:768px) {
	#content {
		padding-top: 0;
	}
}

/*----------------------------------------
	tit01
-----------------------------------------*/
#tit01 {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 750px;
	margin-top: -96px;
	background: url(../img/h_2024_bg01.jpg) no-repeat center;
	background-size: cover;
}
#tit01 h1 {
	display: flex;
	flex-direction: column;
	margin-top: -27px;
}
#tit01 h1 span:first-of-type {
	position: relative;
	height: calc(92px/2);
	width: calc(206px/2);
	margin: 0 auto;
	padding-bottom: 78px;
}
#tit01 h1 span:first-of-type::before {
	content: "";
	position: absolute;
	bottom: 37px;
	left: calc(50% - (100px/2));
	width: 100px;
	height: 1px;
	background: #ffff00;
}
#tit01 h1 span:nth-of-type(2),
#tit01 h1 span + img {
	width: calc(598px/2);
}
#tit01 p {
	position: absolute;
	top: calc(50% - (150px/2));
	left: calc(50% + 129px);
	width: 150px;
}
@media screen and (max-width:768px) {
	#tit01 {
		height: 375px;
	}
	#tit01 h1 {
		margin-top: 0;
	}
	#tit01 h1 span:first-of-type {
		height: calc((92px/2) * (70/100));
		width: calc((206px/2) * (70/100));
		padding-bottom: 60px;
	}
	#tit01 h1 span:first-of-type::before {
		bottom: 26px;
		left: calc(50% - (74px/2));
		width: 74px;
	}
	#tit01 h1 span:nth-of-type(2),
	#tit01 h1 span + img {
		height: calc((222px/2) * (70/100));
		width: calc((598px/2) * (70/100));
	}
	#tit01 p {
		position: absolute;
		top: auto;
		right: 8px;
		bottom: -30px;
		left: auto;
		width: 105px;
		width: calc(150px * (70/100));
	}
}

/*----------------------------------------
	box01
-----------------------------------------*/
#box01 {
	min-width: 1000px;
	width: calc(100% - 200px);
	margin: 0 auto;
	padding-bottom: 67px;
}
#box01 p {
	padding: 72px 0 0;
	text-align: center;
	line-height: 2;
}
@media screen and (max-width:768px) {
	#box01 {
		min-width: 100%;
		width: 100%;
		padding-bottom: 52px;
	}
	#box01 p {
		width: 300px;
		margin: 0 auto;
		padding: 57px 0 0;
		text-align: left;
		line-height: 1.6;
	}
	#box01 p br.pc {
		display: none;
	}
}

/*----------------------------------------
	box03
-----------------------------------------*/
#box03 {
	display: flex;
	justify-content: space-between;
	min-width: 1000px;
	width: calc(100% - 200px);
	margin: 0 auto;
}
#box03 div {
	order: 1;
	flex-basis: 36.15%;
}
#box03 div p {
	line-height: 1.6;
}
#box03 figure {
	order: 2;
	flex-basis: 57.69%;
	margin-top: 3px;
}
@media screen and (max-width:768px) {
	#box03 {
		display: inherit;
		min-width: 300px;
		width: 300px;
	}
	#box03 div {
		flex-basis: auto;
		min-width: 100%;
		width: 100%;
		margin: 58px auto 0;
	}
	#box03 figure {
		flex-basis: auto;
		min-width: 100%;
		width: 100%;
	}
}

/*----------------------------------------
	box02
-----------------------------------------*/
#box02 {
	min-width: 1000px;
	width: calc(100% - 200px);
	margin: 0 auto;
	padding-bottom: 79px;
}
#box02 p {
	padding: 0 0 75px;
	line-height: 1.6;
}
@media screen and (max-width:768px) {
	#box02 {
		min-width: 100%;
		width: 100%;
		padding-bottom: 60px;
	}
	#box02 p {
		width: 300px;
		margin: 0 auto;
		padding: 0 0 54px;
	}
}
/*----------------------------------------
	box05
-----------------------------------------*/
#box05 {
	min-width: 1000px;
	width: calc(100% - 200px);
	margin: 0 auto;
}
#box05>p:first-of-type span {
	display: inline-block;
	margin-left: 1em;
}
#box05>p+p {
	margin-top: 11px;
	line-height: 1.6;
}
#box05>div {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 35px;
}
#box05>div+div {
	margin-top: 40px;
}
#box05>div figure {
	flex-basis: 34.61%;
}
#box05>div div {
	flex-basis: 60.77%;
	margin-top: -2px;
}
#box05>div div p+p {
	margin-top: 12px;
	line-height: 1.6;
}
#box05>div div div.en {
	margin-top: 12px;
}
#box05>div div div.en p+p {
	margin-top: 6px;
}
@media screen and (max-width:768px) {
	#box05 {
		min-width: 100%;
		width: 100%;
	}
	#box05>p {
		width: 300px;
		margin: 0 auto;
	}
	#box05>p:first-of-type span {
		margin-left: 0;
	}
	#box05>div {
		display: block;
		width: 300px;
		margin: 27px auto 0;
	}
	#box05>div+div {
		margin-top: 25px;
	}
	#box05>div figure {
		flex-basis: auto;
	}
	#box05>div div {
		flex-basis: auto;
		margin-top: 18px;
	}
	#box05>div div div.en {
		margin-top: 12px;
	}
}