html {
	font-size: calc((10 / 393) * 100vw);
}

body {
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	color: #000000;
	background-color: #000;
	line-height: 1;
}

a {
	text-decoration: none;
}

p {}

.inner {
	width: calc((100% - 4.8rem));
	margin: 0 auto;
}

@media screen and (min-width: 772px) {
	html {
		font-size: 10px;
	}
}

.js-fade {
	opacity: 0;
	transition: all 0.8s ease-in-out;
	transform: translateY(15px);
}

.js-fade-left {
	transform: translateX(-15px);
}

.js-fade-right {
	transform: translateX(15px);
}

.js-fade.is-show {
	opacity: 1;
	transform: translate(0, 0);
}

.js-swing{
	transform-origin: top center; /* 上の中心を軸に回転 */
	animation: swing 4s ease-in-out infinite;
}
@keyframes swing {
  0%   { transform: rotate(1deg); }
  25%  { transform: rotate(-2deg); }
  50%  { transform: rotate(2deg); }
  75%  { transform: rotate(-1deg); }
  100% { transform: rotate(1deg); }
}


.header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 99;
}

.header__sp {
	display: block;
	position: fixed;
	width: 290px;
	top: 0;
	right: 0;
	z-index: 100;
	padding: 70px 25px 70px 25px;
	overflow: scroll;
	opacity: 0;
	pointer-events: none;
	transition: all .3s ease 0s;
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	border-right: 0;
}

.header__sp.is--active {
	opacity: 1;
	pointer-events: auto;
}

.header__sp .deco:nth-of-type(2),
.header__sp .deco:nth-of-type(4){
	display: none;
}


.header__navList {
	font-size: 16px;
	letter-spacing: 0.05em;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-left: 10px;
	margin-bottom: 40px;
}

.header__navItem {
	position: relative;
}

.header__navItem .sub-menu {
	font-size: 14px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-left: 15px;
	border-left: 1px solid #3D3448;
	margin-top: 32px;
}

.header__bnr {
	margin-bottom: 40px;
}

.header__sns {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 40px;
}

.header__sns li {
	width: 24px;
}

.header__navSp {
	width: 75px;
	height: 73px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -3px;
	right: -3px;
	background: #A18D45;
	z-index: 999;
}

.header__navBtn {
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	background-color: #F7F0DE;
	position: relative;
	display: flex;
	gap: 8px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.header__navBtn p {
	font-size: 16px;
	font-family: "Cormorant Garamond", serif;
	font-weight: 700;
	color: #A18F6D;
}

.header__navBtn span {
	width: 56px;
	display: block;
	transition: all .3s ease 0s;
}

.header__navBtn span:nth-of-type(1) {}

.header__navBtn span:nth-of-type(2) {}

.is--opened .header__navBtn span:nth-of-type(1) {
	transform: translateY(6px) rotate(-30deg);
}

.is--opened .header__navBtn span:nth-of-type(2) {
	transform: translateY(-6px) rotate(30deg);
}

.header__bg {
	width: 100%;
	height: 100%;
	background-color: rgba(17, 28, 59, 0.8);
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: -1;
	transition: all .3s ease 0s;
	pointer-events: none;
}

.header__bg.is--opened {
	opacity: 1;
	z-index: 11;
	pointer-events: auto;
}

@media screen and (min-width: 772px) {
	.header {
		position: sticky;
	}

	.header__navSp {
		position: absolute;
		cursor: pointer;
		display: none;
	}

	.header__sp {
		width: 378px;
		height: 739px;
		top: 110px;
		right: calc((100% - 393px - 378px) / 2);
		padding: 60px 80px 0px 70px;
		overflow: unset;
		opacity: 1;
		pointer-events: auto;
		border: 5px solid #A18D45;
	}

	.header__sp .deco:nth-of-type(2),
	.header__sp .deco:nth-of-type(4){
		display: block;
	}

	.header__navList {
		margin-left: 0;
	}

	.header__bg.is--opened {
		opacity: 0;
		z-index: -1;
		pointer-events: none;
	}

	.header__bg2 {
		width: 344px;
		top: 17px;
		left: 17px;
	}
}

@media screen and (min-width: 877px) {
	.header__navSp {
		display: none;
	}

	.header__sp {
		right: 50px;
		opacity: 1;
		pointer-events: auto;
	}
}


.breadcrumbs {
	background-color: #ddd;
}

.breadcrumbs ol {
	display: flex;
	gap: 10px;
}

.breadcrumbs ol li:not(:last-of-type)::after {
	content: ">";
	margin-left: 10px;
}

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


.footer {
	padding: 116px 0 39px;
	position: relative;
	z-index: 2;
}

.footer__logo {
	width: 16.9rem;
	position: absolute;
	top: -8.5rem;
	left: 50%;
	translate: -50% 0;
	z-index: 11;
}

.footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	position: relative;
	margin-bottom: 32px;
}

.footer__nav li {
	width: calc((100% - 10px) / 2);
	height: 55px;
}

.footer__nav li a {
	font-size: 14px;
	letter-spacing: 0.13em;
	font-weight: bold;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid;
}

.footer__sns {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 32px;
	margin-bottom: 36px;
}

.footer__sns li a {
	font-size: 14px;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	gap: 10px;
}

.footer__sns li a img {
	width: 20px;
}

.footer__copyright {
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 2;
	font-weight: bold;
}

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



.main {}


.contents {
	width: 100%;
	background: rgb(107, 19, 29);
	background: linear-gradient(90deg, rgba(107, 19, 29, 1) 0%, rgba(139, 37, 19, 1) 50%, rgba(107, 19, 29, 1) 100%);
	background-image: url(../img/common/content_bg.png);
	background-size: 100%;
	background-repeat: repeat-y;
	position: relative;
}

.body__left,
.body__right{
	display: none;
}

@media screen and (min-width: 772px) {
	.contents {
		width: 393px;
		margin-left: auto;
		margin-right: 484px;
		box-shadow: 0px 0px 120px 0px rgba(0, 0, 0, 0.7);
	}

	.body__left {
		display: block;
		background-image: url(../img/common/bg_body_left.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top right;
		width: calc(100% - 393px - 484px);
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}
	body .body__right {
		display: block;
		width: 484px;
		height: 100vh;
		position: fixed;
		top: 0;
		right: 0;
		z-index: -1;
	}
	body .body__right::before{
		height: 350px;
		top: -20px;
	}
	body .body__right__star{
		width: 78px;
		position: absolute;
		top: 28px;
		left: 61px;
	}
}



.ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	color: #D4BE58;
	margin-bottom: 12px;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.ttl h1,
.ttl h2 {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.ttl .en {
	font-size: 2rem;
	font-family: "Cormorant Garamond", serif;
	font-weight: 700;
}

.ttl .en-jp {
	font-size: 1.8rem;
	font-weight: 500;
}

.ttl .jp {
	font-size: 2.8rem;
	font-weight: 500;
	text-align: center;
}

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

.ttl-box {
	width: 31.1rem;
	height: 10.9rem;
	margin: 0 auto 4.8rem;
	position: relative;
	background-image: url(../img/common/ttl-box_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttl-box::before,
.ttl-box::after {
	content: "";
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	left: 50%;
	translate: -50% 0;
}

.ttl-box::before {
	width: 19.1rem;
	height: 6.7rem;
	background-image: url(../img/common/ttl-box_before.png);
	bottom: 100%;
}

.ttl-box::after {
	width: 21.1rem;
	height: 2.8rem;
	background-image: url(../img/common/ttl-box_after.png);
	bottom: -2.5rem;
}

.ttl-box h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	position: relative;
}

.ttl-box .en {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #A18D45;
	display: block;
}

.ttl-box .en img {
	width: 100%;
	height: 1.3rem;
	object-fit: contain;
}

.ttl-box .jp {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	display: block;
}

.ttl-box .jp span {
	font-size: 1.6rem;
	display: block;
	margin-top: 0.6rem;
}

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



.pageTop {
	width: 70px;
	position: sticky;
	bottom: 25px;
	margin-left: auto;
	margin-right: 25px;
	margin-bottom: -85px;
	z-index: 10;
	cursor: pointer;
}



.scroll-prevent {
	overflow: hidden;
	scrollbar-gutter: stable;
}

.md__item {
	display: none;
	position: fixed;
	z-index: 999;
}

.md__inner {
	width: 34.9rem;
	height: auto;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.md__cos {
	width: 100%;
}

.md__cos img {
	max-height: 80vh;
	object-fit: contain;
	margin: 0 auto;
}

.md__cast {
	width: 100%;
	max-height: 70vh;
	overflow-y: scroll;
	position: relative
}

.md__cast__inner {
	padding: 4.4rem 2.8rem 5.4rem;
	position: relative;
	border: 4px solid #A18D45;
}

.md__cast__thumb {
	width: 25rem;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 1.7rem;
}

.md__cast__name {
	width: 21.8rem;
	height: 8.8rem;
	margin: 0 auto 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(../img/casts/cast__name.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.md__cast__name h3{
	font-size: 2rem;
	letter-spacing: 0.1em;
	font-weight: bold;
}

.md__cast__detail {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.md__cast__detail>div {
	display: flex;
	flex-wrap: wrap;
}

.md__cast__detail dt {
	flex-shrink: 0;
}

.md__cast__detail dt::after {
	content: "：";
}

.md__cast__hitokoto {
	margin-bottom: 2.4rem;
}

.md__cast__hitokoto dt {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	padding-bottom: 2.2rem;
	position: relative;
	margin-bottom: 0.4rem;
}

.md__cast__hitokoto dt::after {
	content: "";
	width: 21.3rem;
	height: 1.6rem;
	background-image: url(../img/casts/cast_hitokoto_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.md__cast__hitokoto dd {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
}

.md__cast__sns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 3rem;
}

.md__cast__sns a {
	width: 3.9rem;
	height: 3.9rem;
	background-color: #192853;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.8rem;
}

.md__cast__sns img {
	width: 1.8rem;
}

.md__btn {
	width: 4rem;
	height: 2.7rem;
	cursor: pointer;
	position: absolute;
	top: -3.9rem;
	right: 0;
}

.md__btn::before,
.md__btn::after {
	content: "";
	width: 4.8rem;
	height: 0.2rem;
	background-color: #DDC8A1;
	position: absolute;
	top: 50%;
	left: 50%;
}

.md__btn::before {
	transform: translate(-50%, -50%) rotate(30deg);
}

.md__btn::after {
	transform: translate(-50%, -50%) rotate(-30deg);
}

.md__bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: none;
	background-color: rgba(25, 40, 83, 0.8);
	height: 100%;
	width: 100%;
}

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



.deco{
	content: "";
	width: 43px;
	height: 43px;
	background-image: url(../img/common/deco.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
}
.deco:nth-of-type(1){
	top: 3px;
	left: 3px;
}
.deco:nth-of-type(2){
	top: 3px;
	right: 3px;
	rotate: 90deg;
}
.deco:nth-of-type(3){
	bottom: 3px;
	left: 3px;
	rotate: -90deg;
}
.deco:nth-of-type(4){
	bottom: 3px;
	right: 3px;
	rotate: 180deg;
}


.linkBtn {}

.linkBtn__list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.linkBtn__list li {
	width: 27rem;
	height: 7.2rem;
	background-image: url(../img/common/linkBtn_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.linkBtn__list li a {
	font-size: 1.6rem;
	letter-spacing: 0.13em;
	font-weight: bold;
	color: #192853;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.linkBtn__list .arrow {
	content: "";
	width: 1.6rem;
	height: 1rem;
	background-image: url(../img/common/linkBtn_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	right: 2.1rem;
	top: 50%;
	translate: 0 -50%;
}

.linkBtn__list .ig {
	width: 2rem;
	position: absolute;
	top: 50%;
	left: 6rem;
	transform: translateY(-50%);
}

.linkBtn__list li.dark {
	background-image: url(../img/common/linkBtn_dark_bg.png);
}

.linkBtn__list li.dark a {
	color: #fff;
}

.linkBtn__list li.dark .arrow{
	background-image: url(../img/common/linkBtn_arrow_w.png);
}

.linkBtn__list li.back .arrow{
	right: unset;
	left: 2.1rem;
	rotate: 180deg;
}

.linkBtn__list li.back a {
	
}

.linkBtn__list li.close {
	background-image: url(../img/common/linkBtn_dark_bg.png);
}

.linkBtn__list li.close .arrow{
	background-image: url(../img/common/linkBtn_arrow_w.png);
	right: unset;
	left: 2.1rem;
	rotate: 180deg;
}

.linkBtn__list li.close .batsu{
	width: 2rem;
	height: 2rem;
	position: absolute;
	right: 1.6rem;
	top: 50%;
	translate: 0 -50%;
	rotate: 45deg;
}
.linkBtn__list li.close .batsu::before,
.linkBtn__list li.close .batsu::after{
	content: "";
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
.linkBtn__list li.close .batsu::before{
	width: 100%;
	height: 0.1rem;
}
.linkBtn__list li.close .batsu::after{
	height: 100%;
	width: 0.1rem;
}

.linkBtn__list li.close a {
	color: #fff;
}

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


.bg-cartain-01,
.bg-cartain-02,
.bg-cartain-03 {
	position: relative;
	z-index: 1;
}

.bg-cartain-01::before,
.bg-cartain-02::before,
.bg-cartain-03::before {
	content: "";
	width: 100%;
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.bg-cartain-01::before {
	height: 30rem;
	background-image: url(../img/common/bg_cartain_01.png);
}

.bg-cartain-02::before {
	height: 43rem;
	background-image: url(../img/common/bg_cartain_02.png);
}

.bg-cartain-03::before {
	height: 38.2rem;
	background-image: url(../img/common/bg_cartain_03.png);
}

.bg-lightblue {
	background-image: url(../img/common/bg_lightblue.png);
	background-size: 100%;
	background-repeat: repeat-y;
}

.bg-darkblue {
	background-image: url(../img/common/bg_darkblue.png);
	background-size: 100%;
	background-repeat: repeat-y;
}

.bg-wallpaper-01 {
	background-image: url(../img/common/bg_wallpaper_01.png);
	background-size: 100%;
	background-repeat: repeat-y;
}

.bg-wallpaper-02 {
	background-image: url(../img/common/bg_wallpaper_02.png);
	background-size: 100%;
	background-repeat: repeat-y;
}

.bg-shop {
	background-image: url(../img/common/bg_shop.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.bg-dark {
	background-image: url(../img/common/bg_dark.png);
	background-size: 100%;
	background-repeat: repeat-y;
}

.bg-beige{
	background-color: #FFF8EA;
}

.bg-kiwaku {
	position: relative;
    background-image: url(../img/common/bg_kiwaku.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    z-index: 1;
}

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


.hr {
	width: 100%;
	height: 1px;
	background-color: #192853;
	opacity: 0.8;
}

.hr__box {
	width: 100%;
	height: 5.4rem;
	background-image: url(../img/common/hr_box.png);
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
	margin: 40px 0;
	border-top: 1px solid #A45748;
	border-bottom: 1px solid #A45748;
}

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


.bnr {}

.bnr__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

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

.sns {
	width: 34.6rem;
	height: 20.1rem;
	padding-top: 6.9rem;
	background-image: url(../img/home/sns_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: relative;
}

.sns__ttl {
	width: 23.3rem;
	position: absolute;
	top: -1.2rem;
	left: 50%;
	translate: -50% 0;
}

.sns__ttl h3 {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	font-weight: bold;
}

.sns__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.5rem;
	margin-bottom: 2.2rem;
}

.sns__list li {
	width: 3.5rem;
}

.sns__desc {
	font-size: 1.4rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
}

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


.dotList {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.dotList li {
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: bold;
	display: flex;
	gap: 1rem;
}

.dotList li::before {
	content: "";
	width: 1rem;
	height: 1.4rem;
	background-image: url(../img/common/dot_bk.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
	margin-top: 0.4rem;
}

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

.numList {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	counter-reset: listnum;
}

.numList li {
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: bold;
	display: flex;
	gap: 1rem;
}

.numList li::before {
	counter-increment: listnum;
	content: counter(listnum)".";
	display: block;
}

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


.news__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 32px;
}

.news__list li a {
	display: block;
	padding-bottom: 20px;
	position: relative;
}

.news__list li a::after {
	content: "";
	width: 100%;
	height: 3px;
	background-image: url(../img/common/hr.png);
	background-size: auto 100%;
	background-repeat: repeat-x;
	position: absolute;
	left: 0;
	bottom: 0;
}

.news__thumb {
	margin-bottom: 16px;
}

.news__info {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 10px;
}

.news__info time {
	font-size: 12px;
	font-weight: bold;
}

.news__cat {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	color: #B4242F;
	width: 100px;
	height: 28px;
	background-image: url(../img/common/news_cat_bg.png);
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

.news__ttl {
	font-size: 14px;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 8px;
}

.news__more {
	font-size: 14px;
	line-height: 2;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.news__more span {
	width: 20px;
	height: 10.5px;
	background-image: url(../img/common/news_more_bg.png);
	background-size: cover;
}

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



.access {
	padding: 12.2rem 0 11rem;
	color: #F7F0DE;
}

.access__star{
	width: 31.5rem;
	position: absolute;
	top: 2.7rem;
	left: 4.6rem;
	z-index: -1;
}

.access .ttl {
	margin-bottom: 3.5rem;
}

.access .ttl h2 {
	width: 19.6rem;
}

.access__map {
	width: 100%;
	height: auto;
	aspect-ratio: 393/290;
	margin-bottom: 3rem;
}

.access__map iframe {
	width: 100%;
	height: 100%;
}

.access__inner {
	padding-left: 2.4rem;
	position: relative;
}

.access__inner::before {
	content: "";
	width: 0.5px;
	height: calc(100% - 10px);
	background-color: #F7F0DE;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.access__address {
	font-size: 14px;
	line-height: 2.5;
	letter-spacing: 0.05em;
	margin-bottom: 40px;
}

.access__open {
	font-size: 14px;
	line-height: 2.5;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

.access__instagram {
	padding-bottom: 10px;
}

.access__instagram a {
	font-size: 12px;
	line-height: 2;
	letter-spacing: 0.05em;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: 12px;
}

.access__instagram img {
	width: 24px;
	filter: brightness(0) saturate(100%) invert(92%) sepia(21%) saturate(174%) hue-rotate(350deg) brightness(102%) contrast(94%);
}

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







/* トップページ */

.homeFv {
	padding: 13.5rem 0 0.8rem;
	position: relative;
	overflow: hidden;
}

.homeFv__star {
	width: 24.6rem;
	position: absolute;
	top: 3.8rem;
	left: 7rem;
	z-index: -2;
}

.homeFv__logo {
	width: 33.7rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.homeFv__img{
	width: 35.7rem;
	margin: -4rem auto 0;
	position: relative;
	box-shadow: 0.9rem 0.9rem 0.2rem rgba(0, 0, 0, 0.25);
}

.homeFv__waku {
	width: 100%;
}

.homeFv__girl {
	width: 31.4rem;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.homeFv__txt {
	display: flex;
	justify-content: center;
	padding: 1rem 0 1.5rem;
	position: relative;
}

.homeFv__catch {
	padding: 5.7rem 5.4rem 5.5rem 4.1rem;
	position: relative;
	display: flex;
}

.homeFv__catch p {
	font-size: 1.6rem;
	line-height: 2.43;
	font-weight: bold;
	color: #fff;
	margin: 0 auto;
}

.homeFv__catch__bg1 {
	width: 13.3rem;
	position: absolute;
	top: 0;
	left: 0;
}

.homeFv__catch__bg2 {
	width: 13.3rem;
	position: absolute;
	bottom: 0;
	right: 0;
}

.static-list .homeFv__bnrList{
	display: flex;
	gap: 14px;
	justify-content: center;
}

.homeFv__bnrList li {
	width: 12.4rem;
}

.homeFv__bnr .swiper-pagination {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.6rem;
	gap: 2.5rem;
}

.homeFv__bnr .swiper-pagination .swiper-pagination-bullet {
	width: 1.3rem;
	height: 1.3rem;
	display: block;
	margin: 0;
	background-color: unset;
	background-image: url(../img/common/dot.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 1;
}

.homeFv__bnr .swiper-pagination .swiper-pagination-bullet-active {
	background-image: url(../img/common/dot-active.png);
}

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


.homeAbout {
	padding: 6.2rem 0 10.5rem;
	overflow: hidden;
	position: relative;
}

.homeAbout__bg{
	width: 36.8rem;
	position: absolute;
	top: 0;
	left: 1.9rem;
}

.homeAbout__catch {
	margin-bottom: 4.6rem;
}

.homeAbout__catch p {
	text-align: center;
	color: #fff;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.homeAbout__catch p:nth-of-type(1) {
	font-size: 2.8rem;
	line-height: 1.5;
	margin-bottom: 6px;
}

.homeAbout__catch p:nth-of-type(2) {
	font-size: 3.2rem;
	line-height: 1.31;
	margin-bottom: 9px;
}

.homeAbout__catch p:nth-of-type(3) {
	font-size: 3rem;
	line-height: 1.4;
}

.homeAbout__lead {
	margin-bottom: 3.8rem;
}

.homeAbout__lead p {
	font-size: 1.6rem;
	line-height: 2.4;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.homeAbout__lead p+p {
	margin-top: 2.4rem;
}

.homeAbout__building {
	width: 19.6rem;
	margin: 0 auto;
}

.homeAbout__tree1,
.homeAbout__tree2{
	width: 26.1rem;
	position: absolute;
	bottom: 4.8rem;
}
.homeAbout__tree1{
	left: -13rem;
	scale: -1 1;
}
.homeAbout__tree2{
	right: -13.6rem;
}

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


.homeShop {
	padding: 18.3rem 0 5.5rem;
}

.homeShop__light {
	width: 23.6rem;
	position: absolute;
	top: 0.3rem;
	left: -0.9rem;
}

.homeShop__img {
	margin: 0 0 5rem;
	position: relative;
}

.homeShop__img::after {
	content: "";
	width: 4.3rem;
	height: 2.0rem;
	background-image: url(../img/home/shop_img_bg.png);
	background-size: cover;
	position: absolute;
	left: 50%;
	top: 100%;
	translate: -50% 0;
}

.homeShop__ttl {
	width: 23.3rem;
	position: absolute;
	top: -4.8rem;
	left: 50%;
	translate: -50% 0;
	z-index: 2;
}

.homeShop__video {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	background-color: #000;
	border: 1px solid #CEB64E;
	position: relative;
}

.homeShop__video iframe {
	width: 100%;
	height: 100%;
}

.homeShop__video::before,
.homeShop__video::after {
	content: "";
	width: 4.8rem;
	height: 4.8rem;
	background-image: url(../img/home/shop_video_bg.png);
	background-size: cover;
	position: absolute;
}

.homeShop__video::before {
	top: 0.6rem;
	right: 0.5rem;
}

.homeShop__video::after {
	bottom: 0.6rem;
	left: 0.5rem;
	rotate: 180deg;
}

.homeShop__link {
	
}

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


.homeMaids {
	padding: 2.4rem 0 5.6rem;
	position: relative;

}

.homeMaids__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.7rem;
	margin-bottom: 32px;
}

.homeMaids__list li {
	width: calc((100% - 1.7rem) / 2);
}

.homeMaids__list p {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: #192853;
	width: 100%;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

.homeMaids__holiday {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

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


.homeEnjoy {
	padding: 11.3rem 0 4.9rem;
	position: relative;
	overflow: hidden;
}

.homeEnjoy__light {
	width: 23.6rem;
	position: absolute;
	top: -3rem;
	right: -5.3rem;
}

.homeEnjoy .ttl {
	margin-bottom: 4rem;
}

.homeEnjoy .ttl h2{
	width: 23.5rem;
}

.homeEnjoy__list {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
}

.homeEnjoy__list li {
	width: 100%;
	position: relative;
}

.homeEnjoy__img {
	width: 27rem;
	height: 35.2rem;
	border-top-left-radius: 13.5rem;
	border-top-right-radius: 13.5rem;
	padding: 1rem;
	border: 1px solid #DDC8A1;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
	margin: 0 auto -5rem;
	position: relative;
}

.homeEnjoy__img img {
	width: 25rem;
	height: 32.6rem;
	object-fit: cover;
	border-top-left-radius: 12.5rem;
	border-top-right-radius: 12.5rem;
}

/*
.homeEnjoy__img::after{
    content: "";
    width: 26.8rem;
    height: 32rem;
    border-top-left-radius: 13.4rem;
    border-top-right-radius: 13.4rem;
    background-color: #F7F0DE;
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: -1;
}
*/
.homeEnjoy__ttl {
	font-size: 2rem;
	letter-spacing: 0.13em;
	font-weight: bold;
	text-align: center;
	width: 29.7rem;
	height: 7.7rem;
	background-image: url(../img/home/enjoy_ttl_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 2.3rem;
	margin: 0 auto 1.4rem;
}

.homeEnjoy__desc {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	color: #fff;
}

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

.homeNews {
	padding: 2.4rem 0 5rem;
}

.homeNews__ig {
	margin-bottom: 56px;
}

.homeNews__feed {
	margin-bottom: 32px;
}

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



/* 料金システム&当館について */
.aboutFv {
	padding: 10.9rem 0 5.8rem;
}

.aboutFv__star{
	width: 6.4rem;
	position: absolute;
	top: 2.8rem;
	left: 4.4rem;
}

.aboutFv .ttl {
	margin-bottom: 2.5rem;
}

.aboutFv .ttl h1{
	width: 18.8rem;
}

.aboutFv__detail {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 3.3rem 2rem;
	position: relative;
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
}

.aboutFv__detail h3 {
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	padding-bottom: 2.2rem;
	position: relative;
	margin-bottom: 1.6rem;
}
.aboutFv__detail h3::after {
	content: "";
	width: 21.3rem;
	height: 1.6rem;
	background-image: url(../img/about/detail_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.aboutFv__detail h4{
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	display: table;
	margin: 1.6rem auto 0.4rem;
	position: relative;
}
.aboutFv__detail h4::before,
.aboutFv__detail h4::after{
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background-image: url(../img/common/icon_star.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
}
.aboutFv__detail h4::before{
	left: -1.9rem;
}
.aboutFv__detail h4::after{
	right: -1.9rem;
}

.aboutFv__detail p {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
}

.aboutFv__detail p.note {
	font-size: 1.2rem;
	line-height: 1.75;
	margin-top: 0.4rem;
}

.aboutFv__detail p.fee {
	font-size: 1.2rem;
	line-height: 2;
	text-align: left;
}

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

.aboutLunemari {
	background-color: #313F5A;
	padding: 11.2rem 0 5.4rem;
}

.aboutLunemari .ttl {
	margin-bottom: 1.8rem;
}

.aboutLunemari .ttl h2{
	width: 27.6rem;
}

.aboutLunemari__images {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 1.9rem;
}

.aboutLunemari__images li {
	box-shadow: 0.9rem 0.9rem 0 rgba(0, 0, 0, 0.25);
}

.aboutLunemari__images li:nth-of-type(2),
.aboutLunemari__images li:nth-of-type(3) {
	width: calc((100% - 1.9rem) / 2);
}

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

.aboutBan {
	padding: 13.2rem 0 5.5rem;
	overflow: hidden;
}

.aboutBan__light {
	width: 23.6rem;
	position: absolute;
	top: -3rem;
	right: -5.3rem;
}

.aboutBan__detail {
	width: 36rem;
	height: 96.6rem;
	display: flex;
	flex-direction: column;
	padding: 5.7rem 4.9rem;
	position: relative;
	margin: 0 auto 3rem;
}

.aboutBan__detail h2 {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	padding-bottom: 2.2rem;
	position: relative;
	margin-bottom: 1.6rem;
}

.aboutBan__detail h2::after {
	content: "";
	width: 21.3rem;
	height: 1.6rem;
	background-image: url(../img/about/detail_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.aboutBan__detail p {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

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





/* チップ表 */
.pointFv {
	padding: 7.8rem 0 0;
}

.pointFv .ttl {
	margin-bottom: 40px;
}

.pointFv__box {
	padding: 4.6rem 3rem 6.2rem;
	margin-bottom: 15px;
}

.pointFv__detail {
	position: relative;
}

.pointFv__detail::after {
	content: "";
	width: 0.2rem;
	height: calc(100% - 0.5rem);
	background-color: #6e6e6e;
	position: absolute;
	left: 50%;
	bottom: 0.1rem;
	transform: translateX(-50%);
}

.pointFv__detail>.head {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: bold;
}

.pointFv__detail>div {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
	display: flex;
	position: relative;
}

.pointFv__detail>div::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: #6e6e6e;
	position: absolute;
	left: 0;
	bottom: 0;
}

.pointFv__detail dt {
	width: 50%;
	padding: 0.6rem 0;
}

.pointFv__detail dd {
	width: 50%;
	padding: 0.6rem 0;
}

.pointFv__lastupdate {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	color: #F7F0DE;
}

.point_logo {
	width: 200px;
	display: block;
	margin: 38px auto;
}

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

/* 侍女の紹介 */
.castsFv {
	padding: 10.6rem 0 5.6rem;
}

.castsFv.bg-cartain-02::before{
	top: -1.5rem;
}

.castsFv__star1{
	width: 3.6rem;
	position: absolute;
	top: 1.6rem;
	left: 8.0rem;
	z-index: -2;
}
.castsFv__star2{
	width: 3.4rem;
	position: absolute;
	top: 5.2rem;
	left: 3.0rem;
}

.castsFv .ttl {
	margin-bottom: 2.4rem;
}

.castsFv .ttl h1{
	width: 27.4rem;
}

.castsFv__list {
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem 1.4rem;
	margin: 0 1rem 56px;
}

.castsFv__list li {
	width: calc((100% - 1.4rem) / 2);
}

.castsFv__thumb {
	border-radius: 50%;
	margin-bottom: 1.05rem;
	overflow: hidden;
}

.castsFv__name {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	width: 13.5rem;
	height: 3.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F7F0DE;
	margin: 0 auto;
}

.castsFv__sns {
	margin-bottom: 40px;
}