@charset "utf-8";

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}*{-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;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:400}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}a{color:var(--black);margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none}p{max-height:999999px}ins{background-color:#ff9;color:var(--black);text-decoration:none}mark{background-color:#ff9;color:var(--black);font-style:italic;font-weight:700}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 #ccc;margin:1em 0;padding:0}img{vertical-align:bottom}input,select{vertical-align:middle}

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

 common (共通スタイル)

****************************************/
html, body {
  overflow-x: hidden;
}
body {
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    animation: fadeIn 2s ease 0s 1 normal;
	color: var(--black);
	background: url(../images/bg_repeat.jpg) repeat;
	background-size: 400px;
	font-size: 14px;
	font-weight: 500;
	font-family: Garamond , "Times New Roman", "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-family: "Zen Old Mincho", 'Noto Sans JP', "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;
	letter-spacing: 0.1em;
    text-indent: 0.1em;
}
@media screen and (min-width: 769px) {
	body{
		background-size: 500px;
	}
}
@keyframes fadeIn {
    0% { opacity: 0}
    100% { opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% { opacity: 0}
    100% { opacity: 1}
}

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

.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.inner1200{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.inner800{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.sub_page .inner,
.sub_page .inner800 {
    padding: 60px 20px;
}

/*imgタグに下記クラスを付けることで、はみ出し防止！！！*/
.inner_img{
	max-width: 100%;
}
a, a:hover{
	color: var(--black);
}
main{
	margin: 0 auto;
	max-width: 1920px;
	width: 100%;
}
main.sub_page{
	margin: 60px auto 0;
}
img{
	max-width: 100%;
  	height: auto;
}
/*h1{
	font-size: 11px;
}
h2 {
	margin-bottom: 10px;
}
h3{
	text-align: left;
	font-weight: 700;
	font-size: 16px;
	background: #fff;
	padding-left: 10px;
	border-left: 4px solid #999;
	margin-bottom: 10px;
}*/

/*リンクページのフリースペースと、新着情報の画像伸びないための*/
#contents_link .template_box img,
#section_topics dd img,
#contents_topics img,
footer aside img,
.free_link_box img{
	width: auto;
	max-width: 100%!important;
	height: auto!important;
}

/*スクロールバー*/
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background-color: #fff;
}
::-webkit-scrollbar-thumb {
  background-color: #e3a6b4;
  border-radius: 100px;
}

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

/* 配色 共通 */
:root {
	--black: #3d292e;
	--gray: #d4d4d4;
	--pink_deep: #c2566f;
	--pink: #fb7713;
	--pink_light: #ffefe9;
	--gradation_pink: linear-gradient(90deg, var(--pink) 0%, #ffa968 50%, var(--pink) 100%);
	--filter_pink: brightness(0) saturate(100%) invert(72%) sepia(3%) saturate(3540%) hue-rotate(299deg) brightness(90%) contrast(87%);
	--filter_pink_light: brightness(0) saturate(100%) invert(96%) sepia(5%) saturate(852%) hue-rotate(297deg) brightness(100%) contrast(103%);
	--filter_black: brightness(0) saturate(100%) invert(14%) sepia(7%) saturate(2126%) hue-rotate(295deg) brightness(100%) contrast(90%);
	--filter_white: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7492%) hue-rotate(182deg) brightness(102%) contrast(91%);
}

/*文字色*/
.atten_01, .atten_01 a{color: #5189b6;}
.atten_02, .atten_02 a{color: #b65151;}

/*マージン*/
.mt_0 { margin-top: 0px !important; }
.mt_5 { margin-top: 5px !important; }
.mt_10 { margin-top: 10px !important; }
.mt_20 { margin-top: 20px !important; }
.mt_30 { margin-top: 30px !important; }
.mt_40 { margin-top: 40px !important; }

.mb_0 { margin-bottom: 0px !important; }
.mb_5 { margin-bottom: 5px !important; }
.mb_10 { margin-bottom: 10px !important; }
.mb_20 { margin-bottom: 20px !important; }
.mb_30 { margin-bottom: 30px !important; }
.mb_40 { margin-bottom: 40px !important; }
.mb_60 { margin-bottom: 60px !important; }

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

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

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

/*table設定*/
/*テーブル01デザイン*/
.table_01 {
	width: 100%;
	border-spacing: 0;
	text-align: left;
	border: 1px solid var(--pink_light);
}
.table_01 tr {
    display: block;
}
.table_01 th, .table_01 td {
	padding: 10px 20px;
	vertical-align: middle;
	display: flex;
    flex-direction: column;
    align-items: stretch;
}
.table_01 th {
	width: 100%;
	background: var(--pink_light);
	border-bottom: 1px solid #fff;
	vertical-align: middle;
	justify-content: center;
    text-align: center;
}
.table_01 tr:last-child th,
.table_01 tr:last-child td{
	border-bottom: 0;
}
.table_01 td {
	background: #fff;
	border-bottom: 1px solid var(--pink_light);
}
@media screen and (min-width: 767px) {
	.table_01 tr {
        display: flex;
    }
	.table_01 th{
		width: 40%;
	}
	.table_01 td {
        width: 60%;
    }
}

/*テーブル（枠なし）*/
.table_02 {
	width: 100%;
	border-spacing: 0;
	text-align: left;
}
.table_02 tr{
	border-bottom: 1px solid #eee;
}
.table_02 th, .table_02 td {
	text-align: center;
	width: 50%;
    padding: 10px;
    vertical-align: middle;
}

/*table_form*/
::placeholder {
    color: var(--gray);
}
.table_form{
	width: 100%;
}
.table_form tr:first-child{
	padding: 0 20px 20px;
}
.table_form tr{
	border-bottom: 0.5px solid var(--gray);
	padding: 14px 20px 20px;
    display: block;
}
.table_form th,
.table_form td{
	width: 100%;
	display: block;
	text-align: left;
}
.confirm .table_form td{
	padding: 8px 10px 5px;
    min-height: 40px;
    width: 100%;
	background: var(--pink_light);
}
.confirm .table_form tr.form_wide td{
	max-width: 190px;
}
.table_form th{
	width: 100%;
	font-size: 16px;
	margin-bottom: 4px;
	color: var(--pink);
}
.table_form .form_wide td input {
    max-width: 190px;
}
form select{
	width: 100%;
    max-width: 300px;
}
@media screen and (min-width: 767px) {
	.table_form th,
	.table_form td{
		vertical-align: top;
	}
}

/*求人ページ&料金の応募ボタン各種共通*/
#contents_recruit .btn_line,
#contents_recruit .btn_tel,
#contents_recruit .btn_mail,
#contents_recruit .btn_form,
#contents_system .btn_line,
#contents_system .btn_tel{
 	background-color: #fff;
	width: 100%;
	display: inline-block;
	padding: 12px;
	line-height: 20px;
	transition: 0.4s;
	border-radius: 6px;
}
#contents_recruit .btn_tel,
#contents_recruit .btn_line,
#contents_system .btn_tel{
  	margin-bottom: 10px;
}
/*btn_mail*/
#contents_recruit .btn_mail{
    color: #9c75bd;
    text-align: center;
    border: 1px solid #9c75bd;
}
#contents_recruit .btn_mail:hover{
    color: #fff;
    background-color: #bbabc7;
    border: 1px solid #bbabc7;
}
/*btn_tel*/
#contents_recruit .btn_tel,
#contents_system .btn_tel{
    color: #6b7cd1;
    text-align: center;
    border: 1px solid #6b7cd1;
}
#contents_recruit .btn_tel:hover,
#contents_system .btn_tel:hover{
    color: #fff;
    background-color: #96a1d5;
    border: 1px solid #96a1d5;
}
/*btn_line*/
#contents_recruit .btn_line,
#contents_system .btn_line{
    color: #75bdb4;
    text-align: center; 
    border: 1px solid #75bdb4;
}
#contents_recruit .btn_line:hover,
#contents_system .btn_line:hover{
    color: #fff;
    background-color: #8fc7c2;
    border: 1px solid #8fc7c2;
}

/*必須アイコン*/
span.icon_required{
	display: inline-block;
    background: var(--pink_deep);
    padding: 2px 6px 1px;
    border-radius: 4px;
    font-size: 0.7rem;
    line-height: 18px;
    color: #fff;
}
@media screen and (min-width: 520px){
	span.icon_required {
	    font-size: 0.8rem;
	}
}
/*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;
	font-size: 16px;
}
/*フォームのスタイルを設定*/
form input[type="radio"],
form input[type="checkbox"] {
    margin: 1px 4px 4px;
    accent-color: #e3a6b4;
}
#contents_enquete form select,
#contents_reserve form select {
    max-width: 180px;
}
form input[type="text"],
form input[type="email"],
form textarea,
form select {
	border: 1px solid var(--gray);
	background: #fff;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 5px 10px;
	height: 40px;
	width: 100%;
	border-radius: 6px;
}
form td.radio_wide{
	display: flex;
    flex-wrap: wrap;
    place-content: flex-start;
}
form td.radio_wide label{
	width: 100%;
}
form textarea{
	width: 100%;
	height: 200px;
	resize: vertical;
}
form textarea, form select, input[type="button"]{
	font-family: Garamond , "Times New Roman", "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
input[type="submit"],
input[type="reset"],
input[type="button"].back_btn {
    -webkit-appearance: none;
}
/*フォームデザイン調整*/
#contents_reserve form select#reserve_hour,
#contents_reserve form select#reserve_min{
	margin: 8px 0 0;
}
input[type="submit"],
input[type="reset"],
input[type="button"].back_btn {
    display: block;
    margin: 0 auto;
    font-size: 14px;
    cursor: pointer;
    transition: ease-out 0.4s;
    border: 0;
    font-family: Garamond , "Times New Roman", "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

/******************************
ボックス
******************************/
.text_box_p,/*ピンク背景&ピンク線*/
.text_box_p_02,/*白背景&ピンク線*/
.text_box_p_03,/*ピンク背景*/
.text_box/*白背景$黒線*/{
	background: var(--pink_light);
	border: 1px solid var(--pink);
	padding: 30px 20px;
}
.text_box_p_02{
	background: #fff;
}
.text_box_p_03{
	border: 0;
}
.text_box{
	background: #fff;
	border: 0.5px solid var(--black);
}
@media screen and (min-width: 768px) {
	.text_box_p,
	.text_box_p_02,
	.text_box_p_03,
	.text_box{
		padding: 40px;
	}
}

/******************************
ボタン設定
******************************/
/*もっと見るボタン*/
.btn_positive{
	display: block;
    width: 100%;
    max-width: 240px;
    height: 40px;
    line-height: 40px;
    background: var(--gradation_pink);
    border-radius: 6px;
    margin: 20px auto 0;
    color: var(--pink_light);
	-webkit-transition: 0.4s ease;
	-moz-transition: 0.4s ease;
	transition: 0.4s ease;
	background-size: 200% 100%;
}
.btn_positive:hover{
	color: var(--pink_light);
	background-position: 100% 0;
}
/*グレーボタン*/
.btn_negative{
	width: 120px;
    padding: 6px 16px;
    background: #ccc;
    color: #fff;
    border-radius: 6px;
    border: 0;
    display: block;
    margin: 10px auto 0;
    cursor: pointer;
    transition:all 0.4s;
}
.btn_negative:hover{
	opacity: .5;
}

/******************************
セラピスト共通設定
******************************/
section:not(#section_schedule_today,#section_newface) .cast_box {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px min(2%, 30px);
}
section:not(#section_schedule_today,#section_newface) .cast_box li {
	border: 1px solid var(--pink_light);
}

.cast_box li{
	position: relative;
	padding: 8px;
	background: #fff;
}
.cast_box li .img_box {
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	position: relative;
	overflow: hidden;
}
.cast_box li .img_box .img_cast{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 6px;
}
.cast_box li .img_box > img.img_cast {
	transition: 0.3s all;
}
.cast_box li a:hover .img_box > img.img_cast {
    transform: scale(1.1, 1.1);
    opacity: 0.7;
}
.icon_new{
	width: 53px;
	position: absolute;
    top: 5px;
    left: 10px;
    z-index: 1;
}
#contents_profile .icon_new{
	width: 50px;
}
@media screen and (min-width: 768px){
	.cast_box li{
		padding: 10px;
	}
}

/* アイコン */
.cast_box li .icon_box,
.profile_box_left .icon_box {
	position: absolute;
	bottom: 10px;
	right: 6px;
	display: flex;
    justify-content: center;
}
.cast_box li .icon_box img,
.profile_box_left .icon_box img{
    width: 30px;
    margin: 0 4px;
}
.profile_box_left .icon_box img{
	width: 40px;
}
/* アイコン下 */
.cast_box li .icon_box.off {
	position: static;
	display: flex;
    justify-content: center;
	margin: 10px 0;
}
.cast_box li .icon_box.off img{
    width: 30px;
    margin: 0 4px;
}
.cast_box li .txt_box{
	margin-top: 10px;
}
.cast_box li .txt_box .name{
	font-size: 16px;
	line-height: normal;
}
.cast_box li .txt_box .size{
	font-size: 12px;
	letter-spacing: 0.05em;
}
.cast_box li .txt_box .size span{
	color: var(--pink);
	line-height: normal;
}
.cast_box li .txt_box .time{
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--gray);
	display: flex;
	align-items: center;
	justify-content: center;
}
.cast_box li .txt_box .time img{
	filter: var(--filter_black);
    width: auto;
    height: 16px;
    margin-right: 2px;
}
.cast_box li .txt_box .icon_shop{
    background: #6c96a5;
    color: #fff;
    margin-top: 2px;
    height: 24px;
    line-height: 25px;
}
.cast_box li .txt_box .sch_info{
    background: #000;
    color: #fff;
    padding: 4px;
}
@media screen and (min-width: 768px){
	.cast_box li .txt_box .size{
		font-size: 12px;
	}
	section:not(#section_schedule_today,#section_newface) .cast_box {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.cast_box li .icon_new{
		width: 64px;
		left: 13px;
	}
}

/* 一言コメント */
.short_comment {
    overflow: hidden;
    color: var(--pink);
}
.short_comment p {
	display: inline-block;
    white-space: nowrap;
    padding-left: 100%;
    animation: scrollComment 15s linear infinite;
}
#contents_profile .short_comment {
	background: #fff;
}
@keyframes scrollComment{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-100%); }
}

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

headerヘッダー設定

****************************************/
header {
	width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    transition: 0.3s ease-out;
    justify-content: space-between;
    align-items: center;
    background: var(--pink_light);
    padding: 0 4px;
}
header .header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    margin: 0 auto;
}
header h1.logo img{
	max-width: 180px;
}

/*グローバルナビ*/
header nav ul{
	display: flex;
    justify-content: flex-end;
    gap: 16px;
}
header nav ul li{
	display: block;
    width: 100%;
}
header nav ul li a{
	display: block;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.05em;
    color: var(--pink);
    position: relative;
    line-height: 1;
}
header nav ul li a:hover{
	color: var(--pink);
}
header nav ul li a::before {
  background: var(--pink);
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -6px;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
header nav ul li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* ↓↓↓↓↓↓↓↓ SP用メニュー設定 ↓↓↓↓↓↓↓↓ */
/*ハンバーガーメニューを作る*/
.btn_toggle {
	background: transparent;
	border: none;
	padding: 0;
	position: fixed;
	top: 20px;
	right: 20px;
	display: block;
	z-index: 999;
}
.btn_toggle:hover{
	cursor: pointer;
}
.btn_toggle span{
	display: inline-block;
	background: var(--pink);
	height: 1px;
	width: 30px;
	position: relative;
}
.btn_toggle span:before{
	content: "";
	display: inline-block;
	background: var(--pink);
	height: 1px;
	width: 30px;
	position: absolute;
	top: 8px;
	left: 0;
}
.btn_toggle span:after{
	content: "";
	display: inline-block;
	background: var(--pink);
	height: 1px;
	width: 30px;
	position: absolute;
	top: -8px;
	left: 0;
}
#btn_open.active span{
	background: transparent;
}
#btn_open.active span:before{
	transform: rotate(45deg);
	top: 0;
}
#btn_open.active span:after{
	transform: rotate(-45deg);
	top: 0;
}

/*メニュー内設定*/
.nav_menu{
	height: 100vh;
	background: #fff;
	margin: 0;
	padding: 50px 20px;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	display: none;
	text-align: left;
}
.nav_menu li{
	position: relative;
}
.nav_menu li:after{
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: var(--pink) 1px solid;
    border-right: var(--pink) 1px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: 4px;
    bottom: 15%;
    margin: auto;
}
.nav_menu a{
	display: block;
	padding: 10px;
	text-decoration: none;
	text-transform: uppercase;
	border-bottom: 1px solid var(--pink);
	color: var(--pink);
}
#sp_nav.open{
	display: block;
}
.nav_menu a.btn_nav_tel{
	width: 49%;
	display: inline-block;
	padding: 10px;
	border-bottom: none;
	text-align: center;
	background: #000;
	border: 1px solid #000;
	color: #fff;
}
.nav_menu .btn_nav_open{
	width: 49%;
	display: inline-block;
	padding: 10px;
	border-bottom: none;
	text-align: center;
	border: 1px solid #000;
}

/* アイコン */
.nav_menu .icon_box{
    display: flex;
    justify-content: center;
	margin: 20px auto 20px;
}
.nav_menu .icon_box a{
	padding: 0;
	border-bottom: 0px solid #eee;
}
.nav_menu .icon_box img {
    width: 30px;
	margin: 0 4px;
}

/*追尾ボタン*/
#bottom_nav{
    position: fixed;
    right: 0;
    left: 0;
    bottom: 10px;
    width: 90%;
    margin: 0 auto;
    display: block;
    z-index: 90;
}
#bottom_nav div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
#bottom_nav a {
    display: block;
    color: var(--pink);
    border-radius: 6px;
    padding: 0 4px 1px;
    text-transform: uppercase;
    background: var(--pink_light);
    box-shadow: 0px 0px 4px 2px rgba(195, 128, 143, 0.1);
}
#bottom_nav a img{
	width: auto;
    height: 26px;
}

/* ヘッドライン */
section#headline{
	margin: 40px 20px 0;
}
.headline {
	background: #fff;
	border: 1px solid var(--pink);
	padding: 8px 8px 8px 0;
    overflow: hidden;
    display: flex;
}
.headline .news_title{
	width: 20%;
	max-width: 200px;
	background: #fff;
	color: var(--pink);
	padding: 0 10px 0 10px;
	margin-right: 10px;
	border-right: 1px solid var(--pink);
	position: absolute;
	z-index: 1;
}
.headline .txt_area{
	width: 80%;
	margin: 0 10px;
}
.headline ul{
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	animation: scrollHeadline 30s linear infinite;
}
.headline ul li {
    display: inline-block;
	margin-right: 200px;
}
@keyframes scrollHeadline{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-100%); }
}

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

footerフッター設定

****************************************/
footer {
	color: var(--pink_light);
	background: var(--pink);
	padding: 30px 20px 80px;
}
footer a{
	color: var(--pink_light);
}
footer .logo img{
	max-width: 160px;
	filter: var(--filter_white);
}
footer aside{
	margin-bottom: 30px;
}

/* テキストメニュー */
footer .nav{
	margin: 0 auto 40px;
	text-align: left;
	text-transform: uppercase;
}
footer .nav li {
	padding: 0 10px;
	width: 100%;
	display: inline-block;
	line-height: 40px;
	border-bottom: 0.5px solid var(--pink_light);
	position: relative;
}
footer .nav li:after{
	content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: #f2cfd7 1px solid;
    border-right: #f2cfd7 1px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: 4px;
    bottom: 15%;
    margin: auto;
}
footer .nav li a{
	display: block;
	width: 100%;
}
footer .nav li a span{
	font-size: .6em;
	color: #f2cfd7;
}
footer .nav li a:hover{
	opacity: 0.5;
	color: var(--pink_light);
}
@media screen and (min-width: 768px){
	footer {
		padding: 60px 0;
	}
	footer .nav{
		display: grid;
	    grid-template-columns: repeat(3, minmax(0, 1fr));
	    gap: 15px min(2%, 30px);
	}
	footer .nav li{
		display: inline-block;
    	vertical-align: top;
	}
}

/* アイコン */
footer .icon_box{
    display: flex;
    justify-content: center;
	margin: 30px auto 40px;
}
footer .icon_box img {
    width: 30px;
	margin: 0 4px;
}
.footer_copy{
	font-size: 10px;
	color: #fff;
}
.footer_link {
	text-align: center;
	font-size: 10px;
	color: #fff;
}
.footer_link a {
	text-decoration: underline;
	text-decoration-color: #fff;
}
.footer_link a:hover{
	color: var(--pink_light);
}

/* フリースペース */
.free_link_box{
	margin-top: 40px;
	text-align: left;
}
footer　.free_link_box{
	color: #fff;
}

/* リンクバナー */
.list_link_box {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 10px;
    align-items: flex-start;
}
.list_link_box li a{
	font-size: 10px;
}
.list_link_box li a:hover{
	color: var(--pink_light);
}
.list_link_box img {
    width: 100%;
	height: auto;
}


/****************************************
mainvisualメインビジュアル
****************************************/
#mainvisual{
	width: 100%;
	position: relative;
	padding: 60px 20px 0;
    background: var(--pink_light);
}
#mainvisual ul{
	width: 100%;
	height: 80vh;
}
#mainvisual ul li{
	width: 100%;
	height: 100%;
}
#mainvisual .swiper img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
	object-position: top center;
}
#mainvisual .logo {
	position: absolute;
    margin: 0 auto;
    top: calc(50% + 60px);
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    z-index: 10;
    filter: drop-shadow(0px 10px 10px rgba(255, 255, 255, 1));
}
#mainvisual .logo img:first-of-type{
    width: 100%;
    max-width: 288px;
    margin: 0 auto 0px;
    display: block;
}
#mainvisual .logo img:last-of-type{
	max-width: 240px;
	margin-bottom: 16px;
}
#mainvisual .logo p{
	font-size: 16px;
	font-weight: bold;
	line-height: normal;
	color: var(--pink);
}
#mainvisual .mv_inner {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
#mainvisual .mv_inner img{
	width: 100%;
	max-width: 220px;
}
#mainvisual .mv_inner p{
	font-size: 2.4rem;
	line-height: 1.4em;
	font-weight: bold;
	margin: 0 20px;
}
#mainvisual .mv_inner p span{
	font-weight: normal;
}
@media screen and (max-width: 768px){
	#mainvisual .mv_inner p{
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 520px){
	#mainvisual .mv_inner p{
		font-size: 1.2rem;
	}
}
/* ↓flexslider.cssを上書き */
#mainvisual .flex-control-nav {
	bottom: 0;
}
.flexslider{
	margin-bottom: 0;
	background: unset;
	border: none;
}
#mainvisual .flex-control-paging li a.flex-active  {
	background-color: #fff000;
}

/*店舗情報 ヘッダー&フッター*/
#info_box{
	background: var(--pink_light);
	padding: 24px 0 16px;
	font-size: 16px;
	letter-spacing: initial;
}
footer #info_box,
#sp_nav #info_box{
	background: none;
	padding: 40px 0 0;
}
#info_box .info_tel{
	margin-bottom: 4px;
}
#info_box .info_tel a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
    max-width: 240px;
    height: 45px;
    background: var(--gradation_pink);
    border-radius: 6px;
    font-size: 16px;
    margin: 0 auto;
    color: var(--pink_light);
    border-bottom: 0;
        -webkit-transition: 0.4s ease;
    -moz-transition: 0.4s ease;
    transition: 0.4s ease;
    background-size: 200% 100%;
}
#info_box .info_tel a:hover{
	color: var(--pink_light);
	background-position: 100% 0;
}
footer #info_box .info_tel a{
	background: var(--pink_light);
	color: var(--pink);
}
#info_box .info_tel a img{
	width: auto;
	height: 20px;
	filter: var(--filter_pink_light);
}
footer #info_box .info_tel a img{
	filter: none;
}
footer #info_box .info_tel a:hover{
	color: var(--pink);
}
#info_box .info_open{
	color: var(--pink);
	font-size: 14px;
	text-align: center;
}
footer #info_box .info_open{
	color: var(--pink_light);
}

/* パンくずリスト */
.breadcrumbs {
	text-transform: uppercase;
	background: #fff;
	border-top: 1px solid var(--pink);
	color: var(--pink);
	padding: 4px 0;
	font-size: 11px;
}
.breadcrumbs ol li {
    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(--pink);
}
.breadcrumbs ol li a:hover {
	opacity: .6;
}

/* swiper ページネーション上書き */
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 0px;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 9px;
	height: 9px;
	margin: 0 8px;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	background: var(--pink);
	opacity: .6;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
	background: var(--pink);
	opacity: 1;
}
/*swiper その他上書き*/
.profile_box_schedule .swiper-wrapper{
	margin-bottom: 0;
}
@media screen and (min-width: 767px) {
	#section_top_ranking_01 .swiper-wrapper{
		margin-bottom: 0;
	}
	.breadcrumbs {
		font-size: 12px;
	}
}


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

トップページ

******************************/
/*トップページ共通*/
section .title {
	margin: 0 auto 10px;
}
section .title span{
	color: var(--pink);
	letter-spacing: .5em;
	margin-left: 8px;
}
.title{
	margin: 0 auto 10px;
}
.title img{
	width: auto;
    max-height: 50px;
    margin-bottom: 6px;
}
@media screen and (min-width: 767px) {
	section .title {
		margin: 0 auto 20px;
	}
	.title{
		margin: 0 auto;
		text-align: center;
	}
	.title img{
    max-height: 60px;
	}
}

/*h3のタイトル*/
.sub_title{
	font-size: 20px;
	line-height: 1.2;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.sub_title img{
	margin: 0 auto 5px;
    background-size: 100% auto;
    width: 10%;
    /*height: 16px;*/
}

/*セクションのパディング設定*/
#section_event{
	padding: 40px 20px 60px;
}
#section_schedule_today,
#section_topics,
#section_newface{
	padding: 60px 20px;
}


/* 新人情報 */
#section_newface{
	position: relative;
}
#section_newface::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    background-image: url(../images/bg_02.jpg);
    background-position: bottom left;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: var(--pink_light);
}
#section_newface .swiper{
	margin: 0 auto;
}
#section_newface ul{
	margin-bottom: 40px;
}


/* 新着情報 */
.accordion{
	margin-bottom: 20px;
}
.toggle_contents {
	border-bottom: 1px solid var(--gray);
}
.toggle_contents dd{
	text-align: initial;
	padding: 20px;
}
.toggle_title {
    position: relative;
    padding: 20px 10px 16px;
	cursor: pointer;
	text-align: left;
	line-height: 1.4;
}
.toggle_contents:first-of-type .toggle_title {
    padding: 0 10px 16px;
}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 10px;
	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:6px;
	height:6px;
	border-top: var(--pink) 1px solid;
	border-right: var(--pink) 1px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position:absolute;
    right: 8px;
    top: 4px;
	bottom: 0;
	margin: auto;
}
.toggle_contents .toggle_btn:after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	border-top: var(--pink) 1px solid;
	border-right: var(--pink) 1px solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	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{
    background: var(--pink_light);
    color: var(--pink);
    margin-bottom: 6px;
    display: inline-block;
    padding: 1px 10px;
}
.toggle_title h3 {
    font-size: 16px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 1;
    margin-right: 20px;
}
.toggle_contents dd {
	display: none;
}
.toggle_contents:first-of-type dd {
	display: block;
}

/* 矢印 */
.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_event{
	position: relative;
}
#section_event:after {
	position: absolute;
    bottom: -60px;
    left: -25px;
    content: "";
    background: url(../images/img_deco_flower.png) left top no-repeat;
    background-size: 100% auto;
    width: 352px;
    height: 210px;
    z-index: 2;
    transform: rotateY(180deg);
    pointer-events: none;
}
#section_event .swiper img{
	width: 100%;
	max-width: 800px;
	display: block;
}
#section_event .swiper ul{
	margin-bottom: 40px;
}
@media screen and (min-width: 768px){
	#section_event:after {
		bottom: -80px;
        left: 0;
        width: 500px;
        height: 300px;
	}
}


/* 本日の出勤情報　*/
#section_schedule_today{
	position: relative;
}
#section_schedule_today::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    background-image: url(../images/bg_01.jpg);
    background-position: bottom center;
    background-size: 1081px;
    background-repeat: no-repeat;
    background-color: var(--pink_light);
}
#section_schedule_today ul{
	margin-bottom: 40px;
}
@media screen and (min-width: 768px){
	#section_schedule_today::before{
		background-size: cover;
	}
}


/*新着情報*/
#section_topics{
	position: relative;
}
#section_topics:after {
	position: absolute;
    bottom: -67px;
    right: -30px;
    content: "";
    background: url(../images/img_deco_flower.png) left top no-repeat;
    background-size: 100% auto;
    width: 340px;
    height: 210px;
    z-index: 2;
    pointer-events: none;
}
@media screen and (min-width: 768px){
	#section_topics:after {
		bottom: -80px;
        right: 0;
        width: 500px;
        height: 300px;
	}
}
/*店舗エックスバナー*/
.bnr_x_shop{
	width: 100%;
	height: auto;
	max-width: 400px;
	margin: 0 auto 60px;
}


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

英語ページ(en.html)

****************************************/
/*共通部分*/
/*#contents_multiLanguage #section_concept,
#contents_multiLanguage #section_schedule_today,
#contents_multiLanguage #contents_system,
#contents_multiLanguage #contents_access,
#contents_multiLanguage #contents_attention{
	padding: 50px 10px;
}
#contents_multiLanguage #section_schedule_today,
#contents_multiLanguage #contents_access{
	background: #fff;
}
.wrap_box {
	max-width: min(100%, 800px);
  	margin: 0 auto 40px;
  	padding: 40px 40px;
	background: #eee;
}
.wrap_box:last-child {
  	margin: 0 auto;
}*/
/* コンセプト */
/*#contents_multiLanguage #section_concept {
	text-align: left;
}
#contents_multiLanguage #section_concept h2 {
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#contents_multiLanguage #section_concept p {
	margin-bottom: 1rem;
}*/
/*本日の出勤情報 タブ*/
/*#contents_multiLanguage #section_schedule_today{
	min-height: 500px;
}
#contents_multiLanguage .schedule_select .schedule_tab_list li {
	cursor: pointer;
	padding: 10px;
	display: block;
	font-size: 12px;
	background: #999;
	-webkit-transition: 0.4s ease;
	-moz-transition: 0.4s ease;
	transition: 0.4s ease;
}
#contents_multiLanguage .schedule_select .schedule_tab_list li:hover {
	opacity: 0.6;
}
#contents_multiLanguage .schedule_day_wrap .schedule_day_box {
	display: none;
}
#contents_multiLanguage .schedule_day_wrap .schedule_day_box.active {
	display: block;
	animation: fadeIn 1s ease-out forwards;
}
#contents_multiLanguage .schedule_nav li.active {
	background: #000;
	color: #fff;
}
#contents_multiLanguage .schedule_nav li.active:hover{
	opacity: 1;
}*/
/*本日の出勤情報 セラピ*/
/*#contents_multiLanguage .cast_box {
  grid-template-columns: repeat(3, minmax(0, 1fr))!important;
}
#contents_multiLanguage .cast_box li .img_box {
  aspect-ratio: 1 / 1;
}
#contents_multiLanguage .cast_box li .img_box:before { 
  display: none;
}
#contents_multiLanguage .img_box .img_cast{
	aspect-ratio: 2 / 3;
	position: absolute;
}
#contents_multiLanguage .img_box .img_cast:nth-child(1){
	width: 66.6%;
	height: auto;
	top: 0;
	left: 0;
	bottom: auto;
	right: auto;
}
#contents_multiLanguage .img_box .img_cast:nth-child(2){
	width: 33.3%;
	height: auto;
	top: 0;
	left: auto;
	bottom: auto;
	right: 0;
	padding: 0 0 2.5px 5px;
}
#contents_multiLanguage .img_box .img_cast:nth-child(3){
	width: 33.3%;
	height: auto;
	top: auto;
	left: auto;
	bottom: 0;
	right: 0;
	padding: 2.5px 0 0 5px;
}
#contents_multiLanguage .img_box .img_box_frame{
	width: 66.6%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: auto;
	right: auto;
}
#contents_multiLanguage .img_box .icon_new{
	position: absolute;		
	right: 36%;
	bottom: 5px;
}*/
/*料金*/
/*#contents_multiLanguage #contents_system .system_text_caution li {
    padding-left: 1em;
    text-indent: -1em;
    text-align: left;
}
#contents_multiLanguage #contents_access .access_ol {
    display: flex;
    flex-wrap: wrap;
}*/
/*海外のお客様向け注意文*/
/*#contents_multiLanguage #contents_attention {
	position: relative;
	padding: 60px 20px;
}
#contents_multiLanguage #contents_attention .wrap_box div {
	text-align: justify;
}
#contents_multiLanguage #contents_attention .wrap_box ul li {
	padding-left: 0.5em;
  text-indent: -0.5em;
}
@media screen and (max-width: 768px){
	#contents_multiLanguage #section_concept {
		font-size: 12px;
	}
	#contents_multiLanguage .cast_box {
	    grid-template-columns: repeat(2, minmax(0, 1fr))!important;
	}
}
@media screen and (max-width: 520px){
	.wrap_box {
	    margin-bottom: 20px;
	    padding: 20px 20px;
	}
	#contents_multiLanguage .cast_box {
	    grid-template-columns: repeat(1, minmax(0, 1fr))!important;
	}
}*/


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

下層ページ

****************************************/
.subvisual_outer{
	padding: 20px 20px 0;
}
.subvisual div{
	filter: drop-shadow(0px 4px 5px rgba(196,92,14,0.5));
}
.subvisual img{
	max-height: 88px;
	margin-bottom: 1px;
}
.subvisual span{
	color: #fff;
	letter-spacing: .2em;
	margin-left: 8px;
	font-size: 18px;
}
.subvisual {
	display: inline-block;
    place-content: center;
    width: 100%;
    height: 180px;
    border-radius: 20px;
}
#contents_contact .subvisual{
	background: url(../images/bg_subvisual05.jpg) center / cover no-repeat;
}
#contents_reserve .subvisual{
	background: url(../images/bg_subvisual06.jpg) center / cover no-repeat;
}
#contents_recruit .subvisual,
#contents_entry .subvisual{
	background: url(../images/bg_subvisual04.jpg) center / cover no-repeat;
}
#contents_access .subvisual{
	background: url(../images/bg_subvisual03.jpg) center / cover no-repeat;
}
#contents_err .subvisual{
	background: url(../images/bg_subvisual10.jpg) center / cover no-repeat;
}
#contents_link .subvisual{
	background: url(../images/bg_subvisual11.jpg) center / cover no-repeat;
}
#contents_profile .subvisual{
	background: url(../images/bg_subvisual08.jpg) center / cover no-repeat;
}
#contents_schedule .subvisual{
	background: url(../images/bg_subvisual01.jpg) center 80% / cover no-repeat;
}
#contents_cast .subvisual{
	background: url(../images/bg_subvisual06.jpg) center 15% / cover no-repeat;
}
#contents_system .subvisual{
	background: url(../images/bg_subvisual02.jpg) center / cover no-repeat;
	
}
#contents_room .subvisual{
	background: url(../images/bg_subvisual05.jpg) center / cover no-repeat;
	
}

#contents_topics .subvisual{
	background: url(../images/bg_subvisual09.jpg) center / cover no-repeat;
}
@media screen and (min-width: 767px) {
	.subvisual {
    	height: 300px;
	}
	.subvisual img{
		max-height: 50%;
	}
}


/****************************************
女の子一覧ページ & 出勤情報ページ
****************************************/
/* テキストメニュー */
.schedule_nav {
    margin: 0 auto 40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1000px;
    gap: 8px;
}
.schedule_nav li {
    width: calc((100% - 8px) / 2);
}
.schedule_nav li a {
	border: 1px solid var(--pink);
	padding: 10px;
	display: block;
	font-size: 12px;
	background: #fff;
	-webkit-transition: 0.4s ease;
	-moz-transition: 0.4s ease;
	transition: 0.4s ease;
	border-radius: 6px;
}
.schedule_nav li a:hover {
	background: var(--pink_light);
}
.schedule_nav li.active a {
	background: var(--pink_light);
	color: var(--pink);
}
.schedule_nav li.active a:hover{
	opacity: 1;
}
@media screen and (max-width: 768px) {
	.schedule_nav li:first-child{
		width: 100%;
	}
}

/* ナビゲーションボタン 上書き*/
.sch_nav_btn.swiper-button-prev, 
.sch_nav_btn.swiper-button-next {
	margin-top: 0;
	width: auto;
	height: 32px;
	background: #fff;
    border: 1px solid #d8d8d8;
	color: #3c3c3c;
	transition: ease 0.3s;
}
.sch_nav_btn.swiper-button-prev:after, 
.sch_nav_btn.swiper-button-next:after {
	display: none;
}
.sch_nav_btn.swiper-button-prev {
	top: 0;
	left: 0;
	padding: 0 16px 0 8px;
}
.sch_nav_btn.swiper-button-next {
	top: 0;
	right: 0;
	padding: 0 8px 0 16px;
}
.sch_nav_btn.swiper-button-prev.swiper-button-disabled,
.sch_nav_btn.swiper-button-next.swiper-button-disabled {
 opacity: 0;
}

@media screen and (min-width: 768px) {
	.schedule_nav li,
	.schedule_nav li:first-child {
		width: calc((100% - 48px)/ 7 );
	}
}


/****************************************
出勤情報ページ
****************************************/
#contents_schedule .schedule_box{
	text-align: left;
}
#contents_schedule .schedule_box li{
	padding: 10px;
	background: #e0e0e0;
	grid-template-columns: 10% auto;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: start;
	display: -ms-grid;
	display: grid;
	margin-bottom: 20px;
}
#contents_schedule .schedule_box .name{
	width: 100%;
	font-size: 15px;
}
#contents_schedule .schedule_box table{
	width: 100%;
	height: 80px;
	font-size: 10px;
	text-align: center;
}
#contents_schedule .schedule_box .img_box{
	width: 100%;
    padding-right: 20px;
}
#contents_schedule .schedule_box .img_box img{
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	#contents_schedule .schedule_box li{
		grid-template-columns: auto;
	}
	#contents_schedule .schedule_box .img_box{
        width: 50%;
        padding-right: 0px;
        margin: 0 auto 10px;
	}
}


/****************************************
プロフィールページ
****************************************/
#contents_profile .profile_box_right,
#contents_profile .profile_box_left {
	width: 100%;
/*	max-width: 540px;*/
	display: inline-block;
	vertical-align: top;
	word-break: break-word;
}
#contents_profile .profile_box_right{
	height: fit-content;
}
#contents_profile .profile_box_right .name{
	font-size: 20px;
	line-height: normal;
}
#contents_profile .text_box_p_03.profile_x{
	padding: 0 20px 30px;
}
@media screen and (min-width: 768px) {
	#contents_profile .text_box_p_03.profile_x{
		padding: 0 40px 40px;
	}
}
#contents_profile .profile_box_right .size span{
	color: var(--pink);
}
#contents_profile .profile_box_left .img_box{
	width: 300px;
	height: 450px;
	margin: 0 auto 20px;
	position: relative;
	text-align: center;
	overflow: hidden;
}
#contents_profile .profile_box_left .cast_thumb {
    display: flex;
    justify-content: center;
    margin: 0 auto 30px;
}
#contents_profile .profile_box_left .cast_thumb a {
    margin-right: 4px;
}
#contents_profile .profile_box_left .cast_thumb img{
	max-width: 200px;
    width: 60px;
    height: 90px;
    object-fit: cover;
    margin-bottom: 0;
}
.profile_box_right .name img{
	width: 50px;
	vertical-align: sub;
}
.profile_box_right .icon img{
	width: 49%;
	max-width: 50px;
}
#contents_profile .img_box > img.main-photo{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (min-width: 767px) {
	#contents_profile .profile_wrap {
	    display: flex;
	    justify-content: space-between;
	    flex-wrap: wrap;
	    gap: 0;
	    margin-bottom: 30px;
	}
    #contents_profile .profile_box_left {
        width: 40%;
    }
    #contents_profile .profile_box_right {
        width: calc(60% - 40px);
    }
}

/* アイコン */
.profile_box_right .icon_box {
    display: flex;
    justify-content: center;
	margin-bottom: 30px;
}
.profile_box_right .icon_box img{
    width: 30px;
    margin: 0 4px;
}

/*スケジュール表*/
/*2週間表示の際は下記を削除*/
.profile_sch_wrap{
	pointer-events: none;
}
/*//2週間表示の際は下記を削除*/

.profile_box_schedule .profile_sch_box {
	display: block;
	box-sizing: border-box;
	border: 1px solid var(--pink_light);
}
.profile_box_schedule .profile_sch_box .profile_sch_variable {
	display: flex;
}
.profile_box_schedule .profile_sch_box div.profile_sch_variable .profile_sch_date,
.profile_box_schedule .profile_sch_box div.profile_sch_variable .profile_sch_check{
	padding: 10px;
	width: 50%;
	min-height: 70px;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_date {
	flex-basis: 50%;
	border-bottom: 1px solid  #fff;
	background: var(--pink_light);
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check {
	flex-basis: 50%;
	border-bottom: 1px solid var(--pink_light);
	background: #fff;
}
.profile_box_schedule .profile_sch_box div:last-of-type.profile_sch_variable .profile_sch_date{
	border-bottom: 1px solid var(--pink_light);
}
.profile_box_schedule .profile_sch_box div:last-of-type.profile_sch_variable .profile_sch_check{
	border-bottom: 0;
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .icon_shop_chart {
    padding: 0 8px 1px;
    width: 90%;
    line-height: normal;
    margin-top: 4px;
}
.profile_sch_check .time{
	line-height: normal;
}
.profile_sch_check .time:before{
	content: url(../images/icon_clock.svg);
	vertical-align: bottom;
	filter: var(--filter_black);
	display: inline-block;
	width: 16px;
	height: 16px;
}
@media (min-width: 767px) {
	.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .icon_shop_chart {
	    padding: 0 8px;
	    width: 80%;
	}
}


/****************************************
新着情報ページ
****************************************/
#contents_topics article{
	padding: 10px;
    margin: 0 auto;
    text-align: left;
}
#contents_topics article:not(:last-of-type){
	margin-bottom: 30px;
}
#contents_topics article time{
	color: var(--brown_light);
    font-size: 12px;
    margin-bottom: 4px;
    display: block;
}
#contents_topics article h3{
	font-size: 16px;
}
#contents_topics .topics_title{
    padding: 0 0 15px;
    margin: 0 0 15px;
    cursor: pointer;
    text-align: left;
    line-height: 1.4;
    border-bottom: 1px solid var(--gray);
}
@media screen and (min-width: 768px) {
	#contents_topics article time {
        font-size: 14px;
    }
}
/*ページネーション*/
.pagination{
	margin: 30px auto 0;
    display: flex;
    justify-content: center;
    width: 90%;
    flex-wrap: wrap;
}

.pagination li a {
	background: #fff;
    border: 1px solid var(--pink);
    margin: 0 4px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    display: block;
    -webkit-transition: 0.4s ease;
    -moz-transition: 0.4s ease;
    transition: 0.4s ease;
    border-radius: 6px;
}
.pagination li a:hover {
    background: var(--pink_light);
}
.pagination li.active a{
	background: var(--pink_light);
	color: var(--pink);
	pointer-events: none;
}
.pagination li.active a:hover{
    opacity: 1;
}


/****************************************
システムページ
****************************************/
#contents_system .text_box_p_02 {
    margin-bottom: 20px;
    background: #fff;
}
/*#contents_system p{
	margin-top: 20px;
}*/
#contents_system .box_attention{
	text-align: left;
}
#contents_system .box_attention h3{
	font-size: 20px;
	text-align: center;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 0.5px solid var(--pink);
}
#contents_system .box_attention ul{
	background: #fff;
	padding: 30px 20px;
}
#contents_system .box_attention li{
	text-indent: -1em;
   	padding-left: 1em;
}
@media screen and (min-width: 768px) {
	#contents_system .box_attention ul{
	padding: 40px;
}
}