@charset "utf-8";

/* === font === */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* font-family: "Noto Sans JP", sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
/* font-family: "Shippori Mincho", serif; */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
/* font-family: "EB Garamond", serif; */


/* === layout === */

.inr {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 60px;
}

.inr_column {
	display: flex;
	align-items: center;
}
.inr_right,
.inr_left {
	width: 47%;
	padding: 90px 0;
}
.inr_right {
	padding-left: 3%;
}
.inr_left {
	padding-right: 3%;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.inr {
		padding: 60px;
	}

	.inr_column {
		display: block;
		align-items: inherit;
	}
	.inr_right,
	.inr_left {
		width: 100%;
		padding: 0;
	}
	.inr_right {
		padding: 0;
	}
	.inr_left {
		padding: 0 0 30px;
	}
}

@media only screen and (max-width: 767px) {
	.inr {
		padding: 30px;
	}

	.inr_column {
		display: block;
		align-items: inherit;
	}
	.inr_right,
	.inr_left {
		width: 100%;
		padding: 0;
	}
	.inr_right {
		padding: 0;
	}
	.inr_left {
		padding: 0 0 30px;
	}
}


/* === text === */

/* -- headline -- */

h2 {
	margin-bottom: .5em;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1.5;
}
h2 span {
	margin-bottom: .5em;
	color: #b9826b;
	font-family: "EB Garamond", serif;
	font-size: 1.7rem;
	line-height: 1;
	display: block;
}

h3 {
	margin: 2em 0 1em;
	padding: 0 .5em;
	background: #5c0005;
	color: #fff;
}

@media only screen and (max-width: 767px) {
	h2 {
		font-size: 1.8rem;
	}
	h2 span {
		font-size: 1.4rem;
	}
}

/* -- list -- */

.list {
	margin: 1em 0;
}
.list li {
	padding: 0 0 0 25px;
	background: url(../img/li.svg) no-repeat left top 7px;
}

/* -- img -- */

.img img {
	width: 100%;
}

.img_sp {
	display: none;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.img_sp {
		margin-top: 20px;
		text-align: center;
		display: block;
	}
	.img_sp img,
	.img_sp video {
		width: 320px;
		margin: 0 auto;
	}
}

@media only screen and (max-width: 767px) {
	.img_sp {
		margin-top: 20px;
		display: block;
	}
	.img_sp img,
	.img_sp video {
		width: 100%;
	}
}

/* -- button -- */

.btn a {
	width: 180px;
	height: 40px;
	margin: 0 auto;
	background: #5c0005;
	border: 1px solid #5c0005;
	border-radius: 21px;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	display: block;
}
.btn a:hover {
	background: #fff;
	color: #5c0005;
}

.btn._w a {
	background: #fff;
	border: 1px solid #fff;
	color: #5c0005;
}
.btn._w a:hover {
	background: #5c0005;
	color: #fff;
}


/* === intro === */

#sec_intro {
	height: 100vh;
	min-height: 768px;
	background: url(../img/bg_intro.png) no-repeat center / cover;
	color: #fff;
}

.inr_intro {
	height: 100vh;
	min-height: 768px;
	display: flex;
	align-items: center;
}
.inr_intro_right {
	width: calc(50% - 180px);
	padding: 0 0 0 60px;
}
.inr_intro_cneter {
	width: 240px;
}
.inr_intro_left {
	width: calc(50% - 200px);
	padding: 0 80px 0 0;
	text-align: right;
}

.sp_intro {
	display: none;
}

#sec_intro h2 {
	font-size: 2.2rem;
}
#sec_intro p {
	margin: 1.5em 0 0;
	line-height: 2.25;
}
#sec_intro p strong {
	font-size: 1.8rem;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_intro {
		height: auto;
	}

	.inr_intro {
		height: auto;
		display: inherit;
		align-items: inherit;
		text-align: center;
	}
	.inr_intro_right {
		display: none;
	}
	.inr_intro_cneter {
		width: 100%;
	}
	.inr_intro_left {
		display: none;
	}

	.sp_intro {
		display: block;
	}

	#sec_intro img {
		width: 240px;
		margin-bottom: 3em;
	}

	#sec_intro h1 {
		margin-bottom: 1em;
		font-size: 3.2rem;
		line-height: 1.5;
		text-align: center;
	}
	#sec_intro h2 {
		font-size: 2.4rem;
		text-align: center;
	}
	#sec_intro p {
		margin: 1em 0 0;
		line-height: 2.25;
		text-align: justify;
	}
	#sec_intro p strong {
		font-size: 1.4rem;
	}
}

@media only screen and (max-width: 767px) {
	#sec_intro {
		height: auto;
	}

	.inr_intro {
		height: auto;
		display: inherit;
		align-items: inherit;
		text-align: center;
	}
	.inr_intro_right {
		display: none;
	}
	.inr_intro_cneter {
		width: 100%;
	}
	.inr_intro_left {
		display: none;
	}

	.sp_intro {
		display: block;
	}

	#sec_intro img {
		width: 200px;
		margin-bottom: 3em;
	}

	#sec_intro h1 {
		margin-bottom: 1em;
		font-size: 1.8rem;
		line-height: 1.5;
		text-align: center;
	}
	#sec_intro h2 {
		font-size: 1.6rem;
		text-align: center;
	}
	#sec_intro p {
		margin: 1em 0 0;
		line-height: 2.25;
		text-align: justify;
	}
	#sec_intro p strong {
		font-size: 1.4rem;
	}
}


/* === about === */

#sec_about {
	background: #5c0005;
	color: #fff;
}

#sec_about .btn {
	margin: 2em 0 0;
}
#sec_about .btn a {
	margin: 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_about .inr_left {
		text-align: center;
	}
	#sec_about .inr_left img {
		width: 480px;
	}

	#sec_about .btn a {
		margin: 0 auto;
	}
}

@media only screen and (max-width: 767px) {
	#sec_about .btn {
		margin: 2em 0 0;
	}
	#sec_about .btn a {
		margin: 0 auto;
	}
}


/* === approach === */

#sec_approach {
	background: #5c0005;
	color: #fff;
}
#sec_approach .inr_right,
#sec_approach .inr_left {
	padding-bottom: 60px;
}

#sec_approach .inr_left img.sp {
	display: none;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_approach .inr_left img.pc {
		display: none;
	}
	#sec_approach .inr_left img.sp {
		display: block;
	}
}

@media only screen and (max-width: 767px) {
	#sec_approach .inr_right,
	#sec_approach .inr_left {
		padding-bottom: 30px;
	}

	#sec_approach .inr_left img.pc {
		display: none;
	}
	#sec_approach .inr_left img.sp {
		display: block;
	}
}


/* === episode === */

#sec_episode {
	background: #5c0005;
	color: #fff;
}

#sec_episode .inr_right {
	background: url(../img/bg_episode.png) no-repeat center / cover;
	text-align: center;
}
#sec_episode .inr_right .img img {
	width: 80%;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_episode .inr_right {
		background: none;
	}
}

@media only screen and (max-width: 767px) {
	#sec_episode .inr_right {
		background: none;
	}
	#sec_episode .inr_right .img img {
		width: 100%;
	}
}


/* === grace === */

#sec_grace {
	background: #fff;
	text-align: center;
}
#sec_grace .inr {
	padding: 60px 0;
}

#sec_grace h2 {
	margin: 0 ;
	font-family: "EB Garamond", serif;
	font-size: 7.2rem;
	line-height: 1;
}
#sec_grace p {
	font-size: 2.4rem;
	font-weight: 500;
}

#sec_grace ul {
	margin: 60px 0;
	display: flex;
	align-items: top;
}
#sec_grace ul li {
	width: 23%;
	padding: 0 1%;
}

#sec_grace ul li strong {
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.25;
	display: block;
}
#sec_grace ul li strong.line1 {
	padding: .625em 0;
}
#sec_grace ul li span {
	font-size: 1.7rem;
	line-height: 1.6;
	display: block;
}
#sec_grace ul li img {
	width: 100%;
	margin: 1em 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_grace .inr {
		padding: 60px 30px;
	}

	#sec_grace h2 {
		font-size: 4.8rem;
	}
	#sec_grace p {
		font-size: 1.8rem;
	}

	#sec_grace ul {
		margin: 60px 0 0;
		display: flex;
		flex-wrap: wrap;
		align-items: top;
	}
	#sec_grace ul li {
		width: 40%;
		margin-bottom: 30px;
		padding: 0 5%;
	}

	#sec_grace ul li strong {
		font-size: 2.4rem;
	}
	#sec_grace ul li span {
		font-size: 1.5rem;
	}
}

@media only screen and (max-width: 767px) {
	#sec_grace .inr {
		padding: 30px;
	}

	#sec_grace h2 {
		font-size: 2.4rem;
	}
	#sec_grace p {
		font-size: 1.4rem;
	}

	#sec_grace ul {
		margin: 30px 0;
		display: block;
		align-items: inherit;
	}
	#sec_grace ul li {
		width: 100%;
		margin-bottom: 30px;
		padding: 0;
	}

	#sec_grace ul li strong {
		font-size: 1.6rem;
		font-weight: 700;
	}
	#sec_grace ul li strong.line1 {
		padding: 0;
	}
	#sec_grace ul li span {
		font-size: 1.4rem;
	}
	#sec_grace ul li img {
		width: 60%;
	}
}


/* === detail === */

#sec_detail {
	background: #fff;
}

#sec_detail .inr_column {
	align-items: start;
}
#sec_detail .inr_right {
	margin-top: 78px;
}

#sec_detail p {
	margin-bottom: 10px;
	line-height: 1.6;
	text-align: justify;
}
#sec_detail .inr_right img {
	width: 100%;
	margin-bottom: 20px;
}
#sec_detail .inr_right video {
	width: 100%;
	margin-bottom: 20px;
	display: block;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_detail .inr_column {
		align-items: inherit;
	}
	#sec_detail .inr_right {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	#sec_detail .inr_column {
		align-items: inherit;
	}
	#sec_detail .inr_right {
		display: none;
	}
}


/* === products === */

#sec_products {
	background: url(../img/bg_products.png) no-repeat center / cover;
	color: #fff;
	text-align: center;
}

#sec_products img {
	margin: 0 0 20px;
}

.inr_products {
	margin: 30px 0;
	text-align: justify;
	display: flex;
	align-items: start;
}
.inr_products_right,
.inr_products_left {
	width: 48%;
	padding: 0 1%;
}

.inr_products h2 {
	margin-bottom: .75em;
	padding: .5em;
	border: 1px solid #fff;
	font-size: 1.4rem;
	line-height: 1;
	display: inline-block;
}
.inr_products ul {
	margin: 0 0 1em;
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec_products .inr_left img {
		width: 320px;
	}
}

@media only screen and (max-width: 767px) {
	.inr_products {
		display: block;
		align-items: inherit;
	}
	.inr_products_right,
	.inr_products_left {
		width: 100%;
		padding: 0;
	}
	.inr_products_left {
		margin-bottom: 30px;
	}
}


/* === photo === */

.photo {
	height: 240px;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.photo {
		height: 180px;
	}
}

@media only screen and (max-width: 767px) {
	.photo {
		height: 180px;
	}
}


/* ===  fadein === */

.fadein {
	animation-fill-mode: both;
	animation-duration: 1.5s;
	animation-name: fadein;
	visibility: visible !important;
}
.fadein_1 {
	animation-fill-mode: both;
	animation-duration: 1.5s;
	animation-name: fadein_1;
	visibility: visible !important;
}
.fadein_2 {
	animation-fill-mode: both;
	animation-duration: 1.5s;
	animation-name: fadein_2;
	visibility: visible !important;
}
.fadein_3{
	animation-fill-mode: both;
	animation-duration: 1.5s;
	animation-name: fadein_3;
	visibility: visible !important;
}
.fadein_4 {
	animation-fill-mode: both;
	animation-duration: 1.5s;
	animation-name: fadein_4;
	visibility: visible !important;
}

@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadein_1 {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadein_2 {
	0% {
		opacity: 0;
		transform: translateY(100px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadein_3 {
	0% {
		opacity: 0;
		transform: translateY(150px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadein_4 {
	0% {
		opacity: 0;
		transform: translateY(200px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}