@charset "UTF-8";

/* ++++++++++++++++++++++++++++++
development page
++++++++++++++++++++++++++++++ */
#lowerBox .wBox { box-sizing: border-box; }
@media screen and (min-width:769px), print{
	#mainHeader { padding-bottom: 330px; }
	#lowerBox .wBox {
		margin-top: -255px;
	}
}
@media screen and (max-width:768px){
	#mainTitle { height: auto; }
}

#flow ol li {
	color: #6633cc;
	position: relative;
}
#flow ol li::before,
#flow ol li::after {
	margin: auto;
	display: block;
	position: absolute;
	background: url(../images/development/arr_flow.svg) no-repeat center center;
	background-size: cover;
}
@media screen and (min-width:769px), print{
	#flow .title { font-size: 24px; }
	#flow ol {
		display: flex;
		flex-wrap: wrap;
		margin-top: 45px;
	}
	#flow ol li {
		width: calc(100% / 3);
		border-left: 1px solid #6633cc;
	}
	#flow ol li:nth-child(3n) {
		border-right: 1px solid #6633cc;
	}
	#flow ol li:nth-child(3) ~ li { margin-top: 50px; }
	#flow ol li::before,
	#flow ol li:nth-child(3n):not(:last-child)::after {
		content: "";
		top: 0;
		bottom: 0;
		width: 25px;
		height: 25px;
	}
	#flow ol li::before {
		left: 0;
	}
	#flow ol li:nth-child(3n):not(:last-child)::after {
		left: 100%;
	}
	#flow ol li dl { padding: 11px 26px 11px 50px; }
	#flow ol li dd { margin-top: 5px; }
}
@media screen and (max-width:768px){
	#lowerBox .wBox {
		padding-top: 40px;
		.title {
			font-size: 18px;
		}
		li + li::before {
			content: "";
			top: 0;
			left: 0;
			right: 0;
			width: 20px;
			height: 20px;
			transform: rotate(90deg);
		}
		dl {
			font-size: 12px;
			padding-block: 37px 20px;
			border-bottom: 1px solid #6633cc;
		}
		dd { margin-top: 5px; }
	}
}

#contents .block .title .ja,
#contents .block .photos dt {
	color: #6633cc;
}
#contents .block .title .en,
#contents .block .link {
	font-family: "Noto Sans JP", sans-serif;
}
#contents .block .photos .sub > * {
	display: flex;
	justify-content: space-between;
}
#contents .block .link a {
	display: block;
	text-align: center;
	border: 1px solid #c8c8c8;
}
@media screen and (min-width:769px), print{
	#contents { padding-block: 40px 400px; }
	#contents .block + .block { margin-top: 140px; }
	#contents .block .title .ja { font-size: 18px; }
	#contents .block .title .en {
		font-size: 12px;
		margin-left: 0.5em;
	}
	#contents .block .photos {
		display: flex;
		margin-top: 10px;
		justify-content: space-between;
	}
	#contents .block .photos .main { width: 480px; }
	#contents .block .photos .main .title {
		font-size: 18px;
		padding: 10px 0 5px;
	}
	#contents .block .photos .sub { width: calc(100% - 500px); }
	#contents .block .photos .sub > div + div { margin-top: 20px; }
	#contents .block .photos .sub > div figure { width: 240px; }
	#contents .block .photos .sub > div dl { width: 240px; }
	#contents .block .photos .sub .title { margin: -0.5em 0 0.5em; }
	#contents .block .link a {
		width: 380px;
		margin-top: 24px;
		padding-block: 4px 6px;
	}
	#contents .block .link a:hover { background-color: #c8c8c8; }
}
@media screen and (max-width:768px){
	#contents .block {
		padding-top: 70px;
		.title .ja { font-size: 15px; }
		.title .en { font-size: 10.5px; }
		.photos { margin-top: 13px; }
		.main dt {
			font-size: 15px;
			margin-top: 10px;
		}
		.main dd {
			font-size: 12px;
			margin-top: 3px;
		}
		.sub > * + * { margin-top: 35px; }
		.sub figure,
		.sub dl { width: calc(50% - 12px); }
		.sub figure img {
			aspect-ratio: 1 / 1;
			object-fit: cover;
		}
		.sub dl {
			font-size: 12px;
			margin-top: -7px;
		}
		.sub dl dd { margin-top: 5px; }
		.link {
			margin-top: 28px;
			a {
				font-size: 12px;
				padding-block: 4px 5px;
			}
		}
	}
}