/* ----- body ----- */

html {
	overflow-y: scroll;
}

body {
	background: #f2f0ed;
	color: #353535;
	font-family: "Hina Mincho", serif;
}

body.single {
	padding: 0;
}

/* ----- wrapper ----- */

.wrap642 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap740 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap833 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap850 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap954 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap922 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap1100 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap1132 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.wrap1200 {
	margin-inline: auto;
	max-width: 500px;
	padding-inline: 24px;
	width: 100%;
}

.px0 {
	padding-inline: 0px;
}

.px11 {
	padding-inline: 11px;
}

.px20 {
	padding-inline: 20px;
}

.px30 {
	padding-inline: 30px;
}

.pt120 {
	padding-top: 120px;
}

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

picture {
	display: block;
}

img {
	transition: 0.5s;
	width: 100%;
}

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

.s-sp {
	display: block;
}

.s-pc {
	display: none;
}

.s-of-hidden {
	overflow: hidden;
	position: relative;
}

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

.inview_re {
	opacity: 0;
	transform: translateY(10px);
	transition: 1s;
}

.inview_re.is-show {
	opacity: 1;
	transform: translateY(0px);
}

.inview_re.--button {
	display: flex;
	justify-content: center;
	transition-delay: 0.2s;
	width: 100%;
}

.inview_re.--sec01 {
	transition-delay: 0.1s;
}

.inview_re.--home {
	transition-delay: 1s;
}

.s-fade-in {
	opacity: 0;
}

.s-fade-in.s-in-view {
	opacity: 1;
}

.s-reveal-item {
	clip-path: inset(100% 0 0 0);
	transition: 0.7s;
}

.s-reveal-item.is-visible {
	clip-path: inset(0 0 0 0);
}

.s-down-reveal-item {
	clip-path: inset(0 0 100% 0);
	transition: clip-path 1.5s ease;
	transition-delay: 0.2s;
}

.s-down-reveal-item.is-visible {
	clip-path: inset(0 0 0 0);
}

.s-hover-text p,
.s-hover-text span {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	text-align: inherit;
	transition: inherit;
}

.s-hover-text p {
	clip-path: inset(0 0 0 0);
}

.s-hover-text span {
	animation: returnDown 0.4s ease forwards;
	display: inline-block;
	position: relative;
	transition: 0.2s;
}

.s-hover-text span::after {
	content: attr(data-text);
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	left: 50%;
	position: absolute;
	text-align: inherit;
	transform: translate(-50%, 100%);
	transition: inherit;
	width: 100%;
}

.s-hover-text:hover span {
	animation: overshootUp 0.4s ease forwards;
}

.c-line-break {
	content: "";
	display: block;
	height: 2em;
}

.js-fade-tx {
	opacity: 0;
}

.s-fade-tx-row {
	opacity: 1;
}

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

.c-main-col {
	color: #353535;
}

.c-sub-col {
	color: #36383c;
}

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

.c-button,
.wpcf7-submit {
	align-items: center;
	background-color: transparent;
	border: 1px solid #353535;
	color: #353535;
	display: flex;
	font-size: 14px;
	justify-content: center;
	letter-spacing: 4.9px;
	max-width: 385px;
	overflow: hidden;
	padding-block: 15px;
	text-align: center;
	transition: 0.4s;
	width: 100%;
}

.c-button:hover,
.wpcf7-submit:hover {
	background: rgba(53, 53, 53, 0.5);
	border: 1px solid transparent;
	color: #fff;
	letter-spacing: 7px;
}

/* c-fv */

.c-fv {
	animation: bg-zoom 1.2s ease-out forwards;
	height: 100vh;
	opacity: 0;
	transform: scale(1.01);
	transition: opacity 2s ease-out;
	width: 100%;
}

.c-fv__content {
	height: 100%;
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	width: 100%;
}

.c-fv__heading {
	display: flex;
	flex-direction: row-reverse;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.c-fv__title {
	color: #fff;
	font-size: 37px;
	letter-spacing: 2.8px;
	opacity: 0;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902);
	white-space: nowrap;
	writing-mode: vertical-rl;
	z-index: 2;
}

.c-fv__desc {
	color: #fff;
	font-size: 15px;
	letter-spacing: 1px;
	opacity: 0;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902), 0 0 10px rgba(0, 0, 0, 0.3137254902);
	writing-mode: vertical-rl;
}

.c-fv__logo {
	opacity: 0;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 92px;
	z-index: 2;
}

.c-sec01__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 38px;
	padding-block: 38px;
}

.c-sec01__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2em;
	width: 100%;
}

.c-sec01__text {
	font-size: 16px;
	letter-spacing: 4px;
	line-height: 28px;
	text-align: center;
}

.c-sec01__buttons {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.tac {
	text-align: center;
}

.c-swiper__container {
	padding-bottom: 12px;
	position: relative;
}

.c-swiper .swiper-slide {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.c-swiper__img {
	aspect-ratio: 392/237;
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
}

.c-swiper__img img {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.c-swiper__pagination {
	bottom: 0 !important;
	display: flex;
	gap: 13px;
	justify-content: center;
}

.c-swiper__pagination span {
	background: #d9d9d9;
	border-radius: 50%;
	display: block;
	height: 4px;
	margin: 0 !important;
	opacity: 1;
	width: 4px;
}

.c-swiper__pagination span.swiper-pagination-bullet-active {
	background: #7b725a;
}

.swiper-slide {
	width: auto;
}

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

.wrap642 {
	max-width: calc(642px + 24px);
}

.wrap740 {
	max-width: calc(740px + 24px);
}

.wrap833 {
	max-width: calc(833px + 24px);
}

.wrap850 {
	max-width: calc(850px + 24px);
}

.wrap954 {
	max-width: calc(954px + 24px);
}

.wrap922 {
	max-width: calc(922px + 24px);
}

.wrap1100 {
	max-width: calc(1100px + 24px);
}

.wrap1132 {
	max-width: calc(1132px + 24px);
}

.wrap1200 {
	max-width: calc(1200px + 24px);
}

.s-sp {
	display: none;
}

.s-pc {
	display: block;
}

.c-button,
.wpcf7-submit {
	font-size: 18px;
	max-width: 561px;
}

.c-fv__heading {
	align-items: center;
	flex-direction: column;
	gap: 22px;
}

.c-fv__desc {
	font-size: 16px;
	letter-spacing: 5.6px;
	writing-mode: horizontal-tb;
}

.c-fv__logo {
	width: 140px;
}

.c-sec01__inner {
	padding-block: 50px;
}

.c-sec01__text {
	font-size: 20px;
}

.c-swiper__container {
	padding-bottom: 27px;
}

.c-swiper__pagination span {
	height: 7px;
	width: 7px;
}

}

@keyframes fadeInUp {

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes overshootUp {

0% {
	transform: translateY(0%);
}

70% {
	transform: translateY(-120%);
}

100% {
	transform: translateY(-100%);
}

}

@keyframes returnDown {

0% {
	transform: translateY(-100%);
}

70% {
	transform: translateY(20%);
}

100% {
	transform: translateY(0%);
}

}

@keyframes bg-zoom {

to {
	opacity: 1;
	transform: scale(1);
}

}

@keyframes panel-show {

from {
	opacity: 0;
	transform: translateY(4px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

