@import url('https://fonts.googleapis.com/css2?family=Jost:wght@200;400;500;600&display=swap');

html {
	font-size: 12px;
	font-family: "Noto Serif JP", serif;
	/*
font-family:Meiryo,"メイリオ",Helvetica,Arial,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3",sans-serif;*/
}


html {
	/* font-size: 2.67vw; */
}


* ul,
li {
	margin: 0;
	padding: 0;
	list-style: none;
}

* dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}

* figure,
figcaption {
	margin: 0;
	padding: 0;
}

* p {
	margin: 0;
	padding: 0;
}

* img {
	border: 0;
	vertical-align: bottom;
	max-width: 100%;
}

* {
	box-sizing: border-box;
}

* a:hover img {
	filter: alpha(opacity=75);
	moz-opacity: 0.75;
	opacity: 0.75;
}

a {
	text-decoration: none;
	color: #fff;
	transition: all 0.3s ease 0s;
}

a:hover {
	text-decoration: none;
	color: #ebcef7;
}

a:focus,
*:focus {
	outline: none;
}

* table {
	border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
j6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.img_pc {
	display: inline-block;
}

.img_sp {
	display: none;
}

@media screen and (max-width: 640px) {
	.img_pc {
		display: none;
	}

	.img_sp {
		display: inline-block;
	}
}


/* ヘッダー */
.header {
	/*
position: fixed;
left: 0;
top: 0;
height: 60px;
*/
	width: 100%;
	background: none;
}

.header_inner {
	position: relative;
	padding: 15px;
}

.logo {
	/*
position: absolute;
top: 0;
left: 0;
padding: 10px 15px
*/
}

.title {
	font-size: 2rem;
	font-weight: 600;
}

.sp_nav {
	display: none;
}

@media only screen and (max-width: 768px) {
	.header {
		margin-bottom: 1rem;
	}

	.logo img {
		width: 240px;
		height: auto;
	}

	.header_inner {
		padding: 10px 15px;
	}

	.header_inner h1 {
		font-size: 1rem;
	}

	.header_inner .telbox .tel {
		display: none;
	}

	.header_inner .telbox .eigyo {
		font-weight: bold;
		font-size: 1.2rem;
		margin-top: .5rem;
	}

	.nav {
		position: fixed;
		right: -320px;
		/* 右から出てくる */
		top: 0;
		width: 300px;
		/* スマホに収まるサイズ */
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
		/* メニューが多くなったらスクロールできるように */
	}

	.hamburger {
		position: absolute;
		right: 5px;
		top: 24px;
		width: 40px;
		/* クリックしやすい幅 */
		height: 40px;
		/* クリックしやすい高さ */
		cursor: pointer;
		z-index: 300;
	}

	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.nav_item {
		text-align: center;
		padding: 0 14px;
	}

	.nav_item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #bea6c8;
		text-decoration: none;
		color: #e8d9ee;
		text-align: left;
		font-size: 1.2rem;
	}

	.nav_item a span {
		font-family: "Noto Serif JP", serif;
		font-size: 1.8rem;
		font-weight: bold;
		margin-right: 5px;
	}

	.nav_item.home a::before {
		content: "HOME";
	}

	.nav_item.sch a::before {
		content: "SCHEDULE";
	}

	.nav_item.cast a::before {
		content: "CAST";
	}

	.nav_item.system a::before {
		content: "SYSTEM";
	}

	.nav_item.rec a::before {
		content: "RECRUIT";
	}

	.nav_item a:hover {
		background-color: #eee;
	}

	.hamburger_border {
		position: absolute;
		left: 6px;
		width: 28px;
		height: 2px;
		background-color: #ebcef7;
		transition: all .6s;
	}

	.hamburger_border_top {
		top: 14px;
	}

	.hamburger_border_center {
		top: 22px;
	}

	.hamburger_border_bottom {
		top: 30px;
	}

	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .nav {
		right: 0;
		background: #200023bf;
	}

	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}

	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}

	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}

	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}

	.sp_nav {
		display: block;
	}

	.sp_nav ul {
		display: flex;
		background: linear-gradient(to bottom, #93098a, #000);
	}

	.sp_nav ul li {
		width: calc(100% / 5);
		position: relative;
	}

	.sp_nav ul li:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 10%;
		right: 0;
		height: 80%;
		width: 1px;
		border-left: 1px dotted rgba(255, 255, 255, .5);
	}

	.sp_nav ul li a {
		display: block;
		color: #fff;
		font-weight: bold;
		font-size: .8rem;
		line-height: 1.2;
		padding: 1rem 2px;
	}

	.sp_nav ul li a span {
		font-family: "Noto Serif JP", serif;
		display: block;
		font-size: 1.2rem;
	}
}

/* spナビここまで */
@media only screen and (min-width: 769px) {
	.header_inner {
		width: 980px;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin: auto;
		padding: 12px 0;
		position: relative;
	}

	.header_inner h1 {
		font-size: 11px;
		position: absolute;
		top: 12px;
		right: 0;
	}

	.logo {
		padding: 0;
	}

	.logo img {
		height: 80px;
	}

	.header_inner ul {
		text-align: right;
		line-height: 1.2;
		text-shadow: 2px 2px 5px #480e60;
	}

	.header_inner ul .eigyo {
		font-weight: bold;
		font-size: 16px;
		display: flex;
		align-items: center;
	}

	.header_inner ul .eigyo span {
		margin-left: 4px;
		font-family: "Noto Serif JP", serif;
		font-size: 19px;
	}

	.header_inner ul .eigyo::before {
		content: "";
		display: inline-block;
		width: 170px;
		height: 31px;
		background: url(/img/common/creditcard.png) no-repeat;
		background-size: 170px 31px;
		position: relative;
		top: 2px;
		margin-right: 5px;
	}

	.header_inner ul .tel {
		font-size: 36px;
		font-weight: bold;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 1px;
		line-height: 1;
		color: #fff;
	}

	.header_inner ul .tel::before {
		content: "TEL.";
		font-size: 24px;
	}

	nav.nav {
		background: linear-gradient(to bottom, #93098a, #000);
		box-shadow: 0 0 5px 1px #8f7a97;
		border-radius: 100px;
		margin-bottom: 20px;
		padding: 3px 0;
		width: 1050px;
		margin: 0 auto 20px auto;
	}

	.nav_list {
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		width: 1628px;
		margin: auto;
	}

	.nav_list li {
		display: block;
		text-align: center;
		width: calc(100% / 10);
		position: relative;
	}

	.nav_list li::after {
		content: "";
		display: block;
		width: 2px;
		height: 40%;
		position: absolute;
		top: 30%;
		right: 0;
		background: #9b7aa8;
	}

	.nav_list li:first-child::before,
	.nav_list li:nth-of-type(9)::before {
		content: "";
		display: block;
		width: 2px;
		height: 40%;
		position: absolute;
		top: 30%;
		left: 0;
		background: #ebcef7;
		display: none;
	}

	.nav_list li:nth-of-type(9)::before {
		display: none;
	}

	.nav_list li:nth-of-type(10)::after {
		display: none;
	}

	.nav_list li a {
		color: #fff;
		font-size: 11px;
		display: block;
		padding: 12px 0 10px;
		line-height: 1.3;
		transition: all 0.3s ease 0s;
		letter-spacing: -0.05em;
	}

	.nav_list li a:hover {
		color: #fff;
	}

	.nav_list li a span:hover {
		color: #e8b5e0;
	}

	.nav_list li a span {
		font-family: "Noto Serif JP", serif;
		font-weight: 500 !important;
		font-size: 17px;
		font-weight: bold;
		display: block;
	}
}

/* pcナビここまで */

/* パンくず */
.breadcrumb ul {
	width: 980px;
	font-size: 11px;
	display: flex;
	margin: 0 auto 10px;
}

.breadcrumb ul li:not(:last-child)::after {
	content: ">";
	margin: 0 3px;
}

@media screen and (max-width: 640px) {
	.breadcrumb ul {
		width: 100%;
		padding: 0 10px;
		margin-bottom: 1rem;
	}
}

/* スライダー */
.slider-pro {
	margin-bottom: 48px;
}

.slider-pro .sp-slide {
	opacity: 0.3;
	border-radius: 20px;
	overflow: hidden;
}

.slider-pro .sp-selected {
	opacity: 1;
}

@media screen and (max-width: 640px) {
	.slider-pro {
		margin-bottom: 24px;
	}

	.slider-pro .sp-slide {
		border-radius: 0;
	}
}

/* twitterとか */
.cont_two {
	display: flex;
	justify-content: center;
	width: 980px;
	margin: 0 auto 48px;
	min-height: 500px;
}

.cont_two .twitter_box,
.cont_two .diary_box {
	width: 49%;
	border-radius: 16px;
	background: #fff;
}

.cont_two .twitter_box .box,
.cont_two .diary_box .box {
	padding: 0 15px 15px;
}

.cont_two .news_box {
	border-radius: 16px;
	background: #0c0116c2;
	width: 49%;
	border: 2px solid #966da6;
}

.cont_two .news_box .news_list {
	padding: 0 10px 15px 15px;
}

.cont_two .news_box dl {
	height: 402px;
	overflow-y: scroll;
	scrollbar-width: thin;
	padding-right: 10px;
}

.cont_two .news_box dl>div {
	display: flex;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 2px dotted #917c99;
}

.cont_two .news_box dl>div dt {
	margin-right: 20px;
}

.cont_two .news_box dl>div dd {
	text-align: left;
}

.cont_two .news_box dl>div dd .ttl {
	font-weight: bold;
	font-size: 18px;
}

.cont_two .news_box dl>div dd .time {
	font-size: 12px;
	color: #917c99;
	margin-bottom: 4px;
}

.cont_two .news_box dl>div dt img {
	max-width: 140px;
	width: 140px;
	height: 140px;
	object-fit: cover;
	object-position: 0 0;
	border-radius: 8px;
	overflow: hidden;
}

.cont_two .newface_box {
	border-radius: 16px;
	background: #000 url(/img/common/category_back.png) top center no-repeat;
	width: 49%;
	border: 2px solid #966da6;
}

.cont_two .newface_box .newface_list_wrap {
	padding: 0 10px 15px 15px;
}

.cont_two .newface_box .newface_list {
	height: 402px;
	overflow-y: scroll;
	scrollbar-width: thin;
	padding-right: 10px;
}

.cont_two .newface_box dl {
	display: flex;
}

.cont_two .newface_box dl:not(:last-child) {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid #502c5e;
}

.cont_two .newface_box dl dt {
	min-width: 200px;
	width: 200px;
	height: 267px;
	border-radius: 4px;
	overflow: hidden;
}

.cont_two .newface_box dl dt img {
	transition: transform .4s ease;
}

.cont_two .newface_box dl:hover dt img {
	transform: scale(1.1);
}

.cont_two .newface_box dl dd {
	text-align: left;
	margin-left: 16px;
	padding-right: 5px;
	flex-grow: 1;
}

.cont_two .newface_box dl dd .name span {
	font-size: 18px;
	font-weight: bold;
}

.cont_two .newface_box dl dd .size {
	font-size: 12px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 2px dotted #8a7c99;
	color: #e8d9ee;
}

@media screen and (max-width: 640px) {
	.cont_two {
		width: 100%;
		display: block;
		padding: 0 10px;
		margin-bottom: 3.2rem;
	}

	.cont_two>div:first-child {
		margin-bottom: 32px;
	}

	.cont_two .twitter_box,
	.cont_two .newface_box,
	.cont_two .news_box,
	.cont_two .diary_box {
		width: 100%;
	}

	.cont_two .twitter_box {
		margin-bottom: 2rem;
	}

	.cont_two .newface_box dl {}

	.cont_two .newface_box dl dt {
		min-width: 160px;
		width: 160px;
	}

	.cont_two .news_box dl>div dt img {
		width: 80px;
		height: 80px;
	}

	.cont_two .newface_box dl dd .comment,
	.cont_two .news_box dl>div dd .comment {
		font-size: 1.3rem;
	}
}

/* 1カラム */
.cont_wrap {
	margin-bottom: 20px;
}

.cont_wrap h3.ttl {
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	padding: 15px 0 15px 15px;
	line-height: 1.1;
	position: relative;
}

.cont_wrap h3.ttl span {
	display: block;
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
}

.cont_wrap h3.ttl a {
	position: absolute;
	right: 15px;
	top: 30px;
	font-size: 14px;
	display: block;
	border-radius: 100px;
	padding: 7px 15px 5px;
}

.cont_wrap h3.ttl a:hover {
	background: #151515;
	color: #fff;
}

.cont_wrap h3.ttl a::after {
	content: "";
	display: inline-block;
	height: 11px;
	width: 11px;
	background: url(/img/common/arrow.svg) no-repeat;
	background-size: cover;
	position: relative;
	margin-left: 5px;
}

.cont_wrap h3.ttl a:hover::after {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

@media only screen and (max-width: 640px) {
	.cont_wrap {
		padding: 0 1.2rem;
		margin-bottom: 3.2rem;
	}

	.cont_wrap h3.ttl span {
		font-size: 2.8rem;
	}

	.cont_wrap h3.ttl a {
		font-size: 1.3rem;
		top: 2rem;
		right: .5rem;
	}
}

/* 新着1カラム */
.cont_wrap .news_box {
	border-radius: 16px;
	background: #502c5e;
	width: 980px;
	margin: auto;
}

.cont_wrap .news_box .news_list {
	padding: 0 10px 15px 15px;
}

.cont_wrap .news_box dl {
	height: 402px;
	overflow-y: scroll;
	scrollbar-width: thin;
	padding-right: 10px;
}

.cont_wrap .news_box dl>div {
	display: flex;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 2px dotted #ddd;
}

.cont_wrap .news_box dl>div dt {
	margin-right: 20px;
}

.cont_wrap .news_box dl>div dd {
	text-align: left;
}

.cont_wrap .news_box dl>div dd .ttl {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.4;
}

.cont_wrap .news_box dl>div dd .time {
	font-size: 12px;
	color: #917c99;
	margin-bottom: 4px;
}

.cont_wrap .news_box dl>div dt img {
	max-width: 140px;
	width: 140px;
	height: 140px;
	object-fit: cover;
	object-position: 0 0;
	border-radius: 8px;
	overflow: hidden;
}

@media screen and (max-width: 640px) {
	.cont_wrap .news_box {
		width: 100%;
	}

	.cont_wrap .news_box dl>div dd .comment {
		font-size: 1.3rem;
	}
}

/* 新人1カラム */
.cont_wrap .newface_box {
	border-radius: 16px;
	background: #502c5e;
	width: 980px;
	margin: auto;
}

.cont_wrap .newface_box .newface_list_wrap {
	padding: 0 10px 15px;
}

.newface__list dl {
	margin: 0 5px;
	position: relative;
}

.newface__list dl .icon_schedule {
	line-height: 1.2;
	position: absolute;
	top: 8px;
	left: 8px;
	width: 36px;
	height: 36px;
	background: #000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 12px;
	padding-top: 4px;
}

.newface__list dl dt {
	margin-bottom: 8px;
}

.newface__list .namebox .day {
	font-weight: bold;
	font-size: 15px;
}

.newface__list .namebox .name span {
	font-weight: bold;
}

.newface__list .namebox .size {
	font-size: 13px;
	color: #917c99;
}

@media screen and (max-width: 640px) {
	.cont_wrap .newface_box {
		width: 100%;
	}

	.newface__list .namebox .day {
		font-size: 1.5rem;
	}

	.newface__list .namebox .name {
		font-size: 1.2rem;
	}

	.newface__list .namebox .name span {
		font-size: 1.3rem;
	}

	.newface__list .namebox .size {
		font-size: 1.1rem;
	}
}

/* 写メ日記1カラム */
.cont_wrap .diary_box {
	border-radius: 16px;
	background: #fff;
	width: 980px;
	margin: auto;
}

.cont_wrap .diary_box .box {
	padding: 0 15px 15px;
}

@media screen and (max-width: 640px) {
	.cont_wrap .diary_box {
		width: 100%;
	}
}

/* X1カラム */
.cont_wrap .x__box {
	background: #000;
	padding: 64px 0;
}

.cont_wrap .x__box .x__wrap {
	width: 560px;
	margin: auto;
}

@media screen and (max-width: 640px) {
	.cont_wrap .x__box {
		margin: 0 -1.2rem;
		padding: 3.2rem 1.2rem;
	}

	.cont_wrap .x__box .x__wrap {
		width: 100%;
	}
}

/* TOPアクセス */
.cont_wrap .map_box {
	width: 980px;
	margin: auto;
	display: flex;
	border-radius: 16px;
	background: #fff;
	padding: 16px;
}

.cont_wrap .map_box .map {
	width: 464px;
}

.cont_wrap h4.ttl {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.1;
	margin-bottom: 16px;
}

.cont_wrap h4.ttl span {
	display: block;
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
}

.cont_wrap .map_box .add {
	text-align: left;
	margin-left: 20px;
	flex-grow: 1;
}

.cont_wrap .map_box .add dl {
	margin-bottom: 8px;
}

.cont_wrap .map_box .add dt {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 8px;
}

.cont_wrap .map_box .add .txt {
	margin: 4px 0;
}

.cont_wrap .map_box .add .btn {
	margin-top: 24px;
	display: flex;
	justify-content: space-between;
}

.cont_wrap .map_box .add .btn li {
	width: calc(100% / 2 - 4px);
}

.cont_wrap .map_box .add .btn li a {
	display: flex;
	padding: 12px 0 10px;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	font-weight: bold;
	color: #fff;
	background: #502c5e;
}

.cont_wrap .map_box .add .btn li a::before {
	font-family: 'Material Icons';
	content: '\e0cd';
	font-size: 20px;
	margin-right: 5px;
	line-height: 1;
	position: relative;
	top: -1px;
}

.cont_wrap .map_box .add .btn li.contact a::before {
	content: '\e0e1';
}

@media screen and (min-width: 640px) {
	.cont_wrap .map_box .add .btn li.tel a {
		pointer-events: none;
	}
}

@media screen and (max-width: 640px) {
	.cont_wrap .map_box {
		width: 100%;
		display: block;
	}

	.cont_wrap .map_box .map {
		width: 100%;
	}

	.cont_wrap .map_box .add {
		margin-left: 0;
		margin-top: .8rem;
	}

	.cont_wrap h4.ttl span {
		font-size: 2.8rem;
	}

	.cont_wrap .map_box .add dl,
	.cont_wrap .map_box .add p {
		font-size: 1.3rem;
	}

	.cont_wrap .map_box .add .btn {
		display: block;
	}

	.cont_wrap .map_box .add .btn li {
		width: 100%;
	}

	.cont_wrap .map_box .add .btn li:first-child {
		margin-bottom: 1.6rem;
	}

	.cont_wrap .map_box .add .btn li a {
		font-size: 1.9rem;
	}

	.cont_wrap .map_box .add .btn li a::before {
		font-size: 2.2rem;
	}
}

/* 見出し */
h2.ttl {
	font-weight: bold;
	line-height: 1.1;
	font-size: 13px;
	font-weight: normal;
	margin-bottom: 20px;
	text-shadow: 2px 2px 5px #5e2f71;
}

h2.ttl span {
	font-size: 60px;
	font-weight: bold;
	display: block;
	font-family: "Noto Serif JP", serif;
	color: #e8b5e0;
}

h3.subttl {
	font-size: 28px;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 1px;
}

@media screen and (max-width: 640px) {
	h3.subttl {
		font-size: 2rem;
	}
}

h3.subttl::before,
h3.subttl::after {
	content: "";
	display: block;
	border-top: 1px solid #502c5e;
	flex-grow: 1;
}

h3.subttl::before {
	margin-right: 16px;
}

h3.subttl::after {
	margin-left: 16px;
}

.cont_two h3.ttl {
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	padding: 15px 0 15px 15px;
	line-height: 1.1;
	position: relative;
}

.cont_two h3.ttl span {
	display: block;
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
	color: #e8b5e0;
}

.cont_two h3.ttl a {
	position: absolute;
	right: 15px;
	top: 30px;
	font-size: 14px;
	display: block;
	border-radius: 100px;
	padding: 7px 15px 5px;
	color: #502c5e;
	background-color: #ebcef7;
}

.cont_two h3.ttl a:hover {
	background: #b566a8;
	color: #fff;
}

.cont_two h3.ttl a::after {
	content: "";
	display: inline-block;
	height: 11px;
	width: 11px;
	background: url(/img/common/arrow.svg) no-repeat;
	background-size: cover;
	position: relative;
	margin-left: 5px;
}

.cont_two h3.ttl a:hover::after {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

@media only screen and (max-width: 640px) {
	h2.ttl span {
		font-size: 4rem;
	}

	.cont_two h3.ttl span {
		font-size: 2.8rem;
	}

	.cont_two h3.ttl a {
		font-size: 1.1rem;
		top: 2rem;
		right: .5rem;
	}
}

/* キャスト一覧 */
.castlist_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

@media screen and (max-width: 640px) {
	.castlist_wrap {
		width: 100%;
	}
}

/* キャスト詳細 */
.prof_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

.prof_wrap .prof_box {
	background: #0c0116c2;
	padding: 20px;
	border-radius: 16px;
	border: 2px solid #966da6;
}

.prof_wrap .prof_box .photo_txt>dl {
	display: flex;
}

.prof_wrap .prof_box .photo_txt>dl>dt {
	min-width: 470px;
	width: 470px;
}

.prof_wrap .prof_box .photo_txt>dl>dd {
	margin-left: 30px;
	text-align: left;
	position: relative;
	flex-grow: 1;
}

.prof_wrap .prof_box .photo_txt>dl>dd>a.icon_x {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 4px;
	width: 42px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .ename {
	font-size: 42px;
	font-weight: bold;
	line-height: 1.3;
	font-family: "Noto Serif JP", serif;
}

.prof_wrap .prof_box .photo_txt>dl>dd .name {
	font-size: 20px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .name span {
	font-size: 28px;
	font-weight: bold;
	color: #e8b5e0;
}

.prof_wrap .prof_box .photo_txt>dl>dd .size {
	font-size: 16px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 2px dotted #bbb;
}

.prof_wrap .prof_box .photo_txt>dl>dd .course {
	font-size: 16px;
	margin-bottom: 12px;
}

.prof_wrap .prof_box .photo_txt>dl>dd ul.icon {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.prof_wrap .prof_box .photo_txt>dl>dd ul.icon li {
	line-height: 1;
	border: 1px solid #502c5e;
	border-radius: 2px;
	padding: 3px 8px 2px;
	margin: 0 8px 5px 0;
	white-space: nowrap;
	font-size: 12px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .course span:not(:last-child)::after {
	content: "/";
	margin: 0 8px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .subttl {
	font-size: 11px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .subttl span {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 500 !important;
	margin-right: 5px;
	color: #e8b5e0;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list {
	margin-bottom: 20px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl {
	display: flex;
	box-sizing: border-box;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl {
	border-top: 1px solid #bea6c8;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dt,
.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dd {
	padding: 12px 6px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dt {
	width: 30%;
	font-weight: bold;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dd {
	width: 70%;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl.option dd {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 6px;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl.option dd span {
	display: inline-block;
	padding: 0 10px;
	border-radius: 100px;
	height: 26px;
	line-height: 26px;
	color: #fff;
	background-color: #866195;
}

.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl.option dd span.ng {
	color: #b1a8b5;
	background-color: #88788e;
}

.prof_wrap .prof_box .photo_txt>dl>dd .message,
.prof_wrap .prof_box .photo_txt>dl>dd .comment {
	margin-bottom: 20px;
}

h3.prof_ttl {
	font-size: 13px;
	line-height: 1.1;
	margin-bottom: 10px;
}

h3.prof_ttl span {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 500 !important;
	display: block;
	color: #e8b5e0;
}

.prof_wrap .prof_box .sch_pager ul {
	display: flex;
	justify-content: space-between;
}

.prof_wrap .prof_box .sch_pager ul li a.unlink {
	pointer-events: none;
	color: #ccc;
}

.prof_wrap .prof_box .sch_box {
	display: flex;
	margin-bottom: 60px;
}

.prof_wrap .prof_box .sch_box dl {
	width: calc(100% / 7);
	text-align: center;
	font-size: 15px;
}

.prof_wrap .prof_box .sch_box dl dt,
.prof_wrap .prof_box .sch_box dl dd {
	padding: 10px 0;
}

.prof_wrap .prof_box .sch_box dl dt {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	background: #ebcef7;
	color: #502c5e;
}

.prof_wrap .prof_box .sch_box dl dd {
	border-bottom: 1px solid #ddd;
	font-weight: bold;
}

.prof_widget {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.prof_widget>div {
	width: 49%;
	margin-bottom: 20px;
}

.prof_review {}

.prof_review .review_wrap {
	text-align: left;
}

.prof_review .review_wrap dl {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #502c5e;
}

.prof_review .review_wrap dt {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.prof_review .review_wrap dt .ttl {
	font-size: 18px;
	font-weight: bold;
}

.prof_review .review_wrap dt .time {
	font-size: 12px;
}

.prof_review .review_wrap dd.user_name::after {
	content: "様";
	margin-left: 4px;
}

.prof_review .review_wrap dd.evaluation::before {
	content: "評価：";
}

.prof_review .review_wrap dd.evaluation .star {
	font-size: 21px;
}

.prof_box #acMenu dt span {
	display: inline-block;
	font-size: 17px;
	font-weight: bold;
	position: relative;
	line-height: 1;
	padding: 20px 0 18px;
	width: 300px;
	background: #ebcef7;
	color: #502c5e;
	letter-spacing: 1px;
}

.prof_box #acMenu dt.active {
	display: none;
}

.prof_box #acMenu dt.active span {
	border-radius: 26px 26px 0 0;
}

.prof_box #acMenu dt span::after {
	/*
content:"▼";
position:absolute;
right:32px;
*/
}

.prof_box #acMenu dt.active span::after {
	content: "▲";
}

.prof_box #acMenu>dd {
	display: none;
}

.prof_box #acMenu .form_caution {
	font-size: 12px;
	margin-top: 4px;
}

@media screen and (max-width: 640px) {
	.prof_wrap {
		width: 100%;
		padding: 0 10px;
	}

	.prof_wrap .prof_box {
		padding: 20px 10px;
	}

	.prof_wrap .prof_box .photo_txt dl {
		display: block;
	}

	.prof_wrap .prof_box .photo_txt dl dt {
		min-width: 100%;
		width: 100%;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd {
		margin-left: 0;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd ul.icon li {
		padding-top: 4px;
	}

	.prof_wrap .prof_box .sch_box {
		display: block;
	}

	.prof_wrap .prof_box .sch_box dl {
		width: 100%;
		display: flex;
	}

	.prof_wrap .prof_box .sch_box dl dt,
	.prof_wrap .prof_box .sch_box dl dd {
		width: 50%;
	}

	.prof_wrap .prof_box .sch_box dl:first-of-type dd {
		border-top: 1px solid #fff;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .subttl {
		font-size: 1.2rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .subttl span {
		font-size: 2.8rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .catch {
		font-size: 1.4rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .name {
		font-size: 1.6rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .name span {
		font-size: 2.4rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .size,
	.prof_wrap .prof_box .photo_txt>dl>dd .course {
		font-size: 1.4rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .size {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .course {
		margin-bottom: 1rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl {
		font-size: 1.3rem;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dt {
		min-width: 32%;
		width: 32%;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dt,
	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl dd {
		padding: 14px 6px 12px;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl.option dd span {
		white-space: nowrap;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .prof_list dl.option dd .ng {
		color: #ccc;
	}

	.prof_wrap .prof_box .photo_txt>dl>dd .message,
	.prof_wrap .prof_box .photo_txt>dl>dd .comment {
		font-size: 1.3rem;
	}


	.prof_widget {
		display: block;
	}

	.prof_widget>div {
		width: 100%;
	}

	.prof_widget>div:first-child {
		margin-bottom: 40px;
	}

	.prof_box #acMenu dt span {
		font-size: 1.6rem;
		padding: 1.6rem 0;
	}

	.prof_review .review_wrap dt {
		display: block;
		margin-bottom: .5rem;
	}

	.prof_review .review_wrap .user_name,
	.prof_review .review_wrap .evaluation {
		font-size: 1.3rem;
	}

	.prof_review .review_wrap .evaluation {
		margin-bottom: .5rem;
	}

	.prof_review .review_wrap .comment {
		font-size: 1.4rem;
	}
}

/* 出勤 */
.sch_wrap {
	width: 980px;
	margin: 0 auto 48px;
}

.sch_wrap .weekly_btn {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.sch_wrap .weekly_btn li {
	width: calc(100% / 7 - 10px);
}

.sch_wrap .weekly_btn li a {
	display: block;
	box-sizing: border-box;
	text-align: center;
	border: 2px solid #c3a7d0;
	background: #502c5e;
	border-radius: 4px;
	position: relative;
	padding: 10px 0 8px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #bea6c8;
}

.sch_wrap .weekly_btn li a:hover {
	background-color: #6a3380;
	color: #fff;
}

.sch_wrap .weekly_btn li a.active {
	border-color: #502c5e;
	color: #502c5e;
	background-color: #ebcef7;
}

.sch_wrap .weekly_btn li a.active::before,
.sch_wrap .weekly_btn li a.active::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 11px 0 11px;
	border-color: #ebcef7 transparent transparent transparent;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
}

.sch_wrap .weekly_btn li a.active::before {
	border-color: #502c5e transparent transparent transparent;
	bottom: -14px;
}

.sch_wrap .weekly_btn li a.active::after {
	bottom: -11px;
}

.sch_wrap h3.subttl {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sch_wrap h3.subttl::before,
.sch_wrap h3.subttl::after {
	content: "";
	width: 40px;
	display: block;
	border-top: 2px solid #502c5e;
}

.sch_wrap h3.subttl::before {
	margin-right: 15px;
}

.sch_wrap h3.subttl::after {
	margin-left: 15px;
}

.sch_wrap .weekly_btn li span {
	display: block;
	font-size: 14px;
}

@media screen and (max-width: 640px) {
	.sch_wrap {
		width: 100%;
	}

	.sch_wrap .weekly_btn {
		overflow-y: scroll;
		padding-left: 1.2rem;
		padding-bottom: 16px;
		margin-bottom: 16px;
	}

	.sch_wrap .weekly_btn li {
		min-width: 80px;
		margin-right: 1rem;
	}

	.sch_wrap .weekly_btn li a.active::before,
	.sch_wrap .weekly_btn li a.active::after {
		border-width: 10px 8px 0 8px;
	}

	.sch_wrap .weekly_btn li a.active::before {
		border-color: #464646 transparent transparent transparent;
		bottom: -12px;
	}

	.sch_wrap .weekly_btn li a.active::after {
		bottom: -9px;
	}

	.sch_wrap h3.subttl {
		font-size: 1.8rem;
	}

	.sch_wrap h3.subttl::before,
	.sch_wrap h3.subttl::after {
		width: 30px;
		flex-grow: 0;
	}

	.sch_wrap h3.subttl::before {
		margin-right: 16px;
	}

	.sch_wrap h3.subttl::after {
		margin-left: 16px;
	}
}

/* キャスト一覧（ソート／絞り込み） */
.lady_search {
	margin-bottom: 16px;
}

.lady_search .lady_search_sort ul,
.lady_search .lady_search_narrow ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.lady_search .lady_search_sort ul li {
	display: flex;
	font-weight: bold;
	font-size: 15px;
}

.lady_search .lady_search_sort ul li:not(:last-child)::after {
	content: "│";
	margin: 0 4px;
	color: rgba(0, 0, 0, .3);
}

.lady_search .lady_search_sort ul li:first-child::after {
	content: "：";
	color: #fff;
}

.lady_search .lady_search_sort .sortbtn {
	display: inline-flex;
	margin-left: 6px;
}

.lady_search .lady_search_sort .sortbtn a {
	color: #c5a4d2;
}

.lady_search .lady_search_sort a:hover {
	cursor: pointer;
}

.lady_search .lady_search_sort .sortbtn a:last-child {
	margin-left: 3px;
}

.lady_search .lady_search_narrow {
	margin-top: 8px;
}

@media screen and (min-width: 640px) {
	.lady_search .lady_search_narrow li:not(:last-child) {
		margin-right: 4px;
	}
}

.lady_search .lady_search_narrow li a {
	display: block;
	padding: 0 12px;
	height: 28px;
	line-height: 27px;
	border: 1px solid #bbb;
	border-radius: 100px;
	background: #fff;
	color: #bbb;
}

.lady_search .lady_search_narrow li a:hover {
	cursor: pointer;
	color: #444;
	border-color: #444;
}

.lady_search .lady_search_narrow li a.programs-filter-btn-active {
	background: #444;
	color: #fff;
}

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

	.lady_search .lady_search_sort,
	.lady_search .lady_search_narrow {
		padding: 0 1rem;
	}

	.lady_search .lady_search_sort ul li {
		font-size: 1.3rem;
	}

	.lady_search .lady_search_narrow li {
		width: calc(100% / 4 - 4px);
		margin: 0 4px 5px 0;
	}

	.lady_search .lady_search_narrow ul li:nth-child(4n) {
		margin-right: 0;
	}

	.lady_search .lady_search_narrow li a {
		font-size: 1.2rem;
		font-weight: bold;
		white-space: nowrap;
	}
}

/*
.lady_search .lady_search_sort ul li::after,
.lady_search .lady_search_narrow ul li::after {
content: "｜";
margin: 0 4px;
}
.lady_search .lady_search_sort ul li:last-child::after,
.lady_search .lady_search_narrow ul li:last-child::after {
content: "";
margin: 0;
}
*/

/* 一覧共通 */
.lady_list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 12px;
}

.lady_list dl {
	width: calc(100% / 4 - 9px);
	/* margin:0 12px 20px 0; */
	padding: 10px;
	background: #0c0116c2;
	border-radius: 10px;
	border: 2px solid #966da6;
}

/*
.lady_list dl:nth-of-type(4n){
margin-right:0;
}
#castlist .lady_list{
display: grid;
grid-template-columns: repeat(4, minmax(200px, 1fr));
gap: 24px 12px;
}
#castlist .lady_list dl{
width : 100%;
margin:0;
}
*/
.lady_list dl dt {
	margin-bottom: 8px;
	overflow: hidden;
	border-radius: 4px;
	position: relative;
}

.lady_list dl.overlay dt {
	background: #000;
}

.lady_list dl.overlay dt img {
	filter: opacity(60%);
	/*
 filter: brightness(85%) grayscale(100%);
*/
}

/*
.lady_list dl.overlay dt::after{
content: "";
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .5);
position: absolute;
top: 0;
left: 0;
z-index: 5;
}
*/
.lady_list dl dt img {
	transition: transform .4s ease;
}

.lady_list dl dt .status {
	position: absolute;
	bottom: 8px;
	right: 0;
	left: 0;
	width: 93%;
	margin: auto;
	background: rgba(255, 255, 255, .8);
	border-radius: 2px;
	line-height: 1;
	font-size: 15px;
	font-weight: bold;
	padding: 6px 0 3px;
}

.lady_list dl dt .icon_x {
	position: absolute;
	top: 5px;
	right: 5px;
	display: block;
	width: 32px;
	height: 32px;
	background: url(/img/common/icon_x.png) no-repeat;
	background-size: auto;
	background-size: 32px auto;
	z-index: 99;
}

.lady_list dl dt .icon_new {
	font-family: "Noto Serif JP", serif;
	font-size: 11px;
	font-weight: 500;
	position: absolute;
	top: 8px;
	left: 8px;
	line-height: 1.1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 2px;
	background: #ebcef7;
	color: #502c5e;
}

.lady_list dl:hover dt img {
	transform: scale(1.1);
}

.lady_list dl dd {
	text-align: left;
	line-height: 1.3;
}

.lady_list dl dd.day {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 4px;
}

.lady_list dl dd.room {
	text-align: center;
	font-size: 15px;
	margin-bottom: 5px;
	display: flex;
	align-items: center;
}

.lady_list dl dd.room span {
	margin: 0 10px;
}

.lady_list dl dd.room::before,
.lady_list dl dd.room::after {
	content: "";
	flex-grow: 1;
	border-top: 1px solid #502c5e;
	position: relative;
	top: -1px;
}

.lady_list dl dd .catch {
	margin-bottom: 3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.lady_list dl dd .name span {
	font-weight: bold;
	font-size: 16px;
}

.lady_list dl dd .size {
	font-size: 13px;
	color: #917c99;
	margin-bottom: 5px;
}

.lady_list dl dd.sch {
	border: 2px solid #ebcef7;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	display: table;
	width: 100%;
}

.lady_list dl dd.sch span {
	display: table-cell;
	text-align: center;
}

.lady_list dl dd.sch .schtxt {
	width: 60px;
	background: #ebcef7;
	color: #502c5e;
	font-size: 13px;
	padding: 7px 0;
}

/*
.lady_list dl dd.sch::before{
content:"出勤";
display:inline-block;
padding:7px 15px 5px;
background:#502c5e;
color:#fff;
font-size:13px;
margin-right:10px;
}
*/
@media screen and (max-width: 640px) {
	.lady_list {
		padding: 0 10px;
		gap: 1rem 10px;
	}

	.lady_list dl {
		width: calc(100% / 2 - 5px);
		/*
margin:0 10px 1rem 0;
*/
	}

	/*
.lady_list dl:nth-of-type(2n){
margin-right:0;
}
#castlist .lady_list{
display: grid;
grid-template-columns: repeat(2, minmax(100px, 1fr));
gap: 1.6rem 10px;
}
#castlist .lady_list dl{
width : 100%;
margin:0;
}
*/
	.lady_list dl dt .status {
		font-size: 1.3rem;
		padding: .4rem;
	}

	.lady_list dl dt .icon_new {
		font-size: 1rem;
		width: 32px;
		height: 32px;
	}

	.lady_list dl dd.day {
		font-size: 1.6rem;
	}

	.lady_list dl dd .catch {
		font-size: 1.3rem;
	}

	.lady_list dl dd .size {
		font-size: 1.1rem;
	}

	.lady_list dl dd.room span {
		font-size: 1.3rem;
	}

	.lady_list dl dd.sch {
		font-size: .9rem;
	}

	.lady_list dl dd.sch .schtxt {
		padding: 7px 0 6px;
		width: 3.6rem;
	}

	.lady_list dl dd.sch .time {
		font-size: 1.4rem;
	}
}

/* レビュー */
#review .review__wrap {
	width: 980px;
	margin: 0 auto 64px;
}

.cont_wrap .review_box {
	border-radius: 16px;
	background: #fff;
	text-align: left;
}

.cont_wrap .review_box .review_wrap {
	padding: 0 10px 16px 16px;
}

.cont_wrap .review_box .review_list {
	overflow-y: scroll;
	height: 640px;
	scrollbar-width: thin;
	padding-right: 10px;
}

.cont_wrap .review_box .review_list>div {
	display: flex;
}

.cont_wrap .review_box .review_list>div:not(:last-child) {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid #ddd;
}

.cont_wrap .review_box .review_list>div .img {
	min-width: 140px;
	width: 140px;
	margin-right: 20px;
}

.cont_wrap .review_box .review_list>div dl {
	flex-grow: 1;
}

.cont_wrap .review_box .review_list>div dl dt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 2px dotted #ddd;
}

.cont_wrap .review_box .review_list>div dl dt .name span {
	font-weight: bold;
	font-size: 16px;
}

.cont_wrap .review_box .review_list>div dl dt .time {
	font-size: 12px;
}

.cont_wrap .review_box .review_list>div dl .ttl {
	font-size: 18px;
	font-weight: bold;
}

.cont_wrap .review_box .review_list>div dl .user_name::after {
	content: "様";
	margin-left: 4px;
}

.cont_wrap .review_box .review_list>div dl .evaluation::before {
	content: "評価：";
}

.cont_wrap .review_box .review_list>div dl .evaluation span {
	font-size: 21px;
}

@media screen and (max-width: 640px) {
	#review .review__wrap {
		width: 100%;
		box-sizing: border-box;
		padding: 0 1.2rem;
	}

	.cont_wrap .review_box .review_list>div .img {
		min-width: 9rem;
		width: 9rem;
	}

	.cont_wrap .review_box .review_list>div dl dt {
		display: block;
	}

	.cont_wrap .review_box .review_list>div dl dt .name,
	.cont_wrap .review_box .review_list>div dl .user_name {
		font-size: 1.3rem;
	}

	.cont_wrap .review_box .review_list>div dl .evaluation,
	.cont_wrap .review_box .review_list>div dl .comment {
		font-size: 1.4rem;
	}
}

/* システム */
.system_wrap {
	width: 980px;
	margin: 0 auto 30px;
}

.system_wrap .system_box {
	border-radius: 16px;
	background: #0c0116c2;
	padding: 20px;
	min-height: 400px;
	margin-bottom: 30px;
	border: 2px solid #966da6;
}

.system_box h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 1.2;
}

.system_box h3 span {
	font-size: 16px;
	font-family: "Noto Serif JP", serif;
	display: block;
}

.system_table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 40px;
}

.system_table th,
.system_table td {
	font-size: 18px;
	padding: 10px 0;
}

.system_table tr {
	border-bottom: 1px solid #ddd;
}

.system_table tr:nth-child(odd) {
	background: #efefef;
}

.system_table tr:first-of-type {
	background: #502c5e;
	color: #fff;
}

.play_table {
	width: 100%;
	table-layout: fixed;
	font-size: 18px;
	margin-bottom: 40px;
}

.system_box dl {
	text-align: left;
	padding: 20px 0 30px 0;
	border-top: 1px solid #966da6;
}

.system_box dl dt {
	font-size: 18px;
	font-weight: bold;
}

.system_wrap .transportation_expenses dl div {
	display: flex;
	padding: 10px 0;
	border-bottom: 1px solid #76657d;
}

.system_box dl dt {
	font-size: 16px;
	font-weight: bold;
}

.system_wrap .system_box .transportation_expenses dd {
	padding-left: 20px;
}

@media screen and (max-width: 640px) {
	.system_wrap {
		width: 100%;
		padding: 0 10px;
	}

	.system_wrap .system_box {
		padding: 20px 10px;
	}

	.system_box h3 span {
		font-size: 1.3rem;
	}

	.system_table th {
		font-size: 1.3rem;
	}

	.system_table td {
		font-size: 1.5rem;
	}

	.play_table td {
		font-size: 1.3rem;
	}

	.system_box dl.system_caution dt {
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.system_box dl.system_caution dd {
		font-size: 1.3rem;
	}
}

.foot_txt {
	height: 400px;
	background: url(/img/common/bg_footer.png) center center no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.foot_txt::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	filter: brightness(40%);
}

.foot_txt .box {
	position: relative;
	z-index: 2;
	color: #fff;
	display: inline-block;
	border: 3px solid #fff;
	padding: 40px;
}

.foot_txt .box a {
	display: block;
	width: 240px;
	padding: 5px 0;
	color: #502c5e;
	background: #fff;
	margin: 10px auto 0;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.foot_txt .box {
		padding: 20px 0;
		width: 94%;
		font-size: 1.2rem;
		font-weight: bold;
	}
}

/* ニュース */
.news_wrap {
	width: 980px;
	margin: auto;
}

.newslist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.newslist>dl {
	width: calc(100% / 2 - 12px);
	padding: 15px;
	display: flex;
	background: #000 url(/img/common/category_back.png) top center no-repeat;
	border-radius: 16px;
	margin: 0 24px 24px 0;
	border: 2px solid #966da6;
}

.newslist>dl:nth-child(2n) {
	margin-right: 0;
}

.newslist>dl dt img {
	max-width: 140px;
	border-radius: 8px;
	overflow: hidden;
	margin-right: 12px;
}

.newslist>dl dd {
	text-align: left;
}

.newslist>dl dd .ttl {
	font-size: 18px;
	font-weight: bold;
}

.newslist>dl dd .time {
	font-size: 12px;
	color: #917c99;
	margin-bottom: 8px;
}

@media only screen and (max-width: 640px) {
	.news_wrap {
		width: 100%;
	}

	.newslist {
		display: block;
	}

	.newslist>dl {
		width: 100%;
	}

	.newslist>dl dt img {
		width: 80px;
	}

	.newslist>dl dd .comment {
		font-size: 1.3rem;
	}
}

/* イベント */
.event_wrap {
	width: 980px;
	margin: auto;
}

.eventlist {
	margin-bottom: 48px;
}

.eventlist .eventbox {
	border-radius: 16px;
	background: #000 url(/img/common/category_back.png) top center no-repeat;
	padding: 20px;
	min-height: 400px;
	margin-bottom: 30px;
	border: 2px solid #966da6;
}

.eventlist dl:last-child {
	margin-bottom: 0;
}

.eventlist .eventbox dt {
	margin-bottom: 16px;
}

.eventlist .eventbox dd {
	text-align: left;
}

.eventlist .eventbox dd .ttl {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 8px;
}

.eventlist .eventbox dd .txt {
	font-size: 15px;
}

@media only screen and (max-width: 640px) {
	.event_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}

	.eventlist .eventbox dd .ttl {
		font-size: 1.8rem;
	}

	.eventlist .eventbox dd .txt {
		font-size: 1.3rem;
	}
}

/* ホテルマップ */
.hotel_wrap {
	width: 980px;
	margin: auto;
}

.hotel_wrap .hotelmap {
	margin-bottom: 16px;
}

.hotel_wrap .hotel_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.hotel_wrap .hotel_list dl {
	width: calc(100% / 2 - 8px);
	text-align: left;
	background: #fff;
	border-radius: 8px;
	padding: 10px;
	margin: 0 16px 16px 0;
	display: flex;
}

.hotel_wrap .hotel_list dl:nth-child(2n) {
	margin-right: 0;
}

.hotel_wrap .hotel_list dl dt {
	min-width: 32px;
	margin-right: 16px;
}

.hotel_wrap .hotel_list dl dt span {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 100px;
	background: #502c5e;
	color: #fff;
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 500;
}

.hotel_wrap .hotel_list dl .hotel_name {
	font-size: 16px;
	font-weight: bold;
}

.hotel_wrap .hotel_list dl .hotel_name a::after {
	font-family: 'Material Icons Outlined';
	content: '\e89e';
	font-weight: normal;
	margin-left: 5px;
	position: relative;
	top: 2px;
}

.hotel_wrap .hotel_list dl .add,
.hotel_wrap .hotel_list dl .tel,
.hotel_wrap .hotel_list dl .price,
.hotel_wrap .hotel_list dl .remarks {
	color: #917c99;
	display: flex;
}

.hotel_wrap .hotel_list dl .add::before {
	content: "住所：";
}

.hotel_wrap .hotel_list dl .tel::before {
	content: "電話：";
}

.hotel_wrap .hotel_list dl .price::before {
	content: "料金：";
}

.hotel_wrap .hotel_list dl .remarks::before {
	content: "備考：";
}

@media only screen and (max-width: 640px) {
	.hotel_wrap {
		width: 100%;
		box-sizing: border-box;
		padding: 0 1.2rem;
	}

	.hotel_wrap h3.subttl {
		font-size: 1.8rem;
	}

	.hotel_wrap .hotel_list {
		display: block;
	}

	.hotel_wrap .hotel_list dl {
		width: 100%;
	}

	.hotel_wrap .hotel_list dl dd {
		font-size: 1.3rem;
	}

	.hotel_wrap .hotel_list dl dt span {
		width: 32px;
		height: 32px;
		font-size: 1.6rem;
		line-height: 32px;
	}
}

/* ホテルリスト */
.hotellist_wrap {
	width: 980px;
	margin: auto;
}

.hotel_category_link ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.hotel_category_link ul li {
	width: calc(100% / 4 - 9px);
	text-align: left;
	margin: 0 12px 12px 0;
}

.hotel_category_link ul li a {
	display: flex;
	align-items: center;
	padding: 11px 10px 10px;
	background: #fff;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1;
}

.hotel_category_link ul li a:hover {
	background: #502c5e;
	color: #fff;
}

.hotel_category_link ul li a::before {
	font-family: 'Material Icons';
	content: '\f181';
	font-size: 22px;
	margin-right: 5px;
	position: relative;
	top: -1px;
}

.hotellist_wrap .hotellist_box {
	margin-bottom: 32px;
}

.hotellist_wrap .hotellist {
	display: flex;
	flex-wrap: wrap;
}

.hotellist_wrap .hotellist dl {
	padding: 20px;
	background: #fff;
	border-radius: 12px;
	text-align: left;
	width: calc(100% / 2 - 8px);
	margin-bottom: 24px;
}

.hotellist_wrap .hotellist dl:not(:nth-of-type(2n)) {
	margin-right: 16px;
}

.hotellist_wrap .hotellist dl dt {
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 3px;
}

.hotellist_wrap .hotellist dd {
	font-size: 13px;
}

.hotellist_wrap .hotellist .tel a {
	color: #469ef7;
}

.hotellist_wrap .hotellist dd.tel::before {
	content: "TEL.";
}

.hotellist_wrap .hotellist .price {
	display: flex;
}

.hotellist_wrap .hotellist .price p span {
	font-weight: bold;
}

.hotellist_wrap .hotellist .price p:nth-of-type(2)::before {
	content: "／";
	margin: 0 3px;
}

@media screen and (min-width: 640px) {
	.hotellist_wrap .hotellist .tel a {
		pointer-events: none;
		color: #502c5e;
	}

	.hotel_category_link ul li:nth-of-type(4n) {
		margin-right: 0;
	}
}

@media screen and (max-width: 640px) {
	.hotellist_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}

	.hotel_category_link ul li {
		width: calc(100% / 2 - 6px);
	}

	.hotel_category_link ul li:nth-of-type(2n) {
		margin-right: 0;
	}

	.hotel_category_link ul li a {
		font-size: 1.4rem;
	}

	.hotellist_wrap .hotellist {
		display: block;
	}

	.hotellist_wrap .hotellist dl {
		width: 100%;
		margin: 0 0 1.6rem !important;
		border-radius: 8px;
		padding: 1.2rem;
	}
}


/* Q&A */
.qa_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

.qa_wrap .qa_list dl {
	padding: 24px;
	border-radius: 8px;
	background: #fff;
	margin-bottom: 16px;
	text-align: left;
}

.qa_wrap .qa_list dl dt {
	font-size: 17px;
	font-weight: bold;
	padding-bottom: 8px;
	margin-bottom: 12px;
	border-bottom: 1px dotted #917c99;
	display: flex;
	align-items: center;
}

.qa_wrap .qa_list dl dt::before {
	content: "Q";
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	display: block;
	width: 32px;
	height: 32px;
	line-height: 32px;
	background: #502c5e;
	color: #fff;
	border-radius: 100px;
	text-align: center;
	font-size: 20px;
	margin-right: 8px;
}

.qa_wrap .qa_list dl dd {}

@media only screen and (max-width: 640px) {
	.qa_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}

	.qa_wrap .qa_list dl {
		padding: 1.6rem;
	}

	.qa_wrap .qa_list dl dt {
		font-size: 1.6rem;
		line-height: 1.5;
	}

	.qa_wrap .qa_list dl dt::before {
		min-width: 32px;
	}

	.qa_wrap .qa_list dl dd {
		font-size: 1.3rem;
	}
}

/* ランキング */
.ranking_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

.ranking_wrap .ranking_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.ranking_wrap .ranking_list dl {
	width: calc(100% / 3 - 8px);
	margin: 0 12px 24px 0;
	padding: 10px;
	border-radius: 10px;
	background: #000 url(/img/common/category_back.png) top center no-repeat;
	box-sizing: border-box;
	position: relative;
	border: 2px solid #966da6;
}

.ranking_wrap .ranking_list dl:nth-child(3),
.ranking_wrap .ranking_list dl:nth-child(6),
.ranking_wrap .ranking_list dl:nth-child(10) {
	margin-right: 0;
}

.ranking_wrap .ranking_list dl:nth-child(n+7) {
	width: calc(100% / 4 - 9px);
}

.ranking_wrap .ranking_list dl dt {
	margin-bottom: 8px;
	overflow: hidden;
	border-radius: 4px;
	position: relative;
}

.ranking_wrap .ranking_list dl dt img {
	transition: transform .4s ease;
}

.ranking_wrap .ranking_list dl:hover dt img {
	transform: scale(1.1);
}

.ranking_wrap .ranking_list dl .name span {
	font-size: 16px;
	font-weight: bold;
}

.ranking_wrap .ranking_list dl .size {
	font-size: 12px;
	color: #917c99;
}

.ranking_wrap .ranking_list dl .rank {
	position: absolute;
	top: 0;
	left: 5px;
	display: block;
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 24px;
	background: linear-gradient(to bottom, #dfce8d, #938245);
}

@media only screen and (max-width: 640px) {
	.ranking_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}

	.ranking_wrap h3.subttl {
		font-size: 1.8rem;
	}

	.ranking_wrap .ranking_list dl {
		width: calc(100% / 2 - 6px);
		margin-right: 0;
	}

	.ranking_wrap .ranking_list dl:first-of-type {
		width: 100%;
	}

	.ranking_wrap .ranking_list dl:nth-of-type(2n) {
		margin-right: 12px;
	}

	.ranking_wrap .ranking_list dl .rank {
		width: 32px;
		height: 32px;
		line-height: 32px;
		font-size: 1.8rem;
		left: 0;
	}
}

/* プレイ */
.play_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

@media only screen and (max-width: 640px) {
	.play_wrap {
		width: 100%;
		padding: 0 1.2rem
	}
}

/* コンセプト */
.concept_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

@media only screen and (max-width: 640px) {
	.concept_wrap {
		width: 100%;
		padding: 0 1.2rem
	}
}

/* 求人 */
.recruit_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

.recruit_flex {
	display: flex;
	justify-content: center;
	position: relative;
}

.recruit_box {
	width: 630px;
	padding: 15px 15px 30px;
	border-radius: 10px;
	background: #0c0116c2;
	border: 2px solid #966da6;
}

.recruit_box figure {
	margin-bottom: 24px;
}

.recruit_box .recruit_ttl {
	text-align: left;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 16px;
}

.recruit_box .recruit_txt {
	font-size: 14px;
	margin-bottom: 32px;
}

.recruit_box .recruit_subttl {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 24px;
	text-align: left;
	position: relative;
	padding: 8px 0 5px;
}

.recruit_box .recruit_subttl::before {
	font-family: "FontAwesome";
	content: "\f0f6";
	display: inline-block;
	font-size: 24px;
	margin-right: 8px;
	position: relative;
	top: 1px;
}

dl.treatment>div {
	display: flex;
	text-align: left;
	gap: 0 8px;
}

dl.treatment>div:not(:last-child) {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ddd;
}

dl.treatment>div dt {
	min-width: calc(25% - 12px);
	width: calc(25% - 12px);
}

dl.treatment>div dt span {
	display: block;
	padding: 6px 18px 4px;
	background: #966da6;
	color: #fff;
	border-radius: 3px;
	line-height: 1.3;
	text-align: left;
}

dl.treatment>div dd {
	padding-top: 5px;
	flex-grow: 1;
}

.recruit_right {
	width: 320px;
}

.recruit_right .form_ttl {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 12px;
	color: #502c5e;
}

.recruit_flex .form_wrap {
	padding: 15px;
	border-radius: 10px;
	position: sticky;
	top: 15px;
}

.recruit_right .oubobox {
	margin-bottom: 20px;
}

.recruit_right .oubobox li {
	margin-bottom: 8px;
}

.recruit_right .oubobox a {
	font-size: 16px;
	font-weight: bold;
	padding: 12px 0 9px;
	display: block;
	border-radius: 100px;
	line-height: 1;
	background-color: #502c5e;
}

.recruit_right .oubobox a::before {
	font-family: "FontAwesome";
	margin-right: 8px;
	display: inline-block;
}

.recruit_right .oubobox .tel a::before {
	content: "\f095";
}

.recruit_right .oubobox .line a::before {
	content: "\f075";
	transform: scale(-1, 1);
	position: relative;
	top: -1px;
}

.recruit_right .oubobox .line a {
	background: #56c459;
	border-color: #56c459;
	color: #fff;
}

.recruit_right dl {
	text-align: left;
}

.recruit_right dl dt {
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 3px;
	color: #502c5e;
}

.recruit_right dl dt::after {
	color: #fff;
	display: inline-block;
	padding: 0 6px;
	border-radius: 1px;
	font-size: 11px;
	font-weight: normal;
	height: 16px;
	line-height: 18px;
	margin-left: 8px;
	position: relative;
	top: -1px;
}

.recruit_right dl dt.required::after {
	background: #d0483e;
	content: "必須";
}

.recruit_right dl dt.nini::after {
	background: #bbb;
	content: "任意";
}

.recruit_right dl dd {
	margin-bottom: 16px;
}

.recruit_right .oubo_caution {
	font-size: 12px;
	margin-top: 6px;
	color: #7c6b84;
}

.recruit_right dl dd .radio_txt {
	white-space: nowrap;
	width: 36%;
}

.recruit_right dl dd .textarea_01 {
	min-height: 160px;
}

.recruit_right .form_btn {
	margin: 20px auto;
}

.recruit_right .form_btn .btn {
	font-size: 18px;
	padding: 16px 0 13px;
	min-width: 100%;
	background-color: #502c5e;
	color: #fff;
}

@media only screen and (max-width: 640px) {
	.recruit_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}

	.recruit_flex {
		flex-wrap: wrap;
	}

	.recruit_box {
		width: 100%;
		margin-bottom: 3.2rem;
	}

	.recruit_right {
		width: 100%;
	}

	dl.treatment>div {
		font-size: 1.4rem;
		display: block;
	}

	dl.treatment>div dt {
		margin-bottom: .6rem;
		width: 100%;
		min-width: 100%;
	}

	dl.treatment>div dt span {
		font-size: 1.3rem;
		padding: 6px 10px 4px;
	}

	dl.treatment>div dd {
		padding-top: 0;
	}
}

/* 求人メール送信後モーダル */
.modal {
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	display: none;
}

.modal dl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 32px;
	border-radius: 5px;
	background: #fff;
	color: #502c5e;
}

.modal dl dt {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 16px;
	white-space: nowrap;
}

.modal dl dd {
	white-space: nowrap;
}

@media only screen and (max-width: 640px) {
	.modal dl dt {
		font-size: 1.8rem;
	}

	.modal dl dd {
		font-size: 1.4rem;
	}
}

/* アンケート */
.enquete_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

/* お問い合わせ */
.contact_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

/* ご予約 */
.reserve_wrap {
	width: 980px;
	margin: 0 auto 32px;
}

@media only screen and (max-width: 640px) {

	.enquete_wrap,
	.contact_wrap,
	.reserve_wrap {
		width: 100%;
		padding: 0 1.2rem;
	}
}

/* フォーム関係 */
.form_wrap {
	padding: 24px;
	background: #000 url(/img/common/category_back2.png) top center no-repeat;
	border-radius: 16px;
	color: #502c5e;
}

.form_wrap>dl {
	display: flex;
	align-items: center;
	text-align: left;
	border-bottom: 1px solid #bea6c8;
}

.form_wrap>dl:last-of-type {
	border: none;
}

.form_wrap>dl dt {
	width: 25%;
	font-weight: bold;
	padding: 20px 0;
	font-size: 15px;
	position: relative;
	color: #502c5e;
}

.form_wrap>dl dt.required::after {
	content: "必須";
	background: #d0483e;
	color: #fff;
	display: inline-block;
	padding: 0 6px;
	border-radius: 1px;
	font-size: 12px;
	font-weight: normal;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 20px;
	line-height: 21px;
}

.form_wrap>dl dt.nini::after {
	content: "任意";
	background: #a498a8;
	color: #fff;
	display: inline-block;
	padding: 0 6px;
	border-radius: 1px;
	font-size: 12px;
	font-weight: normal;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 20px;
	line-height: 21px;
}

.form_wrap>dl dd {
	width: 75%;
	padding: 20px 0 20px 16px;
}

.form_wrap>dl dd .custom_txt {
	margin: 0 10px;
}

/* Firefoxのボタンの点線を消す */
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
	border: 0px;
}

input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
button,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	font-size: 15px;
}

input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
textarea {
	padding: 7px;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 2px;
	box-sizing: border-box;
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: content-box;
}

select::-ms-expand {
	display: none;
}

.input_01 {
	width: 100%;
}

.textarea_01 {
	width: 100%;
	min-height: 300px;
}

.form_btn {
	margin: 32px auto;
}

.form_btn .btn {
	background: #502c5e;
	font-size: 22px;
	font-weight: bold;
	border-radius: 100px;
	padding: 19px 0 16px;
	color: #fff;
	letter-spacing: .2rem;
	min-width: 400px;
	line-height: 1;
	cursor: pointer;
	border: none;
}

/* プルダウン */
.custom {
	overflow: hidden;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	position: relative;
	border-radius: 1px;
	border: 1px solid #ccc;
	/* box-shadow: 0 2px 0 #AAA; */
	background-color: white;
	vertical-align: bottom;
}

.custom>select {
	width: 130%;
	padding: 0.6em 5em 0.6em 0.6em;
	font-size: 15px;
	color: #757575;
}

.custom:after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 2.4em;
	display: block;
	content: "";
	background: url(/img/common/select.png) center no-repeat;
	background-size: 10px 10px;
	/*
  border-left:1px solid #dedede;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGFBMVEUAAAAZJCYWISIYIyQYIiUWIiIYIyQYIiXh0rToAAAACHRSTlMA/hTRqiinvwFkb0sAAABCSURBVHjajchBDsAgDAPBOJDw/x+XVN0icQGfPGs3i+2GEqeiLCXWLENzvdzrDfP2ls/NjfKbgimYglfBq2Dm+LwHguMA235EdKYAAAAASUVORK5CYII=") center no-repeat;
 */
	pointer-events: none;
}

/* ラジオボタン */
.radio {
	position: absolute;
	opacity: 0;
	z-index: -1;
}

.radio+.radio-icon:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(/img/common/radio.png) no-repeat;
	background-size: 20px 20px;
	position: relative;
	top: 5px;
}

.radio:checked+.radio-icon:before {
	background: url(/img/common/radio_on.png) no-repeat;
	background-size: 20px 20px;
}

.radio_txt {
	display: inline-block;
	line-height: 2;
	padding-right: 16px;
	width: calc(100% / 4 - 8px);
}

/* チェックボックス */
.checkbox {
	display: none;
}

.checkbox+.checkbox-icon:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(/img/common/checkbox.png) no-repeat;
	background-size: 20px 20px;
	position: relative;
	top: 5px;
	margin-right: 5px;
}

.checkbox:checked+.checkbox-icon:before {
	background: url(/img/common/checkbox_on.png) no-repeat;
	background-size: 20px 20px;
	margin-right: 5px;
}

.checkbox-icon {
	white-space: nowrap;
}

.checkbox_txt {
	display: inline-block;
	line-height: 2;
	padding-right: 16px;
	width: calc(100% / 4 - 8px);
}

@media only screen and (max-width: 640px) {
	.form_wrap {
		padding: 2rem 1.6rem;
	}

	.form_wrap>dl {
		display: block;
		padding-bottom: 2.2rem;
		margin-bottom: 2rem;
		border-bottom: 1px dotted #bbb;
	}

	.form_wrap>dl dt {
		width: 100%;
		padding: 0;
		margin-bottom: .7rem;
		font-size: 1.6rem;
	}

	.form_wrap>dl dt.required::after {
		font-size: 1rem;
		font-weight: bold;
		position: relative;
		height: 16px;
		line-height: 17px;
		margin-left: 7px;
		top: -2px;
	}

	.form_wrap>dl dd {
		width: 100%;
		padding: 0;
		font-size: 1.4rem;
	}

	.checkbox_txt,
	.radio_txt {
		width: 100%;
		padding-right: 0;
	}

	.form_btn {
		margin-bottom: 0;
	}

	.form_btn .btn {
		min-width: 100%;
		font-size: 2rem;
	}
}

/* SPフッターボタン */
.footer_btn {
	display: none;
}

@media screen and (max-width: 640px) {
	.footer_btn {
		display: block;
		padding: .5rem 0;
		position: sticky;
		bottom: 0;
		background: rgba(240, 226, 247, 0.8);
		z-index: 99;
	}

	.footer_btn p a {
		display: flex;
		justify-content: center;
		width: 80%;
		margin: 0 auto 4px;
		background: #502c5e;
		font-family: "Noto Serif JP", serif;
		font-size: 2.4rem;
		font-weight: 700;
		letter-spacing: .2rem;
		color: #fff;
		border-radius: 100px;
		padding: 10px 0;
		line-height: 1;
	}

	.footer_btn p a::before {
		font-family: 'Material Icons';
		content: '\e0cd';
		margin-right: 3px;
		position: relative;
		top: 1px;
	}

	.footer_btn span {
		font-size: 1.4rem;
		font-weight: bold;
	}

	.footer_btn ul {
		display: flex;
	}

	.footer_btn ul li {
		width: calc(100% / 5);
	}

	.footer_btn ul li a {
		display: block;
		line-height: 1.2;
		padding: .5rem 0;
		font-weight: bold;
		font-size: 1.1rem;
		color: #502c5e;
		text-shadow: 1px 1px 1px #fff;
	}

	.footer_btn ul li a::before {
		font-family: 'Material Icons';
		content: '\e5d2';
		display: block;
		font-size: 2.4rem;
	}

	.footer_btn ul li.cast a::before {
		content: '\eb4c';
	}

	.footer_btn ul li.system a::before {
		content: '\f8ee';
	}

	.footer_btn ul li.tel a::before {
		content: '\e0cd';
	}

	.footer_btn ul li.line a::before {
		content: '\e0c8';
	}
}

/* フッター */
#footer {
	padding: 50px;
	border-top: none;
}

#footer .logo img {
	width: 200px;
	height: auto;
	margin-bottom: 20px;
}

#footer .footnav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto 20px;
	max-width: 800px;
	text-shadow: 2px 2px 5px #480e60;
}

#footer .footnav li:not(:last-child)::after {
	content: "｜";
}

#footer p {
	font-size: 13px;
	color: #ffffff;
}

@media screen and (max-width: 640px) {
	#footer {
		padding: 50px 0;
	}

	#footer .logo img {
		width: 262px;
	}

	#footer .footnav {
		font-size: 1.1rem;
		padding: 0 1.2rem;
	}
}

/* 認証ページ */
.index_wrap {}

.index_wrap h1 {
	font-size: 13px;
	padding: 10px 0;
	margin-bottom: 120px;
}

.index_wrap .logo img {
	width: 500px;
	height: auto;
}

.index_wrap .btnbox {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 50px auto 100px;
}

.index_wrap .btnbox li:nth-of-type(2) {
	margin: 0 20px;
}

.index_wrap .btnbox img {
	width: 50px;
}

.index_wrap .btnbox a {
	padding: 20px 40px 19px;
	line-height: 1.2;
	display: block;
	background-color: #481b59;
}

.index_wrap .btnbox a:hover {
	background-color: #cfb7d9;
	color: #5c2573;
}

.index_wrap .btnbox a span {
	font-size: 40px;
	font-family: "Noto Serif JP", serif;
	display: block;
}

.index_wrap .btnbox li.leave a {
	color: #919191;
	background-color: #373139;
}

.index_wrap .linkbox {
	margin-bottom: 100px;
}

.index_wrap .linkbox li {
	margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
	.index_wrap h1 {
		font-size: 1.2rem;
		padding: 10px 0;
		margin-bottom: 10rem;
	}

	.index_wrap .logo img {
		width: 300px;
		height: auto;
	}

	.index_wrap .btnbox li:nth-of-type(2) {
		margin: 0 10px;
	}

	.index_wrap .btnbox a {
		padding: 14px 24px 13px;
		font-size: 1.3rem;
	}

	.index_wrap .btnbox a span {
		font-size: 2.8rem;
	}

	.index_wrap .linkbox {
		padding: 0 10px;
	}
}

/* ギャラリー一覧 */
.gallery_wrap {
	width: 980px;
	margin: 0 auto 30px;
}

.gallery_list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 16px
}

.gallery_list dl {
	width: calc(100% / 2 - 8px);
}

@media screen and (max-width: 640px) {
	.gallery_wrap {
		width: 100%;
	}

	.gallery_list {
		padding: 0 10px;
	}

	.gallery_list dl {
		width: 100%;
	}
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge {
	visibility: hidden;
}

.reCaptcha_txt {
	font-size: 11px;
	color: #7c6b84;
	text-align: left;
}

.reCaptcha_txt a {
	color: #87b9ee;
}

@media only screen and (max-width: 640px) {
	.reCaptcha_txt {
		margin-top: 1.6rem;
	}
}

/* 404ページ */
.notfound_wrap {
	margin: 50px 0;
}

.notfound_box {
	color: #fff;
}

.notfound_box dl {
	line-height: 1;
}

.notfound_box dt {
	font-size: 100px;
	font-weight: 700;
	line-height: 1;
}

.notfound_box dd.en {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 2px;
	text-indent: 2px;
	margin-bottom: 16px;
}

.notfound_box dd.txt {
	line-height: 1.8;
}

.notfound_box dd.txt span {
	display: block;
	font-size: 22px;
	font-weight: bold;
}

.notfound_box dd.btn {
	margin-top: 32px;
}

.notfound_box dd.btn a {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	padding: 0 64px;
	height: 46px;
	line-height: 47px;
	border: 1px solid #502c5e;
	border-radius: 100px;
	color: #502c5e;
	background-color: #e3bbe9;
}

.notfound_box dd.btn a:hover {
	color: #ffff;
	background: #502c5e;
}

@media screen and (max-width: 640px) {
	.notfound_box dd.txt {
		font-size: 1.3rem;
	}

	.notfound_box dd.btn a {
		line-height: 45px;
	}
}