@charset "utf-8";

section.common_section:first-of-type {
	margin-top: initial;
}

/* --------- --------- --------- --------- main_visual --------- */
section.main_visual {
	display: flex;
	padding: 0;
	max-width: 1920px;
	max-height: 1080px;
	overflow: hidden;
	position: relative;
}
section.main_visual .movie {
	width: 100%;
	max-width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	position: relative;
}
section.main_visual .movie::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url({{ 'common_movie_main_visual_pc.jpg' | asset_url }});
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
section.main_visual .movie.ready::before {
	display: none;
}
section.main_visual .movie video {
	display: none;
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (max-width: 960px) {
	section.main_visual {
		max-height: 100vh;
	}
	section.main_visual .movie {
		padding-bottom: 100vh;
	}
	section.main_visual .movie::before {
		display: none;
	}
	section.main_visual .movie .image {
		display: none;
	}
	section.main_visual .movie video {
		display: block;
		object-fit: cover;
	}
}

/* --------- --------- --------- --------- about --------- */
section.about {
	width: 100%;
	max-width: 100%;
	padding: 0;
	background-color: #f8efe2;
	overflow: hidden;
}
section.about .main {
	display: block;
	margin-top: 2rem;
	z-index: 1;
	position: relative;
}
section.about .main.main_pc {
	display: block;
}
section.about .main.main_sp {
	display: none;
}
@media screen and (max-width: 768px) {
	section.about .main.main_pc {
		display: none;
	}
	section.about .main.main_sp {
		display: block;
	}
}
section.about .main .content {
	width: 100%;
	max-width: 992px;
	margin: 0 auto;
	position: relative;
}
section.about .main .content .image {
	display: flex;
}
section.about .main .content .text {
	width: 55%;
	padding: 1.5rem;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
section.about .main .content .text h2 {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
}
section.about .main .content .text h3 {
	margin-top: 2rem;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1;
}
section.about .main .content .text p {
	margin-top: .875rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.6;
}
section.about .main .background_01 {
	width: 100%;
	height: 100px;
	z-index: -2;
	background-color: #f8efe2;
	position: absolute;
	top: 0;
}
section.about .main .background_02 {
	width: 100%;
	z-index: -1;
	height: calc(100% - 200px);
	background-color: #ffffff;
	position: absolute;
	top: 100px;
}
section.about .main .background_02 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .15;
}
section.about .main .background_03 {
	width: 100%;
	height: 100px;
	z-index: -2;
	background-color: #f8efe2;
	position: absolute;
	bottom: 0;
}
@media screen and (max-width: 768px) {
	section.about .main .content .image.footer {
		position: absolute;
		bottom: -10vw;
	}
	section.about .main .content .text {
		display: grid;
		grid-template-columns: 30% 1fr;
		align-items: end;
		gap: 0 1.5rem;
		width: 100%;
		padding-bottom: 0;
		position: relative;
		top: initial;
		bottom: 0;
		right: 0;
		transform: initial;
	}
	section.about .main .content .text img {
		grid-column: 1 / 2;
		grid-row: 1 / 4;
	}
	section.about .main .content .text h2 {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		z-index: 1;
	}
	section.about .main .content .text h3 {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
		z-index: 1;
	}
	section.about .main .content .text p {
		grid-column: 2 / 3;
		grid-row: 3 / 4;
		margin-bottom: 15vw;
		z-index: 1;
	}
	section.about .main .background_01 {
		height: 60px;
	}
	section.about .main .background_02 {
		height: calc(100% - 60px);
		top: initial;
		bottom: 0;
	}
}
@media screen and (max-width: 640px) {
	section.about .main .content .text img {
		display: none;
	}
	section.about .main .content .text h2 {
		grid-column: 1 / 3;
		text-align: center;
	}
	section.about .main .content .text h3 {
		grid-column: 1 / 3;
		text-align: center;
	}
	section.about .main .content .text p {
		grid-column: 1 / 3;
		margin-bottom: 12.5vw;
	}
	section.about .sub .content .text h3 {
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	section.about .main .content .text p {
		margin-bottom: 15vw;
	}
}
section.about .sub {
	z-index: 1;
	position: relative;
}
section.about .sub .content {
	width: 100%;
	height: 240px;
	max-width: 992px;
	margin: 0 auto;
	position: relative;
}
section.about .sub .content .text {
	width: 70%;
	padding: 1.5rem;
	position: relative;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
section.about .sub .content .text h3 {
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1;
}
section.about .sub .content .text p {
	margin-top: .875rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.6;
}
section.about > .image {
	height: 240px;
	position: absolute;
	bottom: 0;
	overflow: hidden;
}
section.about > .image img {
	width: 100vw;
	opacity: .25;
	position: relative;
	right: -70%;
}
@media screen and (max-width: 768px) {
	section.about .sub {
		margin-top: 10vw;
	}
	section.about .sub .content {
		height: initial;
	}
	section.about .sub .content .text {
		width: 100%;
		position: initial;
		top: initial;
		left: initial;
		transform: initial;
	}
	section.about > .image {
		height: 160px;
	}
	section.about > .image img {
		opacity: .05;
	}
}
@media screen and (max-width: 640px) {
	section.about .sub .content {
		display: flex;
		align-items: center;
	}
	section.about > .image {
		height: 240px;
	}
}
@media screen and (max-width: 640px) {
	section.about .main .content .text h2 {
		font-size: 1.75rem;
		font-weight: 800;
		line-height: 1;
	}
	section.about .main .content .text h3,
	section.about .sub .content .text h3 {
		font-size: 1rem;
		font-weight: 800;
		line-height: 1;
	}
	section.about .main .content .text p,
	section.about .sub .content .text p {
		margin-top: .875rem;
		font-size: .875rem;
		font-weight: 600;
		line-height: 1.6;
	}
}
@media screen and (max-width: 480px) {
	section.about .sub {
		margin-top: 15vw;
	}
}
@media screen and (max-width: 400px) {
	section.about .main .content .text h3,
	section.about .sub .content .text h3 {
		font-size: .875rem;
	}
}

/* --------- --------- --------- --------- products --------- */
section.products {
	margin-top: 8rem;
}
@media screen and (max-width: 960px) {
	section.products {
		margin-top: 6rem;
	}
}

/* --------- --------- --------- --------- description --------- */
section.description {
	display: block;
	margin-top: 8rem;
}
@media screen and (max-width: 960px) {
	section.description {
		margin-top: 6rem;
	}
}
section.description > .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
section.description > .title br.sp {
	display: none;
}
@media screen and (max-width: 768px) {
	section.description > .title br.sp {
		display: inline;
	}
}
section.description > .text {
	display: block;
	margin-top: 2.5rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.8;
}
section.description > .mode_description {
	display: grid;
	grid-template-columns: calc((100% - 2.5rem) / 3) calc((100% - 2.5rem) / 3) calc((100% - 2.5rem) / 3);
	grid-template-rows: auto;
	gap: 1.25rem;
	margin-top: 3.75rem;
}
section.description > .mode_description .title.training {
	grid-column: 1 / 3;
	grid-row: 1 / 2;
}
section.description > .mode_description .title.bicycle {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
}
section.description > .mode_description .image.barance {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}
section.description > .mode_description .image.brake {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}
section.description > .mode_description .image.pedaling {
	grid-column: 3 / 4;
	grid-row: 2 / 3;
}
section.description > .mode_description .title::after {
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	margin-top: .5rem;
	background-color: #e58f16;
	border-radius: 2px;
}
section.description > .mode_description .title h4 {
	display: inline-block;
	padding-left: .25rem;
	color: #e58f16;
	font-size: 1.25rem;
	font-weight: 800;
}
section.description > .mode_description .image {
	display: flex;
	flex-direction: column;
}
section.description > .mode_description .image > .photo {
	display: flex;
	width: 100%;
	margin: 0 auto;
}
section.description > .mode_description .image > .photo img {
	max-height: 240px;
}
section.description > .mode_description .image > .text {
	width: 100%;
	margin: 0 auto;
}
section.description > .mode_description .image > .text span {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding-top: 1px;
	width: 100%;
	max-width: 200px;
	height: 2.5rem;
	color: #e58f16;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
@media screen and (max-width: 640px) {
	section.description > .mode_description {
		grid-template-columns: calc((100% - 1.25rem) / 2) calc((100% - 1.25rem) / 2);
		gap: 1.25rem 0;
	}
	section.description > .mode_description .title.training {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}
	section.description > .mode_description .title.bicycle {
		grid-column: 1 / 3;
		grid-row: 3 / 4;
		margin-top: 2rem;
	}
	section.description > .mode_description .image.barance {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	section.description > .mode_description .image.brake {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
	section.description > .mode_description .image.pedaling {
		grid-column: 1 / 2;
		grid-row: 4 / 5;
	}
	section.description > .mode_description .image > .text span {
		padding-top: initial;
		max-width: 180px;
		height: 2em;
		font-size: 1rem;
		border-radius: 1rem;
	}
}
@media screen and (max-width: 480px) {
	section.description > .mode_description {
		gap: 1.25rem;
	}
}
section.description > .kids_vehicles.pc {
	display: grid;
	grid-template-columns: auto 24% 24% 24%;
	grid-template-rows: repeat(3, auto);
	width: 100%;
	margin-top: 3.75rem;
	padding: 0;
}
@media screen and (max-width: 768px) {
	section.description > .kids_vehicles.pc {
		display: none;
	}
}
section.description > .kids_vehicles.pc li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
section.description > .kids_vehicles.pc li.header_vehicle span {
	font-size: .875rem;
	font-weight: 800;
}
section.description > .kids_vehicles.pc li.header_vehicle img {
	max-width: 50%;
	margin-top: .5rem;
}
section.description > .kids_vehicles.pc li.header_merit {
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.8;
	background-color: #e58f16;
	border-top-left-radius: 1rem;
}
section.description > .kids_vehicles.pc li.column_merit {
	background-color: #f8efe2;
}
section.description > .kids_vehicles.pc li.column_merit span {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: .375rem auto 0 auto;
	padding-top: 1px;
	width: 100%;
	max-width: 200px;
	height: 2.5rem;
	color: #e58f16;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
section.description > .kids_vehicles.pc li.column_merit span:first-of-type {
	margin-top: 0;
}
section.description > .kids_vehicles.pc li.column_merit:nth-of-type(8) {
	border-top-right-radius: 1rem;
}
section.description > .kids_vehicles.pc li.header_demerit {
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.8;
	background-color: #61645b;
	border-bottom-left-radius: 1rem;
}
section.description > .kids_vehicles.pc li.column_demerit {
	background-color: #ebebea;
}
section.description > .kids_vehicles.pc li.column_demerit span {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: .375rem auto 0 auto;
	padding-top: 1px;
	width: 100%;
	max-width: 200px;
	height: 2.5rem;
	color: #61645b;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
section.description > .kids_vehicles.pc li.column_demerit span:first-of-type {
	margin-top: 0;
}
section.description > .kids_vehicles.pc li.column_demerit:nth-of-type(12) {
	border-bottom-right-radius: 1rem;
}
section.description > .supplemental {
	display: block;
}
section.description > .supplemental .supplementary_text {
	display: block;
	margin-top: 1.25rem;
	padding: 0 1rem;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.6;
}
@media screen and (max-width: 768px) {
	section.description > .supplemental.pc {
		display: none;
	}
}
section.description > .kids_vehicles.sp {
	display: none;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
	section.description > .kids_vehicles.sp {
		display: flex;
	}
}
section.description > .kids_vehicles.sp li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
}
section.description > .kids_vehicles.sp li > .description {
	width: 100%;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4;
}
section.description > .kids_vehicles.sp li > .description span {
	display: block;
	margin-bottom: .25rem;
	font-size: 1rem;
	font-weight: 700;
}
section.description > .kids_vehicles.sp li > .image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
}
section.description > .kids_vehicles.sp li > .merit_demelit {
	flex: 1;
}
section.description > .kids_vehicles.sp li > .merit_demelit .demerit {
	margin-top: .75rem;
}
section.description > .kids_vehicles.sp li > .merit_demelit .merit .header,
section.description > .kids_vehicles.sp li > .merit_demelit .demerit .header {
	display: inline-block;
	margin-right: .5rem;
	padding: 0 .75rem;
	color: #ffffff;
	font-size: .875rem;
	font-weight: 800;
	line-height: 1.5rem;
	border-radius: .75rem;
}
section.description > .kids_vehicles.sp li > .merit_demelit .merit .header {
	background-color: #e58f16;

}
section.description > .kids_vehicles.sp li > .merit_demelit .demerit .header {
	background-color: #61645b;
}
section.description > .kids_vehicles.sp li > .merit_demelit .merit .content,
section.description > .kids_vehicles.sp li > .merit_demelit .demerit .content {
	display: inline-block;
	margin: .25rem .125rem 0 .125rem;
	font-size: .875rem;
	font-weight: 800;
	line-height: 2;
}
section.description > .kids_vehicles.sp li > .merit_demelit .merit .content {
	color: #e58f16;
}
section.description > .kids_vehicles.sp li > .merit_demelit .demerit .content {
	color: #61645b;
}
@media screen and (max-width: 640px) {
	section.description > .kids_vehicles.sp li > .image {
		width: 120px;
	}
	section.description > .kids_vehicles.sp li > .merit_demelit .merit {
		margin-top: .5rem;
	}
	section.description > .kids_vehicles.sp li > .merit_demelit .merit .content,
	section.description > .kids_vehicles.sp li > .merit_demelit .demerit .content {
		width: 100%;
	}
}

/* --------- --------- --------- --------- choose_reason --------- */
section.choose_reason {
	display: block;
	margin-top: 6rem;
	padding: 6rem calc((100vw - 960px) / 2);
	width: 100%;
	max-width: initial;
	background-color: #f8efe2;
}
@media screen and (max-width: 960px) {
	section.choose_reason {
		margin-top: 4rem;
		padding: 4rem 2rem;
	}
}
section.choose_reason > .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
section.choose_reason > ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 2rem;
	margin-top: 2rem;
}
section.choose_reason > ul li {
	width: calc((100% - 4rem) / 3);
}
@media screen and (max-width: 768px) {
	section.choose_reason > ul li {
		width: calc((100% - 2rem) / 2);
	}
}
section.choose_reason > ul li > a {
	transition: opacity .2s;
}
section.choose_reason > ul li > a:hover {
	opacity: .75;
}
section.choose_reason > ul li > .image,
section.choose_reason > ul li > a .image {
	display: flex;
	overflow: hidden;
	border: 1px solid #b7a899;
	background-color: #ffffff;;
	border-radius: 1rem;
}
section.choose_reason > ul li > .text,
section.choose_reason > ul li > a .text {
	display: flex;
	margin-top: .75rem;
	color: #6c8c9d;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: underline;
}
section.choose_reason > .button {
	margin-top: 6rem;
	text-align: center;
}
@media screen and (max-width: 960px) {
	section.choose_reason > .button {
		margin-top: 4rem;
	}
}
section.choose_reason > .button a {
	display: inline-flex;
	align-items: center;
	height: 4rem;
	margin: 0;
	padding: 0 4rem 0 2.5rem;
	background-color: #e58f16;
	border-radius: 2.125rem;
	transition: opacity .2s;
	position: relative;
}
section.choose_reason > .button a span {
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 4rem;
}
@media screen and (max-width: 560px) {
	section.choose_reason > .button a {
		height: 3.5rem;
	}
	section.choose_reason > .button a span {
		font-size: 1rem;
		line-height: 3.5rem;
	}
}
@media screen and (max-width: 480px) {
	section.choose_reason > .button a {
		height: 4rem;
	}
	section.choose_reason > .button a span {
		font-size: 1.25rem;
		line-height: 4rem;
	}
	section.choose_reason > .button a span:first-of-type {
		display: none;
	}
}
@media screen and (max-width: 400px) {
	section.choose_reason > .button a {
		height: 3.5rem;
	}
	section.choose_reason > .button a span {
		font-size: 1rem;
		line-height: 3.5rem;
	}
}
section.choose_reason > .button a::after {
	content: '▲';
	font-family: 'GenJyuuGothic', sans-serif;
	font-weight: 400;
	color: #ffffff;
	font-size: .875rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%) rotate(90deg);
}
section.choose_reason > .button a:hover {
	opacity: .75;
}

/* --------- --------- --------- --------- ride_image --------- */
section.ride_image {
	display: block;
	margin-top: 6rem;
	padding: 6rem calc((100vw - 960px) / 2);
	width: 100%;
	max-width: initial;
	background-color: #ebebea;
}
@media screen and (max-width: 960px) {
	section.ride_image {
		padding: 4rem 2rem;
	}
}
section.ride_image > .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
section.ride_image > ul {
	display: flex;
	gap: 2rem;
	width: 100%;
	margin: 2rem auto 0 auto;
}
section.ride_image > ul li {
	width: calc((100% - 2rem) / 2);
	text-align: center;
}
@media screen and (max-width: 768px) {
	section.ride_image > ul {
		flex-direction: column;
	}
	section.ride_image > ul li {
		width: 100%;
	}
}
section.ride_image > ul li > .image {
	display: flex;
	overflow: hidden;
	background-color: #ffffff;;
	border-radius: 1rem;
}
section.ride_image > ul li > .image img {
	width: 100%;
}
section.ride_image > ul li .text {
	display: inline-block;
	margin-top: .75rem;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.4;
}

/* --------- --------- --------- --------- guide --------- */
section.guide {
	display: block;
	margin-top: 6rem;
}
@media screen and (max-width: 960px) {
	section.guide {
		margin-top: 4rem;
	}
}
@media screen and (max-width: 768px) {
	section.guide {
		margin-top: 2rem;
	}
}
section.guide > ul {
	display: flex;
	gap: 2rem;
}
section.guide > ul > li {
	width: calc((100% - 2rem) / 2);
	padding: 2rem;
	border-radius: 1rem;
}
@media screen and (max-width: 768px) {
	section.guide > ul {
		flex-direction: column;
	}
	section.guide > ul > li {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	section.guide > ul > li {
		padding: 2rem 1rem;
	}
}
section.guide > ul > li.norumae {
	background-color: #ecf0f2;
}
section.guide > ul > li.kogumade {
	background-color: #f8efe2;
}
section.guide > ul > li .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.4;
}
section.guide > ul > li > .image {
	display: flex;
	margin-top: 1.25rem;
	font-size: 0;
	line-height: 1;
}
section.guide > ul > li > .image img {
	width: 100%;
	border-radius: 1rem;
}
section.guide > ul > li .text {
	margin-top: 2.5rem;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4;
}
section.guide > ul > li ul {
	margin-top: 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
section.guide > ul > li ul li a {
	display: flex;
	padding: 1px 1.5rem 0 1.5rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2.5rem;
	background-color: #ffffff;
	border-radius: 1.25rem;
	transition: opacity .2s;
}
section.guide > ul > li ul li a:hover {
	opacity: .75;
}
section.guide > ul > li.norumae .title,
section.guide > ul > li.norumae .text,
section.guide > ul > li.norumae ul li a  {
	color: #6c8c9d;
}
section.guide > ul > li.kogumade .title,
section.guide > ul > li.kogumade .text,
section.guide > ul > li.kogumade ul li a  {
	color: #e58f16;
}
section.guide > ul > li.norumae .text,
section.guide > ul > li.kogumade .text  {
	min-height: 4rem;
}
section.guide > ul > li .button {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 2.5rem;
	text-align: center;
	border-radius: 2.125rem;
	transition: opacity .2s;
}
section.guide > ul > li .button:hover {
	opacity: .75;
}
section.guide > ul > li.norumae .button {
	background-color: #6c8c9d;
}
section.guide > ul > li.kogumade .button {
	background-color: #e58f16;
}
section.guide > ul > li .button span {
	display: inline-flex;
	height: 4rem;
	margin: 0;
	padding: 0 4rem 0 2.5rem;
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 4rem;
	position: relative;
}
section.guide > ul > li .button span::after {
	content: '▲';
	font-family: 'GenJyuuGothic', sans-serif;
	font-weight: 400;
	color: #ffffff;
	font-size: .875rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 560px) {
	section.guide > ul > li .button span {
		height: 3.5rem;
		line-height: 3.5rem;
	}
}

/* --------- --------- --------- --------- faq --------- */
section.faq {
	display: block;
	margin-top: 8rem;
}
@media screen and (max-width: 960px) {
	section.faq {
		margin-top: 6rem;
	}
}
@media screen and (max-width: 768px) {
	section.faq {
		margin-top: 4rem;
	}
}
section.faq > .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
section.faq > .faq_list {
	margin-top: 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
section.faq > .faq_list dl dt {
	display: flex;
	align-items: center;
	width: 100%;
	background-color: #ddd6ce;
	border-radius: 2.125rem;
	position: relative;
	cursor: pointer;
}
section.faq > .faq_list dl dt .title {
	flex: 1;
	display: flex;
	padding: 1.25rem 1.25rem 1.25rem 2.25rem;
	color: #523418;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	position: relative;
}
section.faq > .faq_list dl dt .title::before {
	content: 'Q';
	width: 16px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	position: relative;
	left: -.5rem;
}
@media screen and (max-width: 640px) {
	section.faq > .faq_list dl dt .title {
		font-size: 1rem;
	}
	section.faq > .faq_list dl dt .title::before {
		font-size: 1rem;
	}
}
section.faq > .faq_list dl dt .button {
	display: flex;
	width: 2rem;
	height: 2rem;
	background-color: #ffffff;
	border-radius: 1rem;
	position: relative;
	right: 1rem;
}
section.faq > .faq_list dl dt .button::before {
	content: '';
	display: block;
	width: 1rem;
	height: calc(.125rem * 1.5);
	background-color: #523418;
	border-radius: .125rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
section.faq > .faq_list dl dt .button::after {
	content: '';
	display: block;
	width: 1rem;
	height: calc(.125rem * 1.5);
	background-color: #523418;
	border-radius: .125rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-90deg);
	transition: transform .2s;
}
section.faq > .faq_list dl.open dt .button::after {
	transform: translate(-50%, -50%) rotate(0);
}
section.faq > .faq_list dl dd {
	display: none;
}
section.faq > .faq_list dl dd div {
	display: flex;
	padding: 1.25rem 1.25rem 1.25rem 2.25rem;
	color: #523418;
	position: relative;
}
section.faq > .faq_list dl dd div::before {
	content: 'A';
	width: 16px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	position: relative;
	top: .125rem;
	left: -.5rem;
}
section.faq > .faq_list dl dd div p {
	color: #523418;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}
section.faq > .faq_list dl dd div p a {
	color: #6c8c9d;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: underline;
}
@media screen and (max-width: 640px) {
	section.faq > .faq_list dl dd div::before {
		font-size: 1rem;
	}
	section.faq > .faq_list dl dd div p {
		font-size: .875rem;
	}
	section.faq > .faq_list dl dd div p a {
		font-size: .875rem;
	}
}
section.faq > .button {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	section.faq > .button {
		margin-top: 2rem;
	}
}
section.faq > .button a {
	display: inline-flex;
	height: 4rem;
	margin: 0;
	padding: 0 4rem 0 2.5rem;
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 4rem;
	background-color: #e58f16;
	border-radius: 2.125rem;
	transition: opacity .2s;
	position: relative;
}
section.faq > .button a::after {
	content: '▲';
	font-family: 'GenJyuuGothic', sans-serif;
	font-weight: 400;
	color: #ffffff;
	font-size: .875rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%) rotate(90deg);
}
section.faq > .button a:hover {
	opacity: .75;
}

/* --------- --------- --------- --------- news --------- */
section.news {
	display: block;
	margin-top: 8rem;
	margin-bottom: 12rem;
}
@media screen and (max-width: 960px) {
	section.news {
		margin-top: 6rem;
		margin-bottom: 8rem;
	}
}
@media screen and (max-width: 768px) {
	section.news {
		margin-top: 4rem;
		margin-bottom: 6rem;
	}
}
@media screen and (max-width: 480px) {
	section.news {
		margin-top: 4rem;
		margin-bottom: 4rem;
	}
}
section.news > .title {
	display: block;
	font-size: 1.375rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.4;
}
section.news ul {
	width: 100%;
	max-width: 960px;
	margin: 2.5rem auto 0 auto;
}
section.news ul li {
	display: flex;
	align-items: flex-start;
	margin-top: 2.5rem;
}
section.news ul li .date {
	width: 10rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
}
section.news ul li dl {
	flex: 1;
}
section.news ul li dl dt {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
}
section.news ul li dl dd {
	margin-top: .5rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}
section.news ul li dl dd a {
	font-size: 1rem;
	font-weight: 600;
	color: #6c8c9d;
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	section.news ul li .date {
		width: 8rem;
		font-size: 1rem;
	}
	section.news ul li dl dt {
		font-size: 1rem;
	}
	section.news ul li dl dd {
		font-size: .875rem;
	}
	section.news ul li dl dd a {
		font-size: .875rem;
	}
}
@media screen and (max-width: 480px) {
	section.news ul li {
		flex-direction: column;
	}
	section.news ul li .date {
		width: 6rem;
		font-size: .75rem;
	}
	section.news ul li dl dt {
		font-size: 1rem;
	}
	section.news ul li dl dd {
		font-size: .875rem;
	}
	section.news ul li dl dd a {
		font-size: .875rem;
	}
}
