@charset "utf-8";

/*@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
	font-weight: bold;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}
body {
	letter-spacing: .2px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
IE10以上
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
*/

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;
  -mos-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
}

body {
  width: 100vw !important;
  min-width: 320px;
  min-height: 800px;
  background: #fff;
  color: #000;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  overflow: hidden !important;
  font-size: 12px;
  /* 変更 */
  font-family: "Cinzel", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
    "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  box-sizing: border-box;
  position: relative;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
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 {
  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: #000;
  /* 変更 */
  text-decoration: none;
}

mark {
  background-color: #ff9;
  /* 変更 */
  color: #000;
  /* 変更 */
  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;
}

/* form */
input,
select {
  vertical-align: middle;
}

/* float解除 */
header:after,
footer:after,
section:after,
article:after,
aside:after,
main:after,
div:after,
dl:after,
ul:after,
ol:after,
li:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

/****************************************
 common (共通スタイル)
 ****************************************/
/*ページ全体ふわっと表示*/
body {
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
}

@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: 769px) {
  .sp {
    display: none !important;
  }
}

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

  /*共通*/
  .pc {
    display: none !important;
  }
}

body {
  background: #fff;
  text-align: center;
}

.inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

a,
a:hover {
  color: #000;
}

/*フォントサイズ*/
.fs_05em {
  font-size: 0.5em;
}

.fs_08em {
  font-size: 0.8em;
}

.fs_13em {
  font-size: 1.3em;
}

.fs_15em {
  font-size: 1.5em;
}

.fs_18em {
  font-size: 1.8em;
}

.fs_20em {
  font-size: 2em;
}

/*ラインヘイト設定*/
.lh_20 {
  line-height: 20px;
}

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

/* 文字色 */
.atten_01,
.atten_01 a {
  color: #ff007e;
}

.atten_02,
.atten_02 a {
  color: #ffff00;
}

.atten_03,
.atten_03 a {
  color: #0000ff;
}

.atten_04,
.atten_04 a {
  color: #ff0000;
}

.color_05 {
  color: #ececec;
}

.color_06 {
  color: #969696;
}

/*マーカー*/
.atten_border01 {
  background: -webkit-linear-gradient(transparent 55%, #ffd6da 55%);
  background: -o-linear-gradient(transparent 55%, #ffd6da 55%);
  background: linear-gradient(transparent 55%, #ffd6da 55%);
}
.atten_border02 {
  font-weight: bold;
  color:var(--color-blue4);
  font-size: 1.2em;
}

/* マージン */
.mb_10 {
  margin-bottom: 10px;
}

.mb_20 {
  margin-bottom: 20px;
}

.mb_30 {
  margin-bottom: 30px;
}
.mb_40 {
  margin-bottom: 30px;
}

/* センタリング */
.center {
  text-align: center;
}

.left {
  text-align: left;
}

/* リンクアクション */
.link_act_01 {
  opacity: 1;
  transition: 0.3s ease-in-out;
}
.link_act_01:hover { opacity: 0.5; }

/* 画像装飾 */
.img_visual {
  border: black double 3px;
  padding: 2px;
  background-color: white;
  box-sizing: border-box;
}

.br_sp {
  display: block;
}
@media (min-width: 768px) {
  .br_sp {
    display: none;
  }
}

/* テーブル 1 */
.table_01 {
  width: 100%;
  margin-bottom: 20px;
  border-left: 1px solid #999;
  border-top: 1px solid #999;
  border-spacing: 0;
  text-align: left;
}

.table_01 th,
.table_01 td {
  padding: 5px 5px 5px 10px;
  border-color: #bbb #999 #999 #bbb;
  border-style: solid;
  border-width: 1px;
  -ms-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.table_01 th {
  background: linear-gradient(#ffffff, #aaaaaa);
  background: -webkit-linear-gradient(#ffffff, #aaaaaa);
  background: -moz-linear-gradient(#ffffff, #aaaaaa);
  vertical-align: middle;
}

.table_01 td {
  background: linear-gradient(#333, #222222);
  background: -webkit-linear-gradient(#333, #222222);
  background: -moz-linear-gradient(#333, #222222);
  color: #fff;
}

/* テーブル 2 */
.table_02 {
  width: 100%;
  border-left: 1px solid #999;
  border-top: 1px solid #999;
  border-spacing: 0;
  text-align: left;
}

.table_02 th,
.table_02 td {
  padding: 5px 5px 5px 10px;
  border-color: #bbb #999 #999 #bbb;
  border-style: solid;
  border-width: 1px;
  -ms-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.table_02 th {
  background: linear-gradient(#ffffff, #aaaaaa);
  background: -webkit-linear-gradient(#ffffff, #aaaaaa);
  background: -moz-linear-gradient(#ffffff, #aaaaaa);
  vertical-align: top;
  font-size: 12px;
}

.table_02 td {
  background: linear-gradient(#333, #222222);
  background: -webkit-linear-gradient(#333, #222222);
  background: -moz-linear-gradient(#333, #222222);
  color: #fff;
  text-align: center;
}

/*料金ページテーブル設定*/
.table01 {
  width: 90%;
  max-width: 540px;
  margin: 30px auto;
}

.table01 th {
  color: #545454;
  font-size: 18px;
  width: 33%;
}

.table01 td {
  font-size: 30px;
  letter-spacing: 2px;
  width: 33%;
}

.table01 .title {
  overflow: hidden;
  text-align: center;
}

.table01 .title span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  text-align: left;
}

.table01 .title span::before,
.table01 .title span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 400%;
  height: 1px;
  background-color: #ccc;
}

.table01 .title span::before {
  right: 100%;
}

.table01 .title span::after {
  left: 100%;
}

/*求人ページテーブル設定*/
.table02 {
  width: 100%;
  max-width: 600px;
  margin: 30px auto;
  text-align: left;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.table02 tr {
  display: block;
  margin-bottom: 15px;
}

.table02 th {
  color: #545454;
  font-size: 13px;
  width: 120px;
  border-right: 1px solid #ececec;
  padding: 10px;
  letter-spacing: 2px;
  vertical-align: middle;
}

.table02 td {
  font-size: 14px;
  padding: 10px;
}

.table02 .title {
  overflow: hidden;
  text-align: center;
}

.table02 .title span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  text-align: left;
}

.table02 .title span::before,
.table02 .title span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 400%;
  height: 1px;
  background-color: #ccc;
}

.table02 .title span::before {
  right: 100%;
}

.table02 .title span::after {
  left: 100%;
}

/*フォームページのtable*/
.table03 {
  width: 90%;
  max-width: 500px;
  margin: 30px auto;
  text-align: left;
  table-layout: fixed;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.table03 tr {
  margin-bottom: 20px;
}

.table03 th,
.table03 td {
  width: 100%;
  display: block;
  color: #545454;
}

.table03 th {
  font-size: 16px;
  border-left: 4px solid #ececec;
  padding: 0 0 0 10px;
  letter-spacing: 2px;
  vertical-align: middle;
}

.table03 td {
  text-align: left;
  margin-bottom: 30px;
  padding: 10px 0;
}

.table03 td input[type="text"],
.table03 td input[type="email"] {
  width: 100%;
  padding: 8px 15px;
  border-radius: 35px;
  border: 1px solid #bfbfbf;
  background: #fbf8f8;
  font-size: 14px;
}

.table03 textarea {
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #bfbfbf;
  background: #fbf8f8;
  -webkit-appearance: none;
  border-radius: 10px;
  padding: 5px;
  font-size: 14px;
}

/*フォーム関係*/
form select {
  border-radius: 5px;
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  text-align: left;
  background: #fbf8f8;
  border: 1px solid #bfbfbf;
  height: 35px;
}

/*送信ボタンのリセット*/
.btn_form,
.btn_reset {
  -webkit-appearance: none;
  border: none;
}

/*送信ボタンのスタイル設定*/
.btn_form {
  width: 280px;
  height: 50px;
  display: block;
  color: #fff;
  padding: 14px;
  letter-spacing: 2px;
  font-size: 13px;
  text-align: center;
  margin: 50px auto 20px;
  background: var(--color-purple1);
  transition: all 0.5s;
  position: relative;
}

.btn_form:hover {
  color: var(--color-purple1);
  background: none;
  border: 1px solid var(--color-purple1);
}

/*リセットボタン*/
.btn_reset {
  background: none;
  border-bottom: 1px solid #b1b1b1;
  color: #b1b1b1;
}

/* テキストボックス 1(問い合わせ送信完了ページのテキスト) */
.txt_box_01 {
  margin-bottom: 20px;
  color: #969696;
  text-align: center;
  max-width: 500px;
  margin: 0 auto 30px;
}

.txt_box_01 h2 {
  margin-bottom: 10px;
  border-bottom: 1px dotted #eee;
  color: #ff007e;
  font-size: 16px;
}

/* テキストボックス 2 */
.txt_box_02 {
  padding: 10px;
  text-align: left;
  color: #fff;
}
:root {
	--color-white1: #fff;
	--color-black1: #333333;
	--color-pink1: #FDCCEA;
	--color-pink2:#ffb7e3;
  --color-pink3:rgba(234, 229, 255, 0.7);/* 透明部分 */
  --color-pink4:#eb9deb;
  --color-name-pink: #e24297;

  --color-blue2: #9dbbff;
  --color-blue4: #729dfd;
  --color-name-blue: #729dfd;

  --color-purple1: #b2a6e4;

  --color-hover-pink: #f47cf4;
  --color-hover-blue: #977eff;

  --bg-gradiation-pb: linear-gradient(90deg, #ffe8ff 0%, #f9eeff 50%, #e5d4fb 100%);

  --bg-gradiation-txt-pb: linear-gradient(90deg, #eb97eb 0%, #a190ea 100%);
  --bg-gradiation-txt-bp: linear-gradient(90deg, #a190ea 0%, #eb97eb 100%);

  --bg-gradation1: linear-gradient(270deg, #FDCCEA 0%, #ffeaf3 100%);
  --bg-gradation2: linear-gradient(90deg, #efd2ef 0%, #eb97eb 50%, #efd2ef 100%);
  --bg-gradation-blue1: linear-gradient(270deg, #cce7fd 0%, #ebf0fe 100%);
  --bg-gradation-blue2: linear-gradient(90deg, #b6cbfa 0%, #729dfd 100%);
  
  --bg-gradation-purple1: linear-gradient(90deg, #d5ccf7 0%,#a190ea 50%, #d5ccf7 100%);
  
  --color-papillon-class1: linear-gradient(180deg, #fd859c 0%, #e94499 100%);
  --color-papillon-class2: linear-gradient(180deg, #ff97c3 0%, #e768d7 100%);
  --color-madamepapillon-class1: linear-gradient(180deg, #5d82fa 0%, #2951e6 100%);
  --color-madamepapillon-class2: linear-gradient(180deg, #97adff 0%, #6883e7 100%);
}

/******************************
セラピスト共通
******************************/
.cast_box li {
  width: 48%;
  max-width: 220px;
  margin: 5px 0;
  display: inline-block;
  background: var(--color-white1);
  vertical-align: top;
}
/* 1 パピヨン */
.cast_box.cast_box_1 li {
  border-left: 12px solid var(--color-pink4);
  border-right: 12px solid var(--color-pink4);
  border-top: 12px solid var(--color-pink4);
  border-bottom: 1px solid var(--color-pink4);
}
/* 2 マダムパピヨン */
.cast_box.cast_box_2 li {
  border-left: 12px solid var(--color-purple1);
  border-right: 12px solid var(--color-purple1);
  border-top: 12px solid var(--color-purple1);
  border-bottom: 1px solid var(--color-purple1);
}
/* トップページ混合本日/新人 */
.cast_box li.papillon{
  border-left: 12px solid var(--color-pink4);
  border-right: 12px solid var(--color-pink4);
  border-top: 12px solid var(--color-pink4);
  border-bottom: 1px solid var(--color-pink4);
}
.cast_box li.madame_papillon{
  border-left: 12px solid var(--color-purple1);
  border-right: 12px solid var(--color-purple1);
  border-top: 12px solid var(--color-purple1);
  border-bottom: 1px solid var(--color-purple1);
}
.cast_box li.papillon_mixture{ border-image: linear-gradient(to right, #eb97eb, #a190ea) 1;}

.cast_box li .img_box {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
  position: relative;
}
.cast_box li .img_box:before{
  content: "";
  display: block;
  padding-top: 150%;
}

.cast_box li .img_box .img_staff {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.cast_box li .img_box .icon_new,
.profile_box_left .img_box .icon_new {
  position: absolute;
  top: 5px;
  left: 5px;
  max-width: 75px;
  width: 30%;
  height: auto;
}

.cast_box li .img_box .icon_area,
#contents_profile .icon_area{
  position: absolute;
  bottom: 4px;
  right: 2px;
  display: flex;
  gap: 4px;
  justify-content: flex-end;
}
.cast_box li .img_box img{
  width: 35px;
}
#contents_profile .icon_area img{
  width: 40px;
}
/*.cast_box li .img_box .icon_twitter,
.profile_box_left .img_box .icon_twitter {
  position: absolute;
  max-width: 40px;
}
.cast_box li .img_box .icon_twitter {
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 35px;
}
.cast_box li .img_box .icon_bsky {
  position: absolute;
  bottom: 5px;
  right: 41px;
  width: 35px;
}*/
.cast_box li .img_box .icon_premium {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 80px;
}

/*.profile_box_left .img_box .icon_twitter {
  bottom: 15px;
  right: 15px;
  width: 40px;
}*/
.profile_box_left .img_box .icon_premium {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 80px;
}

.cast_box li .txt_box .icon {
  height: 20px;
}

.cast_box li .txt_box .name {
  font-size: 15px;
}
/* 1 パピヨン */
.cast_box.cast_box_1 li .txt_box .name { color: #f47cf4;}
/* 2 マダムパピヨン */
.cast_box.cast_box_2 li .txt_box .name { color: #977eff;}
/* トップページ混合本日/新人 */
.cast_box li.papillon .txt_box .name{ color: #f47cf4;}
.cast_box li.madame_papillon .txt_box .name{ color: #977eff;}
.cast_box li.papillon_mixture .txt_box .name{ color: var(--color-purple1);}

.cast_box li .txt_box .name span {
  color: #a9a9a9;
  font-size: 0.6em;
}

.cast_box li .txt_box .name span.age {
  color: var(--color-black1);
  font-size: 0.8em;
}

.cast_box li .txt_box .marquee {
  overflow: hidden;
}
.cast_box li .txt_box .short_comment {
  font-size: 15px;
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: scrollMarquee 10s linear infinite;
}
@keyframes scrollMarquee{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-100%); }
}

.cast_box li .txt_box .icon_class {
  width: 100%;
  /* margin: 5px auto 10px; */
}
.cast_box li .txt_box{
  height: 180px;
  position: relative;
}
@media screen and (max-width: 425px) {
  .cast_box li .txt_box{
    height: 170px;
  }
}
.cast_box li .txt_box .free_text {
  margin-bottom: 7px;
  height: 23px;
}
.cast_box li .txt_box .time {
  color: #fff;
  padding: 4px;
  position: absolute;
  bottom: -1px;
  width: 100%;
}
/* 1 パピヨン */
.cast_box.cast_box_1 li .txt_box .time { background: var(--color-pink4);}
/* 2 マダムパピヨン */
.cast_box.cast_box_2 li .txt_box .time { background: var(--color-purple1);}
/* トップページ混合本日/新人 */
.cast_box li.papillon .txt_box .time { background: var(--color-pink4);}
.cast_box li.madame_papillon .txt_box .time {
  background: var(--color-purple1);
  border-bottom: 1px solid var(--color-purple1);
}
.cast_box li.papillon_mixture .txt_box .time {
  background: var(--bg-gradiation-txt-pb);
  border-bottom: 1px solid var(--bg-gradiation-txt-pb);
}


/*セラピスト画僧hover時のアニメーション*/
.cast_box .img_box {
  position: relative;
  overflow: hidden;
  color: #000;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}

.cast_box .img_box .img_staff {
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}

.cast_box .img_box:after {
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  opacity: 0.75;
  -webkit-transform: skew(-45deg) scaleX(0);
  transform: skew(-45deg) scaleX(0);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.cast_box .img_box .staff_txt {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}

.cast_box .img_box .staff_txt h3,
.cast_box .img_box .staff_txt p {
  margin: 0;
  width: 100%;
  opacity: 0;
}

.cast_box .img_box .staff_txt h3 {
  padding: 0 30px;
  display: inline-block;
  font-weight: 400;
  text-transform: uppercase;
}

.cast_box .img_box .staff_txt p {
  padding: 0 50px;
  font-size: 0.8em;
  font-weight: 500;
}

.cast_box .img_box:hover:after {
  -webkit-transform: skew(-45deg) scaleX(1);
  transform: skew(-45deg) scaleX(1);
  transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.cast_box .img_box:hover .staff_txt h3 .cast_box .img_box:hover .staff_txt p {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.cast_box .img_box:hover .staff_txt h3 {
  opacity: 1;
}

.cast_box .img_box:hover .staff_txt p {
  opacity: 0.7;
}

/*トップページの出勤セラピスト・新人セラピスト設定*/
#section_today .swiper-container,
#section_new .swiper-container {
  width: 100%;
  max-width: 930px;
  margin-bottom: 20px;
}

#section_today .cast_box li,
#section_new .cast_box li {
  max-width: 100%;
  margin: 0;
}

/*#section_today .cast_box li .img_box,
#section_new .cast_box li .img_box {
  height: unset;
}

#section_today .cast_box li .img_box .img_staff,
#section_new .cast_box li .img_box .img_staff {
  height: auto;
}*/

/* icon class */
.cast_box .cls {
  width: 96%;
  height: auto;
  margin: 5px auto 10px;
}
.cls .icon_onoff_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.cast_box .cls span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 0;
  font-size: 12px;
  color: #fff;
}
@media (max-width: 768px) {
  .cast_box .cls span {
    font-size: 10px;
  }
}
/* 1 パピヨン */
.cast_box.cast_box_1 .cls .cls_1 {
  background: var(--color-papillon-class1);
}
.cast_box.cast_box_1 .cls .cls_2 {
  background: var(--color-papillon-class2);
}
/* 2 マダムパピヨン */
.cast_box.cast_box_2 .cls .cls_1 {
  background: var(--color-madamepapillon-class1);
}
.cast_box.cast_box_2 .cls .cls_2 {
  background: var(--color-madamepapillon-class2);
}


/* 極液 */
.cls .gokueki.on{ background: linear-gradient(0deg, #b85fc7 0%, #ca96d3 100%);}
.cls .gokueki.off { background: linear-gradient(0deg, #8a8a8a 0%, #bbbbbb 100%);}
.cls .syuttyou { background: var(--color-papillon-class1);}
.cls .hotel_syuttyou { background: var(--color-madamepapillon-class2);}

.cls .gokueki.off,
.cls .syuttyou.off,
.cls .hotel_syuttyou.off { background: linear-gradient(0deg, #8a8a8a 0%, #bbbbbb 100%);}


/*スワイパーのスタイルキャンセル*/
/*------------------------------------------
cancel
------------------------------------------*/
/* swiper */
.swiper-container-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: unset;
  -ms-flex-direction: unset;
  flex-direction: unset;
}

.slider .swiper-button-next,
.slider .swiper-container-rtl .swiper-button-prev,
.slider .swiper-button-prev,
.slider .swiper-container-rtl .swiper-button-next {
  background-image: none;
}

.slider .swiper-button-next {
  right: 0;
}

.slider .swiper-button-prev {
  left: 0;
}

.slider .swiper-button-next,
.slider .swiper-button-prev {
  width: 30px;
  height: 30px;
  margin-top: -30px;
  border-radius: 20px;
  opacity: 0.9;
  z-index: 10000;
}
/* 1 パピヨン */
#section_today .section_today_1.slider .swiper-button-next,
#section_today .section_today_1.slider .swiper-button-prev,
#section_new .section_new_1.slider .swiper-button-next,
#section_new .section_new_1.slider .swiper-button-prev {
  background: var(--color-pink4);
}
/* 2 マダムパピヨン */
#section_today .section_today_2.slider .swiper-button-next,
#section_today .section_today_2.slider .swiper-button-prev,
#section_new .section_new_2.slider .swiper-button-next,
#section_new .section_new_2.slider .swiper-button-prev {
  background: var(--color-purple1);
}

.slider .swiper-button-next i,
.slider .swiper-button-prev i {
  line-height: 30px;
  color: #fff;
}

.slider .swiper-pagination {
  position: initial;
}

.slider .swiper-pagination-bullet {
  background: rgba(255, 98, 113, 0.5);
  opacity: 0.5;
  margin: 0 5px;
}

.slider .swiper-pagination-bullet-active {
  background-color: rgba(255, 98, 113, 1);
  opacity: 1;
}

/* 各ページ上部のテキストボックス */
.pagetext_box {
  height: 200px;
  margin-bottom: 20px;
  background: url(../images/bg_pagetext_box.png) 0 0 no-repeat;
  color: #fff;
  text-align: left;
  line-height: 1.5em;
  box-sizing: border-box;
  padding: 50px;
}

/* リンクボックス */
.list_link_box {
  margin-right: -30px;
  font-size: 10px;
}

.list_link_box li {
  float: left;
  margin: 0 30px 20px 0;
}

/*ボタン設定*/
.btn_more {
  width: 380px;
  display: block;
  color: #fff;
  padding: 14px;
  letter-spacing: 2px;
  font-size: 13px;
  text-align: center;
  background: var(--bg-gradation2);
  margin: 50px auto;
  transition: all 0.5s;
  position: relative;
  font-feature-settings: "palt";
}
.btn_more br{display: none;}
@media (max-width: 768px) {
  .btn_more {
    width: 280px;
    display: block;
    color: #fff;
    padding: 14px;
    letter-spacing: 2px;
    font-size: 13px;
    text-align: center;
    background: var(--bg-gradation2);
    margin: 50px auto;
    transition: all 0.5s;
    position: relative;
    font-feature-settings: "palt";
  }
  .btn_more br{display: block;}
}
/* 1 パピヨン */
#section_today .section_today_1 .btn_more {
  background: var(--bg-gradation2);
  margin: 20px auto;
}
/* 2 マダムパピヨン */
#section_today .section_today_2 .btn_more {
  background: var(--bg-gradation-purple1);
  margin: 20px auto;
}

.btn_more::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.3s;
}

.btn_more:hover {
  color: var(--color-hover-pink);
  background: none;
}
/* 1 パピヨン */
#section_today .section_today_1 .btn_more:hover {
  color: var(--color-hover-pink);
  background: none;
}
/* 2 マダムパピヨン */
#section_today .section_today_2 .btn_more:hover {
  color: var(--color-hover-blue);
  background: none;
}

.btn_more:hover::before {
  opacity: 0;
  transform: scale(0.5, 0.5);
}

.btn_more::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
  border: 1px solid var(--color-hover-pink);
  transform: scale(1.2, 1.2);
}
/* 1 パピヨン */
#section_today .section_today_1 .btn_more::after  {
  border: 1px solid var(--color-hover-pink);
}
/* 2 マダムパピヨン */
#section_today .section_today_2 .btn_more::after  {
  border: 1px solid var(--color-hover-blue);
}

.btn_more:hover::after {
  opacity: 1;
  transform: scale(1, 1);
}

/*TELボタン*/
.btn_tel {
  width: 280px;
  height: 50px;
  display: block;
  color: #fff;
  padding: 4px 10px;
  letter-spacing: 2px;
  font-size: 15px;
  text-align: center;
  margin: 10px auto;
  background: #49b9d2;
  transition: all 0.5s;
  position: relative;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 3;
}
#contents_access .btn_tel.papillon {
  /* height: 64px;*/
  background: var(--bg-gradation2);
}
/*#contents_access .btn_tel.madamepapillon {
  height: 64px;
  background: var(--bg-gradation-purple1);
}*/

.btn_tel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.3s;
}

.btn_tel:hover {
  color: #49b9d2;
  background: none;
}
.btn_tel.papillon:hover {
  color: var(--color-hover-pink);
}
/*.btn_tel.madamepapillon:hover {
  color: var(--color-hover-blue);
}*/

.btn_tel:hover::before {
  opacity: 0;
  transform: scale(0.5, 0.5);
}

.btn_tel::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
  border: 1px solid #49b9d2;

  transform: scale(1.2, 1.2);
}
.btn_tel.papillon::after {
  border: 1px solid var(--color-hover-pink);
}
/*.btn_tel.madamepapillon::after {
  border: 1px solid var(--color-hover-blue);
}*/

.btn_tel:hover::after {
  opacity: 1;
  transform: scale(1, 1);
}

.btn_tel .name {
  font-size: 1.0em;
}
.btn_tel span {
/*  font-size: 0.7em;*/
}

/*Mailボタン*/
.btn_mail {
  width: 280px;
  height: 50px;
  display: block;
  color: #fff;
  padding: 14px;
  letter-spacing: 2px;
  font-size: 15px;
  text-align: center;
  margin: 10px auto;
  background: #fd838f;
  transition: all 0.5s;
  position: relative;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.btn_mail::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.3s;
}

.btn_mail:hover {
  color: #fd838f;
  background: none;
}

.btn_mail:hover::before {
  opacity: 0;
  transform: scale(0.5, 0.5);
}

.btn_mail::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
  border: 1px solid #fd838f;

  transform: scale(1.2, 1.2);
}

.btn_mail:hover::after {
  opacity: 1;
  transform: scale(1, 1);
}


/*lineボタン*/
.btn_line {
  width: 280px;
  height: 50px;
  display: block;
  color: #fff;
  padding: 14px;
  letter-spacing: 2px;
  font-size: 15px;
  text-align: center;
  margin: 10px auto;
  background: #2bcc5c;
  transition: all 0.5s;
  position: relative;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.btn_line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.3s;
}

.btn_line:hover {
  color: #2bcc5c;
  background: none;
}

.btn_line:hover::before {
  opacity: 0;
  transform: scale(0.5, 0.5);
}

.btn_line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
  border: 1px solid #2bcc5c;

  transform: scale(1.2, 1.2);
}

.btn_line:hover::after {
  opacity: 1;
  transform: scale(1, 1);
}

/******************************
共通アニメーション設定
******************************/
/* フェードイン */
.fadein {
  transition: opacity 0.8s;
  -moz-transition: opacity 0.8s;
  -webkit-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
  transition: transform 0.8s;
  -moz-transition: transform 0.8s;
  -webkit-transition: transform 0.8s;
  -o-transition: transform 0.8s;
}

/* 上からフェードイン */
.top_fadein {
  transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -webkit-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: transform 0.6s;
  -moz-transition: transform 0.6s;
  -webkit-transition: transform 0.6s;
  -o-transition: transform 0.6s;
}

/* 右からフェードイン */
.right_fadein {
  transition: opacity 1.5s;
  -moz-transition: opacity 1.5s;
  -webkit-transition: opacity 1.5s;
  -o-transition: opacity 1.5s;
  transition: transform 1.5s;
  -moz-transition: transform 1.5s;
  -webkit-transition: transform 1.5s;
  -o-transition: transform 1.5s;
}

/* 右からフェードイン */
.left_fadein {
  transition: opacity 1.5s;
  -moz-transition: opacity 1.5s;
  -webkit-transition: opacity 1.5s;
  -o-transition: opacity 1.5s;
  transition: transform 1.5s;
  -moz-transition: transform 1.5s;
  -webkit-transition: transform 1.5s;
  -o-transition: transform 1.5s;
}

/******************************
花びらのz-index
要素を上に、後ろに花びらが来るように設定
******************************/
#mainvisual .logo_img,
.inner,
#section_today .swiper-container,
#section_new .swiper-container,
#section_topics .topics_box,
#section_event .event_box,
#section_twitter .twitter_box,
#section_bnr .bnr,
#section_recruit .bnr_box,
#contents,
#contents_cast .inner,
#contents_schedule .inner {
  z-index: 9999;
}

/*z-indexが効かない場合の対処法*/
#section_topics .topics_box,
#section_event .event_box,
#section_twitter .twitter_box,
#section_recruit .bnr_box,
#contents,
#contents_cast .inner,
#contents_schedule .inner {
  position: relative;
}

/******************************
header
******************************/
header {
  width: 100%;
  height: 65px;
  background: var(--bg-gradiation-pb);
  z-index: 99999;
  position: fixed;
}

header:after {
  width: 100px;
  height: 50px;
  margin: 0 auto;
  /*background: url(../images/header_bottom.png) no-repeat;*/
  background-size: 100%;
  content: " ";
  display: block;
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  z-index: -1;
}

header h1 {
  width: 100px;
  margin: 0 auto;
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
}

header h1 img {
  width: 100px;
}
@media screen and (max-width: 769px) {
  /*header h1 img {
    width: 50px;
  }*/
}
/* pc menu */
header .nav {
  padding-top: 15px;
}

header .nav li {
  border-right: 1px solid var(--color-black1);
  display: inline-block;
  vertical-align: top;
}

header .nav li:nth-child(3n) {
  border-right: 0;
}

header .nav li:nth-child(3) {
  margin-right: 100px;
}

header .nav li span {
  font-size: 11px;
  display: block;
}

header .nav li a {
  width: 105px;
  letter-spacing: 1px;
  line-height: 1.4;
  display: block;
  font-size: 14px;
  color: var(--color-black1);
}

/*=========================
SP時のドロワーメニュー
=========================*/
/*PCでは非表示*/
.btn_menu {
  display: none;
}

/*spでは表示*/
@media screen and (max-width: 769px) {
  .btn_menu {
    display: block !important;
  }
}

.btn_menu {
  position: fixed;
  top: 6px;
  right: 3px;
  width: 50px;
  height: 50px;
  padding: 8px 0px 0;
  z-index: 9999999999;
}

.btn-trigger {
  position: relative;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.btn-trigger span {
  position: absolute;
  left: 0;
  width: 90%;
  height: 2px;
  background-color:var(--color-black1);
  border-radius: 4px;
}

.btn-trigger,
.btn-trigger span {
  display: inline-block;
  transition: all 0.5s;
  box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
  top: 0;
}

.btn-trigger span:nth-of-type(2) {
  top: 6px;
}

.btn-trigger span:nth-of-type(3) {
  bottom: 15px;
}

#btn18 span:nth-of-type(1) {
  -webkit-animation: btn18-bar01 0.5s forwards;
  animation: btn18-bar01 0.5s forwards;
}

@-webkit-keyframes btn18-bar01 {
  0% {
    -webkit-transform: translateY(13px) rotate(-45deg);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes btn18-bar01 {
  0% {
    transform: translateY(13px) rotate(-45deg);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

#btn18 span:nth-of-type(2) {
  -webkit-animation: btn18-bar02 0.5s forwards;
  animation: btn18-bar02 0.5s forwards;
}

@-webkit-keyframes btn18-bar02 {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes btn18-bar02 {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#btn18 span:nth-of-type(3) {
  -webkit-animation: btn18-bar03 0.5s forwards;
  animation: btn18-bar03 0.5s forwards;
}

@-webkit-keyframes btn18-bar03 {
  0% {
    -webkit-transform: translateY(-13px) rotate(45deg);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes btn18-bar03 {
  0% {
    transform: translateY(-13px) rotate(45deg);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

#btn18::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  margin: -16px 0 0 -16px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.1s;
  opacity: 0;
}

#btn18.active::after {
  -webkit-animation: circle 0.5s;
  animation: circle 0.5s;
}

@-webkit-keyframes circle {
  0% {
    -webkit-transform: scale(0.1);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(3.5);
    opacity: 0;
  }
}

@keyframes circle {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(3.5);
    opacity: 0;
  }
}

#btn18.active span:nth-of-type(1) {
  -webkit-animation: active-btn18-bar01 0.5s 0.5s forwards;
  animation: active-btn18-bar01 0.5s 0.5s forwards;
  top: -9px;
}

@-webkit-keyframes active-btn18-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }

  100% {
    -webkit-transform: translateY(13px) rotate(-45deg);
  }
}

@keyframes active-btn18-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }

  100% {
    transform: translateY(13px) rotate(-45deg);
  }
}

#btn18.active span:nth-of-type(2) {
  animation: active-btn18-bar02 0.5s 0.5s forwards;
}
@-webkit-keyframes active-btn18-bar02 {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes active-btn18-bar02 {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
#btn18.active span:nth-of-type(3) {
  animation: active-btn18-bar03 0.5s 0.5s forwards;
  top: 17px;
}
@-webkit-keyframes active-btn18-bar03 {
  0% { -webkit-transform: translateY(0) rotate(0); }
  100% { -webkit-transform: translateY(-13px) rotate(45deg); }
}
@keyframes active-btn18-bar03 {
  0% { transform: translateY(0) rotate(0); }
  100% { transform: translateY(-13px) rotate(45deg); }
}

/*ドロワーの中*/
#nav-d-bg {
  position: fixed;
  background: linear-gradient(90deg, #ffe8ff 0%, #f9eeff 18%, #e5d4fb 35%);
  width: 500px;
  height: 1200px;
  right: -500px;
  top: 0;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  transition-delay: 0.2s;
  /*閉じる時のbgの速度*/
  z-index: 80001;
}
.open #nav-d-bg {
  transform: matrix(2.7, 0, 0, 2.7, 0, 0);
  transition-delay: 0s;
}
#nav_drawer {
  position: fixed;
  /* top: 30px; */
  top: 30px;
  font-size: 18px;
  max-width: 400px;
  width: 100%;
  right: -400px;
  z-index: 80002;
}
#nav_drawer>ul { width: 100%; }
#nav_drawer li {
  margin: 4px auto;
  /*padding: 5px;*/
  border-bottom: 1px solid var(--color-black1);
  max-width: 300px;
  width: 100%;
  text-align: left;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
/*
#nav_drawer li:after {
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
  right: 0;
  top: 8px;
  color: var(--color-black1);
}
*/
#nav_drawer a {
  color: var(--color-black1);
  width: 100%;
  display: block;
  padding: 3px 0;
}
#nav_drawer li a span.en { font-size: 11px; }
.open #nav_drawer li {
  -webkit-transform: translateX(-400px);
  transform: translateX(-400px);
  transition-delay: 0.1s;
}

#nav_drawer .drawer_menu {
    overflow: hidden;
    width: 90%;
    display: grid;
    place-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
#nav_drawer .drawer_menu ul {
    text-align: center;
    display: flex;
    gap: 8px 20px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
#nav_drawer .drawer_menu ul li {
    display: block;
    position: relative;
    opacity: 0;
    width: calc((100% / 2) - 10px);
    line-height: normal;
    border-bottom: 1px solid var(--color-black1);
}
#nav_drawer .drawer_menu ul li a {
    display: inline-block;
    display: block;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    padding: 10px 0;
}
#nav_drawer .drawer_menu ul li span {
    font-size: 9px;
}

/*ドロワーメニュー*/
#nav_drawer .drawer_menu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 300px;
  margin: 0 auto;
}
#nav_drawer .drawer_menu_list > li {
  width: 45%;
  max-width: none;
  border-bottom: 1px solid var(--color-black1);
  position: relative;
  line-height: 1.2rem;
}
#nav_drawer .drawer_menu_list > li a {
  display: block;
  padding: 6px 0;
  text-align: center;
}
#nav_drawer .drawer_menu_list span.jp {
  display: block;
  font-size: 15px;
}
#nav_drawer .drawer_menu_list span.en {
  display: block;
  font-size: 10px;
}

/*求人ボタン*/
#nav_drawer .btn_entry {
  width: 100%;
  max-width: 300px;
  margin: 10px auto;
  display: block;
  background: rgba(255, 255, 255, 0.9);
  border-bottom: none;
  text-align: center;
  border-radius: 30px;
}
/*
#nav_drawer .btn_entry:after {
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
  right: 10px;
  top: 12px;
  color: var(--color-purple1);
}
*/
#nav_drawer .btn_entry a {
  color: var(--color-purple1);
  padding-top: 8px;
}
/*TELボタン*/
#nav_drawer .btn_nav_tel {
  width: 100%;
  max-width: 300px;
  margin: 12px auto;
  display: block;
  border: 1px solid var(--color-black1);
  text-align: center;
  line-height: 1.4;
}
#nav_drawer .btn_nav_tel:after { content: none; }
#nav_drawer .btn_nav_tel .name {
  color: var(--color-black1);
  font-size: 14px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 1px;
}
#nav_drawer .btn_nav_tel span {
  font-size: 0.6em;
  margin-right: 5px;
}

/*営業時間・受付時間*/
#nav_drawer .info_open {
  color: var(--color-black1);
  font-size: 14px;
  border-bottom: none;
  padding-bottom: 40px;
  text-align: center;
}
#nav_drawer .info_open:after { content: none; }
#drawer.active { display: none; }
.text_menu {
  position: absolute;
  bottom: -7px;
  color: var(--color-black1);
  left: -5px;
}

/******************************
mainvisual
******************************/
/* メインビジュアル */
#mainvisual {
  width: 100%;
  /* height: 100vh;*/
  aspect-ratio: 5/8;
  background: #fff8f8;
  position: relative;

  /* 通常 */
  background: url(../images/mainvisual_sp.webp) center center / cover no-repeat;

  /* バレンタイン2027 */
  /* background: url(../images/mainvisual_valentine_sp.jpg) bottom center / cover no-repeat; */

  /* 正月2026用 */
  /* background: url(../images/mainvisual_newyear2026_sp.jpg) bottom center / cover no-repeat; */

  /* クリスマス2025用 */
  /* background: url(../images/mainvisual_xmas2025_sp.jpg) bottom center / cover no-repeat; */

  /* クリスマス2024用 */
  /* background: url(../images/mainvisual_xmas2024_sp.jpg) bottom center / cover no-repeat; */

  /*springバージョン*/
  /* background: url(../images/mainvisual_spring_sp.jpg) top center / cover no-repeat;*/

  /*鯉バージョン*/
  /* background: url(../images/mainvisual_carp_sp.jpg) top center / cover no-repeat;*/

  /*summerバージョン*/
  /* background: url(../images/mainvisual_summer_sp.jpg) top center / cover no-repeat; */

  /*summer2バージョン*/
  /* background: url(../images/mainvisual_summer2_sp.jpg) top center / cover no-repeat; */

  /* ハロウィン用 */
  /* background: #634672 url(../images/mainvisual_hw_sp.webp) center bottom / cover no-repeat;*/
}
@media (min-width: 768px) {
  #mainvisual {
    /* height: 100vh;*/
    aspect-ratio: 1000/629;

    /* 通常 */
    background: url(../images/mainvisual_pc.webp) center center / cover no-repeat;

    /* バレンタイン2027 */
    /* background: url(../images/mainvisual_valentine_pc.jpg) center center / cover no-repeat; */

    /* 正月2026用 */
    /* background: url(../images/mainvisual_newyear2026_pc.jpg) center center / cover no-repeat; */

    /* クリスマス2025用 */
    /* background: url(../images/mainvisual_xmas2025_pc.jpg) center center / cover no-repeat; */

    /* クリスマス2024用 */
    /* background: url(../images/mainvisual_xmas2024_pc.jpg) center center / cover no-repeat; */

    /*springバージョン*/
    /* background: url(../images/mainvisual_spring_pc.jpg) top center / cover no-repeat;*/

    /*鯉バージョン*/
    /* background: url(../images/mainvisual_carp_pc.jpg) top center / cover no-repeat;*/

    /*summerバージョン*/
    /* background: url(../images/mainvisual_summer_pc.jpg) top center / cover no-repeat; */

    /*summer2バージョン*/
    /* background: url(../images/mainvisual_summer2_pc.jpg) top center / cover no-repeat; */

    /* ハロウィン用 */
    /* background: #634672 url(../images/mainvisual_hw_pc.webp) center bottom / cover no-repeat;*/
  }
}
#mainvisual .bg_img {
  position: relative;
  width: 100vw;
  /* height: 100vh;*/
}
#mainvisual .bg_img .top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
}
#mainvisual .bg_img .top img { width: 100%; display: none;}


/* 通常 */
#mainvisual .logo_img {
  position: absolute;
  top: 50%; 
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
}
/*@media (max-width: 414px) {
  #mainvisual .logo_img {
    top: 20%;
  }
}
@media (max-width: 375px) {
  #mainvisual .logo_img {
    top: 18%;
  }
}
@media screen and (376px <= width <= 1025px ) and (813px <= height <= 850px) {
  #mainvisual .logo_img{
    top: 24%;
    width: 70%;
  }
}*/
#mainvisual .logo_img img,
#mainvisual .bg_img .left img,
#mainvisual .bg_img .right img {
  width: 100%;
}
#mainvisual .logo_img img {
  width: clamp(400px, 56vw, 640px);
  height: auto;
  filter: drop-shadow(0px 0px 5px rgba(255, 255, 255, 1.0));
}
@media (max-width: 414px){
  /*#mainvisual .logo_img img {height: 40vh;}*/
  #mainvisual .logo_img {
    position: absolute;
    /* top: 50%; */
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*top: 24%;*/
  }
}
/*波紋のスタイル設定*/
#mainvisual div.container {
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  /*height: 100%;*/
  display: flex;
  align-items: center;
  justify-content: center;
}

#mainvisual div.box {
  /*max-width: 2000px;
	min-width: 500px;
	width:  100vw;
	height: 30vw;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 0 auto;*/
  width: 100vw;
  height: 30vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
#mainvisual div.circle {
  width: 80%;
  height: 80%;
  border-radius: 50%;
  margin: 0 auto;
  position: absolute;
  border: solid 3px  #ffe2ed;
}
/*波紋のkeyframeはanimation.cssに記載*/

/* 冬デザイン */
/* #mainvisual .bg_img .santa {
  position: absolute;
  top: 25vw;
  left: 0;
  right: 0;
  margin: 0;
}
#mainvisual .bg_img .santa img { width: 100%; }
@media (min-width: 768px) {
  #mainvisual .bg_img .santa { top: 12vw; }
  #mainvisual .bg_img .santa img { max-width: 1100px; }
}
#mainvisual .bg_img .town {
  position: absolute;
  bottom: 127px;
  left: 0;
  right: 0;
  margin: 0;
}
#mainvisual .bg_img .town img { width: 100%; }
@media (min-width: 768px) {
  #mainvisual .bg_img .town { bottom: 80px; }
} */

/* springバージョン$summerバージョン(mv上部の花がない時) */
/*#mainvisual .bg_img .top {display: none;}*/

/* #mainvisual .logo_img {
  position: absolute;
  top: 18%;
  left: 0;
  right: 0;
  margin: 0 auto;
} */
/* @media (max-width: 414px){
  #mainvisual .logo_img {top: 18%;}
} */

/* ハロウィン */
#mainvisual .mv_hw{display: none;}
#mainvisual .tape_img {
  display: block;
  width: 100%;
  height: 56px;
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
  background: #090606 url(../images/hw_tape.png) center center / cover repeat-x;
}
#mainvisual .illust_img_top {
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
}
#mainvisual .illust_img_top img,
#mainvisual .illust_img_bottom img {
  max-width: 800px;
  width: 90%;
  height: auto;
}
#mainvisual .illust_img_bottom {
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  #mainvisual .tape_img {
    background: url(../images/hw_tape.png) top center / contain repeat-x;
  }
  #mainvisual .illust_img_bottom { bottom: 15%; }
}

/* xmas2024バージョン(mv上部の花がない時) */
/*
#mainvisual .bg_img .top { display: none; }
#mainvisual {
  background: url(../images/mainvisual_xmas2024_sp.jpg) center center / cover no-repeat;
}
@media (min-width: 768px) {
  #mainvisual {
    background: url(../images/mainvisual_xmas2024_pc.jpg) top center / cover no-repeat;
  }
}
#mainvisual .logo_img {
  position: absolute;
  top: 30%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (max-width: 414px){
  #mainvisual .logo_img {top: 24%;}
}
*/

/* 正月バージョン(mv上部の花がない時) */
/*#mainvisual .bg_img .top { display: none; }
#mainvisual {
  background: url(../images/mainvisual_newyear_sp.jpg) bottom 190px center / cover no-repeat;
}
@media (min-width: 768px) {
  #mainvisual {
    background: url(../images/mainvisual_newyear.jpg) bottom 190px center / cover no-repeat;
  }
}
#mainvisual .logo_img {
  position: absolute;
  top: 38%;
  left: 50%;
  transform: translateY(-38%) translateX(-50%);
  -webkit- transform: translateY(-38%) translateX(-50%);
}
#mainvisual .logo_img img {
  width: 100%;
  height: auto;
  max-width: 600px;
}
header h1 {
    width: 94px;
}
@media (max-width: 768px){
  #mainvisual .logo_img {
    width: 80%;
    top: 30%;
    left: 50%;
    transform: translateY(-30%) translateX(-50%);
  }
  #mainvisual .logo_img img {
    max-width: 400px;
  }
  header h1 {
    width: 100px!important;
  }
}*/


/*電話番号・営業時間・受付時間*/ /*pc*/
.top_info {
  width: 100%;
  background: #fff;
}
@media (min-width: 768px) {
  .top_info {
    background: #fff;
  }
}
@media screen and (max-width: 425px) {
  span.info_font{
    font-size: 0.7em!important;
  }
}

.top_info{
  position: initial;
}
/* バレンタインバージョン(mv上部の花がない時) */
/*
#mainvisual .bg_img .top { display: none; }
#mainvisual {
  background: url(../images/mainvisual_valentine_sp.png) center center / cover no-repeat;
  height: auto;
}
#mainvisual .bg_img {
    aspect-ratio: 5 / 8;
    height: auto;
}
#mainvisual .logo_img {
  display: none;
}
@media (min-width: 768px) {
  #mainvisual {
    background: url(../images/mainvisual_valentine_pc.png) top center / cover no-repeat;
  }
  #mainvisual .bg_img {
    aspect-ratio: 1000 / 629;
  }
}
*/


.top_info .tel_box li {
  padding: 8px 0;
}
.top_info .tel_box li:first-child {
  background: #fff;
  background: url(../images/bg_gradation_papillon.jpg) center top / cover no-repeat;
}
.top_info .tel_box li:last-child {
  background: #d8e7fc;
  background: url(../images/bg_gradation_madamepapillon.jpg) center center / cover no-repeat;
}
.top_info .tel_box li a {
  display: block;
  width: calc(90% - 10px);
  max-width: 700px;
  margin: 0 auto;
  color: var(--color-black1);
  border: 1px solid #4d4d4d;
  font-size: 17px;
  padding: 4px 0 2px;
  line-height: 1.4;
}
.top_info .tel_box li .name {
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 1px;
}
.top_info .tel_box li span {
  font-size: 0.6em;
  margin-right: 5px;
}


.top_info .info_box {
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
  padding: 8px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}

.top_info .info_box li {
  width: 30%;
  margin-right: 2%;
  border-right: 1px solid #ddd;
  color: var(--color-black1);
  font-size: 20px;
  text-align: left;
  line-height: 20px;
  letter-spacing: 1.5px;
}

.top_info .info_box li:last-child {
  border-right: none;
  margin-right: 0;
}

.top_info .info_box li a {
  display: block;
  color: var(--color-white1);
}

.top_info .info_box li span {
  display: block;
  font-size: 0.6em;
}

/*

コンテンツ

*/
main {
  margin: 0 auto;
  max-width: 1920px;
  width: 100%;
}

/******************************
footer
******************************/
footer {
  background: url(../images/bg_topics.jpg) top center no-repeat;
  background-size: cover;
  font-size: 10px;
  padding: 30px;
}

footer {
  color: var(--color-black1);
}

.footer_inner {
  max-width: 1000px;
  background: rgba(255, 255, 255, 0.7);
  margin: 0 auto;
}

/* パンくずリスト */
.breadcrumbs {
  text-align: center;
  border-bottom: 1px solid #4d4d4d;
  color: #636363;
  /* max-width: 1000px; */
  width: 80%;
  margin: 0 auto 14px;
}

.breadcrumbs ul li {
  font-size: 10px;
  line-height: 30px;
  display: inline-block;
}

.breadcrumbs ul li:before {
  content: "\f105";
  font-family: FontAwesome;
  display: inline;
  margin: 0 8px 0;
}

.breadcrumbs ul li:first-child:before {
  margin: 0;
  content: "";
}

.breadcrumbs ul li a {
  color: var(--color-black1);
}

/* テキストメニュー */
footer .nav {
  margin: 0 auto;
  padding-bottom: 6px;
  display: table;
}

footer .nav li {
  display: table-cell;
  color: var(--color-black1);
}

footer .nav li a {
  color: var(--color-black1);
}

footer .nav li:after {
  content: "　|　";
  display: inline;
  margin: 0 3px;
}

footer .nav li:last-child:after {
  display: none;
}

footer .logo {
  width: 100%;
  margin: 40px auto;
}

footer .logo img {
  width: clamp(240px, 40vw, 320px);
}

footer .bnr_box {
  max-width: 1000px;
  margin: 0 auto 50px;
  padding: 0 10px;
}

footer .bnr_box img {
  max-width: 100%;
  height: auto;
}

/******************************
トップページ
******************************/
/*トップページh2スタイル設定*/

#section_today h2,
#section_new h2,
#section_topics h2,
#section_event h2,
#section_twitter h2,
#section_bluesky h2,
#section_recruit h2 {
  color: var(--color-black1);
  text-align: center;
  font-size: 32px;
  letter-spacing: 5px;
  line-height: 34px;
  margin-bottom: 30px;
  text-transform: uppercase;
}
#section_new h2,
#section_today h2{
  letter-spacing: 3px;
  margin-bottom: 0;
  width: 100%;
  background: var(--bg-gradiation-pb);
  background: url(../images/bg_topics.jpg) center top / cover no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding: 30px 0 20px;
  width: 100%;
}

#section_today h2 span,
#section_new h2 span,
#section_topics h2 span,
#section_event h2 span,
#section_twitter h2 span,
#section_bluesky h2 span,
#section_recruit h2 span {
  font-size: 0.4em;
  letter-spacing: 4px;
}
#section_event h2{
  color: var(--color-black1);
}

/*本日の出勤*/
#section_today div p.heading,
#section_new div p.heading {
  letter-spacing: 4px;
  display: block;
  font-size: 22px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 2px;
  color: var(--color-black1);
  margin-bottom: 16px;
}
#section_today div p.heading span,
#section_new div p.heading span{
  font-size: 14px;
  display: block;
  line-height: 1;
}
#section_today div span.heading,
#section_new div span.heading {
  font-size: 0.4em;
  letter-spacing: 4px;
  display: block;
  font-size: 20px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 2px;
  color: var(--color-black1);
  margin-bottom: 16px;
}

#section_today .section_today_1,
#section_today .section_today_2 {
  width: 100%;
  position: relative;
  overflow: hidden;
}

#section_today .bg {
  width: 100%;
  top: 0;
  padding: 300px 50% 2%;
  position: absolute;
  z-index: -1;
}

/* 1 パピヨン */
#section_today .section_today_1 .bg {
  background: #fff;
  background: url(../images/bg_gradation_papillon.jpg) center top / cover no-repeat;
}
/* 2 マダムパピヨン */
#section_today .section_today_2{
  margin-bottom: 60px;
}
#section_today .section_today_2 .bg {
  background: #fff;
  background: url(../images/bg_gradation_madamepapillon.jpg) center top / cover no-repeat;
}
@media (min-width: 768px) {
  #section_today .section_today_2{
    margin-bottom: 80px;
  }
}

#section_today .inner {
  padding: 20px 0;
  position: relative;
}
#section_today .slider.section_today_1 .inner{
  padding: 40px 0 20px;
}
@media (min-width: 768px) {
  #section_today .slider.section_today_1 .inner{
    padding: 60px 0 40px;
  }
}
/*新人セラピスト*/
#section_new {
  width: 100%;
  padding: 0 0 20px;
   background: var(--bg-gradiation-pb);
}
#section_new .section_new_2 {
  margin-top: 20px;
}
#section_new h2 {margin-bottom: 40px;}
#section_new h2 span.name {
  display: block;
  font-size: 17px;
  margin-bottom: 10px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 2px;
}
@media (min-width: 768px) {
  #section_new {
    padding: 0 0 40px;
  }
  #section_new .section_new_2 {
    margin-top: 60px;
  }
  #section_new h2 {margin-bottom: 60px;}
}
#section_new .inner {
  position: relative;
}

/* 新着情報 */
#section_topics {
  width: 100%;
  background: url(../images/bg_topics.jpg) 0 0 no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding: 80px 0;
}
#section_topics .topics_box {
  width: 90%;
  max-width: 950px;
  margin: 0 auto;
  /* box-shadow: 0px 0px 15px 5px #7d363660; */
}
#section_topics .topics_box h2 {
  width: 100%;
  height: 110px;
  float: left;
  /* background: var(--bg-gradiation-pb);
  background: url(../images/bg_gradation_sp.jpg) center top / cover no-repeat; */
  /* padding-top: 30%; */
  /* margin: 0 auto; */
  margin-bottom: 0;
  padding: 20px;
  /* text-shadow: 5px 5px 10px #ad3942;*/
}
@media (min-width: 768px) {
  #section_topics .topics_box h2 {
    /* background: var(--bg-gradiation-pb);
    background: url(../images/bg_gradation_pc.jpg) center top / cover no-repeat; */
  }
}
#section_topics .topics_box .bg_article {
  width: 100%;
  height: 450px;
  float: left;
  background: rgba(255, 255, 255, 0.9);
  padding: 25px;
}
#section_topics #info_box {
  padding: 10px;
  height: 400px;
  overflow-y: scroll;
  border: 1px solid #d3c1ed;
}

#section_topics #info_box tbody tr td {
  border: 1px solid #000;
}

#section_topics #info_box article {
  margin: 30px 10px;
  text-align: left;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #434450;
}

#section_topics #info_box article time {
  background: #c59fce;
  padding: 3px 25px;
  color: #fff;
}

#section_topics #info_box article h3 {
  text-align: left;
  font-size: 20px;
  color: #b084bb;
  border-bottom: 1px solid #d3c1ed;
  margin-bottom: 10px;
}

#section_topics .topics_box .bg_article #info_box table,
#section_topics .topics_box .bg_article #info_box img {
  max-width: 100% !important;
  height: auto !important;
}

#section_topics .topics_box .bg_article #info_box table {
  width: 100% !important;
}

#section_topics #info_box strong {
  font-weight: bold;
}

#section_topics #info_box p .btn_back,
#section_topics #info_box p .btn_next {
  width: 120px;
  padding: 5px 10px;
  color: #fff;
  background: #df4290;
}

/*メルマガ登録*/
#section_magazine .inner {
  padding: 60px 0 20px;
}
#section_magazine a img {
  max-width: 640px;
  width: 100%;
  height: auto;
}

/*イベント・Twitter*/
#contents_02 {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto;
  position: relative;
}
#contents_02 #section_topics {
  width: 100%;
  /* width: 48%; */
  /* float: left; */
  position: relative;
  padding-top: 30px;
}
/* #contents_02 #section_event {
  width: 48%;
  float: left;
  position: relative;
  padding-top: 30px;
} */

#contents_02 .sns_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 80px;
}
@media screen and (max-width: 900px) {
  #contents_02 .sns_box {
    display: block;
  }
  #contents_02 #section_bluesky {
    margin-top: 50px;
  }
}

#contents_02 #section_twitter,
#contents_02 #section_bluesky {
  width: 100%;
  /* width: 48%; */
  /* float: right; */
  position: relative;
  padding-top: 30px;
}

#section_topics .bg,
#section_twitter .bg,
#section_bluesky .bg {
  width: 70%;
  background: var(--bg-gradiation-pb);
  background: url(../images/bg_gradation_pc.jpg) center top / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  padding: 30% 35% 5%;
  z-index: -1;
}

/* #section_topics .topics_box, */
#section_twitter .twitter_box,
#section_bluesky .bluesky_box {
  width: 90%;
  margin: 0 auto;
  /* float: right; */
}

#section_topics .topics_box h2{
  text-align: center;
}
#section_twitter .twitter_box h2,
#section_bluesky .bluesky_box h2 {
  text-align: left;
}

/*イベント部分*/
#section_topics {
  margin-right: 20px;
}
#section_event{
  position: relative;
  width: 100%;
  margin: 80px auto;
  max-width: 690px;
  padding: 0 20px;
}
#section_event img{
  max-width: 650px;
  width: 100%;
}
/* #section_event .event_box img {
  width: 100%;
  box-shadow: 0px 0px 15px 5px #6f494930;
} */

/*イベントスライダー設定*/
.flex-control-paging li a {
  background: #decfea;
  -webkit-box-shadow: unset;
  -moz-box-shadow: unset;
  -o-box-shadow: unset;
  box-shadow: unset;
}
.flex-control-paging li a.flex-active {
  background: #8a7abe;
  cursor: default;
}
.flexslider {
  margin: 0 0 60px;
  border: none;
}
.flex-direction-nav .flex-next,
.flex-direction-nav .flex-prev {
  opacity: 1;
  background: var(--color-purple1);
  border-radius: 50%;
  border: 1px solid #fff;
  width: 25px;
  height: 25px;
  top: 60%;
  z-index: 10000;
}
#section_event .flex-direction-nav .flex-next,
#section_event .flex-direction-nav .flex-prev {
  top: 56%;
}
#section_event .flex-control-nav {
  bottom: 20px;
  /* left: 35px; */
}
.flex-direction-nav .flex-next {
  right: 0;
}
.flex-direction-nav .flex-prev {
  left: 0;
}


#section_recruit .flex-direction-nav .flex-prev {
  left: 20%;
}

#section_recruit .flex-direction-nav .flex-next {
  right: 20%;
}

.flex-direction-nav a.flex-prev:before,
.flex-direction-nav a.flex-next:before {
  line-height: 22px;
  font-size: 12px;
  color: #fff;
}

.flex-direction-nav a.flex-prev:before {
  content: "\f104";
  margin-left: -2px;
}

.flex-direction-nav a.flex-next:before {
  content: "\f105";
  padding-right: 9px;
}

.recruit_movie {
  padding: 0 0 50px;
}
.recruit_movie .btn_more {
  background: var(--bg-gradiation-pb);
  color: var(--color-black1);
  margin: 20px auto;
}
.recruit_movie .btn_more::after {
    border: 1px solid var(--color-purple1);
}
.recruit_movie .movie_box video {
  width: 90%;
  max-width: 650px;
  margin: 0 auto;
}

.recruit_movie .movie_box video:nth-of-type(1) {
  margin-bottom: 20px;
}

_::-webkit-full-page-media,
_:future,
:root .recruit_movie .movie_box video:nth-of-type(1) {
  margin-left: 3px;
}

.recruit_movie .movie_box h2 {
  background: rgba(244, 89, 103, 0.8);
  margin-bottom: 0;
  text-shadow: 5px 5px 10px #ad3942;
  width: 100%;
  height: auto;
  padding: 15px 0;
  color: #fff;
  text-align: center;
  font-size: 24px;
  letter-spacing: 5px;
  line-height: 34px;
  max-width: 650px;
  width: 90%;
  margin: 0 auto;
}

#section_event .event_box {
  z-index: 1;
}

/*ツイッター部分*/
#section_twitter h2,
#section_bluesky h2 {
  margin-bottom: 20px;
}

#section_twitter .article,
#section_bluesky .article {
  max-width: 460px;
  margin: 0 auto;
}
/* @media (min-width: 768px) {
  #section_twitter .article,
  #section_bluesky .article {
    margin: 0;
  }
} */

#section_twitter .article iframe,
#section_bluesky .article iframe {
  box-shadow: 0px 0px 10px 5px #6f494920;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.6);
  height: 460px;
  width: min(100%, 450px);
  position: relative;
  z-index: 20;
}

/*バナー4種*/
#section_bnr {
  width: 100%;
  margin: 80px auto;
  max-width: 900px;
}

#section_bnr h2 {
  max-width: 1200px;
  width: 90%;
  overflow: hidden;
  text-align: center;
  margin: 0 auto;
  font-size: 30px;
  letter-spacing: 3px;
  color: var(--color-purple1);
}

#section_bnr h2 span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  text-align: left;
}

#section_bnr h2 span::before,
#section_bnr h2 span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 500%;
  height: 1px;
  background-color: var(--color-purple1);
}

#section_bnr h2 span::before {
  right: 100%;
}

#section_bnr h2 span::after {
  left: 100%;
}

#section_bnr .bnr {
  vertical-align: bottom;
  position: relative;
  overflow: hidden;
  margin: 10px;
  display: inline-block;
  max-width: 400px;
  width: 90%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

#section_bnr .bnr img {
  width: 100%;
  height: auto;
}

#section_bnr .bnr figcaption {
  position: absolute;
  bottom: 0%;
  left: 0;
  width: 100%;
  z-index: 1;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

#section_bnr .bnr h3,
#section_bnr .bnr p {
  margin: 0;
  width: 100%;
}

#section_bnr .bnr h3 {
  color: #ea3d99;
  letter-spacing: 2px;
  position: absolute;
  bottom: 100%;
  line-height: 50px;
  text-transform: uppercase;
  text-align: left;
  padding: 5px 20px;
  font-size: 36px;
}

#section_bnr .bnr p {
  background: rgba(255, 255, 255, 0.75);
  text-align: left;
  bottom: 0;
  font-size: 0.8em;
  font-weight: 500;
  padding: 10px 20px;
  font-size: 16px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #434450;
}

#section_bnr .bnr p:after {
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
  right: 20px;
  top: 10px;
}

#section_bnr .bnr a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}

#section_bnr .bnr:hover {
  box-shadow: 0px 5px 5px #ccc;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

#section_bnr .bnr:hover figcaption {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.bnr_link {
  margin: 10px;
  display: inline-block;
  max-width: 400px;
  width: 90%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  position: relative;
  z-index: 999;
}

.bnr_link img {
  max-width: 100%;
  height: auto;
}

.bnr_link:hover {
  box-shadow: 0px 5px 5px #ccc;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

/*求人バナー*/
#section_recruit {
  width: 100%;
  position: relative;
  padding: 50px 0 0;
}

#section_recruit .bg {
  background: var(--bg-gradation1);
  background: url(../images/bg_gradation_pc.jpg) center top / cover no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  padding: 250px 30% 5%;
  z-index: -1;
}

#section_recruit .bnr_box {
  width: 90%;
  max-width: 650px;
  margin: 0 auto;
}

#section_recruit .bnr_box h2 {
  text-align: left;
}

#section_recruit .bnr_box img {
  width: 100%;
}

/*バナー下のドット位置設定*/
#section_recruit .flex-control-nav {
  bottom: 45px;
  position: relative;
}

/****************************************
下層ページ共通
****************************************/
/*ローディングアニメーション*/
.shutter {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background: var(--color-pink1); */
  background: var(--bg-gradiation-pb);
  z-index: 9999999;
  animation: bgAnime linear 1.5s forwards;
}
.shutter img{
  width: 200px;
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.spinner {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-scaleout 0.8s both;
  animation: sk-scaleout 0.8s both;
}

.text {
  text-align: center;
  font-size: 5vw;
  height: 1em;
  line-height: 1.2;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 7;
  -webkit-animation: 0.5s tracking-out-expand-fwd 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  animation: 0.5s tracking-out-expand-fwd 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  font-family: "Snell Roundhand", sans-serif;
}
.text span:nth-of-type(1) {
  color: var(--color-pink4);
}
.text span:nth-of-type(2) {
  color: var(--color-purple1);
}

/*keyframe*/
@keyframes bgAnime {
  70% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    display: none;
    z-index: -99999;
  }
}

@-webkit-keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
  }

  100% {
    -webkit-transform: scale(1);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@-webkit-keyframes tracking-out-expand-fwd {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }

  60% {
    opacity: 0.8;
  }

  100% {
    letter-spacing: 1em;
    -webkit-transform: translateZ(300px);
    transform: translateZ(300px);
    opacity: 0;
  }
}

@keyframes tracking-out-expand-fwd {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }

  60% {
    opacity: 0.8;
  }

  100% {
    letter-spacing: 1em;
    -webkit-transform: translateZ(300px);
    transform: translateZ(300px);
    opacity: 0;
  }
}

/*下層ページサブビジュアル*/
.subvisual {
  position: relative;
  background: #fff8f8;
  background-size: cover;
  position: relative;
  height: 30vh;
  margin-bottom: 3%;
  overflow: hidden;
}

.subvisual .center {
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  min-width: 400px;
  max-width: 800px;
  margin: 0 auto;
}

.subvisual.center_pb {
  background: url(../images/mainvisual_center_pb.png) center / cover no-repeat;
}
.subvisual.center_bp {
  background: url(../images/mainvisual_center_bp.png) center / cover no-repeat;
}


.contents_title {
  /* color: #e24297; */
  font-size: 40px;
  line-height: 36px;
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
}
.contents_title.txt_pb .main {
  background: var(--bg-gradiation-txt-pb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contents_title.txt_bp .main {
  background: var(--bg-gradiation-txt-bp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contents_title.txt_pb .sub {
  background: var(--bg-gradiation-txt-pb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contents_title.txt_bp .sub {
  background: var(--bg-gradiation-txt-bp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.contents_title .sub {
  font-size: 0.5em;
}

/*下層ページコンテンツpadding*/
#contents,
#contents_cast .inner,
#contents_schedule .inner,
#contents_magazine .inner {
  padding: 30px 0 80px;
}

/*下層ページh3設定*/
#contents h3,
.title_h3 {
  position: relative;
  padding: 0.5em 0;
  font-size: 2em;
  letter-spacing: 3px;
}

#contents h3::before,
#contents h3::after,
.title_h3::before,
.title_h3::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 6px;
  box-sizing: border-box;
}

#contents h3::before,
.title_h3::before {
  top: 0;
  border-top: 2px solid #ccc;
  border-bottom: 1px solid #ccc;
}

#contents h3::after,
.title_h3::after {
  bottom: 0;
  border-top: 1px solid #ccc;
  border-bottom: 2px solid #ccc;
}

/****************************************
女の子一覧ページ & スケジュールページ
****************************************/
/* テキストメニュー */
#contents_schedule .schedule_nav {
  margin: 30px auto 20px;
  display: flex;
  justify-content: center;
}

#contents_schedule .schedule_nav li {
  width: calc(100% / 7);
  margin-bottom: 10px;
  margin: 0 4px 20px;
  background: #fff;
}

#contents_schedule .schedule_nav li a {
  padding: 10px;
  font-size: 13px;
  display: block;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border: 1px solid #ccc;
  position: relative;
  box-sizing: border-box;
}

#contents_schedule .schedule_nav li a:hover {
  border: 1px solid  var(--color-pink2);
  color: var(--color-pink2);
}

#contents_schedule .schedule_nav li.active a {
  border: 1px solid var(--color-purple1);
  background: var(--color-purple1);
  color: var(--color-white1);
}

#contents_schedule .schedule_nav_inner,
#contents_cast .staff_txt_inner {
  padding: 30px 0 0;
}

#contents_schedule .schedule_inner,
#contents_cast .staff_inner {
  width: 100%;
  position: relative;
  padding-top: 40px;
}
#contents_schedule .schedule_inner h2,
#contents_cast .staff_inner h3 {
  color: var(--color-black1);
  text-align: center;
  font-size: 18px;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 2px;
  line-height: 34px;
  margin: 0 20px;
}
#contents_schedule .schedule_inner h2 span,
#contents_cast .staff_inner h3 span{
  font-size: 14px;
  display: block;
}
@media (min-width: 768px) {
  #contents_schedule .schedule_inner,
  #contents_cast .staff_inner {
    padding-top: 80px;
  }
  #contents_schedule .schedule_inner h2,
  #contents_cast .staff_inner h3 {
    font-size: 22px;
    margin: 0 20px 30px;
  }
}
#contents_schedule .schedule_inner .bg,
#contents_cast .staff_inner .bg {
  width: 100%;
  top: 0;
  padding: 300px 50% 2%;
  position: absolute;
  z-index: -1;
}
#contents_schedule .schedule_inner.schedule_inner_1 .bg,
#contents_cast .staff_inner.staff_inner_1 .bg {
    background: url(../images/bg_gradation_papillon.jpg) center top / cover no-repeat;
}
#contents_schedule .schedule_inner.schedule_inner_2 .bg,
#contents_cast .staff_inner.staff_inner_2 .bg {
    background: url(../images/bg_gradation_madamepapillon.jpg) center top / cover no-repeat;
}
.shop_jump_btn{
  width: 90%;
  max-width: 700px;
  margin: 0 auto 40px;
}
.shop_jump_btn li{
  padding: 8px 0;
}
.shop_jump_btn li:first-child{
  background: url(../images/bg_gradation_papillon.jpg) center top / cover no-repeat;
  margin-bottom: 10px;
}
.shop_jump_btn li:last-child{
  background: url(../images/bg_gradation_madamepapillon.jpg) center top / cover no-repeat;
}
.shop_jump_btn li a {
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  display: block;
  width: calc(100% - 16px);
  max-width: 700px;
  margin: 0 auto;
  color: var(--color-black1);
  border: 1px solid #4d4d4d;
  font-size: 17px;
  padding: 4px 0 2px;
  line-height: 1.4;
}

/****************************************
週間スケジュールページ
****************************************/
#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 #contents.inner {
  max-width: 820px;
}

#contents_profile .profile_box_right {
  width: 60%;
  float: right;
}

#contents_profile .profile_box_right .icon_box {
  display: inline-block;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px min(2%, 30px);
}
#contents_profile .profile_box_right .icon_box span{
  text-align: center;
  padding: 4px;
  font-size: 14px;
  color: #fff;
}

/* パピヨン */
#contents_profile .profile_box_right .cls_papillon_1 {
  background: var(--color-papillon-class1);
}
#contents_profile .profile_box_right .cls_papillon_2 {
  background: var(--color-papillon-class2);
}
/* マダムパピヨン */
#contents_profile .profile_box_right .cls_madamepapillon_1 {
  background: var(--color-madamepapillon-class1);
}
#contents_profile .profile_box_right .cls_madamepapillon_2 {
  background: var(--color-madamepapillon-class2);
}

#contents_profile .profile_box_right .cls_madamepapillon_2 {
  background: var(--color-madamepapillon-class2);
}
/* 極液アイコン */
#contents_profile .profile_box_right .gokueki.on { background: linear-gradient(0deg, #b85fc7 0%, #ca96d3 100%);}
#contents_profile .profile_box_right .syuttyou { background: var(--color-papillon-class1);}
#contents_profile .profile_box_right .hotel_syuttyou { background: var(--color-madamepapillon-class2);}

#contents_profile .profile_box_right .gokueki.off,
#contents_profile .profile_box_right .syuttyou.off,
#contents_profile .profile_box_right .hotel_syuttyou.off { background: linear-gradient(0deg, #8a8a8a 0%, #bbbbbb 100%);}

@media (max-width: 767px) {
  #contents_profile .profile_box_right .icon_box {
    display: block;
  }
}


#contents_profile .profile_box_right .age {
  color: var(--color-black1);
  font-size: 0.8em;
}

#contents_profile .profile_box_left {
  width: 40%;
  float: left;
}

#contents_profile .profile_box_left .img_box {
  width: 300px;
  height: 450px;
  margin: 0 auto 20px;
  position: relative;
  text-align: center;
}

#contents_profile .profile_box_left .bnr_enquete {
  padding-top: 20px;
}

#contents_profile .profile_box_left .bnr_enquete:hover {
  opacity: 0.6;
}

#contents_profile .profile_box_left .bnr_enquete img {
  width: 100%;
  max-width: 300px;
}

/*以下のサイズはサイトに合わせてください*/
#contents_profile .img_box .img_staff {
  width: 100%;
}

/*プロフィール右設定*/
#contents_profile .profile_box_right .prof_table {
  padding: 30px 10px;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid #fff;
  margin-bottom: 10px;
  color: #000000;
  text-align: left;
}

#contents_profile .profile_box_right dl {
  font-size: 16px;
  margin-bottom: 20px;
  text-align: left;
}

#contents_profile .profile_box_right dt {
  padding-left: 10px;
  border-left: 4px solid var(--color-pink2);
  color: var(--color-pink2);
}

#contents_profile .profile_box_right dd {
  padding-top: 10px;
}

#contents_profile .profile_box_right dd img {
  max-width: 120px;
  vertical-align: middle;
}

#contents_profile .profile_box_right dd img.sns_bnr {
  max-width: 300px;
}

.twitter_border {
  border: 1px solid #ccc;
}

/*出勤スケジュール部分の設定*/
.profile_box_schedule {
  clear: both;
}

.profile_box_schedule h3 {
  margin-bottom: 20px;
}

.profile_box_schedule .profile_sch_box {
  width: 100%;
  display: flex;
  box-sizing: border-box;
}

.profile_box_schedule .profile_sch_box .profile_sch_variable {
  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: 0.5em 1em;
  text-align: center;
  border-bottom: 1px solid #ccc;
}

.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check {
  padding: 0.8em 1em;
  color: #999;
  text-align: center;
}

.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .shop_1,
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .shop_2 {
  max-width: 140px;
  color: var(--color-black1);
  padding: 2px 0 0;
  margin: 4px auto 0;
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .shop_1 {
  background: var(--bg-gradation1);
}
.profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check .shop_2 {
  background: var(--bg-gradation-blue1);
}

@media (max-width: 767px) {
  .profile_box_schedule .profile_sch_box {
    display: block;
  }

  .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%;
  }

  .profile_box_schedule .profile_sch_box .profile_sch_variable .profile_sch_check {
    flex-basis: 50%;
    border-bottom: 1px solid #ccc;
  }
}

/* 感想一覧 */
.profile_box_impressions .profile_impre_box {
  width: 100%;
  /* max-width: 960px; */
  margin: 0 auto;
  padding: 20px;
}
.profile_box_impressions .profile_impre_box .impre_frame {
  border: 6px solid rgba(255, 113, 127, 0.3);
}
.profile_box_impressions .profile_impre_box .impre_outer {
  overflow: auto;
  max-height: 360px;
}
.profile_box_impressions .profile_impre_box .impre_sp {display: none;}

.profile_box_impressions .profile_impre_box .impre_lead {
  border-left: 4px solid #f45967;
  color: #f45967;
  padding: 2px 4px 2px;
}

.profile_box_impressions .profile_impre_box ul {
  padding: 0 40px;
}
.profile_box_impressions .profile_impre_box ul li {
  text-align: left;
  display: flex;
  align-items: center;
  padding: 40px 0;
}
.profile_box_impressions .profile_impre_box ul li + li {
  border-top: 1px dashed #ccc;
}

.profile_box_impressions .profile_impre_box .user {
  margin-right: 20px;
}
.profile_box_impressions .profile_impre_box .user .pict {
  width: 80px;
  height: 80px;
  background: #ece6e6;
  border-radius: 48px;
  margin-bottom: 8px;

  display: flex;
  justify-content: center;
  align-items: center;
}
.profile_box_impressions .profile_impre_box .user .pict i {
  font-size: 32px;
  color: #CCBFC0;
}

.profile_box_impressions .profile_impre_box .user_box_right {
  min-width: 320px;
}
.profile_box_impressions .profile_impre_box .user_box_right p {
  font-size: 13px;
  margin-bottom: 8px;
}

.profile_box_impressions .profile_impre_box .evaluation {
  display: flex;
  flex-wrap: wrap;
}
.profile_box_impressions .profile_impre_box .evaluation p {
  width: calc(100% /2);
  min-width: 200px;
  max-width: 200px;
}
.profile_box_impressions .profile_impre_box .evaluation p .review_star {
  color: #cea976;
  padding: 2px 4px 2px 0;
  border-left: none;
}
.profile_box_impressions .profile_impre_box .use_message p {
  margin-bottom: 0;
}

.profile_box_impressions .btn_impre_list {
  display: flex;
  justify-content: center;
  flex-direction: row;
}
.profile_box_impressions .btn_impre_list a {
  width: 120px;
  border: 1px solid #f45967;
  background: #f45967;
  color: #fff;
  padding: 12px;
  margin: 0 8px 40px 0;
}
.profile_box_impressions .btn_impre_list a:last-child {
  margin-right: 0;
}
.profile_box_impressions .btn_impre_list a span {
  font-size: 14px;
  color: #fff;
}
.profile_box_impressions .btn_impre_list a.prev span:before {
  content: "\f104";
  font-family: FontAwesome;
  display: inline;
  margin-right: 8px;
}
.profile_box_impressions .btn_impre_list a.next span:after {
  content: "\f105";
  font-family: FontAwesome;
  display: inline;
  margin-left: 8px;
}

@media (max-width: 767px) {
  .profile_box_impressions .profile_impre_box .impre_pc {display: none;}
  .profile_box_impressions .profile_impre_box .impre_sp {display: block;}

  .profile_box_impressions .profile_impre_box {
    padding: 10px;
  }
  .profile_box_impressions .profile_impre_box ul {
    padding: 0 20px;
  }
  .profile_box_impressions .profile_impre_box ul li {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 0;
  }

  .profile_box_impressions .profile_impre_box .user_box_right {
    min-width: initial;
  }
  .profile_box_impressions .profile_impre_box .user_box_right p {
    min-width: initial;
    margin-bottom: 4px;
  }
  .profile_box_impressions .profile_impre_box .user {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 10px;
    font-size: 14px;
  }
  .profile_box_impressions .profile_impre_box .user .pict {
    width: 48px;
    height: 48px;
    margin-bottom: 0;
    margin-right: 12px;
  }
  .profile_box_impressions .profile_impre_box .user .pict i {
    font-size: 24px;
  }
  .profile_box_impressions .profile_impre_box .evaluation {
    flex-direction: column
  }
  .profile_box_impressions .profile_impre_box .evaluation p {
    width: 100%;
  }

  .profile_box_impressions .btn_impre_list a {
    margin: 0 8px 20px 0;
  }

}


/****************************************
料金システムページ system.php
****************************************/
/*画像が左*/
.top_box01 {
  width: 100%;
  height: 500px;
  position: relative;
  display: block;
}
#contents_access .top_box01,
#contents_cast .top_box01 {
  height: 400px;
}
.top_box01 .img {
  width: 90%;
  max-width: 600px;
  position: absolute;
  top: 0;
  left: 0;
}
.top_box01 .img img {
  width: 100%;
}
.top_box01 .txt {
  width: 90%;
  max-width: 600px;
  background: var(--color-pink3);
  position: absolute;
  top: 100px;
  right: 0;
  padding: 10px;
}
.top_box01 .txt p {
  padding: 50px;
  border: 1px solid var(--color-purple1);
  color: var(--color-black1);
  font-size: 14px;
  line-height: 40px;
}
/*画像が右*/
.top_box02 {
  width: 100%;
  height: 500px;
  position: relative;
  display: block;
}
.top_box02 .img {
  width: 90%;
  max-width: 600px;
  position: absolute;
  top: 100px;
  right: 0;
}
.top_box02 .img img {
  width: 100%;
}
.top_box02 .txt {
  width: 90%;
  max-width: 600px;
  background: var(--color-pink3);
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px;
}
.top_box02 .txt p {
  padding: 50px;
  border: 1px solid var(--color-blue4);
  color: var(--color-black1);
  font-size: 14px;
  line-height: 40px;
}

.table_txt {
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  width: 90%;
  max-width: 540px;
  margin: 0 auto;
  padding: 20px 40px;
  border: 1px solid #ececec;
  color: #545454;
}
#contents_system h4 {
  padding: 0.25em 0 0.25em 0.75em;
  border-left: 6px solid #ccc;
}
.caution_txt {
  width: 90%;
  max-width: 600px;
  text-align: left;
  margin: 50px auto 0;
}
#contents_system .img_box {
  width: 90%;
  max-width: 600px;
  margin: 30px auto;
}
#contents_system .img_box .link_act_01:hover {
  box-shadow: 0px 0px 8px 5px #f7f1f1;
}

/****************************************
アクセスページ
****************************************/
#contents_access .access_box {
  margin-bottom: 50px;
}

#contents_access .table01 {
  max-width: 740px;
}

#contents_access .table01 td {
  font-size: 20px;
  line-height: 1.6em;
  vertical-align: middle;
}

#contents_access .table01 td.pc {
  width: 36%;
}

#contents_access .table01 td .name {
  font-size: 0.6em;
  line-height: 1.4;
  font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

#contents_access .table01 td span {
  font-size: 0.7em;
}

#contents_access h3 {
  line-height: 20px;
  padding-top: 20px;
  margin-bottom: 20px;
}

#contents_access .access_box p {
  text-align: left;
  padding: 0 50px;
  margin-bottom: 8px;
}

#contents_access .access_box p span {
  font-size: 17px;
}

#contents_access .list_box li {
  width: 470px;
  margin: 0 20px 20px 0;
  padding: 10px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.8);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#50ffffff, endColorstr=#50ffffff);
  float: left;
  text-align: center;
  border: 1px solid #fff;
}

#contents_access .list_box li:nth-of-type(2n) {
  margin-right: 0;
}

/****************************************
求人ページ
****************************************/
#contents_recruit .recruit_movie {
  padding: 50px 0;
}

#contents_recruit .recruit_movie .movie_box video {
  max-width: 800px;
  width: 80%;
}

#contents_recruit .recruit_movie .movie_box h2 {
  max-width: 800px;
  width: 80%;
}

/****************************************
アンケートページ
****************************************/
#contents_enquete th.tel span {
  letter-spacing: 0;
}

#contents_enquete td.best_staff p {
  font-size: 14px;
}

#contents_enquete td.best_staff p:before {
  content: "\f0d7";
  font-family: FontAwesome;
  display: inline;
  margin-right: 5px;
}

#contents_enquete .table03 td:last-child {
  margin-bottom: 0px;
}

#contents_enquete .btn_form {
  margin: 18px auto 20px;
}

/****************************************
メールマガジンページ
****************************************/
#contents_magazine .txt_box {
  max-width: 640px;
  margin: 0 auto;
}
#contents_magazine .txt_box .flow {
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  margin: 0 auto 20px;
  padding: 20px;
  border: 1px solid #ececec;
  color: #545454;
}
#contents_magazine .txt_box .flow li {
  text-indent: -0.8rem;
  margin-left: 0.8rem;
}
#contents_magazine .txt_box .flow li:not(:last-child) {
  margin-bottom: 10px;
}

#contents_magazine .regist_box form {
  font-size: 14px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
#contents_magazine .regist_box form input[type="text"] {
  min-width: 320px;
  width: 100%;
  font-size: 16px;
  line-height: 1em;
  padding: 6px;
}
#contents_magazine .regist_box form input[type="text"]::placeholder {
  color: #ccc;
  font-size: 13px;
}
#contents_magazine .regist_box form input[type="radio"] {
  margin: 0 4px 0 0;
  vertical-align: text-top;
}
#contents_magazine .regist_box form .input_radio_box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
#contents_magazine .regist_box form input[type="submit"] {
  display: inline-block;
  border-radius: 4px;
  padding: 8px 12px;
  margin-left: 8px;
  background: var(--color-purple1);
  border: 1px solid var(--color-purple1);
  text-align: center;
  line-height: 1em;
  font-size: 14px;
  color: #fff;
  cursor: pointer;
  transition: 0.3s;
}
#contents_magazine .regist_box form input[type="submit"]:hover {
  color: #f45967;
  background: #fff;
}

#contents_magazine .bnr {
  max-width: 640px;
  margin: 0 auto 20px;
}
#contents_magazine .bnr img {
  width: 100%;
  height: auto;
}

/****************************************
リンクページ
****************************************/
#contents_link h3 {
  line-height: 20px;
  padding-top: 20px;
  margin-bottom: 20px;
}

#contents_link .table02 {
  max-width: 660px;
}

/****************************************
404ページ
****************************************/
#contents_err h3 {
  line-height: 20px;
  padding-top: 20px;
  margin-bottom: 20px;
}

#contents_err #err_toplink a {
  position: relative;
  color: #e72d34;
  text-decoration: underline;
}

#contents_err #err_toplink a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -25px;
  margin: -8px 0 0 0;
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-left: 7px solid #e72d34;
}

/****************************************
メディアクエリ設定
****************************************/

/* @media screen and (max-width: 1200px) {
  .flex-direction-nav .flex-next {
    right: 18%;
  }

  .flex-direction-nav .flex-prev {
    left: 18%;
  }
} */

@media screen and (min-width: 769px) {
  #bottom_nav {
    display: none !important;
  }
}

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

  /*header.html*/
  header {
    height: 55px;
  }

  header h1 {
    top: 6px;
  }

  /*footer.hrml*/
  footer {
    margin-bottom: 66px;
  }

  /*追従ボタン設定*/
  #bottom_nav {
    display: none;
  }

  #bottom_nav.fade {
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;
    margin: 0 10px;
    z-index: 50000;
    display: block !important;
    animation-duration: 2.6s;
    -webkit-animation-duration: 2.6s;
    animation-name: fade;
  }

  @keyframes fade {
    0% {
      opacity: 0;
      transform: translateY(-100px);
    }

    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @-webkit-keyframes fade {
    0% {
      opacity: 0;
      transform: translateY(-100px);
    }

    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  #bottom_nav .bottom_nav_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  #bottom_nav a {
    display: block;
    padding: 12px 0;
    color: var(--color-black1);
    background: var(--bg-gradiation-pb);
  }

  /*index.html*/
  /*メインビジュアル*/
  #mainvisual .bg_img .left {
    top: -100px;
    width: 60%;
  }

  #mainvisual .bg_img .right {
    width: 70%;
  }

  /*店舗情報*/ /*sp*/
  /* #mainvisual .top_info .info_box li:first-child {
    width: 100%;
    text-align: center;
    border: 1px solid var(--color-white1);
    margin-bottom: 10px;
  } */

  /* #mainvisual .top_info .info_box li:first-child,
  #mainvisual .top_info .info_box li:last-child {
    margin-right: 0;
  } */

  .top_info .info_box li,
  .top_info .info_box li a {
    font-size: 17px;
  }

  .top_info .info_box li {
    width: 49%;
  }

  .top_info .info_box li a {
    padding: 8px 0 5px;
  }

  .top_info .info_box li a span {
    display: unset;
  }

  /*本日の出勤・新人情報*/
  #section_today .inner {
    padding: 20px 10px;
  }

  /*新着情報*/
  #section_topics {
    background-attachment: unset;
  }
  #section_topics .topics_box h2 {
    width: 100%;
    height: auto;
    padding: 20px;
  }
  #section_topics .topics_box .bg_article {
    width: 100%;
    height: 500px;
    padding: 10px;
  }
  #section_topics .topics_box .bg_article #info_box {
    height: 475px;
    word-break: break-word;
  }

  /*メルマガ登録*/
  #section_magazine .inner {
    padding: 40px 1.0rem;
  }

  /*イベント・ツイッター*/
  /* #contents_02 .bg_sp {
    background: var(--bg-gradation1);
    background: url(../images/bg_gradation_sp.jpg) center top / cover no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    padding: 520px 28%;
    z-index: -1;
  } */

  #contents_02 #section_topics,
  #contents_02 #section_twitter {
    width: 100%;
    /* margin-bottom: 50px; */
  }

  #section_topics .bg {
    display: none;
  }

  #section_twitter .bg,
  #section_bluesky .bg {
    padding: 30% 35%;
  }

  #section_topics .event_box,
  #section_twitter .twitter_box,
  #section_bluesky .bluesky_box {
    float: unset;
    margin: 0 auto;
  }

  /*バナー3種*/
  #section_bnr .bnr,
  #section_bnr .bnr_link{
    box-shadow: 0px 0px 8px 5px #f7f1f1;
  }

  #section_bnr .bnr figcaption {
    -webkit-transform: unset;
    transform: unset;
  }

  /*    ↓下層ページ↓     */
  /*サブビジュアル*/
  .subvisual .right,
  .subvisual .left {
    max-width: 150px;
  }

  /*schedule.html*/
  #contents_schedule .schedule_nav {
    flex-wrap: wrap;
  }

  #contents_schedule .schedule_nav li {
    width: calc(96% / 2);
    margin: 0 1% 8px;
  }

  #contents_schedule .schedule_nav li:first-child {
    width: 100%;
  }

  /*profile.html*/
  #contents_profile .profile_box_left,
  #contents_profile .profile_box_right {
    float: unset;
    margin: 0 auto;
  }

  #contents_profile .profile_box_left {
    width: 80%;
    margin-bottom: 50px;
  }

  #contents_profile .profile_box_right {
    width: 100%;
  }

  #contents_profile .profile_box_right .prof_table {
    width: 80%;
    margin: 0 auto;
  }

  #contents_profile .profile_box_left .img_box {
    max-width: 300px;
    width: 100%;
    height: unset;
  }

  /* イベント 矢印位置 */
  /* .flex-direction-nav .flex-next {
    right: 44px;
  } */

  .flex-direction-nav .flex-next,
  .flex-direction-nav .flex-prev {
    top: 57%;
  }

  /* .flex-direction-nav .flex-prev {
    left: 43px;
  } */

  #section_event .flex-control-nav {
    left: 0 !important;
  }

  /* #section_event .flex-direction-nav .flex-next,
  #section_event .flex-direction-nav .flex-prev {
    top: 62%;
  } */

  #section_recruit .flex-direction-nav .flex-prev {
    left: 4%;
  }

  #section_recruit .flex-direction-nav .flex-next {
    right: 4%;
  }

  #section_recruit .flex-direction-nav .flex-next,
  #section_recruit .flex-direction-nav .flex-prev {
    top: 60%;
  }

  #contents_magazine .inner {
    padding: 30px 1.0rem 80px;
  }
  #contents_magazine .regist_box form input[type="text"] {
    width: 100%;
  }
  #contents_magazine .regist_box form input[type="submit"] {
    display: inline-block;
    border-radius: 6px;
    padding: 12px 24px;
    margin-left: 16px;
    line-height: 1em;
    font-size: 16px;
}
  #contents_magazine .regist_box form .input_radio_box {
    gap: 12px;
  }
  #contents_magazine .regist_box form {
    flex-direction: column;
  }
}

@media screen and (max-width: 700px) {
  .top_box01,
  .top_box02 {
    height: 430px;
  }
  #contents_access .top_box01 {
    height: 350px;
  }
  #contents_cast .top_box01{
    height: 340px;
  }
  .top_box01 .txt {
    top: 50px;
  }
  .top_box01 .txt p span.fs_18em {
    font-size: 1.5em;
  }
  .top_box01 .txt p,
  .top_box02 .txt p {
    line-height: 34px;
    padding: 30px 15px;
    -ms-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .top_box02 .img {top: 0;}
  .top_box02 .txt {top: 50px;}
  #contents_access .access_box p {padding: 0 35px;}
}

@media screen and (max-width: 425px) {
  #contents_access .top_box01 {
    height: 280px;
  }
  #contents_cast .top_box01{
   height: 320px;
  }
  .top_info .info_box li {
    font-size: 14px;
  }

  /*下層ページ*/
  /*サブビジュアル*/
  .subvisual .center {
    bottom: -80px;
    min-width: 300px;
  }

  .table_txt {
    padding: 20px;
  }

  /*access.html*/
  #contents_access .table01 th,
  #contents_access .table01 td {
    font-size: 1em;
    font-feature-settings: "palt";
  }

  #contents_access .access_box p {
    padding: 0 21px;
  }

  /*system.html*/
  #contents_system .table01 th,
  #contents_system .table01 td {
    font-feature-settings: "palt";
  }

  /*recruit.html*/

  #contents_recruit .recruit_movie .movie_box video {
    width: 90%;
  }

  #contents_recruit .recruit_movie .movie_box h2 {
    width: 90%;
  }

  .table02 {
    width: 90%;
    margin: 20px auto;
  }

  .table02 tr {
    border-bottom: 1px solid #eee;
  }

  .table02 th {
    width: 100%;
    display: block;
    border-left: 4px solid #ececec;
    border-right: none;
    font-weight: bold;
  }

  .table02 td {
    font-feature-settings: "palt";
  }

  /* イベント 矢印位置 */
  .flex-direction-nav .flex-next,
  .flex-direction-nav .flex-prev {
    top: 60%;
  }

  .flex-direction-nav .flex-prev {
    left: 0;
  }

  .flex-direction-nav .flex-next {
    right: 0;
  }
}

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

  /* イベント 矢印位置 */
  .flex-direction-nav .flex-next,
  .flex-direction-nav .flex-prev {
    top: 63%;
  }

  .flex-direction-nav .flex-next {
    right: 20px;
  }

  .flex-direction-nav .flex-prev {
    left: 18px;
  }
}