@charset "utf-8";
/* CSS Document */
.clear:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	visibility: hidden;
}

.m-t-5 {
	margin-top: 5px;
}

.m-t-10 {
	margin-top: 10px;
}

.m-t-15 {
	margin-top: 15px;
}

.m-t-20 {
	margin-top: 20px;
}

.m-t-25 {
	margin-top: 25px;
}

.m-t-30 {
	margin-top: 30px;
}

.m-t-35 {
	margin-top: 35px;
}

.m-t-40 {
	margin-top: 40px;
}

.m-t-45 {
	margin-top: 45px;
}

.m-t-50 {
	margin-top: 50px;
}

.m-t-55 {
	margin-top: 55px;
}

.m-t-60 {
	margin-top: 60px;
}

.m-t-70 {
	margin-top: 70px;
}

.m-t-80 {
	margin-top: 80px;
}

.m-t-90 {
	margin-top: 90px;
}

.m-l-5 {
	margin-left: 5px;
}

.m-l-10 {
	margin-left: 10px;
}

.m-l-15 {
	margin-left: 15px;
}

.m-l-20 {
	margin-left: 20px;
}

.m-l-25 {
	margin-left: 25px;
}

.m-l-30 {
	margin-left: 30px;
}

.m-l-40 {
	margin-left: 40px;
}

.m-l-50 {
	margin-left: 50px;
}

.m-l-60 {
	margin-left: 60px;
}

.m-l-80 {
	margin-left: 80px;
}

.m-l-100 {
	margin-left: 100px;
}

.w-p-100 {
	width: 100%;
}

.w-p-95 {
	width: 95%;
}

.w-p-90 {
	width: 90%;
}

.w-p-85 {
	width: 85%;
}

.w-p-80 {
	width: 80%;
}

.w-p-75 {
	width: 75%;
}

.w-p-70 {
	width: 70%;
}

.w-p-65 {
	width: 65%;
}

.w-p-60 {
	width: 60%;
}

.w-p-55 {
	width: 55%;
}

.w-p-50 {
	width: 50%;
}

.w-p-45 {
	width: 45%;
}

.w-p-40 {
	width: 40%;
}

.w-p-35 {
	width: 35%;
}

.w-p-30 {
	width: 30%;
}

.w-p-25 {
	width: 25%;
}

.w-p-20 {
	width: 20%;
}

.w-p-15 {
	width: 15%;
}

.w-p-10 {
	width: 10%;
}

.w-p-5 {
	width: 5%;
}

.h-p-100 {
	height: 100%;
}

.h-p-95 {
	height: 95%;
}

.h-p-90 {
	height: 90%;
}

.h-p-50 {
	height: 50%;
}

.v-a-t {
	vertical-align: top;
}

.v-a-m {
	vertical-align: middle;
}

.v-a-b {
	vertical-align: bottom;
}

.v-a-tb {
	vertical-align: text-bottom;
}

.text-box div, .text-box p, .text-box span, .text-box font, .text-box u, .text-box strong {
	line-height: 160% !important;
}

.text-box strong {
	font-weight: bold;
}

.align-center {
	text-align: center;
}

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

.align-right {
	text-align: right;
}

.flex {
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.flex-wrap {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flex-space-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

a {
	color: inherit;
	text-decoration: none;
}

a.text {
	text-decoration: underline;
}

html {
	box-sizing: border-box;
}

html *, html *::before, html *::after {
	box-sizing: inherit;
}

body {
	text-align: center;
	font-size: 1.4rem;
	font-family: "メイリオ", ＭＳ Ｐゴシック, Osaka, Serif, sans-serif;
}

html, body, #wrapper, #header, #nav, #main, #footer {
	width: 100%;
	max-width: 600px;
	min-width: 320px;
	margin: 0 auto;
}

#wrapper {
	position: relative;
	background: url(../img/base/background.png);
	padding-top: 20%;
}
/*header*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: url(../img/base/header_bg.png);
	font-size: 0.8rem;
	margin: 0 auto;
	min-height: 70px;
	padding: 10px 2%;
	box-shadow: 0px 0px 9px 0px rgba(1, 1, 1, 0.3);
	box-sizing: border-box;
	z-index: 9999;
}

@media screen and (max-width:370px) {
	#header h1 {
		font-size: 0.6rem;
	}
}

#header .container {
	padding-top: 1%;
}

#header .header-logo {
	width: 60%;
	margin-top: 3px;
}

#header .info {
	width: 27%;
}

#header .menu {
	margin-right: 8%;
}

/*nav*/
#nav {
	margin: 30px 0 0;
}

#nav .menu-list .item {
	margin: 3% 0;
}

#nav .menu-list .item img {
	display: block;
}

/*footer*/
#footer {
	width: 100%;
	color: #fff;
	background: #ff6297;
	font-size: 1rem;
}

#footer {
	background: #ff6297;
	width: 100%;
	margin-top: 30px;
	padding: 30px 0 10px;
	color: #fff;
	box-sizing: border-box;
}

#footer .shop-info {
	width: 55%;
	margin: 0 auto;
}

.container {
	max-width: 600px;
	min-width: 320px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-left: 2%;
	padding-right: 2%;
	box-sizing: border-box;
}

/*fix-footer*/
.fix-footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	min-width: 320px;
	max-width: 600px;
	z-index: 999;
}

.fix-footer .entry {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 70%;
	padding: 3%;
}

.fix-footer .gotop {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 11.5%;
	padding: 3%;
}

.fix-footer img {
	display: block;
}

/*cast*/
.cast .photo {
	border: solid 4px #fff;
	box-sizing: border-box;
	box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.2);
}

.cast-list .cast {
	box-sizing: border-box;
	overflow: hidden;
	width: 48%;
	margin: 10px 1% 0;
	padding: 2% 2% 4% 2%;
	white-space: nowrap;
}

.cast-list .cast .name {
	font-size: 1.1rem;
	font-weight: bold;
}

.cast-list .cast .size {
	font-size: 1rem;
	font-weight: bold;
}

@media screen and (max-width:500px) {
	.cast-list .cast .size {
		font-size: 0.8rem;
	}
}

.cast-list .cast .date {
	position: relative;
	font-size: 1.2rem;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding-top: 16%;
	width: 100%;
	font-weight: bold;
	box-sizing: border-box;
}

.cast-list .cast .time {
	position: relative;
	font-size: 1.2rem;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding-top: 16%;
	width: 100%;
	font-weight: bold;
	box-sizing: border-box;
}

.cast-list .cast .date .value {
	width: 69%;
	position: absolute;
	top: 27%;
	bottom: 0;
	right: 0;
}

.cast-list .cast .time .value {
	width: 76%;
	position: absolute;
	top: 30%;
	bottom: 0;
	right: 0;
}

@media screen and (max-width:500px) {
	.cast-list .cast .date, .cast-list .cast .time {
		font-size: 1rem;
	}
}

@media screen and (max-width:430px) {
	.cast-list .cast .date, .cast-list .cast .time {
		font-size: 0.8rem;
	}
}

/*content-bg*/
.content-bg {
	background: url(../img/base/content1_bg.png);
	box-shadow: 0px 3px 2px 0px rgba(1, 1, 1, 0.3);
	border-radius: 10px;
	margin: 20px 2%;
	padding: 2.5%;
}

.content-bg-inner {
	background: url(../img/base/content2_bg.png);
	background-position: 0px 18px;
	box-shadow: 0px 3px 2px 0px rgba(1, 1, 1, 0.3);
	border-radius: 10px;
	padding: 5% 2.5%;
}

/*スクロール設定*/
#nav h2 {
	padding-top: 25%;
	margin-top: -25%;
}

/*ここまで初期設定*/

/*-------------page-top---------------*/

/*top-banner*/
.page-top .banner-box {
	background-image: url(../img/top/banner_bg.png);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	width: 100%;
	margin: 0 auto;
}
/*pickup*/
.page-top .pickup {
	color: #fa8363;
}

.page-top .pickup .cast .photo {
	border: solid 6px #fff;
	box-sizing: border-box;
	box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.2);
}

.page-top .pickup .cast-list .cast {
	background: url(../img/top/pickup_bg.png);
	width: 100%;
	padding: 6% 15% 10%;
	border: solid 2px #fa8363;
	margin: 0 auto;
	box-sizing: border-box;
}

.page-top .pickup .cast-list .cast .name {
	font-size: 1.6rem;
	font-weight: bold;
}

.page-top .pickup .cast-list .cast .size {
	font-size: 1.3rem;
	font-weight: bold;
}

/*info*/
.page-top .info .info-list .item {
	border: solid 2px #ff6096;
	padding: 2%;
}

.page-top .info .info-list .item .head {
	position: relative;
	padding: 2% 80px 2% 3%;
	text-align: left;
	font-weight: bold;
	font-size: 1.2rem;
	color: #fff;
	background: #ff6096;
	border-radius: 10px;
	line-height: 1.4;
	box-sizing: border-box;
}

.page-top .info .info-list .item .head::after {
	display: inline-block;
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 50px;
	height: 50px;
	text-align: center;
	background-image: url(../img/top/news_icon2.png);
	background-size: 100% 100%;
}

.page-top .info .info-list .item .head.close::after {
	background-image: url(../img/top/news_icon1.png) !important;
}

.page-top .info .info-list .item .body {
	font-size: 1.2rem;
	line-height: 1.4;
	padding: 10px 0;
}

/*newface*/
.page-top .newface .cast-list .cast {
	background: url(../img/top/newface_bg.png);
	border: solid 2px #1784f9;
}

.page-top .newface .profile {
	color: #1784f9;
}

.page-top .newface .cast-list .cast .date {
	background-image: url(../img/top/newface_date_bg.png);
}

/*schedule*/
.page-top .schedule .cast-list .cast {
	background: url(../img/top/schedule_bg.png);
	border: solid 2px #ff6096;
}

.page-top .schedule .profile {
	color: #ff6096;
}

.page-top .schedule .cast-list .cast .time {
	background-image: url(../img/top/schedule_date_bg.png);
}

/*----------page-schedule----------*/
.page-schedule .date-list .item {
	font-size: 1.2rem;
	width: 31%;
	margin: 0 1.2%;
	border: solid 1px #ff6297;
	box-sizing: border-box;
}

@media screen and (max-width:500px) {
	.page-schedule .date-list .item {
		font-size: 0.9rem;
	}
}

.page-schedule .date-list .item a {
	display: block;
	padding: 12% 0;
}

.page-schedule .schedule .cast-list .cast {
	background: url(../img/schedule/schedule_bg.png);
	border: solid 2px #ff6096;
}

.page-schedule .schedule .profile {
	color: #ff6096;
}

.page-schedule .schedule .cast-list .cast .time {
	background-image: url(../img/schedule/schedule_date_bg.png);
}

/*----------page-cast----------*/
.page-cast .cast .cast-list .cast {
	background: url(../img/cast/cast_bg.png);
	border: solid 2px #ff6096;
}

.page-cast .cast .profile {
	color: #ff6096;
}

/*----------page-system----------*/
.page-system {
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}
/*position設定*/
.page-system .relative-padding {
	position: relative;
	padding-top: 43%;
}

.page-system .absolute {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 94%;
	padding: 4% 2%;
	box-sizing: border-box;
}
/*course1*/
.page-system .course1 .inner-bg {
	background-image: url(../img/system/course1_bg.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.page-system .course .course1 .inner-bg .from, .page-system .course .course1 .inner-bg .price {
	font-weight: bold;
}

.page-system .course .course1 .inner-bg .from {
	color: #2aa6fc;
	font-size: 1.8rem;
}

.page-system .course .course1 .inner-bg .time, .page-system .course .course1 .inner-bg .price {
	color: #fff;
}

.page-system .course .course1 .inner-bg .time {
	text-shadow: 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}

.page-system .course .course1 .inner-bg .bg {
	background: #26a6ff;
	margin-top: 4%;
	padding: 4% 3%;
	border-radius: 10px;
	font-size: 1.7rem;
}

/*course2*/
.page-system .course2 .inner-bg {
	background-image: url(../img/system/course2_bg.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.page-system .course .course2 .inner-bg .from, .page-system .course .course2 .inner-bg .price {
	font-weight: bold;
}

.page-system .course .course2 .inner-bg .from {
	color: #8646f4;
	font-size: 1.8rem;
}

.page-system .course .course2 .inner-bg .time, .page-system .course .course2 .inner-bg .price {
	color: #fff;
}

.page-system .course .course2 .inner-bg .time {
	text-shadow: 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}

.page-system .course .course2 .inner-bg .bg {
	background: #8646f4;
	margin-top: 4%;
	padding: 4% 3%;
	border-radius: 10px;
	font-size: 1.7rem;
}
/*course3*/
.page-system .course3 .inner-bg {
	background-image: url(../img/system/course2_bg.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.page-system .course .course3 .inner-bg .from, .page-system .course .course3 .inner-bg .price {
	font-weight: bold;
}

.page-system .course .course3 .inner-bg .from {
	color: #ff2c85;
	font-size: 1.8rem;
}

.page-system .course .course3 .inner-bg .time, .page-system .course .course3 .inner-bg .price {
	color: #fff;
}

.page-system .course .course3 .inner-bg .time {
	text-shadow: 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}

.page-system .course .course3 .inner-bg .bg {
	background: #ff2c85;
	margin-top: 4%;
	padding: 4% 3%;
	border-radius: 10px;
	font-size: 1.7rem;
}

/*other*/
.page-system .other .item-center {
	display: inline-flex;
	align-items: center;
	margin: 3%;
}

.page-system .other .item-center span {
	letter-spacing: -12px;
}

.page-system .other .item-center .label {
	font-size: 1.7rem;
}

.page-system .other .item-center .value {
	font-size: 2rem;
	padding-left: 10px;
	font-weight: bold;
}

.page-system .other .nyukai .value {
	color: #fc7700;
}

.page-system .other .shimei .value {
	color: #12ca1a;
}

.page-system .other .area .value {
	color: #2e8eff;
}

.page-system .other .cosplay .value, .page-system .other .cosplay .red {
	color: #FF0004;
}

/*----------page-link----------*/
.page-link .message {
	line-height: 1.5;
	font-size: 1.2rem;
	color: #ff1b78;
	text-align: left;
}

.page-link .size {
	font-size: 1.2rem;
	font-weight: bold;
}

.page-link .content-bg img {
	max-width: 100%;
}

/*----------page-concept----------*/
.page-concept .concept .bg {
	background-image: url(../img/concept/concept3_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

.page-concept .caution .caution-list {
	list-style-type: disc;
}

.page-concept .caution {
	text-align: left;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.8;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}

.page-concept .caution .caution-list {
	padding-left: 30px;
}

/*----------page-staff----------*/
.page-staff .message {
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	width: 96%;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 20px auto 0;
}

.page-staff .staff-list {
	text-align: left;
	font-size: 1.2rem;
	line-height: 1.5;
}

.page-staff .staff-list th {
	border: 1px solid #a1a29d;
	padding: 3%;
}

.page-staff .staff-list .label {
	background: #d2f4fe;
	font-weight: bold;
	color: #043ac1;
}

/*----------page-contact----------*/
.page-contact {
	text-align: left;
}

.page-contact .message {
	line-height: 1.5;
	font-size: 1.2rem;
	color: #ff1b78;
}

.page-contact .form-list .label {
	font-weight: bold;
	color: #3079fa;
}

.page-contact .form-list .label {
	padding: 5% 0 3%;
}

.page-contact .form-list input, .page-contact .form-list select {
	font-size: 1rem;
	height: 40px;
	padding: 1%;
	box-sizing: border-box;
}

.page-contact .form .button {
	text-align: center;
}

.page-contact .form button {
	background: 0 0;
	padding: 0;
	border: none;
	cursor: pointer;
}

.page-contact .form-list textarea {
	font-size: 1rem;
	padding: 1%;
	box-sizing: border-box;
	height: 200px;
}

.page-contact .form span {
	color: #FF0004;
}

.page-contact textarea, .page-contact input {
	font-family: "メイリオ", ＭＳ Ｐゴシック, Osaka, Serif, sans-serif;
}

/*----------page-profile----------*/

/*photo*/
.page-profile .girl {
	padding: 5% 15% 0;
}

.page-profile .girl .photo-list {
	margin-top: 1%;
}

.page-profile .girl .photo-list .item {
	width: 31%;
}

/*profile-detail*/
.page-profile .profile-detail .profile {
	background-image: url(../img/profile/profile2_name_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 8% 0;
	color: #ff1b78;
}

.page-profile .profile-detail .profile .name {
	font-size: 1.6rem;
	font-weight: bold;
}

.page-profile .profile-detail .profile .size {
	font-size: 1.3rem;
	font-weight: bold;
}

/*schedule*/
.page-profile .schedule th {
	padding: 3.5%;
	font-size: 1rem;
}

.page-profile .schedule .label {
	background: #ff1b78;
	border: 1px solid #a1a29d;
	color: #fff;
	font-weight: bold;
}

.page-profile .schedule .value {
	background: #fff;
	border: 1px solid #a1a29d;
	font-weight: bold;
}

/*comment*/
.page-profile .comment p {
	font-size: 1.2rem;
	line-height: 1.4;
}

/*question*/
.page-profile .qa-list {
	text-align: left;
	font-size: 1.2rem;
	line-height: 1.4;
}

.page-profile .qa-list th {
	padding: 5% 0 2% 0;
}

.page-profile .qa-list td {
	padding: 2% 0 5% 0;
}

.page-profile .qa-list th::before {
	content: url(../img/profile/qa_q.png);
	display: inline-block;
	padding-right: 2%;
}

.page-profile .qa-list td::before {
	content: url(../img/profile/qa_a.png);
	display: inline-block;
	padding-right: 2%;
}

.page-profile .qa-list tr:nth-child(2n) {
	background-image: url(../img/profile/qa_line.png);
	background-position: left bottom;
	background-size: auto;
	background-repeat: no-repeat;
}