@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, 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%;
	vertical-align: baseline;
	background: transparent;
}
/*paddingによる幅を無くします*/
*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
body {
	width: 100%;
	min-width: 320px;
	min-height: 800px;
	color: #443c40;
	background: var(--bg-pink);
	font-size: 14px;/* 変更 */
	font-weight: 500;
	font-family: "Helvetica Neue", Helvetica, Arial, Roboto, "Droid Sans", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.8;/* 変更 */
	overflow-x: hidden;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section,main {
	display: block;
}
h1, h2, h3, h4, h5, h6, th{
	font-weight: normal;
}
ol,ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}
a{
	color: #3e4349;
	margin: 0;
	padding: 0;
	font-size: 100%; vertical-align: baseline; background: transparent; text-decoration: none;
}
/*android版クローム　フォントサイズが大きくなる不具合対策*/
p {
	max-height: 999999px;
}
ins {
	background-color: #ff9;/* 変更 */
	color: #3e4349;/* 変更 */
	text-decoration: none;
}
mark {
	background-color: #ff9;/* 変更 */
	color: #3e4349;/* 変更 */
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
img {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}
/* form */
input, select {
	vertical-align: middle;
}

/****************************************

 common (共通スタイル)

****************************************/
body {
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% { opacity: 0.01}
    100% { opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% { opacity: 0.01}
    100% { opacity: 1}
}

/*PC版769pxまでSP版786px〜*/
@media screen and (min-width: 769px) {
	.sp{ display: none !important;}
}
@media screen and (max-width: 768px) {
	.pc{display: none !important;}
}

.inner1000 {
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 10px;
}
.inner1200{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.inner800{
	width: 95%;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 10px;
}
/*imgタグに下記クラスを付けることで、はみ出し防止！！！*/
.inner_img{
	max-width: 100%;
}
a, a:hover{
	color: #3e4349;
	transition: 0.5s;
}
a:hover{
	opacity: 0.6;
	transition: 0.5s;
}
main{
	margin: 0 auto;
	max-width: 1920px;
	width: 100%;
}
h1{
	font-size: 11px;
}
h2 {
	margin-bottom: 10px;
}


/* フォーカスイン*/
.focusin{
	opacity: 0.01;
	transform : translate(0, 100px);
	transition : all 1.5s;
}
.focusin.on {
	opacity : 1;
	transform : translate(0, 0);
}

/*変数*/
:root {
	--main_txt:#0b0a0a;
	--main_color: #ff4e83;
	--main_color2: #feea51;
	--bg-pink: #fefbd8;
	--main-grad: #fee63a 0%, #ffff7a 50%, #fee63a 100%;
  --jost: "Jost", Helvetica, sans-serif;
}

/*********** 文字色 ***********/
.atten_01, .atten_01 a{color: var(--main_color);}
.atten_02, .atten_02 a{color: #ffff00;}
.atten_03, .atten_03 a{color: #0000ff;}
.atten_04, .atten_04 a{color: #ff0000;}

/*********** 背景色 ***********/
.bg_01{
	background:#ffff00;
	display: inline;
	padding: 3px 5px;
}
.bg_02{
	background:#00d8d1;
	display: inline;
	padding: 3px 5px;
}
.bg_03{
	background:#333333;
	color: #999;
	display: inline;
	padding: 3px 5px;
}

/*********** マージン ***********/
.mb_10{margin-bottom: 10px;}
.mb_20{margin-bottom: 20px;}
.mb_30{margin-bottom: 30px;}
.mb_40{margin-bottom: 40px;}

/*********** 文字寄せ ***********/
.center{text-align: center;}
.left{text-align: left;}

/*********** フォントサイズ ***********/
.fs_ss{font-size: 0.8rem;}
.fs_s{font-size: 1.0rem;}
.fs_13em{font-size: 1.3em;}
.fs_15em{font-size: 1.5em;}

/*********** フォントウエイト ***********/
.fw_bold{font-weight: 900;}

/*********** リンクhoverアクション ***********/
.link_act_01{
	opacity: 1;
	-webkit-transition: opacity 0.4s ease;
	-moz-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
	width: 100%;
}
.link_act_01:hover{
	opacity: 0.5;
}

/*********** table設定 ***********/
/*table01*/
.table_01{
	margin: 0 auto 30px;
    font-size: 1.0rem;
	width: 100%;
}
.table_01 th,
.table_01 td{
    display: table-cell;
    padding: 30px 20px;
    vertical-align: middle;
}
.table_01 tr{
	border-bottom: 1px solid rgb(95 82 82 / 20%);
}
.table_01 th{
	text-align: left;
	width: 30%;
}
.table_01 td {
    text-align: left;
}
.table_01 td:nth-child(1) {
    width: 38%;
}
.table_01 td:nth-child(3) {
    font-weight: 600;
    padding-right: 0px;
    padding-left: 20px;
}
@media screen and (max-width: 768px) {
	.table_01{
		width: 100%;
	}
	.table_01 th,
	.table_01 td{
		width: 100%;
		display: block;
		padding: 0px 0 30px;
	}
	.table_01 th {
        line-height: 1.4;
        position: relative;
        padding: 20px 10px 10px 26px;
        text-align: left;
	}
	.table_01 th::after {
		position: absolute;
		content: '';
		top: 50%;
		left: 6px;
		width: 10px;
		height: 10px;
		background-color: var(--main_color);
	}
	.table_01 td{
		width: 100%;
		border-bottom: 0px;
		text-align: left;
	}
}



/* リンクボックス */
.list_link_box li{
	margin: 10px;
	display: inline-block;
	font-size: 11px;
}

/*********** ボタン設定 ***********/
.btn_more{
	display: inline-block;
	width: 250px;
	height: 50px;
	line-height: 50px;
	margin: 30px auto;
	background: linear-gradient(to right,var(--main-grad));
	font-size: 18px;
	border-radius: 50px;
	opacity: 1;
	/* -webkit-transition: opacity 0.4s ease;
	-moz-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease; */
	transition: all 0.4s ease;
}
a.btn_more{
	font-family: var(--jost);
	font-weight: 600;
	letter-spacing: 0.06em;
}
.btn_more:hover{
	opacity: 1;
	filter: brightness(110%);
}

.point{
	background: var(--main_color2);
	border-radius: 16px;
}
/******************************
form共通設定
******************************/
/*formのデフォルトスタイルの削除・リセット*/
form input[type="text"],
form input[type="email"],
form button,
form textarea,
form select {
	-webkit-appearance: none;
		 -moz-appearance: none;
					appearance: none;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
}
/*フォームのスタイルを設定*/
form input[type="text"],
form input[type="email"],
form textarea,
form select {
	border: 1px solid var(--main_color2);
	background: #fffef8;
	color: var(--main_txt);
	border-radius: 10px;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 5px 10px;
	font-size: 16px;
}
form textarea{
	width: 100%;
	resize: vertical;
}

/* インプット・フォーム */
input , textarea{
	height: 40px;
	padding: 2px 15px;
	border: none;
	border-radius: 0;
}
input[type="text"] , input[type="email"] , textarea{
	width: calc(100% - 0px);
	width: -webkit-calc(100% - 0px);
	background: #e6e6e6;
}
input[type="text"].size_s{
	width: 140px;
}
textarea{
	height: 200px;
	padding: 15px;
}
select{
    width: auto;
}
@media screen and (max-width: 768px) {
	select{
		width: 100%;
		padding: 5px;
		margin-bottom: 10px;
	}
}
label {
    width: 100%;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}
label:last-child{
	margin-right: 0;
}
@media screen and (max-width: 768px) {
	label {
		width: 100%;
		margin-bottom: 10px;
	}
}

::placeholder {
	color: #aaa;
}

/******************************
セラピスト共通設定
******************************/
section:not(#section_covergirl,#section_newface,#section_top_ranking_01) .cast_box {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px min(2%, 30px);
	margin-top: 40px;
}
@media screen and (max-width: 768px){
	section:not(#section_schedule_today,#section_newface,#section_covergirl) .cast_box {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px min(4%, 10px);
	}
}

.cast_box li{
	position: relative;
	background-color: #fff;
	box-shadow: 1px 1px 0px 0px #fee63a;
}
.cast_box li a {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding: 8px;
}
@media screen and (max-width: 900px){
	.cast_box li a {
		padding: 8px;
	}
}
@media screen and (max-width: 768px){
	.cast_box li a {
		padding: 6px;
	}
}
.cast_box li .img_box {
	width: 100%;
	height: auto;
	position: relative;
	margin-bottom: 10px;
}
.cast_box li .img_box:before{
	content: "";
	display: block;
	padding-top: 150%;
}
.cast_box li .img_box .img_cast{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.cast_box li .txt_box{
	background: #fff;
}
.cast_box li .icon_x {
	position: absolute;
	bottom: 10px;
	right: 10px;
	display: block;
	width: 40px;
	height: auto;
	padding: 0;
}
.cast_box li .icon_new{
	width: 64px;
	position: absolute;
	top: -10px;
	left: -10px;
}
.cast_box li .frame{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
}
.cast_box li .frame img{
	width: 100%;
}
.cast_box li .txt_box {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	flex-grow: 1;
	font-weight: 400;
}
.cast_box li .txt_box .icon{
	justify-content: space-around;
	flex-wrap: wrap;
	display: flex;
}
.cast_box li .txt_box .icon img{
    width: 46%;
	margin-bottom: 6px;
}
.cast_box li .txt_box .name{ font-size: 1.0rem;}
.cast_box li .txt_box .name img{
	width: 50px;
}
.cast_box li .txt_box .size {
	font-size: 1.0rem;
	overflow-wrap: break-word;
}
.cast_box li .txt_box .size span{
	font-size: 1.0rem;
}
.cast_box li .txt_box .size .size_gold {
	color: #ceaf92;
}
.cast_box li .txt_box .time_box {
    margin-top: auto;
}
.cast_box li .txt_box .time{
	margin: 0 5px 6px;
	padding: 4px;
	background: var(--main_color2);
}
.cast_box li .txt_box .sch_info{
	margin-top: 5px;
	color: var(--main_color);
}
.cast_box li .txt_box .comment{
	font-size: 1.4rem;
}
.icon_shop_wrap {
	margin-bottom: 8px;
}
.cast_box li .txt_box .icon_shop{
    background: #6c96a5;
    color: #fff;
    margin-bottom: 2px;
}

@media screen and (max-width: 768px){
	.cast_box li .txt_box{ padding: 6px 0 0;}
	section:not(#section_newface) .cast_box {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.cast_box li .icon_x {
		width: 30px;
		bottom: 6px;
		right: 6px;
	}
	.cast_box li .icon_new{
		width: 48px;
	}
}
@media screen and (max-width: 520px){
	section:not(#section_newface) .cast_box {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cast_box li .img_box {
    	margin-bottom: 0;
	}
	.cast_box li .txt_box .time{
		padding: 4px 2px;
		margin: 0;
	}
}


/* 女の子のボックス　トップページ新人情報・ピックアップ */
.pickup .splide__track{
	max-width: 340px;
	margin: 15px auto 0;
}

.cast_box_slider{
	width:100%;
	padding: 10px;
    margin: 0px auto 10px !important;
}
.pickup .cast_box_slider{
	margin:0 !important;
}

.cast_box_slider > li a{
	text-align:center;
}
.cast_box_slider > li{
	width:calc(24% - 14px) !important;
	width:-webkit-calc(24% - 14px)!important;
	margin:0 13px 10px 13px;
	padding:0;
	background:#fff;
	position:relative;
}
@media screen and (max-width: 768px){
	.cast_box_slider > li{
		width:calc(48% - 8px) !important;
		width:-webkit-calc(48% - 8px) !important;
		margin:0 10px 3px 10px;
	}
}
.pickup .cast_box_slider > li{
	width:calc(100% - 10px) !important;
	width:-webkit-calc(100% - 10px) !important;
	box-shadow: none;
	background: none;
	padding: 20px;
}
.pickup .cast_box_slider > li a{
	box-shadow: 1px 1px 0px 0px #fee63a;
	background:#fff;
	padding: 10px;
}
.pickup .cast_box_slider > li .icon_x{
	box-shadow: none;
	background:none;
	padding: 0px;
}
.cast_box_slider > li .img_box{
	width:100%;
	overflow:hidden;
	position: relative;
}
.cast_box_slider > li .img_box .thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.cast_box_slider > li .img_box .icon_new{
	position:absolute;
	bottom: 0;
	right: 0;
}
.cast_box_slider > li .img_box .icon_new img{
	width: 60px;
}

.cast_box_slider.box_shadow_blk > li{
	box-shadow: 3px 3px 0 #303030;
}
.cast_box_slider.box_shadow_gray > li{
	box-shadow: 3px 3px 0 #e6e6e6;
}
.cast_box_slider > li .txt_box .time p{
	padding: 2px 0;
	font-size: 16px;
}
.cast_box_slider > li .txt_box .time p:nth-of-type(n + 2){
	border-top: solid 1px #c21436;
}
.cast_box_slider > li .txt_box .time p:empty{
	border: none;
	padding: 0;
}

.cast_box_slider > li .txt_box .time p .info_free_text{
	display: block;
	padding-top: 0;
	border: none;
}
.cast_box_slider > li .txt_box .room{
	color: #fff;
	padding:2px;
}
.cast_box_slider > li .txt_box .room.icon_shop_01{
	background: #d3005b;
}
.cast_box_slider > li .txt_box .room.icon_shop_02{
	background: #9f7cb9;
}
.cast_box_slider > li .txt_box .room.icon_shop_03{
	background: #df81c1;
}

.cast_box_slider > li .txt_box .icon_staff_twitter,
.cast_box_slider > li .txt_box .icon_staff_x {
	position: absolute;
	right: 10px;
	top: 10px;
}
.cast_box_slider > li .txt_box .icon_staff_twitter img,
.cast_box_slider > li .txt_box .icon_staff_x img {
	width: 18px;
	height: 18px;
}

.section_schedule_today.splide,
.newface.splide{
	padding-bottom: 25px;
}
.pickup.splide .splide__pagination{
	display: none;
}
.section_schedule_today.splide .splide__pagination,
.newface.splide .splide__pagination{
    height: 20px;
}
.section_schedule_today.splide .splide__pagination{
    bottom: 140px;
}
.newface.splide .splide__pagination{
    bottom: 90px;
}
.section_schedule_today.splide .splide__pagination li,
.newface.splide .splide__pagination li{
	margin: 0 2px;
}
.newfsection_schedule_todayace.splide .splide__pagination__page,
.newface.splide .splide__pagination__page{
	width: 12px;
	height: 12px;
	opacity: 1;
	background: #fca2ac;
}
.section_schedule_today.splide .splide__pagination__page.is-active,
.newface.splide .splide__pagination__page.is-active{
	transform: scale(1);
	opacity: 1;
	background: #070606;
}
.splide__pagination {
    max-width: 1200px;
    margin: 0 auto;
}



/****************************************

headerヘッダー設定

****************************************/
header {
	opacity: 1;
	transition: .3s ease-in-out;
	box-shadow: 0 5px 10px 0 rgb(0 0 0 / 6%);
}
header {
	width: 100%;
	position: fixed;
	z-index: 30;
	transition: .3s ease-in-out;
	background-color: #ffda01;
}
header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1400px;
	margin: 0 auto;
}
header nav li span {
	display: block;
    line-height: 1.4;
	font-weight: bold;
}
header h1 {
	text-align: center;
	max-width: 320px;
}
header h1 img {
    max-width: 100%;
    padding: 5px 10px;
}
header .inner {
	max-width: none;
	margin: 0;
}
@media screen and (max-width: 768px){
	header nav li span {
		display: block;		
		line-height: 1;
	}
}
/* ヘッドライン */
#headline{
	width: 100%;
	font-size: 12px;
	background: #fff;
	position: relative;
	z-index: 0;
}

/* グローバルナビ */
header nav ul {
	display: flex;
	justify-content: flex-end;
}
header nav.sp_nav ul li {
	width: 62px;
}
header nav.sp_nav ul li span{
	font-size: 0.6rem;
}

header nav.sp_nav .logo li{
    width: 180px;
}
header nav ul li a {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav ul li a#gnav_01 {
	background-position: 0 0;
}

header nav ul li a#gnav_02 {
	background-position: -160px 0;
}

header nav ul li a#gnav_03 {
	background-position: -320px 0;
}
header nav ul li a#gnav_04 {
	background-position: -480px 0;
}
header nav ul li a#gnav_05 {
	background-position: -640px 0;
}
header nav ul li a#gnav_06 {
	background-position: -800px 0;
}
header nav ul li a#gnav_01:hover {
	background-position: 0 -50px;
}
header nav ul li a#gnav_02:hover {
	background-position: -160px -50px;
}
header nav ul li a#gnav_03:hover {
	background-position: -320px -50px;
}
header nav ul li a#gnav_04:hover {
	background-position: -480px -50px;
}
header nav ul li a#gnav_05:hover {
	background-position: -640px -50px;
}
header nav ul li a#gnav_06:hover {
	background-position: -800px -50px;
}
.sp_nav {display: none;}

.icon_nav {
	padding: 10px 10px 12px;
	text-align: center;
	font-size: 0.9rem;
	color: var(--main_color);
}

.icon_nav i {
	font-size: 16px;
	margin-bottom: 5px;
}
.pc_nav .icon_nav {
	letter-spacing: .08em
}
.pc_nav .icon_nav .kana{
	font-size: 0.6rem;
}

.pc_nav .icon_nav i {
	font-size: 15px;
}
.sp_nav {
	display: none;
}
@media (max-width: 810px) {
	.pc_nav {
		display: none;
	}
	.sp_nav {
		display: flex;
	}
	.sp_header_height {
		height: 60px;
	}
	.sp_header_icon {
		font-size: 21px !important;
	}
	.icon_nav {
		padding: 12px 0px 10px;
		text-align: center;
		font-size: 1.0rem;
	}
	
	footer .inner .nav li {
		width: calc(100%/3);
		text-align: center;
	}
	footer {
		padding-bottom: 64px;
	}
	#footer-fix {
		display: block;
	}
	/*トップページ背景画像の固定*/
	#topics li:nth-child(1),
	#topics li:nth-child(3){
		background-attachment: unset;
	}
	#section_event li:nth-child(1),
	#section_event li:nth-child(3){
		padding: 20px 0;
		background-attachment: unset;
	}
}

/*========= ハンバーガーメニュー  ===============*/
.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

* {
	box-sizing: border-box;
}

a,
a:visited,
a:hover,
a:active {
	color: inherit;
	text-decoration: none;
}

.outer-menu {
	position: relative;
	/*top: 10vh;*/
	right: 0;
	z-index: 1;
}

.outer-menu .checkbox-toggle {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	cursor: pointer;
	width: 50px;
	height: 50px;
	opacity: 0;
}

.outer-menu .checkbox-toggle:checked+.hamburger>div {
	transform: rotate(135deg);
}

.outer-menu .checkbox-toggle:checked+.hamburger>div:before,
.outer-menu .checkbox-toggle:checked+.hamburger>div:after {
	top: 0;
	transform: rotate(90deg);
}

.outer-menu .checkbox-toggle:checked+.hamburger>div:after {
	opacity: 0;
}

.outer-menu .checkbox-toggle:checked~.menu {
	pointer-events: auto;
	visibility: visible;
}

.outer-menu .checkbox-toggle:checked~.menu>div {
	transform: scale(1);
	transition-duration: .75s;
}

.outer-menu .checkbox-toggle:checked~.menu>div>div {
	opacity: 1;
	transition: opacity .4s ease .4s;
	display: block;
}

.outer-menu .checkbox-toggle:checked:hover+.hamburger>div {
	transform: rotate(225deg);
}

.outer-menu .hamburger {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: 60px;
	height: 60px;
	padding: .5em 1em;
	border-radius: 0 .12em .12em 0;
	cursor: pointer;
	transition: box-shadow .4s ease;
	backface-visibility: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.outer-menu .hamburger>div {
	position: relative;
	flex: none;
	width: 100%;
	height: 2px;
	background: var(--main_color);
	transition: all .4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.outer-menu .hamburger>div:before,
.outer-menu .hamburger>div:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: -10px;
	left: 0;
	width: 100%;
	height: 2px;
	background: inherit;
	transition: all .4s ease;
}

.outer-menu .hamburger>div:after {
	top: 10px;
}

.outer-menu .menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 105vh;
	pointer-events: none;
	visibility: hidden;
	overflow: hidden;
	backface-visibility: hidden;
	outline: 1px solid transparent;
	display: flex;
	align-items: center;
	justify-content: end;
	opacity: 1;
	transition: all .4s ease;
	backdrop-filter: blur(23px);
}
.outer-menu .menu>div {
	width: 100%;
	height: 200vh;
	transition: all .4s ease;
	flex: none;
	transform: scale(0);
	backface-visibility: hidden;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bg-pink);
	letter-spacing: 0.08em;
}
.outer-menu .menu>div>div {
	text-align: center;
	max-width: 95vw;
	max-height: 100vh;
	opacity: 0;
	transition: opacity .4s ease;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.outer-menu .menu>div>div>ul {
	list-style: none;
	padding: 0 1em;
	margin: 0;
	max-height: 100vh;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 auto 20px auto;
}
.outer-menu .menu>div>div>ul.inner02 {
	padding: 0;
	margin-bottom: 0px;
}

.outer-menu .menu>div>div>ul.inner02 li {
	background: #fff;
	width: 90%;
	margin: 0 auto;
	/* text-align: center; */
	margin-bottom: 15px;
	border-radius: 100px;
	box-shadow: 3px 3px 8px rgb(0 0 0 / .6%);
}

.outer-menu .menu>div>div>ul.inner02 li a {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
}

.outer-menu .inner02 i{
	padding-right: 5px;
	margin-top: 3px;
}

.outer-menu .menu>div>div>ul.inner02 li span {
	display: inline;
	margin: 0 auto;
}

.outer-menu .menu>div>div>ul.inner03 li {
	font-size: 1.4rem;
	width: calc(100%/1);
	font-weight: bold;
	color: var(--main_color);
}

.outer-menu .menu>div>div>ul.inner03 li a {
	display: inline;
	font-size: 1.2rem;
	color: var(--main_color);
}
.outer-menu .menu>div>div>ul.inner03 li p{font-size: 0.8rem;}
.outer-menu .menu>div>div>ul.info_box {
	margin: 0;
	padding: 10px;
	margin: 0 auto;
}

.outer-menu .menu>div>div>ul.info_box li {
	padding: 0;
	color: #887575;
	font-size: 20px;
}

.outer-menu .menu>div>div>ul.info_box li a {
	color: #fff;
	width: 100%;
	margin-bottom: 20px;
}

.outer-menu .menu>div>div>ul>li {
	padding: 0;
	display: block;
	width: calc(100%/2);
	padding: 8px;
}

.outer-menu .menu>div>div>ul>li>a {
	position: relative;
	display: inline-grid;
	cursor: pointer;
	transition: color .4s ease;
}

.outer-menu .menu>div>div>ul>li>a:hover {
	color: #e5e5e5;
}

.outer-menu .menu>div>div>ul>li>a:hover:after {
	width: 100%;
}

.outer-menu .menu>div>div>ul>li>a:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: -0.15em;
	left: 0;
	width: 0;
	height: 2px;
	background: #e5e5e5;
	transition: width .4s ease;
}
.outer-menu .menu>div>div>ul>li>a>span{
	font-size: 0.8rem;
}
.outer-menu .menu>div>div>ul>li>a>span.kana {
	font-size: 0.6rem;
}
/****************************************

footerフッター設定

****************************************/
.footer_area {
	/* background: url(../images/bg_footer_dec01.jpg) 50% 50% no-repeat;
	background-size: cover; */
	background-color: var(--bg-pink);
	padding: 40px 60px 20px;
	text-align: center;
}
footer .info_box {
	margin: 0 auto;
	background: none;
}
footer .info_box li {
	color: var(--main_color);
}
footer .info_box .info_tel {
	max-width: 340px;
	width: 100%;
	background: var(--main_color);
	border-radius: 30px;
	border: 0px;
	color: #fff;
}
footer .info_box .info_tel a{
	color: #fff;
	font-weight: bold;
}
footer .logo{
	width: 20%;
	max-width: 300px;
	margin: 40px auto 40px;
}
footer .nav_icon{margin-bottom: 20px;}
@media screen and (max-width: 768px){
	.footer_area {
		padding: 60px 0 40px;
		background-position: 100% 0%;
	}

	footer .info_box .tel{
		font-size: 2.2rem;
		border-bottom: 1px solid var(--main_txt);;
		line-height: 1.4;
	}
	footer .info_box .open span{
		font-size: 1.4rem;
	}
	
	footer .logo{
		width: 54%;
		max-width: 300px;
		margin: 0 auto 40px;
	}
}

footer .footer_nav{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0 auto 20px;
}
footer .footer_nav li{
	position: relative;
	width: calc(100% / 4);
	width: -webkit-calc(100% / 4);
	text-align: center;
	font-weight: bold;
}
footer .footer_nav li a{
	color: var(--main_color);
	font-weight: bold;
}
footer .footer_nav li::after{
	position: absolute;
	top: 0;
	right: -7px;
}
footer .footer_nav li:nth-of-type(5):after{
	display: none;
}
footer .footer_nav li:last-child:after{
	display: none;
}

footer .link_bnr {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    width: min(100%, 800px);
    margin: 10px auto;
    padding: 0 10px;
}
footer .link_bnr li {
    margin: 0 5px 10px;
}
footer .link_bnr li img {
    width: auto;
    max-width: 100%;
    height: auto;
}


.nav_icon .f_snsicon{
    /* display: grid;
    grid-template-columns: 60px 60px; */
		display: flex;
		justify-content: center;
    max-width: 120px;
    margin: auto;
}

.nav_icon a {
    display: inline-block;
	margin: 0 10px;
}
.nav_icon a i.fa-twitter {
    font-size: 25px;
    padding: 6px;
}
.nav_icon a img.line,
.nav_icon a img.icon_x {
    width: 38px;
}
.nav_icon a i.fa-blog {
    font-size: 24px;
    padding: 6px;
}
.copyright{
	padding: 10px;
	font-size: 1.0rem;
	font-size: 0.8rem;
	font-weight: 300;
}
.footer_link{
	color: var(--main_txt);
	display: block;
}
@media screen and (max-width: 768px){
	.copyright{
		padding: 10px;
	}
}
/****************************************
mainvisualメインビジュアル
****************************************/
#mainvisual{
	width: 100%;
	height: 100vh;
	position: relative;
}
#mainvisual ul{
	width: 100%;
	height: 100vh;
}
#mainvisual ul li{
	width: 100%;
	height: 100%;
}
#mainvisual img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
#mainvisual .logo {
	position: absolute;
	width: 60%;
	max-width: 420px;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
	z-index: 10;
}
@media screen and (max-width: 768px){
	#mainvisual img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 50%;
	}
}

/* ↓flexslider.cssを上書き */
#mainvisual .flex-control-nav {
	bottom: 0;
}
/* flexslider.cssを上書き */
.flexslider{
	margin-bottom: 0;
	background: unset;
	border: none;
}
#mainvisual .flex-control-paging li a.flex-active  {
	/*control-navのActiveな●の色を変えたい時はここを変更*/
	background-color: #fff000;
}
/* ↑flexslider.cssを上書き */


/* パンくずリスト */
.breadcrumbs {
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 4px 10px;
}
.breadcrumbs ol li {
	color: var(--main_color);
	font-weight: bold;
	display: inline-block;
}
.breadcrumbs ol li:before {
	content: "\f105";
	font-family: "Font Awesome 6 Free";
  font-weight: 900;
	display: inline;
	margin: 0 8px 0;
}
.breadcrumbs ol li:first-child:before {
	margin: 0;
	content: "\f015";
}
.breadcrumbs ol li a {
	color: var(--main_color);
	font-weight: bold;
}
.breadcrumbs ol li a span{
	font-weight: bold;
}




/******************************
認証ページ
******************************/
#entry_body{
	background: transparent;
	background: url(../images/bg_entry_box.png) 0 0 no-repeat #EDECE7;
	background-size: 100%;
}
#entry_body header{
	background: none;
	box-shadow: none;
	position: unset;
	height: auto;
}
#entry_body #contents{
	padding-top: 80px;
}
#entry_body #contents .logo{
	margin-bottom: 50px;
}
#entry_body #contents .info_box,
#entry_body #contents .info_box a {
	width: 100%;
	margin-bottom: 50px;
	font-size: 20px;
	font-weight: 800;
}
#entry_body #contents .info_box span{
	font-size: 1.5em;
	color: #6b7387;
}
.btn_enter,
.btn_exit {
	width: 300px;
	height: 50px;
	line-height: 50px;
	display: inline-block;
	border-radius: 50px;
	background: #3b3c40;
	color: #fff;
	font-size: 16px;
	margin: 0 auto 30px;
	text-transform: uppercase;
}
#entry_body h2{
	font-size: 18px;
	font-weight: 700;
}
#entry_body .list_link_box img,
#contents_link .list_link_box img {
    width: auto;
    max-width: 100%;
    height: auto;
}

/******************************
トップページ
******************************/
/*トップページ共通*/
section h2 {
	font-size: 2.4rem;
	font-family: var(--jost);
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	margin-bottom: 30px;
	position: relative;
	padding: 20px;
	z-index: 1;
	color: var(--main_color);
}
section h2:before {
	content: '';
	display: inline-block;
	position: absolute;
	top: -10px;
	right: -10px;
	width: 100%;
	height: 100%;
	background: url(../images/h2_heading_dec.png) no-repeat top;
	background-size: contain;
	z-index: -1;
}
section h2 span{
	font-size: 1rem;
	font-weight: bold;
	display: block;
	line-height: 1.8;
}
@media screen and (max-width: 768px){
	section h2{
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 30px;
		position: relative;
		padding: 20px;
		z-index: 10;
	}
	section h2 span{
		font-size: 0.8rem;
		font-weight: bold;
		display: block;
		line-height: 1.8;
	}
}


#section_sns,
#section_blog,
#section_topics,
#section_event,
#section_schedule_today,
#section_top_ranking_01,
#section_newface,
#section_top_bnr{
	padding: 80px 0px;
}
/*トップページ　2カラム*/
.column{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background: #fff;
}
.column section{
	width: 50%;
	max-width: 600px;
	}

.column .cast_box li .frame img{
	width: 280px;
}

@media screen and (max-width: 768px){
	.column section{
		width: 100%;
	}
	.column .cast_box li .frame img{
		width: 200px;
	}
}

/* 1パターン背景 */
.bg_main_dec01{
	background: url(../images/bg_main_dec01_yoko.jpg) no-repeat;
    background-size: cover;
    background-position: center bottom;
    position: relative;
    text-align: center;
    background-color: var(--main_color);
}

/* 電話番号＆営業時間 */
.info_box{
	background: var(--main_color2);
	font-size: 2.0rem;
	padding: 16px 0;
	position: relative;
	line-height: 20px;
}
.info_box ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.info_box li {
	margin: 0 10px;
	font-weight: bold;
	font-size: 1.8rem;
	/* margin-bottom: 10px; */
	color: var(--main_color);
}
.info_box span {
	font-size: 1.4rem;
	font-weight: bold;
}
.info_box .info_tel {
	border: 1px solid;
	padding: 6px 18px;
	font-size: 1.4rem;
	margin-bottom: 12px;
}
.info_box .info_tel a {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	color: var(--main_color);
}
@media screen and (max-width: 530px){
	.info_box .info_tel {
		width: 80%;
		margin-bottom: 12px;
		font-size: 1.0rem;
	}
	.info_box .info_tel a{
		font-size: 1.4rem;
	}
	.info_box li {
		margin: 0 10px;
		font-weight: bold;
		font-size: 1.2rem;
	}
	.info_box span {
		font-size: 1.0rem;
		font-weight: bold;
	}
}

/* 新着情報 */
.accordion{
	margin-bottom: 20px;
}
.toggle_contents { background: #fff;}
.toggle_title {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 15px;
	cursor: pointer;
	text-align: left;
	line-height: 1.4;
	font-weight: bold;
	background: var(--main_color2);
}
.toggle_title h3 {font-weight: bold;}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	display: block;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.toggle_contents .selected .toggle_btn:after {
	content:"";
	display:block;
	width:8px;
	height:8px;
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position:absolute;
    right: 8px;
    top: 4px;
	bottom: 0;
	margin: auto;
}
.toggle_contents .toggle_btn:after {
	content:"";
	display:block;
	width:8px;
	height:8px;
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position:absolute;
    right: 8px;
    top: 4px;
	bottom: 15%;
	margin: auto;
}
.toggle_btn:before {
	width: 2px;
	height: 10px;
}
.toggle_title.selected .toggle_btn:before {
	content: normal;
}
.toggle_title time {
	width: fit-content;
	background: #fff;
	padding: 4px 12px;
	font-size: 0.8rem;
	border-radius: 20px;
	color: var(--main_color);
	font-weight: bold;
}
.toggle_contents dd {
	display: none;
}
.toggle_contents:first-of-type dd {
	display: block;
	padding: 20px;
}
.toggle_contents dd img {
	max-width: 100% !important;
	height: auto !important;
}
@media screen and (max-width: 768px) {
	.toggle_title {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* 矢印 */
.accordion-title {
position: relative;
}
.accordion-title::after {
border-right: solid 2px #fff;
border-top: solid 2px #fff;
content: "";
display: block;
height: 8px;
position: absolute;
right: 25px;
top: 38%;
transform: rotate(135deg);
transition: transform .3s ease-in-out, top .3s ease-in-out;
width: 8px;
}
.accordion-title.open::after {
top: 45%;
transform: rotate(-45deg);
}



/* 矢印非表示 */
.swiper-button-next.next,.swiper-button-prev.prev{
	display: none;
}



/* 新着情報 */
#section_topics{
	background-color: var(--bg-pink);
}
#section_topics #info_box {
	overflow-y: auto;
	max-width: 600px;
	margin: 0 auto;
}
#section_topics #info_box tbody tr td{
	border: 1px solid #3e4349;
}
#section_topics #info_box article{
	/* margin-bottom: 30px; */
	text-align: left;
}
#section_topics #info_box article h3{
	background: #eee;
	text-align: left;
}
#section_topics #info_box article p img{
	max-width: 100% !important;
}
#section_topics #info_box strong {
	font-weight: bold;
}


/* 新人情報 */
#section_newface{
	background: url(../images/bg_main_dec01_yoko.jpg) no-repeat;
    background-size: cover;
    background-position: center bottom;
    position: relative;
    text-align: center;
    background-color: var(--main_color);
}
@media screen and (max-width: 768px) {
	#section_newface{
		background: url(../images/bg_main_dec01_tate.jpg) no-repeat;
		background-size: cover;
		background-position: center bottom;
		position: relative;
		text-align: center;
		background-color: var(--main_color);
	}
}
#section_newface .splide__track{
	padding: 20px;
}
#section_newface{
    padding: 80px 0 90px;
	
}
@media screen and (min-width: 769px){
	#section_newface .inner1200 {
		width: 100%;
	}
	#newface{
		background-size: 100%;
	}
}

.splide__arrow {
    background: #f3dc2f;
	opacity: 0.8!important;
}
.splide__arrow svg {
    fill: #fff;
    height: 1.2em;
    width: 1.2em;
}
.splide__pagination {
    display: none;
}
.splide__arrow--prev {
	left:calc(50% - 600px);
}
.splide__arrow--next {
    right:calc(50% - 600px);
}
@media screen and (max-width: 1199px){
	.splide__arrow--prev {
		left: 10px;
	}
	.splide__arrow--next {
		right: 10px;
	}
}
/* 本日の出勤情報　*/
#section_schedule_today{
}
#contents_cast .cast_box li:nth-of-type(4n),
#contents_schedule .cast_box li:nth-of-type(4n) {
	margin-right: 0;
}

.item_btn {
	display: block;
	width: 100%;
	max-width: 250px;
	margin: 40px 0 0;
	margin-inline: auto;
}
.btnshine {
	display: block;
	position: relative;
	font-size: 20px;
	font-family: var(--jost);
	letter-spacing: 0.06em;
	text-align: center;
	padding: 12px;
	color: var(--main_color) !important;
	border-radius: 40px;
	background: linear-gradient(to right,var(--main-grad));
	/* background-position: 0 50%;
	background-size: 200% auto;
	transition: background-position 0.5sease-in-out; */
	transition: all 0.4s ease;
}
.btnshine::before {
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 16px;
	position: absolute;
	top: 50%;
	right: 20px;
	translate: 0 -50%;
}
.btnshine:hover {
	opacity: 1;
	filter: brightness(110%);
	/* background-position: 100% 50%; */
}


/* SNS */
#section_sns{
	z-index: 10;
	text-align: center;
	padding-top: 0;
}


/* カバーガール */
#section_covergirl {
	/* background: url(../images/bg_main_dec01_tate.jpg) no-repeat; */
	background-size: cover;
	background-position: center bottom;
	z-index: 10;
	text-align: center;
	padding: 80px 10px 0;
}
#section_covergirl .inner {
	width: 70%;
	max-width: 480px;
	margin: 0 auto;
	padding: 30px 10px;
	background-color: rgb(254 255 255 / 60%);
}
#section_covergirl .system_img_wrap img {
	width: min(100%, 690px);
	margin-bottom: 80px;
}
#section_covergirl .cast_box li .icon_new{
	width: 100%;
	max-width: 60px;
	position: absolute;
	top: 20px;
	left: 20px;
}
@media screen and (max-width: 768px){
	#section_covergirl .inner {
		width: 95%;
	}
	#section_covergirl .swiper{
		width: 220px;
		margin: 0 auto;
	}
	#section_covergirl .cast_box li .icon_new{
		width: 100%;
		position: absolute;
		top: 20px;
		left: 20px;
	}
}

/* イベント */
#section_event{
	padding-top: 0;
}
#section_event img{
	width: 100%;
	max-width: 690px;
	margin-bottom: 0px;
	border: 2px solid #ffbe3b;
}
#section_event .swiper ul li{
	padding:0  10px;
}
.event_swiper_sp {
	display: none;
}
.event_swiper_pc {
	display: block;
}
.swiper-pagination-bullet{
	background: #ffbf3d;
	opacity: 0.2;
}
.swiper-pagination-bullet-active{
	background: #ffbf3d;
	opacity: 1;
}
#section_event .swiper-wrapper{
	margin-bottom: 50px;
}

@media screen and (max-width: 768px){
	.event_swiper_sp {
		display: block;
	}
	.event_swiper_pc {
		display: none;
	}
}
.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
	height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
}


/* リンクバナー */
#section_top_bnr {
	padding-bottom: 100px;
}
#section_top_bnr ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 100%;
	gap: 10px;
}
#section_top_bnr ul li{
	position: relative;
	width: calc(98% / 2);
	width: -webkit-calc(98% / 2);
	text-align: center;
	font-size: 1.4rem;
	gap: 1%;
}
/* #section_top_bnr ul li:first-child{
	margin: 0 1% 0 0;
}
#section_top_bnr ul li:last-child{
	margin: 0 0 0 1%;
} */
.top_bnr_credit {
	display: flex;
	flex-direction: column;
    align-content: center;
	max-width: 700px !important;
    align-items: center;
    margin: 0 auto;
}
.top_bnr_credit li{
	position: relative;
	width: calc(98% / 2);
	width: -webkit-calc(98% / 2);
	text-align: center;
	font-size: 1.4rem;
}
@media screen and (max-width: 768px){
	#section_top_bnr ul li{
		position: relative;
		width: calc(100% / 1);
		width: -webkit-calc(100% / 1);
		text-align: center;
		font-size: 1.4rem;
	}
	#section_top_bnr ul li:first-child {
		margin: 0 0 20px 0;
	}
	#section_top_bnr ul li{
		margin: 0 0 20px 0;
	}
	#section_top_bnr ul li:last-child{
		margin: 0 0 0 0;
	}
}




/* 追尾 */
#bottom_nav {
	position: fixed;
	right: 0;
	left: 0;
	bottom: 0%;
	width: 100%;
	margin: 0 auto;
	z-index: 10;
	display: block;
}
#bottom_nav::after {
	display: none;
}
#bottom_nav a {
	width: 32%;
	margin: 1% 0;
	padding: 10px;
	z-index: 9999;
    font-size: 0.8rem;
	letter-spacing: 1px;
	text-decoration: none;
	text-align: center;
	display: inline-block;
	font-feature-settings: "palt";
	line-height: 1.4;
	position: relative;
	color: #fff;

}
#bottom_nav a:nth-child(1) {
	background: #ffbf3d;
}
#bottom_nav a:nth-child(2) {
	background: #50ca82;
}
#bottom_nav a:nth-child(3) {
	background: var(--main_color);
}
#bottom_nav a:last-child:after{
	display: none;
}


/****************************************

下層ページ

****************************************/
/*下層ページ共通設定*/
#contents_system,
#contents_cast,
#contents_schedule,
#contents_entry,
#contents_impressins,
#contents_contact,
#contents_enquete,
#contents_reserve{
	padding: 0 0 100px;
}
.subvisual{
    width: 100%;
    height: 34vh;
    padding: 100px 0;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
	color: var(--main_color);
	margin-bottom: 80px;
}
/*各ページサブビジュアル設定*/
.subvisual{
	background: url(../images/subvisual_common.jpg) 50% 50% no-repeat;
	background-size: cover;
}

.subvisual h2{
	font-size: 3rem;
	font-weight: 600;
	font-family: var(--jost);
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--main_color);
	padding-top: 80px;
	line-height: 1.2;
}
.subvisual h2 span{
	font-size: 1.4rem;
	display: block;
}

.heading_h3{
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 10px;
	background: var(--main_color);
	position: relative;
}
@media screen and (max-width: 768px) {
	.subvisual h2{
		font-size: 2.8rem;
	}
	.subvisual h2 span{
		font-size: 1.0rem;
		display: block;
	}
	.heading_h3{
		font-size: 1.2rem;
		font-weight: bold;
		margin-bottom: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 4px;
		background: var(--main_color);
		position: relative;
	}
}
#contents_system .box,
#contents_access .box,
#contents_contact .box,
#contents_reserve .box,
#contents_recruit .box,
#contents_entry .box,
#contents_enquete .box,
#contents_link .box,
#contents_err .box,
.profile_box_right .box,
.profile_box_schedule .box,
#topics_system .box{
	width: 100%;
	background: rgba(255, 255, 255, .8);
	margin-bottom: 30px;
	outline: 1px solid var(--main_color2);
	padding: 15px;
	outline-offset: -10px;
	background: #fff;
	padding: 30px;
	box-shadow: 1px 1px 0px 0px #fee63a;
	margin-bottom: 40px;
	font-weight: 300;
}
@media screen and (max-width: 768px) {
	#contents_access .box,
	#contents_contact .box,
	#contents_reserve .box,
	#contents_recruit .box,
	#contents_enquete .box,
	#contents_link .box,
	#contents_err .box,
	.profile_box_right .box,
	.profile_box_schedule .box{
		padding: 20px;
		margin-bottom: 40px;
	}
}
.box p{
	margin-bottom: 10px;
}

.btn_box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 700px;
    width: 100%;
    margin: 0px auto 0;
}

#contents_entry input,
#contents_enquete input,
.contact_form input{
	max-width: 320px;
}
.btn_red,
.btn_gray {
	display: block;
	width: 100%;
	height: 50px;
	text-align: center;
	position: relative;
	transition: all 0.4s;
	max-width: 330px;
	margin: 0 10px 10px;
	padding: 10px;
	border-radius: 30px;
	font-size: 16px;
	cursor: pointer;
}
.btn_red, .btn_red:hover {
	background: var(--main_color);
	color: #fff;
}
.btn_gray, .btn_gray:hover {
    color: #303030;
    background: #e6e6e6;
}
.btn_red:hover , .btn_gray:hover{
	opacity: 0.6;
}
.btn_red::after , .btn_gray::after{
	content: "";
	display: block;
	width: 50px;
	height: 7px;
	transform:skew(45deg);
	position:absolute;
	left: calc(50% - 30px);
	left: -webkit-calc(50% - 30px);
	bottom:15px;
}
@media screen and (max-width: 768px) {
	.btn_box {
		width: 100%;
		max-width: 600px;
		margin: 0px auto 0;
	}
}

/****************************************
女の子一覧ページ & スケジュールページ
****************************************/

/* テキストメニュー */
.schedule_nav {
	margin: 20px auto 40px auto;
	padding: 10px 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1000px;
}
.schedule_nav li {
	width: calc((100% - 42px)/ 7);
	margin: 0 3px 9px;
}
.schedule_nav li a {
	padding: 10px;
	display: block;
	font-size: 12px;
	background: #fffef8;
	-webkit-transition: 0.4s ease;
	-moz-transition: 0.4s ease;
	transition: 0.4s ease;
}
.schedule_nav li a:hover {
	opacity: 0.6;
}
.schedule_nav li.active a {
	background: var(--main_color2);
}
.schedule_nav li.active a:hover{
	opacity: 1;
}
@media screen and (max-width: 768px) {
	.schedule_nav li:first-child{
		width: 100%;
	}
	.schedule_nav li {
		width: calc((100% - 17px)/ 2 );
		margin: 0 3px 9px;
	}
}

.sort_name{
	display: inline-block;
	margin: 0 auto 0px;
	padding: 20px 20px;
	color: #555;
	font-size: 1.4rem;
	background: #fff;
	border-image-slice: 1;
	text-align: center;
	max-width: 400px;
	width: 100%;
}
.sort_name input {
	background: var(--main_color);
	color: #fff;
	border-radius: 16px;
	height: 36px;
	width: 100%;
}
.sort_name a {
	margin-top: 8px;
  font-size: 0.9rem;
}


/****************************************
週間スケジュールページ
****************************************/
#contents_schedule .schedule_box{
	text-align: left;
}
#contents_schedule .schedule_box li{
	padding: 10px;
	background: linear-gradient(#ffffff, #aaaaaa);
	background: -webkit-linear-gradient(#ffffff, #aaaaaa);
	background: -moz-linear-gradient(#ffffff, #aaaaaa);
	border: 1px solid #fff;
	margin-bottom: 10px;
	color: #000000;
}
#contents_schedule .schedule_box .img_box{
	float: left;
}
#contents_schedule .schedule_box .name{
	width: 90%;
	float: right;
	font-size: 15px;
}
#contents_schedule .schedule_box table{
	width: 90%;
	height: 80px;
	float: right;
	font-size: 10px;
	text-align: center;
}
/*以下のサイズはサイトに合わせてください*/
#contents_schedule .schedule_box .img_box{
	width: 80px;
	height: 120px;
	margin-bottom: 10px;
}
/*以下のサイズはサイトに合わせてください*/
#contents_schedule .schedule_box .img_box img{
	max-width: 80px;
	max-height: 120px;
}

/****************************************
プロフィールページ
****************************************/
#contents_profile .profile_box_right,
#contents_profile .profile_box_left {
	width: 100%;
	max-width: 480px;
	display: inline-block;
	vertical-align: top;
}
#contents_profile .profile_box_left .img_box{
	position: relative;
	width: 300px;
	height: 450px;
	margin: 0 auto 20px;
	position: relative;
	text-align: center;
	/* overflow: hidden; */
}
#contents_profile .profile_box_left .img_box .icon_new {
	position: absolute;
	top: -20px;
	left: -20px;
	width: 80px;
	height: auto;
}
.profile_box_right .name,
.profile_box_right .size{
	font-size: 1.4rem;
}
.profile_box_right .name img{
	width: 40px;
	vertical-align: sub;
	margin-right: 4px;
}
.profile_box_right .icon img{
	width: 24%;
	max-width: 100px;
}
@media screen and (max-width: 768px) {
	.profile_box_right .icon img{
		width: 49%;
		max-width: 50px;
	}
}
.profile_box_right .subtitle,
.profile_box_schedule .subtitle{
	font-weight: bold;
	text-align: center;
	font-size: 20px;
	border-bottom: 2px solid var(--main_color);
	margin-bottom: 20px;
	padding: 0;
}
.profile_box_right iframe{
	width: 100%;
}
/*以下のサイズはサイトに合わせてください*/
#contents_profile .img_box > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#contents_profile .profile_box_left .img_box .frame{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.profile_box_schedule{
	clear: both;
}
.profile_box_schedule .table_02 {
	margin-bottom: 20px;
}
#contents_profile .profile_option_box p{
	width: 33.33%;
	padding: 5px;
	box-sizing: border-box;
	float: left;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
}
#contents_profile .profile_option_box .can{
	background: #ffff00;
}
#contents_profile .profile_option_box .normal{
	background: #00d8d1;
}
#contents_profile .profile_option_box .cant{
	background: #333333;
	color: #999;
}
#contents_profile .cast_thumb {
  width: auto;
	max-height: 90px;
}


/*出勤タイムライン設定*/
ul.timeline-head,
ul.timeline {
	display:table;
	table-layout:fixed;
	width:100%;
	font-size: 0.5em;
}
ul.timeline-head li,
ul.timeline li {
	display:table-cell;
	text-align:center;
}
ul.timeline-head li:first-child {
	border-left:none;
}
ul.timeline li {
	text-indent:-600px;
	overflow:hidden;
	border-top:1px solid #CCC;
}
ul.timeline li:first-child {
	border-left:none;
}
ul.timeline li.ui-selected {
	background:#000b84;
}



/* ↓↓ レスポンシブ用スケジュール
*  ブラウザで確認するときはmainタグのwidth:960pxを消して確認してください。
*/
.profile_box_schedule .profile_sch_box {
	width: 100%;
	display: flex;
	box-sizing: border-box;
	border-top: 1px solid var(--main_color2);
	border-bottom: 1px solid var(--main_color2);
    border-right: 1px solid var(--main_color2);
}
.profile_box_schedule .profile_sch_box .profile_sch_variable {
	border-left: 1px solid var(--main_color2);
	flex-grow: 1;
}
.profile_box_schedule .profile_sch_box div:nth-of-type(1).profile_sch_variable .profile_sch_date,
.profile_box_schedule .profile_sch_box div:nth-of-type(1).profile_sch_variable .profile_sch_check{
      border-left: none;
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_date {
	padding: 5px;
	border-bottom: 1px solid var(--main_color2);
	background: var(--bg-pink);
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check {
	padding: 5px;
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .sch_info{
	color: var(--main_color);
}
@media (max-width: 767px) {
	.profile_box_schedule .profile_sch_box {
		display: block;
		border-bottom: 0px solid var(--main_color2);
	}
	.profile_box_schedule .profile_sch_box .profile_sch_variable {
		flex-grow: unset;
		display: flex;
	}
	.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_date {
		flex-basis: 50%;
		border-left: none;
	}
	.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check {
		flex-basis: 50%;
		border-bottom: 1px solid var(--main_color2);
	}
}
/* ↑↑ ここまで レスポンシブ用スケジュール */




/*
プロフィールページ 感想
*/
.impressions_box ul.impressions_inner{
	display: flex;
	flex-flow: wrap;
}
.impressions_box ul.impressions_inner li.impressions_list{
	flex-basis: 50%;
	border: 3px solid #eee;
	box-sizing:border-box;
	background: #fff;
}
.impressions_box ul.impressions_inner li.impressions_list:nth-child(2n){
	margin-right: 0;
}
.impressions_box ul.record{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	background: #888;
	padding: 5px 10px;
	margin: auto;
}
.impressions_box ul.record li{
	width: 50%;
	display: inline-block;
	color: #fff;
	line-height: 30px;
	text-align: left;
	margin: auto;
}
.impressions_box ul.evaluation{
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}
.impressions_box ul.evaluation li{
	width: 24%;
	display: inline-block;
	color: #3e4349;
}
.impressions_box div.txt{
	height: 150px;
	padding: 10px;
	text-align: left;
	word-wrap:break-word;
	overflow: scroll;
	box-sizing: border-box;
}
.impressions_box div.txt .fa-lg{
	line-height: auto;
}
.impressions_box div.txt span{
	display: block;
	font-weight: bold;
	color: #d31563;
	text-align: center;
}
@media (max-width: 767px){
	.impressions_box ul.impressions_inner li.impressions_list{
		flex-basis: 100%;
	}
}
/****************************************
システムページ
****************************************/

#contents_system .table_system{
	margin: 0 auto 30px;
    font-size: 1.8rem;
	width: 100%;
}
#contents_system .table_system tr{
	border-bottom: 1px solid rgb(95 82 82 / 20%);
}
#contents_system .table_system td {
	padding: 4% 0;
	text-align: center;
	vertical-align: middle;
	font-size: 2.4rem;
}
#contents_system .table_system td:nth-child(1) {
    width: 38%;
}
#contents_system .table_system td:nth-child(2) {
	font-size: 1.8rem;
}
#contents_system .table_system td:nth-child(3) {
    font-weight: 600;
    padding-right: 0px;
    padding-left: 20px;
}
#contents_system .table_system span {
	font-size: 1.4rem;
}
#contents_system .table_system td.op_txt {padding: 1% 0 2%;}
#contents_system .table_system td.op_txt span {font-size: 1.6rem;}
@media screen and (max-width: 768px) {
	#contents_system .system li {
		padding: 20px;
	}
	#contents_system .table_system td {
		padding: 4% 0;
		text-align: center;
		font-size: 1.4rem;
	}
	#contents_system .table_system span {
		font-size: 0.8rem;
	}
}
#contents_system ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	max-width: 100%;
	gap: 10px;
}
#contents_system ul li{
	position: relative;
	width: calc(98% / 2);
	width: -webkit-calc(98% / 2);
	text-align: center;
	font-size: 1.4rem;
	gap: 1%;
}

@media screen and (max-width: 610px){
	#contents_system ul li{
		width: 98%;
		gap: 0;
	}
}

#contents_system .top_bnr_credit {
	display: flex;
	flex-direction: column;
    align-content: center;
	max-width: 700px !important;
    align-items: center;
    margin: 40px auto;
}
#contents_system .top_bnr_credit li{
	position: relative;
	width: calc(98% / 2);
	width: -webkit-calc(98% / 2);
	text-align: center;
	font-size: 1.4rem;
}
@media screen and (max-width: 768px){
	#section_top_bnr ul li{
		text-align: center;
		font-size: 1.4rem;
	}
}
/****************************************
リクルートページ
****************************************/
#contents_recruit .rec_img_box img {
	width: min(100%, 600px);
	height: auto;
	margin-inline: auto;
	margin-bottom: 20px;
}
#contents_recruit .line{
    max-width: 50px;
}
/****************************************
リンクページ
****************************************/
#contents_link .table_01 img {
	max-width: 100%;
    width: auto !important;
}
.free_link_box img {
	max-width: 100%;
    width: auto !important;
	height: auto !important;
}
/****************************************
新着情報
****************************************/
#topics_system { margin-bottom: 80px;} 
#topics_system .box h3{
	font-size: 1.2rem;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: 6px;
    background: var(--main_color);
}

.pagination li{
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0px auto;
    background: #feb3cf;
    color: #fff;
    border-radius: 50px;
    opacity: 1;
    -webkit-transition: opacity 0.4s ease;
    -moz-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}
@media screen and (max-width: 768px) {
	#topics_system img {
		width: 100% !important;
		height: auto !important;
	}
}

/****************************************
404ページ
****************************************/
.err_title {
	margin-top: 20px;
	margin-bottom: 40px;
	font-size: clamp(32px, 8vw, 48px);
	color: var(--main_color);
	line-height: 1;
}
#contents_err .txt {
	width: fit-content;
	margin-inline: auto;
	text-align: left;
}
