@charset "UTF-8";

@font-face {
	font-family: IMPRINT;
	src: url(./imprint-mt-shadow.ttf) format('truetype');
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

.kaisei-opti-medium {
  font-family: "Kaisei Opti", serif;
  font-weight: 500;
  font-style: normal;
}



button ,
form input[type="text"],
form select ,
form textarea {
	font-family: "Klee One", sans-serif;
}

* {
	box-sizing: border-box;
}
body {
	position: relative;
	margin: 0px;
	padding: 0px;
	text-align: center;
	font-family: "Klee One", sans-serif;
	letter-spacing: 0em;
	color: #111;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}
a:link ,
a:visited {
	text-decoration: none;
	color: #ed32bf;
}
a:hover ,
a:active {
	text-decoration: none;
	color: #fb71d9;
}
#inframe {
	background: transparent;
	text-align: center;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
}
.clear {
	margin: 0;
	padding: 0;
	height: 0;
	clear: both;
}
h3:not(.rech3):after ,
h3:not(.rech3):before ,
#footer:before ,
#menu-wrap:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
background: linear-gradient(90deg, #ac8944 0%,#ac8944 30%,#fde899 50%,#ac8944 70%,#ac8944 100%);
	z-index: 60;
}
h3:after ,
#footer:before {
	top: 0;
	bottom: auto;
}
#footer:before {
	height: 4px;
}

.cell.scview:nth-of-type(2n) ,
.txt-box.scview:nth-of-type(2n) {
	transform: translate(-160px,0);
	-webkit-transform: translate(-160px,0);
}
.cell.scview:nth-of-type(2n+1) ,
.txt-box.scview:nth-of-type(2n+1) {
	transform: translate(160px,0);
	-webkit-transform: translate(160px,0);
}
.cell.scview.effect ,
.txt-box.scview.effect {
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
	transition: 1.2s;
	-webkit-transition: 1.2s;
}

/* Contents
 * --------------------------------------- */
h1,h2,h3,h4,h5,div,a,p,form {
	box-sizing: border-box;
	vertical-align: bottom;
}
.txt-l {
	font-size: 1.2em;
	line-height: 1.2em;
}
.txt-ll {
	font-size: 1.4em;
	line-height: 1.2em;
}
.txt-lll {
	font-size: 2.0em;
	line-height: 1.2em;
}
.txt-s {
	font-size: 0.8em;
	line-height: 1em;
}
s {
	color: #aaa;
}
.red {
	color: #ed32bf;
}
.no {
	font-family: serif;
}
.serif {
	font-family: serif;
}
.imgem {
	height: 1.1em;
	vertical-align: middle;
}
.flex-box {
	overflow: hidden;
	margin: 0 auto 0;
}
.flex-txt {
	text-align: left;
}

.sczoom .scview {
	opacity: 0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0); 
	transform: scale(.6, .6);
	-webkit-transform: scale(.6, .6);
}
.sczoom .effect {
	opacity: 1;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	transition: 1.0s;
	-webkit-transition: 1.0s;
}
#bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 240px;
	margin: 0 auto;
	z-index: -1;
}
#contents-wrap {
	position: relative;
	margin: 0;
}
#page-top {
	position: fixed;
	margin: 0;
	padding: 0;
	z-index: 400;
}


/* PC TAB */
@media only screen and (min-width: 681px) {
body {
	font-size: 15px;
	line-height: 1.6em;
}
.pcbr::before {
	content: "\A" ;
	white-space: pre ;
}
div.sp {
	display: none;
}
.box img {
	max-width: 900px;
}
#bg {
	background: url(../images/bg2.jpg) left center no-repeat;
	background-size: cover;
}
body#toppage #bg {
	height: 640px;
	background: url(../images/bg.jpg) left center no-repeat;
	background-size: cover;
}
#page-top {
	right: 12px;
	bottom: 12px;
}
.flex-box {
	width: 1000px;
	padding: 0 0 10px;
	display: flex;
	align-items: center;/*上下*/
	justify-content: center;/*左右*/
}
.flex-box:nth-child(odd){
	flex-direction: row-reverse;
}
#enconcept .flex-box {
	flex-direction: row;
}
#system2 .flex-box {
	flex-direction: row;
}
.flex-txt {
	width: 500px;
	padding: 12px 20px 12px;
}
.flex-box img {
	width: 400px;
	height: auto;
	margin: 0px 4px;
}
}
/* //PC TAB */

@media only screen and (max-width: 1480px) {
#toppage #bg {
	background: url(../images/bg.jpg) center center no-repeat;
}
}

/* SP */
@media only screen and (max-width: 680px) {
body {
	font-size: 26px;
	line-height: 1.5em;
}
.spbr::before {
	content: "\A" ;
	white-space: pre ;
}
div.pct {
	display: none;
}
div.pc {
	display: none;
}
.nosp {
	display: none;
}
#bg {
	height: 240px;
	background: url(../images/bg2sp.jpg) center top no-repeat;
}
body#toppage #bg {
	height: 640px;
	background: url(../images/bgsp.jpg) center top no-repeat;
}
#page-top {
	right: 12px;
	bottom: 120px;
}
.flex-box {
	padding: 12px 0 12px;
}
.txt ,
.flex-txt {
	line-height: 1.4em;
}
#price .flex-txt {
	text-align: center;
}
.txt ,
.flex-box .flex-txt {
	padding: 1em 20px 1em;
}
.flex-box img {
	max-width: 620px;
	height: auto;
	margin: 2px auto;
}
.flex-txt img {
	max-width: 440px;
	height: auto;
	margin: 2px auto;
}
}
/* //SP */


#page-top a {
	display: block;
	width: 60px;
	height: 60px;
	text-decoration: none;
	background: #a70a80;
	border: solid 2px #890f6b;
	text-align: center;
	border-radius: 4px;
	opacity: 0;
	-webkit-transition: .4s;
	 transition: .4s;
}
.down #page-top a {
	opacity: 1;
}
#page-top a:hover {
	opacity: 0.4;
	-webkit-transition: .4s;
	 transition: .4s;
}
#page-top a::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 24px;
	width: 20px;
	height: 20px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.file ,
button ,
a.button ,
input[type="submit"] {
	z-index: 4;
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 1em auto;
	padding: 0.8em 4.0em 0.9em;
	text-align: center;
	font-weight: normal;
	font-size: 1.14em;
	line-height: 1em;
	letter-spacing: 0;
	cursor: pointer;
	color: #fff;
	background: #a70a80;
	border: solid 2px #890f6b;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
	transition: .4s;
}
a.button-tw {
	background: #12afff;
	border: solid 2px #00a3f6;
}
#newsbox a.button {
	width: 208px;
	padding: 0.4em 0em;
}
.file:hover ,
button:hover ,
a.button:hover ,
input[type="submit"]:hover {
	color: #fff;
}

input[type="submit"] {
	margin: 0 auto;
}
.button_wrap {
	z-index: 3;
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 1em auto;
	overflow: hidden;
	border: solid 2px #f184e3;
	border-radius: 4px;
	transition: .4s;
}
.file:hover ,
button:hover ,
a.button:hover ,
.button_wrap:hover {
	opacity: 0.4;
	transition: .4s;
}
.thumbparkmenu ul li button {
	margin: 0 3px;
	padding: 0.7em 2.0em 0.8em;
	text-decoration: none;
	font-size: 1.1em;
}
.thumbparkmenu ul li button.mixitup-control-active {
	color: #111;
	background: #ffe8fb;
	border: solid 2px #e05ac8;
}
.thumbparkmenu ul li button .red {
	margin-right: 4px;
	color: #ffe934;
}
.thumbparkmenu ul li button.mixitup-control-active .red {
	color: #ff0018;
}


/* header
 * --------------------------------------- */
#header {
	position: relative;
}
#header-top {
	z-index: 64;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	margin: 0 auto 0;
	padding: 0 ;
	text-align: center;
	background: #fff;
}
#header-inner {
	position: relative;
	margin: 0 auto 0;
	padding: 0;
	display: block;
	text-align: center;
}
#logo {
	display: block;
	overflow: hidden;
	margin: 0 auto;
	text-transform: uppercase;
}
#logo .en {
	display: block;
	letter-spacing: 0.02em;
	color: #555;
}
#recvisual ,
#mainvisual {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 auto 0;
	padding: 0;
	overflow: hidden;
}

#maiv01 ,
#maiv02 {
	position: absolute;
	display: block;
	height: auto;
	opacity:0;
}
#maiv01 {
	animation: 11.0s linear 0s normal infinite maiv01;
}
#maiv02 {
	animation: 11.0s linear 0s normal infinite maiv02;
}
@keyframes maiv01 {
	0%{opacity:1;}
	30%{opacity:1;}
	45%{opacity:0;}
	85%{opacity:0;}
	100%{opacity:1;}
}
@keyframes maiv02 {
	0%{opacity:0;}
	35%{opacity:0;}
	50%{opacity:1;}
	85%{opacity:1;}
	100%{opacity:0;}
}
@media only screen and (min-width: 681px) {
#maiv01 {
	left: calc(50% - 11vw);
	top: calc(50% - 11.0vw);
	width: 22.0vw;
}
#maiv02 {
	left: calc(50% - 30vw);
	top: calc(50% - 14.5vw);
	width: 60.0vw;
}
}
@media only screen and (max-width: 680px) {
#maiv01 {
	left: 160px;
	top: 140px;
	width: 360px;
}
#maiv02 {
	left: 0px;
	top: 130px;
	width: 680px;
}
}


#mainvisual > div {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
#mainpicopy {
	position: absolute;
	top: -1.6em;
	left: 0;
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 1.9em;
	line-height: 1.44em;
	letter-spacing: 0em;
	color: #111;
	opacity:0;
	animation: 15.0s linear 0s 1 normal forwards mainpicopy;
}
#mainpicopy img {
	max-height: 220px;
	margin-bottom: 0.0em;
}
@keyframes mainpicopy {
	0%{opacity:0;}
	91%{opacity:0;}
	100%{opacity:1;}
}
#mainpic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	opacity:0;
	animation: 15.0s linear 0s 1 normal forwards mainpic;
}
@keyframes mainpic {
	0%{opacity:0;}
	62%{opacity:0;}
	71%{opacity:1;}
	91%{opacity:1;}
	100%{opacity:0;}
}
@media only screen and (min-width: 681px) {
#mainvisual {
	height: 40vw;
}
#mainvisual > div#mainslide1 {
	background-image: url(../images/mainvpic1.jpg);
}
}
@media only screen and (max-width: 680px) {
#mainvisual {
	height: 600px;
}
#mainvisual > div#mainslide1 {
	background-image: url(../images/mainvpic1sp.jpg);
}
}


#topvisual {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 auto 0;
	padding: 0;
	overflow: hidden;
}
#mainbox {
	position: absolute;
	left: 0;
	width: 100%;
	padding: 0;
	z-index: 50;
}
#mainlogo {
	margin: 0;
	opacity:0;
	animation: 9.0s linear 0s 1 normal forwards mainlogo;
}
#mainlogo img {
	width: auto;
	height: 200px;
}
@keyframes mainlogo {
	0%{opacity:0;}
	6%{opacity:0;}
	16%{opacity:1;}
	40%{opacity:1;}
	50%{opacity:0;}
	100%{opacity:0;}
}
#maintxt {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	opacity:0;
	animation: 9.0s linear 0s 1 normal forwards maintxt;
}
@keyframes maintxt {
	0%{opacity:0;}
	48%{opacity:0;}
	58%{opacity:1;}
	90%{opacity:1;}
	100%{opacity:0;}
}
.maincopy {
	padding-top: 1.2em;
	font-weight: bold;
	font-size: 2.4em;
	line-height: 1.5em;
	letter-spacing: 0em;
	color: #444;
}

#header-bottom {
	position: fixed;
	top: 0px;
	left: 0px;
	display: block;
	width: 100%;
	height: 24px;
	padding: 28px 0 0;
	color: #444;
	z-index: 80;
}
#header-tel ,
#footer-tel {
	display: inline-block;
	margin: 0px 24px 0 auto;
	padding: 0;
	letter-spacing: 0.02em;
	color: #444;
	vertical-align: top;
	font-size: 20px;
	line-height: 1em;
	font-family: serif;
}
#header-tel span ,
#footer-tel span {
	display: inline-block;
	float: left;
	padding: 0;
	margin: 2px 4px 0 0;
	font-size: 16px;
	line-height: 1em;
}
#footer-mail {
	margin: 0 auto;
	padding: 12px 0 0;
	font-size: 1.3em;
	line-height: 1.1em;
	font-family: serif;
}
#header-open ,
#footer-open {
	display: inline-block;
	margin: 0px auto 0;
	padding: 0;
	letter-spacing: 0.02em;
	vertical-align: top;
	font-size: 20px;
	line-height: 1em;
	font-family: serif;
}
#footer-tel a:link ,
#footer-tel a:visited ,
#footer-mail a ,
#footer-tel span ,
#footer-open ,
#footer-open span {
	color: #fff;
}
#header-desk ,
#footer-desk {
	display: inline-block;
	float: left;
}
#header-open span ,
#footer-open span {
	display: inline-block;
	float: left;
	margin: 2px 4px 0 0;
	font-size: 16px;
	line-height: 1em;
}
#header-desk ,
#footer-desk {
	margin: 0px 24px 0 0;
	font-size: 20px;
	line-height: 1em;
}
#header-open span.jp ,
#footer-open span.jp {
	margin: 2px 4px 0 0;
	font-size: 16px;
}

h2 {
	position: absolute;
	left: 0px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.0em;
	color: #333;
}

/* PC TAB */
@media only screen and (min-width: 681px) {
#header {
	padding: 100px 0 0px;
}
#toppage #header {
	padding: 100px 0 0px;
}
#recruitpage #header {
	padding: 100px 0 0px;
}
#logo {
	padding: 10px 0 0;
}
#logo img {
	margin: 0 auto 0;
	width: auto;
	height: 52px;
}
#logo .en {
	font-size: 12px;
	line-height: 1.4em;
}
#header-inner {
	height: 100px;
}
#header-tel {
	float: left;
	padding: 0 0 0 12px;
}
#header-open {
	float: right;
	padding: 0 12px 0 0;
}
#header-tel a:link ,
#header-tel a:visited ,
#header-tel span ,
#header-open ,
#header-open span {
	color: #444;
}
#recvisual {
	height: 50vw;
	background: url(../images/recvisual.jpg) center center no-repeat;
	background-size: cover;
}
#recvisual.test {
	background: url(../images/recvisual6.jpg) center center no-repeat;
	background-size: cover;
}
#topvisual {
	height: 160px;
	background: url(../images/toppic.jpg) center bottom no-repeat;
	background-size: cover;
}
#mainvisual h2#mainlogo {
	top: 200px;
	left: calc(36% - 280px);
	width: 560px;
	padding: 40px 0 0;
}
#mainvisual .sp {
	display:none;
}
#mainbox {
	top: 19vw;
}
h2#mainlogo span.en {
	font-size: 26px;
	line-height: 1.0em;
}
h2#mainlogo span.jp {
	padding: 16px 0 0;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.3em;
}
.maincopy {
	padding: 40px 0 0;
}
.topcover {
	max-width: 720px;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
#header {
	padding: 110px 0 0px;
}
#toppage #header {
	padding: 110px 0 0px;
}
#recruitpage #header {
	padding: 100px 0 0px;
}
#header-inner {
	width: 680px;
	height: 110px;
}
#header-bottom {
	top: 79px;
	left: 0px;
	display: block;
	width: 100%;
	height: 31px;
	padding: 0;
	color: #fff;
background: linear-gradient(90deg, #a70a5b 0%, #930aa7 100%);
}
#header-tel {
	display: none;
}
#header-tel a:link ,
#header-tel a:visited ,
#header-tel span ,
#header-open ,
#header-open span {
	color: #fff;
}
#logo {
	padding: 8px 20px 0 0;
}
#logo img {
	margin: 0 auto 0;
	width: auto;
	height: 66px;
}
#logo .en {
	font-size: 19px;
	line-height: 1.6em;
}
#header-marquee {
	padding-top: 3px;
}
#recvisual {
	height: 900px;
	background: url(../images/recvisualsp.jpg) center center no-repeat;
	background-size: cover;
}
#recvisual.test {
	background: url(../images/recvisualsp6.jpg) center center no-repeat;
}
#topvisual {
	height: 220px;
	background: url(../images/toppicsp.jpg) center top no-repeat;
	background-size: cover;
}
#mainvisual h2#mainlogo {
	top: 240px;
	left: 0;
	width: 100%;
	padding: 40px 0 0;
}
#mainvisual .pc {
	display:none;
}
#recvisual h2#mainlogo {
	top: 300px;
	background: none;
}
#mainbox {
	top: 410px;
}
h2#mainlogo span.en {
	font-size: 21px;
	line-height: 1.0em;
}
h2#mainlogo span.jp {
	padding: 20px 0 0;
	font-weight: bold;
	font-size: 28px;
	line-height: 1.3em;
}
#mainpicopy {
	font-size: 1.44em;
	line-height: 1.36em;
	letter-spacing: 0em;
}
.maincopy {
	padding: 20px 0 0;
	font-size: 1.6em;
	line-height: 1.3em;
	letter-spacing: 0em;
}
#mainpic {
	padding: 30px 0 0;
}
#footer-tel {
	margin: 0 16px 0 auto;
	font-size: 26px;
	line-height: 1em;
}
#header-tel span ,
#footer-tel span {
	margin: 2px 4px 0 0;
	font-size: 24px;
	line-height: 1em;
	vertical-align: bottom;
}
#header-open ,
#footer-open {
	font-size: 26px;
	line-height: 1em;
}
#header-open span ,
#footer-open span {
	margin: 4px 4px 0 0;
	font-size: 21px;
	line-height: 1em;
	vertical-align: bottom;
}
#header-desk ,
#footer-desk {
	margin: 0px 28px 0 0;
	font-size: 26px;
	line-height: 1em;
}
#header-open span.jp ,
#footer-open span.jp {
	margin: 2px 4px 0 0;
	font-size: 21px;
	line-height: 1em;
}
}
/* //SP */

/* footer
 * --------------------------------------- */
#footer {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 2.4em 0 4.0em;
	text-align: center;
	color: #fff;
background: linear-gradient(90deg, #7d1546 0%, #5e1882 100%);
}
#footer-inner {
	position: relative;
	display: block;
	margin: 0 auto;
	overflow: hidden;
}
#footer-menu {
	display: block;
	padding: 0;
	list-style-type: none;
	margin: 0 auto 20px;
}
#footer-menu li {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
	cursor: pointer;
	position: relative;
	text-align: center;
	color: #f184e3;
}
#footer-menu li a {
	margin: 0 12px;
	text-decoration: none;
	padding: 0.6em 0.2em;
	font-size: 1.0em;
	line-height: 1.0em;
	background-size: auto 1.2em;
}
#footer-menu li a:before {
	margin-right: 0.16em;
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
}

#footer-menu li a:link ,
#footer-menu li a:visited {
	color: #fff;
}
#footer-menu li a:hover {
	color: #ffdee1;
}
#footer-menu li a span.en {
	display: none;
}
#footer-txt {
	max-width: 1024px;
	margin: 0 auto 16px;
	padding: 0 16px;
	text-align: center;
	font-size: 14px;
	line-height: 1.3em;
}
#footer-logo {
	display: inline-block;
	text-align: center;
	width: 648px;
	margin: 12px auto;
	padding: 0;
	text-transform: uppercase;
}
a#footer-logo {
	color: #fff;
}
#footer-logo:hover {
	background: none;
}
#footer-logo img {
	position: relative;
	width: auto;
	height: 200px;
	margin: 0 auto 12px;
	vertical-align: top;
}
#footer-banners {
	width: 100%;
	margin: 0 auto;
	padding: 60px 0 0;
}
#footer-banners a {
	display: inline-block;
	font-size: 10.5px;
	line-height: 1.5em;
}
#footer-banners a img {
	vertical-align: top;
}
#footer-copy {
	width: 100%;
	margin: 0 auto;
	padding: 40px 0 0;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.4em;
}


/* SP */
@media only screen and (max-width: 680px) {
#footer {
	padding: 48px 0 148px;
}
#footer-inner {
	width: 680px;
}
#footer-menu {
	width: 600px;
	margin: 0 auto 28px;
	text-align: left;
}
#footer-menu li {
	display: inline-block;
	margin: 0 auto 8px;
	padding: 0;
	width: 49%;
	text-align: left;
}
#footer-menu li a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.7em 0.2em 0.4em;
	font-size: 1.0em;
	line-height: 1.1em;
	background-size: auto 1.0em;
}
#footer-menu li a:before {
	margin-right: 0.16em;
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
}
#footer-menu li a span {
	vertical-align: middle;
}
#footer-txt {
	width: 640px;
	text-align: left;
	font-size: 22px;
	line-height: 1.4em;
}
#footer-logo {
	margin: 8px auto 12px;
}
#footer-logo img {
	width: auto;
	height: 160px;
}
}



/* #footersp
 * --------------------------------------- */
/* SP */
@media only screen and (max-width: 680px) {
#footersp {
	position: fixed;
	bottom: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 110px;
	padding: 0;
	text-align: left;
	color: #333;
background: linear-gradient(90deg, #7d1546 0%, #5e1882 100%);
	border-top: solid 1px #fff;
	line-height: 0em;
	letter-spacing: -.40em; /*隙間対策 */
	font-family: serif;
	z-index: 960;
}
#footersp a {
	display: inline-block;
	width: 113px;
	height: 110px;
	margin: 0 auto 0 0;
	padding: 14px 0 0;
	font-size: 18px;
	line-height: 1.2em;
	letter-spacing: 0em;
	text-align: center;
	color: #fff;
	border-right: solid 0px #eee;
	letter-spacing: normal; /*隙間対策 */
}
#footersp a:nth-child(1) {
}
#footersp a:nth-child(2) {
}
#footersp a:nth-child(3) {
	font-size: 17px;
	letter-spacing: -0.2em;
}
#footersp a:nth-child(4) {
	letter-spacing: -0.1em;
}
#footersp a:nth-child(5) {
}
#footersp a i {
	display: block;
	margin: 0 auto 4px;
	font-size: 40px;
	color: #fff;
}
#footersp a img {
	display: block;
	width: auto;
	height: 36px;
	margin: 0 auto 6px;
}
}
/* //SP */


/* #menu
 * --------------------------------------- */
/* PC TAB */
@media only screen and (min-width: 681px) {
#menubtn {
	display: none;
}
#menu-wrap {
	position: fixed;
	top: 70px;
	right: 0px;
	display: block;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 0;
	text-align: center;
	z-index: 648;
background: linear-gradient(90deg, #a70a5b 0%, #930aa7 100%);
}
#menu {
	display: table;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	list-style-type: none;
	border-collapse: collapse;
	border-spacing: 0;
	letter-spacing: -1em; /*隙間対策 */
}
#menu li {
	display: inline-block;
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	letter-spacing: normal; /*隙間対策 */
}
#menu li:nth-child(7) {
}
#menu li a {
	position: relative;
	display: block;
	width: auto;
	height: 30px;
	margin: 0;
	padding: 0 24px 0;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	background: none;
}
#menu li a:link ,
#menu li a:visited {
	color: #fff;
}
#menu li a:hover {
	color: #fff;
}
#menu li a img {
	display: none;
}
menu li a span {
	vertical-align: top;
}
#menu li a span.en {
	display: block;
	height: 16px;
	padding: 9px 0 0;
	font-family: serif;
	font-size: 14px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.1em;
	text-indent: 0.2em;
}
#menu li a span.jp {
	position: absolute;
	left: 0px;
	top: -13px;
	display: block;
	width: 100%;
	height: 11px;
	padding: 0;
	font-size: 11px;
	line-height: 1em;
	color: #777;
	opacity: 0;
	transition: .3s;
}
#menu li a:hover span.jp {
	opacity: 1.0;
	transition: .3s;
}
}
/* //PC TAB */

@media only screen and (max-width: 1049px) {
#menu li a {
	min-width: 90px;
}
}

#menubtn {
	position: fixed;
}
/* SP */
@media only screen and (max-width: 680px) {
#menubtn {
	z-index: 990;
	position: fixed;
	top: 6px;
	right: 6px;
	width: 82px;
	height: 68px;
	font-size: 18px;
	line-height: 1em;
	letter-spacing: 0em;
	font-family: serif;
	color: #fff;
	background: #a70a80;
	border: solid 2px #890f6b;
	overflow: hidden;
	border-radius: 6px;
}
#menubtn span.sp {
	display: none;
}
.navBtn {
	position: relative;
	width: 80px;
	height: 62px;
	margin: 0 auto;
	padding: 0;
	cursor: pointer;
}
.navBtn .line {
	position: absolute;
	left: 16px;
	width: 48px;
	height: 4px;
	margin: 0;
	padding: 0;
	background: #fff;
}
.navBtn .line.lineT {
	top: 16px;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
.navBtn .line.lineB {
	top: 30px;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
.navBtn .line.lineC {
	top: 44px;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
body.open .navBtn .line.lineT {
	top: 30px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
body.open .navBtn .line.lineC {
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
body.open .navBtn .line.lineB {
	top: 30px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
#menu-wrap {
	z-index: 900;
	visibility: visible;
	overflow: hidden;
	position:fixed;
	margin: 0;
	top: 0;
	left: -101%;
	display: block;
	width: 100%;
	height: 100vh;
	padding: 0;
	background: rgba(255,255,255,0.9);
	transition: left 0.6s ease-in 0.2s;
}
body.open #menu-wrap {
	position: fixed;
	left: 0;
	transition: left 0.4s ease-out 0s;
}
#menu {
	position: absolute;
	left: 60px;
	bottom: calc(50% - 280px);
	display: block;
	width: 560px;
	height: auto;
	margin: 0;
	padding: 0;
	list-style-type: none;
	vertical-align: middle;
}
#menu li {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0.5em 0;
}
#menu li a {
	position: relative;
	display: inline-block;
	width: 560px;
	height: auto;
	margin: 0 auto;
	padding: 0.8em 0 0.9em;
	text-align: center;
	font-weight: normal;
	font-size: 1.14em;
	line-height: 1em;
	letter-spacing: 0;
	color: #fff;
	background: #a70a80;
	border: solid 2px #890f6b;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
#menu li a:link ,
#menu li a:visited {
	color: #fff;
}
#menu li a img {
	display: inline-block;
	height: 44px;
	margin: 0 12px 0 0;
	vertical-align: middle;
}
#menu li a span.en {
	font-family: "IMPRINT", serif;
	font-size: 32px;
	text-transform: uppercase;
}
#menu li a span.jp {
	height: auto;
	margin-left: 24px;
	font-size: 26px;
}
#menu li a span {
	vertical-align: middle;
}
}
/* //SP */


/* toppage
 * --------------------------------------- */
#webreserveapp {
	display: inline-block;
	margin: 40px auto 40px;
}
#toppic {
	margin: 0 auto;
	overflow: hidden;
}
#toppic ul {
	margin: 0;
	padding: 0;
}
#toppic ul li {
	list-style: none;
}

#tw p {
	margin: 0 auto;
	padding: 1.2em 0 1.2em;
	text-align: left;
}
#topbanner img {
	vertical-align: top;
}
/* news twiier
 * --------------------------------------- */
#detail #tw {
	float: none;
	width: 400px;
	height: auto;
	margin: 0 auto 8px;
	padding: 12px 12px;
	background: #fff;
	border-radius: 4px;
}
/*#newsbox {
	max-height: 480px;
	overflow-y: auto;
}*/

/* news
 * --------------------------------------- */
.kiji {
	max-width: 640px;
	margin: 0 auto;
	padding: 0 1em 1em;
	text-align: left;
	font-family: sans-serif;
}
.kiji::before {
	content: "Velvet【公式】";
	display: block;
	margin: 0 auto 0.2em;
	padding: 0.8em 0 0.8em 2.6em;
	line-height: 1.0em;
	font-weight: bold;
	background: url(../images/sns.png) left center no-repeat;
	background-size: auto 2.2em;
}
.kiji .date {
	margin: 0 auto 0.6em;
	padding: 0.4em 0 0.4em 2.6em;
	font-size: 1.0em;
	line-height: 1.0em;
	color: #777;
}
.kiji .com {
	text-align: left;
	margin: 0;
	padding: 0 0 0 2.6em;
	line-height: 1.3em;
}
.box .kiji img {
	display: block;
	max-width: 510px;
	max-height: 320px;
	height: auto;
	margin: 0.7em 0;
	vertical-align: bottom;
}




/* PC TAB */
@media only screen and (min-width: 681px) {
#toppic {
	width: 900px;
	height: 252px;
}
.twitter {
	width: 680px;
	height: auto;
	margin: 0 auto 20px;
	padding: 12px 12px;
	background: #fff;
	border-radius: 4px;
}
.twitter-timeline {
	width: 640px;
	height: 400px;
	margin: 0 auto 0px;
}
#newsbox {
	width: 600px;
	margin: 0 auto 0px;
}
#topbanner {
	width: 660px;
	margin: 0 auto 0;
	padding: 0;
	text-align: center;
}
#topbanner a {
	opacity: 1;
	-webkit-transition:all 0.3s;
	transition:all 0.3s;
}
#topbanner a:hover {
	opacity: 0.5;
}
#topbanner img {
	display: inline-block;
	margin: 0 4px 20px;
	width: 320px;
	height: auto;
	vertical-align: top;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
#webreserveapp {
	margin: 28px auto 20px;
}
#toppic {
	width: 680px;
	height: 200px;
}
.twitter {
	width: 360px;
	margin: 160px auto 220px;
	height: auto;
	padding: 12px 12px;
	background: #fff;
	border-radius: 4px;
	transform: scale(1.8,1.8);
}
.twitter-timeline {
	width: 640px;
	height: 400px;
	margin: 0 auto 0px;
}
#detail #tw {
	width: 360px;
	margin: 160px auto 220px;
	transform: scale(1.8,1.8);
}
#nw {
	width: 600px;
	margin: 20px auto 0;
	padding: 20px 0 0;
	border-top: solid 1px #ada69c;
}
#newsbox {
	width: 600px;
	margin: 0 auto 60px;
}
#topbanner {
	width: 680px;
	margin: 0 auto 0;
	padding: 40px 0 20px;
	text-align: center;
}
#topbanner p {
	padding: 1.2em 40px 1.2em;
}
#topbanner img {
	display: inline-block;
	margin: 10px auto 0;
	width: 320px;
	height: 112px;
}
.kiji {
	padding: 0 0.5em 1em;
}
.kiji .date {
	padding: 6px 0 6px;
}
.kiji .com {
	padding: 0px 0 12px;
}
}
/* //SP */




/* Contents
 * --------------------------------------- */
#contents {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: linear-gradient(90deg, #f7b0df 0%, #b49df5 100%);
}
#recruit_price {
	margin: 0 auto;
	padding: 0px 0 30px;
}
#recruit_price img {
	overflow: hidden;
	display: inline-block;
	margin: 0 auto;
	vertical-align: top;
}
/* PC TAB */
@media only screen and (min-width: 681px) {
#recruit_price {
	width: 980px;
}
#recruit_price img {
	width: 480px;
}
}
/* //PC TAB */

.main {
	margin: 0 auto;
	padding: 0;
}
.section {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 10px;
}
.section#toppics {
	padding: 10px 0 0px;
}
.section#today {
	padding: 0px 0 20px;
}
.sectionin {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}

/* SP */
@media only screen and (max-width: 680px) {
#detail .main {
	width: 680px;
}
.section {
	width: 680px;
	overflow: hidden;
}
.sectionin {
	width: 680px;
}
#news .sectionin {
	width: 680px;
}
body.schedulepage .sectionin ,
body.castpage .sectionin {
	padding: 12px 0px 12px;
}
}
/* //SP */


/* Box
 * --------------------------------------- */
.yellow {
	display: inline-block;
	padding: 0px 6px 3px;
	background: linear-gradient(transparent 60%, #bcf19e 60%);
}
.leftimg {
	float: left;
	margin: 0 15px 15px 0;
}
.rightimg {
	float: right;
	margin: 0 0 0px 15px;
}
.campain {
	width: 100%;
	max-width: 820px;
}
.box {
	position: relative;
	width: 100%;
	max-width: 880px;
	margin: 0 auto 0px;
	padding: 20px 20px 20px;
background: url(../images/txt-box.png) left top no-repeat,  url(../images/txt-box2.png) right 80px no-repeat;
}
#detailpage .box {
	overflow: hidden;
}
.box p {
	margin: 0 0 0.8em;
	padding: 0;
	text-align: left;
}
.box p:last-of-type {
	margin: 0 0 0px;
}
.half-box {
	background: rgba(69,39,42,0.7);
}
.point {
	display: block;
	width: 200px;
	height: 100px;
	margin: 0 auto;
	padding: 0 0;
	background: url(../images/point.png) center 20px no-repeat;
}
.concept {
	line-height: 2.0em;
}

/* PC TAB */
@media only screen and (min-width: 681px) {
#news .box {
	width: 880px;
	padding: 0px 8px 0px;
}
#detail .box {
	max-width: 920px;
	margin: 0px auto 20px;
	padding: 0px 0px 0px;
}
.box img {
	max-width: 900px;
}
.box#conceptimg {
	background: url(../images/concept.jpg) 0px 100px no-repeat;
	background-size: 510px auto;
}
.half-box {
	box-shadow: 0px 2px 12px rgba(0,0,0,0.16);
}
#concept .half-box {
	display: inline-block;
	width: 530px;
	float: right;
	margin: 0 10px 0 auto;
	padding: 2.4em 2.4em;
	font-size: 1.1em;
	line-height: 1.6em;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
.box {
	width: 680px;
	margin: 0 auto 20px;
	padding: 20px 0px 20px;
}
.box#conceptimg {
	background: url(../images/concept.jpg) center top no-repeat;
	background-size: 680px auto;
}
#concept .half-box {
	margin: 360px auto 0;
	padding: 1.2em 1.5em;
}
#detail .box {
	margin: 0px auto 0px;
	padding: 0px 0px 0px;
}
}
/* //SP */


/* txt
 * --------------------------------------- */
.txt {
	width: 100%;
	margin: 0 auto 24px;
	padding: 0px 0px;
	text-align: left;
}
.txt:last-of-type {
	margin: 0 auto 12px;
}
.txt-box {
	width: 100%;
	max-width: 760px;
	margin: 0 auto 1.4em;
	padding: 30px 50px;
	background: #fff;
	border: solid 2px #dfbfd7;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
.flex-box .txt-box {
	text-align: center;
}
@media only screen and (min-width: 681px) {
.flex-box .txt-box {
	padding: 30px 20px;
}
}
@media only screen and (max-width: 680px) {
.txt-box {
	width: 640px;
	padding: 30px 30px;
}
}

.rec-box {
	list-style-type: none;
	width: 100%;
	max-width: 840px;
	margin: 0 auto 28px;
	padding: 12px 16px 12px;
	font-size: 1em;
	border: 1px solid #f7d0d5;
	background: rgba(255,255,255,0.6);
	-webkit-border-radius: 8px; /*角丸*/
	-moz-border-radius: 8px;
	border-radius: 8px;
}
div.rec-box {
	line-height: 1.8em;
}
p.rec-box {
	margin: 0 auto 28px;
	padding: 12px 40px 12px;
	text-align: left;
}
ul.rec-box {
	margin: 0 auto 28px;
	padding: 20px 12px 8px;
	text-align: center;
}
ul.rec-box li {
	display: inline-block;
	margin: 0 6px 12px;
	padding: 2px 8px;
	line-height: 1em;
}
.box ol ,
.box ul {
	margin: 0px;
	padding: 0.8em 0 0.8em 1.6em;
	text-align: left;
}
.txt-box ul li {
	margin: 0px 0px;
	padding: 0.4em 0 0.4em 1.5em;
	line-height: 1.3em;
	list-style-type: none;
	background: url(../images/li.png) left 0.44em no-repeat;
	background-size: 1.2em auto;
}
.txt-box ul li:last-child {
	padding: 0.4em 0 0.0em 1.5em;
}
.box dl {
	margin: 0;
	text-align: left;
}
.box dt {
	color: #333;
	margin: 0;
	padding: 6px 32px 8px;
	background: #fff6e6;
}
.box dd {
	margin: 0;
	padding: 6px 32px 10px;
}


.about {
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
	background: #1b0709;
	letter-spacing: -.40em; /*隙間対策 */
}
.about-box {
	vertical-align: top;
	display: inline-block;
	width: 33.3%;
	margin: 0;
	padding: 0;
	letter-spacing: normal; /*隙間対策 */
}
.about-box img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	vertical-align: top;
}
.about-txt {
	position: relative;
	padding: 1.7em 1em 1.6em;
	text-align: left;
	font-size: 1em;
	line-height: 1.8em;
}
.about-txt i {
	position: absolute;
	top: -0.3em;
	left: calc(50% - 0.5em);
	font-size: 2em;
	color: #8ecc51;
}
.about-txt  h4 {
	margin: 0 auto 0;
	padding: 0 0 0.2em;
	text-align: center;
	font-weight: bold;
	font-family: serif;
	font-size: 1.6em;
	line-height: 1.2em;
	letter-spacing: 0.1em;
}
.about-txt p {
	margin: 0;
	padding: 0;
	text-align: left;
	font-size: 1.em;
	line-height: 1.4em;
}

/* SP */
@media only screen and (max-width: 680px) {
.about-box {
	width: 100%;
}
.about-pic {
	height: 280px;
	overflow: hidden;
}
.about-txt {
	padding: 1.7em 2em 1.6em;
	font-size: 0.9em;
	height: auto;
}
.about-txt  h4 {
	font-size: 1.6em;
	line-height: 1.2em;
}
.about-txt i {
	font-size: 1.8em;
}
}


/* Heading
 * --------------------------------------- */
h2 {
	top: 52px;
	padding: 0;
}
h2 span.en {
	position: relative;
	display: inline-block;
	margin: 0 auto 0;
	padding: 0;
	font-family: "IMPRINT", serif;
	font-weight: normal;
	font-size: 3.0em;
	line-height: 1.0em;
	letter-spacing: 0.04em;
	text-indent: 0.04em;
	text-transform: uppercase;
	color: #a70a80;
}
h2 span.jp {
	display: block;
	margin: 0 auto 0;
	padding: 0.2em 0 0;
	font-size: 1.1em;
	line-height: 1.0em;
	letter-spacing: 0.0em;
	text-indent: 0.0em;
	color: #666;
}
h3 {
	position: relative;
	width: 100%;
	margin: 0 auto 1.2em;
	padding: 1.3em 0 1.1em;
	text-align: center;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.0em;
	letter-spacing: 0.14em;
	text-indent: 0.14em;
	color: #555;
	background: #fff;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
#recruitpage h3 {
	background: none;
}
#detail h3 {
	margin: 0 auto 1.0em;
}
h3 span.en {
	position: relative;
	display: inline-block;
	margin: 0 auto 0;
	padding: 0 0 0.1em;
	font-family: "IMPRINT", serif;
	font-size: 2.4em;
	line-height: 1.0em;
	text-transform: uppercase;
	color: #a70a80;
}
#detail h3 span.en {
	font-size: 1.4em;
	line-height: 1.0em;
}
h3 span.jp {
	display: block;
	margin: 0 auto 0;
	padding: 00;
	font-size: 1.2em;
	line-height: 1.0em;
	color: #777;
}
h4 {
	position: relative;
	max-width: 880px;
	margin: 0 auto 1.6em;
	padding: 0;
	text-align: center;
	text-transform: uppercase;
	text-indent: 0.1em;
	font-weight: normal;
	font-size: 1.0em;
	line-height: 1.0em;
	letter-spacing: 0.01em;
	color: #564913;
	border-bottom: solid 2px #a70a80;
	z-index: 2;
}
h4 span.jp {
	display: inline-block;
	padding: 0 0 0.2em;
	font-size: 1.8em;
	line-height: 1.0em;
}
h5 {
	margin: 0 auto 6px;
	padding: 0 12px 0.2em;
	text-align: center;
	font-weight: normal;
	font-size: 1.4em;
	line-height: 1.2em;
	letter-spacing: 0;
	color: #f184e3;
}


/* SP */
@media only screen and (max-width: 680px) {
h2 {
	top: 60px;
	padding: 0;
}
h2 span.en {
	font-size: 2.2em;
	line-height: 1.0em;
}
h2 span.jp {
	font-size: 1.1em;
	line-height: 1.0em;
}
h3 {
	padding: 0.75em 0 0.8em;
}
h3 span.en {
	padding: 0 0 0.2em;
	font-size: 1.8em;
	line-height: 1.0em;
	letter-spacing: 0.1em;
}
h3 span.jp {
	font-size: 1.0em;
	line-height: 1.0em;
	letter-spacing: 0;
}

#detail h3 span.en {
	font-size: 1.6em;
}
h4 {
	margin: 0 auto 0.9em;
}
h4 span.jp {
	font-size: 1.5em;
	line-height: 1.0em;
}
body.recruitpage h4 {
	padding: 0 0px;
	letter-spacing: 0.0em;
}
#no1 h5 {
	font-size: 1.4em;
}
}


/* Cell
 * --------------------------------------- */
.cell {
	width: 100%;
	max-width: 760px;
	overflow: hidden;
	background: #fff;
	border: solid 2px #dfbfd7;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
#detail .dcell {
	max-width: 920px;
}
.cell .cset {
	margin: 0 auto 6px;
	overflow: hidden;
	line-height: 1.4em;
	border-bottom: solid 1px rgba(0,0,0,0.16);
}
.cell .cset:last-child {
	border-bottom: solid 0px #ccc;
}
.cell .cset > div {
	float: left;
	padding: 1em 2% 1em;
}
#detail .cell .cset > div {
	padding: 0.4em 2% 0.4em;
}
.pcell .cset > div {
	padding: 0.7em 1.2% 0.7em;
}
.pcell .cset > div s {
	color: #bbb;
}
.dcell .cset > div {
	font-size: 1.1em;
}
.cell .cset > div .en {
	font-size: 1.1em
}
.cell .cset > div .no {
	margin-left: 0.1em;
	margin-right: 0.1em;
	font-size: 1.2em;
	font-weight: normal;
}
.cell .cset .cleft {
	width: 20%;
	padding: 0.7em 2% 0.7em;
	text-align: left;
}
.cell .cset .cright {
	position: relative;
	width: 80%;
	padding: 0.7em 2% 0.7em;
	text-align: left;
}
.pcell .cset .cleft {
	width: 45%;
}
.pcell .cset .cright {
	width: 55%;
	text-align: right;
	color: #ea27ba;
}
.mcell .cset .cleft {
	width: 24%;
	padding: 1.1em 2% 1.1em;
}
.mcell .cset .cright {
	width: 76%;
	padding: 1.1em 2% 1.1em;
}
.need {
	margin: 0 auto 0 4px;
	padding: 1px 3px;
	font-size: 0.94em;
	line-height: 0.9em;
	text-align: center;
	color: #fff;
	background: #36d2ba;
	border-radius: 2px;
}

.cell .cset .cright span.course {
	display: inline-block;
	padding: 0.3em 0.0em 0.3em;
	vertical-align: top;
	text-align: center;
	font-weight: bold;
	font-size: 1.0em;
	line-height: 1.0em;
}
.cell .cset .cleft span.course {
	position: relative;
	display: inline-block;
	width: 7.2em;
	padding: 0.3em 0.0em 0.3em;
	vertical-align: top;
	text-align: center;
	font-weight: bold;
	font-size: 1.0em;
	line-height: 1.0em;
	color: #111;
	border-radius: 0.2em;
}
.cell .cset .cleft span.course span.no {
	display: inline-block;
	vertical-align: bottom;
}
.cell .cset .cleft span.course span.jp {
	display: inline-block;
	vertical-align: top;
}
.cell .cset:nth-of-type(1) .cleft span.course {
	background-color: #77f754;
}
.cell .cset:nth-of-type(2) .cleft span.course {
	background-color: #ffe671;
}
.cell .cset:nth-of-type(3) .cleft span.course {
	background-color: #ffb579;
}
.cell .cset:nth-of-type(4) .cleft span.course {
	background-color: #ffb5da;
}
.cell .cset:nth-of-type(5) .cleft span.course {
	background-color: #73d6ff;
}
.cell .cset:nth-of-type(6) .cleft span.course {
	background-color: #60ffee;
}

/* PC TAB */
@media only screen and (min-width: 681px) {
.cell {
	margin: 0 auto 1.4em;
	padding: 20px 100px;
}
#detail .dcell {
	margin: 0 auto 0.6em;
	padding: 20px 20px;
}
#detail .dcell .cset {
	float: left;
	margin: 0 auto 0px;
	width: 20%;
	border-bottom: solid 0px #ccc;
}
#detail .dcell .cset div {
	float: none;
}
.pcell .cset > div {
	font-size: 1.2em;
}
.lcell .cset > div {
	font-size: 1.4em;
}
#detail .dcell .cset .cleft {
	width: 100%;
	padding: 0.4em 0 0.4em;
	text-align: center;
	background: #fbdbf7;
	border-right: solid 0px #fff;
}
#detail .dcell .cset .cright {
	width: 100%;
	height: 3.6em;
	padding: 0.4em 0 0em;
	text-align: center;
}
.cell .cset .cleft span.course span.jp {
	margin-bottom: 0.1em;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
.cell {
	width: 640px;
	margin: 0 auto 0.6em;
	padding: 30px 20px;
}
.mcell .cset div {
	float: none;
}
.pcell .cset > div {
	font-size: 1.05em;
}
.lcell .cset > div {
	font-size: 1.1em;
}
.pcell .cset .cleft {
	width: 40%;
}
.pcell .cset .cright {
	width: 60%;
}
.cell .cset .cleft span.course span.jp {
	margin-bottom: 0.0em;
}
.mcell .cset .cleft {
	width: 100%;
	padding: 1em 2% 0.2em;
	text-align: center;
}
.mcell .cset .cright {
	width: 100%;
	padding: 0.2em 2% 1em;
	text-align: center;
}
.dcell .cset {
	border-bottom: solid 1px rgba(0,1,1,0.1);
}
.dcell .cset .cleft {
	width: 30%;
}
.dcell .cset .cright {
	width: 70%;
}
}
/* //SP */





/* cast
 * --------------------------------------- */
.thumbparkmenu {
	overflow: hidden;
	clear: both;
	text-align: center;
	width: 100%;
}
.thumbparkmenu ul {
	display: table;
	margin: 4px auto 24px;
	padding: 0;
	text-align: center;
}
.thumbparkmenu ul li {
	display: inline-block;
	list-style-type: none;
}
#thumbpark ,
.thumbindex {
	width: 100%;
	margin: 0 auto;
	padding: 2px 0 0;
	text-align: center;
	line-height: 0em;
	letter-spacing: -.40em; /*隙間対策 */
}
.pickupbox {
	display: inline-block;
	overflow: hidden;
}
.thumb {
	display: inline-block;
	position: relative;
	padding: 0;
	text-align: center;
	line-height: 1em;
	overflow: hidden;
	letter-spacing: normal; /*隙間対策 */
}

#cast .thumbindex .thumb {
	opacity:0;
	transform: translate(0,60px);
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-name: thumbopen;
}
@keyframes thumbopen { 
	0%  {opacity:0;transform: translate(0,60px)}
	100%{opacity:1;transform: translate(0,0px)}
}

#cast .thumb:nth-child(1) {animation-delay: 0.0s;}
#cast .thumb:nth-child(2) {animation-delay: 0.2s;}
#cast .thumb:nth-child(3) {animation-delay: 0.4s;}
#cast .thumb:nth-child(4) {animation-delay: 0.6s;}
#cast .thumb:nth-child(5) {animation-delay: 0.8s;}
#cast .thumb:nth-child(6) {animation-delay: 1.0s;}
#cast .thumb:nth-child(7) {animation-delay: 1.2s;}
#cast .thumb:nth-child(8) {animation-delay: 1.4s;}
#cast .thumb:nth-child(9) {animation-delay: 1.6s;}
#cast .thumb:nth-child(10) {animation-delay: 1.8s;}
#cast .thumb:nth-child(11) {animation-delay: 2.0s;}
#cast .thumb:nth-child(12) {animation-delay: 2.2s;}
#cast .thumb:nth-child(13) {animation-delay: 2.4s;}
#cast .thumb:nth-child(14) {animation-delay: 2.6s;}
#cast .thumb:nth-child(15) {animation-delay: 2.8s;}
#cast .thumb:nth-child(16) {animation-delay: 3.0s;}

.thumbtime:nth-child(2).scview.effect {transition-delay: 0.2s;}
.thumbtime:nth-child(3).scview.effect {transition-delay: 0.4s;}
.thumbtime:nth-child(4).scview.effect {transition-delay: 0.6s;}
.thumbtime:nth-child(5).scview.effect {transition-delay: 0.8s;}
.thumbtime:nth-child(6).scview.effect {transition-delay: 1.0s;}
.thumbtime:nth-child(7).scview.effect {transition-delay: 1.2s;}
.thumbtime:nth-child(8).scview.effect {transition-delay: 1.4s;}
.thumbtime:nth-child(9).scview.effect {transition-delay: 1.6s;}
.thumbtime:nth-child(10).scview.effect {transition-delay: 1.8s;}
.thumbtime:nth-child(11).scview.effect {transition-delay: 2.0s;}
.thumbtime:nth-child(12).scview.effect {transition-delay: 2.2s;}
.thumbtime:nth-child(13).scview.effect {transition-delay: 2.4s;}
.thumbtime:nth-child(14).scview.effect {transition-delay: 2.6s;}
.thumbtime:nth-child(15).scview.effect {transition-delay: 2.8s;}
.thumbtime:nth-child(16).scview.effect {transition-delay: 3.0s;}
.thumbtime:nth-child(17).scview.effect {transition-delay: 3.2s;}
.thumbtime:nth-child(18).scview.effect {transition-delay: 3.4s;}
.thumbtime:nth-child(19).scview.effect {transition-delay: 3.6s;}
.thumbtime:nth-child(20).scview.effect {transition-delay: 3.8s;}
.thumbtime:nth-child(21).scview.effect {transition-delay: 4.0s;}
.thumbtime:nth-child(22).scview.effect {transition-delay: 4.2s;}
.thumbtime:nth-child(23).scview.effect {transition-delay: 4.4s;}
.thumbtime:nth-child(24).scview.effect {transition-delay: 4.6s;}
.thumbtime:nth-child(25).scview.effect {transition-delay: 4.8s;}
.thumbtime:nth-child(26).scview.effect {transition-delay: 5.0s;}
.thumbtime:nth-child(27).scview.effect {transition-delay: 5.2s;}
.thumbtime:nth-child(28).scview.effect {transition-delay: 5.4s;}
.thumbtime:nth-child(29).scview.effect {transition-delay: 5.6s;}
.thumbtime:nth-child(30).scview.effect {transition-delay: 5.8s;}

.thumb a.iframe {
	z-index: 8;
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	color: #888;
}
.thumb figure {
	overflow: hidden;
	position: relative;
	margin: 0 auto 0;
	overflow: hidden;
	position: relative;
	text-align: center;
	box-shadow: 0 1px 10px rgba(0,0,0,0.2);
}
.thumb figure:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/thumb.png) center center no-repeat;
	background-size: cover;
}
.thumb figcaption {
	position: absolute;
	margin: 0;
	padding: 0;
	color: #111;
	background: #fff;
	border: solid 2px #dfbfd7;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
.thumbname {
	display: block;
	margin: 0 auto;
	padding: 0.4em 0 0.2em;
	font-size: 1.1em;
	line-height: 1em;
	text-align: center;
	color: #ea27ba;
}
.thumbsize {
	display: block;
	margin: 0 auto;
	padding: 0 0 0.4em;
	text-align: center;
	font-size: 0.9em;
}
.thumbicon {
	display: block;
	margin: 0 auto;
	padding: 0 0 0.4em;
	text-align: center;
}
.thumbtype {
	display: none;
	width: 88%;
	margin: 0 auto 0;
	padding: 0 0 0.5em;
	text-align: center;
}
.thumb .timemon ,
.thumb .timetue ,
.thumb .timewed ,
.thumb .timethu ,
.thumb .timefri ,
.thumb .timesat ,
.thumb .timesun ,
.thumb .time {
	display: block;
	width: 100%;
	margin: 0 auto 0;
	padding: 0.0em 0.0em 0.5em 3.2em;
	font-size: 1.1em;
	line-height: 1em;
	letter-spacing: 0.06em;
	color: #111;
	border-top: solid 1px rgba(255,237,238,0.4);
}
.pcon ,
.icon ,
.type ,
.thumbresv ,
.thumbroom {
	display: inline-block;
	height: 1.3em;
	margin: 0 auto 0;
	padding: 0.1em 0 0;
	text-align: center;
	font-size: 0.9em;
	line-height: 1em;
	letter-spacing: 0em;
	color: #fff;
	border-radius: 2px;
}
.pcon ,
.icon {
	width: 8.0em;
	margin: 0 2px 2px;
}
#detail .pcon ,
#detail .icon {
	font-size: 1.1em;
}
.pcon {background: #6a1ea4;}
.icona {background: #a41e5a;}
.iconb {background: #92535c;}
.iconc {background: #764249;}
.icond {background: #563036;}


.type {
	width: 5.2em;
	margin: 0 2px 2px;
	background: #d028a6;
}
#detail .type {
	font-size: 1.1em;
}
.thumbresv {
	width: 4.2em;
}
.thumbroom {
	width: 4.2em;
}
.thumb .thumbresv ,
.thumb .thumbroom {
	display: block;
	position: absolute;
}
.thumb .thumbresv {
	right: 4px;
	bottom: 0.5em;
}
.thumb .thumbroom {
	left: 4px;
	bottom: 0.5em;
}
#detail .thumbroom {
	margin-right: 0.4em;
}
.rooma {background-color: #ff5f9b;}
.roomb {background-color: #03aed9;}
.roomc {background-color: #e29207;}
.roomd {background-color: #a700c5;}
.roome {background-color: #0bbe6c;}
.roomf {background-color: #d8abff;}

.resva {background-color: #ea47ff;}
.resvb {background-color: #ff761a;}
.resvc {background-color: #ac8600;}

.thumb .room1 ,
.thumb .room2 ,
.thumb .room3 ,
.thumb .room4 ,
.thumb .room5 ,
.thumb .room6 ,
.thumb .room7 {display: none;}

.tday-mon .room1 {display: block;}
.tday-tue .room2 {display: block;}
.tday-wed .room3 {display: block;}
.tday-thu .room4 {display: block;}
.tday-fri .room5 {display: block;}
.tday-sat .room6 {display: block;}
.tday-sun .room7 {display: block;}

.thumb .resv1 ,
.thumb .resv2 ,
.thumb .resv3 ,
.thumb .resv4 ,
.thumb .resv5 ,
.thumb .resv6 ,
.thumb .resv7 {display: none;}

.tday-mon .resv1 {display: block;}
.tday-tue .resv2 {display: block;}
.tday-wed .resv3 {display: block;}
.tday-thu .resv4 {display: block;}
.tday-fri .resv5 {display: block;}
.tday-sat .resv6 {display: block;}
.tday-sun .resv7 {display: block;}


#detail .thumbname {
	width: 100%;
	height: auto;
	padding: 0.4em 0 0.4em;
	font-size: 2.0em;
	line-height: 1em;
}

#detail .thumbsize {
	display: block;
	margin: 0 auto 0;
	padding: 0.04em 0 0.4em;;
	font-size: 1.2em;
	line-height: 1em;
}
#detail .thumbtype {
	padding: 0 0 1.4em;
}

.thumb .timemon ,
.thumb .timetue ,
.thumb .timewed ,
.thumb .timethu ,
.thumb .timefri ,
.thumb .timesat ,
.thumb .timesun {display: none;}

.tday-mon .timemon {display: block;}
.tday-tue .timetue {display: block;}
.tday-wed .timewed {display: block;}
.tday-thu .timethu {display: block;}
.tday-fri .timefri {display: block;}
.tday-sat .timesat {display: block;}
.tday-sun .timesun {display: block;}

html > body p.linkarea a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: left;
	text-indent: -200%;
}
html > body p.linkarea a:hover {
}

.nmk ,
.new ,
.tw {
	position: absolute;
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 26;
}
.nmk {
	background-image: url(../images/nmk.png);
}
.new {
	background-image: url(../images/new.png);
}
.tw {
	background-image: url(../images/tw3.png);
}
#detail .nmk {
	right: 0px;
	top: 15px;
}
#detail .new {
	left: 0px;
	top: 0px;
}
.thumb .nmk {
	right: 2px;
}
.thumb .new {
	left: 10px;
	top: 0px;
}
.thumb .tw {
	right: 2px;
	top: 336px;
}
.thumbnew .new {
	display: none;
}
.review {
	width: 440px;
	max-height: 680px;
	overflow: auto;
}


/* PC TAB */
@media only screen and (min-width: 681px) {
.thumb {
	width: 290px;
	height: 460px;
	margin: 0 10px 20px;
	font-size: 15px;
}
.thumbtime {
	height: 500px;
}
.thumb figure {
	width: 270px;
	height: 352px;
	padding: 16px 0 0;
}
.thumb figure img {
	width: calc(100% - 22px);
	height: auto;
	object-fit: cover;
	-webkit-transition:all 0.3s;
	transition:all 0.3s;
}
.thumb a.iframe:hover figure img {
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
}
.thumb figcaption {
	top: 356px;
	left: 30px;
	width: 230px;
}
#detail .nmk {
	width: 42px;
	height: 42px;
}
#detail .new {
	width: 50px;
	height: 50px;
}
.thumb .nmk {
	top: 44px;
	width: 42px;
	height: 42px;
}
.thumb .new {
	width: 60px;
	height: 60px;
}
.thumb .tw {
	width: 42px;
	height: 42px;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
.thumbparkmenu ul li {
	width: 32%;
	margin: 0 0.6% 20px;
}
.thumbparkmenu ul li button {
	width: 100%;
	padding: 0.6em 0em;
	font-size: 1.0em;
}
.thumb {
	width: 320px;
	height: 590px;
	margin: 0 4px 12px;
	font-size: 26px;
}
.thumbtime {
	height: 650px;
}
.thumb figure {
	width: 300px;
	height: 394px;
	padding: 17px 0 0;
}
.thumb figure img {
	width: calc(100% - 24px);
	height: auto;
	object-fit: cover;
}
.thumb figcaption {
	top: 400px;
	left: 15px;
	width: 290px;
}
.thumbname {
	padding: 0.4em 0 0.4em;
	font-size: 1.1em;
	line-height: 1em;
}
.thumbtype {
	width: 100%;
	padding: 0.0em 0 0.6em;
}
.thumb .timemon ,
.thumb .timetue ,
.thumb .timewed ,
.thumb .timethu ,
.thumb .timefri ,
.thumb .timesat ,
.thumb .timesun ,
.thumb span.time {
	padding: 0.0em 0 0.6em 3.4em;;
	font-size: 0.92em;
	line-height: 1em;
}
.thumb .thumbresv {
	right: auto;
	left: 80px;
	bottom: 4px;
	font-size: 1.06em;
	line-height: 1em;
}
.thumb .thumbroom {
	left: 0px;
	bottom: 0.5em;
	font-size: 0.86em;
	line-height: 1em;
}
#detail .nmk {
	top: 28px;
	width: 60px;
	height: 60px;
}
#detail .new {
	top: 0px;
	width: 88px;
	height: 88px;
}
.thumb .nmk {
	top: 48px;
	width: 44px;
	height: 44px;
}
.thumb .new {
	width: 64px;
	height: 64px;
}
.thumb .tw {
	top: 316px;
	width: 52px;
	height: 52px;
}
}
/* //SP */

/* detail */
.profilebox {
	position: relative;
	margin: 0 auto;
	text-align: center;
	padding: 20px 20px;
	background: #fff;
	border: solid 2px #dfbfd7;
	border-radius: 6px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
@media only screen and (max-width: 680px) {
.profilebox {
	width: 640px;
	margin: 0 auto 50px;
	padding: 20px 20px;
}
}
#detail p {
	max-width: 620px;
	margin: 0 auto;
	padding: 0.2em 0;
}

#detailphoto {
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
#detailphoto .photos {
	width: 520px;
	height: 820px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	overflow: hidden;
}
#detailphoto .photos .flexslider {
	height: 816px;
	margin: 0 auto 0;
}
.box #detailphoto ul li {
	margin: 0;
	padding: 0;
}
#detailphoto .photos .flexslider .slides {
	overflow: hidden;
	width: 520px;
	height: 680px;
	margin: 0 auto;
	padding: 0;
}
#detailphoto .photos .flexslider .slides img {
	width: 100%;
	height: auto;
}
#detail .flex-control-thumbs {
	display: table;
	width: auto;
	height: 112px;
	margin: 12px auto 0;
	padding: 0;
	text-align: center;
	overflow: hidden;
	letter-spacing: -.40em; /*隙間対策 */
}
#detail .flex-control-thumbs li {
	display: table-cell;
	width: 100px;
	height: 120px;
	margin: 0 auto 0;
	padding: 0 4px;
	border-style: none;
	overflow: hidden;
	letter-spacing: normal; /*隙間対策 */
}
#detail .flex-control-thumbs img {
	width: 92px;
	height: auto;
	border-style: none;
}
#detail .flex-control-thumbs img:hover {
	border-style: none;
}
#detail .flex-control-thumbs .flex-active {
	overflow: hidden;
}
/* PC TAB */
@media only screen and (min-width: 681px) {
#profile {
	float: right;
	width: calc(100% - 550px);
	margin: 0 auto 0 0;
	padding: 0;
}
#profile p {
	max-height: 480px;
	overflow-y: auto;
}
#detailphoto {
	float: left;
	width: 520px;
	margin: 0 auto 0 0;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
#detailphoto {
	width: 680px;
}
#detailphoto .photos {
	width: 680px;
	height: 1000px;
}
#detailphoto .photos .flexslider {
	height: 1000px;
}
#detailphoto .photos .flexslider .slides {
	width: 680px;
	height: 837px;
}
}
/* //SP */




/* access
 * --------------------------------------- */
.map {
	display: block;
	width: 100%;
	max-width: 880px;
	height: 360px;
	margin: 0 auto 0px;
}
.access {
	margin: 0 auto;
	padding: 20px 0 0;
	line-height: 1.2em;
	overflow: hidden;
}
.access div {
	position: relative;
	display: block;
	width: 48%;
	float: left;
	margin: 0 1% 16px;
	padding: 16px 2% 12px;
	text-align: left;
}
.access div:nth-child(2n+1) {
	clear: both;
}
.access div img {
	width: 100%;
	margin: 0 auto 4px;
	display: block;
}
.access .no {
	position: absolute;
	left: 0px;
	top: 0px;
	display: block;
	width: 44px;
	height: 44px;
	margin: -8px 0 0;
	padding: 3px 3px 2px 0;
	text-align: center;
	font-size: 40px;
	line-height: 1em;
	font-style: italic;
	color: #fff;
	background: #43d0ee;
	-webkit-border-radius: 36px; /*角丸*/
	-moz-border-radius: 36px;
	border-radius: 36px;
}
/* flow
 * --------------------------------------- */
.flowbox {
	width: 100%;
	margin: 0 auto 10px;
	padding: 28px 0px 20px;
}
.flow {
	position: relative;
	display: block;
	width: 100%;
	max-width: 840px;
	margin: 0 auto 1.0em;
	padding: 16px 20px 20px;
	text-align: center;
	font-size: 100%;
	line-height: 1.5em;
	border: 1px solid #f7d0d5;
	background: rgba(255,255,255,0.6);
	-webkit-border-radius: 8px; /*角丸*/
	-moz-border-radius: 8px;
	border-radius: 8px;
}
@media only screen and (max-width: 680px) {
.flow {
	text-align: left;
}
}
.flow .no {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	margin: 0 0 0 0.2em;
	padding: 0.06em 0.14em 0 0;
	text-align: center;
	font-size: 1.1em;
	line-height: 1em;
	font-style: italic;
	color: #fff;
	background: #e02c4a;
	-webkit-border-radius: 2em; /*角丸*/
	-moz-border-radius: 2em;
	border-radius: 2em;
}
.flowpic {
	margin: 0 auto;
	padding: 0 0 8px;
	text-align: center;
}

/* Q&A
 * --------------------------------------- */
.qabox {
	position: relative;
	display: block;
	width: 100%;
	max-width: 720px;
	margin: 0 auto 12px;
	padding: 0;
	text-align: left;
}
.qabox .ques {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 15px 40px 15px 54px;
	line-height: 1.2em;
	color: #fff;
	background: #84a4ff;
	-webkit-border-radius: 36px; /*角丸*/
	-moz-border-radius: 36px;
	border-radius: 36px;
}
.qabox:nth-child(2n+1) .ques {
	background: #62d8f1;
}
.qabox .ans {
	position: relative;
	display: none;
	width: 96%;
	height: auto;
	margin: 6px auto 0;
	padding: 0px 12px 12px 52px;
	line-height: 1.6em;
	color: #555;
	-webkit-transition: 2.2s;
	-moz-transition: 2.2s;
	 transition: 2.2s;
}
.qabox.open .ans {
	display: block;
	-webkit-transition: 2.2s;
	-moz-transition: 2.2s;
	 transition: 2.2s;
}
.qabox .no {
	position: absolute;
	left: 6px;
	top: 4px;
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 5px 0 0 4px;
	text-align: center;
	font-weight: bold;
	line-height: 1em;
	font-style: nomal;
	font-size: 160%;
	color: #fff;
	background: #62d8f1;
	-webkit-border-radius: 36px; /*角丸*/
	-moz-border-radius: 36px;
	border-radius: 36px;
}
.qabox:nth-child(2n+1) .ques .no {
	background: #84a4ff;
}
.qabtn {
	cursor: pointer;
	position: absolute;
	right: 0px;
	top: 0px;
	display: block;
	width: 100%;
	height: 3em;
}
.qabtn:before {
	cursor: pointer;
	position: absolute;
	right: 14px;
	top: 23px;
	content: "";
	display: block;
	width: 22px;
	height: 4px;
	background: #1b0709;
}
.qabtn:after {
	position: absolute;
	right: 23px;
	top: 14px;
	content: "";
	display: block;
	width: 4px;
	height: 22px;
	background: #1b0709;
}
.open .qabtn:after {
	position: absolute;
	right: 23px;
	top: -5px;
	content: "";
	display: block;
	width: 0px;
	height: 0px;
	background: #1b0709;
}


/*form
 * --------------------------------------- */
#mailframe {
	width: 640px;
	height: 400px;
	margin: 0 auto;
	border: none;
}
form {
	margin: 0;
	padding: 0;
	text-align: center;
}
form input[type="text"],
form select ,
form textarea {
	margin: 4px 0;
	font-size: 100%;
	line-height: 1.2em;
	border: solid 1px #bbb;
}
form input[type="text"],
form textarea {
	width: 86%;
	padding: 6px 4px 6px;
}
form #inputage {
	width: 20%;
}
.files {
	clear: both;
	width: 100%;
	margin: 0 auto 8px 0;
}
.file {
	clear: both;
	float: none;
	display: inline-block;
	overflow: hidden;
	position: relative;
	margin: 8px auto 0 0;
	padding: 0.6em;
	font-size: 18px!important;
	line-height: 1em;
	color: #111;
	background: #eee;
	border: 0px solid #fae5ee;
}
.file input[type="file"] {
	opacity: 0;
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	font-size: 100px;
	cursor: pointer;
}



/* parts
 * --------------------------------------- */
#banners img {
	vertical-align: top;
}
.banner760 {
	display: block;
	width: 760px;
	margin: 4px auto 16px;
}
.banner640 {
	display: block;
	width: 640px;
	margin: 4px auto 16px;
}
.linkbox {
	display: table;
	width: 880px;
	margin: 20px auto 40px;
	padding: 0;
	text-align: center;
	overflow: hidden;
}
.linkbox div {
	display: inline;
	margin: 0 auto;
}
.more {
	display: inline-block;
}
.close {
	display: none;
}
.txtopen .more {
	display: none;
}
.txtopen .close {
	display: inline-block;
}
.caption {
	position: absolute;
	left: 0;
	width: 100%;
	margin: 0;
	line-height: 1.2em;
	letter-spacing: -0.06em;
	color: #fff;
	text-shadow:
2px 2px 0 rgba(255,255,255,0.6), -2px -2px 0 rgba(255,255,255,0.6),-2px 2px 0 rgba(255,255,255,0.6), 2px -2px 0 rgba(255,255,255,0.6),
1px 1px 0 rgba(255,255,255,0.6), -1px -1px 0 rgba(255,255,255,0.6),-1px 1px 0 rgba(255,255,255,0.6), 1px -1px 0 rgba(255,255,255,0.6),
0px 2px 0 rgba(255,255,255,0.6),0 -2px 0 rgba(255,255,255,0.6),-2px 0 0 rgba(255,255,255,0.6), 2px 0 0 rgba(255,255,255,0.6),
0px 1px 0 rgba(255,255,255,0.6),0 -1px 0 rgba(255,255,255,0.6),-1px 0 0 rgba(255,255,255,0.6), 1px 0 0 rgba(255,255,255,0.6);
	overflow: hidden;
	z-index: 12;
}



/* Q&A
 * --------------------------------------- */
.box-qa {
	margin: 0 auto;
	padding: 8px 0 0;
}
.qabox {
	position: relative;
	max-width: 800px;
	margin: 0 auto 12px;
	padding: 0;
}
.qaques {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0.5em 0 0.5em 3.0em;
	text-align: left;
	font-family: serif;
	font-size: 1.4em;
	line-height: 1.3em;
	color: #fff;
	background: rgba(255,106,148,0.5);
	border-radius: 2.0em;
}
.qabox:nth-child(2n+2) .qaques {
	background: rgba(255,106,148,0.3);
}
.qaques:after {
	position: absolute;
	top: 5px;
	left: 5px;
	content:"Q";
	margin: 0;
	display: block;
	width: 35px;
	height: 35px;
	padding-top: 2px;
	text-align: center;
	font-family: serif;
	font-weight: bold;
	font-size: 28px;
	line-height: 1em;
	color: #ff7592;
	background: #1b0709;
	-webkit-border-radius: 1.6em; /*角丸*/
	-moz-border-radius: 1.6em;
	border-radius: 1.6em;
	box-sizing: border-box;
}
.qabox:nth-child(2n+2) .qaques:after {
	color: #ff9bb0;
}
.qaans {
	position: relative;
	width: 98%;
	margin: 8px auto 0;
	padding: 0.6em 1.0em 0.6em 3.0em;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.4em;
	background: rgba(255,213,209,0.3);
}
.qaans:after {
	position: absolute;
	top: 5px;
	left: 5px;
	content:"A";
	margin: 0;
	display: block;
	width: 35px;
	height: 35px;
	padding-top: 2px;
	padding-left: 2px;
	text-align: center;
	font-family: serif;
	font-weight: bold;
	font-size: 1.6em;
	line-height: 1em;
	color: #ff7592;
	box-sizing: border-box;
}
/* flow
 * --------------------------------------- */
.box-training {
	overflow: hidden;
	max-width: 800px;
	margin: 0 auto 28px;
	padding: 12px 0;
	color: #111;
	background: rgba(255,213,209,0.3);
	border-radius: 4px;
}
.box-training img {
	max-width: 680px;
	margin: 12px auto 0;
}
@media only screen and (max-width: 680px) {
.box-training img {
	width: 680px;
}
}
.box-step {
	overflow: hidden;
	max-width: 800px;
	margin: 0 auto;
	padding: 20px;
	color: #111;
	background: rgba(255,213,209,0.3);
	border-radius: 4px;
}
.box-step p {
	text-align: center;
	font-size: 1.4em;
	line-height: 1.4em;
}
.arrow {
	position: relative;
	height: 2.4em;
}
.arrow::after {
	content: "";
	position: absolute;
	top: 0.2em;
	left: calc(50% - 2em);
	border: 2rem solid transparent;
	border-top-color: transparent;
	border-top-style: solid;
	border-top-width: 2em;
	border-top: 2em solid #ffcdd8;
}


@media only screen and (max-width: 680px) {
.qabox {
	width: 100%;
}
.qabox:after {
	top: 32px;
	right: 18px;
}
.qabox:before {
	top: 20px;
	right: 30px;
}
.qaques {
	padding: 0.8em 0 0.64em 2.8em;
	text-align: center;
	font-size: 1.2em;
	line-height: 1.3em;
	letter-spacing: 0.04em;
}
.qaques:after {
	top: 10px;
	left: 10px;
	width: 52px;
	height: 52px;
	padding-top: 6px;
	font-size: 42px;
	box-sizing: border-box;
}
.qaans {
	padding: 0.6em 1.0em 0.6em 2.8em;
	text-align: center;
	font-size: 1.2em;
	line-height: 1.6em;
	letter-spacing: 0.04em;
}
.qaans:after {
	top: 10px;
	left: 9px;
}
.box-training p {
	text-align: left;
	font-size: 1.2em;
	line-height: 1.4em;
}
.box-step {
	padding: 1.0em 0.4em;
}
.box-step h3 {
	padding: 0em 0em 0.4em 0;
	font-size: 1.4em;
	line-height: 1.3em;
}
.box-step img {
	width: 300px;
	margin: 0 auto 0.2em;
}
.box-step p {
	padding: 0;
	font-size: 1.2em;
	line-height: 1.3em;
}
}

/* recruit
 * --------------------------------------- */
body#recruitpage {
	font-family: serif;
}
body#recruitpage .no {
	font-family: serif;
}
body#recruitpage .main {
}
body#recruitpage .section {
	padding: 0px 0 0px;
}

.recicon {
	height: 1.2em;
	vertical-align: bottom;
	margin-right: 0.4em;
}
body#recruitpage h4 {
	display: block;
	margin: 0 auto 0.6em;
	padding: 0.2em 0 0.2em;
	font-family: serif;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.2em;
	letter-spacing: 0.02em;
	color: #ff6a92;
	border-bottom: solid 1px rgba(255,106,148,0.6);
}
body#recruitpage h4.h4rec {
	padding: 0.6em 0 0.5em;
	color: #ff6a92;
	background: #1b0709;
	border: solid 3px #ff8db5;
	-webkit-border-radius: 150px; /*角丸*/
	-moz-border-radius: 150px;
	border-radius: 150px;
}
#recruit-menu {
	letter-spacing: -.40em; /*隙間対策 */
	margin: 0 auto;
	padding: 0;
	text-align: center;
	list-style-type: none;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: solid 1px #f184e3;
	border-bottom: solid 1px #f184e3
}
#recruit-menu li {
	letter-spacing: normal; /*隙間対策 */
	float: left;
	display: block;
	margin: 0;
	padding: 0;
	list-style-type: none;
	border-right: solid 1px #f184e3;
}
#recruit-menu li:last-child {
	border-right: solid 0px #f184e3;
}
#recruit-menu li a {
	position: relative;
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #555;
background-image: -webkit-linear-gradient( top, #ff9fa6 0%, #f184e3 100%);
	border: solid 1px #f184e3;
}
#recruit-menu li a:link ,
#recruit-menu li a:visited {
	color: #fff;
	opacity: 1;
}
#recruit-menu li a:hover {
	color: #fff;
	opacity: 0.6;
	-webkit-transition: .4s;
	 transition: .4s;
}
#recruit-menu li a i {
	position: absolute;
	bottom: 0.1em;
	left: calc(50% - 0.5em);
	font-size: 1.4em;
	color: #fff;
	z-index: 20;
}
/* PC TAB */
@media only screen and (min-width: 681px) {
#recruit-menu {
	height: auto;
}
#recruit-menu li {
	width: 16.666%;
	height: auto;
}
#recruit-menu li a span.jp {
	display: block;
	padding: 0.8em 0 1.5em;
	font-size: 1.142em;
	line-height: 1em;
}
#recruit-menu li a span.en {
	font-size: 1.2em;
	line-height: 1em;
	text-transform: uppercase;
	color: #ff79a2;
}
}

/* SP */
@media only screen and (max-width: 680px) {
body#recruitpage h2 {
	padding: 0px 0 0 0;
}
#recruit-menu li {
	width: 33.333%;
	height: auto;
}
#recruit-menu {
	height: auto;
}
#recruit-menu li a i {
	font-size: 1.2em;
}
#recruit-menu li a span.jp {
	display: block;
	padding: 0.8em 0 1.5em;
	font-size: 1.0em;
	line-height: 1em;
}
#recruit-menu li a span.en {
	font-size: 0.9em;
	line-height: 1em;
	text-transform: uppercase;
	color: #ff79a2;
}
}


/* Recruit
 * --------------------------------------- */
#recruitpage  {
	letter-spacing: 0.0em;
}
#recv01 {
	position: absolute;
	display: block;
	height: auto;
	animation: recv01 1.4s ease-in-out 0s infinite;
}
@keyframes recv01 {
	0%{transform:scale(1);}
	50%{transform:scale(0.86);}
	100%{transform:scale(1);}
}
#recv02 {
	position: absolute;
	left: 13.5vw;
	top: 4vw;
	display: block;
	width: 19vw;
	height: auto;
	animation: recv02 2.8s linear 0s infinite;
}
@keyframes recv02 {
	0%{transform:translateY(0px);}
	25%{transform:translateY(-15px);}
	75%{transform:translateY(15px);}
	100%{transform:translateY(0px);}
}
@media only screen and (min-width: 681px) {
#recv01 {
	left: 13.5vw;
	top: 4vw;
	width: 19vw;
}
#recv02 {
	left: 11.7vw;
	top: 31.5vw;
	width: 44.9vw;
}
}
@media only screen and (max-width: 680px) {
#recv01 {
	left: 24px;
	top: 30px;
	width: 238px;
}
#recv02 {
	left: 0px;
	top: 600px;
	width: 680px;
}
}
body#recruitpage h3 {
	margin: 0 auto 0;
	padding: 0.8em 0 0.6em;
	border-bottom: solid 0px rgba(255,106,148,0.6);
}
body#recruitpage h3 span.jp {
	display: block;
	margin: 0 auto 0;
	padding: 0;
	font-family: serif;
	font-weight: normal;
	line-height: 1.0em;
	letter-spacing: 0.04em;
	color: #333;
  font-family: "Kaisei Opti", serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (min-width: 681px) {
body#recruitpage h3 span.jp {
	font-size: 1.9em;
}
}
@media only screen and (max-width: 680px) {
body#recruitpage h3 span.jp {
	font-size: 1.8em;
}
}
#recruitpage .box ul {
	max-width: 600px;
	margin: 0 auto 0.6em;
	padding: 0;
}
#recruitpage .box ul li {
	margin: 0 0 0 1em;
	padding: 0 0 0.4em;
	text-align: left;
}
#recruitpage .red {
	color: #ff56a2;
}
#recruitpage .cell .cset {
	line-height: 1.8em;
}
.underbar {
	overflow: hidden;
	position: relative;
	display: inline;
	vertical-align: top;
	margin-bottom: 0.3em;
}
.underbar:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.1em;
	display: block;
	height: 0.2em;
	background: #ff89ce;
	border-radius: 4em;
}
.underbar.scview:before {
	width: 0%;
}
.underbar.scview.effect:before {
	width: 100%;
	transition: 1.0s 0.4s;
	-webkit-transition: 1.0s 0.4s;
}
.main .scscal.scview {
	transform: scale(0.5);
	-webkit-transform: scale(0.5);
}
.main .scscal.scview.effect {
	transform: scale(1);
	-webkit-transform: scale(1);
	transition: 1.2s;
	-webkit-transition: 1.2s;
}
.mcell .cset .cleft span.scview:before {
	transform: translate(-100%,0);
	-webkit-transform: translate(-100%,0);
}
.main img.scmove.scview ,
.main div.scmove.scview:nth-of-type(2n) {
	transform: translate(-160px,0);
	-webkit-transform: translate(-160px,0);
}
.main div.scmove.scview:nth-of-type(2n+1) {
	transform: translate(160px,0);
	-webkit-transform: translate(160px,0);
}
.mcell .cset .cleft span.scview.effect:before ,
.main img.scmove.scview.effect ,
.main .scmove.scview.effect:nth-of-type(2n) ,
.main .scmove.scview.effect:nth-of-type(2n+1) {
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: 1.2s;
	-webkit-transition: 1.2s;
}
.mcell .cset .cleft span.scview.effect:before {
	z-index: 1;
}

@media only screen and (max-width: 680px) {
.underbar.scview.effect:before ,
.mcell .cset .cleft span.scview.effect:before {
	transition: 2.0s;
	-webkit-transition: 2.0s;
}
}
.recruit-box {
	overflow: hidden;
	position: relative;
	margin: 0 auto 1.2em;
	padding: 0;
}
@media only screen and (min-width: 681px) {
#rec07 ,
#rec01 {
	margin: 0 300px 20px auto;
}
#rec08 ,
#rec02 {
	position: absolute;
	right: calc(50% - 520px);
	top: 200px;
}
}
@media only screen and (max-width: 680px) {
#rec07 ,
#rec01 {
	margin: 0 auto 300px;
}
#rec08 ,
#rec02 {
	position: absolute;
	right: calc(50% - 220px);
	top: 440px;
}
}
.recruit-point {
	position: relative;
	max-width: 900px;
	padding: 40px 10px;
	line-height: 1.8em;
}
.recpono {
	position: absolute;
	display: block;
	line-height: 1.0em;
	letter-spacing: -0.04em;
  font-family: "Kaisei Opti", serif;
  font-weight: 500;
  font-style: italic;
}
.recruit-point:nth-of-type(2n) .recpono {
	color: rgba(255,137,206,0.4);
}
.recruit-point:nth-of-type(2n+1) .recpono {
	color: rgba(102,192,255,0.4);
}
@media only screen and (min-width: 681px) {
.recruit-point {
	margin: 6.0em auto 0.0em;
	font-size: 1.1em;
}
.recpono {
	top: -0.42em;
	font-size: 14.0em;
}
.recruit-point:nth-of-type(2n) .recpono {
	left: -0.42em;
}
.recruit-point:nth-of-type(2n+1) .recpono {
	right: -0.42em;
}
.mcell .cset {
	font-size: 1.1em;
}
}
@media only screen and (max-width: 680px) {
.recruit-point {
	margin: 6.0em auto 0.0em;
	font-size: 0.94em;
}
.recruit-point:nth-of-type(1) {
	margin: 4.0em auto 0.0em;
}
.recpono {
	top: -0.72em;
	font-size: 7.2em;
}
.recruit-point:nth-of-type(2n) .recpono {
	left: 0.3em;
}
.recruit-point:nth-of-type(2n+1) .recpono {
	right: 0.3em;
}
}

#rec03 {
	background: url(../images/rec03.jpg) center center no-repeat;
	background-size: cover;
}
#rec04 {
	background: url(../images/rec04.jpg) center center no-repeat;
	background-size: cover;
}
#rec05 {
	background: url(../images/rec05.jpg) center center no-repeat;
	background-size: cover;
}
#rec06 {
	background: url(../images/rec06.jpg) center center no-repeat;
	background-size: cover;
}
#rec07 {
	background: url(../images/rec07.jpg) center center no-repeat;
	background-size: cover;
}
.recruit-point::before {
	content: "";
	z-index: 0;
	position: absolute;
	right: 15px;
	top: 15px;
	display: block;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	background: rgba(255,255,255,0.84);
}
.recruit-point p {
	z-index: 6;
	position: relative;
	margin: 0 auto 1em;
	padding: 0;
}
.mcell .cset .cleft > span ,
.recpoint {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	max-width: 600px;
	height: auto;
	margin: 0.4em auto 0.3em;
	padding: 0.2em 0 0.2em;
	text-align: center;
	font-weight: bold;
	font-size: 1.06em;
	line-height: 1.4em;
	color: #fff;
	border-radius: 4em;
}
.mcell .cset .cleft > span:before ,
.recpoint:before {
	content: "";
	z-index: -1;
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}
img.scopci.scview ,
div.scopci.scview ,
.recpoint.scview:before {
	opacity: 0;
}
img.scopci.scview.effect ,
div.scopci.scview.effect ,
.recpoint.scview.effect:before {
	opacity: 1;
	transition: 1.4s;
	-webkit-transition: 1.4s;
}
.mcell .cset .cleft > span span {
	position: relative;
	z-index: 20;
}
.mcell .cset .cleft > span:before {
	background: #69a1ff;
}
.recruit-point:nth-of-type(2n) .recpoint:before {
	background: #ff89ce;
}
.recruit-point:nth-of-type(2n+1) .recpoint:before {
	background: #66c0ff;
}







/* PC TAB */
@media only screen and (min-width: 681px) {
.about-txt p {
	font-size: 1.4em;
	line-height: 1.4em;
}
.half-box {
	float: left;
	display: inline-block;
	width: 46%;
	margin: 0 2%;
}
}
/* //PC TAB */

/* SP */
@media only screen and (max-width: 680px) {
.half-box {
	width: 680px;
	margin: 0 auto 40px;
	padding: 0;
}
.about-box {
	width: 640px;
	margin: 0 auto 20px;
}
.about-pic {
	height: 280px;
	overflow: hidden;
}
.about-txt {
	padding: 1.7em 1em 1.6em;
	height: auto;
}
.about-txt  h3 {
	font-size: 1.5em;
	line-height: 1.1em;
}
.about-txt p {
	font-size: 1.14em;
	line-height: 1.5em;
}
.box-step h3 .step {
	font-size: 1.2em;
}
.box-osusume li ,
.box-merit li {
	font-size: 1.2em;
}
}
/* //SP */




