section {
	border-top: 1px solid #ccc;
}
section h3 {
	font-family: 'Shin Go Light';
}
.contact {
	margin: 1rem auto 0;
}

@media all and (max-width: 640px) {
	section {
		padding: 0 1rem;
	}
	section h3 {
		font-size: 180%;
	}
	section > p {
		text-align: justify;
	}
	section > p br {
		display: none;
	}
}

@media all and (min-width: 641px) {
	section {
		width: 49rem;
		margin: 3rem auto;
	}
	section h3 {
		font-size: 220%;
	}
}

/*---------- flow ----------*/

.flow > div > h4,
.flow > div > h5 {
	font-family: 'Shin Go Regular';
	line-height: 1.4;
}

.flow > div > h4 small,
.flow > div > h5 small {
	display: block;
	font-family: 'Shin Go Light';
	-webkit-font-feture-settings: 'palt';
	font-feture-settings: 'palt';
	font-size: 70%;
}
.flow p {
	text-align: justify;
}

@media all and (max-width: 640px) {
	.flow {
		margin: 1rem auto;
	}
	.flow > div {
		padding: 1rem 0;
	}
	.flow > div:not(:last-child),
	#tourFlow > div:nth-of-type(2) h5 span:not(:last-child) {
		background: url(../images/shop/admission_arrow_down.svg) no-repeat center bottom;
		background-size: auto 1.5rem;
	}
	.flow > div:not(:last-child) {
		padding-bottom: 3rem;
	}
	#tourFlow > div:nth-of-type(2) h5 span:not(:last-child) {
		padding-bottom: 2rem;
		margin-bottom: 0.5rem;
		display: block;
	}
	.flow > div > h4,
	.flow > div > h5 {
		margin: 0;
		font-size: 150%;
	}
	.flow p {
		margin: 1em 0 0;
	}
	.flow p br {
		display: none;
	}
}

@media all and (min-width: 641px) {
	.flow > div > h4,
	.flow > div > h5 {
		font-size: 150%;
	}

	#reserveFlow > div,
	#tourFlow > div {
		display: inline-block;
		vertical-align: top;
	}
	#reserveFlow h5,
	#tourFlow h5 {
		margin: 0;
	}
	#reserveFlow h5,
	#tourFlow > div:nth-of-type(1) h5,
	#tourFlow > div:nth-of-type(2) h5 span {
		position: relative;
		padding: 2em 0;
	}
	#reserveFlow > div:not(:last-child) h5::after,
	#tourFlow > div:nth-of-type(1) h5::after,
	#tourFlow > div:nth-of-type(2) h5 span:not(:last-child)::after {
		content: '';
		display: block;
		position: absolute;
		left: 100%;
		top: 0;
		height: 100%;
		background: url(../images/shop/admission_arrow_right.svg) no-repeat center center;
		background-size: 1.5rem auto;
	}
	#reserveFlow p,
	#tourFlow p {
		font-size: 90%;
		line-height: 1.6;
	}

	/* 見学の流れ */
	#reserveFlow > div {
		width: 12rem;
	}
	#reserveFlow > div:not(:last-child) {
		margin-right: 3rem;
	}
	#reserveFlow > div:not(:last-child) h5::after {
		width: 3rem;
	}

	/* 見学の流れ */
	#tourFlow > div:nth-of-type(1),
	#tourFlow > div:nth-of-type(2) h5 span {
		width: 10rem;
	}
	#tourFlow > div:nth-of-type(2) {
		width: calc(10rem * 3 + 2rem * 2);
	}
	#tourFlow > div:nth-of-type(1),
	#tourFlow > div:nth-of-type(2) h5 span:not(:last-child) {
		margin-right: 2rem;
	}
	#tourFlow > div:not(:last-child) h5::after,
	#tourFlow > div:nth-of-type(2) h5 span:not(:last-child)::after {
		width: 2rem;
	}
	#tourFlow h5 span {
		display: inline-block;
		vertical-align: top;
	}
	#tourFlow h5 small {
		position: absolute;
		width: 100%;
	}

	/* 入会の流れ */
	#joinFlow {
		margin: 3rem 0;
		text-align: left;
	}
	#joinFlow > div {
		display: table;
		border-spacing: 2rem 0;
	}
	#joinFlow h4,
	#joinFlow .body {
		display: table-cell;
		vertical-align: top;
	}
	#joinFlow > div:not(:first-child) {
		margin-top: 3rem;
	}
	#joinFlow h4 {
		position: relative;
		text-align: center;
		margin: 0;
		width: 9em;
	}
	#joinFlow > div:last-child h4 {
		position: relative;
	}
	#joinFlow > div:not(:first-child) h4::before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: -1rem;
		transform: translate(0, -100%);
		width: 100%;
		height: 1.25rem;
		background: url(../images/shop/admission_arrow_down.svg) no-repeat center center;
		background-size: auto 100%;
	}
	#joinFlow p {
		margin: 0;
	}
}

/*==================== 見学の流れ ====================*/

#tour h4 {
	margin-top: 2em;
}


#tour h4 small {
	font-size: 70%;
}

@media all and (max-width: 640px) {
	#tour h4 small {
		display: block;
		margin-top: 0.5em;
	}
}
@media all and (min-width: 641px) {
	#tour h4 small {
		display: inline-block;
		margin-left: 0.5em;
	}
}

/*==================== 入会の流れ ====================*/

/* ご用意いただくもの */
#joinFlow .prepare {
	margin-top: 2em;
	padding: 1.5em;
	background-color: #fff2b2;
}
#joinFlow .prepare h5 {
	margin: 0;
	font-size: 110%;
}
#joinFlow .prepare ul {
	margin: 1em 0 0;
	padding: 0;
	list-style-position: inside;
	text-align: left;
}
#joinFlow .prepare li {
	margin-left: 1em;
	text-indent: -1em;
	line-height: 1.3;
}
#joinFlow .prepare li:nth-of-type(n+2) {
	margin-top: 0.5em;
}
#joinFlow .prepare del {
	position: relative;
	text-decoration: none;
}
#joinFlow .prepare del::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background: #e85500;
}
#joinFlow .prepare ins {
	padding-left: 0.5em;
	color: #e85500;
	font-weight: bold;
	text-decoration: none;
}
