@charset "utf-8";

/*////////// ▼Reset [html5]▼ //////////*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #000;
	outline: none;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
	box-sizing: border-box;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

button {
	border: none;
	background: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
var {
	font-weight: normal;
	font-style: normal;
}

caption,
th {
	text-align: left;
}

abbr,
acronym {
	border: 0;
}

.clear {
	clear: both;
}

/*////////// ▲Reset [html5]▲ //////////*/

html {
	font-size: 62.5%;
}

body {
	color: #684517;
	background: #fff;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin: 0 auto;
	min-width: 1200px;
	background-position: top center;
	width: 100%;
	background-image: url("../images/bg.jpg");
	background-attachment: fixed;
	font-feature-settings: "palt"1;
	line-height: 1;
	background-repeat: repeat-x;
	font-size: 1.6rem;
	background-size: cover;
}

html,
body {
	height: 100%;
	box-sizing: border-box;
}

* html body {
	overflow: hidden;
}

::selection {
	background: rgba(80, 80, 80, 0.2);
	color: #d4b24b;
}

::-moz-selection {
	background: rgba(80, 80, 80, 0.2);
	color: #d4b24b;
}

main {
	width: 100%;
	min-width: 1200px;
}

/*////////// ▼ 汎用 ▼ //////////*/
.clearfix::after {
	content: "";
	clear: both;
	display: block;
}

.top-header {
	background-image: url("../images/title_bg02.png");
	background-repeat: no-repeat;
	background-color: #e4ddc3;
	height: 120px;
}

.top-header h2 {
	letter-spacing: -0.07em;
	display: inline-block;
	margin: 10px 0 0 20px;
	font-family: 'Lusitana', serif;
	color: #fff;
	position: relative;
}

.top-header h2 span {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 60px;
	color: #8f6c3e;
	position: relative;
	letter-spacing: -0.04em;
	display: block;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff, 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
}

.top-header h2 em {
	font-size: 20px;
	color: #8f6c3e;
	letter-spacing: 0.2em;
	display: block;
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

.top-header .more {
	width: 13.4vw;
	max-width: 360px;
	margin: 20px 20px 0 0;
	float: right;
}

.more {
	display: block;
	width: 320px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	margin: 0 auto;
	position: relative;
	z-index: 100;
}

.more .more-inner {
	font-family: 'Playfair Display', serif;
	font-size: 1.8rem;
	letter-spacing: 2px;
	color: #fffff4;
	text-align: center;
	line-height: 60px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #c7a981 0%, #684517 50%, #c7a981 100%);
	background-size: 200%;
	background-position: -50% 0;
	position: relative;
	cursor: pointer;
}

.more .more-inner.line2 {
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
}

.more span {
	font-size: 1.6rem;
	letter-spacing: 2px;
	color: #fffff4;
	text-align: center;
	position: relative;
	z-index: 1;
	margin-left: 6px;
}

.more button {
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.more button span {
	font-size: 0.8em;
	padding-left: 6px
}

.more-bg,
.more-bg2 {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	opacity: 1;
}

.more:hover .more-bg,
.more:hover .more-bg2 {
	opacity: 0.5;
	-moz-transition: 0.8s;
	-webkit-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
}

.more-btn {
	width: 240px;
	text-align: center;
	position: relative;
	cursor: pointer;
}

.more-btn-inner {
	width: 46px;
	height: 46px;
	border-radius: 35px;
	position: absolute;
	left: 0;
	z-index: 100;
	background: #684517;
}

.more-btn span {
	font-size: 2.4rem;
	color: #684517;
	line-height: 48px;
	letter-spacing: 1.4px;
	position: relative;
	left: 0px;
	z-index: 110;
	font-family: 'Lusitana', serif;
}

.more-btn:hover span {
	color: #fff;
	left: 18px;
	-moz-transition: 1.4s;
	-webkit-transition: 1.4s;
	-o-transition: 1.4s;
	-ms-transition: 1.4s;
	transition: 1.4s;
}

.into {
	display: inline-block;
	width: 18px;
	height: 18px;
	position: absolute;
	left: 15.5px;
	top: 15px;
	transition: all .3s;
	z-index: 120;
}

.into span {
	display: block;
	background: #fff;
	transition: all .2s;
	position: absolute;
	border-radius: 1px;
}

.into span.plus1 {
	width: 16px;
	height: 2px;
	top: 8px;
	left: 0px;
}

.into span.plus2 {
	width: 2px;
	height: 16px;
	top: 1px;
	left: 7px;
}

.into span.plus3 {
	width: 0px;
	height: 2px;
	left: 9px;
	top: 0px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
}

.into span.plus4 {
	width: 0px;
	height: 2px;
	left: 4px;
	top: 0px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
}

.more-btn:hover .into {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
	height: 13px;
	left: 25px;
}

.more-btn:hover .into span.plus1 {
	width: 0;
	left: 9px;
	opacity: 0;
}

.more-btn:hover .into span.plus2 {
	height: 18px;
	top: -4px;
	left: 10px;
}

.more-btn:hover .into span.plus3 {
	width: 10px;
	transition-delay: .1s;
}

.more-btn:hover .into span.plus4 {
	width: 10px;
	transition-delay: .1s;
}

.cast-animation {
	position: relative;
	background-color: #000;
	overflow: hidden;
}

.cast-animation::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4), transparent);
	transition: 0.5s;
	transition-delay: 0.5s;
	z-index: 100;
}

.cast-animation:hover::after {
	left: 100%;
}

.cast-animation span {
	position: absolute;
	display: block;
	transition: 0.5s ease;
	z-index: 100;
	width: 94%;
	text-shadow: 1px 1px 2px black;
}

.cast-animation>span:nth-child(1) {
	top: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #fff;
}

.cast-animation:hover>span:nth-child(1) {
	width: 100%;
	transform: translateX(100%);
}

.cast-animation>span:nth-child(2) {
	top: 0;
	left: 0;
	width: 2px;
	height: 0;
	background: #fff;
}

.cast-animation:hover>span:nth-child(2) {
	height: 100%;
	transform: translateY(100%);
}

.cast-animation>span:nth-child(3) {
	bottom: 0;
	right: 0;
	width: 0;
	height: 2px;
	background: #fff;
}

.cast-animation:hover>span:nth-child(3) {
	width: 100%;
	transform: translateX(-100%);
}

.cast-animation>span:nth-child(4) {
	bottom: 0;
	right: 0;
	width: 2px;
	height: 0;
	background: #fff;
}

.cast-animation:hover>span:nth-child(4) {
	height: 100%;
	transform: translateY(-100%);
}

.new-icon::before {
	content: "";
	background-image: url("../images/icon_new.png");
	display: inline-block;
	width: 100px;
	height: 100px;
	position: absolute;
	top: calc(26.2vw - 100px);
	left: 0;
	z-index: 1000;

	@media (width <=1200px) {
		top: 216px;
	}
}

#top-new-cast #new-cast .new-icon::before {
	top: auto;
	bottom: 0;
}

#profile .new-icon::before {
	top: auto;
	bottom: 0;
}

#ranking .new-icon::before {
	top: auto;
	bottom: 0;
}

.effect-fade {
	opacity: 0;
	transform: translate(0, 45px);
	transition: 0.4s;
	transition-timing-function: ease;
	transition-delay: 0.1s;
}

.effect-fade-left {
	opacity: 0;
	transform: translate(-100px, 0);
	transition: 0.4s;
	transition-timing-function: ease;
	transition-delay: 0.3s;
}

.effect-fade-right {
	opacity: 0;
	transform: translate(100px, 0);
	transition: 0.5s;
	transition-timing-function: ease;
	transition-delay: 0.3s;
}

.effect-fade.effect-scroll,
.effect-fade-right.effect-scroll,
.effect-fade-left.effect-scroll {
	opacity: 1;
	transform: translate(0, 0);
}

.effect-fade-concept::after {
	opacity: 0;
	transform: translate(150px, 0);
	transition: 0.6s;
	transition-timing-function: ease;
	transition-delay: 0.5s;
}


.effect-fade-concept.effect-scroll::after {
	opacity: 1;
	transform: translate(0, 0);
}

.effect-fade-ranking::after {
	opacity: 0;
	transform: translate(100px, 0);
	transition: 0.5s;
	transition-timing-function: ease;
	transition-delay: 0.2s;
}

.effect-fade-ranking.effect-scroll::after {
	opacity: 1;
	transform: translate(0, 0);
}

footer {
	font-size: 1.2rem;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	background-color: #c7a981;
	background-blend-mode: overlay;
	padding: 50px 0 0;
	text-align: center;
	overflow: hidden;
}

footer #footer-nav {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 960px;
	height: 40px;
	margin: 0px auto 40px;
}

footer #footer-nav li {
	float: left;
	letter-spacing: 3px;
	border-right: solid 1px #000;
	margin-bottom: 10px;
}

footer #footer-nav li:first-child,
footer #footer-nav li:nth-child(10) {
	border-left: solid 1px #000;
}

footer #footer-nav li a {
	display: block;
	color: #000;
	padding: 0 10px;
}

footer #footer-nav li:hover a {
	color: #AFAFAF;
	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

footer small {
	background-color: #996f3d;
	color: #fff;
	width: 100%;
	display: block;
	padding: 14px 0;
}

/*-- index.php --*/
#enter header {
	position: relative;
	height: 900px;
	background-color: #000;
	background-image: url(../images/main_image.jpg);
	background-position: top center;
	background-attachment: fixed;
	background-repeat: repeat-x;
	overflow-x: hidden;
}

@keyframes bg-slider {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -1920px 0;
	}
}

#enter .enter-box .enter-btn-border {
	background: #684517;
	width: 390px;
	padding: 6px;
	margin: 30px auto 10px;
	position: relative;
	overflow: hidden;
}

#enter .enter-box .enter-btn-border:hover {
	opacity: 1;
}

#enter .enter-box .enter-btn-border::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4), transparent);
	transition: 0.5s;
	transition-delay: 0.5s;
}

#enter .enter-box .enter-btn-border:hover::after {
	left: 100%;
}

#enter .enter-box .enter-btn-border span {
	position: absolute;
	display: block;
	transition: 0.5s ease;
}

#enter .enter-box .enter-btn-border>span:nth-child(1) {
	top: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #fff;
}

#enter .enter-box .enter-btn-border:hover>span:nth-child(1) {
	width: 100%;
	transform: translateX(100%);
}

#enter .enter-box .enter-btn-border>span:nth-child(2) {
	top: 0;
	left: 0;
	width: 2px;
	height: 0;
	background: #fff;
}

#enter .enter-box .enter-btn-border:hover>span:nth-child(2) {
	height: 100%;
	transform: translateY(100%);
}

#enter .enter-box .enter-btn-border>span:nth-child(3) {
	bottom: 0;
	right: 0;
	width: 0;
	height: 2px;
	background: #fff;
}

#enter .enter-box .enter-btn-border:hover>span:nth-child(3) {
	width: 100%;
	transform: translateX(-100%);
}

#enter .enter-box .enter-btn-border>span:nth-child(4) {
	bottom: 0;
	right: 0;
	width: 2px;
	height: 0;
	background: #fff;
}

#enter .enter-box .enter-btn-border:hover>span:nth-child(4) {
	height: 100%;
	transform: translateY(-100%);
}

#enter .enter-box .enter-btn {
	display: flex;
	width: 378px;
	height: 78px;
	background: linear-gradient(to left, #684517, #aa8559 50%, #684517);
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: 'Playfair Display', serif;
	font-size: 5rem;
	position: relative;
}

#enter .enter-btn::before {
	content: "";
	background: linear-gradient(-45deg, #fff, rgba(0, 0, 0, 0) 35%);
	width: 50px;
	height: 50px;
	position: absolute;
	bottom: 0;
	right: 0;
}

#enter .enter-btn::after {
	content: "";
	background: linear-gradient(135deg, #fff, rgba(0, 0, 0, 0) 35%);
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 0;
}

#enter .enter-box .enter-btn span {
	display: inline-block;
	margin-top: -5px;
}

#enter .enter-box>div>p {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}

#enter .enter-box>div>p a {
	color: #684517;
	text-decoration: underline;
}

#enter .enter-box {
	position: absolute;
	bottom: 50px;
	z-index: 1;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}

#enter .enter-box h1 img {
	width: 620px;
}

#enter video {
	position: fixed;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
}

#enter main {
	background-color: #000;
	position: relative;
	z-index: 10000;
	background-image: url(../images/enter_bg.jpg);
	background-position: top center;
	overflow: hidden;
	background-attachment: fixed;
	padding: 40px 0 80px;
}

.mutual-link {
	width: 832px;
	margin: 10px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.mutual-link li {
	width: 88px;
	margin-left: 5px;
}

.mutual-link li:nth-child(9n+1) {
	margin-left: 0;
}

.mutual-link li:nth-child(n+10) {
	margin-top: 5px;
}

.mutual-link li img {
	width: 100%;
	vertical-align: top;
}

#enter footer {
	font-size: 1.2rem;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	background-color: #c7a981;
	padding: 50px 0;
	text-align: center;
	z-index: 10000;
	position: relative;
}

/*--　top.php --*/
/************* Navigation ************/
header {
	height: 120px;
	z-index: 10000;
	position: relative;
}

nav#gnavi-wrapper {
	width: 100%;
	height: 120px;
	text-decoration: none;
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	transition: .4s;
}

nav#gnavi-wrapper::before {
	content: '';
	background: url(../images/bg_nav.png) repeat-x bottom center;
	width: 2000px;
	height: 260px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: -1;
	transition: .4s;
}

nav#gnavi-wrapper.is-animation {
	overflow: hidden;
}

nav#gnavi-wrapper.is-animation::before {
	top: -80px;
}

.is-animation #gnavi {
	height: 90px !important;
}

nav#gnavi-wrapper ul#gnavi {
	width: 100%;
	height: 120px;
	max-width: 2000px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 1200px;
	transition: .4s;
}

nav ul#gnavi li {
	position: relative;
	display: flex;
	align-items: center;
}

nav ul#gnavi>li:first-child {
	margin-left: 10px;
	min-width: 460px;
}

nav ul#gnavi>li:last-child {
	width: 100%;
	margin: 0 10px 0 60px;
}

nav ul#gnavi li a {
	transition: all 0.5s;
	color: #996f3d;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

nav ul#gnavi li a>img {
	width: 100%;
}

nav ul#gnavi li a span:first-of-type {
	color: #996f3d;
	font-size: 1.8rem;
	font-family: 'Lusitana', serif;
}

nav ul#gnavi li a:hover {
	opacity: 0.4;
}

nav ul#gnavi li ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

@media screen and (max-width: 1500px) {
	nav ul#gnavi>li:first-child {
		min-width: 380px;
	}

	nav ul#gnavi li a span:first-of-type {
		font-size: 1.4rem;
	}
}

nav ul#gnavi li ul li:first-child {
	margin-right: 20px;
}

nav ul#gnavi li .shop-nav li:last-child {
	width: 50%
}

nav ul#gnavi li:last-child ul li {
	padding-left: 8px;
}

nav ul#gnavi li:last-child ul li::before {
	content: "";
	background: linear-gradient(0deg, #996f3d 0%, #fffff4 100%);
	display: inline-block;
	height: 40px;
	width: 10px;
	position: absolute;
	left: -8px;
}

nav ul#gnavi li:last-child ul li span.gnavi-ja {
	font-size: 1.2rem;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media screen and (max-width: 1700px) {
	nav ul#gnavi li img {
		width: 100%;
	}
}

@media screen and (max-width: 1399px) {
	nav ul#gnavi>li:last-child {
		margin: 0 10px 0 30px;
	}

	nav ul#gnavi li:last-child ul li {
		font-size: 1.1vw
	}

	nav ul#gnavi li:last-child ul li span.gnavi-ja {
		font-size: 0.9vw;
	}
}

#main-contents {
	position: relative;
}

.top-info {
	min-width: 1200px;
	max-width: 1980px;
	margin: 600px auto 0;
	/*
	height: 470px;
  background-image: url(../images/top_obi.png);
  background-size: cover;
*/
}

.top-info-inner {
	display: flex;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
}

.movie-box {
	background: url(../images/top_movie_bg.jpg) no-repeat top left/cover;
	width: 740px;
	background-color: #000;
	position: relative;
	display: flex;
	align-items: flex-end;
	max-width: 780px;
}

.movie-box div {
	margin: 90px 20px 20px;
	z-index: 10;
}

.movie-box div video {
	width: 100%;
	min-width: 400px;
}

.movie-box::before {
	content: "";
	background-image: url("../images/movie_bg.png");
	display: inline-block;
	width: 303px;
	height: 70px;
	position: absolute;
	top: 10px;
	left: 20px;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1000;
}

.shop-info {
	margin-left: 10px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

.shop-info .top-logo {
	width: 100%;
}

.shop-info ul {
	color: #fff;
	width: 305px;
	margin-bottom: 40px;
}

.shop-info ul li:first-child {
	width: 100%;
}

.shop-info ul li.mail {
	font-family: 'Playfair Display', serif;
	font-size: 2.6rem;
	margin-top: 10px;
	text-shadow:
		#917750 2px 0px 2px, #917750 -2px 0px 2px,
		#917750 0px -2px 2px, #917750 -2px 0px 2px,
		#917750 2px 2px 2px, #917750 -2px 2px 2px,
		#917750 2px -2px 2px, #917750 -2px -2px 2px,
		#917750 1px 2px 2px, #917750 -1px 2px 2px,
		#917750 1px -2px 2px, #917750 -1px -2px 2px,
		#917750 2px 1px 2px, #917750 -2px 1px 2px,
		#917750 2px -1px 2px, #917750 -2px -1px 2px,
		#917750 1px 1px 2px, #917750 -1px 1px 2px,
		#917750 1px -1px 2px, #917750 -1px -1px 2px;
}

.shop-info ul li.mail img {
	margin-right: 10px;
	top: 3px;
	position: relative;
	box-shadow:
		#917750 2px 0px 2px, #917750 -2px 0px 2px,
		#917750 0px -2px 2px, #917750 -2px 0px 2px,
		#917750 2px 2px 2px, #917750 -2px 2px 2px,
		#917750 2px -2px 2px, #917750 -2px -2px 2px,
		#917750 1px 2px 2px, #917750 -1px 2px 2px,
		#917750 1px -2px 2px, #917750 -1px -2px 2px,
		#917750 2px 1px 2px, #917750 -2px 1px 2px,
		#917750 2px -1px 2px, #917750 -2px -1px 2px,
		#917750 1px 1px 2px, #917750 -1px 1px 2px,
		#917750 1px -1px 2px, #917750 -1px -1px 2px;
}

.shop-info ul li.tel {
	font-family: TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif;
	font-size: 3.6rem;
	margin-top: 10px;
	margin-right: 0;
	text-shadow:
		#917750 2px 0px 2px, #917750 -2px 0px 2px,
		#917750 0px -2px 2px, #917750 -2px 0px 2px,
		#917750 2px 2px 2px, #917750 -2px 2px 2px,
		#917750 2px -2px 2px, #917750 -2px -2px 2px,
		#917750 1px 2px 2px, #917750 -1px 2px 2px,
		#917750 1px -2px 2px, #917750 -1px -2px 2px,
		#917750 2px 1px 2px, #917750 -2px 1px 2px,
		#917750 2px -1px 2px, #917750 -2px -1px 2px,
		#917750 1px 1px 2px, #917750 -1px 1px 2px,
		#917750 1px -1px 2px, #917750 -1px -1px 2px;
}

.shop-info ul li.tel img {
	margin-right: 10px;
	box-shadow:
		#917750 2px 0px 2px, #917750 -2px 0px 2px,
		#917750 0px -2px 2px, #917750 -2px 0px 2px,
		#917750 2px 2px 2px, #917750 -2px 2px 2px,
		#917750 2px -2px 2px, #917750 -2px -2px 2px,
		#917750 1px 2px 2px, #917750 -1px 2px 2px,
		#917750 1px -2px 2px, #917750 -1px -2px 2px,
		#917750 2px 1px 2px, #917750 -2px 1px 2px,
		#917750 2px -1px 2px, #917750 -2px -1px 2px,
		#917750 1px 1px 2px, #917750 -1px 1px 2px,
		#917750 1px -1px 2px, #917750 -1px -1px 2px;
}

.shop-info ul li.address {
	font-size: 2.2rem;
	margin-top: 10px;
	line-height: 1.2;
	text-shadow:
		#917750 2px 0px 2px, #917750 -2px 0px 2px,
		#917750 0px -2px 2px, #917750 -2px 0px 2px,
		#917750 2px 2px 2px, #917750 -2px 2px 2px,
		#917750 2px -2px 2px, #917750 -2px -2px 2px,
		#917750 1px 2px 2px, #917750 -1px 2px 2px,
		#917750 1px -2px 2px, #917750 -1px -2px 2px,
		#917750 2px 1px 2px, #917750 -2px 1px 2px,
		#917750 2px -1px 2px, #917750 -2px -1px 2px,
		#917750 1px 1px 2px, #917750 -1px 1px 2px,
		#917750 1px -1px 2px, #917750 -1px -1px 2px;
}

.shop-info ul li.invoice {
	margin-top: 10px;
}

.top-info-inner .btn {
	width: min-content;
	margin-left: 20px;
	display: flex;
	flex-wrap: wrap;
}

.top-info-inner .btn img {
	width: 100%;
}

.top-info-inner .btn .btn-diary,
.top-info-inner .btn .btn-twitter {
	margin-left: 20px;
}

.top-info-inner .btn .shop-banner {
	width: 703px;
	margin-top: 20px;
	display: flex;
	gap: 0 10px;
	flex-wrap: wrap;

	div {
		width: calc(50% - 5px);
		text-align: center;

		p {
			font-size: 18px;
			font-weight: bold;
			margin-top: 5px;
			text-align: center;
		}
	}
}

.top-slide-rank {
	display: flex;
	width: 100%;
	margin: 30px auto 60px;
	min-width: 1200px;
	max-width: 2000px;
}

.top-slider {
	width: 100%;
	position: relative;
}

.top-slider .info-slider {}

.top-slider .info-slider .slider {
	background: rgba(255, 255, 255, .8);
	padding: 25px 10px 20px;
}

.top-slider .info-slider .center-item img {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

.top-slider .info-slider #thumbnail_slider {
	background: rgba(255, 255, 255, .8);
	width: 290px;
	height: 45px;
	position: absolute !important;
	right: 35px;
	bottom: -45px;
	padding-top: 10px;
}

.top-slider .info-slider #thumbnail_slider .thumbnail-item {
	cursor: pointer;
}

.top-slider .slick-prev,
.top-slider .slick-next {
	background: rgba(255, 255, 255, .8) !important;
	width: 35px !important;
	height: 45px !important;
	top: 22px !important;
	position: absolute;
}

.top-slider .slick-prev {
	left: -35px !important;
}

.top-slider .slick-next {
	right: -35px !important;
}

.top-slider .slick-prev::before {
	content: url(../images/slide_prev.png) !important;
	filter: brightness(0) saturate(100%) invert(22%) sepia(90%) saturate(451%) hue-rotate(355deg) brightness(96%) contrast(86%);
}

.top-slider .slick-next::before {
	content: url(../images/slide_next.png) !important;
	filter: brightness(0) saturate(100%) invert(22%) sepia(90%) saturate(451%) hue-rotate(355deg) brightness(96%) contrast(86%);
}

.top-slider .info-slider #thumbnail_slider .slick-current img {
	border: #fff 2px solid;
	box-sizing: border-box;
}

.top-slider .slick-slide img {
	display: block;
	margin: 0 auto;
}

.top-rank {
	background: #fff;
	width: 100%;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.top-rank .top-header {
	background: url(../images/title_bg_rank.jpg) no-repeat #e4ddc3;
	height: 100px;
	position: relative;
}

.top-rank .top-header h2 {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 50px;
	color: #8f6c3e;
	position: relative;
	letter-spacing: -0.04em;
	display: block;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff, 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
	position: relative;
}

.top-rank .top-header h2 span {
	font-size: 50px;
}

.top-rank .top-header h2 em {
	position: absolute;
	left: 280px;
	top: 15px;
}

.top-rank .slick-slide {
	margin-top: 10px;
}

.top-rank .slick-slide>div>li {
	width: 19.2vw !important;
	padding-bottom: 0.5vw;
	border: #a0a0a0 1px solid;
}

.top-rank .slick-slide>div>li .icon-twitter {
	right: 5px;
	bottom: 75px;
}

.top-rank .slick-slide>div>li figcaption {
	display: flex;
	align-items: flex-end;
	gap: 0 10px;
	margin-top: 4px;
	padding: 4px;
	background-color: rgb(255, 255, 255, .8);
	width: 100%;
}

.top-rank .slick-slide>div>li figcaption>img {
	min-width: 60px;
	width: 20%;
}

.top-rank .slick-slide>div>li figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	margin-left: 6px;
}

.top-rank .slick-slide>div>li figcaption .age {
	font-family: 'Playfair Display', serif;
}

.top-rank .slick-slide>div>li figcaption .size {
	display: block;
	margin-top: 4px;
	font-size: 1.2rem;
}

.top-rank .slick-slide .caption {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: calc(100% - 40px);
	padding: 20px;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: 1.4rem;
	opacity: 0;
	transition: .3s ease;
}

.top-rank .slick-slide>div>li {
	position: relative;
}

.top-rank .prev,
.top-rank .next {
	position: absolute;
	top: 36%;
	z-index: 1;
	cursor: pointer;
	width: 72px;
}

.top-rank .prev>img,
.top-rank .next>img {
	width: 100%;
}

.top-rank .prev {
	left: 0;
}

.top-rank .next {
	right: 0;
	transform: scale(-1, 1);
}

.top-rank .more {
	display: block;
	width: 100%;
	height: 60px;
	line-height: 60px;
	text-align: center;
	margin: 20px 0 0;
	position: absolute;
	right: 10px;
	top: 0;
	z-index: 100;
}

.top-rank .more .more-inner {
	font-family: 'Playfair Display', serif;
	font-size: 1.8rem;
	letter-spacing: 2px;
	color: #fffff4;
	text-align: center;
	line-height: 60px;
	width: 100%;
	height: 100%;
	position: relative;
}

/*-- トップ新着＆新人キャスト --*/
#top-new-cast {
	width: 100%;
	max-width: 1980px;
	display: flex;
	margin: 0 auto 30px;
	justify-content: center;
	min-width: 1200px;
	align-items: stretch;
}

#top-new-cast>article {
	width: calc(50% - 10px);
	margin-right: 20px;
	border-left: solid 1px #684517;
	box-sizing: border-box;
	background-color: #fff;
	border-bottom: solid 1px #684517;
	border-right: solid 1px #684517;
	max-width: 990px;
	border-top: solid 1px #684517;
}

#top-new-cast #new-cast {
	margin-right: 0;
	border: solid 1px;
	padding-bottom: 29px;
}

#top-new-cast #new-cast .more-btn {
	margin-top: 20px;
}

#what-new .top-header {
	background-image: url("../images/title_whatnew.jpg");
	background-color: #e8ddbd;
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
}

#what-new .top-header h2 span {
	font-size: 6.0rem;
}

#what-new .top-header h2 em {
	right: 34px;
	bottom: -20px;
}

#new-cast .top-header {
	background-image: url("../images/title_new_cast.jpg");
	background-color: #e8ddbd;
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
}

#new-cast .top-header h2 {
	color: #000;
}

.what-new-cont {
	display: flex;
	background-color: #fff;
	padding: 20px 50px;
}

.what-new-cont .cast-img {
	width: 50%;
	position: relative;
}

.what-new-cont .cast-img a > img {
	width: 100%;
	vertical-align: top;
}

.what-new-cont .cast-img .icon-twitter {
	right: 5px;
	bottom: 10px;
}

.what-new-cont article {
	width: 50%;
	padding: 16px 0 0 30px;
}

.what-new-cont article .time {
	letter-spacing: 0.4em;
	margin-bottom: 10px;
	display: inline-block;
}

.what-new-cont article .title {
	letter-spacing: 0.4em;
}

.what-new-cont article .name {
	font-size: 2.0rem;
	margin: 20px 0;
	display: inline-block;
}

.what-new-cont article .name .age {
	font-size: 1.4rem;
}

.what-new-cont article .name .size {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 10px;
}

.what-new-cont article>.what-new-text {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.2rem;
	color: #353535;
	line-height: 2.16em;
	height: 310px;
	overflow-y: auto;
	text-align: justify;
	padding-right: 10px;
}

.what-new-cont article>.what-new-text.new {
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (max-width: 1600px) {
	.what-new-cont article>.what-new-text {
		height: 200px;
	}
}

.new-cast {
	background-image: url("../images/title_new_cast.jpg");
	height: 128px;
	background-repeat: no-repeat;
	position: relative;
}

.new-cast .contents-title {
	color: #000;
}

.icon {
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: inline-block;
	top: 5px;
	margin-right: 10px;
	background: linear-gradient(-45deg, #000 0%, #5b5b5b 100%);
}

.icon::before,
.icon-plus::after {
	position: absolute;
	top: 15px;
	left: 50%;
	content: '';
	display: inline-block;
	width: 15px;
	height: 16px;
	border-top: 1px solid #fff;
	transform: translateX(-50%);
}

.icon-plus::after {
	top: 7px;
	left: 0px;
	transform: rotate(90deg);
}

.more-plus {
	color: #1e1e1e;
	font-size: 2.4rem;
}

#top-gonow {
	width: 100%;
	/* max-width: 1800px; */
	min-width: 1200px;
	margin: 0 auto 20px;
	background-color: #fff;
}

#top-gonow .top-header {
	background-image: url("../images/title_gonow.jpg");
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
	background-color: #e4ddc3;
}

#top-gonow .top-header h2 {
	margin: 10px 0 0 20px;
}

#top-gonow ul#submenu {
	position: absolute;
	top: 0;
	right: 10px;
}

ul#submenu {
	width: 750px;
	margin-top: 20px;
	display: flex;
}

ul#submenu li {
	width: 100%;
	margin: 0px 5px;
}

.btn-more {
	background: linear-gradient(to right, #ffedb4 0%, #ba8f0d 50%, #ffedb4 100%);
	background-size: 200%;
	background-position: -50% 0;
	background-color: #000;
	width: 240px;
	height: 50px;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
	opacity: .9;
	z-index: 100;
	cursor: pointer;
}

.btn-more a {
	text-align: center;
	color: #000;
	width: 240px;
	height: 50px;
	margin: 0 auto;
	display: block;
	position: relative;
}

#top-gonow .gonow-cont {
	padding: 6px 0 30px 0;
}

#top-gonow .gonow-day {
	background: linear-gradient(to right, #e2c8b2 0%, #ffffff 100%);
	text-align: center;
	width: 98%;
	margin: 10px auto;
	padding: 4px;
	height: 40px;
	line-height: 34px;
}

#top-gonow .gonow-cont>ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

#top-gonow .gonow-cont>ul>li {
	border-left: solid 1px #a0a0a0;
	border-top: solid 1px #a0a0a0;
	border-bottom: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin: 4px 0;
	box-sizing: border-box;
	transition: 0.5s;
}

#top-gonow .gonow-cont>ul>li:nth-child(5n) {
	border-right: solid 1px #a0a0a0;
}

#top-gonow .gonow-cont>ul>li:nth-child(n+6) {
	border-top: none;
}

#top-gonow .gonow-cont>ul>li:last-child {
	border-right: solid 1px #a0a0a0;
}

#top-gonow .gonow-cont>ul>li .icon-rank {
	width: 100%;
	vertical-align: top;
}

#top-gonow .gonow-cont>ul>li a:first-of-type {
	color: #fff;
	width: 100%;
	display: block;
	overflow: hidden;
}

#top-gonow .gonow-cont>ul>li a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133%;
}

#top-gonow .gonow-cont>ul>li a>div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#top-gonow .gonow-cont>ul>li .icon-twitter {
	right: 5px;
	top: calc(25.75vw - 80px);
	z-index: 200;
}

.cast-animation img {
	width: 100%;
	opacity: .4;
	vertical-align: top;
}

.cast-animation>p {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: auto;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	padding: 1em;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.4em;
	text-align: justify;
	justify-content: center;
}

@media screen and (max-width: 1600px) {
	.cast-animation>p {
		font-size: 1.2rem;
		line-height: 1.2em;
	}
}

#top-gonow .gonow-cont>ul>li a:first-of-type>img:first-of-type {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 200;
}

#top-gonow .gonow-cont>ul>li a:first-of-type:hover>img {
	clip-path: polygon(0 0, 100% 0%, 0 0, 0% 100%);
}

#top-gonow .gonow-cont .icon-shop {
	width: 95%;
	margin: 8px auto;
	display: block;
}

#top-gonow .cast-box {
	z-index: 10;
	position: relative;
}

#top-gonow .cast-box figcaption {
	background-color: #fff;
	z-index: 1000;
	position: relative;
	overflow: hidden;
}

#top-gonow .cast-box figcaption .shop-name {
	font-size: 20px;
	color: #000;
	background: linear-gradient(to right, #c7a981, #fffff4 50%, #c7a981);
	text-align: center;
	line-height: 2;
}

#top-gonow .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../images/bg_name.jpg) no-repeat left top / cover;
	padding: 10px 0;
	text-align: center;
}

#top-gonow .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}

#top-gonow .cast-box figcaption .name .size {
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

/*-- トップ-本日の出勤情報 --*/
#top-schedule {
	width: 100%;
	/* max-width: 1800px; */
	min-width: 1200px;
	margin: 0 auto 20px;
	background-color: #fff;
}

#top-schedule .top-header {
	background-image: url("../images/title_schedule.jpg");
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
	background-color: #e4ddc3;
}

#top-schedule .top-header h2 {
	margin: 10px 0 0 20px;
}

#top-schedule .schedule-calendar {
	float: right;
	display: flex;
	justify-content: space-between;
	margin: 10px 10px 0 0;
}

#top-schedule .schedule-calendar li {
	color: #fff;
	width: calc(100%/7);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Playfair Display', serif;
	font-size: 2.4rem;
	line-height: 1em;
	margin: 20px 6px 0;
	background: #a18c6f;
	/* Old browsers */
	background: -moz-linear-gradient(top, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a18c6f', endColorstr='#a18c6f', GradientType=0);
	/* IE6-9 */
	padding: 1px;
}

#top-schedule .schedule-calendar li.effect-fade {
	transition: 0.3s;
	transition-delay: 0.1s;
}

#top-schedule .schedule-calendar li+li.effect-fade {
	transition-delay: 0.2s;
}

#top-schedule .schedule-calendar li+li+li.effect-fade {
	transition-delay: 0.3s;
}

#top-schedule .schedule-calendar li+li+li+li.effect-fade {
	transition-delay: 0.4s;
}

#top-schedule .schedule-calendar li+li+li+li+li.effect-fade {
	transition-delay: 0.5s;
}

#top-schedule .schedule-calendar li+li+li+li+li+li.effect-fade {
	transition-delay: 0.6s;
}

#top-schedule .schedule-calendar li+li+li+li+li+li+li.effect-fade {
	transition-delay: 0.7s;
}

#top-schedule .schedule-calendar li a {
	color: #684517;
	display: flex;
	align-items: flex-end;
	padding: 8px 20px 10px;
	background-color: #fff;
	max-width: 140px;
	justify-content: center;
}

@media screen and (max-width: 1600px) {
	#top-schedule .schedule-calendar li {
		font-size: 2.0rem;
	}

	#top-schedule .schedule-calendar li a {
		padding: 8px 8px 10px;
	}
}

#top-schedule .schedule-calendar li a span {
	color: #fff;
	background: #684517;
	font-size: 1.2rem;
	min-width: 36px;
	display: inline-block;
	margin-left: 6px;
	text-align: center;
	height: 20px;
	line-height: 20px;
}

#top-schedule .schedule-cont {
	padding: 6px 0 30px 0;
}

#top-schedule .schedule-day {
	background: linear-gradient(to right, #c7a981, #fffff4 50%, #c7a981);
	text-align: center;
	width: 98%;
	margin: 10px auto;
	padding: 4px;
	height: 40px;
	line-height: 34px;
}

#top-schedule .schedule-cont>ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

#top-schedule .schedule-cont>ul>li {
	background-image: url(../images/top_cast_bg.jpg);
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin: 4px 0;
	box-sizing: border-box;
	transition: 0.5s;
}

#top-schedule .schedule-cont>ul>li .cast-box a:first-of-type {
	color: #fff;
	width: 100%;
	display: block;
	overflow: hidden;
}

#top-schedule .schedule-cont>ul>li .cast-box a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133%;
}

#top-schedule .schedule-cont>ul>li .cast-box a>div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#top-schedule .schedule-cont>ul>li .icon-twitter {
	right: 5px;
	top: calc(25.75vw - 80px);
	z-index: 200;
}

.cast-animation img {
	width: 100%;
	opacity: .4;
	vertical-align: top;
}

.cast-animation>p {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: auto;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	padding: 1em;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.4em;
	text-align: justify;
	justify-content: center;
}

@media screen and (max-width: 1600px) {
	.cast-animation>p {
		font-size: 1.2rem;
		line-height: 1.2em;
	}
}

#top-schedule .schedule-cont>ul>li .cast-box a>img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 200;
}

#top-schedule .schedule-cont>ul>li .cast-box a:hover>img {
	clip-path: polygon(0 0, 100% 0%, 0 0, 0% 100%);
}

#top-schedule .schedule-cont>ul>li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
	display: inline-block;
	height: 270px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

#top-schedule .schedule-cont .icon-rank {
	width: 100%;
	margin-bottom: 4px;
}

#top-schedule .schedule-cont>ul>li a .shop-icon {
	left: auto;
	right: 10px;
	top: 10px;
	z-index: 201;
}

#top-schedule .schedule-cont>ul>li a:hover .shop-icon {
	z-index: -1;
}

#top-schedule .cast-box {
	z-index: 10;
	position: relative;
}

#top-schedule .cast-box figcaption {
	background-color: #fff;
	z-index: 1000;
	position: relative;
	overflow: hidden;
}

#top-schedule .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../images/bg_name.jpg) no-repeat left top / cover;
	padding: 10px 0;
	text-align: center;
}

#top-schedule .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}

#top-schedule .cast-box figcaption .name .size {
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

#top-schedule .cast-box figcaption .time svg {
	position: relative;
	top: 3px;
	width: 20px;
	fill: #684517
}

#top-schedule .cast-box figcaption .time {
	height: 30px;
	background: url(../images/bg_time.jpg) no-repeat center top / cover;
	line-height: 1.6em;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	padding: 0 15px;
	text-align: center;
}

#top-schedule .cast-box figcaption .waiting-time {
	background-color: #fff;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 15px;
	height: 30px;
	/*background: -webkit-repeating-linear-gradient(-45deg, #f7e2c7 0, #f7e2c7 3px, #fff 3px, #fff 5px);
	background: repeating-linear-gradient(-45deg, #f7e2c7 0, #f7e2c7 3px, #fff 3px, #fff 5px);*/
	line-height: 30px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	text-align: center;
}

/*-- トップ-その他のコンテンツ --*/
#top-other {
	width: 100%;
	max-width: 1980px;
	margin: 0 auto;
	display: flex;
	min-width: 1200px;
}

#top-other .left {
	width: 370px;
	margin-right: 20px;
}

#top-other .left li {
	margin-bottom: 20px;
}

#top-other .left li.miecha {
	background-image: url("../images/bg_miechat.jpg");
	background-repeat: no-repeat;
	padding-bottom: 20px;
}

#top-other .left li.miecha .top-header {
	background-image: none;
	height: 100px;
	margin-bottom: 10px;
}

#top-other .left li.miecha .top-header h2 span {}

#top-other .left li.miecha .top-header h2 em {
	right: -60px;
	bottom: -6px;
}

#top-other .left li.miecha img {
	width: 320px;
	display: block;
	margin: 0 auto;
}

#top-other .left li img {
	vertical-align: top;
}

#top-other .right {
	width: 100%;
}

#top-other .right .frame-cont {
	background-image: url("../images/bg_othercont.jpg");
	background-repeat: repeat-x;
	display: flex;
	justify-content: center;
	padding: 20px;
	height: 760px;
}

#top-other .right .frame-cont li {
	border: solid 1px #996f3d;
	background-color: #fff;
	width: calc(100%/3);
	margin: 0 10px;
}

#top-other .right .frame-cont.new li {
	width: 50%;
}

#top-other .right .frame-cont li.manager-blog .top-header {
	background-image: url("../images/bg_manager_blog.jpg");
	background-repeat: repeat-x;
	background-position: top;
	overflow: hidden;
	height: 107px;
}

#top-other .right .frame-cont li.manager-blog .top-header h2 {
	margin: 30px auto 0;
	display: block;
	width: 90%;
	text-align: center;
}

#top-other .right .frame-cont li.manager-blog .top-header h2 span {
	font-size: 4.0rem;
	color: #8f6c3e;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
}

#top-other .right .frame-cont li.manager-blog .top-header h2 em {
	right: 10px;
	bottom: -20px;
	color: #8f6c3e;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
}

#top-other .right .frame-cont li.manager-blog .box {
    height: 611px;
    /*overflow: auto;*/
}

#top-other .right .frame-cont li.newphoto-mail .top-header {
	background-image: url("../images/bg_newphoto_mail.jpg");
	background-repeat: repeat-x;
	background-position: top;
	overflow: hidden;
	height: 107px;
}

#top-other .right .frame-cont li.newphoto-mail .top-header h2 {
	color: #8f6c3e;
	margin: 30px auto 0;
	display: block;
	width: 90%;
	text-align: center;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
}

#top-other .right .frame-cont li.newphoto-mail .top-header h2 span {
	font-size: 3.6rem;
	color: #8f6c3e;
	text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;
}

#top-other .right .frame-cont li.photo-diary .top-header {
	background-image: url("../images/bg_photo_diary.jpg");
	background-repeat: repeat-x;
	background-position: top;
	overflow: hidden;
	height: 107px;
}

#top-other .right .frame-cont li.photo-diary .top-header h2 {
	color: #8f6c3e;
	margin: 30px auto 0;
	display: block;
	width: 90%;
	text-align: center;
}

#top-other .right .frame-cont li.photo-diary .top-header h2 span {
	font-size: 4.0rem;
	color: #8f6c3e;
}

#top-other .right .frame-cont li.photo-diary .top-header h2 em {
	right: 10px;
	bottom: -20px;
	color: #8f6c3e;
}

@media screen and (max-width: 1600px) {
	#top-other .right .frame-cont li.manager-blog .top-header h2 span {
		font-size: 3.0rem;
	}

	#top-other .right .frame-cont li.manager-blog .top-header h2 em {
		bottom: -10px;
		font-size: 1.4rem;
	}

	#top-other .right .frame-cont li.newphoto-mail .top-header h2 span {
		font-size: 3rem;
	}

	#top-other .right .frame-cont li.newphoto-mail .top-header h2 em {
		bottom: -12px;
		font-size: 1.4rem;
	}

	#top-other .right .frame-cont li.photo-diary .top-header h2 span {
		font-size: 3rem;
	}
}

#top-other .right .frame-cont li iframe {
	width: 100%;
	height: 611px;
}

#top-event .top-header {
	background-image: url("../images/title_event.png");
	height: 100px;
	background-repeat: no-repeat;
	position: relative;
	background-color: #e4ddc3;
}

#top-event .top-header h2 {
	letter-spacing: -0.07em;
	display: inline-block;
	margin: 20px 0 0 30px;
	font-family: 'Lusitana', serif;
	color: #fff;
	position: relative;
}

#top-event .top-header h2 span {
	font-size: 5.0rem;
}

#top-event {
	margin-top: 20px;
	border: solid 1px #996f3d;
	background-color: #fff;
	height: 720px;
}

#top-event .event-cont {
	margin: 25px 35px;
	height: 570px;
	overflow-y: auto;
}

#top-event .event-cont .event-img {
	max-width: 370px;
	width: 30%;
}

#top-event .event-cont .event-img img {
	width: 100%;
}

#top-event .event-cont article {
	display: flex;
	background-color: #d6d6d8;
	padding: 20px 30px;
	margin-right: 4px;
	margin-bottom: 20px;
}

#top-event .event-cont article .event-inner {
	padding: 10px 0 10px 26px;
	flex-grow: 1;
	width: 70%;
}

#top-event .event-cont article .event-inner .time {
	letter-spacing: 0.4em;
	font-size: 1.4rem;
	margin-left: 1em;
	margin-bottom: 10px;
	display: inline-block;
}

#top-event .event-cont article .event-inner .title {
	background-color: #fff;
	padding: 10px 20px;
	border-radius: 6px;
	color: #8f5a07;
	letter-spacing: 0.4em;
	font-size: 1.4rem;
}

#top-event .event-cont article .event-inner>div {
	font-size: 1.2rem;
	padding: 14px 6px;
	line-height: 1.6em;
}

/*-- トップ-グループリンク --*/
.link-box {
	background: #f0f0f0;
	width: 100%;
	margin-top: 100px;
	padding: 50px 0 30px;
}

.link-box .logo-box {
	display: flex;
	align-items: center;
	justify-content: center;
}

.link-box .logo-box .group_logo {
	margin-left: 20px;
}

.link-box #group-link {
	width: 1200px;
	margin: 10px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.link-box #group-link .group_link_box {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 192px;
}

.link-box #group-link .group_link_box:first-of-type {
	width: 335px;
}

.link-box #group-link .group_link_box:nth-of-type(2) {
	width: 252px;
}

.link-box #group-link .group_link_box:nth-of-type(n+2) {
	margin-left: 76px;
}

.link-box #group-link .group_link_box .group_link_category {
	margin-top: 20px;
}

.link-box #group-link .group_link_box .group_link_category p {
	font-size: 1.4rem;
	color: #020202;
	border: #000 1px solid;
	text-align: center;
	line-height: 26px;
}

.link-box #group-link .group_link_box .group_link_banner {
	margin-top: 15px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	float: left;
}

.link-box #group-link .group_link_box:first-of-type .group_link_banner {
	width: 50%;
}

.link-box #group-link .group_link_box:nth-of-type(4) .group_link_banner {
	float: none;
}

.link-box #group-link .group_link_box .group_link_banner li {
	font-size: 1.4rem;
}

.link-box #group-link .group_link_box .group_link_banner li a {
	color: #000;
}

.link-box #group-link .group_link_box .group_link_banner li:nth-child(2n+1) {
	width: 16px;
}

.link-box #group-link .group_link_box .group_link_banner li:nth-child(2n) {
	width: calc(100% - 26px);
	margin-left: 10px;
}

.link-box #group-link .group_link_box .group_link_banner li:nth-child(n+3) {
	margin-top: 10px;
}

/*-- concept.php --*/
#concept {
	position: relative;
	margin-top: -120px;
	padding-top: 120px;
	background-color: #000;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
}

#concept h2 {
	background-image: url("../images/title_bg01.jpg");
	height: 340px;
	background-position: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#concept h2 span {
	font-family: 'Lusitana', serif;
	font-size: 6.0rem;
	text-align: center;
}

#concept h2 span em {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	margin-top: 20px;
}

#concept article {
	background-image: url("../images/concept_bg_left.jpg");
	color: #8f6c3e;
	height: 700px;
	overflow: hidden;
	position: relative;
	background-color: #dbdbdb;
	background-repeat: no-repeat;
}

#concept article h3 {
	font-size: 2.4rem;
	min-width: 1200px;
	width: 94%;
	margin: 50px 0 30px 10vw;
	line-height: 1.4em;
}

#concept article h3::before {
	content: "";
	display: block;
	width: 139px;
	height: 92px;
	background-image: url("../images/concept_no01.png");
	background-size: contain;
	margin-bottom: 10px;
}

#concept article+article h3::before {
	width: 157px;
	height: 91px;
	background-image: url("../images/concept_no02.png");
	background-size: contain;
}

#concept article+article+article h3::before {
	width: 150px;
	height: 85px;
	background-image: url("../images/concept_no03.png");
	background-size: contain;
}

#concept article p {
	text-align: justify;
	margin-left: 11vw;
	width: 50%;
	line-height: 1.9em;
	max-width: 1600px;
	position: relative;
}

#concept article::before {
	content: "";
	background-image: url("../images/concept_girl01_bg.png");
	display: block;
	width: 791px;
	height: 626px;
	position: absolute;
	bottom: 0;
	right: 0;
	background-repeat: no-repeat;
}

#concept article+article::before {
	content: "";
	background-image: url("../images/concept_girl02_bg.png");
	display: block;
	width: 743px;
	height: 633px;
	right: -60px;
}

#concept article+article+article::before {
	content: "";
	background-image: url("../images/concept_girl03_bg.png");
	display: block;
	width: 841px;
	height: 590px;
	right: 0;
}

#concept article::after {
	content: "";
	background-image: url("../images/concept_girl01.png");
	display: block;
	width: 490px;
	height: 605px;
	position: absolute;
	bottom: 0;
	right: 24vw;
}

#concept article+article::after {
	content: "";
	background-image: url("../images/concept_girl02.png");
	display: block;
	width: 470px;
	height: 543px;
	right: 18vw;
}

#concept article+article+article::after {
	content: "";
	background-image: url("../images/concept_girl03.png");
	display: block;
	width: 441px;
	height: 576px;
	right: 24vw;
}

@media screen and (max-width: 1600px) {
	#concept article h3 {
		margin: 50px 0 30px 150px;
	}

	#concept article p {
		width: 500px;
		font-size: 1.3rem;
		margin-left: 13vw;
	}

	#concept article::before {
		right: -180px;
	}

	#concept article+article::before {
		right: -170px;
	}

	#concept article+article+article::before {
		right: -170px;
	}

	#concept article::after {
		right: 16vw;
	}

	#concept article+article::after {
		right: 14vw;
	}

	#concept article+article+article::after {
		right: 14vw;
	}
}

/*-- cast.php --*/
#cast {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 100%;
	margin: 0 auto;
	min-width: 1200px;
}

#cast .cast-cont {
	padding: 0 0 80px 0;
}

#cast .cast-cont .search {
	background: #684517;
	width: 100%;
	margin: 30px 0;
	padding: 10px 0;
	display: flex;
	justify-content: center;
}

#cast .cast-cont .search div {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 14px;
	color: #fff;
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
}

#cast .cast-cont .search div:first-child {
	font-size: 18px;
	padding: 0 20px 0 0;
	border-right: #fff 1px solid;
}

#cast .cast-cont .search div:nth-child(n+2) {
	padding: 10px 0;
	margin-left: 25px;
}

#cast .cast-cont .search input[type="text"] {
	font-size: 14px;
	width: 160px;
	height: 24px;
	padding: 0 0 0 5px;
	border: none;
	border-radius: 0;
	outline: none;
	background: #fff;
}

#cast .cast-cont .search select {
	font-size: 14px;
	width: 160px;
	height: 24px;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: url(../images/arrow.png) right 10px center #fff no-repeat;
}

#cast .cast-cont .search input[type="submit"] {
	width: 160px;
	height: 24px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
}

@media screen and (min-width: 1451px) and (max-width: 1500px) {

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 150px;
	}
}

@media screen and (min-width: 1401px) and (max-width: 1450px) {

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 140px;
	}
}

@media screen and (min-width: 1351px) and (max-width: 1400px) {

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 130px;
	}
}

@media screen and (min-width: 1301px) and (max-width: 1350px) {

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 120px;
	}
}

@media screen and (min-width: 1251px) and (max-width: 1300px) {

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 110px;
	}
}

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

	#cast .cast-cont .search input[type="text"],
	#cast .cast-cont .search select,
	#cast .cast-cont .search input[type="submit"] {
		width: 100px;
	}
}

#cast .cast-cont .caption {
	text-align: center;
	width: 1000px;
	margin: 30px auto;
	background: linear-gradient(to right, #d3b149 0%, #ffedb4 50%, #d3b149 100%);
	letter-spacing: 0.2em;
	font-size: 1.8rem;
}

#cast .cast-cont .caption:hover {
	opacity: .8;
}

#cast .cast-cont .caption span {
	display: block;
	height: 100%;
	padding: 16px 0;
}

#cast .cast-cont>ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

#cast .cast-cont>ul>li {
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	/* margin: 2px; */
	box-sizing: border-box;
	margin-bottom: 10px;
}

#cast .cast-cont>ul>li a:first-of-type {
	color: #fff;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}

#cast .cast-cont>ul>li a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133%;
	/* 高さを幅の75%に固定 */
}

#cast .cast-cont>ul>li a>div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#cast .cast-cont>ul>li a:first-of-type>img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 100;
}

#cast .cast-cont>ul>li a:first-of-type:hover>img {
	clip-path: polygon(0 0, 100% 0%, 0 0, 0% 100%);
	z-index: 102;
}

#cast .cast-cont>ul>li .icon-twitter {
	right: 5px;
	top: calc(25.75vw - 80px);
	z-index: 200;
}

#cast .cast-cont>ul>li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 50%);
	display: inline-block;
	height: 120px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

#cast .cast-cont.new>ul>li::before {
	height: 220px;
}

#cast .cast-cont .icon-rank {
	width: 100%;
	vertical-align: top;
}

#cast .cast-cont .shop-icon {
	left: auto;
	right: 10px;
	top: 10px;
	z-index: 101;
}

#cast .cast-cont>ul>li a:hover .shop-icon {
	z-index: -1;
}

#cast .cast-box {
	z-index: 10;
	position: relative;
}

#cast .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../images/bg_name.jpg) no-repeat left top / cover;
	padding: 10px 0;
	text-align: center;
}

#cast .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}

#cast .cast-box figcaption .name .size {
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

#cast .cast-box figcaption .marquee {
	background: url(../images/bg_marquee.jpg) no-repeat center top / cover;
	width: 100%;
	padding: 0 20px;
}

#cast .cast-box figcaption .marquee .box {
	position: relative;
	overflow: hidden;
}

#cast .cast-box figcaption .marquee .box p {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.8rem;
	color: #000;
	margin: 0;
	padding: 14px 0 14px 100%;
	display: inline-block;
	white-space: nowrap;
	animation-name: marquee;
	animation-timing-function: linear;
	animation-duration: 15s;
	animation-iteration-count: infinite;
}

#cast .cast-box figcaption .marquee .box p::after {
	content: "";
	padding-right: 50px;
	white-space: nowrap;
}

@keyframes marquee {
	from {
		transform: translate(0%);
	}

	99%,
	to {
		transform: translate(-100%);
	}
}

/*-- contact.php --*/
#contact {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 96%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
	padding-bottom: 60px;
}

#contact h3 {
	color: #313131;
	font-size: 2.0rem;
	letter-spacing: 0.2em;
	text-align: center;
	margin: 50px auto 10px;
}

#contact p {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	line-height: 1.6em;
}

#contact .caption {
	color: #f00;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}

#form {
	margin: 50px auto;
	font-size: 1.4rem;
}

#contact_form {
	width: 100%;
}

#contact .tbl_form {
	display: table;
	border-collapse: separate;
	border-spacing: 6px 10px;
	width: 714px;
	margin: 0 auto 50px;
}

.tbl_form>dl {
	display: table-row;
}

.tbl_form>dl>dt {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	display: table-cell;
	letter-spacing: 1.5px;
	line-height: 1.6;
	vertical-align: top;
	width: 284px;
	border: 1px solid #a0a0a0;
	padding: 20px 0 15px 20px;
	margin: 0 5px 5px 0;
	font-weight: bold;
}

.tbl_form>dl>dd {
	display: table-cell;
	letter-spacing: 2px;
	line-height: 1.6;
	width: 419px;
	border: 1px solid #a0a0a0;
	padding: 15px 20px 15px;
	margin: 0 5px 5px 0;
}

.essential {
	margin-left: 4px;
	color: #ff2850;
	font-size: 1.2rem;
}

input,
select {
	vertical-align: middle;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	cursor: pointer;
	margin-top: -2px;
	padding: 8px 10px;
	box-sizing: border-box;
}

#form .tbl_form select {
	margin-right: 10px;
	width: 100%;
}

.input_inq1 {
	width: 100%;
	background-color: #f2f2f2;
	padding: 6px 10px;
}

.input_inq1 {
	width: 100%;
	background-color: #f2f2f2;
	padding: 6px 10px;
	box-sizing: border-box;
}

dl.radio-box dd span {
	color: #fff;
	padding-top: 2px;
}

ul,
ol,
li {
	list-style: outside none none;
}

.radio-box {
	margin-bottom: -6px;
}

ul.radio {
	width: 290px;
}

.fotm_list_inline li {
	margin-right: 14px;
	float: left;
}

label.input_radio {
	padding-left: 15px;
	position: relative;
}

label.input_radio::before,
label.input_checkbox::before,
.btn_confirm,
.fotm_list_inline li,
.ftxt3,
.ftxt4 {
	display: inline-block;
	vertical-align: middle;
}

dd#message-box {
	height: 300px;
}

.error_style {
	color: red;
}

.form_box1 {
	display: inline;
}

/*-- gonow.php --*/
#gonow {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 100%;
	margin: 0 auto;
	/* max-width: 2000px; */
	min-width: 1200px;
	overflow: hidden;
}

#gonow .cast-cont {
	padding: 5px 0px 30px 0px;
}

#gonow .cast-cont .caption {
	text-align: center;
	width: 1000px;
	margin: 30px auto;
	padding: 17px 0;
	background: linear-gradient(to right, #ba8f0d 0%, #ffedb4 50%, #ba8f0d 100%);
	letter-spacing: 0.2em;
	font-size: 1.8rem;
}

#gonow .cast-cont>ul {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin: 30px 0 100px;
}

#gonow .cast-cont>ul>li {
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin-bottom: 10px;
	box-sizing: border-box;
}

#gonow .cast-cont>ul>li a:first-of-type {
	color: #fff;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}

#gonow .cast-cont>ul>li a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133%;
}

#gonow .cast-cont>ul>li a>div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#gonow .cast-cont>ul>li a:first-of-type>img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 100;
}

#gonow .cast-cont>ul>li a:first-of-type:hover>img {
	clip-path: polygon(0 0, 100% 0%, 0 0, 0% 100%);
}

#gonow .cast-cont>ul>li .icon-twitter {
	right: 5px;
	top: calc(24vw - 80px);
	z-index: 200;
}

#gonow .cast-cont>ul>li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 50%);
	display: inline-block;
	height: 120px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

@keyframes zoom-in {
	0% {
		transform: scale(.8);
		opacity: 0;
	}

	100% {
		transform: none;
		opacity: 1;
	}
}

@keyframes rotate-right {
	0% {
		transform: translate(-100%) rotate(-100deg);
	}

	100% {
		transform: none;
	}
}

.is-animated {
	animation: 1.5s zoom-in;
}

#gonow #submenu {
	background: #684517;
	width: 100%;
	padding: 20px;
}

#gonow #submenu li {
	max-width: 250px;
	height: 38px;
	margin: 0 20px 0 0;
}

#gonow #submenu li .more-inner {
	line-height: 2.1;
}

#gonow #submenu li a {
	cursor: pointer;
}

#gonow #submenu li img {
	width: 100%;
}

#gonow .cast-cont .icon-rank {
	width: 100%;
	vertical-align: top;
}

#gonow .cast-box {
	z-index: 10;
	position: relative;
}

#gonow .cast-box figcaption .shop-name {
	font-size: 20px;
	color: #000;
	background: linear-gradient(to right, #c7a981, #fffff4 50%, #c7a981);
	text-align: center;
	line-height: 2;
}

#gonow .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../images/bg_name.jpg) no-repeat left top / cover;
	padding: 10px 0;
	text-align: center;
}

#gonow .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}

#gonow .cast-box figcaption .name .size {
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

/*-- link.php --*/
#link {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 96%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
}

#link .top-header span {}

#link article {
	margin: 80px 0 110px;
	text-align: center;
}

#link article h3 {
	font-size: 2.0rem;
	margin-bottom: 10px;
	letter-spacing: 0.2em;
	line-height: 1.4em;
}

#link article p {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	margin-bottom: 40px;
	line-height: 1.8em;
}

#link .link-list {}

#link .link-list li {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-top: 10px;
}

/*-- magazine.php --*/
#magazine {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 96%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
}

#magazine .top-header span {}

#magazine .top-header h2 em {
	right: -120px;
	bottom: -14px;
}

#magazine .magazine-cont01 {
	background-image: url("../images/magazine_bg.jpg");
	background-repeat: no-repeat;
	background-position: top;
	height: 824px;
	text-align: center;
	color: #684517;
	margin-top: 40px;
	overflow: hidden;
	margin-bottom: 80px;
	background-attachment: fixed;
	background-size: cover;
}

#magazine .magazine-cont01 h3 {
	margin-top: 170px;
	font-family: 'Lusitana', serif;
	font-size: 9.0rem;
	display: inline-block;
	position: relative;
	margin-bottom: 50px;
}

#magazine .magazine-cont01 h3::after {
	content: "";
	background-image: url("../images/logo03.png");
	display: inline-block;
	height: 68px;
	width: 139px;
	position: absolute;
	right: 30px;
	top: 50px;
}

#magazine .magazine-cont01 h3 span {
	display: block;
	font-size: 4.0rem;
	letter-spacing: 0.2em;
	margin-top: 40px;
}

#magazine .magazine-cont01>p {
	line-height: 30px;
	letter-spacing: 0.2em;
}

#magazine .magazine-cont01>p em {
	color: #ee251d;
	font-size: 2.0rem;
	margin: 10px 0;
	display: block;
}

#magazine .magazine-cont02 {
	color: #684517;
	text-align: center;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	letter-spacing: 0.2rem;
	margin-bottom: 230px;
}

#magazine .magazine-cont02 .magazine-qr {
	margin: 50px 0 20px;
}

#magazine .magazine-cont02 h4 {
	font-weight: bold;
}

#magazine .magazine-cont02>p {
	margin-bottom: 30px;
	line-height: 1.6em;
	margin-top: 10px;

	span {
		color: #ee251d;
	}
}

#magazine .magazine-cont02 .more {
	margin-bottom: 50px;
}

#magazine .magazine-cont02 img {
	margin-top: 10px;
}

/*--newface.php --*/
#newface {
	position: relative;
	margin-top: -120px;
	padding-top: 120px;
	background-color: #fff;
	padding-bottom: 40px;
}

#newface h2 {
	background-image: url("../images/title_bg01.jpg");
	height: 340px;
	background-position: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#newface h2 span {
	font-family: 'Lusitana', serif;
	font-size: 6.0rem;
	text-align: center;
}

#newface h2 span em {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	margin-top: 20px;
}

#newface article {
	background-image: url("../images/newface_bg01.jpg");
	background-repeat: no-repeat;
	margin: 50px auto 90px;
	display: flex;
	justify-content: center;
	height: 700px;
	padding: 0px 0 50px;
	align-items: flex-end;
	min-width: 1200px;
}

#newface article .cast-box {
	max-width: 480px;
	width: 40%;
	position: relative;
}

#newface article .cast-box::after {
	content: "";
	width: 480px;
	height: 640px;
	display: block;
	position: absolute;
	background-color: #684517;
	top: -30px;
	left: -30px;
}

#newface article .cast-box>a:first-of-type {
	z-index: 10;
	position: relative;
}

#newface article .cast-box>a:first-of-type img {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	opacity: 1;
	z-index: 10;
	position: relative;
}

#newface article .cast-box .icon-twitter {
	right: 5px;
	bottom: 10px;
	z-index: 10;
}

#newface article .cast-box .icon-inexperienced {
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 10;
}

#newface article .cast-box .icon-inexperienced img {
	width: 120px;
}

#newface article .cast-box figcaption {
	position: absolute;
	bottom: -70px;
	right: 10vw;
	color: #fff;
	background-color: rgba(104, 69, 23, .8);
	padding: 30px 20px;
	z-index: 10;
}

#newface article .cast-box figcaption>img {
	width: 180px;
}

#newface article .cast-box figcaption .prof {
	margin: 0 10px;
	line-height: 1em;
}

#newface article .cast-box figcaption .prof .name {
	font-size: 3.6rem;
	display: block;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 300px;
	padding: 20px 0;
}

#newface article .cast-box figcaption .prof .age {
	font-family: 'Playfair Display', serif;
	display: block;
	font-size: 1.4rem;
	margin-bottom: 10px;
}

#newface article .cast-box figcaption .prof .size {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}

#newface article h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.2rem;
	letter-spacing: 0.4em;
	font-style: italic;
	margin: 0 0 10px 20px;
}

#newface article h3 span {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	display: block;
	font-style: normal;
	font-size: 3.0rem;
	letter-spacing: 0.4em;
	margin-top: 10px;
}

#newface article .newface-cont {
	width: 60%;
	color: #684517;
	margin-left: 50px;
}

#newface article .newface-cont .newface-inner {
	background-color: #fff;
	color: #684517;
	padding: 30px;
}

#newface article .newface-cont .newface-inner .more-btn {
	margin-top: 30px;
	width: 320px;
}

#newface article .newface-cont .newface-inner .more-btn span {
	font-size: 1.2em;
}

#newface article .newface-cont .newface-inner .newface-text {
	font-size: 1.8rem;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	height: 340px;
	overflow-y: auto;
	margin-bottom: 10px;
	line-height: 1.8em;
}

/*-- news.php --*/
#news {
	position: relative;
	margin-top: -120px;
	padding-top: 120px;
	background-color: #fff;
	padding-bottom: 80px;
	background-image: url("../images/news_bg.jpg");
	background-position-y: 120px;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

#news h2 {
	background-image: url("../images/news_bg.jpg");
	height: 340px;
	background-position: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#news h2 span {
	font-family: 'Lusitana', serif;
	font-size: 6.0rem;
	text-align: center;
}

#news h2 span em {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	margin-top: 20px;
}

#news article {
	min-width: 1280px;
	background-color: #fff;
	width: 92%;
	max-width: 2000px;
	margin: 0 auto 30px;
}

#news article ul {
	display: flex;
}

#news article ul li {
	max-width: 330px;
	width: 40%;
	position: relative;
}

#news article ul li+li {
	width: 60%;
	max-width: none;
	flex-grow: 2;
	padding: 30px;
}

#news article ul li+li .more-btn {
	margin-top: 30px;
	width: 270px;
}

#news article ul li+li .more-btn span {
	font-size: 1.2em;
}

#news article ul li img {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

#news article ul li .news-cap {
	color: #fff;
	text-align: right;
	background-color: #684517;
	display: inline-block;
	padding: 10px 30px 0px;
	position: absolute;
	left: -80px;
	bottom: 20px;
	font-family: 'Lusitana', serif;
}

#news article ul li .news-cap span {
	display: block;
	font-size: 3.0rem;
	font-style: italic;
}

#news article ul li .news-cap span+span {
	font-size: 4.0rem;
	line-height: 1em;
}

#news article ul li .news-cap span+span+span {
	font-size: 10.0rem;
	margin: -6px 4px 0px 0px;
}

#news article ul li .news-day {
	position: absolute;
	top: 20px;
	right: -6px;
	color: #fff;
	background-color: #684517;
	letter-spacing: 0.4em;
	font-weight: lighter;
	padding: 12px 30px;
}

#news article ul li .news-day::after {
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 8px transparent;
	border-left: solid 6px #684517;
}

#news article ul li h3 {
	font-size: 1.8rem;
	letter-spacing: 0.4em;
	width: calc(100% - 300px);
}

#news article ul li .news-cont {
	font-size: 1.4rem;
	margin-top: 30px;
	height: 250px;
	overflow-y: auto;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	line-height: 30px;
	margin-bottom: 20px;
}

#news article ul li .news-cont .name {
	font-size: 1.8rem;
}

#news article ul li .news-cont .name span {
	display: block;
	font-size: 1.4rem;
}

#news article ul li .news-cont .name span em {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}

/*-- profile.php --*/
#prof-wrapper {
	display: flex;
}

#profile {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 96%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
}

#profile .top-header h2 em {
	right: -140px;
	bottom: -4px;
}

#profile .top-header span {}

#profile .cast-cont {
	padding: 5px 5px 30px 5px;
}

#profile .profile-nav {}

#profile .profile-nav ul {
	display: flex;
	width: 1000px;
	margin: 30px auto;
}

#profile .profile-nav li {
	font-family: 'Playfair Display', serif;
	font-size: 1.8rem;
	letter-spacing: 2px;
	color: #684517;
	text-align: center;
	line-height: 60px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	background-size: 100%;
	background-position: -50% 0;
	position: relative;
	margin: 0 10px;
}

#profile .profile-nav li a {
	color: #684517;
	font-size: 1.8rem;
	display: block;
}

#profile .profile-nav li a span {
	font-size: 1.4rem;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	margin-left: 0.4em;
}

#profile .profile-nav li:last-child a span {
	margin-left: 0;
	margin-right: 0.4em;
}

#profile .thum-wrap {
	position: relative;
}

#profile .thum-wrap .cast-slider {
	width: 96%;
	max-width: 1900px;
	margin: 0 auto;
}

#profile .thum-wrap .icon-twitter {
	right: 510px;
	bottom: 10px;
	z-index: 2;
}

@media screen and (max-width: 1500px) {
	#profile .thum-wrap .icon-twitter {
		right: 315px;
	}
}

.cast-slider>div>img {
	opacity: 0.8;
}

#profile .slick-initialized .slick-slide {
	display: block;
	position: relative;
}

#profile .slick-slide img {
	width: 100%;
	opacity: 0.5;
}

#profile .slick-slide::before {
	opacity: 0.5;
}

#profile .slick-dotted.slick-slider {
	margin-bottom: 50px;
}

#profile .slick-center img {
	opacity: 1;
}

#profile .slick-center::before {
	opacity: 1;
}

#profile .slick-list {
	background-color: #000;
}

#profile .cast-slider .prev,
.cast-slider .next {
	position: absolute;
	top: 50%;
	z-index: 1;
	cursor: pointer;
}

#profile .cast-slider .prev {
	right: 70%;
}

#profile .cast-slider .next {
	left: 70%;
	transform: scale(-1, 1);
}

@media screen and (max-width: 1500px) {
	#profile .cast-slider .prev {
		right: 74%;
	}

	#profile .cast-slider .next {
		left: 74%;
		transform: scale(-1, 1);
	}
}

#profile .prof-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}

#profile .prof-icon .icon-rank img {
	vertical-align: top;
}

#profile .prof-icon .nomination {
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	height: 48px;
	margin-left: 20px;
	text-align: center;
	line-height: 48px;
	font-size: 2.4rem;
	padding: 0 1em;
	min-width: 330px;
}

#profile .prof-icon .nomination span {
	margin-right: 20px;
}

#profile .prof-icon.new {
	flex-wrap: wrap;
}

#profile .prof-icon.new .icon-rank {
	width: 100%;
	margin-bottom: 30px;
	text-align: center;
}

#profile .prof-icon.new .nomination {
	margin-left: 0;
}

#profile .prof-info {
	text-align: center;
	margin-bottom: 30px;
}

#profile .prof-info .name {
	font-size: 4.0rem;
	display: block;
	margin-bottom: 6px;
}

#profile .prof-info span {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

#profile .prof-info span.age {
	font-family: 'Prata', serif;
	margin-bottom: 6px;
}

#profile .prof-info span.size {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}

#profile .prof-type {
	display: flex;
	min-width: 800px;
	width: 70%;
	margin: 0 auto 40px;
	justify-content: center;
}

#profile .prof-type li {
	color: #fff;
	width: calc(100%/6);
	text-align: center;
	margin: 0 2px;
	background: linear-gradient(to right, #000 0%, #242424 50%, #464646 100%);
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	letter-spacing: 0.04em;
	padding: 6px 0;
}

#profile .prof-other {
	display: flex;
	width: 96%;
	max-width: 1600px;
	margin: 0 auto 30px;
}

#profile .prof-other li {
	background-image: url("../images/profile_cont_bg.jpg");
	background-repeat: no-repeat;
	width: calc(100%/3);
	height: 100px;
	background-size: contain;
	padding: 0;
	position: relative;
}

#profile .prof-other li:nth-child(2) {
	margin: 0 10px;
}

#profile .prof-other li a {
	display: block;
	height: 100%;
	color: #684517;
	font-size: 3.0rem;
	position: absolute;
	top: 50px;
	bottom: 0;
	left: 30px;
	right: 0;
	margin: auto;
}

#profile .prof-cont01 {
	display: flex;
	justify-content: space-between;
	width: 96%;
	margin: 0 auto 60px;
	max-width: 1600px;
}

#profile .prof-cont01>section {
	width: calc(calc(100%/2) - 20px);
}

#profile .prof-cont01 .qa>div {
	overflow-y: auto;
	height: 400px;
	margin: 20px 0;
}

#profile .prof-cont01 h3 {
	background-image: url("../images/profile_title01.jpg");
	background-repeat: no-repeat;
	color: #684517;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	padding-left: 30px;
	line-height: 50px;
	letter-spacing: 0.1em;
}

#profile .prof-cont01 .qa dl {
	display: flex;
	min-height: 70px;
	align-items: center;
	border-bottom: solid 1px #a9a9a9;
	width: 100%;
	margin: 0 auto;
	padding: 1em 1em 1em 2em;
	max-width: 1000px;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	letter-spacing: .1em;
}

#profile .prof-cont01 .qa dl dt {
	flex-basis: 30%;
	color: #ee251d;
	font-size: 1.4rem;
	font-weight: bold;
}

#profile .prof-cont01 .qa dl dd {
	flex-basis: 70%;
	font-size: 1.8rem;
	word-break: break-all;
}

#profile .prof-cont01 .comment {}

#profile .prof-cont01 .comment>div {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	margin: 20px 10px;
	height: 400px;
	overflow-y: auto;
	font-size: 1.4rem;
	line-height: 2em;
	font-weight: bold;
}

#profile .option {
	background-image: url("../images/profile_option_bg.jpg");
	height: 110px;
	width: 96%;
	margin: 0 auto 30px;
	max-width: 1600px;
	display: flex;
	align-items: center;
	padding: 0 30px;
}

#profile .option h3 {
	color: #fff;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	min-width: 240px;
}

#profile .option h3 span {
	display: block;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.6rem;
	margin-top: 10px;
}

#profile .option ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: 80px;
	margin-left: 30px;
}

#profile .option ul li {
	color: #684517;
	width: calc(12.5% - 10px);
	height: 30px;
	text-align: center;
	font-size: 1.4rem;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	margin: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
}

#profile .option ul li.off {
	background: linear-gradient(to right, #929291 0%, #e8e8e8 100%);
	color: #fff;
}

#profile .prof-cont02 {
	display: flex;
	justify-content: space-between;
	width: 96%;
	margin: 0 auto 60px;
	max-width: 1600px;
}

#profile .prof-cont02 section {}

#profile .prof-cont02 .prof-schedule {
	flex-grow: 1;
	margin-right: 40px;
}

#profile .prof-cont02 .prof-schedule h3 {
	background-image: url("../images/profile_title02.jpg");
	background-repeat: no-repeat;
	color: #684517;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	padding-left: 30px;
	line-height: 50px;
	letter-spacing: 0.1em;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box {
	border-bottom: solid 20px #684517;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl {
	display: flex;
	min-height: 74.4px;
	border-bottom: solid 1px #000;
	width: 100%;
	margin: 0 auto;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt {
	background-color: #f1f2f3;
	display: flex;
	align-items: center;
	flex-basis: 280px;
	justify-content: center;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt>span {
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt>span+span {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	display: inline-block;
	background-color: #684517;
	color: #fff;
	width: 50px;
	text-align: center;
	padding: 6px 0;
	margin-left: 15px;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd {
	display: flex;
	flex-grow: 1;
	align-items: center;
	background-color: #fff;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd>span {
	font-family: 'Lusitana', serif;
	font-size: 2.0rem;
	flex-grow: 3;
	text-align: center;
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd .reserve {
	font-size: 2.0rem;
	color: #684517;
	display: inline-block;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	width: 250px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	margin-right: 5%;
	position: relative;
}

@media screen and (max-width: 1500px) {
	#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt {
		flex-basis: 160px;
	}

	#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd .reserve {
		width: 180px;
	}
}

#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dd .reserve::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 25%;
	width: 0;
	height: 0;
	margin-top: -6px;
	border-top: 6px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 7px solid #ffc53b;
}

.sat {
	color: #77c9f8 !important;
}

.sun {
	color: #fd5555 !important;
}

.yasumi,
.mitei {
	font-size: 2.4rem !important;
}

#profile .prof-cont02 .prof-photo {
	background-image: url("../images/profile_photo_bg.jpg");
	width: 600px;
	height: 590px;
}

#profile .prof-cont02 .prof-photo h3 {
	color: #684517;
	height: 50px;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	padding-left: 30px;
	line-height: 50px;
	letter-spacing: 0.1em;
}

#profile .prof-cont02 .prof-photo iframe {
	overflow-x: hidden;
	margin: 0 15px;
	width: calc(100% - 30px);
	height: 520px;
}

/*-- ranking.php --*/
#ranking {
	position: relative;
	margin-top: -120px;
	padding-top: 120px;
	background-color: #fff;
}

#ranking .ranking-1_5 {
	margin-bottom: 60px;
}

#ranking h2 {
	background-image: url("../images/title_bg01.jpg");
	height: 340px;
	background-position: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#ranking h2 span {
	font-family: 'Lusitana', serif;
	font-size: 6.0rem;
	text-align: center;
}

#ranking h2 span em {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	margin-top: 20px;
}

#ranking article {
	background-repeat: no-repeat;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
	height: 740px;
	padding: 0 0 50px;
	align-items: flex-end;
	min-width: 1200px;
	position: relative;
	overflow: hidden;
}

#ranking article::before {
	content: "";
	background-image: url("../images/ranking_bg_left.png");
	width: 1000px;
	height: 23vw;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: contain;
}

#ranking article::after {
	content: "";
	background-image: url("../images/ranking_bg_right.png");
	width: 558px;
	height: 12vw;
	position: absolute;
	bottom: 0;
	right: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right;
}

#ranking article .cast-box {
	max-width: 480px;
	width: 40%;
	position: relative;
	margin-left: 15px;
	min-width: 480px;
}

#ranking article .cast-box>img {
	vertical-align: bottom;
}

#ranking article .cast-box::after {
	content: "";
	background-image: url("../images/ranking_frame01.png");
	display: inline-block;
	width: 510px;
	height: 670px;
	position: absolute;
	top: -15px;
	left: -15px;
}

#ranking article+article .cast-box::after {
	background-image: url("../images/ranking_frame02.png");
}

#ranking article+article+article .cast-box::after {
	background-image: url("../images/ranking_frame03.png");
}

#ranking article+article+article+article .cast-box::after {
	background-image: none;
}

#ranking article .cast-box>a:first-of-type img {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	z-index: 10;
	position: relative;
	opacity: 1;
}

#ranking article .cast-box .icon-twitter {
	right: 5px;
	bottom: 10px;
	z-index: 10;
}

#ranking article .ranking-cont {
	width: 60%;
	margin-left: 60px;
	margin-bottom: 40px;
	max-width: 830px;
	position: relative;
}

#ranking article .ranking-cont::after {
	content: "";
	background-image: url("../images/rank_no1.png");
	width: 476px;
	height: 295px;
	display: inline-block;
	position: absolute;
	top: -100px;
	right: -170px;
}

#ranking article+article .ranking-cont::after {
	background-image: url("../images/rank_no2.png");
}

#ranking article+article+article .ranking-cont::after {
	background-image: url("../images/rank_no3.png");
}

#ranking article+article+article+article .ranking-cont::after {
	background-image: url("../images/rank_no4.png");
}

#ranking article+article+article+article+article .ranking-cont::after {
	background-image: url("../images/rank_no5.png");
}

#ranking article .ranking-cont h3 {
	font-size: 4.0rem;
	margin: 10px 0;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1;
}

#ranking article .ranking-cont .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.4rem;
	margin-bottom: 10px;
}

#ranking article .ranking-cont .size {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	position: relative;
	display: inline-block;
	margin-bottom: 60px;
	letter-spacing: 0.1em;
}

#ranking article .ranking-cont .size::after {
	content: "";
	border-bottom: solid 3px #000;
	display: inline-block;
	width: 45px;
	position: absolute;
	bottom: -10px;
	left: 0;
}

#ranking article .ranking-cont .ranking-text {
	color: #684517;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	height: 230px;
	overflow-y: auto;
	line-height: 30px;
	padding-right: 10px;
	margin-bottom: 30px;
}

#ranking article .ranking-cont .more-btn {
	margin-top: 30px;
	width: 270px;
}

#ranking article .ranking-cont .more-btn span {
	font-size: 1.2em;
}

#ranking .ranking-6 {
	display: flex;
	max-width: 1790px;
	width: 90%;
	margin: 0 auto;
	justify-content: space-between;
	min-width: 1200px;
	padding-bottom: 80px;
}

#ranking .ranking-6 li {
	background-color: #000;
	color: #fff;
	padding: 10px;
	width: calc(calc(100%/5) - 10px);
	background-image: url("../images/ranking_bg_6.jpg");
}

#ranking .ranking-6 li figure {
	position: relative;
}

#ranking .ranking-6 li>img {
	width: 100%;
	vertical-align: top;
	margin-bottom: 10px;
}

#ranking .ranking-6 li figure a>img {
	width: 100%;
}

#ranking .ranking-6 li figure .icon-twitter {
	right: 5px;
	top: calc(21vw - 80px);
}

#ranking .ranking-6 li figcaption {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

#ranking .ranking-6 li figcaption>img {
	min-width: 80px;
	margin-top: 4px;
}

#ranking .ranking-6 li figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	color: #684517;
	margin-left: 20px;
}

#ranking .ranking-6 li figcaption .age {
	font-family: 'Playfair Display', serif;
}

#ranking .ranking-6 li figcaption .size {
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

/*-- schedule.php --*/
#schedule {
	width: 100%;
	margin: 0 auto;
	background-color: rgba(255, 255, 255, .9);
}

#schedule .top-header {
	background-image: url("../images/title_bg02.png");
	height: 120px;
	background-repeat: no-repeat;
	position: relative;
}

#schedule .top-header h2 {
	margin: 28px 0 0 20px;
}

#schedule .schedule-calendar {
	display: flex;
	justify-content: center;
	width: 80%;
	margin: 0 auto 30px;
}

#schedule .schedule-calendar li {
	color: #fff;
	width: calc(100%/7);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Playfair Display', serif;
	font-size: 2.4rem;
	line-height: 1em;
	margin: 20px 6px 0;
	background: #a18c6f;
	/* Old browsers */
	background: -moz-linear-gradient(top, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #a18c6f 0%, #fffef6 28%, #bbae9d 51%, #fffee6 72%, #a18c6f 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a18c6f', endColorstr='#a18c6f', GradientType=0);
	/* IE6-9 */
	padding: 1px;
}

#schedule .schedule-calendar li.effect-fade {
	transition: 0.3s;
	transition-delay: 0.1s;
}

#schedule .schedule-calendar li+li.effect-fade {
	transition-delay: 0.2s;
}

#schedule .schedule-calendar li+li+li.effect-fade {
	transition-delay: 0.3s;
}

#schedule .schedule-calendar li+li+li+li.effect-fade {
	transition-delay: 0.4s;
}

#schedule .schedule-calendar li+li+li+li+li.effect-fade {
	transition-delay: 0.5s;
}

#schedule .schedule-calendar li+li+li+li+li+li.effect-fade {
	transition-delay: 0.6s;
}

#schedule .schedule-calendar li+li+li+li+li+li+li.effect-fade {
	transition-delay: 0.7s;
}

#schedule .schedule-calendar li a {
	color: #684517;
	display: flex;
	align-items: flex-end;
	padding: 8px 20px 10px;
	background-color: #fff;
	justify-content: center;
	width: 100%;
}

#schedule .schedule-calendar li a span {
	color: #fff;
	background: #684517;
	font-size: 1.2rem;
	min-width: 36px;
	display: inline-block;
	margin-left: 6px;
	text-align: center;
	height: 20px;
	line-height: 20px;
}

#schedule .schedule-cont {
	padding: 5px 0 80px 0;
}

#schedule .schedule-day {
	background: linear-gradient(to right, #c7a981, #fffff4 50%, #c7a981 100%);
	text-align: center;
	width: 98%;
	margin: 10px auto;
	padding: 4px;
	height: 40px;
	line-height: 36px;
}

#schedule .schedule-cont .schedule-box {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

#schedule .schedule-cont .schedule-box>li {
	background-image: url(../images/top_cast_bg.jpg);
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin-bottom: 10px;
	box-sizing: border-box;
}

#schedule .schedule-cont .schedule-box>li a:first-child {
	color: #fff;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}

#schedule .schedule-cont .schedule-box>li a:first-child::before {
	content: "";
	display: block;
	padding-top: 133%;
}

#schedule .schedule-cont .schedule-box>li a>div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#schedule .schedule-cont .schedule-box>li a:first-child>img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	transition: 0.6s;
	z-index: 100;
}

#schedule .schedule-cont .schedule-box>li a:first-child:hover>img {
	clip-path: polygon(0 0, 100% 0%, 0 0, 0% 100%);
}

#schedule .schedule-cont .schedule-box>li .icon-twitter {
	right: 5px;
	top: calc(25.75vw - 80px);
	z-index: 200;
}

#schedule .schedule-cont .schedule-box>li::before {
	content: "";
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 40%);
	display: inline-block;
	height: 270px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

#schedule .schedule-cont .icon-rank {
	width: 100%;
	vertical-align: top;
}

#schedule .schedule-cont .schedule-box>li a .shop-icon {
	left: auto;
	right: 10px;
	top: 10px;
	z-index: 101;
}

#schedule .schedule-cont .schedule-box>li a:hover .shop-icon {
	z-index: -1;
}

#schedule .cast-box {
	z-index: 10;
	position: relative;
}

#schedule .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../images/bg_name.jpg) no-repeat left top / cover;
	width: 100%;
	padding: 10px 0;
	text-align: center;
}

#schedule .cast-box figcaption .name .age {
	font-family: 'Playfair Display', serif;
	font-size: 1.6rem;
	font-weight: normal;
}

#schedule .cast-box figcaption .name .size {
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 6px;
}

#schedule .cast-box figcaption .time svg {
	position: relative;
	top: 3px;
	width: 20px;
	fill: #684517;
}

#schedule .cast-box figcaption .time {
	height: 30px;
	background: url(../images/bg_time.jpg) no-repeat top center / cover;
	text-align: left;
	line-height: 1.6em;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 2.0rem;
	font-weight: bold;
	padding: 0 15px;
	text-align: center;
}

#schedule .cast-box figcaption .waiting-time {
	background-color: #fff;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 15px;
	height: 30px;
	/*background: -webkit-repeating-linear-gradient(-45deg, #f7e2c7 0, #f7e2c7 3px, #fff 3px, #fff 5px);
	background: repeating-linear-gradient(-45deg, #f7e2c7 0, #f7e2c7 3px, #fff 3px, #fff 5px);*/
	line-height: 30px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	text-align: center;
}

/*-- system.php --*/
#system {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 96%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
}

#system .system-nav {
	margin: 30px auto;
	max-width: 1600px;
	width: 90%;
}

#system .system-nav ul {
	display: flex;
	justify-content: center;
	gap: 0 30px;
	letter-spacing: 0.1em;
}

#system .system-nav ul li {
	background: linear-gradient(to left, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	width: calc(calc(100%/5) - 10px);
	height: 60px;
	text-align: center;
	line-height: 60px;
}

#system .system-nav ul li a {
	color: #684517;
	display: block;
	height: 100%;
	z-index: 1000;
	position: relative;
}

#system .system-nav ul li a img {
	width: 50%;
	max-width: 100%;
	vertical-align: text-bottom;
	opacity: 1;
}

#system .point {
	background-color: #000;
	color: #8f6c3e;
	padding: 40px 0;
	background: -webkit-repeating-linear-gradient(-45deg, #ece3d1 0, #ece3d1 3px, #fff 3px, #fff 6px);
	background: repeating-linear-gradient(-45deg, #ece3d1 0, #ece3d1 3px, #fff 3px, #fff 6px);
	position: relative;
	margin-bottom: 20px;
}

#system .point::before {
	content: "";
	background-image: url("../images/ring.png");
	width: 180px;
	height: 122px;
	display: inline-block;
	position: absolute;
	top: 40px;
	left: 20%;
}

#system .point::after {
	content: "";
	background-image: url("../images/compact.png");
	display: inline-block;
	width: 220px;
	height: 230px;
	position: absolute;
	top: 40px;
	right: 10%;
}

#system .point h3 {
	text-align: center;
	font-family: 'Lusitana', serif;
	font-size: 1.4rem;
	margin-bottom: 30px;
}

#system .point h3 span {
	display: block;
	font-size: 3.6rem;
	font-weight: bold;
	margin-top: 20px;
}

#system .point>p {
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 30px;
	margin-bottom: 30px;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

#system .point>p span {
	color: #ee251d;
}

#system .point .point-box {
	background-color: #fff;
	max-width: 880px;
	width: 96%;
	margin: 0 auto;
	color: #684517;
}

#system .point .point-box ul {
	display: flex;
	width: 580px;
	margin: 0 auto;
	flex-wrap: wrap;
}

#system .point .point-box ul li {
	width: calc(100%/2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: dotted 1px;
	height: 110px;
}

#system .point .point-box ul li:nth-child(n + 5) {
	border-bottom: none;
}

#system .point .point-box ul li p {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 26px;
	margin-left: 10px;
}

#system .point .point-box ul li:nth-child(odd) p {
	margin-left: 0;
}

#system .point .point-box ul li p+p {
	font-size: 7.7rem;
	color: #ee251d;
	line-height: 1;
	letter-spacing: -0.1em;
	position: relative;
	padding-right: 45px;
	margin-right: 30px;
}

#system .point .point-box ul li:nth-child(even) p+p {
	margin-right: 0;
}

#system .point .point-box ul li p+p span {
	display: inline-block;
	background-color: #ee251d;
	border-radius: 50%;
	font-size: 2.4rem;
	color: #fff;
	font-family: 'Playfair Display', serif;
	width: 40px;
	height: 40px;
	letter-spacing: 0;
	text-align: center;
	line-height: 35px;
	position: absolute;
	bottom: 10px;
	right: 0;
}

#system .price {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
	max-width: 1380px;
	margin: 0 auto 20px;
	width: 96%;
}

#system .price>div {
	max-width: 670px;
	overflow: hidden;
	background: linear-gradient(to top, #c7a981, #fffff4 30%, #fffff4 70%, #c7a981);
	width: 49%;
	position: relative;
	z-index: 10;
}

#system .price>div::before {
	content: "";
	background-image: url("../images/system_bg01.jpg");
	width: 100%;
	height: 350px;
	display: inline-block;
	position: absolute;
	top: 0;
	z-index: -1;
	background-repeat: no-repeat;
}

#system .price:nth-of-type(3)>div::before {
	background-image: url("../images/system_bg02.jpg");
}

#system .price>div+div::before {
	content: "";
	background-image: url("../images/system_bg01.jpg");
	width: 100%;
	height: 350px;
	display: inline-block;
	position: absolute;
	top: 0;
	z-index: -1;
	background-repeat: no-repeat;
}

#system .price article {
	background-color: #fff;
	margin: 30px 36px;
	overflow: hidden;
	border: solid 1px #684517;
}

#system .price:nth-of-type(3) article {
	border: solid 1px #684517;
}

#system .price article h3 {
	background-color: #8f6c3e;
	margin: 20px 0;
	color: #fff;
	text-align: center;
	padding: 24px 0;
	font-size: 3.0rem;
	line-height: 1;
	font-style: italic;
}

#system .price:nth-of-type(3) article h3 {
	background-color: #8f6c3e;
	margin: 20px 0;
	color: #fff;
	text-align: center;
	padding: 24px 0;
	font-size: 3.0rem;
	line-height: 1;
	font-style: italic;
}

#system .price article h3 span {
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	margin-top: 6px;
}

#system .price article .caption {
	text-align: center;
	font-size: 2.0rem;
	font-style: italic;
	margin-bottom: 15px;
}

#system .price article .caption>span {
	font-size: 1.2em;
}

#system .price article .caption dl {
	font-family: 'Prata', serif;
}

#system .price article>dl {
	align-items: center;
	width: 460px;
	margin: 0 auto;
	text-align: right;
	font-family: 'Prata', serif;
	font-style: italic;
	display: flex;
	margin-bottom: 20px;
}

#system .price article>dl dt {
	font-size: 2.4rem;
	margin-right: 20px;
	display: inline-block;
	text-align: end;
	float: left;
	width: calc(34% - 20px);
}

#system .price article>dl dd {
	color: #ee251d;
	font-size: 3.4rem;
	letter-spacing: -0.05em;
	float: left;
	text-align: left;
	width: 66%;
	font-weight: 100;
}

#system .price article>dl dd span {
	font-size: 1.8rem;
}

#system .price article .encho {
	border-top: solid 1px #acabab;
	border-bottom: solid 1px #acabab;
	text-align: center;
	width: 70%;
	margin: 0 auto 20px;
	padding: 20px 0;
	font-style: italic;
}

#system .price article .encho dl {
	display: flex;
	align-items: center;
	justify-content: center;
}

#system .price article .encho dl dt {
	font-size: 2.0rem;
	margin-right: 10px;
}

#system .price article .encho dl dd {
	color: #ee251d;
	font-size: 3.4rem;
	letter-spacing: -0.05em;
	font-family: 'Prata', serif;
}

#system .price article .encho dl dd span {
	font-size: 1.8rem;
}

#system .price article .nominate {
	text-align: center;
	font-style: italic;
}

#system .price article .nominate dl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}

#system .price article .nominate dl dt {
	font-size: 2.0rem;
	margin-right: 10px;
}

#system .price article .nominate dl dd {
	color: #ee251d;
	font-size: 3.4rem;
	letter-spacing: -0.05em;
	font-family: 'Prata', serif;
}

#system .price article .nominate dl dd>span {
	font-size: 0.7em;
	margin: 0 4px;
}

#system .price article .nominate dl dd>span:last-child {
	font-size: 1.8rem;
	margin: 0;
}

@media screen and (max-width: 1350px) {
	#system .price article .nominate dl dd>span:last-child {
		line-height: 1.6;
		display: block;
	}
}

#system .price article .example {
	background-color: #f2f2f2;
	margin: 30px;
	text-align: center;
	padding: 20px 0;
	font-style: italic;
}

#system .example h4 {
	background-color: #684517;
	color: #fff;
	width: 60%;
	margin: 0 auto 10px;
	height: 30px;
	line-height: 30px;
}

#system .example dl {
	margin-bottom: 20px;
}

#system .example dl dt {
	font-size: 1.4rem;
	margin-bottom: 6px;
	font-weight: bold;
}

#system .example dl dd {
	margin-bottom: 20px;
	font-style: italic;
	font-size: 2.0rem;
	font-family: 'Prata', serif;
}

#system .example dl dd>span {
	font-size: 0.9em;
	font-weight: bold;
	margin-right: 4px;
}

#system .example dl dd i {
	font-size: 1.4rem;
	line-height: 2;
}

#system .example p {
	line-height: 1.4em;
}

#system .other {
	background: linear-gradient(to left, #c7a981, #fffff4 50%, #c7a981);
	width: 96%;
	margin: 0 auto 20px;
	text-align: center;
	font-size: 2.0rem;
	font-style: italic;
	line-height: 50px;
	position: relative;
	padding: 30px 0;
}

#system .other span {
	color: #ee251d;
	font-family: 'Prata', serif;
	font-size: 3.0rem;
	letter-spacing: -0.05em;
	margin-right: 4px;
}

#system .other em {
	font-size: 1.4rem;
}

#system .basic-play {
	background-image: url("../images/system_basic_bg.jpg");
	text-align: center;
	height: 320px;
	background-size: cover;
	color: #fff;
	margin-bottom: 20px;
	overflow: hidden;
}

#system .basic-play h3 {
	font-family: 'Lusitana', serif;
	font-size: 2.8rem;
	margin: 90px 0 30px;
}

#system .basic-play h3 span {
	display: block;
	font-size: 1.6rem;
	margin-top: 4px;
	letter-spacing: 0.1em;
}

#system .basic-play p {
	font-size: 2.0rem;
	line-height: 1.4em;
	letter-spacing: 0.1em;
}

#system .option {
	background-color: #fff;
	width: 90%;
	margin: 0 auto 20px;
	border: solid 1px #141313;
	text-align: center;
	position: relative;
	padding: 30px 0;
}

#system .option::before {
	content: "";
	background-image: url("../images/system_bg03.png");
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 294px;
	height: 130px;
}

#system .option::after {
	content: "";
	background-image: url("../images/system_bg04.png");
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
	width: 276px;
	height: 122px;
}

#system .option h3 {
	font-family: 'Lusitana', serif;
	font-size: 2.8rem;
	color: #8f6c3e;
	margin: 40px 0 30px;
	position: relative;
	display: inline-block;
}

#system .option h3 span {
	display: block;
	font-size: 1.6rem;
	margin-top: 4px;
}

#system .option ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1300px;
	margin: 0 auto 30px;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 1520px) {
	#system .option ul li span i {
		line-height: 1.6;
		display: block;
	}
}

#system .option ul li {
	width: calc(calc(100%/3) - 40px);
	margin: 0 20px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#system .option ul li span {
	font-size: 2.0rem;
	text-align: left;
}

#system .option ul li span+span {
	color: #ee251d;
	font-family: 'Prata', serif;
	font-size: 2.2rem;
	letter-spacing: -0.05em;
	font-style: italic;
	text-align: left;
}

#system .cosplay {
	width: 90%;
	margin: 0 auto 20px;
}

#system .cosplay div a img {
	width: 100%;
}

#system #transportation {
	background-color: #fff;
	width: 90%;
	margin: 0 auto 20px;
	border: solid 1px #141313;
	text-align: center;
	position: relative;
	padding: 30px 0 110px;
}

#system #transportation::before {
	content: "";
	background-image: url("../images/system_bg03.png");
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 294px;
	height: 130px;
}

#system #transportation::after {
	content: "";
	background-image: url("../images/system_bg04.png");
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
	width: 276px;
	height: 122px;
}

#system #transportation h3 {
	font-family: 'Lusitana', serif;
	font-size: 2.8rem;
	color: #8f6c3e;
	margin: 60px 0 30px;
	position: relative;
	display: inline-block;
}

#system #transportation h3 span {
	display: block;
	font-size: 1.6rem;
	margin-top: 4px;
}

#system #transportation dl {
	display: flex;
	border-bottom: solid 1px;
	align-items: center;
	width: 73%;
	margin: 0 auto;
	padding: 20px 0;
}

#system #transportation dl dt {
	flex-basis: 22%;
	text-align: right;
	margin-right: 30px;
	color: #ee251d;
	font-family: 'Prata', serif;
	font-size: 2.4rem;
	letter-spacing: -0.05em;
	font-style: italic;
}

#system #transportation dl dd {
	flex-basis: 78%;
	text-align: left;
	line-height: 30px;
	font-size: 2.0rem;
}

#system #transportation dl dd span {
	font-size: 1.4rem;
	margin-left: 1em;
}

@media screen and (max-width: 1800px) {
	#system #transportation dl dt {
		flex-basis: 19%;
	}

	#system #transportation dl dt i {
		line-height: 1.6;
		display: block;
	}

	#system #transportation dl dd {
		flex-basis: 81%;
	}
}

#system .caution01 {
	background-color: #fff;
	width: 90%;
	margin: 0 auto 20px;
	border: solid 1px #141313;
	text-align: center;
	position: relative;
	padding: 30px 0;
}

#system .caution01::before {
	content: "";
	background-image: url("../images/system_bg03.png");
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 294px;
	height: 130px;
}

#system .caution01::after {
	content: "";
	background-image: url("../images/system_bg04.png");
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
	width: 276px;
	height: 122px;
}

#system .caution01 h3 {
	font-family: 'Lusitana', serif;
	font-size: 2.8rem;
	color: #8f6c3e;
	margin: 60px 0 30px;
	position: relative;
	display: inline-block;
}

#system .caution01 h3 span {
	display: block;
	font-size: 1.6rem;
	margin-top: 4px;
}

#system .caution01 p {
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	line-height: 24px;
	text-align: left;
	width: 65%;
	margin: 0 auto 30px;
}

#system .caution01 ul {
	width: 60%;
	margin: 0 auto 30px;
	text-align: left;
	letter-spacing: 0.2em;
	font-size: 1.4rem;
	line-height: 24px;
}

#system .caution01 ul li::before {
	content: '';
	width: 10px;
	height: 10px;
	display: inline-block;
	background: #000;
	position: relative;
	left: -5px;
	top: -1px;
}

#system .caution02 {
	background-color: #fff;
	width: 90%;
	margin: 0 auto 80px;
	border: solid 1px #141313;
	text-align: center;
	position: relative;
	padding: 80px 0;
}

#system .caution02::before {
	content: "";
	background-image: url("../images/system_bg03.png");
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 294px;
	height: 130px;
}

#system .caution02::after {
	content: "";
	background-image: url("../images/system_bg04.png");
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
	width: 276px;
	height: 122px;
}

#system .caution02 h4 {
	font-size: 2.0rem;
	letter-spacing: 0.2em;
	margin-bottom: 30px;
}

#system .caution02 p {
	width: 54%;
	margin: 0 auto;
	font-size: 1.4rem;
	line-height: 24px;
	text-align: justify;
}

#system .hotel-osusume {
	width: 80%;
	margin: 0 auto 20px;
}

#system .hotel-osusume h3 {
	background-color: #684517;
	color: #fff;
	padding: 10px;
	letter-spacing: 0.1em;
}

#system .hotel-osusume table {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	border-collapse: collapse;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

#system .hotel-osusume table tr {
	border: 1px solid #bbb;
	padding: .35em;
}

#system .hotel-osusume table tr td {
	padding: 1.2em 1em;
	border-right: 1px solid #bbb;
	font-size: 1.2rem;
	letter-spacing: 0.14em;
}

#system .hotel-search {
	background-color: #684517;
	display: flex;
	width: 80%;
	margin: 0 auto 20px;
	height: 60px;
	justify-content: space-evenly;
	padding: 10px 0;
}

#system .hotel-search li {
	align-items: center;
	width: calc(100%/2);
	display: flex;
	justify-content: center;
}

#system .hotel-search li:first-child {
	border-right: solid 1px #fff;
}

#system .hotel-search li p {
	color: #fff;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	margin-right: 10px;
}

#system .hotel-search li select {}

#system #hotellist2 {
	margin-bottom: 80px;
}

#system #hotellist2 table {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	border-collapse: collapse;
	margin: 0 auto;
	padding: 0;
	width: 80%;
}

#system #hotellist2 table tr {
	border: 1px solid #bbb;
	padding: .35em;
}

#system #hotellist2 table th {
	padding: 1em 10px 1em 1em;
	border-right: 1px solid #bbb;
	background-color: #e2d3b9;
	text-align: center;
	font-weight: normal;
	font-size: 1.4rem;
	letter-spacing: 0.14em;
}

#system #hotellist2 table td {
	padding: 1.2em 1em;
	border-right: 1px solid #bbb;
	font-size: 1.2rem;
	letter-spacing: 0.14em;
}

#system #hotellist2 table td:first-child,
#system #hotellist2 table td:last-child {
	text-align: center;
}

#system #hotellist2 table thead tr {
	background-color: #eee;
}

#system .info-flow {
	margin-top: 80px;
}

#system .info-flow dl {
	width: 70%;
	margin: 0 auto 50px;
	display: flex;
	position: relative;
	padding-left: 190px;
}

#system .info-flow dl dt {
	color: #684517;
	background-color: #c7a981;
	position: absolute;
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	top: 0;
	left: -30px;
}

#system .info-flow dl dt::after {
	content: "";
	border-left: solid 4px #c7a981;
	position: absolute;
	top: 90px;
	left: 49px;
	height: 190px;
}

#system .info-flow dl:last-child dt::after {
	content: none;
}

#system .info-flow dl dt span {
	font-family: 'Lusitana', serif;
	font-size: 2.0rem;
}

#system .info-flow dl dt span em {
	display: block;
	text-align: center;
	font-size: 4.0rem;
	font-style: italic;
	margin-top: 5px;
}

#system .info-flow dl dd {
	line-height: 30px;
	flex-grow: 1;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	display: flex;
	justify-content: space-between;
}

#system .info-flow dl dd>div {
	width: calc(80% - 210px);
}

#system .info-flow dl dd h3 {
	font-size: 2.0rem;
	color: #ee251d;
	font-weight: 500;
}

#system .info-flow dl dd>img {
	width: 210px;
	height: 130px;
}

#system .meeting-cont {
	background-image: url("../images/meeting_bg.jpg");
	height: 400px;
	background-position: center;
	text-align: center;
	color: #684517;
	overflow: hidden;
	margin-bottom: 50px;
}

#system .meeting-cont h3 {
	font-size: 3.0rem;
	letter-spacing: 0.2em;
	margin: 100px 0 20px;
	display: inline-block;
	line-height: 1.2em;
	position: relative;
}

#system .meeting-cont p {
	line-height: 30px;
}

#system .meeting-cont p>span {
	color: #ee251d;
}

#system .meeting-map {
	width: 80%;
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#system .meeting-map li {
	border: solid 1px #ccc;
	padding: 10px;
	width: calc(calc(100%/2) - 20px);
	margin-bottom: 30px;
}

#system .meeting-map li>div {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	background-color: #141414;
	color: #fff;
	text-align: center;
	padding: 12px 0;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

#system .meeting-map li iframe,
#system .meeting-map li object,
#system .meeting-map li embed {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transition: all 0.7s ease;
	-moz-transition: all 0.7s ease;
	-o-transition: all 0.7s ease;
	transition: all 0.7s ease;
	width: 100%;
}

#system .meeting-map li iframe:hover,
#system .meeting-map li object:hover,
#system .meeting-map li embed:hover {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}






/*-- reservation.php --*/
form#mail_form {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	margin: 30px auto 0;
	padding: 10px 0;
	border-radius: 7px;
	line-height: 1.8;
	max-width: 1600px;
	width: 80%;
	min-width: 1200px;
}

form#mail_form dl {
	width: 90%;
	margin: 0 auto 30px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 900px;
}

form#mail_form dl dt {
	width: 30%;
	padding: 10px 0;
	text-align: left;
	overflow: hidden;
	display: flex;
	align-items: center;
	font-weight: 500;
	max-width: 260px;
}

form#mail_form dl dt label {
	margin-right: 0.6em;
}

form#mail_form dl dd {
	width: 70%;
	padding: 10px 0 15px 20px;
	margin-bottom: 0;
}

.select-box {
	position: relative;
	display: inline-block;
	width: 100%;
}

.select-box::after {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 14px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 8px 0 8px;
	border-color: #000 transparent transparent transparent;
}

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	display: inline-block;
	color: #f00;
	font-size: 0.9em;
	font-weight: bold;
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
	display: block;
	color: #ff0000;
	margin-top: 3px;
	font-size: 0.8em;
}


span.loading {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-top: 5px solid rgba(255, 255, 255, 0.2);
	border-right: 5px solid rgba(255, 255, 255, 0.2);
	border-bottom: 5px solid rgba(255, 255, 255, 0.2);
	border-left: 5px solid #ffffff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load-circle 1.0s linear infinite;
	animation: load-circle 1.0s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
}

@-webkit-keyframes load-circle {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes load-circle {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

form#mail_form input::placeholder {
	color: #000;
	opacity: .6;
}

form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"],
form#mail_form select {
	max-width: 100%;
	padding: 10px 2%;
	border: 1px solid #b7b7b7;
	background: #fff;
	-webkit-appearance: none;
	font-size: 100%;
	font-family: inherit;
	margin: 10px 0;
	width: 99%;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
	box-shadow: 0px 0px 5px #ccc;
	border: 1px solid #ccc;
	background: #ffffff;
}

.parsley-error {
	box-shadow: 0px 0px 5px #ba8f0d;
	border: 1px solid #55ccff;
	background: #ffffff;
}

.parsley-custom-error-message,
.parsley-required {
	color: #f00;
}

.parsley-equalto {
	color: #f00;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
	margin-right: 10px;
	margin-top: 10px;
}

form#mail_form ul li:first-child input[type="radio"],
form#mail_form ul li:first-child input[type="checkbox"] {
	margin-top: 0px;
}

form#mail_form select {
	font-size: 100%;
	font-family: inherit;
	padding: 7px 2%;
}

form#mail_form textarea {
	display: block;
	width: 99%;
	height: 200px;
	padding: 7px 2%;
	resize: vertical;
	border: 1px solid #b7b7b7;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 100%;
	font-family: inherit;
	box-sizing: border-box;
}

form#mail_form ul {
	list-style-type: none;
	margin-bottom: 0;
	padding: 0;
}

form#mail_form ul li label:hover {
	cursor: pointer;
}


form#mail_form input#company {
	width: 60%;
}

form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#postal,
form#mail_form input#phone,
form#mail_form input#schedule {
	width: 30%;
}

form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm {
	width: 80%;
}

form#mail_form input#postal+a {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #46b8da;
	border-radius: 3px;
	background: #5bc0de;
	font-size: 100%;
	color: #ffffff;
	text-decoration: none;
}

form#mail_form input#postal+a:hover {
	cursor: pointer;
	background: #31b0d5;
	border: 1px solid #269abc;
}

form#mail_form p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 15px 0;
	border-top: 1px solid #cccccc;
	text-align: center;
}

form#mail_form p#form_submit [type="submit"] {
	display: inline-block;
	padding: .5em 3em;
	text-decoration: none;
	border-radius: 4px;
	color: #fff;
	background-image: linear-gradient(45deg, #ffc107, #ff8b5f);
	box-shadow: 0 2px 2px rgba(0, 0, 0, .29);
	border-bottom: 3px solid #c58668;
}

form#mail_form input[type="button"] {
	padding: 7px 60px;
	border: 1px solid #000;
	border-radius: 3px;
	background: #020202;
	font-size: 100%;
	color: #ffffff;
	font-family: inherit;
	-webkit-appearance: none;
}

form#mail_form input[type="button"]:hover {
	cursor: pointer;
	background: #f00;
	border: 1px solid #f00;
}

#twitter {
	position: fixed;
	bottom: 30px;
	left: 80px;
	z-index: 10;
}

/*-- access.php --*/
#access {
	background: rgba(255, 255, 255, .9);
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
	padding-bottom: 150px;
}

#access h4 {
	font-size: 20px;
	margin-top: 50px;
	text-align: center;
	letter-spacing: 0.15em;
}

#access .text-01 {
	font-size: 14px;
	margin-top: 50px;
	text-align: center;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

#access #map {
	margin-top: 40px;
}

#access .box {
	width: 100%;
	text-align: center;
}

#access h3 {
	font-size: 28px;
	margin-top: 60px;
	text-align: center;
	display: inline-block;
	position: relative;
}

#access h3 span {
	font-size: 16px;
	display: block;
	margin-top: 15px;
	position: relative;
}

#access h3 span::before {
	content: '';
	background: #000;
	width: 30px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
}

#access .text-02 {
	font-size: 14px;
	margin-top: 50px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

#access .after24 {
	background: url(../images/bg_access_after24.jpg);
	width: 100%;
	margin-top: 80px;
}

#access .after24 .box {
	width: 100%;
	text-align: center;
}

#access .after24 .attention {
	background: url(../images/icon_attention.png) no-repeat left center, url(../images/icon_attention.png) no-repeat right center;
	width: 380px;
	height: 26px;
	margin: 70px auto 0;
	text-align: center;
	line-height: 1.625;
}

#access .after24 dl {
	width: 640px;
	margin: 50px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 50px 30px;
	flex-wrap: wrap;
}

#access .after24 dl dt {
	font-size: 14px;
	font-style: italic;
	background: url(../images/bg_step.png) no-repeat;
	width: 124px;
	height: 124px;
	border-radius: 100%;
	padding-top: 45px;
	text-align: center;
}

#access .after24 dl dt span {
	font-size: 32px;
}

#access .after24 dl dd {
	width: 486px;
}

#access .after24 dl dd h5 {
	color: #eb283c;
	line-height: 2;
}

#access .after24 dl dd p {
	margin-top: 10px;
	line-height: 1.6;
}

/*-- /access.php --*/

/****** twiiter_list ******/
#twitter-list {
	padding-bottom: 80px;
}

#twitter-list ul {
	width: 100%;
	max-width: 1720px;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
}

#twitter-list ul li {
	width: calc(50% - 60px);
	position: relative;
}

#twitter-list ul li .image img {
	width: 100%;
}

#twitter-list ul li .more {
	position: absolute;
	right: 60px;
	bottom: 60px;
}

@media screen and (min-width: 1201px) and (max-width: 1720px) {
	#twitter-list ul {
		gap: 1.744vw 3.488vw;
	}

	#twitter-list ul li {
		width: calc(50% - 1.744vw);
	}

	#twitter-list ul li .more {
		position: absolute;
		right: 3.488vw;
		bottom: 3.488vw;
	}

	#twitter-list ul li .more .more-inner {
		line-height: 3.488vw;
	}

	#twitter-list .more {
		width: 18.604vw;
		height: 3.488vw;
		line-height: 3.488vw;
	}
}

@media screen and (max-width: 1200px) {
	#twitter-list ul {
		gap: 20.94px 41.88px;
	}

	#twitter-list ul li {
		width: calc(50% - 20.94px);
	}

	#twitter-list ul li .more {
		position: absolute;
		right: 41.88px;
		bottom: 41.88px;
	}

	#twitter-list ul li .more .more-inner {
		line-height: 41.88px;
	}

	#twitter-list .more {
		width: 223.36px;
		height: 41.88px;
		line-height: 41.88px;
	}
}

/****** twiiterアイコン ******/
.icon-twitter {
	position: absolute !important;
}

.icon-twitter img {
	width: 80px !important;
}

/****** cosplay ******/
#cosplay {
	background-color: rgba(255, 255, 255, .9);
	padding-bottom: 100px;
}

#cosplay .text {
	font-size: 20px;
	margin-top: 30px;
	text-align: center;
	letter-spacing: 0.25em;
}

#cosplay .box {
	margin-top: 50px;
	display: flex;
	flex-wrap: wrap;
}

#cosplay .box li {
	width: 20%;
	border-right: #a0a0a0 1px solid;
	border-top: #a0a0a0 1px solid;
	border-bottom: #a0a0a0 1px solid;
	overflow: hidden;
}

#cosplay .box li:nth-child(5n+1) {
	border-left: #a0a0a0 1px solid;
}

#cosplay .box li:nth-child(n+6) {
	margin-top: 20px;
}

#cosplay .box li .list {
	cursor: pointer;
}

#cosplay .box li .image img {
	width: 20vw;
}

#cosplay .box li .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 20px;
	font-weight: bold;
	background: linear-gradient(to right, #c7a981 0%, #fffff4 50%, #c7a981 100%);
	text-align: center;
	line-height: 3.5;
}

#cosplay .box li .price {
	font-size: 24px;
	background: #fff;
	text-align: center;
	line-height: 2;
}

#cosplay .box li .modal {
	background: rgba(0, 0, 0, .85);
	width: 100%;
	height: 100vh;
	display: none;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10000;
}

#cosplay .box li .modal .inner {
	width: 600px;
	margin: 0 auto;
}

#cosplay .box li .modal .inner .close {
	font-size: 50px;
	color: #fff;
	height: 40px;
	;
	margin-left: 350px;
	text-align: right;
	cursor: pointer;
}

#cosplay .box li .modal .inner .modal-img {
	width: 100%;
}

#cosplay .box li .modal .inner .modal-img img {
	width: 100%;
}

#cosplay .box li .modal .inner .moda-name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	margin-top: 20px;
	text-align: center;
}

/****** 店舗アイコン ******/
.icon-area {
	position: absolute;
	left: auto !important;
	left: 10px !important;
	top: 10px !important;
	bottom: auto !important;
	z-index: 201;
}

#newface article .cast-box .icon-area {
	left: 10px !important;
	right: auto !important;
}

/******** エンター 翻訳ページリンクボタン ********/
#enter .foreigners {
	background: url(../images/bg_foreigners.jpg) no-repeat right top;
	width: 95%;
	max-width: 1376px;
	margin: 30px auto 60px;
	padding: 20px 40px;

	p {
		font-family: 'Prata', serif;
		font-size: 26px;
		color: #fff;
		display: flex;
		align-items: center;
	}

	p::before,
	p::after {
		content: "";
		background: #fff;
		flex-grow: 1;
		height: 2px;
	}

	p::before {
		margin-right: 10px;
	}

	p::after {
		margin-left: 10px;
	}

	ul {
		margin-top: 20px;
		display: flex;
		justify-content: space-between;

		li {
			font-family: 'Prata', serif;
			font-size: 34px;
			width: 258px;
			text-align: center;
			line-height: 2.118;

			a {
				font-weight: bold;
				color: #fff;
				background: linear-gradient(to right, #aa8559, #684517 50%, #aa8559 100%);
				background-size: 200%;
				background-position: -50% 0;
				width: 100%;
				height: 100%;
				display: block;
				position: relative;
				transition: background-position .5s ease;
			}

			a:hover {
				background-position-x: -100%;
			}

			a::after {
				content: '>';
				font-size: 22px;
				font-weight: bold;
				position: absolute;
				right: 30px;
				top: 20%;
			}
		}
	}
}

/****** ページネーション ******/
.pagenation {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 0 40px;
}

.pagenation li {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-style: italic;
	font-size: 36px;
}

.pagenation li.active {
	color: #684517;
}

.pagenation li a {
	color: #d4d6e2;
}

.pagenation li.prev a,
.pagenation li.next a {
	font-size: 24px;
	font-style: normal;
	color: #684517;
}

.pagenation li.prev a span,
.pagenation li.next a span {
	font-style: italic;
}

/****** トップページ下部　リンクボタン ******/
#top-link-btn {
	margin-top: 20px;

	ul {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;

		li {
			width: calc(25% - 30px / 4);

			a img {
				width: 100%;
			}
		}
	}
}