@charset "utf-8";

/* ---------------------------------------------------------------------------------------------------- */

.fv {
	position: relative;
	width: 100%;
	background-image: url(../img/fv_2.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	aspect-ratio: 3 / 2;
}

.fv_text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "Birthstone", cursive;
	font-size: 6rem;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.fv {
		width: 90%;
		height: auto;
		margin: 0 auto;
		background-image: none;
		aspect-ratio: auto;
	}

	.fv_text {
		position: absolute;
		top: 5%;
		left: 10%;
		transform: none;
		font-size: 3rem;
	}
}

@media screen and (min-width: 1024px) {

}

@media screen and (min-width: 1440px) {
	.fv_text {
		position: absolute;
		top: 5%;
		left: 10%;
		font-size: 6rem;
	}
}

@media screen and (min-width: 1920px) {

}

/* ---------------------------------------------------------------------------------------------------- */

.heading {
	width: max-content;
	margin: 0 auto 0;
	font-family: "Birthstone", cursive;
	font-size: 3rem;
	color: #D2F8EF;
}

.heading * {
	display: block;
}

@media screen and (min-width: 768px) {
	.heading {
		font-size: 3.6rem;
	}
}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 1440px) {
	.heading {
		font-size: 6rem;
	}
}

@media screen and (min-width: 1920px) {}

/* ---------------------------------------------------------------------------------------------------- */

.section {
	width: 90%;
	margin: 0 auto 0;
	padding: 20% 0;
}

.text {
	font-size: 1rem;
}

@media screen and (min-width: 768px) {}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 1440px) {
	.text {
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 1920px) {}

/* ---------------------------------------------------------------------------------------------------- */

.section_1 {
	margin: 0 auto 0;
}

.section_1 .section_inner {
	background-color: #fff;
}

.section_container {
	padding: 5%;
	background-image: url(../img/bg.png);
	background-size: 60%;
	background-position: left bottom;
	background-repeat: no-repeat;
}

.section_1 .section_content {
	margin: 5% auto 0;
}

@media screen and (min-width: 768px) {
	.section_1 {
		padding: 10% 0;
	}

	.section_1 .section_container {
		position: relative;
		padding: 15% 5% 5%;
	}

	.section_1 .heading {
		position: absolute;
		top: 0;
		right: 5%;
	}

	.section_1 .section_content {
		margin: 0 auto 0;
	}

	.section_1 .section_content:nth-child(n+2) {
		margin: 5% auto 0;
	}

	.section_1 .section_content:nth-child(1) {
		width: 60%;
		margin: 0 auto 0 0;
	}

	.section_1 .section_content:nth-child(2) {
		margin: 5% 0 0 auto;
		width: 60%;
	}
}

@media screen and (min-width: 1024px) {
	.section_1 .section_container {
		padding: 10% 5% 5%;
	}
}

@media screen and (min-width: 1440px) {
	.section_1 .heading {
		position: absolute;
		right: 10%;
	}

	.section_1 .section_container {
		padding: 10% 10% 5%;
	}
}

@media screen and (min-width: 1920px) {
	.section_container {
		padding: 7.5% 10% 5%;
	}
}

/* ---------------------------------------------------------------------------------------------------- */

.section_2 .section_inner {
	position: relative;
}

.section_2 .section_inner::after {
	content: "";
	position: absolute;
	bottom: -12px;
	right: -12px;
	width: 100%;
	height: 100%;
	background-color: #333333;
}

.section_2 .section_container {
	position: relative;
	z-index: 1;
}

.section_2 .section_container_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0;
	width: 100%;
	margin: 0 auto 0;
	background-color: #fff;
}

.section_2 .section_content:nth-of-type(1) .section_content_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0 auto 0;
	padding: 5%;
}

@media screen and (min-width: 768px) {
	.section_2 {
		width: 80%;
		margin: 0 auto 0 0;
		padding: 10% 0;
	}

	.section_2 .heading {
		margin: 0 auto 0 0;
	}

	.section_2 .section_inner::after {
		bottom: -24px;
		right: -24px;
	}

	.section_2 .section_container_inner {
		flex-direction: row;
		align-items: stretch;
	}

	.section_2 .section_content:nth-child(1) {
		flex: 5;
	}

	.section_2 .section_content:nth-of-type(1) .section_content_inner {
		height: 100%;
	}

	.section_2 .section_content:nth-child(2) {
		flex: 5;
	}
}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 1440px) {
	.section_2 .section_inner::after {
		bottom: -48px;
		right: -48px;
	}

	.section_2 .section_content:nth-of-type(1) .section_content_inner {
		gap: 60px;
		padding: 5% 10%;
	}
}

@media screen and (min-width: 1920px) {}


/* ---------------------------------------------------------------------------------------------------- */

.section_3 .img img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
}

.section_3 .heading {
	font-family: "Zen Old Mincho", serif;
	color: #333333;
}

.section_3 .section_container_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 24px;
}

.section_3 .section_content {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
}

.section_3 .section_content::after {
	content: "";
	position: absolute;
	bottom: -12px;
	right: 0;
	width: 100%;
	height: 100%;
	background: #333333;
}

.section_3 .section_content_inner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 100%;
	margin: 0 auto 0;
	padding: 10%;
	background-color: #fff;
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.section_3 {
		width: 85%;
		padding: 10% 0 20%;
	}

	.section_3 .heading {
		font-size: 1.6rem;
	}

	.section_3 .section_container_inner {
		flex-direction: row;
		gap: 36px;
	}

	.section_3 .section_content {
		width: calc((100% - (36px * 2)) / 3);
		aspect-ratio: 2 / 3;
	}

	.section_3 .section_content::after {
		bottom: -24px;
	}

	.section_3 .section_content:nth-of-type(1) {
		margin-bottom: 20%;
	}

	.section_3 .section_content:nth-of-type(3) {
		margin-top: 20%;
	}
}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 1440px) {
	.section_3 .heading {
		font-size: 3rem;
	}

	.section_3 .section_container_inner {
		gap: 72px;
	}

	.section_3 .section_content {
		width: calc((100% - (72px * 2)) / 3);
		aspect-ratio: 3 / 4;
	}

	.section_3 .section_content::after {
		bottom: -48px;
	}
}

@media screen and (min-width: 1920px) {}

/* ---------------------------------------------------------------------------------------------------- */

@media screen and (min-width: 768px) {}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 1440px) {}

@media screen and (min-width: 1920px) {}
