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

/* PC版 */

/* ------------------------------------------
   Phase 1: ベース・全体の印象
   ------------------------------------------ */

/* --- フォント・テキスト --- */
body, p, h1, h2, h3, small, div, ul, li, img, header, footer, nav, section {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

body {
  background-color: #f5f3f2;
}

header, .hader_logo_box, .top_main_area {
  background-color: #f5f3f2;
}

.hader_logo_box {
  margin: 0 auto 0 auto;
}

a {
  color: #be6b7c;
}

.border {
  border-bottom: 1px solid #e6bfc9 !important;
}

/* --- ヘッダー上部帯 --- */
#header_fix .header_fix_bg {
  background: #be6b7c;
}

#header_fix .header_fix_bg h1 {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  letter-spacing: 2px;
}

#header_fix .header_fix_bg h1 a {
  color: #fff;
}

/* --- ロゴ下キャッチコピー帯 --- */
.hader_logo_box h1.header_logo {
  width: 160px;
  margin: 15px 0 0 0;
}

.hader_logo_box p.shop_copy {
  margin: 55px 0 0 86px;
  color: #686666;
}

.hader_logo_box .header_call {
  margin: 55px 0 0;
}

.hader_logo_box h1.header_logo a span {
  display: none;
}

/* --- 電話アイコン --- */
.hader_logo_box .header_call .header_call_box .top_icon {
  background: #be6b7c;
}

.hader_logo_box .header_call .header_call_box .header_call_text .header_call_number {
  color: #be6b7c;
}

.hader_logo_box .header_call .header_call_box .header_call_text .header_call_number a {
  color: #be6b7c;
}

#side_nav_call p.call_no {
  color: #be6b7c;
}

/* --- ナビゲーションメニュー --- */
header {
  border: none;
}

#hader_menu {
  border-top: 1px solid #d8a6b0;
  border-bottom: 1px solid #d8a6b0;
}

.li_border {
  border-right: solid 0.25px #d8a6b0;
}

.li_border:hover {
  background: rgba(190, 107, 124, 0.1);
}

.li_border a {
  color: #be6b7c;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.li_border a:hover {
  color: #be6b7c;
}

.li_border_none:hover {
  background: rgba(190, 107, 124, 0.1);
}

.li_border_none a {
  color: #be6b7c;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.li_border_none a:hover {
  color: #be6b7c;
}

/* --- フローティングメニュー --- */
#header_floating_menu {
  background: rgba(83, 74, 85, 0.95);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

#header_floating_menu ul li.floating_logo {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

/* --- サイドナビ --- */
.side_nav .sidemenu ul li {
  background: #be6b7c;
}

.side_nav .sidemenu ul li span {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  letter-spacing: 3px;
}

.side_nav .sidemenu ul li a {
  background: linear-gradient(180deg, rgba(253, 251, 249, 0.95) 4.85%, rgba(249, 243, 245, 0.5) 100%);
  color: #be6b7c;
  font-weight: 400;
}

#side_nav_call p.title_call {
  background: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

/* --- セクション見出し --- */
.container_box section h2 {
  color: #be6b7c;
  border: 0.5px solid rgba(216, 166, 176, 0.4);
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.2);
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  width: 100%;
  padding: 5px 0 10px;
}

/* --- 汎用ボタン --- */
.common_enter {
  background: #be6b7c;
  border-radius: 0;
  transition: all 0.3s ease;
}

.common_enter a {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
}

/* --- フッター --- */
footer {
  background: #534a55;
}

.footer_information {
  background: #625a64;
  border-top: 1px solid #7a7280;
}

#footer_shopname {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  color: #fff;
  letter-spacing: 2px;
}

#footer_callno {
  font-family: "Noto Serif JP", serif;
  color: #fff;
}

.footer_information #sp_enter li a {
  background: #be6b7c;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.footer_information #sp_enter li a:hover {
  background: #a85a6b;
}

.footer_nav ul li a {
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 1px;
  font-weight: 300;
}

.footer_nav ul li a:hover {
  color: #e6bfc9;
}

.copy {
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  letter-spacing: 1px;
}

.copy a {
  color: rgba(255, 255, 255, 0.6);
}

/* --- スクロールトップ --- */
.scroll_top_area {
  background: none;
}

.scroll_top_area p#page-top {
  background: #be6b7c;
}

/* ------------------------------------------
   Phase 2: トップページ固有セクション
   ------------------------------------------ */

/* --- ニュースボックス --- */
.top_news_textbox {
  border: none;
}

.top_news_textbox_inner .topic {
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
  padding: 0;
}

.top_news_textbox_inner .topic .topic_text h2 {
  background: none;
  color: #686666;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  border: none;
  box-shadow: none;
}

/* --- モーダル --- */
.modal-content {
  background: #F9F3F5;
}

.modal-content_p01 {
  background: rgba(190, 107, 124, 0.15);
}

.modal-content_p02 {
  background: rgba(190, 107, 124, 0.3);
}

.modal-content ul li {
  color: #534a55;
}

.modal-content ul li span {
  color: #534a55;
}

/* --- ランキング --- */
.rankinglist_loop ul li a {
  background: #F9F3F5;
  color: #534a55;
}

.ranking_list_name {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

.ranking_profile p {
  color: #534a55;
}

.font_standard {
  color: #F9F3F5;
}

.top_ranking_enter {
  background: #be6b7c;
  border-radius: 0;
  transition: all 0.3s ease;
}

.top_ranking_enter a {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
}

.rankinglist_loop .topranking_icon {
  text-align: center;
}

.rankinglist_loop .topranking_icon ul {
  padding: 0;
  text-align: center;
}

.rankinglist_loop .topranking_icon ul li {
  background: #9b93c7;
  color: #fff;
  border-radius: 2px;
  margin: 0 3px;
  float: none;
  width: auto;
  display: inline-block;
}

/* --- スケジュールリスト --- */
.top_schdule_list ul.sch_li li.top_sch_li a {
  border: 1px solid #e6bfc9;
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.15);
}

.list_prof_name {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

.list_prof_comment {
  color: #9b93c7;
}

.list_prof_schdule {
  background: rgba(0, 0, 0, 0.35);
}

.toplist_icon ul li {
  background: #9b93c7;
  color: #fff;
  border-radius: 2px;
  font-size: 60%;
}

/* --- 動画セクション --- */
.movie_top_link {
  background: #BE9C91;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
}

.movie_top_box {
  border: none;
}

.movie_top_box h3 {
  border: none;
}

.movie_top_box ul li {
  margin: 0;
}

.movie_page_title {
  border: none;
  font-weight: 700;
  padding: 0;
  margin: 0;
}

.mvTtl {
  width: 100% !important;
  margin: 0 0 20px 0 !important;
  font-weight: 400 !important;
  border: none !important;
  padding: 0 !important;
  font-family: "Noto Serif JP", serif !important;
}

/* --- 写メ日記 --- */
#top_shamail {
  border: none;
  margin-top: 30px;
}

#top_shamail ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#top_shamail ul li {
  border: none;
  background: #f8f8f8;
  box-shadow: 0 8px 8px rgb(198 188 190 / 80%);
  padding-bottom: 16px;
  float: none;
}

.top_shamail_image_box {
  background: rgba(155, 147, 199, 0.85);
}

.shamail_title {
  border: none;
}

.shamail_title h3 a {
  color: #be6b7c;
  font-family: "Noto Sans JP", sans-serif;
}

.shamail_title a {
  color: #be6b7c;
}

.photo_up {
  background: #c391cf;
}

/* TOPページの最新写メ日記 — diary一覧 (.listshamail_title) と同じ装飾に揃える */
#top_shamail .shamail_title {
  border: none;
  padding: 4px 10px 0;
}

#top_shamail .shamail_title div {
  height: auto;
  text-align: left;
  margin: 4px 0 0;
}

#top_shamail .shamail_title p {
  color: #7a7280;
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 400;
  padding: 6px 4px 4px;
  text-align: left;
}

#top_shamail .shamail_title h3 {
  margin: 4px 0;
}

#top_shamail .shamail_title h3 a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1px;
  text-decoration: none;
}

#top_shamail .shamail_title a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-decoration: none;
  letter-spacing: 1px;
  font-size: 13px;
}

#top_shamail .shamail_title a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#top_shamail .shamail_title a span {
  color: #7a7280;
  font-weight: 300;
  font-size: 12px;
}

/* --- ロゴ画像帯（別ページ用） --- */
.header_logo_image h2 a span {
  background-color: #be6b7c;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

/* --- サムネイルリスト --- */
.thumb_list {
  background: rgba(253, 251, 249, 0.92);
}

/* --- リストループ --- */
.list_loop {
  background: #be6b7c;
  border-radius: 2px;
}

/* --- 検索セクション --- */

#search_contents {
  margin-top: 30px;
}

.search_title {
  background: #a3876b;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
}

.search_sort_box button,
.search_sort_box a {
  background: #be6b7c;
  color: #fff;
}

.search_sort_box button.active
.search_sort_box a.active {
  background: #534a55;
  color: #fff;
}

.search_btn:before,
.search_btn:after {
  background: #534a55;
}

.search_btn_inner_bg {
  margin: 10px 0 0;
  padding: 10px 0 0;
}

/* ------------------------------------------
   Phase 3: 仕上げ・微調整
   ------------------------------------------ */

/* --- トランジション追加 --- */
.common_enter:hover,
.top_ranking_enter:hover {
  opacity: 0.85;
  transition: all 0.3s ease;
}

.footer_nav ul li a {
  transition: color 0.3s ease;
}

/* --- SNSアイコン（フッター） --- */
.footer_sns li a {
  transition: all 0.3s ease;
}

.footer_sns li a:hover {
  opacity: 0.8;
  transform: translateY(-3px);
}

/* --- バナーエリア背景統一 --- */
.footer_banner_area ul li a {
  transition: opacity 0.3s ease;
}

.footer_banner_area ul li a:hover {
  opacity: 0.85;
}

/* ------------------------------------------
   Fix ①〜④: 追加修正
   ------------------------------------------ */

/* --- Fix ①: ご相談無料エリア - 白抜き文字 --- */
.top_icon .top_icon_text {
  color: #fff !important;
}

/* --- Fix ②: サブメニュー --- */
/* SUB MENU ヘッダー行: ダーク背景・縦中央寄せ・白文字 */
.side_nav .sidemenu ul li:first-child {
  background: #be6b7c;
  display: flex;
  align-items: center;
  justify-content: center;
}

.side_nav .sidemenu ul li span {
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  letter-spacing: 4px;
  font-size: 22px;
  padding: 22px 0 18px;
  display: block;
}

/* 各メニュー項目の間に余白 */
.side_nav .sidemenu ul li {
  margin-bottom: 2px;
}

/* メニュー項目: グラデーション除去・白文字 */
.side_nav .sidemenu ul li a {
  background: #9a9294 !important;
  color: #fff !important;
  border-bottom: none !important;
}

/* メニュー項目内のアイコン(material-icons)を白に */
.side_nav .sidemenu ul li a p,
.side_nav .sidemenu ul li a .material-icons {
  color: #fff !important;
}

.side_nav .sidemenu ul li a:hover {
  background: #a85a6b !important;
  color: #fff !important;
}

.side_nav .sidemenu ul li a:hover p,
.side_nav .sidemenu ul li a:hover .material-icons {
  color: #fff !important;
}

/* --- Fix ③: ランキングカード - 塗りつぶし・白文字 --- */
.rankinglist_loop ul li a {
  background: #534a55 !important;
  color: #fff !important;
}

.ranking_list_name {
  color: #e6bfc9 !important;
}

.ranking_profile p {
  color: rgba(255, 255, 255, 0.85) !important;
}

.font_standard {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* --- Fix ④: こだわり検索フォームのボーダー色を背景と統一 --- */
.search_btn_inner {
  border-color: #BE9C91 !important;
  border: 1px solid #BE9C91;
}

/* --- 背景色統一 --- */
.container_box,
.swiper,
.top_banner_area {
  background-color: #f5f3f2;
}

.swiper-slide {
  background-color: #f5f3f2;
}

/* --- お知らせ --- */
.re_notice {
  background: #d28a94;
}

.re_notice ul li {
  font-family: "Noto Serif JP", serif;
}

/* --- ニュースボックス --- */
.top_news_textbox .topics-box {
  font-family: "Noto Serif JP", serif;
}

/* --- 検索フォーム詳細 --- */
.search_btn_inner_bg .item ul,
.search_btn_inner_bg .item ul.therapist_searc {
  border: none;
}

.search_btn_inner_bg .item ul li label {
  background: #a3876b;
}

.start_search input {
  background: #875e36;
  font-family: "Noto Serif JP", serif;
}

.search_sort_box {
  background: none;
}

.search_btn_inner_bg .item ul.therapist_searc li label {
  background: #a3876b;
}

.search_btn_inner_bg .searchname {
  color: #875e36;
}

/* --- スケジュールリスト --- */
.top_schdule_list ul.sch_li {
  padding-top: 0;
}

.top_schdule_list ul.sch_li li.top_sch_li a {
  border: none;
}

.list_prof_schdule {
  color: #fff;
  background: rgba(0, 0, 0, 0.35);
}

.top_schdule_list ul.sch_li li.top_sch_li a {
  box-shadow: 0 8px 8px rgb(198 188 190 / 80%);
  background: #f8f8f8;
}

/* --- 新人セラピスト(カルーセル) --- */
#carousel li a {
  background: #f8f8f8;
  box-shadow: 0 8px 8px rgb(198 188 190 / 80%);
}

.carousel_prof_box {
  background: #f8f8f8;
  margin: 0 auto;
}

.carouse_date {
  width: 279px;
  color: #fff;
  background: rgba(0, 0, 0, 0.35);
  margin-top: -55px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  color: #be6b7c !important;
}

.swiper-pagination-bullet {
  background: #d8a6b0 !important;
}

.swiper-pagination-bullet-active {
  background: #be6b7c !important;
}

:root {
  --swiper-pagination-color: #be6b7c;
  --swiper-theme-color: #be6b7c;
  --swiper-navigation-color: #be6b7c;
}

.carouse_name {
  color: #be6b7c;
}

.carouse_comment {
  color: #9b93c7;
}

#carousel li .topnewface_icon ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#carousel li .topnewface_icon ul li {
  background: #9b93c7;
}

.top_news_textbox .therapist-box {
  background: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.therapist-title {
  display: none;
}

.topic .topics-box,
.topic .home-box {
  margin: 0;
  padding-top: 10px;
  background: none;
  box-shadow: none;
}

.topics-title,
.home-title {
  display: none;
}

.ticker {
  background: #be6b7c;
}

.therapist-box .therapist-btn {
  background: #be6b7c;
}

.therapist-box .therapist-name {
  color: #be6b7c;
}

.therapist-box .therapist-text {
  color: #be6b7c;
}

.top_news_textbox .therapist-card {
  background: none;
  gap: 0;
}

.topic .topics-sub {
  color: #be6b7c;
}

.topic .cta-box {
  background: #e49bad;
}

.topic .cta-box a {
  color: #e49bad;
}

.topic .home-flow {
  background: #f1e4e4;
  color: #be6b7c;
}

.topic .topics-list {
  background: #f1e4e4;
  color: #be6b7c;
}

.hader_logo_box .header_call .header_call_box .header_call_text .top_hours {
  color: #be6b7c;
}

.hader_logo_box .header_call .header_call_box .header_call_text .top_hours:before {
  color: #be6b7c;
}

#side_nav_call p.hours_side,
#side_nav_call p.hours_side:before {
  color: #be6b7c;
}

.search_sort_box button {
  font-family: "Noto Serif JP", serif;
}

/* howto */
.beg_area {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 300;
}

/* service */
.fanst_box_ul {
  border: none;
  padding: 0 0 15px 15px;
  line-height: 1.8;
}

.fanst_titlel {
  border: none;
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  color: #be6b7c;
}

.fanst_titlel i {
  display: none;
}

.fanst_box_otherarea {
  border: none;
  padding-top: 0;
}

.fanst_service_title {
  width: 15%;
  font-size: 16px;
  background: #c88e9a;
  font-family: "Noto Serif JP", serif;
}

.fanst_service_text {
  margin-bottom: 20px;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  padding: 5px 8px 0 15px;
  color: #534a55;
}

.fanst_box {
  margin: 5px auto 110px auto;
}

/* Font Awesome 矢印 → dli-chevron-down スタイル */
.fanst_box:before {
  display: none;
}

.fanst_box:after {
  content: "";
  font-family: initial;
  font-size: 0;
  background: none;
  clip-path: none;
  display: block;
  width: 46px;
  height: 46px;
  border-left: 3px solid #c88e9a;
  border-bottom: 3px solid #c88e9a;
  border-right: none;
  border-top: none;
  transform: rotate(-45deg);
  position: absolute;
  left: calc(50% - 23px);
  bottom: -45px;
}

.fanst_box_ul li {
  width: 100%;
  margin: 0 0 15px 10px;
  font-size: 16px;
}

.fanst_box_other {
  width: 100%;
}

.fanst_box_otherarea_image {
  padding-bottom: 30px;
}

.fanst_text {
  width: 100%;
  padding: 0;
  font-size: 16px;
  line-height: 2;
}

.more_enter_contents {
  width: 50%;
  font-size: 20px;
  background: #d05a9c;
}

.more_enter_contents a {
  padding: 20px;
}

.more_enter_contents a:hover {
  background: rgba(255, 255, 255, 0.25);
}

/* couple */
.beg_area span {
  font-weight: normal;
}

.beg_text span {
  font-weight: normal;
}

.diversion_area {
  border: none !important;
}

/* system */
.system_h3 {
  margin-top: 20px;
  font-family: "Noto Serif JP", serif;
  color: #d05a9c;
  font-size: 24px;
  line-height: 1.6;
}

.system_h4 {
  font-size: 16px;
  color: #d05a9c;
  margin: 0;
}

.system_text_top {
  font-size: 16px;
  line-height: 2;
}

.system_contents_box {
  padding: 0 0 20px;
}

.system_contents_box td.sys_table_title {
  padding: 12px 3%;
  border: 1px solid #a3876b;
  background: #a3876b;
  font-size: 20px;
  font-weight: normal;
}

.system_contents_box td.sys_table_left,
.system_contents_box td.sys_table_right {
  padding: 10px;
  color: #875e36;
  border: 1px solid #a3876b;
  font-weight: normal;
}

.system_contents_box .system_label {
  font-size: 16px;
  font-weight: normal;
}

.system_contents_box .system_label_sm {
  font-size: 16px;
  font-weight: normal;
}

.system_notice_list {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 2;
}

.system_notice_item {
  font-size: 14px;
}

.system_notice_item_mb {
  margin-bottom: 20px;
}

/* ------------------------------------------
   ユーティリティ: margin / padding
   ------------------------------------------ */
.mt0  { margin-top: 0 !important; }
.mt5  { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.mb0  { margin-bottom: 0 !important; }
.mb5  { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

.pt0  { padding-top: 0 !important; }
.pt5  { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }

.pb0  { padding-bottom: 0 !important; }
.pb5  { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }

.system_list{
  margin: 30px auto 80px;
}

.system_list li {
  margin: 0 auto 15px;
}

/* system - 旧インラインスタイルをクラス化したもの */
.system_red {
  color: #be6b7c;
  font-weight: normal;
  font-size: 23px;
}

.system_red_text {
  color: #be6b7c;
}

.system_caption {
  font-size: 13px;
  font-weight: normal;
}

.system_caption_dark {
  font-size: 12px;
  font-weight: normal;
  color: #534a55;
}

.system_caption_md {
  font-size: 13px;
}

.system_course_min {
  font-size: 20px;
  font-weight: normal;
}

.system_course_label {
  font-size: 14px;
  font-weight: normal;
}

.system_price {
  font-size: 20px;
}

.system_label {
  font-size: 14px;
  font-weight: normal;
}

.system_label_sm {
  font-size: 14px;
}

.system_section_title {
  font-size: 18px;
}

.text_left   { text-align: left !important; }
.text_center { text-align: center !important; }
.text_right  { text-align: right !important; }

.block {
  display: block;
}

.system_intro {
  display: block;
  font-size: 15px;
  text-align: center;
  margin: 0 auto 10px;
  padding: 0;
}

.system_note {
  padding: 0 0 20px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

.system_note_text {
  color: #534a55;
  font-size: 14px;
}

.system_note_red {
  color: #534a55;
  font-size: 14px;
}

.system_attention {
  display: block;
  width: 100%;
  text-align: center;
  margin: 5px auto 50px;
  padding: 20px 0;
  background: #f1e4e4;
  line-height: 2;
  box-sizing: border-box;
}

.system_attention_lg {
  font-size: 18px;
}

.system_attention_md {
  font-size: 16px;
}

.system_attention_red {
  color: #be6b7c;
  font-size: 16px;
  padding: 5px;
}

.system_attention_mark {
  color: #534a55;
  padding: 5px;
}

.system_attention_box {
  background: #f1e4e4;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 2;
  margin: 0 auto 15px;
  max-width: 840px;
  padding: 30px 5% 20px;
  width: 100%;
  text-align: center;
}

.system_attention_p {
  display: block;
  width: 92%;
  text-align: left;
  font-size: 16px;
  padding: 20px 4%;
  margin: 5px 0;
  background: #f1e4e4;
  line-height: 2;
  box-sizing: border-box;
}

.system_attention_p span {
  display: block;
}

.system_attention_p_red {
  font-size: 14px;
  color: #be6b7c;
}

.system_cancel_note {
  margin: 0 auto;
  padding: 0 0 20px;
  width: 96%;
}

.system_cancel_note span {
  color: #be6b7c;
  font-size: 14px;
}

.system_more {
  margin: 80px auto;
  background: #d05a9c;
}

.system_caution {
  width: 100%;
  margin-top: 30px;
  border: 1px #be6b7c solid;
}

.system_caution h4 {
  padding: 10px;
  font-family: "Noto Serif JP", serif;
}

.caution_box {
  background: none;
}

.caution_box span {
  font-size: 20px;
  color: #be6b7c;
}


.caution_box ul li {
  line-height: 2.5;
  color: #534a55;
}

/* ------------------------------------------
   simulator (料金シミュレーター)
   ------------------------------------------ */

/* 全体ボックス */
div.infoInBox {
  background: rgba(190, 107, 124, 0.05);
  border: 1px solid #e6bfc9;
  border-radius: 8px;
  padding: 10px 0;
}

/* 各フォーム行 */
div.infoInBox .form {
  border-bottom: 1px solid #e6bfc9;
  border-radius: 0;
  padding: 10px 15px 24px;
  margin-bottom: 6px;
}

/* ラベル */
div.infoInBox .form p.name {
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #be6b7c;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

/* 必須・補足記号 */
div.infoInBox .form p span {
  color: #be6b7c;
}

/* 補助テキスト */
div.infoInBox .form p span.attention {
  color: #9b93c7;
  font-weight: 400;
}

div.infoInBox .form p name.attention {
  color: #be6b7c;
}

/* 入力 / セレクト */
div.infoInBox .form p.input input,
div.infoInBox .form p.input select,
div.infoInBox .form select,
div.infoInBox .form p.area textarea {
  border: 1px solid #e6bfc9 !important;
  background: #fff !important;
  border-radius: 4px;
}

div.infoInBox .form select:disabled,
div.infoInBox .form p.input select:disabled {
  background: #f0ebec !important;
}

/* コース・オプション行 */
div.infoInBox .courseCalc,
div.infoInBox .optionCalc {
  color: #534a55;
  line-height: 2.2;
  padding: 6px 10px;
  margin-bottom: 4px;
}

div.infoInBox .courseCalc label,
div.infoInBox .optionCalc label {
  color: #534a55;
}

/* コース見出し（部屋から始まる物 / 街から始まる物語） */
div.infoInBox .form p.input > p {
  color: #be6b7c;
  font-weight: 500;
  letter-spacing: 1px;
}

/* 計算エリア */
#calcArea {
  background: #fff;
  border: 1px solid #e6bfc9;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.15);
}

/* 結果行 */
#calcArea .totalBase {
  color: #534a55;
}

#calcArea .totalBase > div {
  color: #534a55;
}

/* 合計金額の数字 */
#calcArea .totalBase > div:last-of-type {
  color: #be6b7c;
  font-size: 18px;
  border-top: 1px solid #e6bfc9;
  margin-top: 10px;
  padding-top: 12px;
}

#calcArea #totalPrice {
  color: #be6b7c !important;
  font-size: 30px;
  font-weight: 500;
  padding: 0 5px;
}

/* エラーメッセージ */
#err_message {
  color: #c44 !important;
  font-size: 14px;
}

/* 注意書き */
.totalMemo {
  color: #be6b7c !important;
  font-size: 13px;
  line-height: 1.8;
}

/* 計算ボタン・コピーボタン（インライン上書き） */
.btn_calc,
#copy_btn {
  background-color: #be6b7c !important;
  background: #be6b7c !important;
  color: #fff !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  letter-spacing: 3px;
  border-radius: 2px !important;
  border: none !important;
  transition: all 0.3s ease;
}

.btn_calc:hover,
#copy_btn:hover {
  background-color: #a85a6b !important;
  background: #a85a6b !important;
}


/* ------------------------------------------
   schedule (出勤スケジュール)
   ------------------------------------------ */

/* 日付セレクター */
.schedule_select select,
#select_sche_date {
  background: #F9F3F5 !important;
  border: #be6b7c 1px solid !important;
  color: #be6b7c;
  font-size: 24px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}

.schedule_select:after {
  top: 23%;
  right: 18px;
  color: #be6b7c;
}

/* ------------------------------------------
   therapist (セラピスト紹介) - 検索ボックス
   ------------------------------------------ */

.search_box .title {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500 !important;
  color: #be6b7c !important;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.search_box .search_name {
  border: 1px solid #e6bfc9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-family: "Noto Serif JP", sans-serif !important;
  font-size: 14px;
  color: #534a55;
  outline: none;
}

.search_box .search_name:focus {
  border-color: #be6b7c !important;
  box-shadow: 0 0 0 2px rgba(190, 107, 124, 0.1);
}

.search_box .search_button {
  background-color: #be6b7c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: "Noto Serif JP", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 2px;
  padding: 8px 20px !important;
  cursor: pointer;
  transition: all 0.3s ease;
}

.search_box .search_button:hover {
  background-color: #a85a6b !important;
}

.search_box .description {
  color: #9b93c7 !important;
  font-family: "Noto Serif JP", sans-serif !important;
  margin-top: 6px;
}

.search_sort_box.ranking_category_btn {
  background: none;
}


/* ------------------------------------------
   point_ranking (ポイントランキング)
   ------------------------------------------ */

/* タブエリア */
.point_sw .sw_box li,
.point_sw .sw_box li .pointranking,
.point_sw .sw_box li.before .prev_day:after,
.point_sw .sw_box li.before .prev_week:after,
.point_sw .sw_box li.before .prev_month:after,
.point_sw .sw_box li.before .day:after,
.point_sw .sw_box li.before .week:after,
.point_sw .sw_box li.before .month:after {
  font-family: "Noto Serif JP", serif !important;
  color: #534a55 !important;
}

.point_sw .sw_box li .pointranking.active {
  border: 2px #be6b7c solid !important;
  color: #be6b7c !important;
}

/* ランキング枠 */
.ranking_box ul {
  border-top: 1px solid #e6bfc9;
}

.ranking_box ul li {
  border-bottom: 1px solid #e6bfc9;
}

/* 変動アイコン */
.ranking_box ul li .fluctuation {
  font-family: "Noto Serif JP", serif;
}

.ranking_box ul li .fluctuation.up {
  color: #be6b7c;
}

.ranking_box ul li .fluctuation.stay {
  color: #9b93c7;
}

.ranking_box ul li .fluctuation.down {
  color: #7a7280;
}

.ranking_box ul li .fluctuation.new {
  background: #9b93c7;
  color: #fff;
}

/* 順位 */
.ranking_box ul li .ranking_number {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif !important;
}

/* サムネ枠（no1/no2/no3 はそのまま） */
.ranking_box ul li .ranking_detail a {
  border: 3px #e6bfc9 solid;
}

/* 名前 */
.ranking_box ul li .ranking_name .r_name {
  color: #be6b7c !important;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 500;
  letter-spacing: 1px;
}

/* エリアタグ */
.ranking_box ul li .ranking_name .ranking_area span {
  background: #9b93c7;
  font-family: "Noto Serif JP", serif;
}

/* ポイント */
.ranking_box ul li .ranking_point .r_point {
  color: #534a55;
}

.ranking_box ul li .ranking_point .r_point span {
  font-family: "Noto Serif JP", serif !important;
  color: #534a55;
}

.ranking_box ul li .ranking_point .r_point span i {
  color: #be6b7c;
}

/* トータルランキング */
.totalranking_title {
  background: #be6b7c;
}

.totalranking_title span {
  font-family: "Noto Serif JP", serif !important;
  letter-spacing: 2px;
}

.totalranking_area span {
  background: #9b93c7;
  font-family: "Noto Serif JP", serif;
}


/* ------------------------------------------
   reserve (予約フォーム) ※ LINE ボタンはグリーン維持
   ------------------------------------------ */

/* メールボタン */
.reserve_btn_mail {
  background: #d05a9c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  border-radius: 10px;
  transition: all 0.3s ease;
}

.reserve_btn_mail:hover {
  background: #a85a6b;
}

/* LINEボタンはそのまま（変更しない） */

/* 必要項目フレーム */
.frame_inner {
  padding: 3px 20px 7px;
  background: #be6b7c !important;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 3px;
  border-radius: 4px;
}

.frame_inner::before {
  border-top-color: #be6b7c !important;
}

/* フォーマットのご説明フレーム */
.frame_inner.template {
  background: #9b93c7 !important;
}

.frame_inner.template::before {
  border-top-color: #9b93c7 !important;
}

/* 入力エリア */
.write_area {
  background: none;
}

.write_area_text textarea {
  border: 2px solid #e6bfc9;
  font-family: "Noto Serif JP", serif !important;
  color: #534a55;
  line-height: 1.9 !important;
  padding: 20px 3% !important;
}

.write_area_text textarea:focus {
  border-color: #be6b7c;
  outline: none;
}

/* リストをコピーするボタン */
.write_area_text button {
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.write_area_text button:hover {
  background: #a85a6b;
}

.write_area_text button:focus {
  background: #a85a6b;
}

/* テンプレートテーブル */
.template_base {
  border-top: 1px solid #e6bfc9;
  border-left: 1px solid #e6bfc9;
}

.template_base li:nth-of-type(even) {
  background: #e5dcdc;
}

.template_base li p {
  border-bottom: 2px solid #f5f3f2;
  border-right: 2px solid #f5f3f2;
  color: #534a55;
  font-family: "Noto Serif JP", serif;
}

.template_base li p:nth-of-type(even) {
  font-family: "Noto Sans JP", sans-serif;
  color: #534a55;
}

.template_base li p:nth-of-type(even) span {
  color: #be6b7c;
}

/* イントロ段落（h2 直後の<p>） */
.container_box section > h2 + p {
  line-height: 1.9 !important;
  letter-spacing: 1px;
  padding: 25px 2% !important;
  margin: 0 0 20px !important;
}

.container_box section > h2 + p > span {
  display: block;
}

.container_box section > h2 + p > span:first-child {
  font-family: "Noto Serif JP", serif;
  color: #be6b7c;
  letter-spacing: 3px;
  padding-bottom: 18px !important;
  margin-bottom: 12px;
  border-bottom: 1px solid #e6bfc9;
}

.container_box section > h2 + p > span:not(:first-child) {
  padding: 8px 0 !important;
  line-height: 1.9;
}

/* インライン red を ローズに */
.container_box section > h2 + p > span > span[style*="color: red"],
.container_box section > h2 + p > span > span[style*="color:red"] {
  color: #be6b7c !important;
  font-weight: 500;
}

/* フォーマット表 */
.template_base {
  border: none;
}

.template_base li {
  background: #f1e4e4;
  border-bottom: 1px solid #e6bfc9;
}

.template_base li:last-child {
  border-bottom: none;
}

.template_base li p {
  padding: 22px 3% !important;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.7;
  border-bottom: 3px solid #f5f3f2 !important;
  border-right: 3px solid #f5f3f2 !important;
}

.template_base li p:nth-of-type(even) {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.5px;
  border-right: none !important;
}

/* ==========================================================================
   口コミページ
   ========================================================================== */

.review_top {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.9;
  background: rgba(190, 107, 124, 0.04);
  border: 1px solid #e6bfc9;
  border-radius: 4px;
  padding: 22px 3%;
  width: 95%;
  box-sizing: border-box;
}

.review_top span {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.5px;
}

#review .list ul li {
  border: 1px solid #e6bfc9;
  background: #FDFBF9;
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.15);
  padding: 18px;
  margin: 24px auto 28px;
}

#review .list ul li .therapist_n {
  border-bottom: none;
  padding: 12px 15px;
}

#review .list ul li .therapist_n a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 2px;
}

#review .list ul li .therapist_n span {
  color: #7a7280;
  font-weight: 300;
}

#review .list ul li .review_data .review_box .wr_data {
  color: #9b93c7;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  letter-spacing: 1px;
  padding-bottom: 4px;
}

#review .list ul li .review_data .review_box .wr_data+span {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

.review_name {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

#review .list ul li .review_data .review_box .review_rate {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  margin-top: 4px;
}

#review .list ul li .review_data .review_box .review_rate .star {
  color: #e6bfc9;
}

#review .list ul li .review_data .review_box .review_rate .star .rated {
  color: #d4a96a;
}

#review .list ul li .review_data .review_box .review_score {
  color: #be6b7c;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 130%;
  letter-spacing: 1px;
  margin-left: 6px;
}

#review .list ul li .review_data .review_box .type_icon span {
  background: #9b93c7;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 3px 10px;
  border-radius: 2px;
}

#review .list ul li .review_data .review_box .review_text {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0.5px;
  margin-top: 14px;
  padding: 6px 2px;
}

#review .list ul li .review_data a.review_therapist_list {
  background-color: #be6b7c;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  transition: all 0.3s ease;
}

#review .list ul li .review_data a.review_therapist_list:hover {
  background-color: #a85a6b;
  opacity: 1;
}

.review_box .review_response {
  background-color: rgba(155, 147, 199, 0.08);
}

.review_box .review_response p {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
}

p.list_page_count {
  background-color: #FDFBF9;
  border: 1px solid #e6bfc9;
  color: #be6b7c;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  letter-spacing: 1px;
  border-radius: 2px;
}

.list_page_more_ {
  background: #DF5286 !important;
  border-radius: 2px !important;
  transition: all 0.3s ease !important;
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}

.list_page_more_:hover {
  background: #a85a6b !important;
  opacity: 1 !important;
}

.list_page_more_ a {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
}

.supplementary_text {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: 1px;
  margin: 25px auto;
}

/* ==========================================================================
   写メ日記ページ（一覧）
   ========================================================================== */

#list_shamail {
  margin-top: 30px;
  padding-bottom: 30px;
}

/* float:left → flex に変更（高さバラつきによるレイアウト崩れ防止） */
#list_shamail ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#list_shamail ul li {
  border: none;
  background: #f8f8f8;
  box-shadow: 0 8px 8px rgb(198 188 190 / 80%);
  padding-bottom: 18px;
  margin: 8px 0.6% 3px;
  width: 23.5%;
  float: none;
}

.list_shamail_image,
.list_shamail_image_box {
  height: 220px;
}

.list_shamail_image_box {
  background: rgba(155, 147, 199, 0.85);
}

.listshamail_title {
  border: none;
  padding: 4px 10px 0;
}

.listshamail_title div {
  height: auto;
  text-align: left;
  margin: 4px 0 0;
}

.listshamail_title p {
  color: #7a7280;
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 400;
  padding: 6px 4px 4px;
  text-align: left;
}

.listshamail_title h3 {
  margin: 4px 0;
}

.listshamail_title h3 a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1px;
}

.listshamail_title a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-decoration: none;
  letter-spacing: 1px;
  font-size: 13px;
}

.listshamail_title a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.listshamail_title a span {
  color: #7a7280;
  font-weight: 300;
  font-size: 12px;
}

/* 過去ログ・previousボタン */
.previous {
  background: #be6b7c;
  border-radius: 2px;
  margin: 0 0 20px 20px;
}

.previous label {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 1px;
}

.previous select {
  border: 1px solid #e6bfc9;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

h4.list_photomailtitle {
  border-top: 1px solid #e6bfc9;
  border-bottom: 1px solid #e6bfc9;
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
}

.previous_area form select {
  border-color: #e6bfc9;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

/* ==========================================================================
   写メ日記ページ（詳細）
   ========================================================================== */

#photomail_wrap h3.photo_title {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 2px;
}

#photomail_wrap h3.photo_title span {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
}

#photomail_wrap h3.photo_title span a {
  color: #be6b7c;
}

#photomail_wrap .photomail_text_area {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  line-height: 1.95;
  letter-spacing: 0.5px;
}

#photomail_wrap .photomail_text_area a {
  color: #be6b7c;
}

/* CMS埋め込みのinline style背景を上書き */
#photomail_wrap .photomail_text_area > div {
  background: #f5f3f2 !important;
  color: #534a55 !important;
  padding: 20px 4%;
  border-radius: 2px;
}

/* 写メ日記詳細 - セラピスト情報カード */
.therapist_contents ul li {
  border: 1px solid #e6bfc9;
  background: #FDFBF9;
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.15);
  border-radius: 2px;
  margin: 12px auto 18px;
  width: 50%;
  float: none;
  box-sizing: border-box;
}

.therapist_contents ul li a {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  text-decoration: none;
  padding: 10px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

/* 子要素を固定幅にしてli幅変更でも縮まないように */
.therapist_listthum {
  width: 150px;
  float: none;
  flex: 0 0 150px;
}

.therapist_listthum img {
  max-width: 150px;
}

.therapist_listdata {
  width: auto;
  float: none;
  flex: 1;
  padding: 4px 0 4px 0;
  line-height: 1.95;
  letter-spacing: 0.5px;
}

.therapist_listdata p {
  margin: 0 0 4px;
  color: #534a55;
  font-family: "Noto Serif JP", serif;
}

.therapist_listdata .therapist_listdata_name {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}

.therapist_listdata .therapist_listdata_title {
  color: #9b93c7;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.therapist_listdata .syame_no {
  color: #be6b7c;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  letter-spacing: 1px;
  margin-left: 4px;
}

#photomail_wrap #photomail_pagelist {
  border-top: 1px solid #e6bfc9;
}

#photomail_wrap #photomail_pagelist .pr_next_btn {
  background-color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 2px;
  border-radius: 2px;
  transition: all 0.3s ease;
}

#photomail_wrap #photomail_pagelist .pr_next_btn:hover {
  background-color: #a85a6b;
}

/* ==========================================================================
   よくあるQ&Aページ
   ========================================================================== */

.howto_top {
  width: 93%;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  line-height: 1.95;
  letter-spacing: 0.5px;
  padding: 18px 5%;
}

.otherRed {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 14px;
  padding-top: 12px;
}

.howto_title {
  font-family: "Noto Serif JP", serif;
  color: #be6b7c;
  border-bottom: 1px solid #e6bfc9;
  letter-spacing: 3px;
  font-weight: 400;
}

/* baseの .howto_area span { color:#4169e1; font-weight:bold; } を中和 */
.howto_area span {
  color: inherit;
  font-weight: inherit;
}

.howto_base {
  padding: 10px 0 0;
}

.howto_base li {
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  line-height: 1.9;
}

/* 偶数行(回答)の背景 */
.howto_base li:nth-of-type(even) {
  background: #F9F3F5;
  margin-bottom: 14px;
}

/* 質問バッジ Q.xx */
.howto_base li span .question {
  padding: 2px;
  background: #be6b7c;
  font-size: 22px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  letter-spacing: 1px;
  border-radius: 2px;
  color: #fff;
}

/* 回答バッジ A. */
.howto_base li:nth-of-type(even) span .answer {
  padding: 2px;
  background: #9b93c7;
  font-size: 22px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  letter-spacing: 1px;
  border-radius: 2px;
  color: #fff;
}

/* 質問本文 */
.howto_base li span:nth-of-type(2) {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.5px;
}

/* 回答本文 */
.howto_base li:nth-of-type(even) span:nth-of-type(2) {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.howto_text {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  line-height: 1.9;
  letter-spacing: 0.5px;
}

.howto_text span {
  color: #be6b7c;
}

/* ==========================================================================
   お問い合わせフォーム (mail_form)
   ========================================================================== */

form#mail_form {
  background: #FDFBF9;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  line-height: 1.95;
  border: 1px solid #e6bfc9;
  padding: 10px 0 30px;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(216, 166, 176, 0.15);
}

form#mail_form dl {
  border-bottom: 1px solid #e6bfc9;
}

form#mail_form dl:last-of-type {
  border-bottom: none;
}

form#mail_form dl dt {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 1.5px;
  font-size: 15px;
}

form#mail_form dl dd {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
}

/* 必須マーカー */
form#mail_form dl dd.required {
  position: relative;
}

form#mail_form dl dt {
  position: relative;
}

form#mail_form dl:has(dd.required) dt::after {
  content: "必須";
  display: inline-block;
  margin-left: 12px;
  padding: 2px 8px;
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 1px;
  border-radius: 2px;
  vertical-align: middle;
}

/* テキスト系入力 */
form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"],
form#mail_form textarea,
form#mail_form select {
  background: #fff;
  border: 1px solid #e6bfc9;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
  box-shadow: 0 0 6px rgba(190, 107, 124, 0.35);
  border: 1px solid #be6b7c;
  background: #fff;
}

/* チェックボックス・ラジオラベル */
form#mail_form ul li label {
  background: rgba(190, 107, 124, 0.05);
  border: 1px solid #e6bfc9;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

form#mail_form ul li label:hover {
  background: rgba(190, 107, 124, 0.12);
  border-color: #d8a6b0;
}

/* エラーメッセージ */
form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

/* 送信ボタン */
form#mail_form input[type="button"] {
  background: #be6b7c;
  border: 1px solid #be6b7c;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 4px;
  padding: 14px 60px;
  font-size: 16px;
  transition: all 0.3s ease;
}

form#mail_form input[type="button"]:hover {
  background: #a85a6b;
  border: 1px solid #a85a6b;
}

/* ==========================================================================
   セラピスト詳細ページ
   ========================================================================== */

/* --- プロフィール --- */
.detail_profile h1 {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  border-bottom: 1px solid #e6bfc9;
  letter-spacing: 2px;
}

.detail_profile h1 span:first-child {
  color: #be6b7c;
}

.detail_profile_name {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 2px;
}

.detail_profile p {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  border-bottom: 1px solid #e6bfc9;
  letter-spacing: 1px;
}

.detail_profile p:nth-of-type(2) {
  color: #9b93c7;
}

.detail_profile p:nth-of-type(2) span a {
  color: #9b93c7;
}

/* --- タグ(性感テクニック等) --- */
.detail_icon ul li {
  background: #9b93c7;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 1px;
  border-radius: 2px;
  font-size: 16px;
}

/* --- ナビゲーションボタン --- */
.detail_contents_btn li {
  border-radius: 2px;
  transition: all 0.3s ease;
  background: #c88e9a;
}

.detail_contents_btn li.detail_schedule,
.detail_contents_btn li.detail_photomail,
.detail_contents_btn li.detail_event,
.detail_contents_btn li.detail_evaluation {
  background: #c88e9a;
}

.detail_contents_btn li:hover {
  opacity: 0.85;
}

.detail_contents_btn li a {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
}

.detail_contents_btn li a span::after {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
}

/* --- 外部リンクボタン (Twitter等) --- */
.detail_contents_btn2 li,
.detail_contents_btn2 li.detail_x,
.detail_contents_btn2 li.detail_movie,
.detail_contents_btn2 li.detail_twicasu,
.detail_contents_btn2 li.detail_myevent {
  background: #c88e9a !important;
}

/* --- コメントセクション(お店から/セラピストから) --- */
.detail_comment_container h3 {
  background: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  border-radius: 2px 2px 0 0;
}

.shop_comment {
  border: none;
  background: #FDFBF9;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  line-height: 1.95;
  border-radius: 0 0 2px 2px;
}

/* --- 共通コンテナh3 --- */
.detail_container h3 {
  background: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  border-radius: 2px 2px 0 0;
}

/* --- セラピストに質問 (Q&A) --- */
.detail_container_box {
  border: none;
}

.detail_container_box ul {
  border: none;
}

.detail_container_box ul:nth-of-type(even) {
  background: rgba(190, 107, 124, 0.06);
}

.detail_container_box .question {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

.detail_container_box .question:before {
  color: #9b93c7;
  font-family: "Cormorant Garamond", serif;
}

.detail_container_box .answer {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  font-weight: 500;
}

.detail_container_box .answer:before {
  color: #be6b7c;
  font-family: "Cormorant Garamond", serif;
}

/* --- 可能プレイ --- */
.shop_option {
  border: none;
  background: #FDFBF9;
  border-radius: 0 0 2px 2px;
}

/* --- 出勤表 --- */
#pfschedule {
  border: none;
  background: #FDFBF9;
  margin-bottom: 3px;
}

#pfschedule li {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  border: none;
  background: rgba(190, 107, 124, 0.06);
  margin-bottom: 3px;
}

#pfschedule li:nth-child(2n) {
  background: rgba(190, 107, 124, 0.06);
  color: #534a55;
  padding-left: 10px;
}

#pfschedule li.week_blue:nth-child(2n) {
  background: #9b93c7;
  color: #fff;
}

#pfschedule li.week_red:nth-child(2n) {
  background: #be6b7c;
  color: #fff;
}

.listday_btn {
  background: #be6b7c;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
}

/* --- 予約状況 --- */
.day_select select {
  background: rgba(190, 107, 124, 0.06);
  border: none;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  border-radius: 0;
}

.day_time_title {
  border: none;
}

.day_time_title span {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 24px;
}

.list_schedule_time {
  border: none;
}

.list_schedule_time li {
  border-bottom: 1px solid #e6bfc9;
}

.list_schedule_time li .list_schedule_timebox {
  background: #FDFBF9;
  color: #534a55;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
}

.list_schedule_time li .feasible {
  background: #be6b7c !important;
  font-family: "Noto Serif JP", serif;
}

.list_reserve_caution {
  background: rgba(190, 107, 124, 0.1);
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.5px;
  border-radius: 2px;
}

/* --- 口コミ(お客様の声) --- */
.list_reserve_box {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  line-height: 1.9;
}

.posted_reviews {
  border-top: 1px solid #e6bfc9;
}

.posted_reviews a {
  background: #be6b7c;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

.posted_reviews .reviews_day {
  color: #9b93c7;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  letter-spacing: 1px;
}

.posted_reviews span {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
}

.evaluation {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

.evaluation .star {
  color: #e6bfc9;
}

.evaluation .star .rate {
  color: #d4a96a;
}

.posted_reviews .review_score {
  color: #be6b7c;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 130%;
  letter-spacing: 1px;
}

.posted_reviews .view_icon {
  background: #9b93c7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  border-radius: 2px;
  padding: 3px 10px;
  font-size: 12px;
}

.posted_reviews .review_text {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  line-height: 1.95;
  letter-spacing: 0.3px;
}

/* --- セラピスト詳細内 写メ日記セクション (#common_shamail) --- */
#common_shamail {
  border: none;
  background: #f5f3f2;
  border-radius: 0 0 2px 2px;
  margin-top: 30px;
}

#common_shamail ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#common_shamail ul li {
  border: none;
  background: #f8f8f8;
  box-shadow: 0 4px 8px rgba(216, 166, 176, 0.3);
  padding-bottom: 6px;
  float: none;
}

/* shamail_title 内の余白を詰める */
#common_shamail .shamail_title {
  padding: 0 8px;
}

#common_shamail .shamail_title div {
  height: auto;
  margin: 0;
}

#common_shamail .shamail_title p {
  padding: 4px 4px 0;
  font-size: 13px;
}

#common_shamail .shamail_title h4 {
  margin: 2px 0;
}

#common_shamail .shamail_title h4 a {
  padding: 2px 0;
  display: block;
}

#common_shamail .shamail_title a {
  padding: 2px 0;
}

.common_shamail_image_box {
  background: rgba(155, 147, 199, 0.85);
}

.shamail_title h4 a {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

/* --- Flickity スライダー (緑→ローズ) --- */
.flickity-button {
  background: #be6b7c !important;
  color: #fff !important;
}

.flickity-button:hover {
  background: #a85a6b !important;
}

.flickity-button .flickity-button-icon {
  fill: #fff;
}

.flickity-page-dots .dot {
  background: #d8a6b0;
  opacity: 0.6;
}

.flickity-page-dots .dot.is-selected {
  background: #be6b7c;
  opacity: 1;
}

/* --- shop_comment内のspanフォントサイズ --- */
.shop_comment span {
  font-size: 16px !important;
}

/* --- common_enter フォント --- */
.common_enter,
.common_enter a {
  font-family: "Noto Serif JP", serif;
}

/* ==========================================================================
   前日予約状況ページ (reservations)
   ========================================================================== */

/* --- こだわり検索 ヘッダー (scheduleページと統一) --- */
/* .search_title の色は上部 Phase1 セクション (line ~456) に委ねる */

/* --- 検索ボックス枠 --- */
.search_btn_inner {
  border: 1px solid #e6bfc9;
  border-radius: 0 0 2px 2px;
  background: #FDFBF9;
}

.search_btn_inner_bg .searchname {
  color: #875e36;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 1px;
}

.search_btn_inner_bg .item ul {
  border-bottom: 1px solid #BE9C91 !important;
}

.search_btn_inner_bg .item ul.therapist_searc {
  border-bottom: 1px solid #e6bfc9;
}

/* --- 検索チェックボックスラベル (ブラウン統一) --- */
.search_btn_inner_bg .item ul li label,
.search_btn_inner_bg .item ul.therapist_searc li label {
  background: #a3876b;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.5px;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.search_btn_inner_bg .item ul li label:hover,
.search_btn_inner_bg .item ul.therapist_searc li label:hover {
  background: #8b7256;
}

.search_btn_inner_bg .item ul li input:checked + label,
.search_btn_inner_bg .item ul.therapist_searc li input:checked+label {
  background: #534a55;
}

/* --- 検索ボタン --- */
.start_search input {
  background: #875e36;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  padding: 12px 0;
  transition: all 0.3s ease;
}

.start_search input:hover {
  background: #6e4b29;
}

/* --- 並び替えバー (search_sort_box) scheduleページと統一 --- */
/* 背景・ボタン色は上部 Phase1 セクション (~line 464) で !important を付与して統一 */

/* --- 予約状況一覧カード --- */
.listpage_style_reservation {
  border-bottom: none;
  background: #FDFBF9;
}

.listpage_profile_name {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 1.5px;
}

.listpage_profile_spec {
  display: block;
  width: 100%;
  margin-bottom: 5px;
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  clear: both;
}

/* タグ(性感テクニック等) — spec の下に2段表示 */
.reselist_icon {
  display: block;
  width: 100%;
  clear: both;
  float: none;
  margin: 8px 0 0 !important;
}

.reselist_icon ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  list-style: none;
  margin: 0;
}

/* 全 li を統一(base CSS の li:last-of-type margin:0 を打ち消す) */
.reselist_icon ul li,
.reselist_icon li:last-of-type {
  width: 22%;
  height: auto;
  background: #9b93c7;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.5px;
  border-radius: 2px;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
  box-sizing: border-box;
  padding: 3px 0;
  margin: 0;
  float: none;
  display: block;
  vertical-align: top;
}

/* 予約時間表 */
.list_reservation_time {
  border-top: 1px solid #e6bfc9;
  border-left: 1px solid #e6bfc9;
  border-right: 1px solid #e6bfc9;
}

.list_reservation_time li {
  border-bottom: 1px solid #e6bfc9;
}

.list_reservation_timebox {
  background: #FDFBF9;
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 18px;
}

.reservation_feasible {
  background: #be6b7c;
  font-family: "Noto Serif JP", serif;
}

.reservation_feasible span {
  font-family: "Noto Serif JP", serif;
}

.reservation_feasible a {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 1px;
}

/* --- 求人ページ (recruit) --- */
/* セラピスト募集要項 — template_baseスタイルに統一 */
.recruit_container_box {
  background-color: #f5f3f2;
  background-image: url("../img/bg_tkjm_logo_720.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 720px auto;
  position: relative;
  border: none;
  padding: 40px 0 20px;
  box-shadow: none;
  overflow: hidden;
}

.recruit_container_box::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(245, 243, 242, 0.85);
  pointer-events: none;
  z-index: 0;
}

.recruit_container_box > * {
  position: relative;
  z-index: 1;
}

.recruit_container_box > img {
  display: none;
}

/* 求人ページ ショップタイトル */
.recruit_container_box .ceo_message h2 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 38px;
  letter-spacing: 10px;
  color: #be6b7c;
  margin: 0 auto 40px;
  padding: 0;
  border: none;
  width: auto;
  background: none;
  box-shadow: none;
}

/* 代表からの一言 */
.ceo_message {
  width: 100%;
  max-width: 780px;
  margin: 10px auto 50px;
  padding: 0 10px;
  text-align: left;
}

.ceo_message_title {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 26px;
  letter-spacing: 6px;
  color: #534a55;
  margin: 0 auto 30px;
  padding-bottom: 18px;
  position: relative;
}

.ceo_message_title:after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background: #a3876b;
  margin: 18px auto 0;
}

.ceo_message p {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 2.5;
  color: #534a55;
  letter-spacing: 1px;
  margin: 0 0 22px;
}

.ceo_message p:last-child {
  margin-bottom: 0;
}

.recruit_container_box h2 {
  width: 90%;
  margin: 0 auto 25px;
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 4px;
  font-size: 22px;
  border: none;
  box-shadow: 0 2px 8px rgba(190, 107, 124, 0.2);
}

.recruit_container_box h2 span {
  font-family: "Noto Serif JP", serif;
}

.recruit_container_box table {
  width: 90%;
  margin: 0 auto;
  padding: 0;
  color: #534a55;
  border-top: 1px solid #d8a6b0;
  border-left: 1px solid #d8a6b0;
  border-collapse: separate;
  border-spacing: 0;
}

.recruit_container_box table tr {
  background: #fff;
}

.recruit_container_box table tr:nth-of-type(even) {
  background: #F9F3F5;
}

.recruit_container_box table th {
  width: 30%;
  padding: 18px 10px;
  height: auto;
  vertical-align: middle;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 2px;
  color: #534a55;
  border: none;
  border-bottom: 1px solid #d8a6b0;
  border-right: 1px solid #d8a6b0;
}

.recruit_container_box table td {
  width: 70%;
  padding: 18px 20px;
  height: auto;
  text-align: left;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.8;
  color: #534a55;
  border: none;
  border-bottom: 1px solid #d8a6b0;
  border-right: 1px solid #d8a6b0;
  vertical-align: middle;
}

.recruit_item .recruit_entry {
  background: none;
}

/* 内勤スタッフ募集要項 — recruit_container_boxと同じスタイル */
.recruit_container_box2 {
  background: none;
  margin: 0 auto 15px auto;
  padding: 0 0 40px;
  border: none;
  box-shadow: none;
}

.recruit_container_box2 h2 {
  width: 90%;
  margin: 0 auto 25px;
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 4px;
  font-size: 22px;
  height: 45px;
  line-height: 45px;
  padding: 0;
  border: none;
  box-shadow: 0 2px 8px rgba(190, 107, 124, 0.2);
}

.recruit_container_box2 h2 span {
  font-family: "Noto Serif JP", serif;
}

.recruit_container_box2 table {
  width: 90%;
  margin: 0 auto;
  padding: 0;
  color: #534a55;
  border-top: 1px solid #d8a6b0;
  border-left: 1px solid #d8a6b0;
  border-collapse: separate;
  border-spacing: 0;
}

.recruit_container_box2 table tr {
  background: #fff;
}

.recruit_container_box2 table tr:nth-of-type(even) {
  background: #F9F3F5;
}

.recruit_container_box2 table th {
  width: 30%;
  padding: 18px 10px;
  height: auto;
  vertical-align: middle;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 2px;
  color: #534a55;
  border: none;
  border-bottom: 1px solid #d8a6b0;
  border-right: 1px solid #d8a6b0;
}

.recruit_container_box2 table td {
  width: 70%;
  padding: 18px 20px;
  height: auto;
  text-align: left;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.8;
  color: #534a55;
  border: none;
  border-bottom: 1px solid #d8a6b0;
  border-right: 1px solid #d8a6b0;
  vertical-align: middle;
}

.recruit_container_box2 table td font[color="#ff0000"] {
  color: #be6b7c !important;
}

.recruit_container_box2 .recruit_entry2 {
  margin: 40px auto 0 auto;
  background: none;
}

/* --- 年齢確認ページ (index) --- */
#wrapper {
  background: #f5f3f2;
}

#wrapper_logo {
  width: 800px;
}

.header_call_number {
  color: #be6b7c;
}

.index_main_area #header_logo {
  background: #f5f3f2;
}

.index_main_area .header_logo_image span {
  display: none;
}

.index_main_area .header_call_text {
  font-family: "Noto Serif JP", serif ;
  margin: 0px auto 5px auto;
}

.index_main_area #index_leave {
  margin: 30px auto 15px auto;
  background: #888;
  border-radius: 90px;
}

.index_main_area .top_hours {
  color: #534a55;
}

#index_enter {
  margin-top: 30px auto;
}

#index_enter p {
  color: #d05a9c;
  font-size: 14px;
  font-weight: 700;
}

.index_enter_btn {
  width: 550px;
}

#seo_text h4, #seo_text h5 {
  color: #be6b7c;
}

#seo_text p {
  width: 90%;
  color: #534a55;
}

.footer_information {
  background: none;
  border-top: 1px solid #625a64;
}

.header_call_number:before {
  color: #be6b7c;
  font-size: 20px;
}

/* --- 口コミページ (review) --- */
#review h3 {
  width: 95%;
  margin: 15px 0 25px;
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  height: auto;
  line-height: 1.5;
  padding: 12px 0;
  text-indent: 14px;
}

#review .list ul li.review_therapist_li {
  border-bottom: none;
  background: #FDFBF9;
  padding: 8px 0;
  margin-bottom: 30px;
  box-shadow: 0 2px 8px rgba(216, 166, 176, 0.12);
}

#review .list ul li.review_therapist_li .review_data {
  width: 92%;
  padding: 22px 24px;
}

#review .list ul li .review_data .review_box .wr_data {
  color: #9b93c7;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 1px;
  padding-bottom: 6px;
}

#review .list ul li .review_data .review_box .wr_data + span {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 2px;
}

.review_name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #be6b7c;
}

#review .list ul li .review_data .review_box .review_rate {
  margin: 6px 0 4px;
  color: #534a55;
  font-size: 13px;
}

#review .list ul li .review_data .review_box .review_rate .star {
  color: #e6bfc9;
  letter-spacing: 2px;
}

#review .list ul li .review_data .review_box .review_rate .star .rated {
  color: #c4a882;
}

#review .list ul li .review_data .review_box .review_score {
  color: #be6b7c;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 20px;
  margin-right: 12px;
}

#review .list ul li .review_data .review_box .type_icon span {
  background: #9b93c7;
  color: #fff;
  border-radius: 2px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  padding: 3px 10px;
  font-size: 12px;
}

#review .list ul li .review_data .review_box .review_text {
  color: #534a55;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 2;
  margin-top: 12px;
  font-size: 15px;
  letter-spacing: 0.5px;
}

.review_box .review_response {
  background-color: rgba(190, 107, 124, 0.08);
  border-radius: 4px;
  padding: 14px 18px;
}

.review_box .review_response p {
  background: #fff;
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  border-radius: 4px;
  padding: 8px 12px;
}

/* ページネーション・もっと見る・戻るボタン */
p.list_page_count {
  background: #FDFBF9;
  border: 1px solid #d8a6b0;
  border-radius: 0;
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  padding: 12px;
}

.list_page_more {
  background: #be6b7c;
  border-radius: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 3px;
  padding: 14px;
  box-shadow: 0 2px 8px rgba(190, 107, 124, 0.2);
  transition: all 0.3s ease;
}

.list_page_more:hover {
  background: #a85a6b;
  opacity: 1;
}

.list_page_more a {
  color: #fff;
}

.therapist_detailpage {
  background: #FDFBF9;
  border: 1px solid #be6b7c;
  border-radius: 0;
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  padding: 14px;
  transition: all 0.3s ease;
}

.therapist_detailpage:hover {
  background: #be6b7c;
}

.therapist_detailpage a {
  color: #be6b7c;
  transition: color 0.3s ease;
}

.therapist_detailpage:hover a {
  color: #fff;
}

/* ==========================================================================
   口コミ投稿フォーム (review_post) — mail_formと同じトーン
   ========================================================================== */
.review_post {
  font-family: "Noto Serif JP", serif;
  color: #534a55;
}

.review_post .post_text {
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 2px;
  padding: 12px 2%;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(190, 107, 124, 0.2);
}

.review_post .post_box {
  background: #FDFBF9;
  border: 1px solid #e6bfc9;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(216, 166, 176, 0.15);
  padding: 10px 0 30px;
  margin-top: 18px;
  line-height: 1.95;
}

.review_post .post_box .input_post {
  background: transparent;
  border-bottom: 1px solid #e6bfc9;
  padding: 18px 24px;
}

.review_post .post_box .input_post:last-of-type {
  border-bottom: none;
}

.review_post .post_box .input_post p.username {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1.5px;
}

.review_post .post_box .input_post p.username span {
  display: inline-block;
  margin-left: 12px;
  padding: 2px 8px;
  background: #be6b7c;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 1px;
  border-radius: 2px;
  vertical-align: middle;
}

.review_post .post_box .input_post p.input,
.review_post .post_box .input_post p.area {
  text-align: left;
  padding: 8px 0 0;
}

.review_post .post_box .input_post p.input input,
.review_post .post_box .input_post p.input select,
.review_post .post_box .input_post p.area textarea {
  background: #fff;
  border: 1px solid #e6bfc9;
  border-radius: 2px;
  font-family: "Noto Serif JP", serif;
  color: #534a55;
  font-size: 15px;
  padding: 10px 14px;
  transition: all 0.3s ease;
}

.review_post .post_box .input_post p.input input {
  width: 100%;
  box-sizing: border-box;
}

.review_post .post_box .input_post p.input select {
  background: #fff;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
}

.review_post .post_box .input_post p.input select.date {
  width: 32%;
}

.review_post .post_box .input_post p.area textarea {
  width: 100%;
  box-sizing: border-box;
  line-height: 1.8;
  resize: vertical;
}

.review_post .post_box .input_post p.input input:focus,
.review_post .post_box .input_post p.input select:focus,
.review_post .post_box .input_post p.area textarea:focus {
  outline: none;
  box-shadow: 0 0 6px rgba(190, 107, 124, 0.35);
  border: 1px solid #be6b7c;
}

.review_post .post_box .input_post p.post_coution {
  color: #be6b7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  letter-spacing: 0.3px;
  margin-bottom: 6px;
}

/* 送信ボタン */
.review_post .post_box .submit {
  text-align: center;
  margin-top: 24px;
}

.review_post .post_box .submit .formbtn {
  background: #be6b7c;
  border: 1px solid #be6b7c;
  border-radius: 2px;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 4px;
  font-size: 16px;
  padding: 14px 60px;
  width: auto;
  transition: all 0.3s ease;
  cursor: pointer;
}

.review_post .post_box .submit .formbtn:hover {
  background: #a85a6b;
  border-color: #a85a6b;
}

/* 確認画面の表示文 */
.review_post .confirmation {
  color: #be6b7c;
  font-family: "Noto Serif JP", serif;
  font-size: 13px;
}