@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Modak&display=swap');
@import url('https://fonts.googleapis.com/css2?family=RocknRoll+One&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Playfair+Display:wght@400..900&display=swap');

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

base

------------------------------------------- */
:root {
	--blue: #4ed0dd;
	--pink: #ff8acf;
	--purple: #804a94;
	--bg-grd: linear-gradient(to right, #4ed0dd, #ff8acf);
	--prime: #c4021a;
	--font-modak: "Playfair Display", serif;
	--font-rockn: "RocknRoll One", sans-serif;
}
body {
	background: #fff;
	color: var(--purple);
	color: #000;
	font-family: "M PLUS 1", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}
a {
	color: var(--purple);
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.5rem;
	}
}



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

header

------------------------------------------- */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* border-top: solid 2rem var(--blue); */
	padding: 2.5rem 0 1.8rem 13rem;
	position: absolute;
	z-index:1;
	width: 100%;
}
header.top {
	justify-content: center;
}
header.top h1 {
	display: none;
}
header h1 {
	width: 10rem;
	line-height: 1;
}
header.low {
	justify-content: center;
}
@media screen and (max-width: 768px) {
	header.top {
		display: none;
	}
	header {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 6rem;
		padding: 0;
		/* border-top: solid 0.3rem var(--blue); */
	}
	header h1 {
		width: 11rem;
		position: absolute;
		left: calc(50% - 5rem);
		top: 0.8rem;
	}	
	header.low {
		justify-content: center;
		padding: 0;
	}
}



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

nav

------------------------------------------- */
ul.gnav-menu {
	display: flex;
	align-items: center;
}
ul.gnav-menu > li {
	white-space: nowrap;
}
ul.gnav-menu > li:not(:last-child) {
	margin-right: 6.7rem;
}
ul.gnav-menu > li > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	position: relative;
	font-size: 1.17rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.4;
}
ul.gnav-menu > li > a span {
	font-family: var(--font-modak);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	color:#fff;
}
ul.gnav-menu > li > a::before {
	content: "";
	width: 3.6rem;
	height: 0.5rem;
	background-color: #fff;
	position: absolute;
	top: -2.5rem;
	transition: ease-in-out .3s;
	opacity: 0;
}
ul.gnav-menu > li > a:hover::before {
	opacity: 1;
}
ul.gnav-menu > li > a:hover {
	opacity: 1;
}



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

footer

------------------------------------------- */
footer {
	background: #000;
	color: #fff;
	padding: 0rem 0 3rem;
}
footer a {
	color: #fff;
}
footer .wrap {
	display: flex;
	justify-content: center;
	flex-direction: column-reverse;
	align-items: center;
}
footer .logo {
	width: 19rem;
	margin: 5rem 0 2rem;
}
footer nav {
	padding-top: 3rem;
}
footer nav ul {
	display: flex;
	align-items: center;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	font-family: var(--font-modak);
}
footer nav ul li:not(:last-child) {
	margin-right: 6rem;
}

footer .tel {
	text-align: center;
	margin-bottom: 3rem;
}
footer .tel span {
	display: block;
	font-size: 1.34rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	line-height: 2.04;
}
footer .tel a {
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.1;
}
footer .tel a img {
	width: 1.6rem;
	vertical-align: -0.3rem;
	margin-right: 0.7rem;
}

footer small {
	display: block;
	text-align: center;
	font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
	footer {
		padding: 1rem 0 9rem;
	}
	footer .wrap {
		flex-direction: column;
		align-items: center;
	}
	footer .logo {
		width: 18rem;
		margin-right: 0;
	}
	footer nav {
		margin: 4rem 0 6rem 0;
		padding-top: 0;
	}
	footer nav ul {
		flex-wrap: wrap;
		font-size: 2rem;
		gap: 3rem 0;
	}
	footer nav ul li {
		width: 30%;
		margin: 0 auto;
		text-align: center;
	}
	footer nav ul li:not(:last-child) {
		margin-right: 0;
	}
}



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

page-ttl

------------------------------------------- */
.page-ttl {
	background: url(../img/kvpage-pc.jpg) no-repeat center top / cover;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 30rem;
	padding-top: 2rem;
}
.page-ttl h2 {
	color:#fff;
	font-weight: normal;
	line-height: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	    text-shadow: 0 0rem 2.2rem #000;
}
.page-ttl h2 .en {
	font-family: var(--font-modak);
	color: #fff;
	font-size: 4.8rem;
	text-transform: lowercase;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.page-ttl h2 .en::first-letter {
    text-transform: uppercase;
}
.page-ttl h2 .jp {
	font-family: var(--font-rockn);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
	.page-ttl {
		height: 25rem;
		padding-top: 0rem;
		background: url(../img/kvpage-sp.jpg) no-repeat center top / cover;
	}
}



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

layout

------------------------------------------- */
/* base-width */
.base-width {
	width: 88rem;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 768px) {
	.base-width {
		width: auto;
	}
}
/* container */
.container {
	margin: 8rem auto 10rem auto;
	width: 88rem;
}
.container .wrap {
	display: flex;
	justify-content: space-between;
}
.container .wrap.reverse {
	flex-direction: row-reverse;
}
.container .wrap > figure {
	width: 35%;
}
.container .wrap > div {
	width: 60%;
}
@media screen and (max-width: 768px) {
	.container {
		margin: 6rem 3rem 8rem 3rem;
		width: auto;
	}
	.container .wrap {
		display: block;
	}
	.container .wrap > figure {
		width: 100%;
		margin-bottom: 2rem;
	}
	.container .wrap > div {
		width: 100%;
	}
}
/* page-top */
#page-top {
    position: fixed;
	bottom: 1rem;
	right: 1rem;	
	z-index: 999;	
}
#page-top img {
	width: 9rem;
}
@media screen and (max-width: 768px) {
	#page-top {
		bottom: 6rem;
		right: 0rem;	
	}
	#page-top img {
		width: 7.5rem;
	}
}

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

style

------------------------------------------- */
/* heading */
.heading-1 {
	font-size: 5.84rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	color: #c4021a;
	font-family: "Playfair Display", serif;
	text-align: center;
		position: relative;
	margin-top: 4.4rem;
}
.heading-1.small {
	font-size: 4.17rem;
	letter-spacing: 0em;
	margin-top: 3.8rem;
} 
.heading-1.small2 {
	font-size: 4.17rem;
	letter-spacing: 0.1em;
	margin-top: 4.4rem;
} 
.heading-1.wt {
	color: #fff;
} 
.heading-1.shadow {
	text-shadow: 0 0rem 2.2rem #c4021a;
} 
.heading-1.noicon {
	margin-top: 0;
} 
		.heading-1::before {
			content: "";
			background: url(../img/deco-title1.png) no-repeat center top / contain;
			width: 6.08rem;
			height: 4.67rem;
			/* aspect-ratio: 293/95; */
			position: absolute;
			top: -3.8rem;
			left: 0;
			right: 0;
			margin: 0 auto;
			pointer-events: none;
		}
		.heading-1.wt.shadow::before {
			background: url(../img/deco-title2.png) no-repeat center top / contain;
			width: 8.5rem;
			height: 6.8rem;
			/* aspect-ratio: 293/95; */
			position: absolute;
			top: -4.4rem;
			left: 0;
			right: 0;
			margin: 0 auto;
			pointer-events: none;
		}
		.heading-1.small2::before {
			background: url(../img/deco-title1.png) no-repeat center top / contain;
			width: 6.08rem;
			height: 4.67rem;
			/* aspect-ratio: 293/95; */
			position: absolute;
			top: -4.4rem;
			left: 0;
			right: 0;
			margin: 0 auto;
			pointer-events: none;
		}
		.heading-1.wticon::before {
			background: url(../img/deco-title3.png) no-repeat center top / contain;
		}
		.heading-1.noicon::before {
			content: none;
		}

.heading-1 span {
	display: block;
	font-family: "M PLUS 1", sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #000;
}
.heading-1.small span {
	font-size: 1.34rem;
	letter-spacing: 0.2em;
} 
.heading-1.wt span {
	color: #fff;
}
.heading-1.shadow span {
	text-shadow: 0 0rem 1.2rem #c4021a;
} 


.heading-2 {
	font-size: 2rem;
}
.heading-2 strong {
	font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
	.heading-1 {
		margin-bottom: 3rem;
	}
}
/* more */
.more {
	display: block;
	width: 25rem;
		margin: 0 auto;
}
.more.small {
	width: 14.25rem;
}
.more.left {
	margin-left: 0;
}
@media screen and (max-width: 768px) {
	.more {
		margin: 0 auto;
		width: 28rem;
	}
	.more.small {
		width: 22rem;
	}
	.more.left {
		margin: 0 auto;
	}
}
/* ttl */
.ttl {
	border-bottom: solid 0.12rem rgba(0,0,0,0.2);
	font-size: 2.4rem;
	margin-bottom: 3rem;
	padding: 1rem 0 1.5rem 0;
	position: relative;
}
.ttl:after {
	border-bottom: solid 0.5rem var(--prime);
	bottom: -0.5rem;
	content: " ";
	display: block;
	position: absolute;
	width: 25%;
}
@media screen and (max-width: 768px) {
	.ttl:after {
		width: 40%;
	}	
}
/* detail */
ul.detail li {
	position: relative;
	padding: 1.5rem 0 1.75rem 0;
}
ul.detail li::before {
	content: "";
	width: 100%;
	height: 0.08rem;
	background: #333;
	position: absolute;
	left: 0;
	bottom: 0;
}
ul.detail li dl {
	display: flex;
}
ul.detail li dl dt {
	width: 30%;
	font-weight: bold;
}
ul.detail li dl dd {
	width: 70%;
}
ul.detail li dl dd a {
	color:#000;
}
@media screen and (max-width: 768px) {
	ul.detail li dl {
		display: block;
	}
	ul.detail li dl dt {
		width: 100%;
		margin-bottom: 0.2rem;
	}
	ul.detail li dl dd {
		width: 100%;
	}
}
/* ---- detail ---- */
dl.detail {
	display: flex;
	flex-wrap: wrap;
}
dl.detail dt {
	padding: 1.5rem;
	width: 25%;
	white-space: nowrap;
	font-weight: bold;
}
dl.detail dd {
	padding: 1.5rem;
	width: 75%;
}
dl.detail dt:last-of-type,
dl.detail dd:last-of-type {
	border-bottom: none;
}
dl.bk dt,
dl.bk dd {
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
dl.wt dt,
dl.wt dd {
	border-bottom: 1px solid rgba(255,255,255,0.4);
}
@media screen and (max-width: 768px) {
	dl.detail {
		display: block;
	}
	dl.detail dt {
		display: flex;
		align-items: center;
		padding: 1.2rem 1.2rem 0.3rem 1.2rem;
		width: 100%;
	}
	dl.detail dt::before {
		content: "◆";
		font-size: 1.2rem;
		margin-right: 0.5rem;
		color: var(--prime);
	}
	dl.detail dd {
		padding: 0 1.2rem 1.2rem 1.2rem;
		width: 100%;
	}
	dl.bk dt {
		border-bottom: none;
	}
	dl.wt dt {
		border-bottom: none;
	}
}
/* ---- menu-list ---- */
dl.menu-list dt,
dl.menu-list dd,
dl.menu-list dt.var,
dl.menu-list dt.var + dd {
	border-bottom: solid 1px rgba(0,0,0,0.2); /* メニュー下線カラー */
}
dl.menu-list dt:first-child,
dl.menu-list dt:first-child + dd {
	border-top: solid 1px rgba(0,0,0,0.2); /* メニュー上線カラー */
}
dl.menu-list dt:nth-of-type(odd),
dl.menu-list dt:nth-of-type(odd) + dd{
	background:rgba(0,0,0,0.04); /* メニュー背景色 */
}
dl.menu-list dt.var + dd dl dt:nth-of-type(odd){
	background: none !important;
}
dl.menu-list dt.var + dd dl dt:nth-of-type(odd) + dd{
	background: none !important;
}
dl.menu-list {
	display: flex;
	flex-wrap: wrap;
}
dl.menu-list dt {
	padding: 1.5rem;
	width: 70%;
}
dl.menu-list dt span {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}
dl.menu-list dd {
	padding: 1.5rem;
	width: 30%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
}
dl.menu-list dt.thumb {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.menu-list dt.thumb i:first-of-type {
	width: 16rem;
	display: block;
}
dl.menu-list dt.thumb i:last-of-type {
	width: calc(100% - 18rem);
}
@media screen and (max-width: 768px) {
	dl.menu-list {
		display: block;
	}
	dl.menu-list dt {
		width: 100%;
		border-bottom: none;
		padding: 1.5rem 1.5rem 0 1.5rem;		
	}
	dl.menu-list dd {
		width: 100%;
		border-top: none;
		padding: 0 1.5rem 1.5rem 1.5rem;				
	}
	dl.menu-list dt:first-child + dd {
		border-top: none;
	}
	dl.menu-list dt.thumb {
		display: block;
	}
	dl.menu-list dt.thumb i:first-of-type {
		width: 100%;
		margin: 0.5rem auto 1.5rem auto;
	}
	dl.menu-list dt.thumb i:last-of-type {
		width: 100%;
	}	
}




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

hamburger

------------------------------------------- */
.gnav-sp {
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: -1;
	opacity: 0;
	background: #c4021a;	
}
.gnav-sp .wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.gnav-sp-menu li {
	font-size: 1.1rem;
	text-align: center;
	line-height: 1.2;
}
.gnav-sp-menu li span {
	display: block;
	font-family: var(--font-modak);
	color: #fff;
	font-size: 2.4rem;
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	color:#fff;
}
.gnav-sp-menu li a {
	display: block;
	padding: 1rem 0;
	white-space: nowrap;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.4;
}
/* toggle */
.toggle-btn {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 6rem;
	height: 6rem;
	transition: all .5s;
	cursor: pointer;
	z-index: 100000;
	background: var(--bg-grd);
	background: #c4021a;
}
.toggle-btn span {
	display: block;
	position: absolute;
	left: 2rem;
	width: 2rem;
	height: 0.2rem;
	background-color: #fff;
	transition: all .4s;
}
.toggle-btn span:nth-child(1) {
	top: 1.9rem;
}
.toggle-btn span:nth-child(2) {
	top: 2.7rem;
}
.toggle-btn span:nth-child(3) {
	top: 3.5rem;
}
/* open */
.open .gnav-sp {
	top: 0;
	opacity: 1;
	z-index: 99999;
}
.open .toggle-btn span {
	background-color: #fff;
}
.open .toggle-btn span:nth-child(1) {
	-webkit-transform: translateY(0.8rem) rotate(-45deg);
	transform: translateY(0.8rem) rotate(-45deg);
}
.open .toggle-btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle-btn span:nth-child(3) {
	-webkit-transform: translateY(-0.8rem) rotate(45deg);
	transform: translateY(-0.8rem) rotate(45deg);
}



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

class

------------------------------------------- */
/* txt-vertical */
.txt-vertical {
	writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
	.txt-vertical.not {
		writing-mode: horizontal-tb;
		white-space: normal;
	}
}
/* prepare */
.prepare {
    text-align: center;
    padding: 8rem 0;
    font-size: 2rem;
	font-weight: bold;
}
/* map */
.gmap iframe {
	width: 100%;
	height: 36rem;
	border-radius: 2rem;
}
.gmap.grey iframe {
	filter:grayscale(100%);
}
/* display */
@media screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}
/* margin */
.mb-10 { margin-bottom: 1rem !important; }
.mb-15 { margin-bottom: 1.5rem !important; }
.mb-20 { margin-bottom: 2.0rem !important; }
.mb-25 { margin-bottom: 2.5rem !important; }
.mb-30 { margin-bottom: 3.0rem !important; }
.mb-35 { margin-bottom: 3.5rem !important; }
.mb-40 { margin-bottom: 4.0rem !important; }
.mb-45 { margin-bottom: 4.5rem !important; }
.mb-50 { margin-bottom: 5.0rem !important; }
.mb-55 { margin-bottom: 5.5rem !important; }
.mb-60 { margin-bottom: 6.0rem !important; }
.mb-65 { margin-bottom: 6.5rem !important; }
.mb-70 { margin-bottom: 7.0rem !important; }
.mb-75 { margin-bottom: 7.5rem !important; }
.mb-80 { margin-bottom: 8.0rem !important; }
.mb-85 { margin-bottom: 8.5rem !important; }
.mb-90 { margin-bottom: 9.0rem !important; }
.mb-95 { margin-bottom: 9.5rem !important; }
.mb-100	{ margin-bottom: 10.0rem !important; }



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

fade

------------------------------------------- */
.fade {
	opacity: 0;
	transform: translateY(2rem);
}
.fade.is-animation {
    animation: fade 0.5s ease;
    animation-fill-mode: both;
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.delay-1 { animation-delay: 0.2s !important; }
.delay-2 { animation-delay: 0.35s !important; }
.delay-3 { animation-delay: 0.5s !important; }
.delay-4 { animation-delay: 0.65s !important; }
.delay-5 { animation-delay: 0.8s !important; }




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

menu low

------------------------------------------- */
/* lcmenu */
ul.lcmenu {
	display:flex;
	flex-wrap: wrap;
	margin-bottom: 4rem;
	justify-content: space-between;
}
ul.lcmenu li {
	width: 32%;
	text-align: center;
	margin-bottom: 2%;
}
ul.lcmenu li a {
	display: block;
	padding: 1.6rem 0 1.8rem 0;
	background: #fff;	
	white-space: nowrap;
}
ul.lcmenu li.current a {
	color: #fff;
	background: var(--color);	
}
@media screen and (max-width: 768px) {
	ul.lcmenu li {
		width: 49%;
	}
	ul.lcmenu li a {
		padding: 1.2rem 0 1.3rem 0;
	}	
}
/* menu-list */
dl.menu-list dt,
dl.menu-list dd,
dl.menu-list dt.var,
dl.menu-list dt.var + dd {
	border-bottom: solid 1px rgba(0,0,0,0.2); /* メニュー下線カラー */
}
dl.menu-list dt:first-child,
dl.menu-list dt:first-child + dd {
	border-top: solid 1px rgba(0,0,0,0.2); /* メニュー上線カラー */
}
dl.menu-list dt:nth-of-type(odd),
dl.menu-list dt:nth-of-type(odd) + dd{
	background:rgba(0,0,0,0.04); /* メニュー背景色 */
}
dl.menu-list dt.var + dd dl dt:nth-of-type(odd){
	background: none !important;
}
dl.menu-list dt.var + dd dl dt:nth-of-type(odd) + dd{
	background: none !important;
}
dl.menu-list {
	display: flex;
	flex-wrap: wrap;
}
dl.menu-list dt {
	padding: 1.5rem;
	width: 70%;
}
dl.menu-list dt span {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}
dl.menu-list dd {
	padding: 1.5rem;
	width: 30%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
}
dl.menu-list dt.thumb {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.menu-list dt.thumb i:first-of-type {
	width: 16rem;
	display: block;
}
dl.menu-list dt.thumb i:last-of-type {
	width: calc(100% - 18rem);
}
@media screen and (max-width: 768px) {
	dl.menu-list {
		display: block;
	}
	dl.menu-list dt {
		width: 100%;
		border-bottom: none;
		padding: 1.5rem 1.5rem 0 1.5rem;		
	}
	dl.menu-list dd {
		width: 100%;
		border-top: none;
		padding: 0 1.5rem 1.5rem 1.5rem;				
	}
	dl.menu-list dt:first-child + dd {
		border-top: none;
	}
	dl.menu-list dt.thumb {
		display: block;
	}
	dl.menu-list dt.thumb i:first-of-type {
		width: 100%;
		margin: 0.5rem auto 1.5rem auto;
	}
	dl.menu-list dt.thumb i:last-of-type {
		width: 100%;
	}	
}



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

gallery low

------------------------------------------- */
.gallery-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	justify-content: center;
	width: 90%;
	margin: 8rem auto;
}	
.gallery-list li {
	margin: 0 1rem 2rem 1rem;
}
.gallery-list img {	
	border-radius: 50%;
	height: 11vw;
	width: 11vw;
	object-fit: cover;	
}
.gallery-list span {	
	display: block;
	font-size: 1.2rem;
	line-height: 1.7;
	margin: 1.2rem 0 0 0;
	text-align: center;
	width: 11vw;
}
@media screen and (max-width: 768px) {
	.gallery-list {
		margin: 4rem auto;
		width: 95%;
	}	
	.gallery-list li {
		margin: 0 0.5rem 1.5rem 0.5rem;
	}	
	.gallery-list img {	
		width: 17vw;
		height: 17vw;
	}
	.gallery-list span {	
		font-size: 1rem;
		margin: 1rem auto 0 auto;
		width: 16vw;
	}
}



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

news

------------------------------------------- */
/* CMS-NEWS */
.CMS-NEWS-INDEX {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-bottom: 10rem;
}
.CMS-NEWS-INDEX > * {
    width: 31%;
    margin-right: 3.5%;
}
.CMS-NEWS-INDEX > *:nth-of-type(3n) {
    margin-right: 0;    
}
.CMS-NEWS-INDEX > *:nth-of-type(n + 4) {
    margin-top: 3.5rem;
}
.CMS-NEWS-ITEM a {
    transition: all .3s;
    display: block;
}
.CMS-NEWS-ITEM a:hover {
    opacity: 0.6;
}
.CMS-NEWS-TIME {
    font-size: 1.2rem;
    margin: 1.5rem 0 0.6rem 0;
    line-height: 1;
	font-weight: 400;
	color: #000;
}
.CMS-NEWS-LINK {
    font-size: 1.3rem;
	color: #000;
}
.CMS-NEWS-INDEX > * img {
    height: 15rem;
    width: 100%;
    object-fit: cover;  
	border-radius: 1rem;
	border: solid 0.5rem #fff;
}
.container .CMS-NEWS-INDEX > * img {
    height: 20rem;
}
/* CMS-NEWS-MORE-READ */
.CMS-NEWS-MORE-READ {
    background: var(--prime);
    border: none;
    padding: 1.6rem 0 1.7rem 0;
    font-size: 1.4rem;
    color: #fff !important;
    text-align: center;
    margin: 0 auto;
    width: 31%;
    display: block;
    transition: all .3s;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
	font-family: "M PLUS 1p", sans-serif;
	border-radius: 10rem;
	font-weight: bold;
}
.CMS-NEWS-MORE-READ:hover {
    cursor: pointer;
    opacity: 0.6;
}
/* CMS-NEWS-TITLE */
.CMS-NEWS-TITLE {
    border-bottom: solid 1px rgba(0,0,0,0.2);
    font-size: 2.2rem;
    margin-bottom: 3rem;
    padding: 1rem 0 1.5rem 0;
    position: relative;
    font-weight: bold;
}
.CMS-NEWS-TITLE:after {
	background: var(--bg-grd);
	height: 0.4rem;
    bottom: -0.4rem;
	z-index: 10;
    content: " ";
    display: block;
    position: absolute;
    width: 25%;
}
.CMS-NEWS-CONTENT img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto 3rem auto;
}
@media screen and (max-width: 768px) {
    .CMS-NEWS-INDEX {
        display: block;
    }
    .CMS-NEWS-INDEX > * {
        width: 100%;
        margin-right: 0;
    }
    .CMS-NEWS-INDEX > *:nth-of-type(n + 4) {
        margin-top: 0;
    }
    .CMS-NEWS-INDEX > *:nth-of-type(n + 2) {
        margin-top: 3.5rem;
    }        
    .CMS-NEWS-TIME {
        margin: 1.5rem 0 0.5rem 0;
    }   
    .CMS-NEWS-INDEX > * img {
        height: 27rem;
    }
	.container .CMS-NEWS-INDEX > * img {
		height: 30rem;
	}
    .CMS-NEWS-CONTENT img {
        width: 100%;
    }
}

@media screen and (max-width: 414px) {
    .CMS-NEWS-INDEX > * img {
        height: 20rem;
    }
	.container .CMS-NEWS-INDEX > * img {
		height: 23rem;
	}
}






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

fixed btn

----------------------------------------------------------  */
.fixed-btn {
	position: fixed;
	top: 45%;
	right: 0;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	z-index: 999;
	width: 5rem;
    list-style: none;
}
.fixed-btn li:not(:last-of-type) {
	margin-bottom: 2.5rem;
}
.fixed-btn li::marker {
    content: none;
}
.fixed-btn img {
  width: 100%;
  height: auto;
}

@media (min-aspect-ratio: 1440/720) { /* 横長 */
	.fixed-btn {
		top: 37%;
		width: 5rem;
	}
	.fixed-btn .reserve {
		margin-bottom: 1rem;
	}
}
@media (min-aspect-ratio: 1440/560) { /* さらに横長 */
	.fixed-btn {
		top: 37%;
		width: 4rem;
	}
	.fixed-btn .reserve {
		margin-bottom: 0.5rem;
	}
}

@media screen and (max-width: 768px) {
	.fixed-btn {
		top: auto;
		right: auto;
		bottom: 0;
		transform: none;
		-webkit-transform: none;
		width: 100%;
		display: flex;
		border-top: solid 0.4rem #c4021a;
	}
	.fixed-btn li {
		width: 50%;
        margin-top: 0;
        margin-bottom: 0 !important;
	}
  .fixed-btn li:not(:last-of-type) {
    border-right: solid 0.1rem #fff;
  }
	.fixed-btn a.sp {
		width: 100%;
		padding: 0;
		height: 6rem;
		display: flex !important;
		align-items: center;
		justify-content: center;
		text-decoration: none !important;
		line-height: 1;
	}
    .fixed-btn a.pc {
        display: none;
    }
	/* icon */
	.fixed-btn li img {
		width: 2.1rem;
		height: 2.1rem;
		margin-right: 1rem;
		filter: brightness(0) saturate(100%) invert(23%) sepia(64%) saturate(1884%) hue-rotate(339deg) brightness(95%) contrast(92%);
	}	
	/* txt */
	.fixed-btn a > span {
		display: flex;
		flex-direction: column;
	}
	.fixed-btn a > span > span:nth-child(1) {
		margin-left: 0;
		margin-bottom: 0.3rem;
		font-size: 1.4rem;
	}
	.fixed-btn .reserve a > span > span:nth-child(1) {
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	.fixed-btn a > span > span:nth-child(2) {
		/* font-weight: bold; */
		font-size: 1.5rem;
        text-decoration: underline;
	}		
	.fixed-btn li.tel {
		margin-bottom: 0;
	}	
	.fixed-btn .tel a > span > span:nth-child(2) {
		font-size: 1.9rem;
	}	
	.fixed-btn .tel a {
		background: #fff;
		color: #c4021a;
		font-weight: 700;
	}	
	.fixed-btn .reserve a {
		background: #000;
		color: #fff;
		font-weight: 700;
	}	
}





.menu__pasteimg {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4rem;
}
.menu__pasteimg img:nth-of-type(1) {
	width: 70%;
}






/*-------------------------
  contact
---------------------------*/
  
@media screen and (min-width: 768px) {
	form {
		padding: 20px 0 0 0;
		max-width: 1200px;
		margin: 0 auto;
		width: calc(100% - 40px);
	}
  
	form div {
		margin-bottom: 40px !important;
	}
  
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 1.5rem;
	}
  
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
  
	form input,
	form textarea {
		width: calc(100% - 40px);
		padding: 15px 20px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.5em;
	}
	form textarea {
	  resize: vertical;
	  height: 25rem;
	}
	form input[type="submit"] {
		border: 0px;
		width: 40%;
		background: #c4021a;
		/* border: 2px solid #fff;
		border: solid 4px #0D0505; */
		color: #fff;
		font-size: 2.17rem;
		font-weight: 600;
		padding: 15px 0;
		margin: 0 auto;
		display: block;
        letter-spacing: 0.5rem;

	}
  }
  
  form input[type="submit"]:hover {
	transition: all 0.3s;
	cursor: pointer;
	/* opacity: 0.7; */
	color: #b0e2f1;
  }
  .CMS-FORM-RADIO input[type="radio"] {
    width: 2rem;
    height: 2rem;
    display: block;
    margin-top: 1.3rem;
    border-radius: 50%;
}
.CMS-FORM-RADIO {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 70%;
}
.CMS-FORM-RADIO label{
    display: block;
    width: calc(100% - 3.5rem);
}
.CMS-FORM-RADIO > label {
    font-weight: normal;
    padding-top: 0.8rem;
}
.CMS-FORM-RADIO > label:not(:last-of-type) {
    margin-bottom: 1rem;
}

  @media screen and (max-width: 767px) {
	form {
		padding: 0 0 0px;
	}
  
	form div {
		margin-bottom: 20px;
	}
  
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 14px;
	}
  
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
  
	form input,
	form textarea {
		max-width: 1000px;
		width: calc(100% - 20px);
    width: 100%;
		padding: 15px 10px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.4em;
	}
	form textarea {
		height: 20rem;
	  }  
  
	form input[type="submit"] {
		border: 0px;
		width: 90%;
		background: #c4021a;
		/* border: 2px solid #fff;
		border: solid 4px #0D0505; */

		color: #fff;
		font-size: 1.84rem;
		font-weight: 600;
		padding: 1.34rem 0;
		margin: 0 5%;

	}

	.CMS-FORM-RADIO input[type="radio"] {
        width: 2rem;
        height: 2rem;
        margin-top: 0;
        margin-bottom: 1.5rem;
    }
    .CMS-FORM-RADIO {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
    }
    .CMS-FORM-RADIO label{
        width: calc(100% - 3.5rem);
        padding-top: 0;
        margin-top: -0.1rem;
    }
    .CMS-FORM-RADIO > label {
        font-weight: normal;
    }
    .CMS-FORM-RADIO > label:not(:last-of-type) {
        margin-bottom: 0;
    }

  }
  
@media screen and (max-width: 450px) {

	.inner-flex h2 {
		font-size: 25px;
	}
	.inner-flex-reverse h2{
		font-size: 25px;
	}
	.inner-flex-reverse h2{
		font-size: 25px;
	}

}


.thanks_width {
	text-align: center;
	margin: auto;
  }
  .thanks_width .btn {
	margin: 0 auto;
  } 


/*
 * required mark 
 */
 .form_required1 {
	width: 250px;
	display: flex;
	justify-content: space-between;
  }
  .form_required2 {
	display: inline-block;
	background-color: #DA002C;
	color: #fff;
	font-size: 0.8em;
	line-height: 1;
	font-weight: bold;
	width: 50px;
	padding: 4px 0;
	text-align: center;
  
	margin-top: 3px;
	margin-left: 30px;
  
  }
  @media screen and (max-width: 768px) {
	.form_required1 {
	  width: 100%;
	}  
	.form_required2 {
	  /* width: 14vw;
	  height: 5.5vw;   */
	}
  }
  

  /*
 * privacy policy
 */

.privacy {
	width: calc(100% - 40px) !important;
	margin: 0 auto 5rem;
	border: 4px solid #bebebe;
	height: 500px;
	overflow: auto;
	overflow-y: scroll !important;
	background-color: #fff;
  }
  .privacy p {
	color: #000;
	padding: 0 20px;
  }
  .privacy span {
	font-weight: bold;
  }
  
  p.privacy_notes {
	padding: 4rem 0 2rem;
	padding-left: 2em;
	text-indent: -1em;
    font-size: 1.3rem;
  }
  
  @media screen and (max-width: 767px) {
	.privacy {
		width: calc(100% - 20px) !important;
		/* height: 110vw; */
		height: 380px;
	}
  }


.recruit__block {
    max-width: 1000px;
    margin: 0 auto;
}
.recruit__text {
    text-align: center;
    font-size: 1.6rem;
    margin: 7rem 0 5rem;
}

  
/*
 * thanx
 */

.thanx {
    text-align: center;
    font-size: 1.6rem;
}
.back {
    text-align: center;
    display: block;
    font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
    .thanx {
        text-align: left;
    }
}






    /*
   * privacy policy
   */
  
    .detail_privacy {
      width: 95% !important;
      max-width: 1020px;
      border: 1px solid #100201;
      height: 500px;
      overflow: auto;
      overflow-y: scroll !important;
      background-color: #fff;
      margin: 4rem auto 0rem;
      padding: 20px;
      text-align: left;
    }
    .detail_privacy h3 {
        font-size: 100%;
        text-align: left;
        font-weight: bold;
    }
    .detail_privacy .sp2 {
      display: none;
    }
  
    .detail_privacy p {
      color: #000;
      padding: 0 0 20px;
      /* padding: 0; */
      font-weight: normal;
    }
  
    .detail_privacy span {
      font-weight: bold;
    }
  
    .detail_privacy .p_head {
      padding-bottom: 0px;
      margin-bottom: 0.8em;
    }
  
    .detail_privacy ul {
      font-weight: normal;
      list-style: disc !important;
      padding-left: 2em;
      padding-bottom: 1em;
    }
  
    .detail_privacy ul li {
      font-weight: normal;
      list-style: disc !important;
    }
  
    p.detail_privacy_notes {
        width: 95%;
      max-width: 1020px;
      margin: 6rem auto 0;
      padding: 0px 0 0px;
      padding-left: 1em;
      text-indent: -1em;
      font-weight: normal;
      text-align: left;
    }
  
    @media screen and (max-width: 767px) {
      .detail_privacy {
        width: calc(100% - 20px) !important;
        width: 100% !important;
        height: 500px;
        margin: 4rem auto 0rem;
      }
  
      .detail_privacy .sp2 {
        display: initial;
      }
  
      p.detail_privacy_notes {}
  
    }
    

.CMS-FORM-INPUT-LABEL:after,
.CMS-FORM-NUMBER-LABEL:after,
.CMS-FORM-EMAIL-LABEL:after,
.CMS-FORM-TEL-LABEL:after,
.CMS-FORM-TEXTAREA-LABEL:after,
.CMS-FORM-SELECT-LABEL:after {
	content: "必須";
	display: inline-block;
	font-size: 1rem;
	color: #FFF;
	text-align: center;
	width: 3.75rem;
	height: 2.08rem;
	background: #c4021a;
	margin-left: 1.34rem;
	line-height: 2.08rem;
	font-weight: 500;
}








/*-------------------------
  cast
---------------------------*/
.cast__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem 3rem;
}

@media (max-width: 767px) {
  .cast__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.cast__name-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem;
}

.cast__name {
  letter-spacing: 0.05em;
  font-weight: 500;
}

.cast__insta {
  width: max(24px, 3rem);
  height: max(24px, 3rem);
}

