@charset "UTF-8";
.outline::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../images/bg_line.webp) no-repeat calc(50% + 108px) 888px / 3056px auto;
	z-index: -1;
}
.visual .textstyle .txt1 {
	background: url(../images/txt_pagetitle_line.svg);
}
.visual .textstyle .txt2 {
	background: url(../images/txt_pagetitle.svg);
}
.content .sec h2 {
	font-size: 70px;
	color: #fff;
	line-height: 1em;
	position: relative;
	z-index: 100;
}
.content .sec h2 span {
	color: #fff
}
.content .sec.menu {
	padding: 150px 0 120px 0;
} 
.content .sec.menu > .inner {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto;
	position: relative;
} 
.content .sec.menu .fbox {display: flex;margin-top: -40px;position: relative;z-index: 100;}
.content .sec.menu .fbox .text {
	font-size: 20px;
	line-height: 2em;
	font-weight: 500;
	margin: 0 0 0 auto;
	color: #fff;
}
.content .sec.menu .img1 {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	top: 146px;
	width: 800px;
}
.content .sec.menu .img2 {
	position: relative;
	margin-top: 230px;
}
.content .sec.flow {
	padding: 200px 0 220px 0;
	background: url(../images/img_flow.webp?v=1) no-repeat center center / cover;
	margin-bottom: -150px;
} 
.content .sec.flow > .inner {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto;
	position: relative;
} 
.content .sec.flow ul {
	display: flex;
	color: #fff;
	margin-top: 150px;
	position: relative;
}
.content .sec.flow ul::before {
	content: "";
	display: block;
	position: absolute;
	left: calc((50% / 5));
	top: 45px;
	width: calc(100% - calc((100% / 5)));
	height: 1px;
	background: #fff;
}
.content .sec.flow ul li {
	width: calc(100% / 5);
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.content .sec.flow ul li::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: #fff;
	border-radius: 100px;
	border: 30px solid #d1c2c8;
	margin-bottom: 25px;
}
.content .sec.flow ul li .text {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 15px;
	letter-spacing: 0.2em;
	line-height: 1.8em;
	height: 190px;
}
.content .sec.flow ul li .f_en {
	font-size: 13px;
	width: 270px;
	text-align: center;
	line-height: 1.5em;
}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
	.outline::before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url(../images/bg_line.webp) no-repeat calc(50% + 158px) 848px / 1500px auto;
		z-index: -1;
	}
	.visual .textstyle .txt1 {
		background: url(../images/txt_pagetitle_line.svg);
	}
	.visual .textstyle .txt2 {
		background: url(../images/txt_pagetitle.svg);
	}
	.content .sec h2 {
		font-size: 40px;
		color: #fff;
		line-height: 1em;
		position: relative;
		z-index: 100;
	}
	.content .sec h2 span {
		color: #fff
	}
	.content .sec.menu {
		padding: 110px 0 100px 0;
	} 
	.content .sec.menu > .inner {
		max-width: 1200px;
		width: 90%;
		margin: 0 auto;
		position: relative;
	} 
	.content .sec.menu .fbox {display: flex;margin-top: 40px;position: relative;z-index: 100;}
	.content .sec.menu .fbox .text {
		font-size: 14px;
		line-height: 2em;
		font-weight: 500;
		margin: 00;
		color: #fff;
	}
	.content .sec.menu .img1 {
		position: absolute;
		left: 50%;
		transform: translate(-50%, 0);
		top: 274px;
		width: 84%;
		height: 740px;
	}
	.content .sec.menu .img1 img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	}
	.content .sec.menu .img2 {
		position: relative;
		margin-top: 70px;
		margin-bottom: 149px;
	}
	.content .sec.flow {
		padding: 120px 0 120px 0;
		background: url(../images/img_flow.webp) no-repeat center center / cover;
		margin-bottom: 0;
	} 
	.content .sec.flow > .inner {
		max-width: 1200px;
		width: 90%;
		margin: 0 auto;
		position: relative;
	} 
	.content .sec.flow ul {
		display: flex;
		color: #fff;
		margin-top: 70px;
		position: relative;
		flex-direction: column;
		gap: 30px;
	}
	.content .sec.flow ul::before {
		content: "";
		display: block;
		position: absolute;
		left: 24px;
		top: 20px;
		width: 1px;
		height: calc(100% - 40px);
		background: #fff;
	}
	.content .sec.flow ul li {
		width: auto;
		display: flex;
		flex-direction: column;
		align-items: start;
		position: relative;
		padding: 0 0 0 68px;
	}
	.content .sec.flow ul li::before {
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		background: #fff;
		border-radius: 100px;
		border: 18px solid #d1c2c8;
		margin-bottom: 25px;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translate(0, -50%);
	}
	.content .sec.flow ul li .text {
		-ms-writing-mode: initial;
		writing-mode: initial;
		font-size: 14px;
		letter-spacing: 0.1em;
		line-height: 1.8em;
		height: auto;
		text-align: left;
	}
	.content .sec.flow ul li .text  br {
		display: none;
	}
	.content .sec.flow ul li .f_en {
		font-size: 9px;
		width: 270px;
		text-align: left;
		line-height: 1.5em;
		letter-spacing: 0;
		margin-bottom: 5px;
	}
	.content .sec.flow ul li .f_en br {
		display: none;
	}

	
	
}