@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: #000;
	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;*/
  overflow-x: hidden;
}
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;
  padding-top: 150px;
  overflow-x: hidden;
}
main#top{
  padding-top: 0;
}
/*////////// ▼ 汎用 ▼ //////////*/
.clearfix::after {
  content: "";
  clear: both;
  display: block;
}
.top-header {
  background-image: url("../images/title_bg02.png");
  background-repeat: no-repeat;
  background-size: 100% 120px;
  height: 120px;
  width: 100%;
  max-width: 2000px;
  margin: 20px auto 0;
  position: relative;
}
.top-header h2 span {
  font-family: 'Prata', serif;
  color: #995d5d;
  font-size: 6rem;
  position: relative;
  letter-spacing: -0.04em;
  /*transform: rotate(-10deg);
  display: block;*/
}
.top-header h2 em {
  /*position: absolute;
  right: -100px;
  bottom: 5px;*/
  color: #995d5d;
  margin-left: 20px;
  letter-spacing: 0.2em;
}
.top-header .tax {
  font-size: 14px;
  letter-spacing: 0.2em;
  position: absolute;
  right: 50px;
  bottom: 50px;
}
.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: #644130;
	text-align: center;
	line-height: 60px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%);
	background-size: 200%;
	background-position: -50% 0;
	position: relative;
	cursor: pointer;
}
.more span {
  font-size: 1.6rem;
  letter-spacing: 2px;
  color: #644130;
  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: #333;
  background: -moz-linear-gradient(left bottom, #000 0%, #333 50%, #333 100%);
  background: -webkit-linear-gradient(left bottom, #000 0%, #333 50%, #333 100%);
  background: linear-gradient(to right bottom, #000 0%, #333 50%, #333 100%);
}
.more-btn span {
  font-size: 2.4rem;
  color: #000;
  line-height: 48px;
  letter-spacing: 1.4px;
  position: relative;
  left: 5px;
  z-index: 110;
  font-family: 'Prata', 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;
  bottom: 55px;
  left: 0;
  z-index: 1000;
}

#top-schedule .new-icon::before {
  bottom: 122px;
}

.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, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%);
  background-color: #c6b37b;
  padding: 50px 0 0;
  text-align: center;
  overflow: hidden;
}
footer #footer-nav {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  width: 900px;
  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: #ebebeb;
  /*color: #fff;*/
  width: 100%;
  display: block;
  padding: 14px 0;
}
/*-- index.php --*/
#enter header {
	position: relative;
  height: 45vw;
	max-height: 900px;
	background-color: #000;
	background-image: url(../images/main_image.jpg);
	background-position: top center;
	background-attachment: fixed;
	background-repeat: no-repeat;
  background-size: 100%;
}
@keyframes bg-slider {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -1920px 0;
  }
}
/*#enter header::after {
	content: '';
	display: inline-block;
	background-image: url(../images/enter_bg_f.png);
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
}*/

#enter .enter-box .enter-btn-border {
  background: linear-gradient(175deg, rgba(255,255,255,.8), rgba(202,172,1,.8), rgba(126,60,2,.8), rgba(246,210,21,.8), rgba(255,255,255,.8));
  padding: 6px;
  margin-bottom: 10px;
  margin-top: -30px;
	position: relative;
	background-color: #000;
	overflow: hidden;
	opacity: .8;

}
#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-color: rgba(186,143,13,1);
  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, #ba8f0d, #ba8f0d);
  width: 50px;
  height: 50px;
  position: absolute;
  bottom: 0;
  right: 0;
}
#enter .enter-btn::after {
  content: "";
  background: linear-gradient(135deg, #fff, #ba8f0d, #ba8f0d);
  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: #d3b24a;
  text-decoration: underline;
}
#enter .enter-box {
	margin: 0 auto;
  padding-top: 320px;
  text-align: center;
  overflow-x: hidden;
}
#enter .enter-box .btn {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  width: 302px;
  /*height: 226px;*/
  margin: 30px auto 0;
  position: relative;
}
#enter .enter-box .btn img {
  width: 100%;
}
#enter .enter-box .btn p {
  font-size: 12px;
  margin: auto;
  line-height: 1.4;
  position: absolute;
  top: 90px;
  left: 0;
  right: 0;
}
#enter .enter-box .btn .enter-exit {
  color: #ff599f;
}
#enter .enter-box ul {
  display: flex;
  width: 664px;
  margin: 60px auto 0;
}
#enter .enter-box ul li {
  margin: 0 auto;
}
#enter .enter-box ul li a {
  font-size: 24px;
  color: #000;
  background: #a9ecf5;
  width: 350px;
  margin: 0 auto;
  line-height: 3;
  display: block;
  transition: opacity .5s;
}
#enter .enter-box ul li a:hover {
  opacity: .7;
}
/*#enter .enter-box ul li:last-child {
  margin-left: 10px;
}*/
#enter .enter-box .attention {
  width: 100%;
  margin-top: 216px;
}
#enter .enter-box .attention img {
  width: 100%;
}

@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #enter .enter-box {
    padding-top: 16vw;
  }

  #enter .enter-box h1 img {
    width: 32.1vw;
  }

  #enter .enter-box .btn {
    width: 15.1vw;
    /*height: 11.3vw;*/
    margin: 1.5vw auto 0;
  }

  #enter .enter-box .btn p {
    font-size: 0.6vw;
    top: 4.5vw;
}

  #enter .enter-box .attention {
    width: 100vw;
    margin-top: 10.8vw;
  }
}

@media screen and (max-width: 1200px) {
  #enter header {
    background-size: 1200px 540px;
    height: 540px;
  }
  #enter .enter-box {
    padding-top: 96px;
  }

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

  #enter .enter-box .btn {
    width: 181.2px;
    height: 135.6px;
    margin: 72px auto 0;
  }

  #enter .enter-box .btn p {
    font-size: 7.2px;
    top: 90px;
}

  #enter .enter-box .attention {
    width: 1200px;
    margin-top: 47.6px;
  }
}

#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: 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, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%);
	background-color: #f9abba;
	background-blend-mode: overlay;
	padding: 50px 0;
	text-align: center;
	z-index: 10000;
	position: relative;
}
/*--　top.php --*/
/************* Navigation ************/
header {
	height: 0;
	z-index: 10000;
	position: relative;
}
nav#gnavi-wrapper {
  width: 100%;
  height: 147px;
  text-decoration: none;
  background: url(../images/bg_navi.png) no-repeat bottom center;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  transition: .4s;
}
.is-animation {
  height: 120px !important;
}
.is-animation #gnavi {
  height: 93px !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: 40px;
  min-width: 460px;
}

nav ul#gnavi > li:last-child {
  width: 100%;
  margin: 0 60px;
}
nav ul#gnavi li a {
  transition: all 0.5s;
  color: #4e1318;
}
nav ul#gnavi li img {
  width: 100%;
}
nav ul#gnavi li a span:first-of-type {
  font-size: 1.8rem;
  font-family: 'Prata', serif;
}
nav ul#gnavi li a:hover {
  color: #b1a5ff;
}
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 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 {
  background-image: url(../images/top_obi.png);
  background-size: cover;
  background-position: top center;
  height: 914px;
}
.top-info.new {
  background: none;
}
.top-info .main-image-changer {
  width: 2000px;
  height: 914px;
  margin-left: -1000px;
  position: relative;
  left: 50%;
  top: 0;
}
@media screen and (min-width: 2001px) {
  .top-info .main-image-changer {
    margin: auto;
    left: 0;
    right: 0
  }
}
@media screen and (min-width: 1201px) and (max-width:1650px) {
  .top-info .main-image-changer {
    width: 121.212vw;
    height: 57.454vw;
    margin-left: -60.606vw;
  }
}
@media screen and (max-width: 1200px) {
  .top-info .main-image-changer {
    width: 1450px;
    height: 711px;
    margin-left: -725px;
  }
}
.top-info .main-image-changer a {
	width: 100%;
  height: 100%;
  display: block;
}
.top-info .main-image-changer img {
  width: 100%;
}
.top-info-inner {
  background: url(../images/obi.png) center top/cover;
  height: 352px;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 460px;
  z-index: 2;
}
.shop-info {
  width: 1400px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shop-info .left {
  width: 50%;
  text-align: center;
}
.shop-info .header-text {
  margin-top: -40px;
}
.shop-info .right {
	width: 50%;
}
.shop-info ul {
  width: 65%;
  margin-top: 10px;
	display: flex;
	align-items: center;
  flex-wrap: wrap;
  /*justify-content: center;*/
}
.shop-info ul li {
  margin-right: 10px;
}
.shop-info ul li.mail {
	font-family: 'Playfair Display', serif;
	font-size: 2.5rem;
  font-weight: bold;
  color: #6b1919;
  /*width: 62%;*/
  display: flex;
  align-items: center;
}
.shop-info ul li.mail img {
	margin-right: 4px;
	/*top: 3px;
	position: relative;*/
}
.shop-info ul li.tel {
	font-family: TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif;
	font-size: 7.4rem;
	margin-right: 0;
  display: flex;
  align-items: center;
}
.shop-info ul li.tel img {
  width: 74px;
}
@media screen and (min-width: 1201px) and (max-width: 1650px) {
  .top-info {
    width: 100%;
    height: calc(48.121vw + 120px);
  }
  .top-info-inner {
    height: 21.333vw;
    top: 27.878vw;
  }
  .shop-info {
    width: 100%;
  }
  .shop-info ul {
    margin-top: 0.606vw;
  }
  .shop-info h1 img {
    width: 39.152vw;
  }
  .shop-info .header-text {
    margin-top: -2.424vw;
  }
  .shop-info .header-text img {
    width: 35.091vw;
  }
  .shop-info .header-box img {
    width: 12.121vw;
  }
  .shop-info ul li {
    margin-right: 0.606vw;
  }
  .shop-info ul li:first-child img {
    width: 9.03vw;
  }
  .shop-info ul li.mail {
    font-size: 1.818vw;
  }
  .shop-info ul li.mail img {
    width: 3.03vw;
  }
  .shop-info ul li.tel {
    font-size: 4vw;
  }
  .shop-info ul li.tel img {
    width: 4.484vw;
  }
}
@media screen and (max-width: 1200px) {
  .top-info {
    width: 100%;
    height: 697px;
  }
  .top-info-inner {
    height: 256px;
    top: 334.545px;
  }
  .shop-info {
    width: 1200px;
  }
  .shop-info ul {
    margin-top: 14.54px;
  }
  .shop-info h1 img {
    width: 469.642px;
  }
  .shop-info .header-text {
    margin-top: -29.08px;
  }
  .shop-info .header-text img {
    width: 420.933px;
  }
  .shop-info .header-box img {
    width: 145.4px;
  }
  .shop-info ul li {
    margin-right: 7.27px;
  }
  .shop-info ul li:first-child img {
    width: 108.323px;
  }
  .shop-info ul li.mail {
    font-size: 21.81px;
  }
  .shop-info ul li.mail img {
    width: 36.35px;
  }
  .shop-info ul li.tel {
    font-size: 53.28px;
  }
  .shop-info ul li.tel img {
    width: 53.798px;
  }
}
.shop-info .header-box {
    display: flex;
}
.shop-info .header-box .link-diary,
.shop-info .header-box .link-twitter,
.shop-info .header-box .link-amagasaki{
  margin-left: 20px;
}
.shop-info .btn {
  display: flex;
  align-items: center;
  position: absolute;
  top: 5px;
  right: 150px;
}
.shop-info .btn div:last-child {
  margin-left: 10px;
}
.top-slide-rank {
	display: flex;
	width: 100%;
	margin: 30px auto 30px;
	min-width: 1200px;
	max-width: 2000px;
}
.top-slider {
  width: calc(100% - 28.9vw - 20px);
  min-width: calc(100% - 598px);
  position: relative;
  margin-left: 20px;
}
.top-slider .info-slider {}
.top-slider .info-slider .slider {
  background: #ffe7e7;
  padding: 25px 10px 20px;
}
@media screen and (max-width: 1999px) {
  .top-slider .info-slider .slider {
    padding: 1.25vw 0.5vw 1vw;
  }
}
.top-slider .info-slider .center-item img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.top-slider .info-slider #thumbnail_slider {
	background: #ffe7e7;
	width: 290px;
	height: 37px;
	position: absolute !important;
	right: 35px;
	padding-top: 0px;
}
.top-slider .info-slider #thumbnail_slider .thumbnail-item {
  cursor: pointer;
}
.top-slider .slick-prev, .top-slider .slick-next {
	background: #ffe7e7 !important;
	width: 35px !important;
	height: 45px !important;
	top: 14px !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);
}
.top-slider .slick-next::before {
  content: url(../images/slide_next.png) !important;
  filter: brightness(0);
}
.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-ranking #ranking-slider .slick-slide {
  opacity: .6;
}
#top-ranking #ranking-slider .slick-active {
  opacity: 1;
}
#top-ranking #ranking-slider li {
  background: url(../images/bg_top_ranking.png) no-repeat left top/100% 100%;
  width: 19.2vw !important;
  padding: 0.075vw 0.075vw 0.5vw;
}

#top-ranking #ranking-slider li .thumb {
  position:relative;
}

#top-ranking #ranking-slider li .thumb .icon-kita-minami {
	position: absolute;
	left: 10px;
	top: 10px;
	z-index: 201;
	width: 70px;
	height: 50px;
}

#top-ranking #ranking-slider li .thumb .icon-twitter {
  right: 10px;
  bottom: 10px;
}

#top-ranking #ranking-slider li .thumb img {
  width: 100%;
}
#top-ranking #ranking-slider li .bottom {
  margin: 5px 0 0 25px;
  display: flex;
  align-items: flex-end;
}
#top-ranking #ranking-slider li .bottom .data {
  margin: 0 0 5px 20px;
}
#top-ranking #ranking-slider li .bottom .data .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
}
#top-ranking #ranking-slider li .bottom .data .name span {
  font-family: 'Playfair Display', serif;
}
#top-ranking #ranking-slider li .bottom .data .size {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  margin-top: 5px;
}
#top-ranking #ranking-slider .prev,
#top-ranking #ranking-slider .next {
  position: absolute;
  top: 36%;
  z-index: 1;
  cursor: pointer;
}
#top-ranking #ranking-slider .prev {
  left: 0;
}
#top-ranking #ranking-slider .next {
  right: 0;
  transform: scale(-1, 1);
}
#top-ranking .more {
  margin-top: 30px;
}
@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #top-ranking #ranking-slider li .bottom {
    margin-left: 1.25vw;
  }
  #top-ranking #ranking-slider li .bottom .num img {
    width: 4vw;
  }
  #top-ranking #ranking-slider li .bottom .data {
    margin: 0 0 0.25vw 1vw;
  }
}
@media screen and (max-width: 1200px) {
  #top-ranking #ranking-slider li {
    width: 230.4px !important;
    padding: 0.9px 0.9px 6px;
  }
  #top-ranking #ranking-slider li .bottom {
    margin-left: 15px;
  }
  #top-ranking #ranking-slider li .bottom .num img {
    width: 48px;
  }
  #top-ranking #ranking-slider li .bottom .data {
    margin: 0 0 3px 12px;
  }
}

.top-rank {
  width: 40%;
  background-image: url("../images/top_rank_bg.jpg");
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  background-size: cover;
  padding: 6px 20px;
  justify-content: space-around;
}
.top-rank .top-header {
  background-image: none;
  height: unset;
}
.top-rank .top-header h2 {
  color: #fff;
  margin: 40px auto 0;
  display: block;
  text-align: center;
}
.top-rank .top-header h2 span {
	font-size: 5.4rem;
	color: #fff;
	text-shadow: 0px 0px 10px black;
}
.top-rank .top-header h2 em {
  right: 10px;
  bottom: -20px;
  color: #fff;
text-shadow: 0px 0px 10px black;
}
.top-rank .contents-title {
  font-size: 4.8rem;
}
.top-rank .top-slider2 {
	width: 19vw;
	max-width: 369px;
}

@media screen and (max-width: 1550px) {
	.top-rank .top-slider2 {
		width: 19.8vw;
	}
}
@media screen and (max-width: 1300px) {
	.top-rank .top-slider2 {
		width: 57%;
	}
}
.top-rank .slick-slide > div > li figcaption {
  display: none;
}
.top-rank .slick-center > div > li figcaption {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-top: 4px;
	padding: 4px;
	position: absolute;
	bottom: 0;
	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 .slick-slide > div > li > a img {
  opacity: 0.5;
}
.top-rank .slick-center img {
  opacity: 1 !important;
}
.top-rank .slick-current .caption {
  opacity: 1;
  transition-delay: .5s;
}
.top-rank .prev, .top-rank .next {
  position: absolute;
  top: 34%;
  z-index: 1;
  cursor: pointer;
  width: 50px;
}
.top-rank .prev > img, .top-rank .next > img {
  width: 100%;
}
.top-rank .prev {
  right: 80%;
}
.top-rank .next {
  left: 80%;
  transform: scale(-1, 1);
}
.top-rank .more {
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  margin: 40px 0 0;
  position: relative;
  z-index: 100;
}
.top-rank .more .more-inner {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  letter-spacing: 2px;
  color: #000;
  text-align: center;
  line-height: 60px;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #fff 0%, #ffe7e7 22%, #f9abba 52%, #ffe7e7 83%, #fff 100%);
  background-size: 100%;
  background-position: -50% 0;
  position: relative;
}
/*-- トップ新着＆新人キャスト --*/
#top-new-cast {
	width: 100%;
	max-width: 2000px;
	display: flex;
	margin: 0 auto 30px;
	justify-content: center;
	min-width: 1200px;
	align-items: stretch;
}
#top-new-cast.new {
  margin-top: 30px;
  display: block;
}
/*#top-new-cast > article {
  width: calc(50% - 10px);
  margin-right: 20px;
  border-left: solid 1px #000;
  box-sizing: border-box;
  background-color: #fff;
  border-bottom: solid 30px #000;
  border-right: solid 1px #000;
  max-width: 990px;
  border-top: solid 1px #000;
}*/
#top-new-cast #new-cast {
  background: url(../images/bg_top_newcast.jpg) no-repeat;
  background-size: contain;
  width: calc(50% - 10px);
  height: 722px;
  margin-left: 20px;
  /*margin-right: 0;
  border: solid 1px;
  padding-bottom: 29px;*/
}
#top-new-cast #new-cast.new {
  background: none;
  width: 100%;
  height: auto;
  margin: 30px 0 0 0;
}
#top-new-cast #newface-slider .prev,
#top-new-cast #newface-slider .next {
  position: absolute;
  top: 36%;
  z-index: 1;
  cursor: pointer;
}
#top-new-cast #newface-slider .prev {
  left: 20px;
}
#top-new-cast #newface-slider .next {
  right: 20px;
  transform: scale(-1, 1);
}
#top-new-cast #new-cast .more-btn {
  margin-top: 20px;
}
#what-new {
  background: url(../images/bg_top_whatnew.jpg) no-repeat;
  background-size: contain;
  width: calc(50% - 10px);
  height: 723px;
  padding-top: ;
}
#top-new-cast.new #what-new {
  background: url(../images/bg_top_newcast_new.jpg) no-repeat;
  background-size: contain;
  width: 100%;
  padding: 20px 0 0 70px;
}
#what-new .top-header {
  background: none;
  height: auto;
  margin: 0;
}
#what-new .top-header h2 {
  margin: 20px 0 0 60px;
}
#top-new-cast.new #what-new .top-header h2 {
  margin: 20px 0 0 0;
}
#what-new .top-header h2 span {
  font-size: 50px;
  color: #f9abba;
}
#top-new-cast.new #what-new .top-header h2 span {
  font-size: 6rem;
}
#what-new .top-header h2 em {
  font-size: 16px;
  color: #f9abba;
}
#what-new .inner {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}
#new-cast .top-header {
  background: none;
  height: auto;
  margin: 0;
  /*background-image: url("../images/title_new_cast.jpg");
  height: 128px;
  background-repeat: no-repeat;
  position: relative;*/
}
#top-new-cast.new #new-cast .top-header {
  background-image: url(../images/title_bg02.png);
  background-repeat: no-repeat;
  background-size: 100% 120px;
  height: 120px;
}
#new-cast .top-header h2 {
  margin: 20px 0 0 60px;
}
#new-cast .top-header h2 span {
  font-size: 50px;
  color: #f9abba;
}
#top-new-cast.new #new-cast .top-header h2 span {
  font-size: 6rem;
}
#new-cast .top-header h2 em {
  color: #f9abba;
}
#top-new-cast.new #new-cast .inner {
  padding-left: 30px;
  display: flex;
  justify-content: space-between;
}
.top-header h2 {
  letter-spacing: -0.07em;
  display: inline-block;
  margin: 20px 0 0 70px;
  color: #fff;
  position: relative;
}
/*#new-cast .top-header h2 {
  color: #000;
}*/
@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #top-new-cast #new-cast {
    height: 36.1vw;
  }
  #new-cast .top-header h2 span {
    font-size: 2.5vw;
  }
  #new-cast .top-header h2 em {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 1200px) {
  #top-new-cast #new-cast {
    height: 433.2px;
  }
  #new-cast .top-header h2 span {
    font-size: 30px;
  }
  #new-cast .top-header h2 em {
    font-size: 10px;
  }
}
.top-header .more {
	width: 18vw;
	max-width: 360px;
  height: 60px;
	margin: 10px 40px 0 0;
  line-height: 60px;
	float: right;
}
.what-new-cont {
  display: flex !important;
  align-items: flex-start;
  /*background-color: #fff;*/
  padding: 20px 50px;
}
#top-new-cast.new .what-new-cont {
  width: 50%;
  padding: 0;
}
#top-new-cast .newface-slider .prev,
#top-new-cast .newface-slider .next {
  position: absolute;
  top: calc(50% - 36px);
  z-index: 1;
  cursor: pointer;
}
#top-new-cast .newface-slider .prev {
  left: 10px;
}
#top-new-cast .newface-slider .next {
  right: 10px;
  transform: scale(-1, 1);
}
.what-new-cont .cast-img {
  width: 50%;
	position: relative;
}
.what-new-cont .cast-img .icon-twitter {
  right: 10px;
  bottom: 10px;
}
#top-new-cast.new .what-new-cont .cast-img {
  width: 40%;
  max-width: 368px;
}
.what-new-cont .cast-img .icon-kita-minami {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 201;
  width: 70px;
  height: 50px;
}
.what-new-cont .new-icon::before {
  bottom: 32px;
}
.what-new-cont .cast-img img {
  width: 100%;
}
.what-new-cont article {
  width: 50%;
  padding: 16px 0 0 30px;
}
#top-new-cast.new .what-new-cont article {
  padding: 0 0 0 10px;
}
.what-new-cont article .time {
  font-size: 20px;
  background: #fffce7;
  letter-spacing: 0.4em;
  margin-bottom: 20px;
  padding: 10px 30px;
  display: inline-block;
}
.what-new-cont article .title {
  font-size: 18px;
  padding-left: 30px;
  letter-spacing: 0.4em;
}
.what-new-cont article .name {
  font-size: 22px;
  margin: 20px 0;
  padding-left: 30px;
  display: inline-block;
}
#top-new-cast.new .what-new-cont article .name {
  padding-left: 15px;
}
.what-new-cont article .name .age {
  font-size: 16px;
}
.what-new-cont article .name .size {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 16px;
  display: block;
  letter-spacing: 0.05em;
  margin-top: 10px;
  /*padding-left: 30px;*/
}
.what-new-cont article > .what-new-text {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  color: #353535;
  line-height: 2.16em;
  height: 300px;
  overflow-y: auto;
  text-align: justify;
  padding: 0 10px 0 30px;
}
#top-new-cast.new .what-new-cont article > .what-new-text {
  padding: 0 10px 0 15px;
}
@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #what-new {
    height: 36.15vw;
  }

  #what-new .top-header h2 span {
    font-size: 2.5vw;
  }

  #what-new .top-header h2 em {
    font-size: 0.8vw;
  }

  .top-header .more {
    height: 3vw;
    line-height: 3vw;
  }

  .top-header .more .more-inner {
    line-height: 3vw;
  }

  .what-new-cont article .time {
    font-size: 1vw;
    margin-bottom: 1vw;
    padding: 0.5vw 1.5vw;
  }
  .what-new-cont article .title {
    font-size: 0.9vw;
    padding-left: 1.5vw;
  }
  .what-new-cont article .name {
    font-size: 1.1vw;
    margin: 1vw 0;
    padding-left: 1.5vw;
  }
  .what-new-cont article .name .age {
    font-size: 1.4rem;
  }
  .what-new-cont article .name .size {
    font-size: 0.8vw;
    margin-top: 0.5vw;
    /*padding-left: 1.5vw;*/
  }
  .what-new-cont article > .what-new-text {
    height: 15vw;
    padding: 0 0.5vw 0 1.5vw ;
  }
}
@media screen and (max-width: 1200px) {
  #what-new {
    height: 433.8px;
  }

  #what-new .top-header h2 span {
    font-size: 30px;
  }

  #what-new .top-header h2 em {
    font-size: 10px;
  }

  .top-header .more {
    width: 216px;
    height: 36px;
    line-height: 36px;
  }

  .top-header .more .more-inner {
    line-height: 36px;
  }

  .what-new-cont article .time {
    font-size: 12px;
    margin-bottom: 12px;
    padding: 6px 18px;
  }
  .what-new-cont article .title {
    font-size: 10.4px;
    padding-left: 18px;
  }
  .what-new-cont article .name {
    font-size: 13px;
    margin: 12px 0;
    padding-left: 18px;
  }
  .what-new-cont article .name .age {
    font-size: 10px;
  }
  .what-new-cont article .name .size {
    font-size: 10px;
    margin-top: 6px;
    padding-left: 18px;
  }
  .what-new-cont article > .what-new-text {
    height: 180px;
    padding: 0 6px 0 18px;
  }
}
.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;
}
#mie-slide {
  width: 100%;
  max-width: 2000px;
  margin: 0 auto 30px;
  display: flex;
}
#miechat {
  background: url(../images/bg_top_miechat.jpg) no-repeat;
  background-size: contain;
  width: 28.9vw;
  max-width: 578px;
  height: 26.8vw;
  max-height: 536px;
  padding-top: 25px;
}
#miechat h2 {
  color: #6b1919;
  margin: 0 0 30px 60px;
}
#miechat h2 span {
  font-family: 'Prata', serif;
  font-size: 40px;
}
#miechat h2 em {
  font-size: 16px;
}
#miechat div {
  text-align: center;
}
#miechat div img {
  width: 22.5vw;
  max-width: 450px;
}
@media screen and (max-width: 1999px) {
  #miechat {
    padding-top: 1.25vw;
  }
  #miechat h2 {
    margin: 0 0 1.5vw 3vw;
  }
  #miechat h2 span {
    font-size: 2vw;
  }
  #miechat h2 em {
    font-size: 0.8vw;
  }
}

#top-gonow ul#submenu {
  position: absolute;
  top: 16px;
  right: 10px;
}
ul#submenu {
    width: 750px;
    margin: 10px auto 20px;
    display: flex;
}
ul#submenu li {
  width: 100%;
  margin: 0px 5px;
}

#top-gonow ul#submenu .more .more-inner {
  color: #fff;
}
#top-gonow ul#submenu .more:first-child .more-inner {
    background: linear-gradient(130deg, #fff 10%, #f89cc9 20%, #f678a5 50%, #f89cc9 80%, #ffffff 90%);
    border: #f678a6 1px solid;
}
#top-gonow ul#submenu .more:nth-child(2) .more-inner {
    background: linear-gradient(130deg, #fff 10%, #a9ecf5 20%, #12c9e2 50%, #a9ecf5 80%, #ffffff 90%);
    border: #3fa5b3 1px solid;
}
#top-gonow ul#submenu .more:nth-child(3) .more-inner {
    background: linear-gradient(130deg, #fff 10%, #99dfff 20%, #277fe8 50%, #99dfff 80%, #ffffff 90%);
    border: #2981e8 1px solid;
}
#top-gonow ul#submenu .more:nth-child(4) .more-inner {
  background: linear-gradient(130deg, #fff 10%, #f2ea9e 20%, #fadd2f 50%, #f2ea9e 80%, #ffffff 90%);
  border: #d4bf05 1px solid;
}
#top-gonow .cast-cont {
	padding: 5px 0px 30px 0px;
}
#top-gonow .cast-cont .shop-name {
  font-size: 20px;
  font-weight: bold;
  color: #03bed7;
  background: linear-gradient(to top, #e2e7eb 0%, #e2e7eb 49%, #f1f4f6 50%, #f1f4f6 100%);
  border-bottom: #a0a0a0 1px solid;
  text-align: center;
  line-height: 2;
}
#top-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;
}
#top-gonow .cast-cont > ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
#top-gonow .cast-cont > ul > li {
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin-bottom: 10px;
	box-sizing: border-box;
  padding-bottom: 10px;
	background: url(../images/bg_cast_icon.jpg) repeat-x bottom center;
}
#top-gonow .cast-cont > ul > li a:first-of-type {
	color: #fff;
	position: relative;
	width: 100%;
	display: block;
	overflow: hidden;
}
#top-gonow .cast-cont > ul > li a:first-of-type::before {
	content: "";
	display: block;
	padding-top: 133%;
}
#top-gonow .cast-cont > ul > li a > div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
#top-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;
}

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

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

#top-gonow .cast-cont > ul > li .icon-twitter {
  right: 10px;
  bottom: calc(1.625vw + 80px);
  z-index: 100;
}
@media screen and (max-width: 1200px) {
  #top-gonow .cast-cont > ul > li .icon-twitter {
    bottom: 10px;
  }
}
#top-gonow .cast-cont .icon-rank {
  width: 100%;
}
#top-gonow .cast-box {
  z-index: 10;
  position: relative;
}
#top-gonow .new-icon::before {
  bottom: calc(3vw + 55px);
}
@media screen and (max-width: 1200px) {
  #top-gonow .new-icon::before {
    bottom: 95px;
  }
}
#top-gonow .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 90%;
	font-size: 2rem;
  font-weight: bold;
	margin: 10px auto 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;
  text-align: center;
}
@keyframes zoom-in {
  0% {
    transform: scale(.8);
    opacity: 0;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}
.is-animated {
  animation: 1.5s zoom-in;
}

/*-- トップ-本日の出勤情報 --*/
#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");
  background-size: cover;*/
  height: 86px;
  background-repeat: no-repeat;
  position: relative;
  background-color: #fff;
}
#top-schedule .top-header h2 {
  margin: 18px 0 0 60px;
}
#top-schedule .top-header h2 span {
  font-size: 50px;
}
#top-schedule .top-header h2 em {}
#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: 12px 6px 0;
  background: #fff;
  padding: 2px;
  box-shadow: 0px 0px 5px 3px rgba(255,255,255,.8) inset;
}
#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: #000;
  display: flex;
  align-items: flex-end;
  padding: 8px 20px 10px;
  background-color: #fff;
  max-width: 140px;
  border: #000 1px solid;
  justify-content: center;
  box-shadow: 0px 0px 5px 3px rgba(255,255,255,.8) inset;
}
@media screen and (max-width: 1620px) {
	#top-schedule .schedule-calendar li {
	  font-size: 2.0rem;
	}
	
	#top-schedule .schedule-calendar li a {
	  padding: 8px 8px 10px;
	}
}
@media screen and (max-width: 1450px) {
  #top-schedule .top-header h2 {
    margin-top: 24px;
  }
  #top-schedule .top-header h2 span {
    font-size: 36px;
  }
  #top-schedule .top-header h2 em {
    font-size: 13px;
  }
}

@media screen and (max-width: 1350px) {
  #top-schedule .top-header h2 {
    margin-top: 28px;
  }
  #top-schedule .top-header h2 span {
    font-size: 28px;
  }
  #top-schedule .top-header h2 em {
    font-size: 10px;
  }
}
#top-schedule .schedule-calendar li a span {
  color: #fff;
  background: #000;
  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-top: 6px;
}
#top-schedule .schedule-day {
  background: #fffce7;
  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 .icon-kita {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 201;
}

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

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

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

.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;
  font-weight: bold;
	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 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: 200;
}

#top-schedule .schedule-cont > ul > li a:first-of-type: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 .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: 2rem;
  font-weight: bold;
  width: 90%;
  margin: 4px auto;
  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: 6px 0;
}
#top-schedule .cast-box figcaption .time svg {
  position: relative;
  top: 1px;
  width: 20px;
  fill: #000;
  vertical-align: top;
}
#top-schedule .cast-box figcaption .time-box {
  background: url(../images/bg_top_schedule_time.jpg) no-repeat;
  background-size: 100% 100%;
  padding-top: 5px;
}
#top-schedule .cast-box figcaption .time-wrap {
  color: #000;
  background: linear-gradient(to top, #8c8c8c 0%, #fff 37%, #606060 70%, #fff 100%);
  width: 77.5%;
  height: 30px;
  text-align: left;
  /*line-height: 1.6em;*/
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 2.0rem;
  padding: 1px;
  font-weight: 500;
  margin: 0 auto;
  text-align: center;
}
#top-schedule .cast-box figcaption .time {
  background: linear-gradient(to top left, #a9ecf5, #fff 49.5%, #fff 50.5%, #a9ecf5 100%);
  width: 100%;
  height: 100%;
  padding: 1px;
  display: block;
  line-height: 1.4;
}
#top-schedule .cast-box figcaption .waiting-time {
  /*background-color: #000;*/
  color: #000;
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 15px;
  height: 30px;
  /*background: -webkit-repeating-linear-gradient(-45deg, #f9eaef 0, #f9ebef 3px, #fff 3px, #fff 6px);
  background: repeating-linear-gradient(-45deg, #1b1b1b 0, #1b1b1b 3px, #000 3px, #000 6px);*/
  line-height: 30px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: center;
}
#top-schedule .cast-box .icon-twitter {
  bottom: 125px;
  right: 10px;
  z-index: 200;
}
/*-- トップ-その他のコンテンツ --*/
#top-other {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	display: flex;
	min-width: 1200px;
}
#top-other .left {
  width: 414px;
  margin-left: 30px;
  order: 2;
}
#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;
}
#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 {
  width: 100%;
  vertical-align: top;
}
#top-other .right {
  width: calc(100% - 444px);
  order: 1;
}
#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 #000;*/
  background-color: #fff;
  width: calc(100% / 3 - 50px / 3);
  height: 925px;
  margin-right: 20px;
  padding: 160px 0 0 23px;
}
#top-other .right .frame-cont.new li {
  width: calc(50% - 25px);
}
#top-other .right .frame-cont li:first-child {
  margin-left: 10px;
}
#top-other .right .frame-cont li:last-child {
  margin-right: 0;
}
#top-other .right .frame-cont li.manager-blog {
  background: url(../images/bg_top_blog.png) no-repeat;
  background-size: contain;
}
/*#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: #000;
}

#top-other .right .frame-cont li.manager-blog .top-header h2 em {
  right: 10px;
  bottom: -20px;
  color: #000;
}*/
#top-other .right .frame-cont li.newphoto-mail {
  background: url(../images/bg_top_pickup.png) no-repeat;
  background-size: contain;
}
/*#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: #000;
  margin: 30px auto 0;
  display: block;
  width: 90%;
  text-align: center;
}
#top-other .right .frame-cont li.newphoto-mail .top-header h2 span {
	font-size: 3.6rem;
	color: #000;
}
#top-other .right .frame-cont li.newphoto-mail .top-header h2 em {
  right: 10px;
  bottom: -20px;
}*/
#top-other .right .frame-cont li.photo-diary {
  background: url(../images/bg_top_diary.png) no-repeat;
  background-size: contain;
}
/*#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: #000;
  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: #fff;
}
#top-other .right .frame-cont li.photo-diary .top-header h2 em {
  right: 10px;
  bottom: -20px;
  color: #fff;
}

@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: 445px;
  height: 711px;
}
@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #top-other .left {
    width: 20.7vw;
    margin-left: 1.5vw;
  }
  #top-other .left li {
    margin-bottom: 1.5vw;
  }
  #top-other .right {
    width: calc(100% - 22.2vw);
  }
  #top-other .right .frame-cont li {
    width: calc(100% - 2.5vw / 3);
    height: 46.25vw;
    margin-right: 1vw;
    padding: 8vw 0 0 1.15vw;
  }
  #top-other .right .frame-cont li:first-child {
    margin-left: 0.5vw;
  }
  #top-other .right .frame-cont li iframe {
    width: 22.25vw;
    height: 35.55vw;
  }
}
@media screen and (max-width: 1200px) {
  #top-other .left {
    width: 248.4px;
    margin-left: 18px;
  }
  #top-other .left li {
    margin-bottom: 18px;
  }
  #top-other .right {
    width: calc(100% - 266.4px);
  }
  #top-other .right .frame-cont li {
    width: calc(100% - 10px);
    height: 555px;
    margin-right: 12px;
    padding: 96px 0 0 13.8px;
  }
  #top-other .right .frame-cont li iframe {
    width: 267px;
    height: 426.6px;
  }
}
#top-event .top-header {
  background: none;
  height: auto;
  margin: 0;
  /*background-image: url("../images/title_event.png");
  height: 100px;
  background-repeat: no-repeat;
  position: relative;
  background-color: #fff;*/
}
#top-event .top-header h2 {
  display: inline-block;
  margin: 60px 0 0 60px;
  font-family: 'prata', serif;
}
#top-event .top-header h2 span {
  font-size: 50px;
}
#top-event .top-header h2 span,
#top-event .top-header h2 em {
  color: #ff4799;
}
#top-event {
  background: url(../images/bg_top_event.jpg) no-repeat;
  background-size: contain;
	background-color: #fff;
  width: calc(50% - 10px);
	height: 723px;
  margin-right: 20px;
}
#top-event .event-cont {
	margin: 10px 40px 0 20px;
	height: 530px;
	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: 0 0 10px 10px;
	flex-grow: 1;
	width: 70%;
}
#top-event .event-cont article .event-inner .time {
  letter-spacing: 0.4em;
  font-size: 18px;
  background: #f2e6d6;
  /*margin-left: 1em;*/
  margin-bottom: 20px;
  padding: 10px 30px;
  display: inline-block;
}
#top-event .event-cont article .event-inner .title {
  /*background-color: #fff;*/
  margin-bottom: 10px;
  padding: 0 30px;
  /*border-radius: 6px;*/
  /*color: #8f5a07;*/
  letter-spacing: 0.4em;
  font-size: 22px;
}
#top-event .event-cont article .event-inner > div {
  font-size: 14px;
  padding: 14px 10px 0 30px;
  line-height: 1.6em;
}
@media screen and (min-width: 1201px) and (max-width: 2000px) {
  #top-event .top-header h2 {
    margin: 3vw 0 0 3vw;
  }
  #top-event .top-header h2 span {
    font-size: 2.5vw;
  }
  #top-event .top-header h2 em {
    font-size: 0.8vw;
  }
  #top-event {
    height: 36.15vw;
  }
  #top-event .event-cont {
    margin: 0.5vw 2vw 0 1vw;
    height: 26.5vw;
  }
  #top-event .event-cont article .event-inner .time {
    font-size: 0.9vw;
    margin-bottom: 1vw;
    padding: 0.5vw 1.5vw;
  }
  #top-event .event-cont article .event-inner .title {
    margin-bottom: 0.5vw;
    padding: 0 1.5vw;
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 1200px) {
  #top-event .top-header h2 {
    margin: 36px 0 0 36px;
  }
  #top-event .top-header h2 span {
    font-size: 30px;
  }
  #top-event .top-header h2 em {
    font-size: 10px;
  }
  #top-event {
    height: 433.8px;
  }
  #top-event .event-cont {
    margin: 6px 24px 0 12px;
    height: 318px;
   }
  #top-event .event-cont article .event-inner .time {
    font-size: 11px;
    margin-bottom: 12px;
    padding: 6px 18px;
  }
  #top-event .event-cont article .event-inner .title {
    margin-bottom: 6px;
    padding: 0 18px;
    font-size: 13px;
  }
}
#btn-top-bottom ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#btn-top-bottom li {
  width: calc(25% - 30px / 4);
  margin-right: 10px;
}
#btn-top-bottom li:nth-child(4n) {
  margin-right: 0;
}
#btn-top-bottom li:nth-child(n+5) {
  margin-top: 10px;
}
#btn-top-bottom li:nth-child(n+9):not(:nth-child(n+12)) {
  width: calc(85% / 3 - 30px / 4);
}
#btn-top-bottom li:last-child {
  width: calc(15% - 30px / 4);
}
#btn-top-bottom li img {
  width: 100%;
}
/*-- トップ-グループリンク --*/
.link-box {
  background: #e3e3e3;
  width: 100%;
  margin-top: 50px;
  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: -150px;
	padding-top: 120px;
	background-color: #fff;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
}
#concept h2 {
  background-image: url("../images/title_bg01.jpg");
  height: 340px;
  background-position: center;
  color: #b1a5ff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#concept h2 span {
  font-family: 'Prata', 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: #fff;
	height: 700px;*/
	overflow: hidden;
	position: relative;
	background-color: #dbdbdb;
	background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 40px;
  z-index: 2;
}
/*#concept article + article + article {
  background-image: url("../images/concept_bg_left_big.jpg");
  background-color: #dbdbdb;
  background-repeat: no-repeat;
  background-size: cover;
}*/
#concept article h3 {
	font-size: 2.4rem;
	min-width: 1200px;
	width: 94%;
	margin: 50px 0 10px 10vw;
	line-height: 1.4em;
}

#concept article h3::before {
	content: "";
	display: block;
	width: 230px;
	height: 74px;
	background-image: url("../images/concept_no01.png");
	background-size: contain;
	margin-bottom: 5px;
}
#concept article + article h3::before {
  background-image: url("../images/concept_no02.png");
  background-size: contain;
}
#concept article + article + article h3::before {
  background-image: url("../images/concept_no03.png");
  background-size: contain;
}
#concept article + article + article + article h3::before {
  background-image: url("../images/concept_no04.png");
  background-size: contain;
}
#concept article h4 {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 24px;
  font-weight: bold;
  color: #b1a5ff;
  margin: 0 0 10px 10vw;
  line-height: 1.3;
}
#concept article p {
	text-align: justify;
	margin-left: 10vw;
	width: 40%;
  /*height: 450px;*/
	line-height: 1.9em;
	max-width: 1600px;
	position: relative;
  overflow-y: auto;
}

#concept article p span {
  color: #b1a5ff;
}

/*#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 + article + article + article::before {
  content: "";
  background-image: url("../images/concept_girl04_bg.png");
  display: block;
  width: 841px;
  height: 590px;
  right: 0;
}*/

#concept article::after {
	content: "";
	background: url("../images/concept_girl01.png") left bottom no-repeat;
	display: block;
	width: 449px;
	height: 607px;
	position: absolute;
	bottom: 0;
	right: 14vw;
  z-index: -1;
}
#concept article + article::after {
	content: "";
	background-image: url("../images/concept_girl02.png");
	display: block;
	width: 381px;
	height: 543px;
	right: 14vw;
}
#concept article + article + article::after {
  content: "";
  background-image: url("../images/concept_girl03.png");
  display: block;
  width: 380px;
  height: 552px;
	right: 14vw;
}
#concept article + article + article + article::after {
  content: "";
  background-image: url("../images/concept_girl04.png");
  display: block;
  width: 580px;
  height: 576px;
  right: 6vw;
}

@media screen and (max-width: 1600px) {
	#concept article h3 {
		margin: 50px 0 10px 150px;
	}
  #concept article h4 {
    margin: 0 0 10px 150px;
  }
	#concept article p {
		width: 500px;
		font-size: 1.3rem;
		margin-left: 11vw;
	}
	#concept article::before {
		right: -180px;
	}
	#concept article + article::before {
		right: -170px;
	}
	#concept article + article + article::before {
		right: -170px;
	}

	/*#concept article::after {
		right: 10vw;
	}
	#concept article + article::after {
		right: 14vw;
	}
	#concept article + article + article::after {
		right: -8vw;
	}*/
}

/*-- cast.php --*/
#cast {
	position: relative;
	background-color: rgba(255, 255, 255, .9);
	width: 100%;
	margin: 0 auto;
	min-width: 1200px;
}
/*#cast .top-header h2 em {
  position: absolute;
  right: -120px;
  bottom: -4px;
  letter-spacing: 0.2em;
}*/
#cast .cast-cont {
	padding: 0 0 80px 0;
}
#cast .cast-cont .add {
  font-size: 24px;
  /*color: #ff4799;*/
  text-align: center;
}
#cast .cast-cont .search {
  background: linear-gradient(to right, #fff6b7, #fffce7);
  width: 100%;
  margin-bottom: 30px;
  padding: 10px 0;
  display: flex;
  justify-content: center;
}
#cast .cast-cont .search div {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 14px;
  color: #000;
  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: #000 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 0 0 5px;
  -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, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 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 .new-icon::before {
  bottom: calc(3vw + 120px);
}
@media screen and (max-width: 1200px) {
  #cast .cast-cont .new-icon::before {
    bottom: 155px;
  }
}
#cast .cast-cont .caption {
	text-align: center;
	width: 1000px;
	margin: 30px auto;
	background: linear-gradient(to right, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 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 {
	/*padding: 10px;*/
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	/* margin: 2px; */
	box-sizing: border-box;
	background: url(../images/bg_cast_icon.jpg) repeat-x bottom 48px center;
	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 .icon-kita {
  left: 10px;
  top: 10px;
  z-index: 201;
}

#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%);
}

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

@media screen and (max-width: 1200px) {
  #cast .cast-cont > ul > li .icon-twitter {
    top: 230px;
  }
}

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

#cast .cast-cont .icon-rank {
  width: 100%;
}
#cast .cast-box {
  z-index: 10;
  position: relative;
}
#cast .cast-box figcaption .name {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  width: 90%;
  margin: 12px auto;
  font-size: 2rem;
  font-weight: bold;
  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-box figcaption .wrap {
  background: url(../images/bg_cast_icon.jpg);
  background-size: cover;
  width: 100%;
  padding: 10px 0 15px;
}
.cast-box figcaption .cast-icon {
  width: 67.5%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.cast-box figcaption .cast-icon li {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 0.8vw;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(180deg, #000 0%, #000 50%, #383838 50%, #383838 100%);
  width: calc(50% - 0.26vw);
  padding: 0.25vw 0;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .cast-box figcaption .cast-icon li {
    font-size: 10px;
    padding: 3px 0;
  }
}
.cast-box figcaption .cast-icon li:nth-child(2n) {
  margin-left: 0.5vw;
}
.cast-box figcaption .cast-icon li:nth-child(n+3) {
  margin-top: 5px;
}
.cast-box figcaption .cast-icon .c1 {
  color: #f75477;
}
.cast-box figcaption .cast-icon .c2  {
  color: #ff88c3;
}
.cast-box figcaption .cast-icon .c3  {
  color: #ff88c3;
}
.cast-box figcaption .cast-icon .c4  {
  color: #adcbf9;
}
.cast-box figcaption .cast-icon .c5  {
  color: #d7c3fe;
}
.cast-box figcaption .cast-icon .c6  {
  color: #a6eee3;
}
.cast-box figcaption .marquee {
  background: #bcf5fe;
  width: 100%;
  margin-top: 5px;
  padding: 0 20px;
}
.cast-box figcaption .marquee.new {
  background: linear-gradient(to top left, #fff9cf, #fff 49.5%, #fff 50.5%, #fff9cf 100%);
}
.cast-box figcaption .marquee .box {
  position: relative;
  overflow: hidden;
}
.cast-box figcaption .marquee .box p {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 1.8rem;
  color: #000;
  margin:0;
  padding: 15px 0 15px 100%;
  display: inline-block;
  white-space: nowrap;
  animation-name: marquee;
	animation-timing-function: linear;
	animation-duration: 15s;
	animation-iteration-count: infinite;
}
.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: 100%;
	margin: 0 auto;
	max-width: 2000px;
	min-width: 1200px;
	overflow: hidden;
	padding-bottom: 60px;
}
#contact .top-header h2 em {
  right: -130px;
  bottom: 5px;
}
#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 .btn {
  margin-top: 20px;
  text-align: center;
}
#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 ul#submenu .more .more-inner {
  color: #fff;
}
#gonow ul#submenu .more:first-child .more-inner {
  background: linear-gradient(130deg, #fff 10%, #f89cc9 20%, #f678a5 50%, #f89cc9 80%, #ffffff 90%);
  border: #f678a6 1px solid;
}
#gonow ul#submenu .more:nth-child(2) .more-inner {
  background: linear-gradient(130deg, #fff 10%, #a9ecf5 20%, #12c9e2 50%, #a9ecf5 80%, #ffffff 90%);
  border: #3fa5b3 1px solid;
}
#gonow ul#submenu .more:nth-child(3) .more-inner {
  background: linear-gradient(130deg, #fff 10%, #99dfff 20%, #277fe8 50%, #99dfff 80%, #ffffff 90%);
  border: #2981e8 1px solid;
}
#gonow ul#submenu .more:nth-child(4) .more-inner {
  background: linear-gradient(130deg, #fff 10%, #f2ea9e 20%, #fadd2f 50%, #f2ea9e 80%, #ffffff 90%);
  border: #d4bf05 1px solid;
}
#gonow .cast-cont {
	padding: 5px 0px 30px 0px;
}
#gonow .cast-cont .shop-name {
  font-size: 20px;
  font-weight: bold;
  color: #03bed7;
  background: linear-gradient(to top, #e2e7eb 0%, #e2e7eb 49%, #f1f4f6 50%, #f1f4f6 100%);
  border-bottom: #a0a0a0 1px solid;
  text-align: center;
  line-height: 2;
}
#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;
  padding-bottom: 10px;
	background: url(../images/bg_cast_icon.jpg) repeat-x bottom center;
}
#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: 10px;
  top: calc(25.5vw - 80px);
  z-index: 100;
}

@media screen and (max-width: 1200px) {
  #gonow .cast-cont > ul > li .icon-twitter {
    top: 230px;
  }
}

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

#gonow .cast-cont .icon-rank {
  width: 100%;
}
#gonow .cast-box {
  z-index: 10;
  position: relative;
}
#gonow .new-icon::before {
  bottom: calc(3vw + 55px);
}
@media screen and (max-width: 1200px) {
  #gonow .new-icon::before {
    bottom: 95px;
  }
}
#gonow .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 90%;
	font-size: 2rem;
  font-weight: bold;
	margin: 10px auto 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;
  text-align: center;
}
/*-- link.php --*/
#link {
  position: relative;
  background-color: rgba(255, 255, 255, .9);
  width: 100%;
  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: 100%;
  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;
  width: 100%;
  max-width: 1809px;
  height: 824px;
  text-align: center;
  /*color: #fff;*/
  margin: 40px auto 0;
  overflow: hidden;
  margin-bottom: 80px;
  /*background-attachment: fixed;
  background-size: contain;*/
}
#magazine .magazine-cont01 h3 {
  margin-top: 170px;
  font-family: 'Prata', serif;
  font-size: 9.0rem;
  color: #592909;
  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: 100px;
}
#magazine .magazine-cont01 > p {
  line-height: 30px;
  letter-spacing: 0.2em;
}
#magazine .magazine-cont01 > p em {
  color: #ff4799;
  font-size: 2.0rem;
  margin: 10px 0;
  display: block;
}
#magazine .magazine-cont02 {
  color: #5f5f5f;
  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;
}
/*--newface.php --*/
#newface {
  position: relative;
  margin-top: -150px;
  padding-top: 120px;
  background-color: #fff;
  padding-bottom: 40px;
}
#newface h2 {
  background-image: url("../images/title_bg01.jpg");
  height: 340px;
  background-position: center;
  color: #b1a5ff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#newface h2 span {
  font-family: 'Prata', 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:nth-child(odd) {
  background-image: url("../images/newface_bg02.jpg");
}
#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: linear-gradient(to top, #ead9be, #fff 100%);
  top: -30px;
  left: -30px;
}
#newface article .cast-box > a {
  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: 10px;
  bottom: 10px;
}
#newface article .cast-box > a .icon-kita-minami {
  position: absolute;
  left: 20px;
  top: 20px;
  z-index: 201;
  width: 100px;
}
#newface article .cast-box .new-icon::before {
  top: 0;
}
#newface article .cast-box figcaption {
  position: absolute;
  bottom: -70px;
  right: 10vw;
  /*color: #fff;*/
  background-color: rgba(255, 255, 255, .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: #fff;*/
  margin-left: 50px;
}
#newface article .newface-cont .newface-inner {
  background-color: #fff;
  color: #1e1e1e;
  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: -150px;
  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: #b1a5ff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#news h2 span {
  font-family: 'Prata', 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: #fffce7;
  width: 92%;
  max-width: 2000px;
  margin: 0 auto 120px;
}
#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: #6b1919;
  text-align: right;
  background-color: rgba(255,235,235,.8);
  display: inline-block;
  padding: 10px 30px 0px;
  position: absolute;
  right: 0;
  top: -90px;
  font-family: 'Prata', serif;
}
#news article ul li .news-cap span {
  display: block;
  font-size: 2.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 {
  background-color: #ffebeb;
  margin-top: 20px;
  letter-spacing: 0.4em;
  font-weight: lighter;
  margin-left: -30px;
  padding: 12px 30px;
  display: inline-block;
}
/*#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 #fff;
}*/
#news article ul li h3 {
  font-size: 1.8rem;
  margin-top: 30px;
  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 .age {
  font-size: 1.4rem;
}
#news article ul li .news-cont .name span {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 10px;
}
#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: #000;
  text-align: center;
  line-height: 60px;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%);
  background-size: 100%;
  background-position: -50% 0;
  position: relative;
  margin: 0 10px;
}
#profile .profile-nav li a {
	color: #000;
	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 .icon-twitter {
  bottom: 10px;
  right: 520px;
  z-index: 2;
}
@media screen and (max-width: 1500px) {
  #profile .thum-wrap .icon-twitter {
    right: 320px;
  }  
}
.cast-slider > div > img {
  opacity: 0.8;
}
#profile .slick-initialized .slick-slide {
  height: auto !important;
	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 .nomination-fee {
  margin-bottom: 40px;
  display: flex;
  justify-content: center;
}
#profile .nomination-fee .prof-icon {
  margin-bottom: 30px;
}
#profile .nomination-fee .prof-icon .icon-rank img {
  vertical-align: top;
}
#profile .nomination-fee .prof-icon ul {
  width: 160px;
  margin: 10px auto 0;
  display: flex;
  flex-wrap: wrap;
}
#profile .nomination-fee .prof-icon ul li {
  margin-right: 8px;
}
#profile .nomination-fee .prof-icon ul li:nth-child(5n) {
  margin-right: 0;
}
#profile .nomination-fee .prof-icon ul li img {
  width: 25px;
}
#profile .nomination-fee .text {
  font-size: 14px;
  background: #f2e7d6;
  width: 480px;
  height: 200px;
  margin-left: 20px;
  padding: 5px 10px;
  line-height: 2;
  overflow-y: auto;
}
#profile .prof-icon .nomination {
  /*color: #fff;*/
	background-color: #fffce7;
	height: 48px;
	/*margin-left: 20px;*/
  margin-top: 10px;
	text-align: center;
	line-height: 48px;
	font-size: 2.2rem;
	padding: 0 1em;
	min-width: 330px;
}

#profile .prof-icon .nomination span {
  margin-right: 20px;
}
#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;
  line-height: 1.4;
	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 top, #000 50%, #383838 50%);
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-weight: bold;
	letter-spacing: 0.04em;
	padding: 6px 0;
}
#profile .prof-other {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1600px;
  margin: 0 auto 30px;
}
#profile .prof-other.new {
  width: 100%;
  max-width: 1100px;
}
#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.new li {
  width: calc(50% - 5px);
}
#profile .prof-other.new li:nth-child(2n) {
  margin: 0 0 0 10px; 
}
#profile .prof-other.new li:nth-child(n+3) {
  margin-top: 10px;
}
/*#profile .prof-other li a {
  display: block;
  height: 100%;
  color: #d2b147;
  font-size: 3.0rem;
  position: absolute;
  top: 50px;
  bottom: 0;
  left: 30px;
  right: 0;
  margin: auto;
}*/
#profile .prof-other li img {
  width: 100%;
}
#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: #6b1919;
  height: 50px;
  font-family: 'Prata', 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: #ff8686;
  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: #6b1919;
  font-family: 'Prata', 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: #000;
	width: calc(12.5% - 10px);
	height: 30px;
	text-align: center;
	font-size: 1.4rem;
	background: linear-gradient(to right, #fcbdd9 0%, #fff 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: #6b1919;
  height: 50px;
  font-family: 'Prata', 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 #ffebeb;
}
#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:last-of-type {
  border-bottom: none;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt {
  background-color: #ffebeb;
  display: flex;
  align-items: center;
  flex-basis: 280px;
  justify-content: center;
}
#profile .prof-cont02 .prof-schedule .prof-schedule-box dl dt > span {
  font-family: 'Prata', 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: #fff;
	/*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: 'Prata', 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: #fff;
  display: inline-block;
  background: #000;
  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 #c6b37b;
}
.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: #6b1919;
  height: 50px;
  font-family: 'Prata', 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: -150px;
  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: #b1a5ff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#ranking h2 span {
  font-family: 'Prata', 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: url(../images/ranking_bg.jpg) center top;
  background-repeat: no-repeat;
  background-size: 2000px 775px;
  width: 100%;
  max-width: 2000px;
  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: 443px;
  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: 565px;
  height: 247px;
  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: 10px;
  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: -50px;
}
#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: #1e1e1e;
  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");
  background-size: 100% 100%;
}
#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 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;
  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: 100px;
  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: #f9abba; /* Old browsers */
  background: -moz-linear-gradient(to top, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(to top, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9abba', endColorstr='#f9abba', GradientType=0); /* IE6-9 */
  padding: 5px;
}
#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: #6b1919;
  display: flex;
  align-items: flex-end;
  padding: 8px 20px 10px;
  background-color: #fff;
  border: #000 1px solid;
  justify-content: center;
  width: 100%;
}
#schedule .schedule-calendar li a span {
  color: #fff;
  background: #b1a5ff;
  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 {
  font-size: 20px;
  background: #fff6b7;
  text-align: center;
  width: 98%;
  margin: 10px auto;
  padding: 4px;
  height: 40px;
  line-height: 36px;
  letter-spacing: 0.2em;
}
#schedule .schedule-cont .schedule-box {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
#schedule .schedule-cont .schedule-box > li {
	/*padding: 10px;
	background-image: url(../images/top_cast_bg.jpg);*/
  background: #fff;
	border: solid 1px #a0a0a0;
	position: relative;
	width: 20%;
	margin-bottom: 10px;
	box-sizing: border-box;
}
#schedule .schedule-cont .schedule-box > li .new-icon::before {
  bottom: calc(3vw + 125px);
}
@media screen and (max-width: 1200px) {
  #schedule .schedule-cont .schedule-box > li .new-icon::before {
    bottom: 160px;
  }
}
#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 .icon-kita {
  left: 10px;
  top: 10px;
  z-index: 201;
}
#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: 10px;
  top: calc(25.5vw - 80px);
  z-index: 100;
}

@media screen and (max-width: 1200px) {
  #schedule .schedule-cont .schedule-box  > li .icon-twitter {
    top: 230px;
  }
}

#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%;
  /*margin-bottom: 4px;*/
}
#schedule .cast-box {
  z-index: 10;
  position: relative;
}
#schedule .cast-box figcaption .name {
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	width: 90%;
	margin: 4px auto 0;
	font-size: 2rem;
  font-weight: bold;
  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: 6px 0;
}
#schedule .cast-box figcaption .time svg {
  position: relative;
  top: 1px;
  width: 20px;
  fill: #000;
  vertical-align: top;
}
#schedule .cast-box figcaption .time-box {
  background: url(../images/bg_top_schedule_time.jpg) no-repeat;
  background-size: 100% 100%;
  padding-top: 5px;
}
#schedule .cast-box figcaption .time-wrap {
  color: #000;
  background: linear-gradient(to top, #8c8c8c 0%, #fff 37%, #606060 70%, #fff 100%);
  width: 77.5%;
  height: 30px;
  text-align: left;
  line-height: 1.6em;
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  font-size: 2.0rem;
  padding: 1px;
  font-weight: 500;
  margin: 5px auto 0;
  text-align: center;
}
#schedule .cast-box figcaption .time {
  background: linear-gradient(to top left, #a9ecf5, #fff 49.5%, #fff 50.5%, #a9ecf5 100%);
  width: 100%;
  height: 100%;
  padding: 1px;
  display: block;
  line-height: 1.4;
}
#schedule .cast-box figcaption .waiting-time {
	/*background-color: #000;*/
	color: #000;
	font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
	font-size: 1.8rem;
  font-weight: bold;
	padding: 0 15px;
	height: 30px;
	/*background: -webkit-repeating-linear-gradient(-45deg, #f9eaef 0, #f9ebef 3px, #fff 3px, #fff 6px);
	background: repeating-linear-gradient(-45deg, #1b1b1b 0, #1b1b1b 3px, #000 3px, #000 6px);*/
	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: 100%;
  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: space-between;
  letter-spacing: 0.1em;
}
#system .system-nav ul li {
  background-color: #ffd8df;
  width: calc(calc(100%/4) - 10px);
  height: 60px;
  text-align: center;
  line-height: 60px;
}
#system .system-nav ul li a {
	color: #000;
	display: block;
	height: 100%;
	z-index: 1000;
	position: relative;
}
#system .point {
  background-color: #ffe8f1;
  /*color: #fefefe;*/
  padding: 40px 0;
  /*background: -webkit-repeating-linear-gradient(-45deg, #fff 0, #fff 1px, #f2e7d6 3px, #f2e7d6 6px);
  background: repeating-linear-gradient(-45deg, #fff 0, #fff 1px, #f2e7d6 3px, #f2e7d6 6px);*/
  position: relative;
  margin-bottom: 20px;
}
/*#system .point::before {
  content: "";
  background-image: url("../images/star.png");
  width: 113px;
  height: 125px;
  display: inline-block;
  position: absolute;
  top: 40px;
  left: 16%;
}
#system .point::after {
  content: "";
  background-image: url("../images/compact.png");
  display: inline-block;
  width: 208px;
  height: 194px;
  position: absolute;
  top: 40px;
  right: 10%;
}*/
#system .point h3 {
  text-align: center;
  font-family: 'Prata', 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;
}
#system .point > p span {
  color: #ff4799;
}
#system .point .point-box {
  background-color: #fff;
  max-width: 880px;
  width: 96%;
  margin: 0 auto;
  color: #000;
}
#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: #f86f8a;
  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: #f86f8a;
  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 bottom, rgba(253, 255, 249, .28), rgba(231,  197, 193, .28) 19%, rgba(194, 187, 203, .28) 36%, rgba(232, 227, 233, .28) 50%, rgba(194, 187, 203, .28) 64%, rgba(231,  197, 193, .28) 81%, rgba(253, 255, 249, .28));
  background-size: 150%;
  width: 49%;
  border: #a7a7a7 1px solid;
  position: relative;
  z-index: 10;
}
#system .price > div + div {
  background: linear-gradient(rgba(255, 197, 215, .28) 30%, rgba(255, 134, 134, .28) 50%, rgba(255, 197, 215, .28) 70%);
}
/*#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 > div::after {
  content: "";
  background-image: url("../images/system_bg01.jpg");
  width: 100%;
  height: 350px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  z-index: -1;
  background-repeat: no-repeat;
  transform: rotate(180deg);
}*/
#system .price > div + div::before {
  content: "";
  background-image: url("../images/system_bg02.jpg");
  width: 100%;
  height: 350px;
  display: inline-block;
  position: absolute;
  top: 0;
  z-index: -1;
  background-repeat: no-repeat;
}
#system .price > div + div::after {
  content: "";
  background-image: url("../images/system_bg02b.jpg");
  width: 100%;
  height: 350px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  z-index: -1;
  background-repeat: no-repeat;
  transform: rotate(180deg);
}
#system .price article {
  background-color: rgba(255,255,255,1);
  margin: 30px 36px;
  overflow: hidden;
  border: solid 1px #a7a7a7;
  padding-top: 20px;
}
#system .price > div + div article {
  border: solid 1px #a7a7a7;
}
#system .price article h3 {
  /*background-color: #080808;*/
  margin: 20px 0;
  color: #ff4799;
  text-align: center;
  font-size: 3.0rem;
  line-height: 1;
  font-style: italic;
}
#system .price > div + div article h3 {
  /*background-color: #d36f03;*/
  margin: 20px 0;
  color: #b39a52;
  text-align: center;
  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 .normal-price .special > span {
  color: #f86f8a;
}
#system .price .vip-price .special > span {
  color: #a41335;
}
#system .price article .caption dl {
  font-family: 'Prata', serif;
}
#system .price article > dl {
  align-items: center;
  width: 400px;
  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: #f86f8a;
  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 .vip-price > dl dd {
  color: #a41335;
}
#system .price article .encho {
  border-top: solid 1px #acabab;
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding: 20px 0 0;
  font-style: italic;
}
#system .price article .encho dl {
  margin-bottom: 15px;
  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: #f86f8a;
  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 .vip-price .encho dl dd {
  color: #a41335;
}
#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: #d36f03;
  font-size: 3.4rem;
  letter-spacing: -0.05em;
  font-family: 'Prata', serif;
}
#system .price .vip-price .nominate dl dd {
  color: #b39a52;
}
#system .price article .nominate dl dd > span {
  font-size: 0.7em;
  margin: 0 4px;
}
#system .price article .example {
  background-color: #fff;
  margin: 30px;
  border: #f86f8a 1px solid;
  text-align: center;
  padding: 20px 0;
  font-style: italic;
}
#system .price .vip-price .example {
  border: #594a1e 1px solid;
}
#system .example h4 {
  background: linear-gradient(to right, #fff 0%, #ffe7e7 22%, #f9abba 52%, #e7c4c0 83%, #fff 100%);
  color: #000;
  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;
  line-height: 1.2;
}
#system .example dl dd > span {
  font-weight: bold;
  margin-right: 4px;
  font-family: 'Prata', serif;
  color: #f86f8a;
}
#system .example dl dd > span i {
  font-size: 1.4rem;
}
#system .price .vip-price .example dl dd > span {
  color: #a41335;
}
#system .example p {
  line-height: 1.4em;
}
#system .example p span {
  color: #ff4799;
}
#system .vip-price .example p span {
  color: #a41335;
}
#system .other {
  background-color: #fff;
  width: 90%;
  margin: 0 auto 20px;
  border: solid 1px #a7a7a7;
  text-align: center;
  font-size: 2.0rem;
  font-style: italic;
  line-height: 50px;
  position: relative;
  padding: 30px 0 60px;
}
#system .other::before {
  content: "";
  background-image: url("../images/system_bg03.png");
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 461px;
  height: 193px;
}
#system .other::after {
  content: "";
  background-image: url("../images/system_bg04.png");
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 480px;
  height: 188px;
}
#system .other p {
  font-style: normal;
}
#system .other dl {
  display: flex;
  align-items: center;
  justify-content: center;
}
#system .other dl dd:last-child {
  margin-left: 100px;
}
#system .other span {
  color: #f86f8a;
  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: 'Prata', 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 #a7a7a7;
  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: 461px;
  height: 193px;
}
#system .option::after {
  content: "";
  background-image: url("../images/system_bg04.png");
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 480px;
  height: 188px;
}
#system .option h3 {
  font-family: 'Prata', serif;
  font-size: 2.8rem;
  margin: 40px 0 30px;
  position: relative;
  display: inline-block;
}
#system .option h3::before {
  content: "";
  background-image: url("../images/star02.png");
  position: absolute;
  top: -24px;
  left: -170px;
  display: inline-block;
  width: 142px;
  height: 78px;
}
#system .option h3::after {
  content: "";
  background-image: url("../images/star03.png");
  position: absolute;
  top: -30px;
  right: -180px;
  display: inline-block;
  width: 155px;
  height: 79px;
}
#system .option h3 span {
  display: block;
  font-size: 1.6rem;
  margin-top: 4px;
}
#system .option ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1250px;
  margin: 0 auto 30px;
  position: relative;
  z-index: 2;
}
#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;
}
#system .option ul li span + span {
  color: #f86f8a;
  font-family: 'Prata', serif;
  font-size: 2.4rem;
  letter-spacing: -0.05em;
  font-style: italic;
}
#system .option ul li span + span i {
  font-size: 1.8rem;
}
#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 #a7a7a7;
  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: 461px;
  height: 193px;
}
#system #transportation::after {
  content: "";
  background-image: url("../images/system_bg04.png");
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 480px;
  height: 188px;
}
#system #transportation h3 {
  font-family: 'Prata', serif;
  font-size: 2.8rem;
  margin: 60px 0 30px;
  position: relative;
  display: inline-block;
}
#system #transportation h3::before {
  content: "";
  background-image: url("../images/star02.png");
  position: absolute;
  top: -24px;
  left: -170px;
  display: inline-block;
  width: 142px;
  height: 78px;
}
#system #transportation h3::after {
  content: "";
  background-image: url("../images/star03.png");
  position: absolute;
  top: -30px;
  right: -180px;
  display: inline-block;
  width: 155px;
  height: 79px;
}
#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: 80%;
  margin: 0 auto;
  padding: 20px 0;
}
#system #transportation dl dt {
  flex-basis: 22%;
  text-align: right;
  margin-right: 30px;
  color: #f86f8a;
  font-family: 'Prata', serif;
  font-size: 2.4rem;
  letter-spacing: -0.05em;
  font-style: italic;
}
#system #transportation dl dt span {
  font-size: 1.8rem;
}
#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;
}
#system .caution01 {
  background-color: #fff;
  width: 90%;
  margin: 0 auto 20px;
  border: solid 1px #a7a7a7;
  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: 461px;
  height: 193px;
}
#system .caution01::after {
  content: "";
  background-image: url("../images/system_bg04.png");
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 480px;
  height: 188px;
}
#system .caution01 h3 {
  font-family: 'Prata', serif;
  font-size: 2.8rem;
  margin: 60px 0 30px;
  position: relative;
  display: inline-block;
}
#system .caution01 h3::before {
  content: "";
  background-image: url("./images/star02.png");
  position: absolute;
  top: -10px;
  left: -170px;
  display: inline-block;
  width: 142px;
  height: 78px;
}
#system .caution01 h3::after {
  content: "";
  background-image: url("./images/star03.png");
  position: absolute;
  top: -30px;
  right: -180px;
  display: inline-block;
  width: 155px;
  height: 79px;
}
#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 #a7a7a7;
  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: 461px;
  height: 193px;
}
#system .caution02::after {
  content: "";
  background-image: url("../images/system_bg04.png");
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: 480px;
  height: 188px;
}
#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: #c6b37b;
	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: #6b1919;
  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: #ffe8ec;
  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: #fff;
  background-color: #f6abba;
  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 #f6abba;
	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: 'Prata', 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: #f86f8a;
  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: #fff;*/
  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 h3::before {
  content: "";
  background-image: url("../images/star02.png");
  width: 142px;
  height: 78px;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: -170px;
}
#system .meeting-cont h3::after {
  content: "";
  background-image: url("../images/star03.png");
  display: inline-block;
  width: 155px;
  height: 79px;
  position: absolute;
  top: 10px;
  right: -170px;
}
#system .meeting-cont p {
  line-height: 30px;
}
#system .meeting-cont p > span {
  color: #ff73b9;
}
#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:first-child,
#system .meeting-map li:nth-child(2){
  border: none;
  padding: 0;
}
#system .meeting-map li:first-child img,
#system .meeting-map li:nth-child(2) img {
  width: 100%;
}
#system .meeting-map li > div {
  font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
  background-color: #6b1919;
  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: #ff4799;
	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;
}

iframe.mie {
  position: absolute;
}

#g-heaven {
  position: fixed;
  bottom: 135px;
	right: 18px;
	z-index: 100;
}

#g-heaven .btn {
	width: 24px;
	position: fixed;
	bottom: 283px;
	right: 164px;
	z-index: 1000;
	cursor: pointer;
}

iframe#PremiumBuyBtnParts + img {
	right: 116px !important;
    bottom: 114px !important;
}

/****** cosplay ******/
#cosplay {
  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 top, #ead9be, #fff);
  text-align: center;
  line-height: 3.5;
}

#cosplay .box li .price {
  font-size: 24px;
  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;
}

/****** twiiter_list ******/
#twitter-list {
  padding-bottom: 80px;
}

#twitter-list ul {
  width: 100%;
  max-width: 1720px;
  margin: 30px auto 0;
  display: flex;
  justify-content: center;
  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;
}