@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

html {
  overflow-x: hidden;
}

body {
  font-size: 16px;
  /* 変更 */
  font-family: serif;
  line-height: 1.6;
  /* 変更 */
  /* background: #fff url(../images/bg.jpg) center / cover no-repeat; */
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
body:before {
  content: '';
  display: block;
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #fff url(../images/bg.jpg) center / cover no-repeat;
}
  #particles-js{ 
  display: none; /* 非表示 */
  position:fixed;
  z-index:-1;
  width: 100%;
  height: 100%;
  background: url("../images/bg.jpg");
  background-size: cover;
  background-attachment: fixed;
}
#particles-js:after{
  background: url("../images/bg.jpg") top center no-repeat;
  background-size: cover;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  display: block;
  width: 100%;
  height: 100vh;
}

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 {
  color: #333;
  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;
  width: 100%;
  height: auto;
}

/* 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 (共通スタイル)
****************************************/
:root {
  --main_color1: #818de1;
  --main_color2: #646eb6;
  --main_color3: #bdaaf3;
  --color_gold1: #d8c098;
  --color_violet: #e293e6;

  --bg_color1: #e4e6ff;
  --bg_color2: #f4f4ff;

  --border_color1: #c6cae6;

  --rgb_main_color1: 129, 141, 225;
  --rgb_shadow: 100, 100, 182, 0.35;
  --rgb_violet: 226, 147, 230;

  --filter_main_color1: invert(81%) sepia(36%) saturate(7243%) hue-rotate(201deg) brightness(93%) contrast(89%);
  --filter_line: invert(65%) sepia(75%) saturate(3673%) hue-rotate(104deg) brightness(97%) contrast(95%);
  --filter_white: invert(100%) sepia(0%) saturate(7486%) hue-rotate(121deg) brightness(108%) contrast(103%);;
}

@media screen and (min-width: 769px) {
  .pc{display: none !important;}
}
@media screen and (max-width: 768px) {
  /*共通*/
  .sp{display: none !important;}
}
.inner {
  padding: 40px 24px;
}

h2 {
  color: var(--main_color2);
  font-family: "Cormorant Garamond", serif;
  font-size: 34px;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  text-align: center;
}

h2 span {
  /* color: var(--main_color1); */
  display: block;
  font-size: 12px;
  letter-spacing: initial;
}

header {
  height: 60px;
  /* position: fixed;
  top: 0;
  z-index: 10; */
  width: 100%;
  background: var(--main_color1);
}

/*header .nav_pc {
  display: none;
}*/
.nav_display_pc{
  display: block;
}
.nav_display_sp{
  display: none;
}
@media screen and (max-width: 960px) {
  .nav_display_pc{
    display: none;
  }
  .nav_display_sp{
    display: block;
  }
}

header .nav_sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

header .nav_sp h1 {
  margin: 0 auto;
  width: 80px;
}

header .nav_sp .header-sp-menu-trigger {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 20;
  height: 60px;
  width: 60px;
  background: #fff;
}

/* モーダル調整 */
.modaal-container {
  background: none;
}
.modaal-content-container {
  padding: 0 30px;
}
.modaal-fullscreen .modaal-close {
  background: #fff;
  top: auto;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border-radius: initial;
}
.modaal-close:after, .modaal-close:before {
  background: var(--main_color1);
  top: 20px;
  left: 29px;
  width: 2px;
}
.header_menu_logo {
  margin: 40px auto 15px;
  width: 230px;
}
.header_sp_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  column-gap: 4%;
}
.header_sp_menu ul::after {
  display: none;
}

.header_sp_menu ul li {
  letter-spacing: 2px;
  line-height: 1.4;
  text-align: center;
  width: 46%;
}

.header_sp_menu ul li a {
  color: #fff;
  display: block;
  padding: 12px 8px;
  border-bottom: 1px solid var(--border_color1);
  font-size: 14px;
}

.header_sp_menu ul li a span {
  display: block;
  font-size: 10px;
}

#mainvisual {
  position: relative;
  overflow: hidden;
}
#mainvisual video {
  width: 100%;
}

#mainvisual .mv_logo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  margin: auto;
  width: 55%;
  max-width: 400px;
}
/*
#mainvisual .main_bg{
position: relative;
  width: 100%;
  height: auto;
}
*/
@media screen and (max-width: 640px) {
  #mainvisual .main_bg{
    object-fit: cover;
    min-height: 540px;
  }
}


.header_info {
  background: var(--main_color1);
  color: #fff;
  /* margin: -7px 0 0 0; */
  padding: 8px;
  text-align: center;
  position: relative;
}

.header_info .info_tel {
  margin: 0 0 8px;
}

.header_info .info_tel a {
  background: #fff;
  border-radius: 9999px;
  color: var(--main_color1);
  display: block;
  padding: 8px;
  width: 100%;
}

.header_info .info_time p {
  display: inline-block;
}

#headline {
  background: #fff;
  border-bottom: 4px solid var(--main_color1);
}

#headline > div {
  color: var(--main_color1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 8px;
}

#headline .headline-title {
  font-size: 12px;
  letter-spacing: 2px;
  margin: 0 4px 0 0;
  padding: 8px 0;
}

#headline .scroll {
  margin: auto;
  width: 100%;
  overflow: hidden;
}

#headline .scroll .news {
  font-size: 14px;
  display: inline-block;
  padding-left: 50%;
  white-space: nowrap;
  line-height: 1em;
  -webkit-animation: scrollAnime 18s linear infinite;
          animation: scrollAnime 18s linear infinite;
}

#headline .scroll .news li {
  display: inline-block;
  margin-right: 10px;
}

@-webkit-keyframes scrollAnime {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes scrollAnime {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

/* NEWS 新着情報 */
#top_column #news .news_top_outer {
  background: #fff;
  padding: 5px;
  margin-bottom: 24px;
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}
#top_column #news .news_top_inner {
  color: #333;
  padding: 2%;
  border: 1px solid var(--color_gold1);
  font-size: 14px;
}

#top_column #news #info_box img{
  max-width:100% !important;
}

#top_column #news #info_box dt {
  position: relative;
  display: block flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  padding-right: 24px;
  background: var(--bg_color1);
  border-bottom: 1px solid #fff;
  cursor: pointer;
}
#top_column #news #info_box dt time {
  display: block;
  width: fit-content;
  padding: 0.15em 0.3em;
  background: var(--main_color1);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}
#top_column #news #info_box dt::after {
  content: ">";
  position: absolute;
  top: auto;
  bottom: auto;
  right: 10px;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
  rotate: 90deg;
}
#top_column #news #info_box dd {
  background: #fff;
  display: none;
  padding: 24px;
}

.news_top_button a {
  background: #fff;
  border: 1px solid;
  border-radius: 9999px;
  color: var(--main_color1);
  display: block;
  margin: 0 auto;
  padding: 8px 16px;
  text-align: center;
  font-size: clamp(14px, 1.4vw, 16px);
  /* width: 200px; */
}

/* 回転アニメーション */
.stage {
  aspect-ratio: 2 / 3;
}
/*
.stage_cardimage {
  position: relative;
}
.stage_cardimage .stage_carditem {
  position: absolute;
  opacity: 0;
  transition: all .8s;
}
.stage_cardimage .stage_carditem {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: rotateY(90deg);
}
.stage_cardimage .stage_carditem.active {
  opacity: 1;
  transform: rotateY(0deg);
}
*/
/* アニメーション停止中用 */
.stage_cardimage {
  aspect-ratio: 2 / 3;
  overflow: hidden;
}
.stage_cardimage .stage_carditem {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* //回転アニメーション */

/* トップ - イベント画像 */
#event_top .event_box ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#event_top .event_box .event_pc {display: none;}
#event_top .event_box .event_sp {display: block;}

/* TOPICS 新着情報 */
#topics_top {
  padding-top: 24px;
}
#topics_top .topics_outer {
  background: #fff;
  padding: 5px;
  margin-bottom: 24px;
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
  max-width: 500px;
  margin-inline: auto;
}
#topics_top .topics_inner {
  color: #333;
  padding: 2%;
  border: 1px solid var(--color_gold1);
  font-size: 14px;
}
#topics_top #info_box {
  /* background: rgba(var(--rgb_main_color1), 0.7); */
  margin: 0 auto;
}

#topics_top #info_box dt {
  position: relative;
  display: block flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  padding-right: 24px;
  background: var(--bg_color1);
}

#topics_top #info_box dt time {
  display: block;
  width: fit-content;
  padding: 0.15em 0.3em;
  background: var(--main_color1);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}

#topics_top #info_box dd {
  background: rgba(255, 255, 255, 0.6);
  color: var(--main_color1);
  padding: 24px;
  /* height: 330px; */
  overflow-y: scroll;
  overflow-x: hidden;
  margin-bottom: 20px;
}
#topics_top #info_box .news_top_button{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#topics_top #info_box .news_top_button a {
  display: inline-block;
  width: calc(96%/2);
  margin: 0 1% 24px;
}

#schedule_today {
  background-color:hsla(257, 100%, 95%, 0.6);
  background-image:
  radial-gradient(at 0% 0%, hsl(278deg 100% 97.72% / 60%) 0px, transparent 50%),
  radial-gradient(at 90% 12%, hsl(222deg 100% 95.17% / 60%) 0px, transparent 50%),
  radial-gradient(at 82% 100%, hsl(240deg 100% 94.13% / 60%) 0px, transparent 50%),
  radial-gradient(at 19% 88%, hsl(223deg 100% 94.49% / 60%) 0px, transparent 50%),
  radial-gradient(at 50% 49%, hsla(212, 100%, 85%, 0.6) 0px, transparent 50%);
  padding: 40px 1%;
}

/*
.cast_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 2%;
}
.cast_box li {
  max-width: 330px;
  width: 48%;
}
*/

.cast_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 2%;
  width: 95%;
  max-width: 1040px;
  margin-inline: auto;
}

.cast_box li > a {
  display: block;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--color_gold1);
  box-sizing: border-box;
}

.cast_box li a .cast_image {
  position: relative;
}

.cast_box li a .cast_image .icon_new {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 44px;
}
.cast_box li a .cast_image .icon_discount {
  position: absolute;
  top: 0;
  right: 0;  z-index: 1;

  width: 52px;
}

.cast_box li a .cast_image .sns_unit {
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 1;
  /* width: 52px; */
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}
.cast_box li a .cast_image .sns_unit a {
  opacity: 1;
  transition: ease 0.3s;
}
.cast_box li a .cast_image .sns_unit a:hover {
  opacity: 0.7;
}
.cast_box li a .cast_image .sns_unit img {
  width: 36px;
  height: auto;
}
/* .cast_box li a .cast_image .icon_twitter {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 34px;
} */
/* .cast_box li a .cast_image .icon_tiktok {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 34px;
} */
.cast_box li a .cast_image .sns_unit:after,
.cast_box li a .cast_image .sns_unit ul:after,
.cast_box li a .cast_image .sns_unit li:after,
.cast_box li a .cast_image .sns_unit div:after {
  display: none;
  content: none;
}
/* 予約満了 */
.cast_box li a .cast_image .sold_txt{
	position: absolute;
  inset: 0;
	background: rgba(255, 255, 255, .5);
  pointer-events: none;
}
.cast_box li a .cast_image .sold_txt p{
	position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  color: #fff;
  width: 100%;
  padding: 6px 10px;
  background: linear-gradient(90deg,rgba(129, 141, 225, 0.6) 0%, rgba(207, 138, 254, 0.6) 100%);
  font-size: clamp(18px, 2vw, 20px);
  text-align: center;
}
.cast_box li a .cast_image .sold_txt p::before,
.cast_box li a .cast_image .sold_txt p::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, .5);
}
.cast_box li a .cast_image .sold_txt p::before{ top:4px;}
.cast_box li a .cast_image .sold_txt p::after{ bottom: 4px;}

.cast_box li a .cast_text {
  background: #fff;
  /* border-top: 8px solid var(--main_color3); */
  padding: 10px 5px 0;
  text-align: center;
}

.cast_box li a .cast_text > div:not(:last-of-type) {
  margin-bottom: 8px;
}

.cast_box li a .cast_text .cast_name p span {
  font-size: 12px;
}

.cast_box li a .cast_text .cast_size span {
  color: var(--main_color1);
  font-size: 12px;
}

.cast_box li a .cast_text .discount_count {
  display: inline-block;
  padding: 2px 8px;
  font-size: 14px !important;
  color: #fff;
  background: var(--main_color2);
}

.cast_box li a .cast_text .cast_icon {
  display: flex;;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 4px;
}

.cast_box li a .cast_text .cast_icon div {
  /* margin: 0 1%; */
  /* width: 48%; */
  width: calc((100% - 4px) / 2);
}

.cast_box li a .cast_text .cast_text_title {
  color: var(--main_color1);
  font-size: 10px;
  letter-spacing: 2px;
}

/* 新人情報 */
#newtherapist {
  background-color:hsla(257, 100%, 95%, 0.6);
  background-image:
  radial-gradient(at 0% 0%, hsl(278deg 100% 97.72% / 60%) 0px, transparent 50%),
  radial-gradient(at 90% 12%, hsl(222deg 100% 95.17% / 60%) 0px, transparent 50%),
  radial-gradient(at 82% 100%, hsl(240deg 100% 94.13% / 60%) 0px, transparent 50%),
  radial-gradient(at 19% 88%, hsl(223deg 100% 94.49% / 60%) 0px, transparent 50%),
  radial-gradient(at 50% 49%, hsla(212, 100%, 85%, 0.6) 0px, transparent 50%);
  padding: 40px 1%;
}
#newtherapist .cast_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0 24px;
}
#newtherapist .cast_box li {
  /* width: 100%; */
  border: 1px solid transparent;
}
@media screen and (max-width: 640px) {
  #newtherapist .cast_box li .icon_new {
    width: 20%;
  }
  #newtherapist .cast_box li .icon_discount {
    width: 25%;
  }
}


#pickup ul li {
  width: 100%;
}

#recruit_movie div {
  max-width: 640px;
  margin: auto;
}
#recruit_movie video {
  width: 100%;
}


#twitter > div {
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}

#ranking {
  background-size: cover;
}

#ranking section {
  margin-bottom: 40px;
}

#ranking section .ranking_title {
  background: #ff748d;
  background: linear-gradient(120deg, #ff748d 0%, #ff7daf 100%);
  color: #fff;
  font-size: 20px;
  margin: 0 0 24px;
  padding: 8px;
  text-align: center;
}

#ranking section .cast_comment {
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid #dda5a5;
  color: #dda5a5;
  font-family: sans-serif;
  font-size: 22px;
  margin: 0 auto 24px;
  padding: 10px 16px 4px 0;
  text-align: center;
  width: 190px;
}

#ranking section .cast_comment::before {
  background-image: url("../images/icon_ranking.png");
  background-size: cover;
  content: '';
  display: inline-block;
  height: 28px;
  margin: 0 8px 0 0;
  width: 34px;
}

/* 写メ日記 */
#photo_diary .inner {
  max-width: 840px;
  margin-inline: auto;
}
#photo_diary .diary_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(5px, 1vw, 10px);
}
#photo_diary .diary_list::after {
  display: none;
}
#photo_diary .diary_modal_open {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--color_gold1);
}
.diary_work {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(var(--rgb_violet), 0.8);
	color: #fff;
	font-size: clamp(10px, 2vw, 14px);
	padding: 0.15em 0.5em;
}
.diary_thumb img,
.diary_thumb video {
	width: 100%;
	height: unset;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center;
	display: block;
}
.diary_detail {
  text-align: center;
	font-size: 12px;
	padding: 5px 2px 0;
}
.diary_title {
  padding: 5px 0 10px;
  margin-bottom: 5px;
  border-bottom: 1px solid var(--border_color1);
  line-height: 1.2;
}
.diary_date {
	font-size: 10px;
  color: var(--main_color1);
}

/* modal_contents */
.diary_cast_thumb img,
.diary_cast_thumb video {
	/* aspect-ratio: 3 / 4; */
	width: 100%;
  height: auto;
	/* height: unset; */
	/* object-fit: cover; */
	display: block;
}
.diary_cast_info {
	display: grid;
	grid-template-columns: min(25%, 80px) 1fr;
	gap: 5%;
	align-items: center;
	margin: 15px 0 10px;
	padding-bottom: 10px;
}
.diary_cast_img {
  position: relative;
	width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.diary_cast_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.diary_cast_name {
	font-size: clamp(15px, 3vw, 20px);
	font-weight: bold;
}
.diary_cast_name .age {
	font-size: 0.7em;
	margin-left: 8px;
}
.diary_cast_date {
	color: var(--main_color1);
	font-size: 0.8em;
}
.diary_cast_title,
.diary_cast_txt {
	overflow-wrap: break-word;
}
.diary_cast_title {
	color: var(--main_color1);
	font-size: clamp(16px, 2vw, 20px);
	margin-bottom: 10px;
	line-height: 1.4;
}
.diary_cast_txt {
  font-size: 14px;
}
.diary_cast_txt a {
	color: var(--main_color1);
	transition: all 0.3s ease-in-out;
}
.diary_cast_txt img {
	max-width: 100% !important;
	height: auto !important;
}
.diary_cast_btn {
	margin-top: 20px;
}
.diary_cast_btn a {
  display: grid;
  place-items: center;
	width: 100%;
	max-width: 360px;
	margin: 10px auto 0;
  padding: 0.75em;
  border: 1px solid;
  border-radius: 99px;
	font-size: 14px;
  color: #d488dd;
}
.diary_cast_btn a.diary_list {
	color: var(--main_color1);
}

/* modaal */
.modaal-wrapper {
	scrollbar-width: none;
  -ms-overflow-style: none;
}
.modaal-wrapper::-webkit-scrollbar {
	display: none;
}
.modal_diary .modaal-inner-wrapper {
	padding: 0 20px;
}
.modal_diary .modaal-container {
	max-width: 600px;
  background: #fff;
  color: #333;
}
.modal_diary .modaal-content-container {
  height: 90svh;
  overflow-y: auto;
	padding: clamp(15px, 3vw, 30px);
}
.modal_diary .modaal-close {
	background: var(--main_color1);
  width: 40px;
  height: 40px;
  top: 10px;
  right: 10px;
}
.modal_diary .modaal-close:after,
.modal_diary .modaal-close:before {
	top: 12px;
  left: 19px;
  height: 16px;
  background: #fff
}
.modal_diary .modaal-close:focus,
.modal_diary .modaal-close:hover {
	background: #fff
}
.modal_diary .modaal-close:focus:after,
.modal_diary .modaal-close:focus:before,
.modal_diary .modaal-close:hover:after,
.modal_diary .modaal-close:hover:before {
	background: var(--main_color1);
}

#photo_diary .btn_box {
  margin-top: 24px;
}
#photo_diary .btn_box::after {
  display: none;
}
#photo_diary .btn_box a {
  background: #fff;
  border: 1px solid;
  border-radius: 9999px;
  color: var(--main_color1);
  display: block;
  margin-inline: auto;
  padding: 8px 16px;
  text-align: center;
  font-size: clamp(14px, 1.4vw, 16px);
}
/* 写メ日記 ここまで */

#banner div .recruit_box {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 40px;
}
#banner div ul li {
  margin: 0 auto 24px;
}

#top-recruit {
  background: url("../images/bg_recruit.jpg") top center no-repeat;
  background-position: 65% 0;
  background-size: cover;
}

#top-recruit h2 {
  /* text-shadow: #fff 2px 0px 2px, #fff -2px 0px 2px, #fff 0px -2px 2px, #fff -2px 0px 2px, #fff 2px 2px 2px, #fff -2px 2px 2px, #fff 2px -2px 2px, #fff -2px -2px 2px, #fff 1px 2px 2px, #fff -1px 2px 2px, #fff 1px -2px 2px, #fff -1px -2px 2px, #fff 2px 1px 2px, #fff -2px 1px 2px, #fff 2px -1px 2px, #fff -2px -1px 2px, #fff 1px 1px 2px, #fff -1px 1px 2px, #fff 1px -1px 2px, #fff -1px -1px 2px; */
}

#top-recruit div a {
  position: relative;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--main_color1);
  border-radius: 99px;
  color: var(--main_color1);
  display: block;
  margin: 0 auto;
  padding: 8px 8px 8px 20px;
  text-align: center;
  font-size: clamp(14px, 1.4vw, 16px);
  max-width: 520px;
}

#top-recruit div a::after {
  content: ">";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 14px;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
}

.concept_bnr_wrap {
  background: url("../images/bg_white.jpg") top center no-repeat;
  background-position: 30% 0;
  background-size: cover;
}
#concept {
  /* background: url("../images/bg_white.jpg") top center no-repeat;
  background-position: 30% 0;
  background-size: cover; */
}
#concept h2 {
  color: var(--main_color2);
  font-size: 16px;
  letter-spacing: 4px;
}
#concept h2 span {
  font-size: 20px;
}
#concept h2 span::before {
  color: var(--main_color2);
  content: "―";
  display: block;
  margin-top: -12px;
  transform: scale(2, 1);
}
#concept .txt_box p {
  color: #333;
  font-size: 12px;
  text-align: center;
}

/* バナーエリア */
#link_banner.inner {
  padding-top: 0;
}
#link_banner aside {
  margin: 0 auto;
  max-width: 1000px;
}
#link_banner :is(.bnr_box, .list_link_box) {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
#link_banner .list_link_box {
  margin-top: 10px;
}
#link_banner .bnr_box a,
#link_banner .list_link_box li {
  color: #333;
  font-size: 12px;
  transition: all 0.3s;
  text-align: center;
}
#link_banner :is(.bnr_box, .list_link_box) a:hover {
  opacity: 0.5;
}
#link_banner :is(.bnr_box, .list_link_box) img {
  width: 100%;
  max-width: 200px;
  height: auto;
}

/*地方ボタンのあるリンクバナー*/
.bnr_box .banner-container {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 800px; /* 適宜変更 */
  margin: auto;
}
.bnr_box .banner-container ul{
  display: flex;
}
.bnr_box .banner-container ul li{
  width: calc(100% / 4);
  display: grid;
}
.bnr_box .banner-item.large img{
  height: 60px !important;
}
.bnr_box .banner-item img {
    width: 100%;
    width: auto;
}
@media screen and (max-width: 500px) {
  .bnr_box .banner-item.large img{
    height: 47px !important;
  }
}



/*------------------
footerメニュー
------------------*/

#footer_menu {
  position:fixed;
  bottom: 0;
  z-index: 10;
  width: 100%;
  padding-right: 60px;
}
.footer_menu_box {
  display: flex;
  align-items: center;
  background: #fff;
}
.footer_menu_box a {
  display: block flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: calc(100% / 4);
  height: 60px;
  color: var(--main_color2);
  font-size: 12px;
  padding-top: 4px;
  border-right: 1px solid var(--border_color1);
  line-height: 1.2;
}
.footer_menu_box a.reserve span {
  font-size: 0.8em;
}
.footer_menu_box a img{
  width: auto;
  height: 16px;
  filter: var(--filter_main_color1);
}
.footer_menu_box a.line{
  color: #06C755;
}
.footer_menu_box a.line img{
  filter: var(--filter_line);
}
.footer_menu_box a.line_recruit{
  color: #f986d5;
}
.footer_menu_box a.line_recruit img{
  filter: invert(77%) sepia(33%) saturate(3442%) hue-rotate(286deg) brightness(108%) contrast(95%);
}

/*------------------
ぱんくず
------------------*/

.breadcrumbs {
  background: #746fa6;
}

.breadcrumbs ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4px 8px;
}

.breadcrumbs ol li {
  color: #fff;
  font-size: 14px;
}

.breadcrumbs ol li::after {
  content: ">";
  display: inline-block;
  margin-right: 4px;
  -webkit-transform: scale(0.6, 1);
          transform: scale(0.6, 1);
}

.breadcrumbs ol li:last-child::after {
  content: none;
}

.breadcrumbs ol li a {
  color: #fff;
}

.footer_inner {
  background: url("../images/bg_footer.jpg") top center no-repeat;
  background-position: 60% 0;
  background-size: cover;
  padding: 8px;
}

.footer_inner nav {
  margin: 0 0 40px;
}

.footer_inner nav ul {
  text-align: center;
}

.footer_inner nav ul li {
  font-size: 14px;
  display: inline-block;
  margin: 0 4px 8px;
  text-shadow: rgba(var(--rgb_shadow)) 1px 1px 10px, rgba(var(--rgb_shadow)) -1px 1px 10px, rgba(var(--rgb_shadow)) 1px -1px 10px, rgba(var(--rgb_shadow)) -1px -1px 10px;
}

.footer_inner nav ul li a {
  color: #fff;
}

.footer_inner .footer_logo {
  margin: 0 auto 24px;
  width: 200px;
}

.footer_inner .footer_info {
  color: #fff;
  margin: -6px 0 118px;
  padding: 8px;
  text-align: center;
}

.footer_inner .footer_info .info_tel {
  margin: 0 auto 24px;
  width: 240px;
}

.footer_inner .footer_info .info_tel a {
  background: #fff;
  border-radius: 9999px;
  -webkit-box-shadow: 0 0 24px 0 rgba(var(--rgb_shadow));
          box-shadow: 0 0 24px 0 rgba(var(--rgb_shadow));
  color: var(--main_color1);
  display: block;
  padding: 8px;
  width: 100%;
}

.footer_inner .footer_info .info_time p {
  display: inline-block;
  text-shadow: rgba(var(--rgb_shadow)) 1px 1px 10px, rgba(var(--rgb_shadow)) -1px 1px 10px, rgba(var(--rgb_shadow)) 1px -1px 10px, rgba(var(--rgb_shadow)) -1px -1px 10px;
}

.footer_inner .copyright {
  color: #fff;
  font-size: 10px;
  text-align: center;
}

.footer_link {
  font-size: 10px;
  padding: 4px;
  text-align: center;
  background: var(--main_color1);
  color: #fff;
}
.footer_link a {
  color: #fff;
}

#mainvisual_sub {
  background: url("../images/bg_sub.jpg") top center no-repeat;
  background-size: cover;
  padding: 80px 0 40px;
}

#mainvisual_sub h2 {
  color: #fff;
}

#mainvisual_sub h2 span {
  color: #fff;
  font-size: 16px;
}

#therapist {
  padding: 40px 0;
}

/*------------------
リンクバナーエリア
------------------*/
#link_column{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 40px 40px;
}
.link_bnr_area{
  display: block;
}
.link_bnr_01{
  margin-right: 0;
  margin-bottom: 20px;
}

/*------------------
スケジュール
------------------*/
#schedule {
  padding: 40px 0;
}

#schedule .schedule_inner,
#profile .profile_inner {
  max-width: 1000px;
  margin: 0 auto;
}
/* ナビゲーションボタン 上書き*/
.sch_nav_btn.swiper-button-prev,
.sch_nav_btn.swiper-button-next {
  margin-top: 0;
  width: auto;
  height: 32px;
  background: var(--main_color1);
  border: var(--main_color1);
  color: #fff;
  transition: ease 0.3s;
}
.sch_nav_btn.swiper-button-prev:after,
.sch_nav_btn.swiper-button-next:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}
.sch_nav_btn.swiper-button-prev:after {
  left: 12px;
  transform: rotate(-135deg);
}
.sch_nav_btn.swiper-button-next:after {
  right: 12px;
  transform: rotate(45deg);
}
.sch_nav_btn.swiper-button-prev {
  top: 0;
  left: 0;
  padding: 0 16px 0 24px;
  margin: 0 3px 9px;
}
.sch_nav_btn.swiper-button-next {
  top: 0;
  right: 0;
  padding: 0 24px 0 16px;
  margin: 0 3px 9px;
}
.sch_nav_btn.swiper-button-prev.swiper-button-disabled,
.sch_nav_btn.swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.schedule_week_box .swiper,
.profile_box_schedule .swiper {
  overflow: hidden;
}

/* テキストメニュー */
.schedule_nav {
  margin: 40px auto 24px auto;
/*  padding: 10px 0;*/
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1000px;
}
.schedule_nav li {
  width: calc((100% - 42px)/ 7);
  background: rgba(255, 255, 255, 0.4);
  margin: 0 3px 9px;
  border: 1px solid var(--main_color1);
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.schedule_nav li a {
  padding: 10px;
  display: block;
  color: #333333;
  -webkit-transition: 0.4s ease;
  -moz-transition: 0.4s ease;
  transition: 0.4s ease;
}
.schedule_nav li a:hover {
  opacity: 0.6;
}
.schedule_nav li.active a {
  background: var(--main_color1);
  border: solid 1px var(--main_color1);
  color: #fff;
}
.schedule_nav li.active a:hover{
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .schedule_nav li:first-child{
      width: 100%;
}
  .schedule_nav li {
      width: calc((100% - 17px)/ 2 );
      margin: 0 3px 9px;
}
}
.swiper-slide img {
  height: auto;
  width: 100%;
}

/*------------------
プロフィール
------------------*/
#profile {
  /* padding: 40px 24px; */
  padding: 40px 1.0rem;

}

#profile .profile_box_left {
  margin: 0 0 40px;
}

#profile .profile_box_left .img_box {
  margin: 0 0 24px;
  position: relative;
}

#profile .profile_box_left .img_box .icon_new {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
}

#profile .profile_box_left .img_box .icon_discount {
  position: absolute;
  top: 0;
  right: 0;
  width: 88px;
}

#profile .profile_box_left .profile_thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#profile .profile_box_left .profile_thumb a {
  display: block;
  width: 20%;
}
#profile .profile_box_left #photo_diary {
  margin-top: 24px;
}
#profile .profile_box_left #photo_diary .diary_title {
  padding: 0;
  margin: 0;
  border-bottom: none;
}

#profile .box_border {
  outline: 5px solid #fff;
  border: 1px solid var(--color_gold1);
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}

#profile .profile_box_right .profile_text,
#profile .profile_box_left .profile_text {
  background: rgba(255, 255, 255, 0.8);
  /* -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.2); */
  margin: 0 0 24px;
  padding: 24px 16px;
  text-align: center;
}

#profile .profile_box_right .profile_text .profile_sub,
#profile .profile_box_left .profile_text .profile_sub {
  color: var(--main_color1);
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 4px;
}

#profile .profile_box_right .profile_text .size,
#profile .profile_box_left .profile_text .size {
  margin: 0 0 24px;
}

#profile .profile_box_right .profile_text .size span,
#profile .profile_box_left .profile_text .size span{
  color: var(--main_color1);
  font-size: 12px;
}

#profile .profile_box_right .profile_text .discount_count,
#profile .profile_box_left .profile_text .discount_count {
  margin-bottom: 24px;
  display: inline-block;
  padding: 2px 8px;
  color: #fff;
  background: var(--main_color2);
}

#profile .profile_box_right .profile_text .icon img,
#profile .profile_box_left .profile_text .icon img {
  margin: 0 4px;
  width: 80px;
}

#profile .profile_box_right .profile_comment,
#profile .profile_comment {
  background: rgba(255, 255, 255, 0.8);
  /* -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.2); */
  margin: 0 0 24px;
  padding: 24px 16px;
  text-align: center;
}

#profile .profile_box_right .profile_comment h3,
#profile .profile_comment h3 {
  color: var(--main_color1);
  margin: 0 0 8px;
}

#profile .profile_box_right .profile_comment table,
#profile .profile_comment table {
  margin: 0 0 24px;
  width: 100%;
}

#profile .profile_box_right .profile_comment table th,
#profile .profile_comment table th {
  background: var(--main_color1);
  border: 1px solid var(--border_color1);
  color: #fff;
  font-size: 12px;
  padding: 8px 4px;
  vertical-align: middle;
}

#profile .profile_box_right .profile_comment table td,
#profile .profile_comment table td {
  border: 1px solid var(--border_color1);
  color: var(--main_color1);
  vertical-align: middle;
}



#profile .movie_box {
  text-align: center;
  width: 327px;
  margin: 0 auto 40px
}

#profile .twitter {
  margin: 0 auto 40px;
  max-width: 640px;
}
#profile .tiktok {
  margin: 0 auto 40px;
  max-width: 640px;
}

#profile #profile_gallery,
#profile #profile_report {
  background: rgba(255, 255, 255, 0.8);
  /* box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.2); */
  margin: 0 0 24px;
  padding: 24px 16px;
}

/* #profile #profile_gallery img, */
#profile #profile_report img {
  width: auto!important;
  max-width: 100%;
  height: auto!important;

}
#profile #profile_report img:hover {
  opacity: 0.6;
}

#profile #profile_gallery h3,
#profile #profile_report h3 {
  color: var(--main_color1);
  font-size: 24px;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 0 0 24px;
  text-align: center;
}

#profile #profile_gallery h3 span,
#profile #profile_report h3 span {
  /* color: #333; */
  display: block;
  font-size: 12px;
}

#profile #profile_gallery div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
  margin-top: 15px;
}

#profile #profile_gallery div a {
  width: calc((100% - 20px)/5);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  position: relative;
  display: inline-block;
}
#profile #profile_gallery div a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#profile .profile_box_schedule h3,
#profile .twitter_bnr h3,
#profile .tiktok_bnr h3,
#profile .twitter h3,
#profile .tiktok h3,
#profile .movie_box h3 {
  color: var(--main_color1);
  font-size: 24px;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 0 0 24px;
  text-align: center;
}

#profile .profile_box_schedule .profile_box_schedule_inner {
  display: flex;
  font-size: 14px;
  margin-top: 40px;
  border: 1px solid transparent;
  background: #fff;
}

#profile .profile_box_schedule .profile_box_schedule_inner .sch_day {
  background: var(--main_color1);
  color: #fff;
}

#profile .profile_box_schedule .profile_box_schedule_inner .sch_day div {
  padding: 16px 8px;
}

#profile .profile_box_schedule .profile_box_schedule_inner .sch_time div {
  background: rgba(255, 255, 255, 0.4);
  /* padding: 16px 8px; */
  padding: 0 8px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

#profile .profile_box_schedule .profile_box_schedule_inner .sch_icon {
  flex-grow: 1;
}

#profile .profile_box_schedule .profile_box_schedule_inner .sch_icon div {
  background: rgba(255, 255, 255, 0.4);
}

#profile .profile_box_schedule .profile_box_schedule_inner > div > div {
  border: 1px solid var(--border_color1);
  display: block;
  height: 60px;
  margin: 0 -1px -1px 0;
  padding: 8px;
  text-align: center;
}

#profile .profile_box_schedule .profile_box_schedule_inner > div > div a {
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  height: 42px;
  line-height: 1.2;
  padding: 6px 4px;
  width: 42px;
}

#profile .profile_box_schedule .profile_box_schedule_inner > div > div .sch_icon_tel {
  background: #d07ebe;
  border: 1px solid #d07ebe;
}

#profile .profile_box_schedule .profile_box_schedule_inner > div > div .sch_icon_line {
  background: #7ed09f;
  border: 1px solid #7ed09f;
}

#profile .profile_box_schedule .profile_box_schedule_inner > div > div .sch_icon_web {
  background: #7eb2d0;
  border: 1px solid #7eb2d0;
}

#swipebox-overlay {
  background: rgba(0, 0, 0, 0.75) !important;
}

/*体験レポート*/
.prof_reportbox ul{
  align-items: start;
  display: flex;
  flex-wrap: wrap;
}
.prof_reportbox ul li{
padding: 4px;
width: 50%;
}
.prof_reportbox ul li img{
margin-bottom: 8px;
}
.prof_reportbox ul li p{
font-size: 13px;
text-align: left;
}
.prof_reportbox span.report{
background: red;
color: #fff;
padding: 2px 4px;
margin-right: 4px;
}
@media screen and (min-width: 550px) {
.prof_reportbox ul li{
  padding: 10px;
}
.prof_reportbox ul li p{
  font-size: 14px;
}
}

/* 新着情報ページ */
#topics {
  padding: 40px 24px;
}
#topics .item_box {
  max-width: 640px;
  background: #fff;
  padding: 5px;
  margin-inline: auto;
  margin-bottom: 24px;
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
  margin-bottom: 24px;
}
#topics article {
  color: #333;
  padding: 10px;
  border: 1px solid var(--color_gold1);
  font-size: 14px;
}
#topics article .title_wrap {
  display: block flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  padding-right: 24px;
  background: var(--bg_color1);
}
#topics article h3 {
}
#topics article time {
  display: block;
  width: fit-content;
  padding: 0.15em 0.3em;
  background: var(--main_color1);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}
#topics article .text {
  padding: 24px;
}

#topics .pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#topics .pagination li {
}
#topics .pagination li a {
  background: #fff;
  border-radius: 4px;
  border: 1px solid;
  color: var(--main_color1);
  display: block;
  font-family: sans-serif;
  font-weight: bold;
  margin: 8px;
  padding: 8px 16px;
}

#topics_top #info_box img{
    width:auto !important;
  }


/* ========== 料金ページ ========== */
#system {
  padding: 40px 24px;
}
#system h3.subtitle {
    background: var(--main_color3);
  color: #fff;
  font-size: 18px;
  letter-spacing: 2px;
  padding: 8px;
  text-align: center;
  margin-bottom: 1em;
}
#system h4.subtitle {
  margin-bottom: 6px;
  text-align: center;
  color: var(--main_color1);
  font-size: 20px;
}
#system h4.subtitle.price {
  color: #dc4545;
}
#system h4.subtitle.price span{
  font-size: 26px;
}
#system > div {
  margin: 0 auto;
  max-width: 680px;
}

#system_box1{
  padding-top: 60px;
  margin-top: -60px;
  margin-bottom: 20px;
}
#system_box2{
  padding-top: 100px;
  margin-top: -60px;
}
#system .marker {
  padding-bottom: 0.15em;
  color: #333;
  background: linear-gradient(transparent 50%, rgb(255, 255, 180) 50%);
}
#system a.link_txt {
  border-bottom: 1px solid var(--main_color1);
  color: var(--main_color1);
}
#system p a.link_txt2{
    text-align: center;
    display: block;
    width: 250px;
    height: 40px;
    line-height: 40px;
    margin: 10px auto;
    background: var(--main_color3);
    border-radius: 40px;
    opacity: 1;
    -webkit-transition: opacity 0.4s ease;
    -moz-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
    color: #fff;
} 
#system .pagetext_box {
  max-width: 680px;
  outline: 5px solid #fff;
  border: 1px solid var(--color_gold1);
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}
#system .pagetext_box p{
  margin-bottom: 30px;
}
#system .pagetext_box p:last-child {
  margin-bottom: 0;
}
#system .system_price {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  color: #333;
  font-size: 14px;
  padding: 32px 20px;
  margin: 0 auto 24px;
  max-width: 680px;
}

#system .system_price table {
  font-size: 20px;
  margin: 0 auto;
  max-width: 480px;
  width: 100%;
  vertical-align: middle;
  line-height: 1.2;
}

#system .system_price table tr th {
  border-bottom: 1px solid var(--main_color1);
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
  /* width: 50%; */
}
#system .system_price table tr td {
  border-bottom: 1px solid var(--main_color1);
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
  /* width: 50%; */
}
#system .system_price table.column2 th,
#system .system_price table.column2 td{
  width: 50%;
}
#system .system_price table.column3 th,
#system .system_price table.column3 td{
  width: 30%;
}
#system .system_price table tr .price {
  /* width: 50%; */
  color: #dc4545;
}
#system .system_price table tr .bar {
  display: block;
  margin-top: 0.15em;
  padding: 0.25em 0;
  border: 1px solid;
  color: var(--main_color1);
}
/* #system .system_price .op th{
  padding: 8px 10px 8px 0;
} */
#system .system_price p{
  margin: 20px auto 0px;
  max-width: 480px;
}
#system .system_price p.txt {
  margin: 0 auto 10px;
  color: #dc4545;
  text-align: center;
  max-width: 480px;
}
#system .system_price table .lth {
  text-decoration:line-through;
}
#system .system_price .op {
  margin-top: 30px;
  font-size: 18px;
}
#system .system_price .op .table_title th {
    border-top: none;
}
#system .system_price .op tr th.txt2 {
  font-size: 12px;
  text-align: center;
  line-height: 1.5;
}
#system .system_price table tr span {
  display: inline-block;
  font-size: 12px;
}
#system .system_price .op.column3 th {
  width: 45%;
}

#system .system_price table .table_title th {
  border-top: 1px solid var(--main_color1);
  background: var(--main_color1);
  color: #fff;
  font-size: 14px;
  letter-spacing: 2px;
  padding: 8px;
  text-align: center;
}

/* 料金改定のお知らせ */
#system .system_price.renewal {
  box-sizing: border-box;
  border: 2px solid var(--main_color1);
}
#system .system_price.renewal strong {
  color: #dc4545;
  font-weight: bold;
}
#system .system_price.renewal .mb_20 {
  margin-bottom: 20px;
}
#system .system_price.renewal p.txt{
  font-size: 18px;
  font-weight: bold;
}
#system .system_price.renewal .op.new .price {
  color: #333;
  font-size: 12px;
}
#system .system_price.renewal .op.new .price .red {
  color: #dc4545;
}
#system .system_price.renewal .op.new td.price .red {
  color: #dc4545;
  font-size: 18px;
}

/* 当店のサービス項目 */
#system .service_list {
  --column: 2;

  display: grid;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: 5px;
}
#system .service_list li {
  padding: 1em 0.5em;
  /* background: var(--bg_color1); */
  border: 1px solid var(--main_color3);
  border-radius: 8px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #system .service_list {
    --column: 3;
  }  
}

/* 基本情報 */
#system .system_info h4 {
  margin: 1.5em 0 0.5em;
  padding-left: 0.5em;
  border-left: 4px solid var(--main_color3);
  font-size: 18px;
  line-height: 1.5;
}
#system .system_info ul li {
  position: relative;
  padding-left: 1em;
}
#system .system_info ul li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}

/* ご利用の流れ */
/* #system .system_flow {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  color: #333;
  font-size: 14px;
  padding: 32px 24px;
  margin: 0 auto 24px;
  max-width: 680px;
} */

/* #system .system_flow > p {
  font-size: 18px;
  letter-spacing: 2px;
  margin: 0 0 24px;
  text-align: center;
} */

#system .system_flow .flow_item:not(:last-of-type) {
  margin-bottom: 40px;
}

#system .system_flow h4 {
  color: var(--main_color1);
  font-size: 18px;
  margin: 0 0 8px;
  text-align: justify;
}
#system .system_flow h4 span {
  background: var(--main_color1);
  color: #fff;
  font-size: 12px;
  margin: 0 8px 0 0;
  padding: 4px 8px;
}

/* FAQ */
#system .system_qa {
  background: rgba(255, 255, 255, 0.8);
  /* border-radius: 8px; */
  color: #333;
  font-size: 14px;
  padding: 32px 24px;
  margin: 0 auto 24px;
  max-width: 680px;
}

#system .system_qa > p {
  font-size: 18px;
  letter-spacing: 2px;
  margin: 0 0 24px;
  text-align: center;
}

#system .system_qa dl > div {
  margin: 0 0 40px;
}

#system .system_qa dl > div dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  align-items: center;
  margin: 0 0 24px;
}

#system .system_qa dl > div dt div {
  margin: 0 16px 0 0;
  width: 50px;
}

#system .system_qa dl > div dt p {
  background: #e2e4fa;
  border-radius: 8px;
  width: 76%;
  padding: 8px 16px;
  position: relative;
  display: inline-block;
}

#system .system_qa dl > div dt p::before {
  content: "";
  position: absolute;
  top: 28%;
  right: 100%;
  border: 8px solid transparent;
  border-right: 8px solid #e2e4fa;
}

#system .system_qa dl > div dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#system .system_qa dl > div dd p {
  background: var(--main_color1);
  border-radius: 8px;
  color: #fff;
  width: 76%;
  padding: 8px 16px;
  position: relative;
  display: inline-block;
}

#system .system_qa dl > div dd p::before {
  content: "";
  position: absolute;
  top: 14%;
  left: 100%;
  border: 8px solid transparent;
  border-left: 8px solid var(--main_color1);
}

#system .system_qa dl > div dd div {
  margin: 0 0 0 16px;
  width: 50px;
}

/* ご予約ボタン */
#system .system_reserve .btn_list {
  display: grid;
  gap: 16px;
}
#system .system_reserve .btn_list a {
  display: block;
  padding: 1em 0;
  border-radius: 99px;
  color: #fff;
  text-align: center;
}
#system .system_reserve .btn_list a.tel {
  background: var(--main_color1);
}
#system .system_reserve .btn_list a.line {
  background: #06C755;
}
#system .system_reserve .btn_list a.web {
  background: #f6be55;
}
#system .system_reserve .btn_list a img {
  width: auto;
  height: 16px;
  vertical-align: sub;
  filter: var(--filter_white);
}
@media screen and (min-width: 768px) {
  #system .system_reserve .btn_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }  
}

/* 特定商法取引に基づく表示 */
#system .system_legal dl dt {
  margin-top: 1em;
  color: var(--main_color1);
}

/* ========== アクセスページ ========== */
#access {
  background-size: cover;
  padding: 40px 24px;
}
#access .subtitle {
  margin-bottom: 1em;
  text-align: center;
  color: var(--main_color1);
  font-size: 24px;
}
#access > div, #access .pagetext_box {
  max-width: 680px;
  margin-inline: auto;
}
#access .pagetext_box {
  outline: 5px solid #fff;
  border: 1px solid var(--color_gold1);
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}
#access .pagetext_box a {
  color: var(--main_color1);
  text-decoration:underline;
}
#access .pagetext_box span.txt{
  font-size: 16px;
  color: #dc4545;
  text-align: center;
  font-weight: bold;
  margin: 0 auto 20px;
  display: block;
}
#access.top_access .top_access_map{
  margin:0 auto;
  max-width: 900px;
}
.table_07{
  max-width: 800px;
  margin: 0 auto;
  padding: 24px;
  text-align: center;
  background-color: #fff;
}
.table_07 tr {
    border-bottom: 1px solid #d8d8d8;
    width: 33%;
}
.table_07 tr:first-child {
    font-size: 16px;
    background: var(--main_color1);
    color: #fff;
}
.table_07 td,.table_07 th{
  vertical-align: middle;
  padding: 6px 0;
  width: 33%;
}
.table_07 td img {
    width: 24px;
}
@media screen and (max-width: 480px) {
  .table_07 th {
   font-size: 14px;
  }
}

/* ========== 写メ日記ページ ========== */
#photo_diary .subtitle {
  margin-bottom: 0.5em;
  text-align: center;
  color: var(--main_color1);
  font-size: 24px;
}
/* セラピスト個別ページ */
#section_diary_prof {
  margin-bottom: 40px;
}

#section_diary_prof .diary_prof_img {
	position: relative;
  aspect-ratio: 2 / 3;
  overflow: hidden;
	margin-bottom: 16px;
}
#section_diary_prof .diary_prof_img .cast_thumb {
	width: 100%;
	height: 100%;
  object-fit: cover;
}
#section_diary_prof .diary_prof_img .icon_new {
	position: absolute;
	top: 0;
	left: 0;
	width: min(25%, 64px);
}
#section_diary_prof .diary_prof_img .sns_unit {
	position: absolute;
	right: 6px;
  bottom: 6px;
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}
#section_diary_prof .diary_prof_img .sns_unit img {
  width: 36px;
  height: auto;
}

#section_diary_prof .diary_prof_txt {
  padding: 24px 16px;
	background: #fff;
	outline: 5px solid #fff;
  border: 1px solid var(--color_gold1);
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}
#section_diary_prof .diary_prof_txt .diary_prof_detail {
  text-align: center;
}
#section_diary_prof .diary_prof_txt .prof_title {
  color: var(--main_color1);
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 4px;
}
#section_diary_prof .diary_prof_txt .size span {
  color: var(--main_color1);
  font-size: 12px;
}

#section_diary_prof .diary_prof_txt .diary_prof_cmt {
  font-size: 14px;
	text-align: left;
	margin-top: 20px;
}

#section_diary_prof .diary_prof_txt .btn_box {
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	#section_diary_prof {
		display: grid;
		grid-template-columns: clamp(150px ,30vw, 230px) 1fr;
		gap: 0 3vw;
	}
	#section_diary_prof .diary_prof_img {
		margin-bottom: 0;
	}
	#section_diary_prof .diary_prof_txt .diary_prof_detail {
		margin-top: 0;
	}
}


/* 一覧リスト */
#photo_diary .blog_list {
  border: 1px solid var(--main_color1);
  background: #fff;
  margin-top: 40px;
  padding: min(2vw, 20px);
}
#photo_diary .blog_list ul {
  display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
}
#photo_diary .blog_list li {
	background: var(--bg_color2);
	border: 1px solid var(--main_color1);
  border-radius: 99px;
  padding: 0.25em;
  text-align: center;
}
#photo_diary .blog_list li:nth-of-type(3n) {
  margin-right: 0;
}
#photo_diary .blog_list li a {
  color: var(--main-color2);
  font-size: clamp(12px, 2vw, 14px);
  display:block;
  width:100%;
  height:100%;
}

#photo_diary.contents_diary .btn_box {
  margin-top: 40px;
}
#photo_diary.contents_diary .btn_box a {
  position: relative;
  max-width: 240px;
}
/* 前へ・次へボタン */
#photo_diary .btn_box.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  max-width: 500px;
  margin-inline: auto;
}
#photo_diary .btn_box.pagination a {
  margin-inline: initial;
  width: 100%;
  max-width: 160px;
}
#photo_diary .btn_box a.btn_back::after,
#photo_diary .btn_box.pagination a::after {
  content: ">";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  transform: scale(0.6, 1);
}
#photo_diary .btn_box.pagination a.btn_next::after {
  right: 14px;
}
#photo_diary .btn_box a.btn_back::after,
#photo_diary .btn_box.pagination a.btn_prev::after {
  content: ">";
  right: auto;
  left: 14px;
  transform: scale(0.6, 1) rotate(180deg);
}



/* ========== FAQページ ========== */
#faq {
  padding: 40px 24px;
}
#faq .pagetext_box {
  max-width: 680px;
  outline: 5px solid #fff;
  border: 1px solid var(--color_gold1);
  box-shadow: 0 0 12px 2px rgba(147, 130, 150, 0.2);
}

#faq dl.faq_list {
  margin-inline: auto;
}
#faq dl.faq_list dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  align-items: center;
  margin: 0 0 24px;
}

#faq dl.faq_list dt div {
  margin: 0 16px 0 0;
  width: 50px;
}

#faq dl.faq_list dt p {
  background: #e2e4fa;
  border-radius: 8px;
  width: 76%;
  padding: 8px 16px;
  position: relative;
  display: inline-block;
}

#faq dl.faq_list dt p::before {
  content: "";
  position: absolute;
  top: 28%;
  right: 100%;
  border: 8px solid transparent;
  border-right: 8px solid #e2e4fa;
}

#faq dl.faq_list dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: end;
  margin-bottom: 40px;
}
#faq dl.faq_list dd:last-of-type {
  margin-bottom: 0;
}

#faq dl.faq_list dd p {
  background: var(--main_color1);
  border-radius: 8px;
  color: #fff;
  width: 76%;
  padding: 8px 16px;
  position: relative;
  display: inline-block;
}

#faq dl.faq_list dd p::before {
  content: "";
  position: absolute;
  top: 14%;
  left: 100%;
  border: 8px solid transparent;
  border-left: 8px solid var(--main_color1);
}

#faq dl.faq_list dd div {
  margin: 0 0 0 16px;
  width: 50px;
}

@media screen and (min-width: 768px) {
  #faq .pagetext_box {
    padding: 32px 56px;
  }
  /* #faq dl.faq_list dt p {
    width: 48%;
  } */
  /* #faq dl.faq_list dd {
    margin-left: 24%;
  } */
}

/* ========== 求人ページ ========== */
#recruit {
  padding: 40px 24px;
}

#recruit .pagetext_box {
  max-width: 680px;
  padding: 24px;
}


#recruit .pagetext_box .pagetext_box_title {
  border-bottom: 4px double var(--main_color1);
  color: var(--main_color1);
  font-size: 20px;
  letter-spacing: 2px;
  text-align: center;
}

#recruit .pagetext_box .recruit_table table {
  font-size: 11px;
  margin: 0 0 24px;
  width: 100%;
}

#recruit .pagetext_box .recruit_table table tr th {
  background: var(--main_color1);
  border: 1px solid #f5d4df;
  color: #fff;
  padding: 8px;
}

#recruit .pagetext_box .recruit_table table tr td {
  border: 1px solid var(--main_color1);
  padding: 8px;
}

#recruit .pagetext_box .recruit_supplement {
  font-size: 11px;
}
#recruit .pagetext_box .recruit_supplement ul li {
  padding-left: 1em;
  text-indent: -0.7em;
}

#recruit .pagetext_box .recruit_supplement ul li span {
  color: var(--main_color1);
  margin-right: 4px;
}

#recruit .recruit_card > div {
  background: #f9ecec;
  border-radius: 8px;
  margin: 0 0 24px;
  padding: 24px;
}

#recruit .recruit_button {
  margin: 24px auto;
  max-width: 680px;
}

#recruit .recruit_button ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#recruit .recruit_button ul li {
  margin: 0 1%;
  width: 33.333333%;
}

#recruit .recruit_button ul li a {
  border-radius: 9999px;
  color: #fff;
  display: block;
  font-family: sans-serif;
  font-size: 12px;
  padding: 16px 0;
  text-align: center;
}

#recruit .recruit_button ul li:nth-child(1) a {
  background: #d189d3;
}

#recruit .recruit_button ul li:nth-child(2) a {
  background: #89b7d3;
}

#recruit .recruit_button ul li:nth-child(3) a {
  background: #89d3a1;
}

#recruit dl div {
  margin: 0 0 24px;
}

#recruit dl div dt {
  background: var(--main_color1);
  color: #fff;
  margin: 0 0 8px;
  padding: 4px 16px;
}

#recruit .recruit_form {
  margin: 0 0 24px;
}

#recruit .recruit_form a {
  background: #d389aa;
  border-radius: 9999px;
  color: #fff;
  display: block;
  font-family: sans-serif;
  font-size: 12px;
  padding: 16px 0;
  text-align: center;
}
.recruit_line_image {
  border: 1px solid #09B53A;
  margin: 0 auto 24px;
  max-width: 280px;
  padding: 24px 24px 8px;
  text-align: center;
}

#recruit .point_box{
  display: block;
}

#recruit .arrow_box{
  padding: 10px;
  background: var(--main_color1);;
  vertical-align: middle;
  text-align: left;
  overflow: visible;
  position: relative;
  color: #ffffff;
  font-weight: normal;
  margin-bottom: 0;
  border-radius: 100px;
  margin-bottom: 10px;
}
#recruit .arrow_box:after{
    left: 47%;
    bottom: -40%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-left-color: var(--main_color1);
    border-width: 10px;
    transform: rotate(90deg);
}

#recruit .point_box dd{
    padding: 10px 10px 10px 10px;
    }


#recruit .pagetext_box.greeting p span {
  color: #f5568c;
}

#recruit .pagetext_box.point6 p span {
  color: var(--main_color1);
}

#recruit .pagetext_box.point6 .pagetext_box_title {
  margin-bottom: 0;
}

.fs_10 {
  font-size: 10px !important;
}

.fs_16 {
  font-size: 16px !important;
}

.fs_18 {
  font-size: 18px !important;
}

.fs_20 {
  font-size: 20px !important;
}

.fw_b {
  font-weight: bold;
}

.c_red {
  color: #f00;
}

.c_pink {
  color: #f5568c;
}

.mb_0 {
  margin-bottom: 0 !important;
}
.mb_10 {
  margin-bottom: 10px;
}
.mb_16 {
  margin-bottom: 16px;
}
.mb_24 {
  margin-bottom: 24px;
}
.mt_10 {
  margin-top: 10px;
}

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

.page_frame {
  border: 1px solid var(--main_color1);
  padding: 8px;
}

.page_round {
  background: var(--main_color1);
  border-radius: 9999px;
  color: #fff;
  display: inline-block;
  padding: 4px 16px;
}

.page_round_a {
  background: #fff;
  color: var(--main_color1);
  padding: 4px 16px;
  text-align: center;
  border: 1px double var(--main_color1);
}

.page_round_c {
  background: var(--main_color1);
  border-radius: 9999px;
  color: #fff;
  padding: 4px 16px;
  text-align: center;
}

.page_border {
  border-bottom: 1px solid var(--main_color1);
}

.sch_info1 {
  background: #3e9be2;
  padding: 4px;
  color: #fff;
}
.sch_info2 {
  background: #e23e55;
  padding: 4px;
  color: #fff;
}
.sch_info_pro1 {
  background: #3e9be2!important;
  padding: 2px 20px!important;
  color: #fff;
  font-size: 13px;
}
.sch_info_pro2 {
  background: #e23e55!important;
  padding: 2px 20px!important;
  color: #fff;
  font-size: 13px;
}

#contents_reserve,
#contents_contact,
#contents_enquete,
#contents_entry {
  padding: 40px 24px;
}

#contents_reserve form,
#contents_contact form,
#contents_enquete form,
#contents_entry form {
  background: rgba(255, 255, 255, 0.8);
  margin: 0 auto;
  max-width: 480px;
  padding: 24px;
}

#contents_reserve table,
#contents_contact table,
#contents_enquete table,
#contents_entry table {
  display: block;
}

#contents_reserve table tr,
#contents_contact table tr,
#contents_enquete table tr,
#contents_entry table tr {
  display: block;
  margin: 0 0 24px;
}

#contents_reserve table tr th,
#contents_contact table tr th,
#contents_enquete table tr th,
#contents_entry table tr th {
  color: var(--main_color1);
  display: block;
  text-align: left;
}

#contents_reserve table tr td,
#contents_contact table tr td,
#contents_enquete table tr td,
#contents_entry table tr td {
  display: block;
  text-align: left;
}

#contents_reserve table tr td input[type="text"],
#contents_reserve table tr td input[type="email"],
#contents_contact table tr td input[type="text"],
#contents_contact table tr td input[type="email"],
#contents_enquete table tr td input[type="text"],
#contents_enquete table tr td input[type="email"],
#contents_entry table tr td input[type="text"],
#contents_entry table tr td input[type="email"] {
  width: 80%;
}

#contents_reserve table tr td textarea,
#contents_contact table tr td textarea,
#contents_enquete table tr td textarea,
#contents_entry table tr td textarea {
  min-height: 100px;
  width: 80%;
}

#contents_reserve table tr td label,
#contents_contact table tr td label,
#contents_enquete table tr td label,
#contents_entry table tr td label {
  white-space: nowrap;
}

#contents_entry {
  background: #f9ecec;
  padding: 40px 24px;
}

#contents_entry .entry_title {
  color: var(--main_color1);
  font-size: 20px;
  margin: 0 0 24px;
  text-align: center;
}

#contents_mailmagazine {
  padding: 40px 24px;
}

#contents_link {
  padding: 40px 24px;
}

#contents_link table {
  background: #fff;
  margin: 0 auto 40px;
  max-width: 600px;
}

#contents_link table tr th {
  border: 1px solid var(--main_color1);
  color: var(--main_color1);
  padding: 8px;
}

#contents_link table tr td {
  border: 1px solid var(--main_color1);
  padding: 8px;
}

#contents_link table tr td .bnr_88 {
  width: 88px;
}

#contents_link table tr td .bnr_160 {
  width: 160px;
}

#contents_link table tr td .bnr_200 {
  width: 200px;
}

#contents_link table tr td .bnr_468 {
  max-width: 468px;
  width: 100%;
}

#contents_link .list_link_box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: min(90%, 680px);
  margin: 0 auto;
}
#contents_link .list_link_box li {
  width: calc((100% - 60px) / 7);
  text-align: center;
  font-size: 10px;
}
@media screen and (max-width:769px) {
  #contents_link .list_link_box li {
    width: calc((100% - 40px) / 5);
  }
}
@media screen and (max-width:520px) {
  #contents_link .list_link_box li {
    width: calc((100% - 20px) / 3);
  }
}

#contents_link .list_link_box img {
  height: 31px;
  width: 88px;
}

/* ========== 404ページ ========== */
#section_err {
  background-size: cover;
  padding: 40px 24px;
}
#section_err h2 {
  letter-spacing: 0.1em;
}
#section_err a.err_toplink {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-top: 24px;
  padding: 0.8em 3em;
  border: 1px solid;
  border-radius: 99px;
  color: var(--main_color1);
}

.ta_l {
  text-align: left;
}

.atten_01 {
  color: #f00;
}

.pagetext_box {
  background: rgba(255, 255, 255, 0.8);
  /* border-radius: 8px; */
  color: #333;
  font-size: 14px;
  padding: 32px 24px;
  margin: 0 auto 24px;
  max-width: 480px;
}

.pagetext_box p {
  margin-bottom: 16px;
}
.pagetext_box p:last-of-type {
  margin-bottom: 0;
}

.pagetext_box p span {
  color: #f00;
}

@media screen and (min-width:769px) {
  .br_pc {
      display: none;
  }
  #footer_menu {
    display: none;
  }
  .pro_sp {
    display: none;
  }
}

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



header .nav_pc > div {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}
header .nav_pc > div ul li {
  font-size: clamp(10px, 1.5vw, 14px);
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}
header .nav_pc > div ul li a {
  color: #fff;
  display: block;
  padding: 16px;
}
header .nav_pc > div ul li a span {
  display: block;
  font-size: 0.75em;
  margin: 4px 0 0;
}
header .nav_pc > div ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center;
}


@media screen and (min-width: 960px) {
  header {
    position: fixed;
    top: 0;
    z-index: 10;
  }
  header .nav_pc {
    background: var(--main_color1);
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
  }
  /*header .nav_pc > div ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header .nav_sp {
    display: none;
  }
  header .nav_pc > div {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
  }header .nav_pc > div ul li {
    font-size: clamp(10px, 1.5vw, 14px);
    letter-spacing: 2px;
    line-height: 1;
    text-align: center;
  }
  header .nav_pc > div ul li a {
    color: #fff;
    display: block;
    padding: 16px;
  }
  header .nav_pc > div ul li a span {
    display: block;
    font-size: 0.75em;
    margin: 4px 0 0;
  }*/
  header .nav_pc > div ul .header_pc_logo {
    margin: 4px 0 0;
    width: 80px;
  }
  #mainvisual {
    margin-top: 60px;
  }
  /* #mainvisual img {
    width: 420px;
  } */
  #mainvisual_sub {
    padding: 128px 0 40px;
  }

}
@media screen and (min-width: 768px) {
  /*------------------
  リンクバナーエリア
  ------------------*/
  .link_bnr_area{
    display: flex;
  }
  .link_bnr_01{
    margin-right: 20px;
    margin-bottom: 0;
  }

  #therapist,
  #schedule,
  #profile {
    padding: 80px 40px;
  }
  .header_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .header_info .info_tel {
    margin: 0;
    width: 400px;
  }
  .header_info .info_time {
    margin: 8px 0 0 16px;
  }
  #headline > div {
    margin: 0 auto;
    max-width: 720px;
  }
  #mainvisual {
    height: auto;
  }
  /* #mainvisual .main_bg{
    min-height: auto;
  } */
  
  .inner {
    padding: 80px 40px;
  }
  #top_column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 80px 40px;
  }
  #top_column section {
    max-width: 640px;
    padding: 0;
    width: 50%;
  }
  #top_column #news {
    margin: 0;
  }
  /* #top_column #news .news_top_inner {
    padding: 19px 52px 24px;
  } */

  /* トップ - イベント画像 */
  #event_top .event_box .event_pc {display: block;}
  #event_top .event_box .event_sp {display: none;}

  #topics_top {
    padding: 80px 40px;
    margin: 0 0 0 100px;
  }
  #topics_top #info_box dd {
  /* height: 330px; */
  }

  /*
  .cast_box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .cast_box li {
    width: 33.333333%;
  }
  */
  .cast_box {
    grid-template-columns: repeat(3, 1fr);
  }
  .cast_box li a .cast_image .icon_new {
    width: min(20%, 64px);
  }
  .cast_box li a .cast_image .icon_discount {
    width: 88px;
  }
  .cast_box li a .cast_text .cast_icon {
    gap: 8px;
  }
  .cast_box li a .cast_text .cast_icon div {
    width: calc((100% - 8px) / 2);
  }
  #schedule_today {
    padding: 80px 40px;
  }
  #newtherapist {
    padding: 80px 40px;
  }
  #newtherapist ul {
    margin: 0 auto;
    max-width: 724px;
  }
  #newtherapist ul li {
    width: 48%;
    margin: 0 16px;
  }
  #pickup ul {
    margin: 0 auto;
    max-width: 330px;
  }
  #pickup ul li {
    margin: 0 0 16px;
  }
  #twitter > div {
    margin: 0 auto;
    max-width: 640px;
  }
  #instagram > div{
    margin: 0 auto;
    max-width: 640px;
  }

  #banner div {
    margin: 0 auto;
    max-width: 1000px;
  }
  #banner div .recruit_box {
    margin-bottom: 80px;
  }
  #banner div ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #banner div ul li {
    margin: 0 1% 24px;
    max-width: 440px;
    width: 48%;
  }
  #concept h2 {
    font-size: 24px;
  }
  #concept h2 span {
    font-size: 30px;
  }
  #concept div {
    margin: 0 auto;
    max-width: 1000px;
  }
  .breadcrumbs ol {
    margin: 0 auto;
    max-width: 1200px;
    padding: 8px;
  }
  footer .footer_inner nav {
    margin: 8px 0 80px;
  }
  footer .footer_inner .footer_logo {
    margin: 0 auto 80px;
    width: 320px;
  }
  #profile .profile_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    width: 768px;
  }
  #profile .profile_box .profile_box_left {
    max-width: 400px;
    width: 57%;
  }
  #profile .profile_box .profile_box_right {
    margin: 0 0 40px 40px;
    max-width: 327px;
    width: 43%;
  }
  #profile #profile_gallery,
  #profile #profile_report {
    margin: 0 auto 40px;
    max-width: 1000px;
  }
  #profile #profile_gallery div a {
    width: calc((100% - 35px)/8);
    overflow: hidden;
    position: relative;
    display: inline-block;
  }
  #profile .profile_box_schedule .profile_box_schedule_inner {
    margin: 0 auto;
    max-width: 1000px;
    margin-top: 40px;
  }
  #profile .profile_box_schedule .profile_box_schedule_inner > div {
    width: 33.333333%;
  }
  /* #topics article {
    margin: 0 auto 40px;
    max-width: 640px;
  } */
  #recruit .pagetext_box .recruit_table table tr td {
    font-size: 14px;
  }
  #recruit .pagetext_box .recruit_supplement ul li {
    padding-left: 0em;
    text-indent: 0em;
  }
  #recruit .pagetext_box .recruit_supplement {
    font-size: 14px;
  }
  #recruit .recruit_card > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #recruit .recruit_card > div > div {
    margin-right: 24px;
  }
  #system .system_qa {
    padding: 32px 56px;
  }
  #system .system_qa dl > div dt p {
    width: 48%;
  }
  #system .system_qa dl > div dd {
    margin-left: 24%;
  }

  #recruit .point_box .arrow_box{
    min-width: 100px;
    border-radius: 0;
    margin-bottom: 0;
  }
  #recruit .arrow_box:after{
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136,183,213,0);
    border-left-color: var(--main_color1);;
    border-width: 10px;
    margin-top: -10px;
    transform: rotate(0deg);
}
  #recruit .point_box{
  display: flex;
}
  #recruit .point_box dd{
      padding: 10px 10px 10px 35px;
  }
}

@media screen and (max-width: 500px) {
  #system .system_price .op tr th.txt2 {
    font-size: 12px;
    text-align: left;
  }
  .sch_info1 {
    font-size: 12px;
  }
  .sch_info2 {
    font-size: 12px;
  }
  .sch_info_pro1 {
    padding: 2px 10px!important;
    font-size: 12px;
  }
  .sch_info_pro2 {
    padding: 2px 10px!important;
    font-size: 12px;
  }
  #link_banner .bnr_box {
    padding-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

}

/*# sourceMappingURL=style.css.map */