/* Add your custom css styles */

body{
 font-family: "Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif!important;
}

html{
 scroll-behavior: smooth;
 scroll-padding-top: 70px;
}

/* ------------------ Percent widths --------------------*/
.per5 {
  width: 5% !important;
}
.per10 {
  width: 10% !important;
}
.per15 {
  width: 15% !important;
}
.per20 {
  width: 20% !important;
}
.per25 {
  width: 25% !important;
}
.per30 {
  width: 30% !important;
}
.per35 {
  width: 35% !important;
}
.per40 {
  width: 40% !important;
}
.per45 {
  width: 45% !important;
}
.per50 {
  width: 50% !important;
}
.per55 {
  width: 55% !important;
}
.per60 {
  width: 60% !important;
}
.per65 {
  width: 65% !important;
}
.per70 {
  width: 70% !important;
}
.per75 {
  width: 75% !important;
}
.per80 {
  width: 80% !important;
}
.per85 {
  width: 85% !important;
}
.per90 {
  width: 90% !important;
}
.per95 {
  width: 95% !important;
}
.per100 {
  width: 100% !important;
}

/***** ヘッダーメニュー *****/
.header_menu{
	margin:2px 2px 2px 2px;
	text-align: left;
}

.header_menu img{
	width: 110px;
	/*margin:0 1px;*/
	margin:2px 2px 2px 2px;
	border-radius: 12px;
	border: 1px solid #111;
	background-image: url(../sp/image/icon_back.png);
	box-shadow: 0px 1px 0px rgba(255,255,255,0.3) inset;
}

.h1frame h1{
	font-size:14px;
	line-height:18px;
	margin:0px;
    background: rgba(0,0,0,0.6);
}

h2{
	font-size:16px;
	margin:0px;
}


/* 本日出勤画像 */
/* 右上
img.m_top{ z-index:106;position:absolute;bottom:170px;left:115px;width:60px;}
span.m_top_today_text{ z-index:108;position:absolute;bottom:202px;left:130px;color:#fff;font-size:13px;font-weight:bold;font-style:italic;}
span.m_top_text{ z-index:107;position:absolute;bottom:185px;left:123px;color:#fff;font-size:11px;}
*/
/* 左上 */
img.m_top{ z-index:106;position:absolute;bottom:170px;left:2px;width:60px;}
p.m_top_today_text{ z-index:108;position:absolute;bottom:202px;left:15px;color:#fff;font-size:13px;font-weight:bold;font-style:italic;}
p.m_top_text{ z-index:107;position:absolute;bottom:185px;left:10px;color:#fff;font-size:11px;}

.syukkin
 {
	color: #ffffff;
	font-size: 11px;
	height: 60px;
	right: 2px;
	line-height: 75px;
	position: absolute;
	text-align: center;
	text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.14);
	top: 2px;
	width: 60px;
	z-index: 500;
	/*background-: #ffc300;*/
	background-image: url(../images/cast_midashi_top.png);
	background-size: 60px 60px
}

.syukkin_now{
	color: #ffffff;
	font-size: 13px;
	font-style:italic;
	font-weight:bold;
	height: 60px;
	right: 4px;
	line-height: 40px;
	position: absolute;
	text-align: center;
	text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.14);
	top: 2px;
	width: 60px;
	z-index: 501;

}

.cast-qa{
    font-size: 12px;
    margin:0px;
    line-height:15px;
}
.info-hr{
	margin:1px;
	height: 1px;
	border: none;
	border-top: 1px #ffffff dashed;
	/*border-top: 1px #ffffff solid;*/
}

.syukkin_pc{
    float: right;
    font-size: 13px;
}

.syukkin_s,
.syukkin_s a {
	text-align:left;
    font-size: 13px;

}
.m-t--5{
	margin-top:-5px}
.m-t--10{
	margin-top:-10px}
.m-t--20{
	margin-top:-20px}
.m-t--30{
	margin-top:-30px}
.m-t--40{
	margin-top:-40px}
.m-t--50{
	margin-top:-50px}
.m-t--60{
	margin-top:-60px}

.m-b--6{
	margin-bottom:-6px;}
.m-b--7{
	margin-bottom:-7px;}
.m-b--8{
	margin-bottom:-8px;}
.m-b--10{
	margin-bottom:-10px;}
.m-b--20{
	margin-bottom:-20px}
.m-b--30{
	margin-bottom:-30px;}
.m-b--40{
	margin-bottom:-40px}
.m-b--50{
	margin-bottom:-50px;}
.m-b--60{
	margin-bottom:-60px}

.p-b--10{
	padding-bottom:-10px;}
.p-b--20{
	padding-bottom:-20px}
.p-b--30{
	padding-bottom:-30px;}
.p-b--40{
	padding-bottom:-40px}
.p-b--50{
	padding-bottom:-50px;}
.p-b--60{
	padding-bottom:-60px}

.f-s-10{
	font-size:10px;}
.f-s-12{
	font-size:12px;}
.f-s-13{
	font-size:13px;}
.f-s-15{
	font-size:15px;}
.f-s-20{
	font-size:20px;}
.f-s-25{
	font-size:25px;}
.f-s-30{
	font-size:30px;}

.f-lh-12{
	line-height:12px!important;
}
.f-lh-14{
	line-height:14px;
}
.f-lh-16{
	line-height:16px;
}
.f-lh-18{
	line-height:18px;
}

.div-fr{
    float: right;}

.div-fl{
    float: left;}

.text-siro,
.text-siro h1,
.text-siro h2,
.text-siro h3,
.text-siro h4,
.text-siro h5,
.text-siro h6,
.text-siro .lead,
.text-siro p,
.text-siro a:not(.button),
.text-siro i,
.text-siro li,
.text-siro label,
.text-siro div:not(.alert),
.text-siro span {
    color: #fff !important;
}


/* ------------------ Colors --------------------*/
.color-red {
  color: #ed7a53 !important;
}
.color-red-light {
  color: #ec8765 !important;
}
.color-red-dark {
  color: #ec693c !important;
}
.color-blue {
  color: #3399cc !important;
}
.color-blue-light {
  color: #4faede !important;
}
.color-blue-dark {
  color: #1e86ba !important;
}
.color-green {
  color: #9fc569 !important;
}
.color-green-light {
  color: #adcf7e !important;
}
.color-green-dark {
  color: #8db652 !important;
}
.color-yellow {
  color: #f4ad49 !important;
}
.color-yellow-light {
  color: #f5b75f !important;
}
.color-yellow-dark {
  color: #d69840 !important;
}
.color-white {
  color: #ffffff !important;
}
.color-dark {
  color: #1f3140 !important;
}
.color-dark-light {
  color: #273e51 !important;
}
.color-dark-dark {
  color: #17242f !important;
}
.color-gray {
  color: #a2aaac !important;
}
.color-gray-light {
  color: #777777 !important;
}
.color-gray-dark {
  color: #333333 !important;
}


table.calender_column{
    width: 100%;
}

table.calender_column td{
    padding: 5px;
    border: 1px solid #CCC;
}

/* 日曜日 */
table.calender_column tr.week0{
    background-color: #ffefef;
    color: #FF0000;
}

/* 土曜日 */
table.calender_column tr.week6{
    background-color: #ededff;
    color: #0000FF;
}

/* 平日 */
table.calender_column tr.week1{
    background-color: #ffffff;
    color: #000000;
}
table.calender_column tr.week2{
    background-color: #ffffff;
    color: #000000;
}
table.calender_column tr.week3{
    background-color: #ffffff;
    color: #000000;
}
table.calender_column tr.week4{
    background-color: #ffffff;
    color: #000000;
}
table.calender_column tr.week5{
    background-color: #ffffff;
    color: #000000;
}

/* 今日 */
table.calender_column tr.today{
    background-color: #fbffa3;
    color: #000000;
    font-weight: bold;
}

table.calender_column td:first-child{
    width: 20%;
    text-align: center;
}

table.calender_column td:last-child{
    width: 80%;
    color: #111111;
}

/*予約フォーム*/

.yform-row {
	margin:20px 20px 20px 20px;
	color: #000000;
	background-color: #333333;
}

.yform-row input{
	color: #000000;
	background-color: #ffffff;
}

.table_best td {
  border: 1px #ffffff solid;
  padding:4px;
  border-collapse: collapse;
  border-spacing: 0;
}


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

202407　改造

///////////////////////////////////////////////////*/
/*
.container {
 margin: 0 auto;
 max-width: 1200px;
 padding: 0 2.0rem;
 position: relative;
}
*/
.center {
 text-align: center;
 margin-bottom: 4rem;
}
/*スクロールバー非表示*/
.scrollnone {
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none;    /* Firefox 対応 */
}

.scrollnone::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}

/*///////////////////////////////////////////////////
ボタン
///////////////////////////////////////////////////*/


/*///////////////////////////////////////////////////
カラム
///////////////////////////////////////////////////*/
.col3{
 display: flex;
 flex-wrap: nowrap;
 width: 100%;
 align-items: flex-start;
 height: 1600px;
 max-height: 100%;
 overflow: hidden;
}
.col2{
 display: flex;
 flex-wrap: nowrap;
 width: 100%;
 align-items: flex-start;
 overflow-y: auto;
}


/*サブ*/
.col_sub{
 width: 300px;
 margin: 0 5px;
 height: 100%;
 padding-bottom: 100px;
}

/*メイン*/
.col_main{
 flex: 1;
 display: block;
 /*width: 100%;*/
 width: calc(100% - 600px);
 overflow-y: auto;
}
.col_main02{
 flex: 1;
 display: block;
 /*width: 100%;*/
 width: calc(100% - 300px);
 overflow-y: auto;
}

@media screen and (max-width: 768px){
.col3{
 flex-wrap: wrap;
 height: auto;
}
.col2{
 flex-wrap: wrap;
 height: auto;
}

.col_sub,
.col_main,
.col_main02{
 width: 100%;
}

.col_change{
 flex-direction: column;
}
.order01{
 order: 1;
}
.order02{
 order: 2;
}
.order03{
 order: 3;
}
.order04{
 order: 4;
}
}

/*///////////////////////////////////////////////////
Pickup
///////////////////////////////////////////////////*/
.headline_h2,
.heading h2{
 font-size: 25px;
 font-weight: bold;
 display: flex;
 align-items: baseline;
 padding: 5px 10px;
 font-family: "Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
 border: 1px solid #ddd;
 background-color: rgba(255,255,255,0.15);
 margin: 15px auto;
}
.headline_h2 span {
 font-size: 11px;
 font-weight: normal;
 color: #fff!important;
}
.headline_h2 span::before {
 content: "/";
 font-size: 20px;
 margin: 0 14px;
}

/*女性リスト*/
.castList{
 display: flex;
 justify-content: flex-start;
 align-items: center;
 padding-left: 0;
 margin: 10px auto;
 flex-wrap: wrap;
 gap:0px;
}
.castBox,
.castBox02{
 display: block;
 margin: 5px;
 width: 150px;
 height: auto;
 border-radius: 5px;
 position: relative;
 overflow: hidden;
}
/*
.castBox:after,
.castBox02:after{
 display: block;
 content:"";
 margin: 5px;
 width: 150px;
}
*/

.castBox img,
.castBox02 img{
 display: block;
 width: 100%;
 height: auto;
 object-fit: cover;
 border-radius: 5px;
 cursor: pointer;
 transition: transform .6s ease;
}
.castBox:hover img,
.castBox02:hover img{
 /*transform: scale(1.1); 画像拡大*/
}
/*新人*/
.pop_newface{
 display: block;
 width: 33px;
 height: 17px;
 line-height: 19px;
 position: absolute;
 bottom: 1px;
 left: 10px;
 background-color: rgba(240,104,255,0.7);
 color: #fff;
 text-align: center;
 font-size: 12px;
 font-weight: bold;
 border-radius: 3px;
}

/*本日出勤リボン*/
.pop_today_wrap{
 display: block;
 position: relative;
 overflow: hidden;
}
.pop_today{
 display: inline;
}
.pop_today span {
 position: absolute;
 display: inline-block;
 top: 10px;
 left: -27px;
 width: 100px;
 padding: 2px 10px;
 background: #cc0c0c;
 color: #fff;
 text-align: center;
 transform: rotate(-45deg);
 font-weight: bold;
 z-index: 1;
 font-size: 13px;
}
.syukkin_time{
 display: block;
 position: absolute;
 bottom: -28px;
 font-size: 0.9em;
 right: 0;
 height: 30px;
 margin-bottom: 5px;
}

.castInfo{
 display: block;
 text-align: center;
 width: 100%;
 background-color: rgba(0,0,0,0.8);
 height: 55px;
 position: absolute;
 bottom: 0;
}
.castInfo p{
 color: #fff;
 font-weight: bold;
 line-height: 1.5;
}
.castInfo p span{
 display: block;
 font-weight: normal;
 font-size: 0.8em;
}

.switch_image {
 position: relative;
 overflow: hidden;
 border-radius: 5px;
 width: 160px;
 height: 200px;
 max-width: 100%;
/*margin-top: 5px;*/
}

.switch_image img {
 /*transition: opacity 0.5s;*/
 transition: 0.5s;
}

.switch_image img:hover {
 transform: scale(1.1);
 border-radius: 5px;
}

/*ズームにするので以下コメントアウト
.switch_image:hover img:first-of-type {
 opacity: 0;
}
.switch_image img:last-of-type {
 position: absolute;
 top: 0px;
 left: 0px;
 opacity: 0;
}
.switch_image:hover img:last-of-type {
 opacity: 1;
}
*/


.cast_cate{
 font-size: 15px;
 font-weight: bold;
 display: flex;
 align-items: baseline;
 padding: 3px;
 border-top: 2px solid #815E00;
 border-bottom: 2px solid #815E00;
 font-family: "Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
 background-image: -webkit-linear-gradient(315deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
 background-image: linear-gradient(135deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
 /*text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);*/
 margin: 10px auto 5px;
}

@media screen and (max-width: 768px){
.castList{
 flex-wrap: wrap;
 justify-content: space-between;
}
.castBox{
 margin: 5px 2px;
 width: calc(100%/2 - 4px);
}
.castBox02{
 margin: 15px 1px;
}
}

.event_flex{
 display: flex;
 width: 100%;
 margin: 10px auto;
 flex-wrap: wrap;
}

.event_flex a{
 display: block;
 margin: 5px;
 width: calc(100%/4 - 25px);
}
.event_flex a img{
 display: block;
 width: 100%;
}

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

.event_flex a{
 display: block;
 margin: 5px;
 width: calc(100%/2 - 15px);
}

}


/*///////////////////////////////////////////////////
リアルタイム
///////////////////////////////////////////////////*/
.real_wrap{
 display: block;
 max-height: 100%;
 overflow-y: scroll;
}
.real_update{
 display: block;
 text-align: right;
 font-size: 0.8em;
 color: #fff;
}
.real_block{
 display: block;
 width: 100%;
 background-color: rgba(0,0,0,0.66);
 padding: 10px;
}
.real_inner{
 display: flex;
 flex-wrap: nowrap;
}
.real_inner img{
 display: block;
 width: 130px;
 height: 100%;
 overflow: hidden;
 border-radius: 5px;
}
.real_info{
 display: block;
 font-size: 0.9em;
 margin-left: 5px;
 margin-top: 10px;
 width: calc(100%/2 - 10px);
 text-align: left;
 color: #fff;
}
.real_info p{
 font-size: 1.1em;
 font-weight: bold;
 margin-bottom: 5px;
}
.real_info span{
 display: block;
 font-size: 0.9em;
 color: #FF69B4;
}
.real_spec{
 display: block;
 font-size: 1.1em;
 line-height: 1.2;
 margin-top: 10px;
}
.real_today{
 display: block;
 font-size: 0.8em;
 margin: 10px auto;
}
.real_info_text{
 display: block;
 margin: 10px auto;
 color: #ff82c1!important;
 font-size: 1em;
}
.gauge{
 border: 1px solid #333;
 background: #ddd;
 /*width: 63%;*/
 width: 80%;
 margin: 10px 0;
}
.gauge>div{
 height: 10px;
 background: #ff82c1;
}
.level_wrap{
 display: flex;
 width: 100%;
 align-items: center;
 justify-content: space-between;
 flex-wrap: nowrap;
 font-size: 0.9em;
}
.level_wrap img{
 width: 15%;
}

@media screen and (max-width: 768px){
.real_wrap{
 height: 100%;
 overflow-y: auto;
}
.real_info{
 font-size: 1.1em;
}
.real_today{
 font-size: 0.9em;
}
}



/*///////////////////////////////////////////////////
写メ日記
///////////////////////////////////////////////////*/
.diary_wrap{
 display: block;
 height: 1600px;
 max-height: 100%;
 overflow-y: scroll;
 padding-bottom: 100px;
}
.diary_block{
 display: block;
 width: 100%;
 background-color: rgba(0,0,0,0.66);
 padding: 10px;
 color: #fff;
 margin: 5px auto;
}
.diary_title{
 display: block;
 border-bottom: 1px solid #fff;
 font-weight: bold;
}
.diary_date{
 display: block;
 text-align: right;
 font-size: 0.8em;
}
.diary_img{
 display: block;
 width: 100%;
 height: auto;
 /*object-fit: cover;*/
}

.diary_img img{
 display: block;
 width: 75%;
 margin: 5px auto;
/* height: 200px;
 object-fit: cover;
*/
}

.diary_txt{
 display: block;
 line-height: 1.5;
 margin: 10px 6px;
 font-size: 0.95em;
}
.diary_name{
 display: block;
 text-align: center;
}
.diary_name a{
 color: #FF69B4!important;
 font-weight: bold;
}

.diary_cast{
 display: block;
 width: 70px;
 margin-left: auto;
}
.diary_face{
 display: inline-block;
 border-radius: 50%;
 width: 70px;
 height: 70px;
 object-fit: cover;
 object-position: center top;
 vertical-align: middle;
}

.blog_list_btn{
 display: inline-block;
 padding: 5px 10px;
 text-align: center;
 background-color: #000;
 color: #fff!important;
 font-size: 10px!important;
 border-radius: 5px;
 margin-left: auto;
}


/*///////////////////////////////////////////////////
sns
///////////////////////////////////////////////////*/
.sns_flex{
 display: flex;
 justify-content: center;
 padding: 0;
}
.sns_flex li{
 list-style: none;
}
.sns_flex img{
 width: 50px;
 margin: 5px;
}



/*///////////////////////////////////////////////////
BBS掲示板
///////////////////////////////////////////////////*/
.bbs_wrap{
 display: block;
 background-color: rgba(0,0,0,0.65);
 margin: 30px auto;
 padding: 30px 20px;
 border: 1px solid #fff;
}
.bbs_inner{
 display: block;
 width: 800px;
 max-width: 100%;
 margin: 0 auto;
}

.bbs_flex{
 display: flex;
 justify-content: flex-start;
 margin: 10px auto;
 align-items: center;
}
.bbs_flex label{
 display: block;
 color: #fff;
 margin: 0px 10px;
 width: 200px;
 text-align: right;
}
.label_key{
 width: 185px!important;
}

.bbs_flex input[type="text"],
.bbs_flex input[type="email"],
.bbs_flex textarea{
 display: block;
 width: 80%;
 border: none;
 padding: 12px;
 border-radius: 5px;
 color: #000;
}
.bbs_select{
 display: block;
 width: 80%;
 border: none;
 border-radius: 5px;
 color: #000;
}
.bbs_select select{
 border-radius: 5px!important;
}

.bbs_flex input[type="password"]{
 display: block;
 width: 100px;
 border: none;
 padding: 5px;
 border-radius: 5px;
 color: #000;
 margin: 0 5px 0 0;
}

.required{
 display: inline-block;
 padding: 3px;
 text-align: center;
 background-color: rgba(255,158,180,1.00);
 color: #fff;
 border-radius: 5px;
 margin-left: 10px;
 width: 65px;
}
.any{
 display: inline-block;
 padding: 3px;
 text-align: center;
 background-color: #9DDFFF;
 color: #fff;
 border-radius: 5px;
 margin-left: 10px;
 width: 65px;
}

.bbs_box{
 display: block;
 background-color: rgba(0,0,0,0.65);
 padding: 30px;
 width: 100%;
 margin-bottom: 50px;
}
.bbs_main{
 display: block;
}
.bbs_main_bottom{
 display: block;
 text-align: right;
 color: rgba(168,168,168,1.00)!important;
}
.bbs_title{
 display: block;
 font-size: 1.5em;
 font-weight: bold;
 padding: 10px;
 border-bottom: 1px solid #fff;
}
.bbs_res{
 display: inline-block;
 margin: 0 5px;
 border: none;
 width: 50px;
 padding: 2px 10px;
 border-radius: 5px;
 color: #000!important;
}

.bbs_res_box{
 display: block;
 background-color: rgba(112, 112, 112,0.5);
 width: 95%;
 margin-left: auto;
 padding: 30px;
 margin-bottom: 10px;
}


.bbs_ico{
 display: inline-block;
 border-radius: 50%;
 width: 60px;
 height: 60px;
 object-fit: cover;
 margin-right: 10px;
 text-align: right;
}
.bbs_ico02 img{
 display: block;
 border-radius: 50%;
 width: 60px;
 height: 60px;
 object-fit: cover;
 margin-right: 10px;
 text-align: right;
}

.bbs_grid{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 align-items:center;
 justify-content: center;
 gap: 10px;
}
.bbs_grid label{
 text-align: right;
}
.bbs_grid input[type="text"]{
 display: block;
 border: none;
 padding: 12px;
 border-radius: 5px;
 color: #000;
}

.bbs_flex02{
 display: flex;
 align-items:center;
 justify-content: flex-end;
 gap: 10px;
}

.btn_small_wrap06{
  margin:0;
  width:200px;
  max-width:100%;
}

@media screen and (max-width: 768px){
.bbs_ico{
 margin-right: 10px;
}
.bbs_ico02 img{
 margin: 10px;
}
.bbs_grid{
 display: block;
}
.bbs_flex02{
 display: block;
}
.bbs_grid input[type="text"]{
 margin: 10px 0;
}
.btn_small_wrap06{
 display: block;
 width: 100%;
 margin: 10px auto;
}
}

@media screen and (max-width: 768px){
.bbs_flex label{
 margin: 10px 10px 10px 0;
 width: 100%;
 /*width: 110px;*/
 text-align: left;
}
.label_key{
 width: 160px!important;
}
.bbs_flex{
 flex-wrap: wrap;
}
.bbs_flex input[type="text"],
.bbs_flex input[type="email"],
.bbs_flex textarea{
 width: 100%;
}
.bbs_flex input[type="password"]{
 display: block;
 width: 100px;
 border: none;
 padding: 5px;
 border-radius: 5px;
 color: #000;
}
.bbs_select{
 width: 100%;
}
.required,
.any{
 width: 65px;
}
.bbs_box{
 padding: 20px;
}
.bbs_res_box{
 padding: 10px;
 width: 97%;
}
}

/*投稿アイコン*/
.btn_small02{
 width: 300px!important;
 max-width: 100%;
 margin: 30px auto 0;
}
.btn_small_wrap02{
 display: block;
 width: 230px!important;
 max-width: 100%;
 margin: 0 auto;
 position: relative;
}
.btn_small_wrap02 input{
 padding: 10px 0 10px 2em;
 line-height: 2;
}
.btn_small_wrap02::before{
 content: "";
 width: 20px;
 height: 20px;
 background: url(../images/ico_write.png) no-repeat center center / auto 100%;
 display: inline-block;
 position: absolute;
 top: 10px;
 left: 35px;
}

/*///////////////////////////////////////////////////
ブログ一覧・イベント一覧
///////////////////////////////////////////////////*/
.blog_info{
 display: block;
 background-color: rgba(0,0,0,0.65);
 margin: 30px auto;
 padding: 30px 20px;
 border: 1px solid #fff;
}
.blog_info_flex{
 display: flex;
 justify-content: center;
 align-items: center;
}
.blog_info_Txt{
 display: block;
 margin: 0 0 0 20px;
 font-size: 1.2em;
}
.blog_info_flex img{
 display: block;
 width: 200px;
}

.blog_number {
 list-style: none;
 counter-reset: number;
 margin-top: 30px;
}
.blog_number li {
 position: relative;
 padding-left: 1.5em;
 margin: 10px auto;
}
.blog_number li::before {
 counter-increment: number;
 content: counter(number);
 position: absolute;
 top: 5px;
 left: 0;
 width: 20px;
 height: 20px;
 border: 1px solid #fff;
 border-radius: 50%;
 font-size: 10px;
 text-align: center;
 line-height: 20px;
}

@media screen and (max-width: 768px){
.blog_info_flex{
 flex-wrap: wrap;
}
.blog_info_flex img{
 width: 200px;
 max-width: 100%;
}
.blog_info_Txt{
 display: block;
 margin: 30px auto 0;
 width: 100%;
}
.blog_number{
 padding: 0;
}
}

.blog_box,
.event_box{
 display: block;
 background-color: rgba(0,0,0,0.65);
 padding: 30px;
 width: 100%;
 margin-bottom: 50px;
}
.blog_img{
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
 align-items: center;
}
.blog_img img{
 display: block;
 width: 200px;
 height: auto;
 margin: 10px 5px;
 border-radius: 5px;
/*PC　右クリックで保存禁止*/
 pointer-events: none;
/*SP　長押しで画像保存禁止*/
 -webkit-touch-callout:none;
 -webkit-user-select:none;
 -moz-touch-callout:none;
 -moz-user-select:none;
 user-select:none;
}
.event_img{
 display: block;
 width: 100%!important;
 margin-bottom: 30px;
}

.blog_title,
.event_title{
 display: block;
 border-top: 1px solid #fff;
 border-bottom:1px solid #fff;
 padding: 5px 0;
 font-size: 1.2em;
 font-weight: bold;
}
.blog_date{
 display: block;
 width: 100%;
 margin: 10px 0;
 text-align: right;
}
.blog_Txt,
.event_Txt{
 display: block;
 font-size: 1em;
 line-height: 1.5;
}
.blog_name{
 display: block;
 width: 100%;
 margin: 10px 0;
 text-align: right;
}
.blog_name2{
 display: block;
 width: 100%;
 margin: 10px 0;
 text-align: left;
}
.blog_name a,
.blog_name2 a{
 font-weight: bold;
 color: #ffb3fc!important;
 margin-left: 5px;
}
.blog_name a:hover,
.blog_name2 a:hover{
 color: #ff66f9!important;
}
.filter {
 filter: blur(10px);
 user-select: none;
}



/*///////////////////////////////////////////////////
プレイリクエスト
///////////////////////////////////////////////////*/
.file_up{
 display: inline-block;
 margin: 16px 0;
}
.file_text{
 display: inline-block;
 width: calc(100% - 110px);
 font-size: 12px;
 line-height: 24px;
 overflow: hidden;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border: 1px solid lightblue;
 border-radius: 4px;
 font-weight: normal;
 height: 26px;
 margin: 0;
 padding: 0 0 0 8px;
 vertical-align: middle;
 color: #003040!important;
 background: #f8ffff;
 outline: none;
}
.file_button{
 margin: 0 0 0 8px;
 padding: 6px 10px;
 font-size: 12px;
 line-height: 12px;
 border-radius: 4px;
 color: white;
 background: rgb(0, 96, 128);
 cursor: pointer;
}

.btn_small_wrap03{
 display: block;
 width: 230px!important;
 max-width: 100%;
 margin: 0 auto;
 position: relative;
}
.btn_small_wrap03 input{
 padding: 10px 0 10px 2em;
 line-height: 2;
}
.btn_small_wrap03::before{
 content: "";
 width: 25px;
 height: 25px;
 background: url(../images/ico_send.png) no-repeat center center / auto 100%;
 display: inline-block;
 position: absolute;
 top: 10px;
 left: 35px;
}


/*///////////////////////////////////////////////////
リクエスト出勤
///////////////////////////////////////////////////*/
.req-info-txt{
 display: block;
 color: #FF9EB3!important;
 text-align: left;
}
@media screen and (max-width: 768px) {
.req-info-txt{
 text-align: left;
}
}


/*///////////////////////////////////////////////////
システム
///////////////////////////////////////////////////*/
/*テーブル用簡易レスポンシブ*/
.sys-tbl-pc{
 display: contents;
}
.sys-tbl-sp{
 display: none;
}

.system_h2{
 display: block;
 background: rgba(205,146,0,0.50);
 padding: 10px 20px;
 font-weight: normal;
 white-space: normal;
 border: 1px solid #fff;
 border-radius: 4px;
 margin: 20px auto 10px;
}

.table-container {
 width: 100%;
 margin: 10px auto 50px;
 border-collapse: collapse;
 overflow-x: auto;
}
.sys-table {
 width: 100%;
 border-collapse: collapse;
 text-align: left;
}
.spacer-row td{
/*スペース用*/
 height: 10px;
 padding: 5px!important;
 border: none!important;
}
.sys-table thead {
 background-color: #555;
 color: #fff;
}
.sys-table th, .sys-table td {
 padding: 10px 5px;
 border: 1px solid #333;
}
.sys-table p{
 margin: 0;
}
.sys-table-w{
 width: 200px;
}
.sys-table-w02{
 width: 150px;
}
.sys-table tbody:nth-of-type(even):not(.spacer-row) {
 background-color: #222;
}

/* モーダルウィンドウの基本スタイル */
.modalClick{
 display: inline-block;
 background-color: #000000;
 border: 1px solid #fff;
 padding: 1px 8px;
 border-radius: 3px;
 font-weight: bold;
}
.modal {
 display: none;
 position: fixed;
 z-index: 1;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0,0,0,0.4);
}
.modal-content {
 background-color: #000;
 margin: 0 auto;
 padding: 10px;
 border: 1px solid #888;
 width: 80%;
 overflow-y: scroll;
 position: absolute;
 top: 45%;
 left: 50%;
 font-size: 0.9em;
 line-height: 1.6;
 transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.modal-content h3{
 font-size: 1.5em;
 border-bottom: 1px solid #fff;
 padding-bottom: 5px;
}
.modal-close {
 color: #aaa;
 float: right;
 font-size: 28px;
 font-weight: bold;
}
.modal-close:hover,
.modal-close:focus {
 color: black;
 text-decoration: none;
 cursor: pointer;
}


@media screen and (max-width: 768px) {
/*テーブル用簡易レスポンシブ*/
.sys-tbl-pc{
 display: none;
}
.sys-tbl-sp{
 display: table-cell;
}
.pc-only{
 display: none;
}

.sys-menu{
 width: calc(100%/3 - 4px)!important;
}
.sys-table th, .sys-table td{
 text-align: center;
 padding: 5px;
 font-size: 0.7em;
 /*line-height: 1.8;*/
}
.sys-table-w{
 width: auto;
}
.sys-table-w02{
 width: 80px;
}
}














/*旧テーブル
.table-container {
 width: 100%;
 margin: 30px auto;
 border-collapse: collapse;
 overflow-x: auto;
}
.course-table {
 width: 100%;
 border-collapse: collapse;
}
.course-table thead {
 background-color: #444;
 color: #fff;
}
.course-table th, .course-table td {
 padding: 15px;
 text-align: left;
 border: 1px solid #333;
}
.course-table tbody tr:nth-child(even) {
 background-color: #222;
}
.course-table td {
 vertical-align: top;
}
.course-table th {
 font-weight: bold;
 text-transform: uppercase;
}
.course-table td small {
 font-size: 0.8em;
 color: #999;
}
.course-table tbody tr:hover {
 background-color: #333;
}
*/

.sys-menu-flex{
 display: flex;
 justify-content: flex-start;
 margin: 30px auto;
 flex-wrap: wrap;
}
.sys-menu{
 display: block;
 padding: 5px;
 border-radius: 5px;
 margin: 2px;
 width: 150px;
 background: #67490a;
 text-align: center;
 border: 1px solid #ddd;
}
.sys-menuBG{
 background: #663A65;
}
.sys-menuBG02{
 background: #016C00;
}
.sys-menuBG03{
 background: #1C2C5B;
}
.sys-menuBG04{
 background: #7B1E3A;
}

@media screen and (max-width: 768px) {
.sys-menu{
 /*font-size: 0.9em;*/
}

/*旧スマホ版テーブル
  .course-table thead {
    display: none;
  }
  .course-table tbody tr {
    display: block;
    margin-bottom: 20px;
  }
  .course-table td {
    display: block;
    text-align: left;
    padding: 10px;
    position: relative;
    border: none;
  }
  .course-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    color: #fff;
    background-color: #444;
    padding: 5px;
    border-radius: 5px;
    margin-bottom: 5px;
  }
	.special-td::before {
	 background-color: transparent!important;
	 padding: 0!important;
	}
*/

}




/*///////////////////////////////////////////////////
ランキング
///////////////////////////////////////////////////*/
.ranking_wrap{
 display: flex;
 margin: 10px auto 50px;
 justify-content: left;
}
.ranking_h3{
 display: block;
 background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
 width: 100%;
 color: #fff;
 padding: 3px 0px;
 font-weight: bold;
 font-size: 1.4em;
}
.ranking_h3 span{
 display: block;
 border-top: 3px solid rgb(0, 0, 00, .7);
 border-bottom: 3px solid rgb(0, 0, 00, .7);
 padding: 5px 20px;
}

.pop_newface02{
 display: block;
 width: 33px;
 height: 17px;
 line-height: 19px;
 position: absolute;
 bottom: 30px;
 left: 3px;
 background-color: rgba(240,104,255,0.7);
 color: #fff;
 text-align: center;
 font-size: 12px;
 font-weight: bold;
 border-radius: 3px;
}

.castList02{
 display: flex;
 justify-content: flex-start;
 align-items: center;
 padding-left: 0;
 /*margin: 10px auto;*/
 flex-wrap: wrap;
}
.castInfo02{
 display: block;
 text-align: center;
 width: 100%;
 background-color: rgba(0,0,0,0.8);
 height: 25px;
 position: absolute;
 bottom: 0;
}

.castBox03{
 display: block;
 margin: 5px;
 width: 150px;
 height: auto;
 border-radius: 5px;
 position: relative;
 overflow: hidden;
}
.castBox03 img{
 display: block;
 width: 100%;
 height: auto;
 object-fit: cover;
 border-radius: 5px;
 cursor: pointer;
 transition: transform .6s ease;
}

.rank_01{
 display: block;
 border-radius: 5px;
 background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
 text-align: center;
 color: #000!important;
 font-weight: bold;
 margin-bottom: 5px;
 /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;*/
}

.rank_02{
 display: block;
 border-radius: 5px;
 background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
 text-align: center;
 color: #000!important;
 font-weight: bold;
 margin-bottom: 5px;
 /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;*/
}

.rank_03{
 display: block;
 border-radius: 5px;
 background: linear-gradient(45deg, #a57e65 0%, #a57e65 45%, #f3cfb8 70%, #a57e65 85%, #a57e65 90% 100%);
 text-align: center;
 color: #000!important;
 font-weight: bold;
 margin-bottom: 5px;
 /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;*/
}

.rank_04,
.rank_05{
  display: block;
  border-radius: 5px;
  background: linear-gradient(45deg, #4a90e2 0%, #4a90e2 45%, #d0f0ff 70%, #4a90e2 85%, #4a90e2 90% 100%);
  text-align: center;
  color: #000!important;
  font-weight: bold;
  margin-bottom: 5px;
  /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;*/
}

.rank_under{
 display: block;
 border-radius: 5px;
 background: #fff;
 text-align: center;
 color: #000!important;
 font-weight: bold;
 margin-bottom: 5px;
 /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;*/
}

@media screen and (max-width: 768px){
.ranking_wrap{
 flex-wrap: wrap;
}
.castList02{
 align-items:stretch;
 flex-wrap: nowrap;
}
.rank_sp_right{
 display: block;
 width: 190px;
 max-width: 100%;
 background: rgb(0, 0, 0, 0.6);
 margin-top: 5px;
}
.castBox03{
 width: 120px;
}
}


/*///////////////////////////////////////////////////
input file
///////////////////////////////////////////////////*/
/*「選択されていません（選択後はファイル名）」のスタイル*/
.file-button{
 display: block;
 background-color: #fff;
 border-radius: 5px;
 color: #000!important;
 padding: 0px 16px 0px 16px;
 width: 600px;
 max-width: 100%;
 height: 37px;
 line-height: 2.8;
 cursor: pointer;
}
@media screen and (max-width: 768px){
.file-button{
 width: 100%;
}
}

/*「ファイルを選択」ボタンのスタイル*/
.file-button::file-selector-button {
 font-weight: bold;
 color: #fff;
 background-color: #5bc0de;
 border-color: #46b8da;
 border: 0;
 border-radius: 0px 5px 5px 0px;
 padding: 8px 16px;
 text-align: center;
 position: absolute;
 right: -5px;
 height: 37px;
 cursor: pointer;
}

.block::file-selector-button {
 display: block;
}


/*///////////////////////////////////////////////////
お気に入り
///////////////////////////////////////////////////*/
.book_delete{
 display: inline-block;
 font-weight: 500;
 width: 100%;
 background: #F59017;
}
.book_delete::before{
 content: "";
 display: inline-block;
 width: 18px;
 height: 18px;
 margin: 0px 0px 0px 5px;
 background: url('../img/icon/ico_delete.svg') no-repeat;
 background-size: contain;
 vertical-align: middle;
 position: absolute;
 left: 3px;
 top: 6px;
}
.book_delete:hover{
 opacity: 0.8;
}
.book_delete input{
 display: block;
 border: none;
 background: rgba(0,0,0,0.00);
 padding: 0;
}

/*お気に入り登録済み*/
.bookmark_in{
 display: inline-block;
 border:1px solid #ED7A53;
 padding: 5px 10px;
 background-color: pink;
 font-size: 0.9em;
 color: #E6639D!important;
 font-weight: bold;
 margin-bottom: 5px;
}
.bookmark_in i{
 color: #E6639D!important;
 margin-right: 5px;
}



/*///////////////////////////////////////////////////
チャット申請
///////////////////////////////////////////////////*/
.side_headline{
 display: block;
 border-left: 3px solid #fff;
 color: #fff;
 font-size: 1.2em;
 padding-left: 10px;
 margin: 5px 0px;
 font-weight: bold;
}
.chat_s_flex{
 display: flex;
 justify-content: center;
}

/*申請ボタン*/
.btn_small_wrap04{
 display: block;
 width: 230px!important;
 max-width: 100%;
 /*margin: 0 auto;*/
 margin: 0 3px;
 position: relative;
}
.btn_small_wrap04 input{
 padding: 10px 0 10px 2em;
 line-height: 2;
}
.btn_small_wrap04::before{
 content: "";
 width: 20px;
 height: 20px;
 background: url(../img/icon/ico_check.svg) no-repeat center center / auto 100%;
 display: inline-block;
 position: absolute;
 top: 23px;
 left: 43px;
}

/*戻るボタン*/
.btn_small_wrap05{
 display: block;
 width: 230px!important;
 max-width: 100%;
 /*margin: 0 auto;*/
 margin: 0 3px;
 position: relative;
}
.btn_small_wrap05 input{
 padding: 10px 0 10px 2em;
 line-height: 2;
}
.btn_small_wrap05::before{
 content: "";
 width: 20px;
 height: 20px;
 background: url(../img/icon/ico_re.svg) no-repeat center center / auto 100%;
 display: inline-block;
 position: absolute;
 top: 23px;
 left: 43px;
}

.btn_small03{
 width: 300px !important;
 max-width: 100%;
 margin: 10px auto 0;
}

@media screen and (max-width: 768px){
.chat_s_flex{
 flex-wrap: wrap;
}
}


/*///////////////////////////////////////////////////
最新情報
///////////////////////////////////////////////////*/
.news-wrap{
 display: block;
 height: 780px;
 max-height: 100%;
 overflow-y: scroll;
}
.news-inner{
 display: block;
 margin: 0px auto 30px;
 padding: 20px;
}
.ac-item{
 margin-bottom:50px;
}


@media screen and (max-width: 768px){
.news-inner{
 padding: 10px;
 margin: 0px auto 10px;
}
.news-wrap{
 overflow-y: visible;
 height: auto;
}
.ac-item{
 margin-bottom:0px;
}
}


/*///////////////////////////////////////////////////
上書き
///////////////////////////////////////////////////*/

/*簡易表示切り替え用*/
.pc { display: block !important; }
.pc02 { display: table-cell !important; } /* rowspanが効くようにする */
.sp { display: none !important; }
@media only screen and (max-width: 750px) {
.pc,.pc02 { display: none !important; }
.sp { display: block !important; }
}
@media only screen and (max-width: 750px) {
img { max-width: 100%; }
}


.heading h2 + span, .heading h2 + span.lead{
 text-align: left;
}
.heading.heading-center > span, .heading.title-center > span{
 width: 100%;
 max-width: 100%;
}
.heading-center{
 text-align: left!important;
}
.text-center{
 text-align: left!important;
}

.product-title{
 width: 100%;
}

.table-striped>tbody,
.table-striped td,
.table-striped>tbody>tr:nth-of-type(odd){
 background-color: rgba(0,0,0,0.30);
}
.table-striped tr{
 background-color: rgba(0,0,0,0.70);
}

.pagination li a{
 background-color: rgba(0,0,0,0.00);
}

.panel-default>.panel-heading,
.panel{
 background-color: rgba(0,0,0,0.70);
}

table.calender_column td{
 text-align: left;
}

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

}


@media (min-width: 992px) {
.col-md-3 {
 width: 235px;
 }
}


/*スマホだけ表示のメニュー*/
.sp-only-menu{
 display: grid;
 gap: 5px;
 grid-template-columns: repeat(4,1fr);
}


/*///////////////////////////////////////////////////
メルマガ
///////////////////////////////////////////////////*/
.mailBox{
 display: block;
 width: 100%;
}
.mailBox img{
 margin: 10px auto;
 /*width: 150px;*/
 width: 100%;
}
.mailTxt{
 display: block;
 width: 90%;
 text-align: left;
 margin: 0 auto;
}


/*///////////////////////////////////////////////////
キャストプロフィールページ
///////////////////////////////////////////////////*/
.cast_content_wrap{
 display: grid;
 grid-template-columns: repeat(2,1fr);
 gap: 10px;
}
.pro-size{
 display: block;
 font-size: 15px;
}

/*上書き*/
.product .product-title h3, .product .product-title h3 a{
 font-size: 25px;
}

@media screen and (max-width: 768px){
.cast_content_wrap{
  display: block;
  padding: 20px;
}
}



/*///////////////////////////////////////////////////
ヘッダーロゴ/フッターロゴ
///////////////////////////////////////////////////*/
.container02{
 display: flex;
 width: 1290px;
 max-width: 100%;
 justify-content: space-between;
 height: 90px;
 align-items: center;
}

.logo_size{
 width: auto;
 height: 45px!important;
}

#mainMenu > ul > li > a{
 height: auto!important;
 line-height: 20px!important;
}
#mainMenu > ul{
 height: auto!important;
}

nav .main-menu li.mega-menu-item .dropdown-menu{
 width: 1100px!important;
 margin:0 auto!important;
}

.cn_flag{
  display: flex;
  gap: 5px;
  list-style: none;
  padding-left: 0;
 }
 .cn_flag img{
  width: 40px;
  height: auto!important;
 }

@media screen and (max-width: 768px){
  .container02{
   flex-wrap: wrap;
   height: auto;
   }

   #logo{
   width: 230px;
   max-width: 100%;
   }

   #logo img{
   padding: 3px;
   }

   .nav-main-menu-responsive{
   /*height: auto!important;*/
   }

   .cn_flag{
    margin-bottom: 0;
   }

   .cn_flag img{
    width: 50px;
    height: auto!important;
   }

   .logo_size{
    width: auto;
    height: 50px!important;
   }

   #sp_blog_none{
   display: none;
   }
}


/*///////////////////////////////////////////////////
スティッキーヘッダー
///////////////////////////////////////////////////*/
#hamburger{
  display: none;
 }

.st_flex{
 display: flex;
 align-items: center;
}

@media screen and (max-width: 768px){
  .st_flex{
    display: block;
   }

#header_sticky {
  width: 100%;
  transition: top 0.3s; /* スクロールに合わせてスムーズに動くように */
  background-color: rgba(0,0,0,0.6);
}
.sticky-active {
  position: fixed;
  top: 0;
  left: 0;  /* 左側に固定 */
  right: 0; /* 右側に固定 */
  z-index: 9999;
}


.nav-main-menu-responsive{
 height: auto;
 line-height: auto;
}

#hamburger{
 display: block;
 position: absolute;
 right: 20px;
 top: 0px;
}

.lines-button{
 padding: 0;
}

}


/*///////////////////////////////////////////////////
スティッキーヘッダー
///////////////////////////////////////////////////*/
/*流れるテキスト*/
.marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  background: rgba(0,0,0,0.6);
}

.marquee span {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 13s linear infinite;
  color: yellow!important;
  font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
  font-size: 1.2em;
}

@keyframes marquee {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
