@charset "UTF-8";
/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/
html, body {
  overscroll-behavior: none; /* オーバースクロール禁止 */
}
/* リキッドレイアウト対応 */
body {
  font-family: "Noto Sans JP", sans-serif;
  overflow-y: auto;
}

.u-desktop {
  display: none;
}

html {
  font-size: 16px;
  overflow-y: auto;
  scrollbar-gutter: stable both-edges;
}

/* @media screen and (min-width: 769px) {
  html {
    font-size: 1.4545454545vw;
  }
} */
/* pcの電話番号発信対応 */
/* ホバー */
a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  height: 100%;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

html,
body {
  position: relative;
}

#days,
#hour,
#min,
#sec {
  color: #C694E2;
  font-size: min(13.33333vw, 52px);
  font-weight: 500;
  line-height: 1.2;
  margin-right: 1px;
  margin-right: 0.0625rem;
}

div.custom-swipe-plugin-for-lp-swipe-deck {
  border: none;
  height: 420px;
  height: 26.25rem;
  margin-top: 16px;
  margin-top: 1rem;
  padding: 0 20px;
  padding: 0 1.25rem;
}

div.custom-swipe-plugin-for-lp-play-wrapper {
  margin: 0 10px;
  margin: 0 0.625rem;
}

div.custom-swipe-plugin-for-lp-card-container {
  height: 400px;
  height: 25rem;
  width: 300px;
  width: 18.75rem;
}

div.custom-swipe-plugin-for-lp-play-circle {
  height: 40px;
  height: 2.5rem;
  width: 40px;
  width: 2.5rem;
}

img.custom-swipe-plugin-for-lp-play-icon {
  height: 24px;
  height: 1.5rem;
  width: 24px;
  width: 1.5rem;
}

span.custom-swipe-plugin-for-lp-play-label {
  font-size: 16px;
  font-size: 1rem;
}

span.cur-error-message {
  color: #E9518E;
  display: block;
  margin-bottom: 0px;
  margin-bottom: 0rem;
}

div.cur-registration-page-form-group-checkbox-section {
  gap: 10px 20px;
  gap: 0.625rem 1.25rem;
  margin-bottom: 0;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

div.cur-registration-page-form-group-checkbox-section label {
  font-weight: 400;
  padding-left: 25px;
  padding-left: 1.5625rem;
}

div.cur-registration-page-form-group-checkbox-section label span {
  vertical-align: text-bottom;
}

div.cur-registration-page-form-group label {
  align-items: center;
  display: flex;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 0;
}

div.cur-registration-page-container {
  background-color: transparent;
  padding: 0;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
}

div.cur-registration-page-container input::-moz-placeholder {
  color: #AAAAAC;
}

div.cur-registration-page-container input::placeholder {
  color: #AAAAAC;
}

ul.cur-step-bar {
  margin: 20px auto;
  width: 66%;
}

ul.cur-step-bar::before {
  background-color: #D7AEEF;
  display: none;
}

ul.cur-step-bar li {
  position: relative;
}

ul.cur-step-bar li:not(:last-child)::after {
  background-color: #D7AEEF;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: -12%;
  top: 28%;
  width: 25%;
}

ul.cur-step-bar li::before {
  align-items: center;
  background-color: #D7AEEF;
  border-color: #D7AEEF;
  color: #fff;
  display: flex;
  justify-content: center;
}

ul.cur-step-bar li.active::before {
  background-color: #7D40A0;
  border-color: #7D40A0;
  color: #fff;
}

ul.cur-step-bar li.active span {
  color: #7D40A0;
}

ul.cur-step-bar li span {
  color: #D7AEEF;
}

span.cur-registration-page-required-badge {
  background-color: #E9518E;
  border-radius: 0.6875rem;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 4px 6px;
  padding: 0.25rem 0.375rem;
  white-space: nowrap;
}

form#cur-registration-page-form {
  margin-top: 82px;
  margin-top: 5.125rem;
}

div.cur-authentication-page-container {
  background-color: transparent;
  padding: 0;
}

div.cur-success-page-container {
  background-color: transparent;
  padding-top: 0;
}

p.cur-authentication-page-message {
  margin-top: 70px;
  margin-top: 4.375rem;
}

div.cur-success-page-container-message {
  font-weight: 500;
  margin-top: 70px;
  margin-top: 4.375rem;
  text-align: left;
}

div.cur-registration-page-form-group {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}

div.cur-registration-page-form-group input {
  background-color: #F5F5F5;
  border: none;
  border-radius: 25px;
  border-radius: 1.5625rem;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
  margin-top: 5px;
  margin-top: 0.3125rem;
  padding: 13px;
  padding: 0.8125rem;
}

.cur-registration-page-form-control-wrapper {
  margin-bottom: 0;
  position: relative;
}

.cur-registration-page-form-control-wrapper::before {
  /* 底辺の罫線 */
  border-left: 1px solid #6F6F6F;
  /* 四角形の高さ */
  border-top: 1px solid #6F6F6F;
  content: "";
  display: block;
  /* 四角形の幅 */
  height: 9px;
  height: 0.5625rem;
  position: absolute;
  right: 26px;
  right: 1.625rem;
  top: 50%;
  /* 左の罫線 ⇨この二つの罫線で矢印マークを作る */
  transform: translatey(-50%) rotate(-135deg);
  width: 9px;
  width: 0.5625rem;
}

div.cur-registration-page-form-group select {
  background-color: #F5F5F5;
  border: none;
  border-radius: 1.5625rem;
  color: #AAAAAC;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
  margin-top: 5px;
  margin-top: 0.3125rem;
  padding: 13px;
  padding: 0.8125rem;
}

button.cur-registration-page-btn {
  background-color: #E9518E;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  margin-top: -3px;
  margin-top: -0.1875rem;
  position: relative;
  text-align: center;
}

button.cur-registration-page-btn::before {
  /* 四角形の高さ */
  border-bottom: 2px solid #fff;
  /* 底辺の罫線 */
  border-left: 2px solid #fff;
  content: "";
  display: block;
  /* 四角形の幅 */
  height: 10px;
  position: absolute;
  right: 26px;
  top: 50%;
  /* 左の罫線 ⇨この二つの罫線で矢印マークを作る */
  transform: translatey(-50%) rotate(-135deg);
  width: 10px;
}

form#cur-authentication-page-form {
  margin-top: 0px;
  margin-top: 0rem;
}

button.cur-authentication-page-reset-btn {
  display: none;
}

div.cur-authentication-page-form-group input {
  background-color: #F5F5F5;
  border: none;
  border-radius: 25px;
  margin-bottom: 0;
  padding: 13px 20px;
  padding: 0.8125rem 1.25rem;
}

div.cur-authentication-page-form-group input::-moz-placeholder {
  color: #AAAAAC;
}

div.cur-authentication-page-form-group input::placeholder {
  color: #AAAAAC;
}

button.cur-authentication-page-btn {
  background-color: #E9518E;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 36px;
  margin-top: 2.25rem;
  position: relative;
  text-align: center;
  width: 100%;
}

button.cur-authentication-page-btn::before {
  /* 四角形の高さ */
  border-bottom: 2px solid #fff;
  /* 底辺の罫線 */
  border-left: 2px solid #fff;
  content: "";
  display: block;
  /* 四角形の幅 */
  height: 10px;
  position: absolute;
  right: 26px;
  top: 50%;
  /* 左の罫線 ⇨この二つの罫線で矢印マークを作る */
  transform: translatey(-50%) rotate(-135deg);
  width: 10px;
}

a.cur-success-page-button {
  align-items: center;
  background-color: transparent;
  color: #333;
  justify-content: space-between;
  margin-top: 23px;
  margin-top: 1.4375rem;
}

div.cur-registration-page-form-group-privacy-policy-checkbox-section {
  margin-bottom: 0;
  margin-top: 0;
}

div.cur-registration-page-form-group-privacy-policy-checkbox-section label {
  font-size: 14px;
  font-size: 0.875rem;
  padding-left: 25px;
  padding-left: 1.5625rem;
}

div.cur-registration-page-form-group-privacy-policy-checkbox-section label a {
  color: #333;
}

a.cur-success-page-button img {
  height: 20px;
  height: 1.25rem;
  width: 20px;
  width: 1.25rem;
}

div#toast-container > div {
  opacity: 1;
}

div.toast-success {
  background-color: #9E6CBB;
}

div.toast-progress {
  background-color: #7D40A0;
  opacity: 1;
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  /* フォールバック: svh */
  min-height: calc(100vh - 4.625rem - 4.375rem);
  /* 実機補正: JSが上書きする --vh を優先 */
  padding-inline: 1.25rem;
  width: 100%;
}

.lp__main-theralog .l-inner {
  /* フォールバック: svh */
  min-height: calc(100svh - 3.125rem - 4.375rem);
  /* 実機補正: JSが上書きする --vh を優先 */
  min-height: calc(var(--vh) * 100 - 3.125rem - 4.375rem);
}

.l-inner.l-inner--nopadding {
  padding-inline: 0;
}

.l-inner-lower {
  background-image: url(../../assets/images/top/l-inner-lower-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.l-inner-register {
  background-image: url(../../assets/images/top/l-inner-register-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.l-inner.l-inner--nopadding {
  padding-inline: 0;
}

.l-inner.l-inner-top {
  min-height: unset;
  padding-inline: 1.25rem;
  position: relative;
  width: min(100%, 37.5rem);
  z-index: 1;
}

.l-inner.l-inner-top {
  min-height: unset !important;
}

.l-inner.l-inner-top01 {
  width: min(100%, 48rem);
}

.l-section {
  padding: 0;
}
.l-topfooter {
  bottom: 0;
  height: 4.375rem;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 200;
}
.l-topheader {
  height: 4.625rem;
  position: fixed;
  right: 0;
  top: env(safe-area-inset-top, 0);
  width: 100%;
  z-index: 100;
}

.l-topheader__inner {
  padding-inline: 0.9375rem;
  position: relative;
}
.l-main-contents {
  position: relative;
  z-index: 0;
}

.l-main {
  background-color: #fff;
  margin: auto;
  max-width: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.l-main.l-main--store-reservation-management {
  max-width: 100%;
}

.l-main-header {
  aspect-ratio: 430/74;
  /* background-color: #fff; */
  background-image: url("../images/top/l-main-header-dummy.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: 1px solid #E9528E;
  margin-left: -20px;
  margin-left: 0;
  margin-right: -20px;
  margin-right: 0;
  position: fixed;
  right: 0;
  top: 0;
  /* height: 74px; */
  width: 100%;
  z-index: 2;
  z-index: 1000;
}

.l-main-header.l-main-header--fw {
  margin-inline: 0;
  width: 100%;
  z-index: 5;
}

.l-main-footer {
  aspect-ratio: 430/70;
  /* background-color: #F3E7FD; */
  background-image: url("../images/top/l-main-footer-dummy.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  margin-left: -20px;
  margin-left: 0;
  margin-right: -20px;
  margin-right: 0;
  position: fixed;
  right: 0;
  /* height: 70px; */
  width: 100%;
  z-index: 2;
}

.l-main-footer.l-main-footer--fw {
  margin-inline: 0;
  width: 100%;
}

.l-main-header {
  aspect-ratio: 430/74;
  /* background-color: #fff; */
  background-image: url("../images/top/l-main-header-dummy.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: 1px solid #E9528E;
  margin-left: -20px;
  margin-left: 0;
  margin-right: -20px;
  margin-right: 0;
  position: fixed;
  right: 0;
  top: 0;
  /* height: 74px; */
  width: 100%;
  z-index: 2;
  z-index: 1000;
}

.l-main-header.l-main-header--fw {
  margin-inline: 0;
  width: 100%;
  z-index: 5;
}

.l-main-footer {
  aspect-ratio: 430/70;
  /* background-color: #F3E7FD; */
  background-image: url("../images/top/l-main-footer-dummy.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  margin-left: -20px;
  margin-left: 0;
  margin-right: -20px;
  margin-right: 0;
  position: fixed;
  right: 0;
  /* height: 70px; */
  width: 100%;
  z-index: 2;
}

.l-main-footer.l-main-footer--fw {
  margin-inline: 0;
  width: 100%;
}
.c-wrapper {
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  padding-top: 77px;
  padding-top: 4.8125rem;
}

.c-wrapper h1 {
  color: #7D40A0;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-top: 8px;
  margin-top: 0.5rem;
  text-align: center;
}

.c-wrapper h4 {
  color: #7D40A0;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  margin-top: 4px;
  text-align: center;
}

.c-column2 {
  display: grid;
  gap: 40px;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.c-column2--gap60 {
  gap: 60px;
  gap: 3.75rem;
}

.c-column3 {
  display: grid;
  gap: 40px;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}

.c-column4 {
  display: grid;
  gap: 40px;
  gap: 2.5rem;
  grid-template-columns: repeat(4, 1fr);
}

.c-headline {
  border-left: 1px solid black;
  color: black;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  padding-left: 10px;
  padding-left: 0.625rem;
}

.c-hoverRun {
  background-image: linear-gradient(90deg, black, black);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: black;
  display: inline;
  text-decoration: none;
  transition: background-size 0.5s;
}

.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: black;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
}

.c-imgHover {
  position: relative;
}

.c-imgHover img {
  transition: 0.5s opacity;
  width: 20px;
  width: 1.25rem;
}

.c-imgHover img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}

.c-link {
  line-height: 1;
  position: relative;
}

.c-link::after {
  background: url(画像のバスを入れる) center center/contain no-repeat;
  content: "";
  height: 1em;
  position: absolute;
  right: -1em;
  top: 0.3em;
  width: 1em;
}

.c-underBar {
  display: inline-block;
  position: relative;
}

.c-underBar::before {
  background-color: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.5s;
  width: 100%;
}

/* キャンセルページ */
/* ------------------------------------------------------------------------------------------------------------------ */
/* 退会手続き画面 */
.custom-cancel-membership-page {
  max-width: 64rem;
}

.custom-cancel-membership-page-content {
  max-width: 37.5rem;
}

.custom-cancel-membership-title-area {
  margin-top: 2.5rem;
}

.custom-cancel-membership-title {
  font-size: 1.625rem;
  margin-top: 0.5rem;
}

.custom-cancel-membership-sub-title {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.custom-cancel-membership-page-required-badge {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  margin-left: 0.5rem;
  padding: 0.125rem 0.375rem;
}

#custom-cancel-membership-page-form {
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.custom-cancel-membership-page-form-group {
  margin-bottom: 2.5rem;
}

.custom-cancel-membership-page-form-group label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.custom-cancel-membership-page-form-group-radio-section {
  gap: 0.625rem;
}

.custom-cancel-membership-page-form-group-radio-section label {
  font-size: 1rem;
  padding-left: 1.875rem;
}

.custom-cancel-membership-page-form-group-radio-section label::before {
  height: 1.125rem;
  width: 1.125rem;
}

.custom-cancel-membership-page-form-group-radio-section label::after {
  height: 0.75rem;
  left: 0.375rem;
  width: 0.375rem;
}

#other_reason_textarea {
  border-radius: 1.5625rem;
  font-size: 1rem;
  height: 9.375rem;
  margin-top: 0.625rem;
  padding: 0.625rem;
}

.custom-cancel-membership-page-form-opinion-textarea {
  border-radius: 1.5625rem;
  font-size: 1rem;
  height: 9.375rem;
  margin-top: 0.625rem;
  padding: 0.625rem;
}

/* 退会ボタン */
.custom-cancel-membership-page-btn {
  border-radius: 3.125rem;
  font-size: 1rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.custom-cancel-membership-page-btn::before {
  height: 0.625rem;
  right: 1.625rem;
  width: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 退会完了画面 */
.custom-cancel-membership-success-page {
  max-width: 64rem;
}

.custom-cancel-membership-success-page-content {
  max-width: 37.5rem;
}

.custom-cancel-membership-success-page-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

.custom-cancel-membership-success-page-button {
  font-size: 1rem;
  margin: 1.25rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.custom-cancel-membership-success-page-button::before {
  height: 0.625rem;
  left: 0.625rem;
  width: 0.625rem;
}

/* トーク一覧画面 */
/* ------------------------------------------------------------------------------------------------------------------ */
/* チャット一覧ページ */
.chat-list-page {
  max-width: 64rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.chat-list-empty {
  font-size: 1rem;
  margin-top: 2.5rem;
}

.chat-room-box {
  padding-bottom: 0.625rem;
  padding-top: 0.625rem;
}

.chat-room-box-avatar {
  height: 3.125rem;
  width: 3.125rem;
}

.chat-room-box-name {
  font-size: 0.875rem;
}

.chat-room-box-last-message {
  font-size: 0.875rem;
  margin-top: 0.1875rem;
  max-width: 15.625rem;
}

/* 未読メッセージのバッジ */
.chat-room-box-badge {
  font-size: 0.75rem;
  height: 1.5625rem;
  right: 0.625rem;
  width: 1.5625rem;
}

.chat-room-box-time {
  font-size: 0.75rem;
  right: 0.625rem;
}

.chat-room-messages-for-preview {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.chat-date-header-for-preview {
  border-radius: 0.625rem;
  font-size: 0.625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem;
  width: 6.25rem;
}

.chat-message-for-preview {
  border-radius: 1rem;
  margin-bottom: 0.625rem;
  padding: 0.5rem 0.75rem;
}

.chat-message-deleted-for-preview {
  border-radius: 1rem;
  font-size: 0.75rem;
  margin-bottom: 0.625rem;
  padding: 0.625rem 0.9375rem;
  width: 15.625rem;
}

.chat-message-deleted-text-for-preview {
  margin-bottom: 0.3125rem;
}

.chat-message-time-for-preview {
  font-size: 0.625rem;
  width: 1.625rem;
}

.chat-message-read-for-preview {
  font-size: 0.625rem;
}

.chat-message-text-area-for-preview {
  border-radius: 1rem;
  padding: 0.5rem 0.75rem;
}

.chat-message-text-for-preview {
  font-size: 0.875rem;
}

.chat-message-image-area-for-preview {
  padding: 0.5rem 0.75rem;
}

.chat-message-image-for-preview {
  border-radius: 1rem;
}

.chat-room-footer-for-preview {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

#chat-room-down-button-for-preview {
  border-radius: 0.5rem;
  bottom: 4.0625rem;
  height: 2.5rem;
  padding: 0.25rem 0.25rem;
  right: 0.625rem;
  width: 2.5rem;
}

#chat-room-form-for-preview {
  font-size: 1rem;
}

#chat-room-textarea-for-preview {
  border-radius: 0.5rem;
  font-size: 0.875rem;
  max-height: 12.5rem;
  padding: 0.3125rem;
}

#chat-room-send-button-for-preview,
#chat-room-image-upload-for-preview {
  height: 2.1875rem;
  padding: 0.25rem 0.25rem;
  width: 2.1875rem;
}

.chat-room-box-overlay {
  border-radius: 0.625rem;
}

.chat-room-box-overlay-message {
  font-size: 0.875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* チャットルームページ */
.chat-room-page {
  max-width: 64rem;
}

.chat-room-header {
  height: 3.125rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.chat-room-header-back-button {
  margin-right: 0.625rem;
  padding: 0.3125rem;
}

.chat-room-header-back-button img {
  height: 1.25rem;
  width: 1.25rem;
}

.chat-room-header-avatar {
  height: 2.5rem;
  margin-right: 0.3125rem;
  width: 2.5rem;
}

.chat-room-header-name {
  font-size: 0.875rem;
}

.chat-room-content {
  margin-top: 0rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.chat-date-header {
  border-radius: 0.625rem;
  font-size: 0.625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem;
  width: 6.25rem;
}

.chat-message {
  border-radius: 1rem;
  margin-bottom: 0.625rem;
  padding: 0.5rem 0.75rem;
}

.chat-message-deleted {
  border-radius: 1rem;
  font-size: 0.75rem;
  margin-bottom: 0.625rem;
  padding: 0.625rem 0.9375rem;
  width: 15.625rem;
}

.chat-message-deleted-text {
  margin-bottom: 0.3125rem;
}

.chat-message-time {
  font-size: 0.625rem;
  width: 1.625rem;
}

.chat-message-read {
  font-size: 0.625rem;
}

.chat-message-text-area {
  border-radius: 1rem;
  padding: 0.5rem 0.75rem;
}

.chat-message-text {
  font-size: 0.875rem;
}

.chat-message-image-area {
  padding: 0.5rem 0.75rem;
}

.chat-message-image {
  border-radius: 1rem;
}

.chat-room-footer {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

#chat-room-down-button {
  bottom: 4.0625rem;
  height: 3.125rem;
  padding: 0.25rem 0.25rem;
  right: 0.625rem;
  width: 3.125rem;
}

#chat-room-down-button.has-new::after {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  padding: 0.125rem 0.375rem;
  top: -1.5625rem;
}

#chat-room-form {
  font-size: 1rem;
}

#chat-room-textarea {
  border-radius: 0.5rem;
  font-size: 0.875rem;
  max-height: 12.5rem;
  padding: 0.3125rem;
}

#chat-room-send-button,
#chat-room-image-upload {
  height: 2.1875rem;
  padding: 0.25rem 0.25rem;
  width: 2.1875rem;
}

#chat-room-upload-progress {
  border-radius: 0.625rem;
}

#chat-room-progress-bar {
  border-radius: 0.5rem;
}

.swal2-popup.swal2-modal.swal2-show {
  margin-top: 8.1875rem;
  width: 21.875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* LINE通知 */
.cls-page {
  max-width: 37.5rem;
}

.cls-page-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cls-line-connect {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  margin: 0.625rem auto;
  max-width: 10rem;
  padding: 0.625rem 0;
}

.cls-line-disconnect {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  margin: 0.625rem auto;
  max-width: 10rem;
  padding: 0.625rem 0;
}

.cls-line-title {
  font-size: 1rem;
}

.cls-line-lead {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cls-line-benefits {
  gap: 1rem;
  margin: 1.25rem 0;
}

.cls-line-benefit {
  border-radius: 0.625rem;
  max-width: 17.5rem;
  padding: 1rem;
}

.cls-line-label {
  border-radius: 62.4375rem;
  font-size: 0.8125rem;
  margin-bottom: 0.625rem;
  padding: 0.25rem 0.625rem;
}

.cls-line-benefit strong {
  margin-top: 0.375rem;
}

.cls-line-note {
  font-size: 0.75rem;
  margin-bottom: 0.625rem;
}

.cls-toggle-content {
  gap: 1.25rem;
}

.cls-toggle-title {
  font-size: 1rem;
}

.cls-toggle-description {
  font-size: 0.875rem;
  margin: 0 0 0.3125rem 0;
}

.cls-toggle-switch {
  height: 1.5rem;
  width: 2.875rem;
}

.cls-toggle-slider {
  border-radius: 1.5rem;
}

.cls-toggle-slider:before {
  border-radius: 50%;
  bottom: 0.1875rem;
  height: 1.125rem;
  left: 0.1875rem;
  width: 1.125rem;
}

.cls-toggle-switch input:checked + .cls-toggle-slider:before {
  transform: translateX(1.375rem);
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* プッシュ通知 */
.cls-push-notification-toggle-section {
  margin-top: 2.5rem;
}

.cls-section-title {
  font-size: 1rem;
  width: 6.25rem;
}

.cls-push-notification-switch {
  height: 2.125rem;
  width: 5.3125rem;
}

.cls-push-notification-slider {
  border-radius: 3.125rem;
  padding: 0 0.625rem;
}

.cls-push-notification-slider:before {
  border-radius: 3.125rem;
  bottom: 0.25rem;
  height: 1.625rem;
  left: 0.25rem;
  width: 1.625rem;
}

.cls-push-notification-text-on,
.cls-push-notification-text-off {
  font-size: 0.875rem;
}

.cls-push-notification-text-off {
  left: 2.0625rem;
}

.cls-push-notification-text-on {
  right: 2.1875rem;
}

.cls-push-notification-switch input:checked + .cls-push-notification-slider:before {
  transform: translateX(3.125rem);
}

.cls-section-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

#cls-install-btn {
  border-radius: 1.875rem;
  font-size: 0.875rem;
  height: 1.875rem;
  margin-top: 0.625rem;
  width: 9.375rem;
}

.cls-install-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* LINE通知 */
.cls-line-notification-toggle-section {
  border-bottom: 1px solid #7D40A0;
  margin-bottom: 1.25rem;
  margin-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.cls-line-notification-switch {
  height: 2.125rem;
  width: 5.3125rem;
}

.cls-line-notification-slider {
  border-radius: 3.125rem;
  padding: 0 0.625rem;
}

.cls-line-notification-slider:before {
  border-radius: 3.125rem;
  bottom: 0.25rem;
  height: 1.625rem;
  left: 0.25rem;
  width: 1.625rem;
}

.cls-line-notification-text-on,
.cls-line-notification-text-off {
  font-size: 0.875rem;
}

.cls-line-notification-text-off {
  left: 2.0625rem;
}

.cls-line-notification-text-on {
  right: 2.1875rem;
}

.cls-line-notification-switch input:checked + .cls-line-notification-slider:before {
  transform: translateX(3.125rem);
}

.cls-add-friend-btn {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  gap: 0.3125rem;
  height: 2.5rem;
  width: 8.75rem;
}

.cls-add-friend-btn img {
  width: 2.1875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* LINE通知 */
.cls-line-sub-section {
  border-bottom: 1px solid #AAAAAC;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.cls-sub-section-title {
  font-size: 1rem;
}

.cls-sub-section-description {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cls-line-sub-section-togle-content {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.cls-line-sub-section-togle-content-title {
  font-size: 1rem;
  width: 6.25rem;
}

.cls-sub-switch {
  height: 1.6875rem;
  width: 3.75rem;
}

.cls-sub-switch-slider {
  border-radius: 3.125rem;
  padding: 0 0.375rem;
}

.cls-sub-switch-slider:before {
  border-radius: 3.125rem;
  bottom: 0.1875rem;
  height: 1.3125rem;
  left: 0.1875rem;
  width: 1.3125rem;
}

.cls-sub-switch input:checked + .cls-sub-switch-slider:before {
  transform: translateX(1.875rem);
}

.matchings-list-page {
  max-width: 37.5rem;
}

.matchings-list-page-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cml-matching-cards {
  gap: 1.25rem;
  margin-bottom: 2.5rem;
  margin-top: 2.5rem;
}

button.cml-pin-button,
button.cml-pin-button-for-user {
  height: 2.375rem;
  left: 0.3125rem;
  padding: 0.25rem;
  top: 0.3125rem;
  width: 2.375rem;
}

button.cml-pin-button img,
button.cml-pin-button-for-user img {
  width: 1.5rem;
}

.cml-matching-button-for-user {
  bottom: 0.3125rem;
  height: 2.375rem;
  padding: 0.25rem;
  right: 0.3125rem;
  width: 2.375rem;
}

.cml-unconfirmed-matching-budge {
  bottom: 0.3125rem;
  font-size: 0.75rem;
  height: 2.375rem;
  right: 0.3125rem;
  width: 2.375rem;
}

.cml-matching-button-for-user img {
  width: 1.5rem;
}

.cml-matching-avatar img {
  border-radius: 0.625rem;
}

.cml-user-name {
  font-size: 1.125rem;
  margin-top: 0.625rem;
}

.cml-button {
  border: solid 1px #7D40A0;
  border-radius: 1.5rem;
  font-size: 1rem;
  height: 2.5rem;
  margin-top: 0.625rem;
  padding: 0.3125rem;
}

.cml-button::before {
  border-bottom: 1px solid #7D40A0;
  border-left: 1px solid #7D40A0;
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cml-no-matching {
  font-size: 1rem;
  margin: 2.5rem 0;
}

/* ------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------ */
/* 予約履歴画面 */
.custom-reservations-history-page {
  max-width: 64rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.crh-reservation-details-for-share-error-message {
  font-size: 1rem;
  margin: 2.5rem 0rem;
}

.custom-reservations-history-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

.custom-reservations-history-grid {
  margin-top: 2.5rem;
}

.custom-reservations-history-card {
  margin-bottom: 1.25rem;
  max-width: 37.5rem;
  padding-bottom: 1.25rem;
}

.custom-reservations-history-card-status {
  margin-bottom: 0.625rem;
}

.custom-reservations-history-past-label {
  border-radius: 3.125rem;
  height: 2.5rem;
  margin-bottom: 2.5rem;
  width: 9.375rem;
}

.custom-reservations-history-therapist-info {
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}

.custom-reservations-history-therapist-info img {
  border-radius: 3.125rem;
  height: 4.375rem;
  width: 4.375rem;
}

.custom-reservations-history-therapist-name {
  font-size: 1rem;
}

.custom-reservations-history-card-time {
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
}

.custom-reservations-history-buttons-container {
  gap: 0.625rem;
}

.custom-reservations-history-view-details-button,
.custom-reservations-history-view-review-button {
  border-radius: 1.5rem;
  font-size: 1rem;
  height: 2.5rem;
  max-width: 17.625rem;
  padding: 0.3125rem;
}

.custom-reservations-history-view-details-button::before,
.custom-reservations-history-view-review-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.custom-reservations-history-review-button {
  border-radius: 1.5rem;
  font-size: 1rem;
  height: 2.5rem;
  max-width: 17.625rem;
}

.custom-reservations-history-review-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.custom-reservations-history-review-button::after {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  padding: 0.125rem 0.375rem;
  top: -0.8125rem;
}

.custom-reservations-history-page-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* ステップバー */
/* ステップ間の横線 */
.custom-reservations-history-step:not(:last-child)::after {
  top: 1.25rem;
}

/* 丸の基本スタイル（未完了＆完了） */
.custom-reservations-history-step::before {
  border-radius: 3.125rem;
  font-size: 1.125rem;
  height: 2.5rem;
  line-height: 2.5rem;
  margin-bottom: 0.3125rem;
  width: 2.5rem;
}

/* アクティブ以外のラベル（共通） */
.custom-reservations-history-step .step-label {
  font-size: 0.875rem;
}

.custom-reservations-history-stepper.cancelled .cancelled-label {
  font-size: 0.875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 口コミ投稿 */
.crh-post-review-page {
  max-width: 64rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.crh-post-review-page-header {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.crh-post-review-page-back-btn {
  font-size: 0.875rem;
  width: 3.125rem;
}

#post-review {
  border-radius: 2.5rem;
  font-size: 0.875rem;
  padding: 0.3125rem;
  width: 5.625rem;
}

#post-review::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.crh-post-review-page-therapist-info {
  gap: 0.625rem;
  margin-top: 2.5rem;
}

.crh-post-review-page-therapist-info img {
  border-radius: 3.125rem;
  height: 5rem;
  width: 5rem;
}

.crh-post-review-page-therapist-name {
  font-size: 1rem;
}

.crh-post-review-page-store-name {
  font-size: 0.875rem;
}

.crh-post-review-page-rating {
  font-size: 1.5rem;
  margin-top: 1.25rem;
}

.crh-post-review-page-form textarea {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

.crh-post-review-page-form-section {
  margin-top: 1.25rem;
}

.crh-post-review-page-form-section-message {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

.crh-post-review-page-form-section-category {
  margin-bottom: 2.5rem;
}

.crh-post-review-page-form-section-category-title {
  font-size: 1rem;
}

.crh-post-review-page-tags {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.crh-post-review-page-tags .tag {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

#crh-post-review-page-form-textarea-char-count {
  font-size: 0.875rem;
  margin-right: 0.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 口コミ閲覧 */
.crh-view-review-page {
  max-width: 64rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.crh-view-review-page-header {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.crh-view-review-page-back-btn {
  font-size: 0.875rem;
  width: 3.125rem;
}

.crh-view-review-page-therapist-info {
  gap: 0.625rem;
  margin-top: 2.5rem;
}

.crh-view-review-page-therapist-info img {
  border-radius: 3.125rem;
  height: 5rem;
  width: 5rem;
}

.crh-view-review-page-therapist-name {
  font-size: 1rem;
}

.crh-view-review-page-store-name {
  font-size: 0.875rem;
}

.crh-view-review-page-rating {
  font-size: 1.5rem;
  margin-top: 1.25rem;
}

.crh-view-review-page-form textarea {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

.crh-view-review-page-form-section {
  margin-top: 1.25rem;
}

.crh-view-review-page-form-section-category {
  margin-bottom: 2.5rem;
}

.crh-view-review-page-form-section-category-title {
  font-size: 1rem;
}

.crh-view-review-page-tags {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.crh-view-review-page-tags .tag {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 予約詳細 */
.crh-reservation-details-page {
  max-width: 64rem;
}

.crh-reservation-details-page-top-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
}

.crh-reservation-details-page-bottom-section {
  margin-top: -5.6875rem;
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 5.6875rem;
}

.crh-reservation-details-page-status-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.crh-reservation-details-page-therapist-info-wrapper {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.crh-reservation-details-page-therapist-info {
  border-radius: 0.625rem;
  height: 13.1875rem;
  margin-top: 2.5rem;
  padding: 1.25rem;
}

.crh-reservation-details-page-therapist-img-and-name {
  gap: 0.625rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.crh-reservation-details-page-therapist-img-and-name img {
  border-radius: 3.125rem;
  height: 5rem;
  width: 5rem;
}

.crh-reservation-details-page-therapist-name {
  font-size: 1rem;
}

.crh-reservation-details-page-store-name {
  font-size: 0.875rem;
}

.crh-reservation-details-page-therapist-btn-content {
  gap: 1.25rem;
}

.crh-reservation-details-page-therapist-info-button {
  font-size: 0.875rem;
}

.crh-reservation-details-page-therapist-info-button img {
  height: 1.875rem;
}

.crh-reservation-details-page-datetime-info {
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.crh-reservation-details-page-start-datetime-info,
.crh-reservation-details-page-end-datetime-info {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  padding: 0.625rem 0.625rem;
}

.crh-reservation-details-page-start-datetime-info-title,
.crh-reservation-details-page-end-datetime-info-title {
  border-radius: 0.9375rem;
  font-size: 1rem;
  height: 1.875rem;
  max-width: 9.6875rem;
}

.crh-reservation-details-page-start-datetime,
.crh-reservation-details-page-end-datetime {
  font-size: 1rem;
}

.crh-reservation-details-page-start-datetime-explanation {
  font-size: 0.875rem;
}

.crh-dot-loader {
  gap: 0.25rem;
}

.crh-dot-loader div {
  border-radius: 3.125rem;
  height: 0.25rem;
  width: 0.25rem;
}

.crh-reservation-details-page-meeting-place-info,
.crh-reservation-details-page-outfit-description-info,
.crh-reservation-details-page-schedule-adjusted-info,
.crh-reservation-details-page-question-info {
  border-radius: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.625rem;
}

.crh-reservation-details-page-meeting-place-title,
.crh-reservation-details-page-outfit-description-title,
.crh-reservation-details-page-schedule-adjusted-title,
.crh-reservation-details-page-question-title {
  font-size: 1rem;
}

.crh-reservation-details-page-question,
.crh-reservation-details-page-outfit-description,
.crh-reservation-details-page-meeting-place,
.crh-reservation-details-page-schedule-adjusted {
  font-size: 1rem;
}

.crh-reservation-details-page-receipt {
  border-radius: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.625rem;
}

.crh-receipt-item {
  margin-bottom: 0.625rem;
}

.crh-receipt-item-title {
  font-size: 1rem;
}

.crh--receipt-item-price {
  font-size: 1rem;
}

.crh-receipt-item-reason {
  font-size: 0.875rem;
}

.crh-receipt-total {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}

.crh-receipt-total-title {
  font-size: 1rem;
}

.crh-receipt-total-price {
  font-size: 1.5rem;
}

.crh-receipt-total-explanation {
  font-size: 0.875rem;
}

.crh-receipt-payment-method {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}

.crh-receipt-payment-method-title {
  font-size: 1rem;
}

.crh-receipt-payment-method-detail {
  font-size: 1rem;
}

.crh-reservation-details-page-change-guidance,
.crh-reservation-details-page-cancelled-guidance {
  margin-top: 2.5rem;
}

.crh-reservation-details-page-change-guidance-title,
.crh-reservation-details-page-cancelled-guidance-title {
  font-size: 1.125rem;
}

.crh-reservation-details-page-change-guidance-info-value-pending,
.crh-reservation-details-page-change-guidance-info-value-confirm,
.crh-reservation-details-page-cancelled-guidance-info-value-confirm {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.crh-reservation-details-page-contact-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 1.25rem auto 0rem auto;
  width: 17.625rem;
}

.crh-reservation-details-page-contact-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.crh-close-btn {
  border-radius: 3.125rem;
  bottom: 1.25rem;
  height: 3.125rem;
  padding: 0.25rem 0.25rem;
  right: 1.25rem;
  width: 3.125rem;
}

.crh-close-btn img {
  height: 1.5625rem;
  width: 1.5625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 予約共有(外部ユーザー) */
.crh-reservation-details-for-share-page {
  max-width: 64rem;
}

.crh-reservation-details-for-share-page-review-btn,
.crh-reservation-details-for-share-page-reviewed-btn {
  border-radius: 3.125rem;
  bottom: 1.25rem;
  font-size: 0.875rem;
  height: 4.0625rem;
  padding: 0.25rem 0.25rem;
  right: 1.25rem;
  width: 4.0625rem;
}

/*口コミ閲覧画面*/
/* ------------------------------------------------------------------------------------------------------- */
/* 個別口コミ一覧ページ */
.crl-page {
  max-width: 37.5rem;
}

.crl-page-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.crl-page-header-therapist-info {
  gap: 0.625rem;
  margin-top: 2.5rem;
}

.crl-page-header-rate-info {
  margin-top: 1.25rem;
}

.crl-page-header-image-container {
  height: 5rem;
  width: 5rem;
}

.crl-page-header-image {
  height: 5rem;
  width: 5rem;
}

.crl-therapist-name {
  font-size: 1rem;
}

.crl-average-rating {
  font-size: 1.25rem;
  gap: 0rem;
}

.crl-average-rating .average-score {
  font-size: 1.5rem;
}

.crl-review-count {
  font-size: 0.875rem;
}

.crl-search-container {
  margin-bottom: 1.25rem;
  margin-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.crl-search-text-content {
  border-radius: 0.5rem;
  gap: 0rem;
  height: 2.5rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  padding-right: 0.3125rem;
  padding-top: 0.3125rem;
}

.crl-search-text-content-image {
  height: 1.25rem;
  width: 1.25rem;
}

.crl-review-search {
  font-size: 0.875rem;
  margin-left: 0.3125rem;
}

.crl-sort-radio-group-section {
  gap: 0.625rem;
}

.crl-sort-radio-group .radio-label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  padding: 0.3125rem;
}

.crl-review {
  margin-bottom: 1.25rem;
}

.crl-star-rating {
  font-size: 1.25rem;
  gap: 0rem;
}

.crl-review-created_at {
  font-size: 1rem;
}

.crl-review-textarea {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 0.3125rem;
  padding: 0.8125rem;
}

.crl-no-review-message {
  font-size: 1rem;
  padding-top: 1.25rem;
}

/* 検索画面 */
.cs-custom-search-page {
  max-width: 37.5rem;
}

.cs-custom-search-page-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cs-custom-search-header-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cs-custom-search-header-subtitle {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cs-custom-search-header {
  margin-bottom: 1.25rem;
  margin-top: 2.5rem;
  padding-bottom: 1.25rem;
}

.open-detailed-conditions-modal-button {
  align-items: center;
  border-radius: 0.5rem;
  height: 2.5rem;
  margin-top: 0.625rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  padding-right: 0.3125rem;
  padding-top: 0.3125rem;
}

.open-detailed-conditions-modal-button-image {
  height: 1.25rem;
  width: 1.25rem;
}

.open-date-conditions-modal-button {
  border-radius: 0.5rem;
  height: 2.5rem;
  margin-top: 0.625rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  padding-right: 0.3125rem;
  padding-top: 0.3125rem;
}

.open-date-conditions-modal-button-image {
  height: 1.25rem;
  width: 1.25rem;
}

#cs-selected-date {
  font-size: 0.875rem;
  margin-left: 0.625rem;
  width: 5.3125rem;
}

#cs-selected-time {
  font-size: 0.875rem;
  margin-left: 0.625rem;
  width: 5.3125rem;
}

.cs-date-picker {
  border-radius: 0.375rem;
  font-size: 1rem;
  padding: 0.5rem;
}

.selected-detailed-conditions {
  gap: 0.125rem;
  margin-left: 0.3125rem;
}

.selected-detailed-conditions .cs-selected-tag {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  padding: 0.3125rem 0.625rem;
}

.cs-custom-search-result {
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.cs-therapist-image-avatar {
  border-radius: 0.625rem;
}

.cs-heart-wrapper {
  bottom: 0.3125rem;
  height: 2.375rem;
  padding: 0.25rem;
  position: absolute;
  right: 0.3125rem;
  width: 2.375rem;
}

.cs-heart-img {
  width: 1.5rem;
}

.cs-therapist-info {
  margin-top: 0.625rem;
}

.cs-therapist-name {
  font-size: 1.125rem;
}

.cs-therapist-age,
.cs-therapist-store-name,
.cs-therapist-schedule {
  font-size: 0.875rem;
}

.cs-sort-radio-group-section {
  gap: 0.625rem;
}

.cs-sort-radio-group .radio-label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  padding: 0.3125rem;
}

.search-result-empty {
  font-size: 1rem;
  margin: 1.25rem 0;
}

.cs-reset-all-btn {
  border-radius: 3.125rem;
  font-size: 0.875rem;
  padding: 0.3125rem 0.625rem;
  width: 7.5rem;
  width: -moz-fit-content;
  width: fit-content;
}

.cs-custom-search-header-btn-section {
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.custom-search-matching-toast {
  border-radius: 0.5rem;
  bottom: 3rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
}

.open-detailed-conditions-modal-button-title,
.open-date-conditions-modal-button-title {
  font-size: 0.875rem;
}

.open-date-conditions-modal-button-title {
  margin-top: 1.25rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* モーダル共通 */
.cs-detailed-conditions-modal-content {
  max-width: 37.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cs-date-conditions-modal-content {
  max-width: 37.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cs-date-conditions-modal-close,
.cs-detailed-conditions-modal-close {
  font-size: 1.5rem;
  right: 0.625rem;
  top: 0.625rem;
}

.cs-up-button {
  bottom: 5rem;
  height: 3.125rem;
  padding: 0.25rem 0.25rem;
  right: 0.3125rem;
  width: 3.125rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 日程条件モーダル */
.cs-date-conditions-content {
  padding-bottom: 6.25rem;
}

.cs-date-conditions-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cs-time-select-title {
  font-size: 0.875rem;
  margin-top: 2.5rem;
}

#cs-time-select-container::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

#cs-time-select {
  border-radius: 1.875rem;
  font-size: 1rem;
  margin-top: 0.625rem;
  padding: 0.75rem 1.125rem;
  width: 11.25rem;
}

#cs-calendar {
  margin-top: 1.25rem;
}

.fc .fc-toolbar {
  gap: 0.625rem;
}

.cs-date-conditions-modal .fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 1.25rem;
}

.cs-date-conditions-modal .fc .fc-toolbar-title {
  font-size: 1.125rem;
}

.fc .fc-col-header-cell-cushion {
  font-size: 0.875rem;
}

.cs-date-conditions-modal .fc .fc-daygrid-day-number {
  font-size: 0.875rem;
  padding: 0.25rem;
}

.fc .fc-button {
  font-size: 0.75rem;
  padding-bottom: 0.125rem;
}

.fc .fc-button-group {
  gap: 0.3125rem;
}

.cs-date-conditions-refine-btn {
  font-size: 1rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 詳細条件モーダル */
.cs-detailed-conditions-content {
  padding-bottom: 2.5rem;
}

.cs-detailed-conditions-section {
  padding-top: 2.5rem;
}

.cs-detailed-conditions-section-title {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.cs-tags-content {
  margin-bottom: 2.5rem;
}

.cs-tags-content-title,
.cs-age-range-content-title {
  font-size: 1rem;
}

.cs-tags {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.cs-tags .cs-tag-button {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.cs-tags .cs-tag-button.selected {
  transform: translateY(-0.125rem);
}

.cs-whole-footer {
  padding: 0.625rem;
}

.cs-footer {
  gap: 0.375rem;
  height: 2.875rem;
  min-width: 17.5rem;
}

.cs-footer > *:not(:first-child)::before {
  bottom: -0.1875rem;
  left: -0.25rem;
  top: -0.1875rem;
  width: 0.0625rem;
}

.cs-detailed-conditions-refine-btn {
  font-size: 1rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}

.cs-detailed-conditions-reset-btn,
.cs-date-conditions-reset-btn {
  font-size: 0.875rem;
}

.cs-hit-count {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.cs-hit-count-title {
  font-size: 0.875rem;
  margin-right: 0.3125rem;
}

.cs-hit-count-number-wrapper {
  margin-bottom: -0.125rem;
}

.cs-hit-count-number {
  font-size: 1.125rem;
  margin-bottom: -0.125rem;
}

.cs-hit-count-unit {
  font-size: 0.875rem;
  margin-left: 0.125rem;
}

.cs-dot-loader {
  gap: 0.3125rem;
  height: 1.25rem;
  min-width: 1.25rem;
}

.cs-dot-loader div {
  height: 0.3125rem;
  min-height: 0.3125rem;
  min-width: 0.3125rem;
  width: 0.3125rem;
}

.cs-place-content {
  gap: 0.625rem;
}

.cs-place-content .radio-group {
  gap: 0.625rem;
}

.cs-place-content .radio-group .radio-label {
  font-size: 1rem;
  padding-left: 1.75rem;
}

.cs-place-content .radio-group .radio-label::before {
  height: 1rem;
  width: 1rem;
}

.cs-place-content .radio-group input[type=radio]:checked ~ .radio-label::after {
  height: 0.5rem;
  left: 0.25rem;
  width: 0.5rem;
}

.cs-place-content #range-slider-container,
.cs-place-content #prefecture-dropdown-container {
  border-radius: 0.625rem;
  width: 18.75rem;
}

.cs-place-content #prefecture-dropdown-container::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cs-place-content #range-slider-container label {
  font-size: 1rem;
}

.cs-place-content #range-value {
  font-size: 1.5rem;
}

#current-location-address {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cs-place-content #range-slider {
  border-radius: 0.3125rem;
  height: 0.375rem;
}

.cs-place-content #range-slider::-webkit-slider-thumb {
  height: 1.875rem;
  top: -0.625rem;
  width: 1.875rem;
}

.cs-place-content #range-slider::-moz-range-thumb {
  height: 1.875rem;
  top: -0.625rem;
  width: 1.875rem;
}

.cs-place-content #prefecture-dropdown-container label {
  margin-bottom: 0.3125rem;
}

.cs-place-content #prefecture {
  font-size: 0.875rem;
  margin-top: 0.3125rem;
  padding: 0.8125rem;
}

.cs-age-range-content {
  margin-top: 1.875rem;
}

.cs-age-range-container {
  border-radius: 0.5rem;
  height: 12.5rem;
  margin-top: 0.9375rem;
  padding: 0.625rem;
}

.cs-age-range-container label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

#age-range-slider {
  height: 0.625rem;
  margin-top: 0.625rem;
}

.cs-age-range-values {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

#age-range-label {
  font-size: 1.125rem;
  margin-bottom: 0.3125rem;
}

.noUiSlider-wrap .inner-block {
  padding: 3.125rem;
}

.noUiSlider-wrap .text-wrap {
  margin: 1.875rem auto;
}

.noUi-horizontal .noUi-handle {
  height: 1.875rem !important;
  top: -0.625rem !important;
  width: 1.875rem !important;
}

/* セラピスト・店舗ログイン画面 */
/* ------------------------------------------------------------------------------------------------------------------ */
.custom-store-and-therapist-login-page {
  max-width: 37.5rem;
}

#custom-store-and-therapist-login-form {
  margin-top: 2.5rem;
}

.custom-store-and-therapist-login-form-group label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.custom-store-and-therapist-login-form-group input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  padding: 0.8125rem;
}

.csatl-error-message {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

#csatl-login-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 1.25rem auto 0 auto;
  width: 17.625rem;
}

#csatl-login-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.custom-store-and-therapist-password-reset-button {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

.csatl-login-note {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

.custom-store-and-therapist-login-page-title {
  font-size: 1.75rem;
}

.custom-store-and-therapist-login-logged-in-message {
  font-size: 1rem;
  margin: 2.5rem 0 0rem 0;
}

.custom-store-and-therapist-login-mypage-button,
.custom-store-and-therapist-login-logout-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 1.25rem auto 0 auto;
  width: 17.625rem;
}

.custom-store-and-therapist-login-mypage-button::before,
.custom-store-and-therapist-login-logout-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* パスワードリセット */
.custom-store-and-therapist-password-reset-page {
  max-width: 37.5rem;
}

.custom-store-and-therapist-password-reset-message {
  font-size: 1rem;
  margin: 2.5rem 0 1.25rem 0;
}

#csatl-reset-step-1 input,
#csatl-reset-step-2 input,
#csatl-reset-step-3 input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  padding: 0.8125rem;
}

#csatl-reset-send-email,
#csatl-reset-verify-code,
#csatl-reset-final-submit {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 2.5rem auto 0 auto;
  width: 17.625rem;
}

#csatl-reset-send-email::before,
#csatl-reset-verify-code::before,
#csatl-reset-final-submit::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.csatl-custom-reset-restart-button {
  font-size: 0.875rem;
  margin: 1rem auto 0 auto;
}

/* 店舗一覧画面 */
/* ------------------------------------------------------------------------------------------------------------------ */
.custom-store-list-page {
  max-width: 37.5rem;
}

.custom-store-list-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.custom-store-list-tabs {
  gap: 0.3125rem;
  margin: 2.5rem auto 0rem;
  padding-bottom: 0.125rem;
}

.custom-store-list-tab-button {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  padding: 0.1875rem 0.625rem;
  width: 3.75rem;
}

.custom-store-list-tab-content {
  margin: 2.375rem auto 0rem auto;
  max-width: 37.5rem;
}

.custom-store-list-card-horizontal {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
}

.custom-store-list-page .swiper-slide {
  border-radius: 0.75rem;
}

.custom-store-list-page .swiper-slide a {
  border-radius: 0.75rem;
}

.custom-store-list-page .swiper-pagination {
  margin-top: 1.25rem;
}

.custom-store-list-image-placeholder {
  border-radius: 0.75rem;
  font-size: 0.875rem;
}

.custom-store-list-card-header {
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}

.custom-store-list-card-content {
  margin-top: 1.25rem;
}

.custom-store-list-name {
  font-size: 1.5rem;
}

.custom-store-list-info {
  border-radius: 0.5rem;
  font-size: 1rem;
  height: 3.75rem;
  padding-top: 0.625rem;
}

.custom-store-list-info::before {
  border-radius: 0.75rem;
  font-size: 0.75rem;
  padding: 0.3125rem 0rem;
  top: -0.75rem;
  width: 4.375rem;
}

.custom-store-list-card-btn-content {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.custom-store-list-card-info-content {
  gap: 0.625rem;
}

.custom-store-list-button {
  border-radius: 1.5rem;
  font-size: 1rem;
  height: 2.5rem;
  padding: 0.3125rem;
}

.custom-store-list-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.custom-store-list-no-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

.csl-up-button {
  bottom: 5rem;
  height: 3.125rem;
  padding: 0.25rem 0.25rem;
  right: 0.3125rem;
  width: 3.125rem;
}

/* 店舗ランキング画面 */
.custom-store-ranking-page {
  max-width: 37.5rem;
}

.custom-store-ranking-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.custom-store-ranking-tabs {
  gap: 0.3125rem;
  margin: 2.5rem auto 0rem;
  padding-bottom: 0.125rem;
}

.custom-store-ranking-tab-button {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  padding: 0.1875rem 0.625rem;
  width: 3.75rem;
}

.custom-store-ranking-period {
  font-size: 0.875rem;
  margin-top: 1rem;
}

.custom-store-ranking-tab-content {
  margin: 2.375rem auto 0rem auto;
  max-width: 37.5rem;
  padding-bottom: 0.125rem;
}

.custom-store-ranking-card-horizontal {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
}

.custom-store-ranking-page .swiper-slide {
  border-radius: 0.75rem;
}

.custom-store-ranking-page .swiper-slide a {
  border-radius: 0.75rem;
}

.custom-store-ranking-page .swiper-pagination {
  margin-top: 1.25rem;
}

.custom-store-ranking-image-placeholder {
  border-radius: 0.75rem;
  font-size: 0.875rem;
}

.custom-store-ranking-card-header {
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}

.custom-store-ranking-card-content {
  margin-top: 1.25rem;
}

.custom-store-ranking-position {
  border-radius: 3.125rem;
  font-size: 1rem;
  padding: 0.125rem;
  width: 3.75rem;
}

.custom-store-ranking-name {
  font-size: 1.5rem;
}

.custom-store-ranking-info {
  border-radius: 0.5rem;
  font-size: 1rem;
  height: 3.75rem;
  padding-top: 0.625rem;
}

.custom-store-ranking-info::before {
  border-radius: 0.75rem;
  font-size: 0.75rem;
  padding: 0.3125rem 0rem;
  top: -0.75rem;
  width: 4.375rem;
}

.custom-store-ranking-card-btn-content {
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.custom-store-ranking-card-info-content {
  gap: 0.625rem;
}

.custom-store-ranking-button {
  align-items: center;
  border-radius: 1.5rem;
  display: flex;
  font-size: 1rem;
  height: 2.5rem;
  justify-content: center;
  padding: 0.3125rem;
}

.custom-store-ranking-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.custom-store-ranking-no-ranking-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 全体 */
/* 全体 */
.swal2-warning,
.swal2-info,
.swal2-question {
  height: 3.75rem;
  margin: 2.5rem auto 0.625rem !important;
  width: 3.75rem;
}

.swal2-icon-content {
  font-size: 2.5rem !important;
}

/* htmlコンテナ */
#swal2-html-container {
  font-size: 1rem;
}

/* ボタンコンテナ */
.swal2-actions {
  gap: 0.625rem;
  margin-bottom: 2.5rem;
}

/* エラーOKボタン */
.custom-error-ok-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

.custom-ok-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

.custom-login-guidance-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 8.75rem;
}

.custom-cancel-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

/* 今後表示しないチェックボックス */
.custom-not-show-again-checkbox-wrapper {
  font-size: 0.875rem;
  margin-right: 0.0625rem;
  margin-top: 0.75rem;
  padding-bottom: 0.1875rem;
  padding-left: 1.375rem;
}

.custom-not-show-again-checkbox-wrapper label::before {
  border: 1px solid #535353;
  border-radius: 0.125rem;
  height: 1.0625rem;
  width: 1.0625rem;
}

.custom-not-show-again-checkbox-wrapper label::after {
  height: 0.75rem;
  left: 0.375rem;
  width: 0.375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 退会画面 */
.custom-ccm-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* スライド */
.custom-csp-login-button,
.custom-csp-register-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

.custom-csp-close-button {
  font-size: 1.125rem;
  right: 0.625rem;
  top: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* プロフィール編集 */
.custom-cup-change-button,
.custom-cup-delete-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 7.5rem;
}

.custom-cup-close-button {
  font-size: 1.125rem;
  right: 0.625rem;
  top: 0.625rem;
}

.cup-profile-continue,
.cup-profile-view {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
}

.cup-swal-btn-content {
  gap: 0.625rem;
  margin-bottom: 2.5rem;
  margin-top: 1.25rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 予約モーダル */
.ctr-stop-reservation-button,
.ctr-back-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 7.5rem;
}

.ctr-store-contect-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 9.375rem;
}

.ctr-reservation-detail-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 9.375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* セラピスト予約管理 */
.ctrm-add-shift-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 7.5rem;
}

.ctrm-add-reservation-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 7.5rem;
}

.ctrm-reservation-change-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  margin: 0 0.625rem;
  padding: 0.5rem 1rem;
  width: 7.5rem;
}

.ctrm-close-button {
  font-size: 1.125rem;
  right: 0.625rem;
  top: 0.625rem;
}

.ctrm-swal-input-area {
  margin-top: 1.25rem;
}

.ctrm-swal-input-area label {
  font-size: 1rem;
}

.ctrm-swal-input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  padding: 0.8125rem;
}

.ctrm-swal-note {
  font-size: 0.75rem;
}

.ctrm-share-store-textarea {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  height: 9.375rem;
  margin-top: 0.625rem;
  padding: 0.8125rem;
}

.csrm-swal-calendar {
  margin-top: 1.25rem;
}

.ctrm-swal-select {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  padding: 0.8125rem;
}

.csrm-swal-result-section {
  margin-bottom: 1.25rem;
}

.csrm-swal-result-title {
  font-size: 1rem;
}

.csrm-swal-result-time {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.csrm-swal-result-list {
  margin-top: 0.625rem;
}

.csrm-swal-result-list li {
  font-size: 0.875rem;
}

.csrm-swal-result-title-warning {
  font-size: 0.75rem;
  margin-top: 0.625rem;
}

.payment-method-after-start-radio-group-content {
  margin-top: 0.625rem;
}

.payment-method-after-start-radio-group {
  width: 10rem;
}

.payment-method-after-start-radio-group .radio-label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  margin: 0.3125rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.payment-method-after-start-radio-group input[type=radio]:checked + .radio-label {
  transform: translateY(-0.125rem);
}

.ctrm-share-url-box {
  border-radius: 0.3125rem;
  font-size: 1rem;
  margin-bottom: 1.25rem;
  margin-top: 1.25rem;
  padding: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 店舗コース情報管理 */
.csim-swal-input-area {
  margin-top: 1.25rem;
}

.csim-swal-input-area label {
  font-size: 1rem;
}

.csim-swal-input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  padding: 0.8125rem;
}

.csim-close-button {
  font-size: 1.125rem;
  right: 0.625rem;
  top: 0.625rem;
}

.csim-swal-note {
  font-size: 0.75rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* ポイント管理 */
.cupm-swal-input-area {
  margin-top: 1.25rem;
}

.cupm-swal-input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  padding: 0.8125rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* セラログ */
.ct-mylog-area-label-radio-group {
  width: 7.5rem;
}

.ct-mylog-area-label-radio-group .radio-label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  margin: 0.3125rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.ct-mylog-area-label-radio-group input[type=radio]:checked + .radio-label {
  transform: translateY(-0.125rem);
}

.ct-close-button {
  font-size: 1.125rem;
  right: 0.625rem;
  top: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* セラログ */
#reply-candidates-list {
  margin-top: 1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

#reply-candidates-list-message {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.reply-candidates-list-message-note {
  font-size: 0.875rem;
}

.reply-candidate-item {
  font-size: 1rem;
  margin-bottom: 0.625rem;
}

.reply-candidate-item-content {
  gap: 0.625rem;
}

.reply-candidate-item img {
  height: 3.125rem;
  width: 3.125rem;
}

.reply-candidate-item-role {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.3125rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* シェア */
.cup-share-explain-title {
  font-size: 1rem;
  margin-top: 2.125rem;
}

.cup-share-explain-warning {
  font-size: 1rem;
  line-height: 1.5;
}

.cup-share-url-swal-message {
  font-size: 1rem;
  margin-top: 0.875rem;
}

.cup-share-url-box {
  border-radius: 0.3125rem;
  font-size: 1rem;
  margin-bottom: 1.25rem;
  margin-top: 0.5rem;
  padding: 0.375rem 0.625rem 0.375rem 1.0625rem;
}

.cup-share-feature-list {
  margin: 0.75rem 0;
}

.cup-share-feature-list-checkbox-wrapper {
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 1.4375rem;
}

.cup-share-feature-list-checkbox-wrapper label::before {
  border: none;
  border-radius: 0.125rem;
  height: 1rem;
  margin-top: 0.125rem;
  width: 1rem;
}

.cup-share-feature-list-checkbox-wrapper label::after {
  height: 0.6875rem;
  left: 0.375rem;
  width: 0.375rem;
}

body.swal2-shown {
  padding-right: 0 !important;
}

/* スライド画面 */
.custom-swipe-page {
  height: auto;
  max-height: none;
  max-width: 37.5rem;
  overflow-y: auto;
}

.custom-swipe-content {
  gap: 0.625rem;
  margin-top: 1.25rem;
  overflow: visible;
}

.custom-swipe-plugin-progress-bar {
  border-radius: 0.625rem;
  height: 0.5rem;
}

.custom-swipe-plugin-progress {
  border-radius: 0.5rem;
}

.custom-swipe-plugin-card {
  border-radius: 1.25rem;
}

.custom-swipe-plugin-info-box {
  border-bottom-left-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  padding: 0.5rem 0.75rem;
}

.custom-swipe-plugin-therapist-info {
  font-size: 1rem;
}

.custom-swipe-plugin-store-name {
  font-size: 0.875rem;
}

.custom-swipe-plugin-buttons {
  bottom: 0.625rem;
  gap: 1.25rem;
}

.custom-swipe-plugin-like-icon,
.custom-swipe-plugin-dislike-icon {
  height: 6.25rem;
  width: 6.25rem;
}

.custom-swipe-plugin-reload-button {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  padding: 0.625rem 1.25rem;
}

.custom-swipe-plugin-modal-content {
  border-radius: 0.625rem;
  max-width: 18.75rem;
  padding: 1.25rem;
}

.custom-swipe-plugin-modal-content h3 {
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}

.custom-swipe-plugin-modal-buttons {
  margin-bottom: 0.625rem;
}

.custom-swipe-plugin-register-button {
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  padding: 0.625rem 0.625rem;
}

.custom-swipe-plugin-login-button {
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  padding: 0.625rem 0.625rem;
}

.custom-swipe-plugin-back-button {
  border-radius: 0.3125rem;
  font-size: 1rem;
  padding: 0.625rem 1.25rem;
}

.custom-swipe-plugin-profile-button {
  border-radius: 5.125rem;
  font-size: 0.875rem;
  padding: 0.3125rem;
  width: 7.5rem;
}

.custom-swipe-plugin-profile-button::before {
  height: 0.375rem;
  right: 0.375rem;
  width: 0.375rem;
}

/* セラログ画面 */
/* ------------------------------------------------------------------------------------------------------------------ */
/* list */
.ct-list-page {
  max-width: 37.5rem;
}

.ct-tab-menu {
  height: 3.125rem;
}

.ct-tab-button {
  font-size: 1.125rem;
}

.ct-theralog-card-area {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  height: unset;
  line-height: 1;
  padding-block: 0.125rem 0.25rem;
  width: 5.4375rem;
}

.ct-tab-content {
  margin-top: 0rem;
  padding: 0rem;
}

.ct-post-mylog-button {
  bottom: 5rem;
  height: 3.125rem;
  padding: 0.25rem 0.25rem;
  right: 1.25rem;
  width: 3.125rem;
}

.ct-post-mylog-button img {
  height: 1.5rem;
  width: 1.5rem;
}

.ct-reaction-mylog-button {
  bottom: 5rem;
  height: 3.125rem;
  left: 1.25rem;
  padding: 0.25rem 0.25rem;
  width: 3.125rem;
}

.ct-reaction-mylog-button img {
  height: 1.5rem;
  width: 1.5rem;
}

.ct-reaction-mylog-button .ct-reaction-badge {
  font-size: 0.625rem;
  height: 1.5625rem;
  padding: 0.125rem 0.375rem;
  right: -0.25rem;
  top: -0.25rem;
  width: 1.5625rem;
}

.ct-region-slider {
  gap: 0.25rem;
  margin-bottom: 0.875rem;
  margin-top: 1rem;
  padding-left: 1.25rem;
}

.ct-region-button {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  padding: 0rem 0.66875rem;
  width: 3.75rem;
}

.ct-no-mylog,
.ct-no-timeline {
  font-size: 1rem;
  margin-bottom: 1.25rem;
  margin-top: 2.5rem;
}

.ct-login-guidance-button {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 2.5rem;
  width: 17.625rem;
}

.ct-login-guidance-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.ct-theralog-card {
  padding: 0.9375rem 1.25rem 1.25rem;
}

.ct-reported-post {
  height: 18.75rem;
}

.ct-reported-modal img {
  width: 4.375rem;
}

.ct-reported-modal-message {
  font-size: 1rem;
  margin-top: 1.25rem;
}

.ct-reported-modal-link-message {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

.ct-reported-modal-link-message::before {
  height: 0.4375rem;
  right: -0.625rem;
  width: 0.4375rem;
}

.ct-theralog-card-avatar {
  margin-right: 0.625rem;
  margin-top: 0.375rem;
}

.ct-theralog-card-avatar img {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-theralog-card-content-header-date-and-btn {
  gap: 0.3125rem;
}

.ct-theralog-card-content-header-date-and-btn img {
  height: 0.875rem;
  margin-top: 0.3125rem;
  width: 0.875rem;
}

.ct-theralog-card-username {
  font-size: 1rem;
}

.ct-theralog-card-post-date {
  font-size: 0.875rem;
}

.ct-theralog-card-main-contents {
  font-size: 1rem;
}

.ct-theralog-card-image {
  border-radius: 0.625rem;
  margin-top: 0.625rem;
}

.ct-theralog-card-buttons {
  gap: 1.25rem;
  margin-top: 0.5625rem;
}

.ct-theralog-card-like-btn img,
.ct-theralog-card-comment-btn img {
  margin-right: 0.3125rem;
  width: 1.4375rem;
}

.ct-theralog-card-like-count,
.ct-theralog-card-comment-count {
  font-size: 0.875rem;
}

.ct-list-page .plyr video {
  border-radius: 0.625rem;
  margin-top: 0.4375rem;
}

.ct-list-page .plyr:fullscreen video {
  margin-top: 0rem;
}

.ct-list-page .plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  height: 1.875rem;
  width: 1.875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* post */
.ct-post-page {
  max-width: 37.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.ct-post-header {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.ct-post-header-post-btn {
  border-radius: 2.5rem;
  font-size: 0.875rem;
  padding: 0.3125rem;
  width: 5.625rem;
}

.ct-post-header-post-btn::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.ct-post-header-cancel-btn {
  font-size: 0.875rem;
  width: 3.125rem;
}

#ct-post-upload-progress {
  border-radius: 0.625rem;
  height: 0.75rem;
  top: 2.8125rem;
}

#ct-post-progress-bar {
  border-radius: 0.5rem;
}

.ct-post-avatar-and-textarea {
  gap: 0.625rem;
  margin-top: 3.75rem;
  padding-bottom: 2.5rem;
}

.ct-post-avatar img {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-post-textarea-btn-container {
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.ct-post-pic-item img {
  width: 1.875rem;
}

.ct-post-textarea {
  font-size: 1rem;
  padding: 0rem;
}

#ct-post-char-count {
  font-size: 0.875rem;
  min-width: 3.4375rem;
}

#ct-post-preview-image {
  margin-top: 1.25rem;
}

#ct-post-preview-image img,
#ct-post-preview-image video {
  border-radius: 0.625rem;
}

.ct-post-page .plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  height: 1.875rem;
  width: 1.875rem;
}

.ct-mylog-area-label {
  border-radius: 1.875rem;
  font-size: 0.875rem;
  height: 1.875rem;
  width: 8.125rem;
}

.ct-mylog-area-label::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* view */
.ct-view-theralog-modal-content {
  max-width: 37.5rem;
}

.ct-view-theralog-modal-main-content {
  margin-top: 2.5rem;
}

.ct-view-page {
  max-width: 64rem;
  padding-bottom: 6.25rem;
}

.ct-view-header {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.ct-view-header-cancel-btn {
  font-size: 0.875rem;
  width: 3.125rem;
}

.ct-view-avatar-and-content {
  gap: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.ct-view-avatar img {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-view-pic-and-textarea-header-username,
.ct-view-comment-card-username {
  font-size: 1rem;
}

.ct-view-pic-and-textarea-header-date-and-btn,
.ct-view-comment-card-content-header-date-and-btn {
  gap: 0.3125rem;
}

.ct-view-pic-and-textarea-header-date-and-btn img,
.ct-view-comment-card-content-header-date-and-btn img {
  height: 0.875rem;
  width: 0.875rem;
}

.ct-view-pic-and-textarea-header-date,
.ct-view-comment-card-content-header-date {
  font-size: 0.875rem;
}

.ct-view-textarea {
  font-size: 1rem;
}

#ct-view-preview-image {
  margin-top: 1.25rem;
}

#ct-view-preview-image img,
#ct-view-preview-image video {
  border-radius: 0.625rem;
}

.ct-view-theralog-modal .plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  height: 1.875rem;
  width: 1.875rem;
}

.ct-view-tabs {
  gap: 1.25rem;
  margin-top: 0.625rem;
}

.ct-view-like-tab-btn {
  font-size: 0.875rem;
}

.ct-view-like-tab-btn img {
  margin-right: 0.3125rem;
  width: 1.4375rem;
}

.ct-view-comment-tab-btn {
  font-size: 0.875rem;
}

.ct-view-comment-tab-btn img {
  margin-right: 0.3125rem;
  width: 1.4375rem;
}

.ct-view-card-area {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  height: 1.25rem;
  width: 5.4375rem;
}

.ct-view-likers {
  padding-bottom: 1.25rem;
}

.ct-view-liker-card {
  gap: 0.625rem;
  padding: 1.25rem;
}

.ct-view-liker-card-avatar {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-view-liker-card-name {
  font-size: 1rem;
}

.ct-view-no-likes,
.ct-view-no-comments,
.ct-no-reaction {
  font-size: 1rem;
  margin: 2.5rem 0;
}

.ct-view-comments {
  padding-bottom: 1.25rem;
}

.ct-view-comment-card {
  gap: 0.625rem;
  padding-bottom: 1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
}

.ct-view-comment-card-avatar {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-view-comment-text {
  font-size: 1rem;
}

.ct-view-comment-footer {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

#ct-view-comment-form {
  gap: 0.625rem;
}

#ct-view-comment-textarea {
  border-radius: 0.5rem;
  font-size: 1rem;
  max-height: 12.5rem;
  padding: 0.3125rem;
}

#ct-view-comment-send-button {
  height: 2.1875rem;
  padding: 0.25rem 0.25rem;
  width: 2.1875rem;
}

#ct-view-reply-to {
  font-size: 1rem;
}

.ct-comment-reply-to {
  font-size: 1rem;
}

#ct-view-comment-progress {
  border-radius: 0.625rem;
  bottom: 5rem;
  height: 1px;
}

#ct-view-comment-bar {
  border-radius: 0.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* reaction */
.ct-reaction-mylog-modal-content {
  max-width: 64rem;
}

.ct-reaction-mylog-header {
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.ct-reaction-mylog-header-cancel-btn {
  font-size: 0.875rem;
  width: 3.125rem;
}

.ct-reaction-card {
  gap: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.ct-reaction-card-icon-area {
  height: 2.5rem;
  width: 2.5rem;
}

.ct-reaction-type-icon {
  width: 1.875rem;
}

.ct-reaction-card-header {
  font-size: 0.75rem;
  gap: 0.125rem;
}

.ct-reaction-avatar {
  height: 3.125rem;
  width: 3.125rem;
}

.ct-reaction-username {
  font-size: 0.875rem;
}

.ct-reaction-card-body {
  font-size: 1rem;
}

.ct-reaction-card-footer {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

/* セラピストランキング画面 */
.custom-therapist-ranking-page {
  max-width: 37.5rem;
}

.custom-therapist-ranking-content-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.custom-therapist-ranking-tabs {
  gap: 0.3125rem;
  margin: 2.5rem auto 0px;
  padding-bottom: 0.125rem;
}

.custom-therapist-ranking-tab-button {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  padding: 0.1875rem 0.625rem;
  width: 3.75rem;
}

.custom-therapist-ranking-period {
  font-size: 0.875rem;
  margin-top: 1.125rem;
}

.custom-therapist-ranking-tab-content {
  margin-top: 2.5rem;
}

.custom-therapist-ranking-card-horizontal {
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.custom-therapist-ranking-avatar {
  border-radius: 0.75rem;
  max-width: 11.5625rem;
}

.custom-therapist-ranking-heart-wrapper {
  bottom: 0.3125rem;
  height: 2.375rem;
  padding: 0.25rem;
  right: 0.3125rem;
  width: 2.375rem;
}

.custom-therapist-heart-img {
  width: 1.5rem;
}

.custom-therapist-matching-toast {
  border-radius: 0.5rem;
  bottom: 3rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
}

.custom-therapist-ranking-position {
  border-radius: 3.125rem;
  font-size: 1rem;
  padding: 0.125rem;
  width: 3.75rem;
}

.custom-therapist-ranking-store-name {
  font-size: 1rem;
  margin-top: 0.3125rem;
}

.custom-therapist-ranking-name {
  font-size: 1.5rem;
  margin-top: 0.3125rem;
}

.custom-therapist-ranking-age {
  font-size: 1rem;
  margin-right: 0.625rem;
}

.custom-therapist-ranking-info {
  font-size: 1rem;
  margin-bottom: 1.25rem;
  margin-top: 0.3125rem;
}

.custom-therapist-ranking-rating {
  font-size: 1.5rem;
}

.custom-therapist-ranking-review-count {
  font-size: 1rem;
}

.custom-therapist-star {
  font-size: 1.5rem;
}

.custom-therapist-ranking-button {
  border-radius: 1.5rem;
  font-size: 1rem;
  height: 2.5rem;
  margin-top: 1.5625rem;
  max-width: 11.5rem;
  padding: 0.3125rem;
}

.custom-therapist-ranking-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.custom-therapist-ranking-no-ranking-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

/* -------------------------------------------------------------------------------------- */
/* セラピストシフト・予約管理 */
/* -------------------------------------------------------------------------------------- */
.therapist-reservation-management-content {
  top: 0;
}

/* -------------------------------------------------------------------------------------- */
/* セラピスト個別画面　予約 */
/* ショートコードボタン */
/* -------------------------------------------------------------------------------------- */
.custom-therapist-reservation-button {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.custom-therapist-reservation-button::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

#therapist-reservation-section {
  gap: 1.25rem;
}

.custom-therapist-reservation-modal-content {
  max-width: 64rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.custom-therapist-reservation-btn-group {
  gap: 1.25rem;
  margin-bottom: 0.625rem;
  margin-top: 1.25rem;
}

.custom-therapist-reservation-back-button,
.custom-therapist-reservation-cancell-button {
  border-radius: 2.5rem;
  font-size: 0.875rem;
  height: 2.5rem;
  width: 9.375rem;
}

.custom-therapist-reservation-back-button::before,
.custom-therapist-reservation-cancell-button::before {
  height: 0.4375rem;
  left: 0.625rem;
  width: 0.4375rem;
}

.custom-therapist-reservation-submit-button {
  border-radius: 2.5rem;
  font-size: 0.875rem;
  height: 2.5rem;
  width: 9.375rem;
}

.custom-therapist-reservation-submit-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.custom-therapist-reservation-price-form-group {
  border-radius: 0.375rem;
  margin-top: 1.25rem;
  padding: 0.3125rem;
  width: 12.5rem;
}

.custom-therapist-reservation-form-group {
  margin-top: 2.5rem;
}

.custom-therapist-reservation-form-group label {
  font-size: 1rem;
}

.custom-therapist-reservation-required-badge {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  margin-bottom: 0.125rem;
  margin-left: 0.3125rem;
  width: 2.5rem;
}

.custom-therapist-reservation-not-required-badge {
  border-radius: 0.625rem;
  font-size: 0.75rem;
  margin-bottom: 0.125rem;
  margin-left: 0.3125rem;
  width: 2.5rem;
}

.custom-therapist-reservation-form-group input[type=checkbox] {
  margin-right: 0.5rem;
}

.custom-therapist-reservation-form-group input[type=text],
.custom-therapist-reservation-form-group input[type=tel] {
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  margin-bottom: 0.9375rem;
  margin-top: 0.3125rem;
  padding: 0.625rem;
}

/* 料金表示のスタイル */
#total-price,
#total-price-options,
#final-total-price {
  font-size: 0.875rem;
  margin-left: 0.625rem;
}

#weekly-schedule-controls {
  margin-top: 1.25rem;
}

.week-nav-button {
  border-radius: 0.25rem;
  margin: 0 0.625rem;
  padding: 0.375rem 0.75rem;
}

#month-year,
#month-year-for-reschedule {
  font-size: 0.875rem;
}

.custom-therapist-reservation-form-group input[type=date],
.custom-therapist-reservation-form-group select {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

#weekly-schedule {
  margin-top: 0.625rem;
}

.custom-therapist-reservation-weekly-schedule thead th,
.custom-therapist-reservation-weekly-schedule-shortcode thead th {
  font-size: 0.875rem;
  letter-spacing: -0.01em;
  max-width: 2.6015625rem;
  min-width: 0;
  padding: 0;
}

.custom-therapist-reservation-weekly-schedule-shortcode {
  padding-right: 0.929375rem;
  scrollbar-color: #AAAAAC #F5F5F5;
  scrollbar-gutter: stable;
}
.custom-therapist-reservation-weekly-schedule-shortcode::-webkit-scrollbar:vertical {
  width: 0.929375rem;
}
.custom-therapist-reservation-weekly-schedule-shortcode::-webkit-scrollbar-track:vertical {
  background-color: #F2F2F2;
}
.custom-therapist-reservation-weekly-schedule-shortcode::-webkit-scrollbar-thumb {
  background: #AAAAAC;
  border-radius: 0.5rem;
}
.custom-therapist-reservation-weekly-schedule-shortcode .custom-therapist-reservation-empty-cell {
  font-size: 0.875rem;
  max-width: 3.0990625rem;
  min-width: 0;
}

.custom-therapist-reservation-empty-cell {
  font-size: 0.875rem !important;
  max-width: 3.125rem;
  min-width: 3.125rem;
  width: 3.125rem;
}

.custom-therapist-reservation-weekly-schedule tbody td,
.custom-therapist-reservation-weekly-schedule-shortcode tbody td {
  font-size: 0.75rem;
  padding: 0.3875rem 0rem;
}

.custom-therapist-reservation-weekly-schedule tbody td,
.custom-therapist-reservation-weekly-schedule-shortcode tbody td {
  line-height: 1.25;
}

.custom-therapist-reservation-weekly-schedule td.available,
.custom-therapist-reservation-weekly-schedule td.unavailable,
.custom-therapist-reservation-weekly-schedule-shortcode td.available,
.custom-therapist-reservation-weekly-schedule-shortcode td.unavailable {
  font-size: 0.875rem;
}

.custom-therapist-reservation-weekly-schedule td.available,
.custom-therapist-reservation-weekly-schedule-shortcode td.available {
  font-size: 0.75rem;
}

.custom-therapist-reservation-options-form-group {
  padding-top: 2.5rem;
}

.custom-therapist-reservation-options-form-group label {
  font-size: 1rem;
}

.custom-therapist-reservation-options-form-sub-group {
  margin-top: 1.25rem;
}

.reservation-no-options-container {
  width: 9.375rem;
}

#reservation-options-container {
  border-radius: 0.25rem;
  gap: 0.625rem;
  padding-bottom: 0.625rem;
  padding-top: 0.625rem;
}

/* ラベルのスタイル */
#reservation-options-container label,
.reservation-no-options-container label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.no-options-message {
  font-size: 0.875rem;
}

.options-info-message {
  font-size: 0.75rem;
}

.custom-therapist-reservation-confirmation-form-group {
  padding-top: 2.5rem;
}

.custom-therapist-reservation-confirmation-form-group label {
  font-size: 1rem;
}

.custom-therapist-reservation-confirmation-form-sub-group {
  margin-bottom: 2.5rem;
}

#transport-info-message,
#designation-info-message,
#schedule-info-message,
#max-points-message {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

#cash-payment-info,
#credit-card-payment-info {
  font-size: 0.875rem;
}

#payment-info-message {
  font-size: 0.75rem;
  margin-top: 0.625rem;
}

.transport-info-message-note,
.designation-info-message-note,
.max-points-message-note {
  font-size: 0.75rem;
}

#custom-therapist-reservation-confirmation-modal .radio-group {
  margin-top: 0.625rem;
  width: 14.375rem;
}

#custom-therapist-reservation-confirmation-modal .radio-group .radio-label {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.custom-therapist-reservation-confirmation-form-sub-group input,
.custom-therapist-reservation-confirmation-form-sub-group select {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

.custom-therapist-reservation-agree-checkbox-group {
  font-size: 0.75rem;
  margin-top: 0.625rem;
}

.custom-checkbox .checkmark {
  border-radius: 0.1875rem;
  height: 1rem;
  margin-right: 0.3125rem;
  width: 1rem;
}

.custom-checkbox .checkmark::after {
  height: 0.5rem;
  left: 0.25rem;
  top: 0rem;
  width: 0.25rem;
}

.no-transport-price-message {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

.no-designation-message {
  font-size: 0.875rem;
  margin-top: 1.25rem;
}

.custom-therapist-reservation-modal-content-for-final {
  max-width: 64rem;
}

.custom-therapist-reservation-final-confirmation-form-top {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
}

.custom-therapist-reservation-final-confirmation-form-bottom {
  margin-top: -3.75rem;
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 3.75rem;
}

.confirmation-modal-status-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.ctr-reservation-details-page-therapist-info-wrapper {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.ctr-reservation-details-page-therapist-info {
  border-radius: 0.625rem;
  gap: 0.625rem;
  height: 7.5rem;
  margin-top: 2.5rem;
  padding: 1.25rem;
}

.ctr-reservation-details-page-therapist-info img {
  height: 5rem;
  width: 5rem;
}

.ctr-reservation-details-page-therapist-name {
  font-size: 1rem;
}

.ctr-reservation-details-page-store-name {
  font-size: 0.875rem;
}

.ctr-reservation-details-page-user-info-wrapper {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.ctrm-reservation-details-page-external-user-info {
  border-radius: 0.625rem;
  gap: 0.625rem;
  margin-top: 2.5rem;
  padding: 1.25rem;
}

.ctrm-reservation-details-page-external-user-info img {
  height: 5rem;
  width: 5rem;
}

.ctrm-reservation-details-page-user-name {
  font-size: 1rem;
}

.ctrm-reservation-details-page-external-user-phone img {
  width: 1.5625rem;
}

.ctrm-reservation-details-page-user-phone-number {
  font-size: 0.875rem;
}

.ctr-reservation-details-page-datetime-info {
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.ctr-reservation-details-page-start-datetime-info,
.ctr-reservation-details-page-end-datetime-info {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  padding: 0.625rem 0.625rem;
}

.ctr-reservation-details-page-start-datetime-info-title,
.ctr-reservation-details-page-end-datetime-info-title {
  border-radius: 0.9375rem;
  font-size: 1rem;
  height: 1.875rem;
  max-width: 9.6875rem;
}

.ctr-reservation-details-page-start-datetime,
.ctr-reservation-details-page-end-datetime {
  font-size: 1rem;
}

.ctr-reservation-details-page-meeting-place-info,
.ctr-reservation-details-page-outfit-description-info,
.ctr-reservation-details-page-schedule-adjusted-info,
.ctr-reservation-details-page-question-info {
  border-radius: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.625rem;
}

.ctr-reservation-details-page-meeting-place-title,
.ctr-reservation-details-page-outfit-description-title,
.ctr-reservation-details-page-schedule-adjusted-title,
.ctr-reservation-details-page-question-title {
  font-size: 1rem;
}

.ctr-reservation-details-page-question,
.ctr-reservation-details-page-outfit-description,
.ctr-reservation-details-page-meeting-place,
.ctr-reservation-details-page-schedule-adjusted {
  font-size: 1rem;
}

.ctr-reservation-details-page-receipt {
  border-radius: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.625rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-item {
  margin-bottom: 0.625rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-item-title {
  font-size: 1rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-item-price {
  font-size: 1rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-total {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-total-title {
  font-size: 1rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-total-price {
  font-size: 1.5rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-total-explanation {
  font-size: 0.625rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-payment-method {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-payment-method-title {
  font-size: 1rem;
}

.ctr-reservation-details-page-receipt .ctr-receipt-payment-method-detail {
  font-size: 1rem;
}

.custom-therapist-reservation-confirmation-schedule-adjusted-content {
  margin-top: 0.625rem;
}

.custom-therapist-reservation-confirmation-payment-method-content {
  margin-top: 0.625rem;
}

#custom-therapist-reservation-confirmation-modal .custom-therapist-reservation-submit-button {
  font-size: 0.875rem;
  height: 2.5rem;
  width: 9.375rem;
}

#custom-therapist-reservation-review-modal .custom-therapist-reservation-modal-content h2 {
  font-size: 1.25rem;
  margin-bottom: 0.3125rem;
  margin-top: 0.3125rem;
}

#custom-therapist-reservation-review-modal .custom-therapist-reservation-form-group {
  gap: 0.1875rem;
}

#custom-therapist-reservation-review-modal .custom-therapist-reservation-form-group .value span {
  font-size: 0.875rem;
}

#custom-therapist-reservation-review-modal .custom-therapist-reservation-form-group > label {
  font-size: 1rem;
  padding: 0rem;
}

.custom-therapist-reservation-datetime {
  margin-bottom: 0.625rem;
  margin-top: 0.625rem;
}

#custom-therapist-reservation-review-modal .custom-therapist-reservation-submit-button {
  width: 9.375rem;
}

.custom-therapist-reservation-create-user-form-group {
  padding-top: 2.5rem;
}

.custom-therapist-reservation-create-user-form-sub-group {
  margin-bottom: 2.5rem;
}

.custom-therapist-reservation-create-user-form-sub-group label {
  font-size: 1rem;
}

.custom-therapist-reservation-create-user-form input {
  font-size: 0.875rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

#create-user-info {
  font-size: 0.75rem;
  margin-top: 1.25rem;
}

.custom-therapist-reservation-create-user-btn-content {
  margin-top: 2.5rem;
}

.custom-therapist-reservation-create-new-user-button {
  border-radius: 2.5rem;
  font-size: 0.875rem;
  height: 2.5rem;
  width: 12.5rem;
}

.custom-therapist-reservation-create-new-user-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.custom-therapist-reservation-create-user-section {
  margin-top: 2.5rem;
}

.no-create-user-message {
  font-size: 0.875rem;
}

.custom-therapist-reservation-create-user-search-grid {
  gap: 0.625rem;
}

.custom-therapist-reservation-create-user-search-grid-item {
  border-radius: 0.3125rem;
  gap: 0.625rem;
  max-width: 18.75rem;
}

.custom-therapist-reservation-create-user-search-grid-item-user-avatar {
  height: 2.5rem;
  width: 2.5rem;
}

.custom-therapist-reservation-create-user-search-grid-item-user-name {
  font-size: 0.875rem;
}

.custom-therapist-reservation-create-user-search-grid-item .custom-therapist-reservation-create-user-select-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 2.5rem;
  width: 6.25rem;
}

.custom-therapist-reservation-create-user-search-grid-item .custom-therapist-reservation-create-user-select-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.custom-therapist-reservation-create-user-section label {
  font-size: 0.875rem;
  margin-bottom: 0.3125rem;
  margin-top: 1.25rem;
}

.custom-therapist-reservation-create-user-section input {
  border-radius: 0.25rem;
  margin-bottom: 0.625rem;
  padding: 0.625rem;
}

.custom-therapist-reservation-create-user-section button {
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  padding: 0.625rem;
  width: 9.375rem;
}

.custom-therapist-reservation-create-user-badge {
  right: 0.625rem;
  top: 0.625rem;
}

.new-user-name-label,
.new-user-contact-label {
  font-size: 0.875rem;
}

.custom-therapist-reservation-notice {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.week-nav-button {
  font-size: 0.75rem;
  padding: 0.3125rem 0.625rem;
}

.custom-therapist-reservation-weekly-schedule th,
.custom-therapist-reservation-weekly-schedule td,
.custom-therapist-reservation-weekly-schedule-shortcode th,
.custom-therapist-reservation-weekly-schedule-shortcode td {
  font-size: 0.625rem;
  height: 1rem;
  padding: 0.25rem 0;
}

#cancellation-policy {
  font-size: 0.875rem;
  height: 9.375rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

#customer-confirmation {
  font-size: 0.875rem;
  height: 9.375rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

#question-to-therapist-and-store {
  font-size: 0.875rem;
  height: 9.375rem;
  margin-top: 1.25rem;
  padding: 0.8125rem;
}

.custom-therapist-reservation-form-group-therapist-info {
  gap: 0.9375rem;
  padding: 0.3125rem 0.625rem;
}

.ctr-therapist-name {
  font-size: 1.25rem;
}

.ctr-store-name {
  font-size: 1rem;
}

.custom-therapist-reservation-form-group-therapist-info img {
  height: 3.125rem;
  width: 3.125rem;
}

#value-info-form-group {
  gap: 0.625rem;
  padding: 0rem;
}

#value-info-total-price {
  font-size: 1.25rem;
}

/* セラピスト個別画面 */
/* ------------------------------------------------------------------------------------------------------------------ */
/* 全ページ共通 */
.cup-modal {
  border-radius: 0.75rem;
  max-width: 37.5rem;
  padding: 0.3125rem;
}

.cup-modal-close {
  font-size: 1.5rem;
  right: 0.625rem;
  top: 0.625rem;
}

.cup-modal-title {
  margin-bottom: 0.3125rem;
}

#hideQrcodeExplanationModal {
  height: 1rem;
  width: 1rem;
}

.cup-swal-content label {
  gap: 0.3125rem;
}

.qr-overlay-card {
  border-radius: 1rem;
  height: 25rem;
  margin-top: 1.25rem;
  width: 18.75rem;
}

.qr-overlay-content {
  padding: 1.25rem;
}

.qr-overlay-qr {
  border-radius: 1rem;
  padding: 0.3125rem;
}

.swal-card-action-button {
  border-radius: 0.625rem;
  font-size: 0.625rem;
  padding: 0.75rem 0rem;
  width: 5rem;
}

.swal-card-action-button img {
  height: 3.125rem;
  margin-bottom: 0.3125rem;
  padding: 0.625rem;
  width: 3.125rem;
}

.qr-overlay-logo {
  bottom: 0.625rem;
  right: 0.625rem;
  width: 6.25rem;
}

.qr-save-hint {
  font-size: 0.75rem;
  margin-bottom: 0.3125rem;
  margin-top: 0.625rem;
}

#qr-message {
  font-size: 0.875rem;
  margin-top: 0.3125rem;
}

.cup-required-badge {
  border-radius: 0.625rem;
  margin-left: 0.3125rem;
  padding: 0.125rem 0.375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* アカウント設定ページ */
.cup-setting-page {
  max-width: 37.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-setting-page-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cup-setting-sub-section {
  margin-top: 2.5rem;
}

.cup-setting-sub-section label {
  font-size: 1rem;
}

.cup-setting-sub-section-label-warning {
  font-size: 0.875rem;
}

.cup-setting-sub-section input {
  border-radius: 1.5625rem;
  margin-top: 0.625rem;
  padding: 0.75rem;
}

.cup-setting-change-password-field input {
  border-radius: 1.5625rem;
  padding: 0.75rem;
}

.cup-setting-save-button {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  height: 2.5rem;
  margin: 1.25rem auto 0rem;
  padding: 0.5rem 0.9375rem;
  width: 17.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* マイページ */
.cup-user-share-page {
  max-width: 37.5rem;
}

.cup-user-share-page-top-section {
  margin-top: 2.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-user-share-page-title {
  font-size: 1.5rem;
}

.cup-user-share-page-user-info {
  margin-top: 1.0625rem;
}

.cup-user-share-page-profile-image {
  height: 5rem;
  width: 5rem;
}

.cup-user-share-page-profile-name {
  font-size: 1.5rem;
  margin-top: 0.125rem;
}

.cup-user-share-page-qr-code {
  margin-top: 1.0625rem;
}

.cup-user-share-page-qr-code img {
  height: 12.0625rem;
  width: 12.0625rem;
}

.cup-user-share-page-bottom-section {
  margin-top: 1.4375rem;
  padding-bottom: 2.5rem;
  padding-top: 2.5rem;
}

.cup-user-share-page-button-content {
  padding-right: 1.4375rem;
}

.cup-user-share-page-button {
  font-size: 0.875rem;
  padding: 0;
  width: -moz-fit-content;
  width: fit-content;
}
.cup-user-share-page-button:nth-of-type(2) {
  margin-left: 2.6875rem;
}
.cup-user-share-page-button:nth-of-type(3) {
  margin-left: 3.125rem;
}

.cup-user-share-page-button img {
  height: 3.75rem;
  margin-bottom: 0.375rem;
  width: 3.75rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* マイページ */
.cup-user-my-page {
  max-width: 37.5rem;
}

.cup-user-my-page-top-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-user-my-page-bottom-section {
  margin-top: -6.25rem;
  padding-bottom: 5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 6.25rem;
}

.cup-user-my-page-main-info-content {
  gap: 0.625rem;
  margin-top: 1.0625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-user-my-page-main-info-content img {
  height: 6.25rem;
  margin-top: 0.1875rem;
  width: 6.25rem;
}

.cup-user-my-page-name {
  font-size: 1.5rem;
}

.cup-user-my-page-matching-count {
  font-size: 0.875rem;
  margin-top: -0.125rem;
}

.cup-user-my-page-button-container {
  gap: 0.625rem;
  margin-top: 1.25rem;
  max-width: 390px;
}

.cup-user-my-page-button {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  justify-content: unset;
  line-height: 1.4;
  max-width: 7.75rem;
  min-height: 6.875rem;
  padding-block: 0.75rem 0.4375rem;
}

.cup-user-my-page-button img {
  height: 2.75rem;
  margin-bottom: 0.5rem;
}

.cup-user-my-page-mycred-container {
  margin-top: 0.875rem;
}

.cup-user-my-page-mycred-label {
  font-size: 1.125rem;
}

.cup-user-my-page-mycred-amount {
  font-size: 2.8125rem;
  margin-top: -0.8125rem;
}

.cup-user-my-page-mycred-amount-unit {
  font-size: 1.5625rem;
  margin-left: 0.25rem;
}

.cup-user-my-page-mycred-history-btn {
  border-radius: 1.875rem;
  font-size: 1rem;
  height: 2.5rem;
  margin-top: 0.375rem;
  padding: 0.375rem 0.375rem 0.375rem 0.875rem;
  text-align: left;
  width: 17.625rem;
}

.cup-user-my-page-mycred-history-btn::before {
  height: 0.4375rem;
  right: 0.8125rem;
  width: 0.4375rem;
}

.cup-user-my-page-reservations-container {
  height: 12.6875rem;
  margin-top: 1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-user-my-page-reservations-container-title {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  font-size: 1.125rem;
  padding-bottom: 0.1875rem;
}

.cup-user-my-page-reservations-card {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.cup-user-my-page-reservations-card-content {
  padding: 1.25rem;
}
.cup-user-my-page-reservations-card-content a {
  width: 100%;
}

.cup-user-my-page-reservations-card-content-for-store {
  padding: 1.25rem;
}

.cup-user-my-page-reservations-card-therapist-info {
  align-items: flex-start;
  gap: 0.625rem;
}

.cup-user-my-page-reservations-card-therapist-info img {
  height: 5rem;
  width: 5rem;
}

.cup-user-my-page-reservations-card-names {
  margin-top: 1rem;
}

.cup-user-my-page-reservations-card-therapist-name {
  font-size: 1rem;
}

.cup-user-my-page-reservations-card-store-name {
  font-size: 0.875rem;
  line-height: 1.4;
}

.cup-user-my-page-reservations-card-text {
  font-size: 1rem;
  margin-top: 0.5rem;
}

.cup-user-my-page-no-reservation-message {
  font-size: 1rem;
}

.cup-user-my-page-sales-container {
  margin-top: 1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-user-my-page-sales-container-title {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  font-size: 1.125rem;
}

.cup-user-my-page-sales-card {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.cup-user-my-page-sales-amount {
  font-size: 2.8125rem;
}

.cup-unconfirmed-matching-budge {
  font-size: 0.75rem;
  height: 2.1875rem;
  right: -0.9375rem;
  top: 0.625rem;
  width: 2.1875rem;
}

.cup-store-my-page-reservations-management-today-title {
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
}

.cup-store-my-page-reservations-management-today-title span {
  font-size: 1.5rem;
  margin-left: 0.625rem;
}

.cup-store-my-page-reservations-management-future-title {
  font-size: 0.875rem;
  margin-bottom: 0.9375rem;
}

.cup-store-my-page-reservations-management-future-content {
  gap: 0.625rem;
}

.cup-store-my-page-reservations-management-future-info {
  border-radius: 0.5rem;
  font-size: 1rem;
  height: 3.75rem;
  padding-top: 0.625rem;
}

.cup-store-my-page-reservations-management-future-info::before {
  border-radius: 0.75rem;
  font-size: 0.75rem;
  padding: 0.3125rem 0rem;
  top: -0.75rem;
  width: 4.375rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* セラピスト個別ページ */
.cup-display-therapist-page {
  max-width: 37.5rem;
}

.cup-display-therapist-page-section {
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-display-therapist-store-name {
  font-size: 1rem;
  margin-top: 0.75rem;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.125rem;
}

.cup-display-therapist-page .swiper-container {
  margin-top: 1.25rem;
}

.cup-display-therapist-page .swiper-slide {
  border-radius: 0.3125rem;
}

.cup-display-therapist-page .swiper-slide {
  border-radius: 0.3125rem;
}

.cup-display-therapist-page .swiper-pagination {
  margin-top: 1rem;
}

.cup-display-image-placeholder {
  border-radius: 0.3125rem;
  font-size: 0.875rem;
}

.cup-display-therapist-name {
  font-size: 1.5rem;
  line-height: 1.4;
}

.cup-display-therapist-body {
  font-size: 1rem;
}

.cup-display-therapist-support-area {
  font-size: 1rem;
}

.cup-display-therapist-search-tags {
  gap: 0.625rem;
  margin-top: 0.625rem;
}

.cup-display-therapist-search-tags .therapist-tag {
  border-radius: 6.25rem;
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

.cup-display-std-test-icon {
  font-size: 0.875rem;
  right: 0rem;
  top: 0.4375rem;
}

.cup-display-std-test-icon img {
  margin-left: 0.1875rem;
  width: 1.9375rem;
}

.cup-display-therapist-matching-btn-content {
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.cup-display-therapist-matching-toast {
  border-radius: 0.5rem;
  bottom: 7.5rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
}

.cup-display-therapist-message-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.cup-display-therapist-message-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

#word-of-mouth {
  border-top-left-radius: 0.625rem;
  border-top-right-radius: 0.625rem;
}

.cup-display-therapist-matching-btn {
  border-radius: 6.25rem;
  height: 3.75rem;
  width: 18.625rem;
}

.cup-display-therapist-matching-btn-char1 {
  font-size: 1.125rem;
}

.cup-display-therapist-matching-btn-char2 {
  font-size: 0.875rem;
}

.cup-display-therapist-matching-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cup-display-therapist-delete-matching-btn {
  font-size: 0.875rem;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.0625rem;
}

.cup-display-therapist-tab-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
}

.cup-display-therapist-tab-menu {
  gap: 0.625rem;
}

.cup-display-therapist-tab-content-wrapper {
  gap: 2.5rem;
}

.cup-display-therapist-tab {
  border-radius: 0.625rem 0.625rem 0rem 0rem;
  height: 2.5rem;
}

.cup-display-therapist-tab-content {
  border-bottom-left-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  padding: 1.25rem;
  padding-top: 1.75rem;
}

.cup-display-therapist-tab-title {
  font-size: 1.5rem;
  margin-bottom: 1.875rem;
}

.cup-display-therapist-question-block {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.cup-display-therapist-question-title {
  font-size: 1rem;
  margin-bottom: 0.1875rem;
}

.cup-display-therapist-question-answer {
  font-size: 0.875rem;
}

.cup-display-therapist-snsurl-block {
  gap: 1.875rem;
  margin-top: 2.5rem;
}

.cup-display-sns-icon img {
  height: 3.125rem;
  width: 3.125rem;
}

.cup-display-therapist-surveys-block + .cup-display-therapist-surveys-block {
  margin-top: 2.125rem;
}
.cup-display-therapist-surveys-block:last-of-type {
  padding-bottom: 1.375rem;
}

.cup-display-therapist-surveys-block-title {
  font-size: 1rem;
  margin-bottom: 0.375rem;
}

.cup-display-therapist-reservation-tab-date {
  font-size: 1.125rem;
  margin-bottom: 0.375rem;
}

.cup-display-therapist-tags {
  gap: 0.3125rem;
  margin-bottom: 0px;
  padding-top: 1.25rem;
}

.cup-display-therapist-tags .cup-display-therapist-tag {
  border-radius: 3.125rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.09375rem 0.6875rem;
}

.cup-display-therapist-latest-reviews {
  gap: 2.5rem;
  gap: 1.25rem;
}

.cup-display-therapist-review {
  border-radius: 0.625rem;
  padding: 0.75rem 1.25rem 1.375rem;
}
.cup-display-therapist-review:first-of-type {
  margin-top: -0.875rem;
}

.cup-display-therapist-review-header {
  align-items: center;
}

.cup-display-therapist-star-rating {
  font-size: 1.25rem;
  gap: 0rem;
}

.cup-display-therapist-review-created_at {
  font-size: 1rem;
  margin-bottom: 0.3125rem;
}

.cup-display-therapist-review-text {
  font-size: 0.875rem;
  height: 6.25rem;
  margin-top: 0.5625rem;
  max-height: 6.25rem;
  max-height: 6.25rem;
  min-height: 6.25rem;
  padding: 0.625rem;
}

.cup-display-therapist-review-hide-message {
  font-size: 1rem;
  height: 3.5rem;
  width: 84%;
}

.cup-display-therapist-view-more-reviews {
  margin-top: 1.25rem;
}

.cup-display-therapist-view-more-reviews-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.cup-display-therapist-view-more-reviews-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cup-display-therapist-no-reviews-message {
  font-size: 1rem;
}

.cup-display-therapist-page .plyr video {
  border-radius: 0.625rem;
  margin-top: 0.625rem;
}

.cup-display-therapist-page .plyr:fullscreen video {
  margin-top: 0rem;
}

.cup-display-therapist-page .plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
  height: 1.875rem;
  width: 1.875rem;
}

.cup-display-theralog-card {
  margin-bottom: 1rem;
  padding-bottom: 1.25rem;
}

.cup-display-theralog-card-area {
  border-radius: 1.25rem;
  font-size: 0.75rem;
  height: 1.25rem;
  width: 5.4375rem;
}

.cup-display-theralog-card-avatar {
  margin-right: 0.625rem;
}

.cup-display-theralog-card-avatar img {
  height: 3.125rem;
  width: 3.125rem;
}

.cup-display-theralog-card-content {
  width: calc(100% - 3.75rem);
}

.cup-display-theralog-card-username {
  font-size: 1rem;
}

.cup-display-theralog-card-content-header-date-and-btn {
  gap: 0.3125rem;
}

.cup-display-theralog-card-content-header-date-and-btn img {
  height: 0.875rem;
  margin-top: 0.25rem;
  width: 0.875rem;
}

.cup-display-theralog-card-post-date {
  font-size: 0.875rem;
}

.cup-display-theralog-card-main-contents {
  font-size: 1rem;
}

.cup-display-theralog-card-image {
  border-radius: 0.625rem;
  margin-top: 0.625rem;
}

.cup-display-theralog-card-buttons {
  gap: 1.25rem;
  margin-top: 0.3125rem;
}

.cup-display-theralog-card-like-btn img,
.cup-display-theralog-card-comment-btn img {
  margin-right: 0.3125rem;
  width: 1.4375rem;
}

.cup-display-theralog-card-like-count,
.cup-display-theralog-card-comment-count {
  font-size: 0.875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 店舗個別ページ */
.cup-display-store-page {
  max-width: 37.5rem;
}

.cup-display-store-page-section {
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-display-store-page .swiper-container {
  margin-top: 1.25rem;
}

.cup-display-store-page .swiper-slide {
  border-radius: 0.3125rem;
}

.cup-display-store-page .swiper-slide {
  border-radius: 0.3125rem;
}

.cup-display-store-page .swiper-pagination {
  margin-top: 1.25rem;
}

.cup-display-store-name {
  font-size: 1.5rem;
}

.cup-display-store-main-area {
  font-size: 1rem;
}

.cup-display-store-average-rating .average-score {
  font-size: 1.5rem;
  margin-right: 0.3125rem;
}

.cup-display-store-average-rating .average-star {
  font-size: 1.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* 口コミ */
.cup-display-store-review {
  border-radius: 0.625rem;
  padding: 1.25rem;
}

.cup-display-store-review-count {
  font-size: 1rem;
}

.cup-display-store-star-rating {
  font-size: 1.25rem;
}

.cup-display-store-review-created_at {
  font-size: 1rem;
}

.cup-display-store-review-text {
  font-size: 0.875rem;
  height: 6.25rem;
  margin-top: 0.625rem;
  max-height: 6.25rem;
  min-height: 6.25rem;
}

.cup-display-store-review-hide-message {
  font-size: 1rem;
  height: 3.5rem;
}

.cup-display-store-profile-sentence-content {
  margin-top: 1.25rem;
}

.cup-display-store-view-more-reviews {
  margin-top: 1.25rem;
}

.cup-display-store-latest-reviews {
  gap: 1.25rem;
}

.cup-display-store-view-more-reviews-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.cup-display-store-view-more-reviews-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cup-display-store-profile-sentence {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  min-height: 6.25rem;
  padding: 0.625rem;
}

.cup-display-store-matching-btn-content {
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.cup-display-store-message-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.cup-display-store-message-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cup-display-store-tab-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
}

.cup-display-store-tab-menu {
  gap: 0.625rem;
}

.cup-display-store-tab-content-wrapper {
  gap: 2.5rem;
}

.cup-display-store-tab {
  border-radius: 0.625rem 0.625rem 0rem 0rem;
  height: 2.5rem;
}

.cup-display-store-tab-content {
  border-bottom-left-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  padding: 1.25rem;
}

.cup-display-store-tab-title {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.cup-display-store-therapist-grid {
  gap: 0.625rem;
}

.cup-display-store-therapist-card {
  border-radius: 0.5rem;
}

.cup-display-store-therapist-card-name {
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
}

.cup-display-store-therapist-status-badge {
  border-radius: 0.75rem;
  font-size: 0.75rem;
  left: 0.625rem;
  padding: 0.25rem 0.5rem;
  top: 0.625rem;
}

.cup-display-store-info-section {
  margin-bottom: 1.25rem;
}

.cup-display-store-info-section-title {
  font-size: 1rem;
}

.cup-display-store-info-table-nothing-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cup-table-wrapper {
  border-radius: 0.75rem;
  margin-top: 0.625rem;
}

.cup-display-store-info-table {
  font-size: 0.875rem;
}

.cup-display-store-info-table th,
.cup-display-store-info-table td {
  padding: 0.625rem;
}

.cup-display-store-cancellation-policy,
.cup-display-store-customer-confirmation {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  min-height: 6.25rem;
  padding: 0.625rem;
}

.cup-display-store-info-credit-card-content {
  margin-top: 0.625rem;
}

.cup-display-store-info-credit-card-sentence {
  font-size: 0.875rem;
}

.cup-display-store-info-credit-card-tags {
  gap: 0.625rem;
  margin-top: 0.625rem;
}

.cup-display-store-info-credit-card-tag {
  font-size: 0.875rem;
  height: 5rem;
}

.cup-display-store-info-credit-card-logo {
  width: 2.5rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* ユーザー個別ページ */
.cup-display-user-page {
  max-width: 37.5rem;
}

.cup-display-user-page-section {
  padding-bottom: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-display-user-image-container {
  margin-top: 1.25rem;
}

.cup-display-user-image-container img {
  border-radius: 0.3125rem;
}

.cup-display-user-main-info-content {
  margin-top: 1.25rem;
}

.cup-display-user-name {
  font-size: 1.5rem;
}

.cup-display-user-region {
  font-size: 1rem;
}

.cup-display-user-age-range {
  font-size: 1rem;
}

.cup-display-user-profile-sentence-content {
  margin-top: 1.25rem;
}

.cup-display-user-profile-sentence {
  border-radius: 0.625rem;
  font-size: 0.875rem;
  min-height: 6.25rem;
  padding: 0.625rem;
}

.cup-display-user-matching-btn-content {
  margin-top: 1.25rem;
}

.cup-display-user-message-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  width: 18.625rem;
}

.cup-display-user-message-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

.cup-display-user-message-btn-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cup-display-user-tab-section {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 2.5rem;
}

.cup-display-user-tab-menu {
  gap: 0.625rem;
}

.cup-display-user-tab-content-wrapper {
  gap: 2.5rem;
}

.cup-display-user-tab {
  border-radius: 0.625rem 0.625rem 0rem 0rem;
  height: 2.5rem;
}

.cup-display-user-tab-content {
  border-bottom-left-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  padding: 1.25rem;
}

.cup-display-user-tab-title {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.cup-display-user-question-block {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.cup-display-user-question-title {
  font-size: 1rem;
  margin-bottom: 0.3125rem;
}

.cup-display-user-question-answer {
  font-size: 0.875rem;
}

.cup-display-user-reservation-badge-with-button {
  border-radius: 1.25rem;
  bottom: 0.625rem;
  font-size: 0.875rem;
  gap: 0.3125rem;
  padding: 0.375rem 0.75rem;
  right: 0.625rem;
}

.cup-display-user-reservation-badge-with-button .reservation-label {
  padding-left: 0.9375rem;
}

.cup-display-user-reservation-badge-with-button .reservation-label::before {
  font-size: 0.875rem;
}

.cup-display-user-reservation-badge-with-button .reservation-button {
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  padding: 0.25rem 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* プロフィールページ */
.cup-profile-page {
  max-width: 37.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.cup-profile-page-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
}

.cup-profile-image-section {
  margin-top: 2.5rem;
}

.cup-profile-image-section label {
  font-size: 1rem;
}

.cup-profile-section {
  margin-bottom: 6.25rem;
  margin-top: 2.5rem;
}

.cup-profile-sub-section {
  margin-top: 2.5rem;
}

.cup-profile-sub-section label {
  font-size: 1rem;
}

#cup-profile-upload-progress {
  border-radius: 0.625rem;
  bottom: -1.25rem;
  height: 0.75rem;
}

#cup-profile-progress-bar {
  border-radius: 0.5rem;
}

.cup-profile-pic-grid {
  gap: 0.625rem;
  margin-top: 0.3125rem;
}

.cup-profile-pic-item {
  border-radius: 0.625rem;
  max-width: 12.5rem;
  padding: 1.25rem;
}

.cup-profile-pic-item img {
  height: 1.875rem;
  width: 1.875rem;
}

#cup-profile-name {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

#cup-profile-sentence {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-profile-character-counter,
.cup-profile-name-character-counter {
  bottom: 0.3125rem;
  font-size: 0.875rem;
  right: 0.625rem;
}

.cup-profile-region-select-section select,
.cup-profile-age-range-select-section select {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-question {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-profile-footer {
  bottom: 5rem;
  gap: 0rem;
  right: 1.25rem;
}

.cup-profile-save-button {
  border-radius: 3.125rem;
  font-size: 0.75rem;
  height: 4.375rem;
  line-height: 3.75rem;
  padding: 0rem;
  width: 4.375rem;
}

.cup-dot-loader {
  font-size: 0.75rem;
  gap: 0.3125rem;
}

.cup-dot-loader div {
  height: 0.3125rem;
  width: 0.3125rem;
}

.cup-therapist-profile-image-section {
  margin-top: 2.5rem;
}

.cup-therapist-profile-image-section label {
  font-size: 1rem;
}

.cup-therapist-profile-section {
  margin-bottom: 6.25rem;
  margin-top: 2.5rem;
}

#cup-therapist-profile-upload-progress,
#cup-therapist-std-upload-progress {
  border-radius: 0.625rem;
  bottom: -1.25rem;
  height: 0.75rem;
}

#cup-therapist-profile-progress-bar,
#cup-therapist-std-progress-bar {
  border-radius: 0.5rem;
}

.cup-therapist-profile-pic-grid {
  gap: 0.625rem;
  margin-top: 0.3125rem;
}

.cup-therapist-std-pic-grid {
  gap: 0.625rem;
  margin-top: 0.3125rem;
}

.cup-therapist-profile-pic-item,
.cup-therapist-std-pic-item {
  border-radius: 0.625rem;
  max-width: 12.5rem;
  min-width: 6.5625rem;
  padding: 1.25rem;
}

.cup-therapist-profile-pic-item img,
.cup-therapist-std-pic-item img {
  height: 1.875rem;
  width: 1.875rem;
}

.cup-therapist-profile-sub-section {
  margin-top: 2.5rem;
}

.cup-therapist-profile-sub-section label {
  font-size: 1rem;
}

.cup-therapist-profile-sub-section label img {
  height: 2.5rem;
  width: 2.5rem;
}

#cup-therapist-profile-name {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-therapist-profile-birthdate-select-section,
.cup-therapist-profile-therapist-career-select-section {
  margin-top: 0.3125rem;
}

.cup-therapist-profile-birthdate-select-section select,
.cup-therapist-profile-therapist-career-select-section select {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  padding: 0.5rem;
}

.cup-select-separator {
  font-size: 1rem;
  margin-left: 0.3125rem;
  margin-right: 0.3125rem;
  margin-top: 0.625rem;
}

#cup-therapist-profile-height,
#cup-therapist-profile-weight {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

#cup-therapist-profile-main-area {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-therapist-profile-service-area-checkboxes {
  gap: 0.625rem;
  margin-top: 0.625rem;
}

.cup-therapist-profile-service-area-checkboxes label {
  font-size: 1rem;
  padding-left: 1.875rem;
}

.cup-therapist-profile-service-area-checkboxes label::before {
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
}

.cup-therapist-profile-service-area-checkboxes label::after {
  border-width: 0rem 0.125rem 0.125rem 0rem;
  height: 0.75rem;
  left: 0.375rem;
  width: 0.375rem;
}

.cup-therapist-profile-tags {
  gap: 0.625rem;
  margin-top: 0.625rem;
}

.cup-therapist-profile-tags-content {
  margin-top: 1.25rem;
}

.cup-therapist-profile-tags-content-title {
  font-size: 1rem;
}

.cup-therapist-profile-tags .tag {
  border-radius: 1.25rem;
  font-size: 0.875rem;
  min-width: 3.75rem;
  padding: 0.5rem 0.9375rem;
}

.cup-therapist-profile-tags .tag.selected {
  transform: translateY(-0.125rem);
}

#cup-therapist-profile-sentence {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-therapist-question {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-therapist-profile-character-counter,
.cup-therapist-profile-name-character-counter {
  bottom: 0.3125rem;
  font-size: 0.875rem;
  right: 0.625rem;
}

.cup-note-message {
  font-size: 0.875rem;
}

#cup-therapist-profile-instagram-url,
#cup-therapist-profile-x-url,
#cup-therapist-profile-youtube-url,
#cup-therapist-profile-tiktok-url {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-therapist-profile-toggle-section {
  margin-top: 2.5rem;
}

.cup-therapist-profile-switch {
  height: 2.125rem;
  width: 5.3125rem;
}

.cup-therapist-profile-slider {
  border-radius: 3.125rem;
  padding: 0rem 0.625rem;
}

.cup-toggle-message img {
  height: 2rem;
  width: 2rem;
}

.cup-toggle-message {
  font-size: 0.875rem;
  margin-top: 0.625rem;
}

.cup-therapist-profile-slider:before {
  border-radius: 3.125rem;
  bottom: 0.25rem;
  height: 1.625rem;
  left: 0.25rem;
  width: 1.625rem;
}

.cup-therapist-profile-text-on,
.cup-therapist-profile-text-off {
  font-size: 0.875rem;
}

.cup-therapist-profile-text-off {
  left: 2.0625rem;
}

.cup-therapist-profile-text-on {
  right: 2.1875rem;
}

.cup-therapist-profile-switch input:checked + .cup-therapist-profile-slider:before {
  transform: translateX(3.125rem);
}

.cup-store-profile-image-section {
  margin-top: 2.5rem;
}

.cup-store-profile-image-section label {
  font-size: 1rem;
}

.cup-store-profile-section {
  margin-bottom: 6.25rem;
  margin-top: 2.5rem;
}

#cup-store-profile-upload-progress {
  border-radius: 0.625rem;
  bottom: -1.25rem;
  height: 0.75rem;
}

#cup-store-profile-progress-bar {
  border-radius: 0.5rem;
}

.cup-store-profile-pic-grid {
  gap: 0.625rem;
  margin-top: 0.3125rem;
}

.cup-store-profile-pic-item {
  border-radius: 0.625rem;
  max-width: 12.5rem;
  min-width: 6.5625rem;
  padding: 1.25rem;
}

.cup-store-profile-pic-item img {
  height: 1.875rem;
  width: 1.875rem;
}

.cup-store-profile-sub-section {
  margin-top: 2.5rem;
}

.cup-store-profile-sub-section label {
  font-size: 1rem;
}

#cup-store-profile-name {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

#cup-store-profile-sentence {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

#cup-store-business-hours,
#cup-store-phone-reception-hours,
#cup-store-phone-number,
#cup-store-official-website-url,
#cup-store-closed-days {
  border-radius: 1.5625rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

.cup-store-profile-character-counter,
.cup-store-profile-name-character-counter {
  bottom: 0.3125rem;
  font-size: 0.875rem;
  right: 0.625rem;
}

.cup-store-profile-area-select-section select {
  border-radius: 1.5625rem;
  font-size: 1rem;
  margin-top: 0.3125rem;
  padding: 0.75rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* ユーザー個別ページ(権限なし) */
.cup-display-user-page-without-permission {
  max-width: 37.5rem;
}

.cup-without-permission-message {
  font-size: 1rem;
  margin-top: 2.5rem;
}

.cup-without-permission-login-btn {
  border-radius: 6.25rem;
  font-size: 1rem;
  height: 3rem;
  margin-top: 2.5rem;
  width: 18.625rem;
}

.cup-without-permission-login-btn::before {
  height: 0.4375rem;
  right: 1.25rem;
  width: 0.4375rem;
}

/* ポイント管理画面 */
.user-point-management-page {
  max-width: 64rem;
}

.cupm-current-point-content {
  margin-top: 2.5rem;
}

.cupm-current-point-container-label {
  font-size: 1.125rem;
}

.cupm-current-point-container-amount {
  font-size: 2.8125rem;
}

.cupm-code-input-button {
  border-radius: 1.5rem;
  font-size: 0.875rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.625rem;
  width: 11.875rem;
}

.cupm-code-input-button::before {
  height: 0.4375rem;
  right: 0.625rem;
  width: 0.4375rem;
}

.cupm-point-log-content {
  margin-top: 2.5rem;
}

.cupm-point-log-item {
  margin-bottom: 0.625rem;
  max-width: 37.5rem;
  padding-bottom: 0.625rem;
}

.cupm-point-log-item-date {
  font-size: 0.875rem;
}

.cupm-point-log-item-action {
  font-size: 1rem;
}

.cupm-point-log-item-points {
  font-size: 1rem;
}

.cupm-no-point-log {
  font-size: 1rem;
}

/* ------------------------------------------------------------------------------------------------------- */
/* ユーザー新規登録画面 */
/* 会員登録画面 */
.l-inner-register {
  background-size: 100% 18.25rem;
}

.cur-registration-page-container {
  max-width: 37.5rem;
  min-height: calc(100dvh - 1.5625rem);
}

.cur-registration-page-form-group {
  margin-bottom: 1.25rem;
}

.cur-registration-page-form-group label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.cur-registration-page-form-group input,
.cur-registration-page-form-group select {
  border-radius: 0.25rem;
  font-size: 1rem;
  margin-bottom: 0.9375rem;
  padding: 0.625rem;
}

.cur-registration-page-form-group select {
  border-radius: 0.25rem;
  font-size: 0.875rem;
  padding: 0.625rem;
}

.cur-registration-page-form-group-checkbox-section {
  margin-bottom: 0.9375rem;
  margin-top: 0.9375rem;
}

.cur-registration-page-form-group-checkbox-section label {
  font-size: 1rem;
  padding-left: 1.875rem;
}

.cur-registration-page-form-group-checkbox-section label::before {
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
}

.cur-registration-page-form-group-checkbox-section label::after {
  height: 0.75rem;
  left: 0.375rem;
  width: 0.375rem;
}

.cur-registration-page-form-group-privacy-policy-checkbox-section {
  margin-bottom: 0.9375rem;
  margin-top: 0.9375rem;
}

.cur-registration-page-form-group-privacy-policy-checkbox-section label {
  font-size: 1rem;
  padding-left: 1.875rem;
}

.cur-registration-page-form-group-privacy-policy-checkbox-section label::before {
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
}

.cur-registration-page-form-group-privacy-policy-checkbox-section label::after {
  height: 0.75rem;
  left: 0.375rem;
  width: 0.375rem;
}

/* 登録ボタン */
.cur-registration-page-btn {
  border-radius: 0.25rem;
  font-size: 1rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.cur-registration-page-required-badge {
  border-radius: 0.625rem;
  margin-left: 0.5rem;
  padding: 0.125rem 0.375rem;
}

.cur-error-message {
  font-size: 0.875rem;
}

.cur-line-add-button {
  width: 11.25rem;
}

.cur-line-info-box {
  border-radius: 0.5rem;
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
  padding: 0.3125rem;
}

/* ------------------------------------------------------------------------------------------------------- */
/* SMS認証ページ */
.cur-authentication-page-container {
  border-radius: 0.5rem;
  max-width: 37.5rem;
  min-height: calc(100dvh - 1.5625rem);
}

.cur-authentication-page-form-group label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.cur-authentication-page-form-group input {
  border-radius: 0.25rem;
  font-size: 0.875rem;
  padding: 0.625rem;
}

.cur-authentication-page-btn {
  border-radius: 0.25rem;
  font-size: 1rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.cur-authentication-page-reset-btn {
  font-size: 1rem;
  margin-top: 0.75rem;
}

.cur-authentication-page-message {
  font-size: 1rem;
  margin-bottom: 0.625rem;
}

.cur-authentication-page-warning {
  font-size: 0.875rem;
}

/* ------------------------------------------------------------------------------------------------------- */
/* 成功ページ */
.cur-success-page-container {
  max-width: 37.5rem;
  min-height: auto;
}

.cur-success-page-container-message {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.cur-success-page-button {
  border-radius: 0.25rem;
  font-size: 1rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.cur-success-page-button::before {
  height: 0.625rem;
  left: 0.625rem;
  width: 0.625rem;
}

.cur-success-page-mycred-container {
  padding: 0.625rem;
}

.cur-success-page-mycred-info-box {
  padding: 0.625rem;
  width: 18.9375rem;
}

.cur-success-page-mycred-label {
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
}

.cur-success-page-mycred-amount {
  font-size: 2rem;
}

.cur-success-page-cancel-membership-button {
  font-size: 0.75rem;
}

.cur-line-link-box {
  border-radius: 0.625rem;
  margin: 1.25rem 0;
  padding: 1.25rem;
}

.cur-line-link-title {
  font-size: 1.25rem;
}

.cur-line-link-text {
  font-size: 0.875rem;
  margin: 0.625rem 0 1.25rem;
}

.cur-line-link-coupon {
  margin-bottom: -0.9375rem;
  width: 11.25rem;
}

.cur-line-link-button {
  border-radius: 1.875rem;
  font-size: 1rem;
  gap: 0.1875rem;
  padding: 0.75rem 1.25rem;
  width: 18.625rem;
}

.cur-line-link-icon {
  width: 1.5625rem;
}

.cur-line-link-button::before {
  height: 0.625rem;
  right: 1.625rem;
  width: 0.625rem;
}

.cur-success-page-confirm-btn {
  border-radius: 1.5rem;
  font-size: 0.875rem;
  padding: 0.625rem;
  width: 11.25rem;
}

.cur-success-page-confirm-btn::before {
  height: 0.625rem;
  right: 0.625rem;
  width: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------- */
/* 全ページ共有 */
.cur-step-bar {
  margin: 1.25rem 0;
}

.cur-step-bar::before {
  height: 0.125rem;
  top: 1.25rem;
}

.cur-step-bar li::before {
  height: 2.5rem;
  line-height: 2.5rem;
  margin: 0 auto 0.625rem auto;
  width: 2.5rem;
}

.cur-step-bar li span {
  transform: translateY(0.625rem);
}

.custom-top-ranking-section--fw {
  background: unset;
  display: block;
  overflow: hidden;
  padding-block: 2.6875rem 1.5625rem;
  position: relative;
}

.custom-top-ranking-section--fw::before {
  background: url(../images/top/ranking_bg.png) center center/100% 100% no-repeat;
  bottom: 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
}

.custom-top-ranking-section-title--fw {
  font-size: 3.75rem;
  line-height: 1.2;
  padding-right: 1.25rem;
}

.custom-top-ranking-sub-section--fw {
  margin-top: 1.125rem;
  overflow: hidden;
}

.custom-top-ranking-sub-section--fw01 {
  margin-top: 2.5rem;
}

.custom-top-ranking-sub-section-title--fw {
  border-radius: 62.4375rem;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  margin-bottom: 0rem;
  padding: 0.375rem 2rem;
  width: 24.375rem;
}

.custom-top-ranking-by-area-btn--fw {
  border-radius: 62.4375rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1875;
  margin-top: 0.75rem;
  padding: 0.8125rem 1rem 0.875rem;
  position: relative;
  text-align: center;
  width: 18.5625rem;
}

.custom-top-ranking-by-area-btn--fw::after {
  background: url(../images/top/icon_btn.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.custom-top-ranking-slider .swiper-wrapper {
  align-items: flex-end;
}

.custom-top-ranking-slider .swiper-slide {
  -o-object-fit: cover;
  aspect-ratio: 120/192;
  height: auto;
  object-fit: cover;
  width: 7.5rem;
}

.custom-top-ranking-slider .swiper-slide.swiper-slide-active {
  -o-object-fit: cover;
  aspect-ratio: 209/295;
  object-fit: cover;
  width: 13.0625rem;
}

.custom-top-ranking-slider--fw {
  gap: 0.625rem;
  margin-right: calc(50% - 50vw);
  margin-top: 1.25rem;
  padding-bottom: 0.5rem;
}

.custom-top-ranking-badge-first span {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.2142857143;
}

.custom-top-ranking-card--fw {
  border-radius: 0.3125rem;
  height: 12rem;
  padding: 1rem;
  width: 7.5rem;
}

.custom-top-ranking-first--fw {
  height: 18.4375rem;
  width: 13.0625rem;
}

.custom-top-ranking-card--fw.custom-top-ranking-first {
  height: 16.875rem;
  height: 18.4375rem;
  width: 11.25rem;
  width: 13.0625rem;
}

.custom-top-ranking-number--fw {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.custom-top-ranking-overlay--fw {
  padding: 0.25rem 0.625rem 0.5625rem;
}

.custom-top-ranking-user-name--fw {
  font-size: 1rem;
  line-height: 1.1875;
}

.custom-top-ranking-extra--fw {
  font-size: 0.875rem;
  line-height: 1.2142857143;
  margin-top: 0.1875rem;
}

.custom-top-ranking-badge-first.custom-top-ranking-badge--fw {
  height: 4.907125rem;
  padding: 0.4375rem 0.75rem;
  width: 4.90725rem;
}

.custom-top-ranking-badge--fw {
  height: 2.8125rem;
  padding: 0.3125rem 0.4rem;
  width: 2.8125rem;
}

.custom-top-ranking-badge--fw span {
  font-size: 1rem;
}

.custom-top-ranking-badge-first--fw {
  height: 5rem;
  width: 5rem;
}

.custom-top-ranking-badge-first span {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.1428571429;
}

.custom-top-no-ranking-message--fw {
  font-size: 1rem;
  margin-top: 0.75rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-matching-section--fw {
  padding-block: 2.1875rem 1.296875rem;
  position: relative;
}

.custom-top-matching-section--fw::before {
  background: url(../images/top/matching_bg.png) center center/100% 100% no-repeat;
  bottom: 0;
  content: "";
  height: 122.125rem;
  left: 0;
  position: absolute;
  width: 100%;
}

.custom-top-matching-section-main-title--fw {
  font-size: 3.75rem;
  margin-top: 0.25rem;
  padding-right: 1.25rem;
}

.custom-top-matching-section-sub-title--fw {
  font-size: 0.875rem;
  margin-bottom: -1.5625rem;
}

.custom-top-matching-section-main-title-matching-what--fw {
  font-size: 1.5rem;
  margin-top: -0.875rem;
}

.custom-top-matching-image-bird--fw {
  margin-top: 0.75rem;
}

.custom-top-matching-image-bird--fw img {
  width: 9.375rem;
}

.custom-top-matching-image-slide--fw {
  margin-top: 1.25rem;
}

.custom-top-matching-image-slide--fw img {
  width: 20.8125rem;
}

.custom-top-matching-description--fw {
  font-size: 0.875rem;
  margin-bottom: 0rem;
  margin-top: 1rem;
  max-width: 100%;
}

.custom-top-matching-description--fw01 {
  margin-top: 0.8125rem;
}

.custom-top-matching-description--fw p {
  line-height: 1.5714285714;
}

.custom-top-matching-slide-btn--fw,
.custom-top-matching-store-list-btn--fw {
  border-radius: 62.4375rem;
  font-size: 1rem;
  line-height: 1.1875;
  margin-bottom: 0rem;
  margin-top: 1rem;
  padding: 0.8125rem 1rem 0.875rem;
  position: relative;
  text-align: center;
  width: 18.5rem;
}

.custom-top-matching-slide-btn--fw::after,
.custom-top-matching-store-list-btn--fw::after {
  background: url(../images/top/icon_btn.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.custom-top-matching-section-headline--fw {
  font-size: 1.5rem;
  line-height: 1.4166666667;
  margin-top: 2.03125rem;
}

.custom-top-matching-image-beginner--fw {
  margin-top: 0.9375rem;
}

.custom-top-matching-image-beginner--fw img {
  width: 16.875rem;
}

.custom-top-matching-image-store--fw {
  margin-top: 0.9375rem;
}

.custom-top-matching-image-store--fw img {
  width: 12.5rem;
}

.custom-top-matching-user-flow--fw {
  background: #fff;
  border-radius: 0.625rem;
  margin-inline: auto;
  margin-top: 2.5rem;
  max-width: 100%;
  padding: 2.21875rem 1.1875rem 0.9375rem;
}

.custom-top-matching-user-flow-title--fw {
  font-size: 1.5rem;
  line-height: 1.2083333333;
  margin-bottom: 1rem;
}

.custom-top-matching-user-flow-step:not(:first-child) {
  margin-top: 0.8125rem;
}

.custom-top-matching-user-flow-step-header--fw {
  gap: 0.5625rem;
}

.custom-top-matching-user-flow-step-number--fw {
  gap: 0rem;
  height: 3.125rem;
  width: 3.125rem;
}

.custom-top-matching-user-flow-number-step-char--fw {
  font-size: 0.8125rem;
  margin-top: 0.3125rem;
}

.custom-top-matching-user-flow-step-number-digit--fw {
  font-size: 1.5rem;
  margin-top: -0.625rem;
}

.custom-top-matching-user-flow-step-header-title--fw {
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.custom-top-matching-user-flow-step-content--fw {
  font-size: 0.875rem;
  line-height: 1.5714285714;
  margin-top: 0.3125rem;
  padding: 0;
}

.custom-top-matching-image-down-arrow--fw img {
  margin-top: 0.125rem;
  width: 1.375rem;
}

.custom-top-matching-image-step1--fw {
  right: -0.25rem;
  top: 0.625rem;
}

.custom-top-matching-image-step1--fw img {
  width: 7.375rem;
}

.custom-top-matching-image-step2-1--fw {
  right: 1.625rem;
  top: 2.625rem;
}

.custom-top-matching-image-step2-1--fw img {
  width: 5.3125rem;
}

.custom-top-matching-image-step2-2--fw {
  right: 0;
  top: 0;
}

.custom-top-matching-image-step2-2--fw img {
  width: 4.375rem;
}

.custom-top-matching-image-step3-1--fw {
  right: 3.875rem;
  top: 0;
  z-index: 10;
}

.custom-top-matching-image-step3-1--fw img {
  width: 3.125rem;
}

.custom-top-matching-image-step3-2--fw {
  right: 0;
  top: -0.125rem;
}

.custom-top-matching-image-step3-2--fw img {
  width: 3.826875rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-bar-section--fw {
  margin-top: 0rem;
  padding-block: 2.375rem 2.5125rem;
}

.custom-top-bar-image-border--fw {
  width: 100%;
}

.custom-top-bar-image-border--fw img {
  width: 24.375rem;
}

.custom-top-bar-image-center--fw {
  top: -1.5625rem;
  width: 3.9375rem;
}

.custom-top-bar-image-glass--fw {
  right: 0.5rem;
  top: 0.8125rem;
  width: 2.75rem;
}

.custom-top-bar-sub-title--fw {
  font-size: 1.375rem;
  top: 1.6875rem;
  transform: translate(-50%, 0);
}

.custom-top-bar-main-title--fw {
  font-size: 2.625rem;
  left: 50%;
  top: 3.3125rem;
  transform: translate(-50%, 0);
}

.custom-top-bar-content--fw {
  font-size: 0.875rem;
  line-height: 1.5714285714;
  margin-top: 1.0625rem;
  padding: 0rem;
  width: min(100%, 24.375rem);
}

.custom-top-bar-imnage-content--fw {
  height: 14.375rem;
  margin-top: 0.3125rem;
  width: min(100%, 24.375rem);
}

.custom-top-bar-image-bar1--fw {
  left: 0;
  top: 0.625rem;
}

.custom-top-bar-image-bar1--fw img {
  width: 14.125rem;
}

.custom-top-bar-image-bar2--fw {
  right: 2.9375rem;
  top: 0.625rem;
}

.custom-top-bar-image-bar2--fw img {
  width: 6.6875rem;
}

.custom-top-bar-image-bar3--fw {
  bottom: 0.625rem;
  right: 0;
}

.custom-top-bar-image-bar3--fw img {
  width: 5.4375rem;
}

.custom-top-bar-image-color-box--fw {
  height: 7.875rem;
  right: 1.0625rem;
  top: 2.5rem;
  width: 6.6875rem;
}

.custom-top-bar-btn--fw {
  border-radius: 62.4375rem;
  font-size: 1rem;
  line-height: 1.1875;
  margin-bottom: 0rem;
  margin-top: 0.75rem;
  padding: 0.8125rem 0.0625rem 0.875rem;
  position: relative;
  text-align: center;
  width: 18.5rem;
}

.custom-top-bar-btn--fw::after {
  background: url(../images/top/icon_btn.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.1875rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-theralog-section--fw {
  background: unset;
  gap: 1.25rem;
  overflow-x: hidden;
  padding-block: 2.6875rem 2.55rem;
  position: relative;
}

.custom-top-theralog-section--fw::before {
  background: url(../images/top/theralog_bg.png) center center/100% 100% no-repeat;
  bottom: 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
}

.custom-top-theralog-section-main-title--fw {
  font-size: 3.75rem;
  padding-right: 1.25rem;
}

.custom-top-theralog-section-sub-title--fw {
  font-size: 0.875rem;
  line-height: 1.2142857143;
  margin-bottom: -1.875rem;
}

.custom-top-theralog-timeline--fw {
  font-size: 1rem;
  line-height: 1.1875;
  margin-top: 0.125rem;
}

.custom-top-theralog-slider--fw {
  gap: 1rem;
  margin-right: calc(50% - 50vw);
  margin-top: 1.125rem;
  padding-bottom: 1.3125rem;
}

.custom-top-theralog-card--fw {
  border-radius: 0.625rem;
  height: 15.79375rem;
  padding: 0.625rem 0.6875rem;
  width: 10.625rem;
}

.custom-top-theralog-user-info--fw {
  gap: 0.28125rem;
  padding: 0;
}

.custom-top-theralog-avatar--fw {
  height: 2.25rem;
  width: 2.25rem;
}

.custom-top-theralog-display-name--fw {
  font-size: 1rem;
  line-height: 1.1875;
}

.custom-top-theralog-image--fw {
  height: 7.1875rem;
  width: 9.375rem;
}

.custom-top-theralog-contents--fw {
  font-size: 0.875rem;
  min-height: 3.125rem;
  padding: 0.3125rem;
}

.custom-top-theralog-meta--fw {
  gap: 1rem;
  margin-top: 0.8125rem;
  padding: 0.125rem 0 0;
}

.custom-top-theralog-meta--fw::before {
  background: #535353;
  height: 0.5px;
}

.custom-top-theralog-likes--fw,
.custom-top-theralog-comments--fw {
  font-size: 0.875rem;
}

.custom-top-theralog-like-icon--fw {
  height: 0.9375rem;
  margin-top: 0.125rem;
  width: 0.8125rem;
}

.custom-top-theralog-likes--fw {
  gap: 0.1875rem;
}

.custom-top-theralog-comments--fw {
  gap: 0.20875rem;
}

.custom-top-theralog-comment-icon--fw {
  height: 0.75rem;
  margin-top: 0.125rem;
  width: 0.9375rem;
}

.custom-top-theralog-like-count--fw,
.custom-top-theralog-comment-count--fw {
  font-size: 0.875rem;
}

.custom-top-theralog-btn--fw {
  border-radius: 62.4375rem;
  font-size: 1rem;
  line-height: 1.1875;
  margin-bottom: 0rem;
  padding: 0.8125rem 0.0625rem 0.875rem;
  position: relative;
  text-align: center;
  width: 18.5625rem;
}

.custom-top-theralog-btn--fw::after {
  background: url(../images/top/icon_btn.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.1875rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.custom-top-no-theralog-message--fw {
  font-size: 1rem;
  margin-top: 0.75rem;
}

.custom-top-theralog-card--fw.no-image .custom-top-theralog-contents--fw {
  min-height: 10.3125rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-faq-section--fw {
  padding-block: 1.4375rem 2.255rem;
}

.custom-top-faq-section-main-title--fw {
  font-size: 3.75rem;
  line-height: 1.2;
}

.custom-top-faq-section-sub-title--fw {
  font-size: 1rem;
  line-height: 1.1875;
  margin-top: 0.375rem;
}

.custom-top-faq-accordion--fw {
  margin-top: 1.1875rem;
  width: 100%;
}

.custom-top-faq-accordion-item--fw {
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0rem;
  min-height: 4.125rem;
  padding: 0.625rem 1.4375rem 0.75rem 0.875rem;
}

.custom-top-faq-accordion-item--fw + .custom-top-faq-accordion-item--fw {
  margin-top: 0.5rem;
}

.custom-top-faq-accordion-item--fw01 {
  padding-top: 1.5rem;
}

.custom-top-faq-accordion-item--fw01 .custom-top-faq-toggle--fw {
  margin-top: -0.25rem;
}

.custom-top-faq-q-label--fw {
  align-self: start;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  margin-right: 0;
}

.custom-top-faq-question--fw {
  align-items: center;
  gap: 0.375rem;
  position: relative;
}

.custom-top-faq-question-title--fw {
  align-self: start;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.custom-top-faq-a-label--fw {
  font-size: 1.125rem;
  line-height: 1.2222222222;
  margin-right: 0;
}

.custom-top-faq-answer--fw {
  align-items: flex-start;
  display: flex;
  font-size: 0.875rem;
  gap: 0.4375rem;
  margin-top: 1.0625rem;
  padding-right: 0.375rem;
  padding-top: 0.75rem;
}

.custom-top-faq-toggle--fw {
  align-self: center;
  display: inline-block;
  font-size: 1.75rem;
  font-weight: 300;
  line-height: 1;
  margin-bottom: 0.1875rem;
  margin-left: 1rem;
  margin-left: 1.25rem;
  transition: 0.5s;
}

.lp__main-lower {
  max-width: unset;
}

.lp__main.lp__main-lower {
  padding-bottom: 4.625rem;
  padding-top: 4.625rem;
}
.lp__wrapper--noheader .lp__main {
  margin-top: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.custom-top-page--fw {
  display: block;
  max-width: 64rem;
}

.custom-top-page--fw .swiper-slide {
  aspect-ratio: 430/597;
}

.custom-top-page--fw .swiper-container .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.custom-top-page--fw .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  height: 0.5375rem;
  width: 0.5375rem;
}

.custom-top-page--fw .swiper-pagination {
  bottom: 0.1875rem;
  margin-top: 0.625rem;
}

.custom-top-button-swiper-overlay--fw {
  bottom: 2.0625rem;
  display: block;
  padding: 1.25rem;
}

.custom-top-button-swiper-overlay-btnwrap {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: repeat(2, 1fr);
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.custom-top-button-swiper-overlay-btn--fw {
  border-radius: 1.5rem;
  font-size: 1rem;
  gap: 0.5625rem;
  height: 3rem;
  padding: 0.6875rem 0.6875rem 0.625rem;
  position: relative;
  width: 11.875rem;
}

.custom-top-button-swiper-overlay-btn--fw::after {
  background: url(../images/top/icon_btn.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.custom-top-button-swiper-overlay-btn-icon--fw {
  width: 1.5625rem;
}

.custom-top-swiper-image-placeholder--fw {
  font-size: 1rem;
  padding: 0.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-register-section--fw {
  padding: 1.5rem 1rem 1.1875rem;
}

.custom-top-register-point-message--fw {
  font-size: 1rem;
}

.custom-top-register-point-highlight--fw {
  font-size: 1rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: -0.6875rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.custom-top-register-point-highlight--fw::before,
.custom-top-register-point-highlight--fw::after {
  background: #E9518E;
  content: "";
  display: inline-block;
  height: 1.6875rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.125rem;
}

.custom-top-register-point-highlight--fw::before {
  left: -0.9375rem;
  rotate: -22deg;
}

.custom-top-register-point-highlight--fw::after {
  right: -0.9375rem;
  rotate: 22deg;
}

.custom-top-register-point-value--fw {
  font-size: 1.875rem;
  margin-right: -0.4375rem;
}

.custom-top-register-button--fw {
  border-radius: 62.4375rem;
  display: inline-block;
  font-size: 1rem;
  margin-top: 0.0625rem;
  padding: 0.75rem 2rem;
  width: 18.75rem;
}

.custom-top-register-login-link--fw {
  font-size: 0.875rem;
  margin-top: 1rem;
}

.custom-top-register-login-link--fw a {
  font-size: 1rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
.custom-top-news-section {
  margin-top: -4.25rem;
  padding-bottom: 2.5rem;
  padding-top: 4.625rem;
}

.custom-top-news-section-title--fw {
  font-size: 2.625rem;
  line-height: 1.1904761905;
  padding-right: 0.625rem;
}

.custom-top-news-section-item {
  border-bottom: 0.5px solid #535353;
}

.custom-top-news-section-item-link {
  display: block;
  padding-block: 0.90625rem 0.4375rem;
  position: relative;
}

.custom-top-news-section-item-link::after {
  background: url(../images/top/icon_right.png) center center/contain no-repeat;
  bottom: 0.75rem;
  content: "";
  display: inline-block;
  height: 0.625rem;
  position: absolute;
  right: 0.3125rem;
  width: 0.375rem;
}

.custom-top-news-section-item-meta {
  align-items: center;
  display: flex;
  gap: 0.46875rem;
}

.custom-top-news-section-item-tag {
  background: #E1E1E1;
  border-radius: 100vh;
  color: #535353;
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
  min-width: 4rem;
  padding: 0.0625rem 0.3125rem 0.125rem;
  text-align: center;
}

.custom-top-news-section-item-date {
  color: #535353;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2142857143;
}

.custom-top-news-section-item-heading {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1875;
  margin-top: 0.34375rem;
  overflow: hidden;
  padding-right: 1.25rem;
}

/* ユーザーログイン画面 */
.custom-user-login-page-title {
  font-size: 1.75rem;
}

.custom-user-login-page {
  max-width: 37.5rem;
}

.custom-user-login-form-group {
  margin-bottom: 0.25rem;
}

.custom-user-login-form-group label {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.custom-user-login-form-group input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  padding: 0.8125rem;
}

.cul-error-message {
  font-size: 0.875rem;
  margin-bottom: 0.9375rem;
}

#cul-login-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 0.625rem auto 0 auto;
  margin-top: -0.1875rem;
  padding: 0.75rem;
  width: 17.625rem;
}

.custom-user-password-reset-button {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  padding: 0.5rem 0;
}

.cul-login-note {
  font-size: 0.875rem;
  margin-top: 1rem;
}

.custom-user-login-logged-in-message {
  font-size: 1rem;
  margin: 2.5rem 0 1.25rem 0;
}

.custom-user-login-mypage-button,
.custom-user-login-logout-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  margin: 0.625rem auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.custom-user-register-button {
  border-radius: 3.125rem;
  font-size: 1rem;
  height: 2.5rem;
  margin: 1.25rem auto 0 auto;
  padding: 0.75rem;
  width: 17.625rem;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* パスワードリセット */
.custom-user-password-reset-page {
  max-width: 37.5rem;
}

.custom-user-password-reset-message {
  font-size: 1rem;
  margin: 2.5rem 0 1.25rem 0;
}

#reset-step-1 input,
#reset-step-2 input,
#reset-step-3 input {
  border-radius: 1.5625rem;
  font-size: 0.875rem;
  padding: 0.8125rem;
}

#reset-send-sms,
#reset-verify-code,
#reset-final-submit {
  border-radius: 3.125rem;
  font-size: 1rem;
  margin: 0.625rem auto 0 auto;
  padding: 0.75rem;
  width: 12.5rem;
}

.custom-reset-restart-button {
  font-size: 0.875rem;
  margin: 1rem auto 0 auto;
}

/* ドロワー */
.globalMenuSp {
  align-items: center;
  background: #F5F5F5;
  height: 100svh;
  left: 0;
  opacity: 0;
  overflow: scroll;
  padding: 6.4375rem 2.5rem 2.3125rem;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  visibility: hidden;
  width: 100%;
  z-index: 99;
}

/* このクラスを、jQueryで付与・削除する */
.globalMenuSp.active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.globalMenuSP__container {
  margin-inline: auto;
  width: min(100%, 35rem);
}

.globalMenuSp__headline {
  display: flex;
  gap: 1.25rem;
}

.globalMenuSp__headline__en {
  color: #E9528E;
  font-size: 2.1875rem;
  font-weight: 500;
  line-height: 1;
}

.globalMenuSp__headline__ja {
  color: #E9528E;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6666666667;
  margin-top: 0.8125rem;
}

.globalMenuSP__list {
  margin-top: 2.3125rem;
}

.globalMenuSP__item {
  border-bottom: 1px solid #AAAAAC;
}

.globalMenuSP__link {
  display: block;
  padding-block: 1rem 1.125rem;
  position: relative;
}

.globalMenuSP__link::after {
  background: url(../images/top/icon_drawer01.png) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.375rem;
}

.globalMenuSP__link:has(.globalMenuSP__sublist)::after {
  background: url(../images/top/icon_plus.png) center center/contain no-repeat;
  content: "";
  height: 1.25rem;
  pointer-events: none;
  position: absolute;
  right: 0.3125rem;
  top: 1.125rem;
  transform: translateY(0);
  transition: 0.5s;
  width: 1.25rem;
}

.globalMenuSP__head {
  color: #E9528E;
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3333333333;
}

.globalMenuSP__sublist {
  height: 0;
  overflow: hidden;
  padding-left: 2.5625rem;
  transition: 0.3s ease;
}

.globalMenuSP__subitem {
  padding-right: 1.875rem;
}

.globalMenuSP__subitem + .globalMenuSP__subitem {
  margin-top: 0.625rem;
}

.globalMenuSP__sublink {
  color: #535353;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.625;
}

.globalMenuSP__sublink + .globalMenuSP__sublink {
  margin-top: 0.625rem;
}

.globalMenuSP__item.is_active .globalMenuSP__link:has(.globalMenuSP__sublist)::after {
  background: url(../images/top/icon_minus.png) center center/contain no-repeat;
  pointer-events: none;
}

.globalMenuSP__item.is_active .globalMenuSP__sublist {
  margin-top: 0.75rem;
}

.globalMenuSP__btnwrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2.5rem;
}

.globalMenuSP__btn01 {
  background: #E9528E;
  border-radius: 1.5rem;
  padding-block: 0.875rem;
  position: relative;
  text-align: center;
  width: min(100%, 18.625rem);
}

.globalMenuSP__btn01 .text {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}

.globalMenuSP__btn01 .icon {
  background: url(../images/top/icon_drawer04.png) center center/contain no-repeat;
  height: 0.625rem;
  position: absolute;
  right: 1.3125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.globalMenuSP__btn02 {
  background: #06C755;
  border-radius: 1.5rem;
  padding-block: 0.875rem;
  position: relative;
  text-align: center;
  width: min(100%, 18.625rem);
}

.globalMenuSP__btn02 .globalMenuSP__btn02__deco {
  background: #ffffff;
  border: 1px solid #06C755;
  border-radius: 1.5rem;
  color: #06C755;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 0.375rem;
  position: absolute;
  text-align: center;
  top: -1.25rem;
  transform: translateX(-50%);
  width: min(100%, 11.25rem);
}

.globalMenuSP__btn02 .globalMenuSP__btn02__deco::before,
.globalMenuSP__btn02 .globalMenuSP__btn02__deco::after {
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  display: inline-block;
  height: 0.5rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0.375rem;
}

.globalMenuSP__btn02 .globalMenuSP__btn02__deco::before {
  background: #06C755;
  bottom: -0.5rem;
}

.globalMenuSP__btn02 .globalMenuSP__btn02__deco::after {
  background: #fff;
  bottom: -0.4375rem;
}

.globalMenuSP__btn02 .icon01 {
  background: url(../images/top/icon_drawer05.png) center center/contain no-repeat;
  border-radius: 1.5rem;
  content: "";
  height: 1.5rem;
  left: 3.5rem;
  padding-block: 0.875rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.575rem;
}

.globalMenuSP__btn02 .text {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}

.globalMenuSP__btn02 .icon02 {
  background: url(../images/top/icon_drawer04.png) center center/contain no-repeat;
  height: 0.625rem;
  position: absolute;
  right: 1.3125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
}

.globalMenuSP__btn03 {
  background: #fff;
  border: 1px solid #9E6CBB;
  border-radius: 1.5rem;
  padding-block: 0.875rem;
  position: relative;
  text-align: center;
  width: min(100%, 18.625rem);
}

.globalMenuSP__btn03 .text {
  color: #9E6CBB;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}

.globalMenuSP__btn03 .icon {
  border-bottom: solid 1px #9E6CBB;
  border-right: 1px solid #9E6CBB;
  height: 0.375rem;
  position: absolute;
  right: 1.3125rem;
  rotate: -45deg;
  top: 50%;
  transform: translateY(-50%);
  width: 0.375rem;
}

.globalMenuSP__btn04 {
  position: relative;
  text-align: center;
  width: min(100%, 18.625rem);
}

.globalMenuSP__btn04 .text {
  color: #9E6CBB;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: underline;
}

.globalMenuSP__bottomlinkwrap {
  display: flex;
  gap: 2.40625rem;
  justify-content: center;
  margin-top: 1.875rem;
}

.globalMenuSP__bottomlink {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  padding: 0.375rem;
}

.globalMenuSP__bottomlink .icon {
  display: grid;
  place-content: center;
}

.globalMenuSP__bottomlink .icon svg {
  display: grid;
  height: 1.375rem;
  width: 1.375rem;
}

.globalMenuSP__bottomlink .text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5714285714;
}
.lp__countdown-container {
  align-items: center;
  background-image: url(../images/top/lp__countdown-container-bg.png);
  background-size: cover;
  display: flex;
  flex-direction: column;
  margin: 36px -1.25rem 0;
  padding-bottom: 23px;
  padding-bottom: 1.4375rem;
  padding-top: 64px;
  padding-top: 4rem;
}

.lp__countdown-container h1 {
  color: #7D40A0;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  position: relative;
}

.lp__countdown-container h1::before {
  background-color: #7D40A0;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  top: 60%;
  transform: translate(-110%, -50%) rotate(60deg);
  width: 22px;
  width: 1.375rem;
}

.lp__countdown-container h1::after {
  background-color: #7D40A0;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  right: 0;
  top: 60%;
  transform: translate(110%, -50%) rotate(-60deg);
  width: 22px;
  width: 1.375rem;
}

.lp__wrapper {
  position: relative;
}

.lp__main {
  background-color: #fff;
  margin: auto;
  max-width: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.lp__main-lower-logo {
  left: 15px;
  left: 0.9375rem;
  position: absolute;
  top: 15px;
  top: 0.9375rem;
  width: 92px;
  width: 5.75rem;
}

.lp__wrapper::before {
  background-color: #fff;
  content: "";
  display: block;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 0;
}

.lp__therame-logo {
  margin: auto;
  padding-top: 47px;
  padding-top: 2.9375rem;
  width: 287px;
  width: 17.9375rem;
}

.lp__matching {
  color: #F3E7FD;
  font-family: "Questrial", serif;
  font-size: 55px;
  font-size: 3.4375rem;
  font-style: normal;
  font-weight: 700;
  margin-top: 10px;
  margin-top: 0.625rem;
  text-align: center;
  text-transform: uppercase;
}

.lp__matching--heading {
  color: #7D40A0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  margin: auto;
  margin-top: 33px;
  margin-top: 2.0625rem;
  text-align: center;
}

.lp__matching--heading2 {
  margin-top: 65px;
  margin-top: 4.0625rem;
  position: relative;
}

.lp__matching--heading2::before {
  background-image: url(../../assets/images/top/lp__matching--heading2.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 76px;
  height: 4.75rem;
  left: 50%;
  position: absolute;
  top: -40%;
  transform: translateX(-50%);
  width: 370px;
  width: 23.125rem;
  z-index: -1;
}

.lp__matching--text {
  color: #7A7A7A;
  font-weight: 500;
  margin-top: 12px;
  margin-top: 0.75rem;
  text-align: center;
}

.lp__matching--text2 {
  line-height: 1.625;
  margin-top: -5px;
  margin-top: -0.3125rem;
}

.lp__progressbar-area {
  background-color: #fff;
  border: 1px solid #7D40A0;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  height: 27px;
  height: 1.6875rem;
  margin: auto;
  margin-top: -3px;
  margin-top: -0.1875rem;
  max-width: 372px;
  max-width: 23.25rem;
  position: relative;
  text-align: center;
  width: 100%;
}

.lp__progressbar-label {
  align-items: center;
  background-color: #7D40A0;
  border-radius: 50px 0 0 50px;
  color: #fff;
  display: flex;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  height: 27px;
  height: 1.6875rem;
  justify-content: flex-end;
  padding-right: 1em;
  padding-top: 1px;
  position: relative;
  text-align: right;
  top: -1px;
  top: -0.0625rem;
  width: 30%;
}

.lp__register-link-balloon {
  background-color: #fff;
  border-radius: 50px;
  color: #E9518E;
  font-size: min(max(12px, 1.823vw), 14px);
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 22px;
  margin-top: 1.375rem;
  max-width: 243px;
  padding: 6px 0;
  padding: 0.375rem 0;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  width: 70%;
  z-index: 3;
}

.lp__register-link-balloon:before {
  border: 7px solid transparent;
  border-top: 7px solid #fff;
  content: "";
  left: 50%;
  margin-left: -15px;
  position: absolute;
  top: 99%;
}

.lp__register-link {
  background-color: #E9518E;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin: auto;
  margin-top: 0px;
  margin-top: 0rem;
  max-width: 370px;
  position: relative;
  text-align: center;
}

.lp__register-link a {
  display: block;
  letter-spacing: 0.07em;
  padding: 16px;
  padding: 1rem;
}

.lp__register-link::before {
  /* 四角形の高さ */
  border-bottom: 2px solid #fff;
  /* 底辺の罫線 */
  border-left: 2px solid #fff;
  content: "";
  display: block;
  /* 四角形の幅 */
  height: 10px;
  position: absolute;
  right: 26px;
  top: 50%;
  /* 左の罫線 ⇨この二つの罫線で矢印マークを作る */
  transform: translatey(-50%) rotate(-135deg);
  width: 10px;
}

.lp__register-link-message {
  color: #E9518E;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0 auto;
  margin-top: 16px;
  margin-top: 1rem;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.lp__register-link-message span {
  font-size: 30px;
  font-size: 1.875rem;
  letter-spacing: 0;
}

.lp__register-link-message::before {
  background-color: #E9518E;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  top: 60%;
  transform: translate(-110%, -50%) rotate(60deg);
  width: 22px;
  width: 1.375rem;
}

.lp__register-link-message::after {
  background-color: #E9518E;
  content: "";
  display: block;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  right: 0;
  top: 60%;
  transform: translate(110%, -50%) rotate(-60deg);
  width: 22px;
  width: 1.375rem;
}

.lp__form-link-list {
  color: #7D40A0;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: center;
  margin-top: 14px;
  margin-top: 0.875rem;
}

.lp__form-link-list p {
  margin-left: 0px;
  margin-left: 0rem;
  margin-top: 9px;
  margin-top: 0.5625rem;
  text-align: center;
}

.lp__form-link-list p:first-child {
  margin-left: 0;
  margin-top: 0;
}

.lp__register-link__image {
  margin: 32px auto 0;
  margin: 2rem auto 0;
  width: 370px;
  width: 23.125rem;
}
.p-bar-fv {
  background: url(../images/bar/bar_bg01.jpg) center center/cover no-repeat;
  padding-block: 1.5625rem 22.4375rem;
  position: relative;
}
.p-bar-fv .l-inner {
  min-height: unset;
}

.p-bar-fv__container {
  position: relative;
}

.p-bar-fv__texts {
  text-align: center;
}

.p-bar-fv__catch {
  display: none;
  margin-inline: auto;
  width: min(100%, 19.27125rem);
}
.p-bar-fv__catch img {
  -o-object-fit: contain;
  aspect-ratio: 308.34/96.45;
  height: auto;
  margin-left: 0.125rem;
  object-fit: contain;
  width: 100%;
}

.p-bar-fv__tagline {
  margin-inline: auto;
  width: min(100%, 15.1875rem);
}
.p-bar-fv__tagline img {
  -o-object-fit: contain;
  aspect-ratio: 232.46/41.33;
  height: auto;
  margin-top: 1.153125rem;
  object-fit: contain;
  width: 100%;
}

.p-bar-fv__lead {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-top: 0.375rem;
  text-align: center;
}

/* 女風バーページ */
.bar {
  height: 625px;
  margin: 0 auto;
  max-width: 430px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.bar_container {
  height: 100%;
  position: relative;
  width: 100%;
}

.bar_main_wrapper {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  height: 100%;
  position: relative;
  width: 100%;
}

.bar_main_image {
  height: 647px;
  left: -71px;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 624px;
}
.bar_main_image img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.bar_decorative_pink {
  background-color: #FFD3E5;
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.3;
  position: absolute;
  top: 0;
  width: 100%;
}

.bar_gradient_overlay {
  background: linear-gradient(180deg, #241F26 0%, rgba(68, 63, 71, 0.9) 43.2%, rgba(192, 189, 194, 0.68) 75.3%, rgba(255, 255, 255, 0) 100%);
  bottom: 0;
  height: 313px;
  left: 0;
  opacity: 0.9;
  position: absolute;
  width: 100%;
}

.p-bar01 {
  background: url(../images/bar/bar01_bg.png) center center/100% 100% no-repeat;
  margin-top: -6.3125rem;
  padding-block: 2.5625rem 1.375rem;
  position: relative;
}

.p-bar01__container {
  margin-inline: auto;
  position: relative;
}

.p-bar01__headline {
  position: relative;
}

.p-bar01__subtitle {
  margin-inline: auto;
  width: min(100%, 12.48375rem);
}
.p-bar01__subtitle img {
  -o-object-fit: contain;
  aspect-ratio: 199.74/35;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.p-bar01__title {
  color: #D7AEEF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1875;
  margin-top: 0.5rem;
  text-align: center;
}

.p-bar01__description {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.78rem;
  text-align: center;
}

.p-bar01__deco {
  bottom: -1.125rem;
  position: absolute;
  right: 0.25rem;
  width: min(100%, 3.3625rem);
}
.p-bar01__deco img {
  -o-object-fit: cover;
  aspect-ratio: 53.8/51.07;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-bar01__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.25rem;
}

.p-buttom-back {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
}

/* 女風バーページ　カード */
.p-card01 {
  background: #FFFFFF;
  margin-inline: auto;
  padding: 0.375rem;
  width: 100%;
  width: min(100%, 37.5rem);
}

.p-card01_container {
  border: 1px solid #6D6373;
  padding: 0.875rem 1.25rem 1.3125rem;
  position: relative;
}
.p-card01_container::before {
  aspect-ratio: 1/1;
  background: #D7AEEF;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 100% 0%, 0% 100%);
  content: "";
  display: inline-block;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.5465rem;
}

.p-card01__header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

.p-card01__title {
  line-height: 1.4;
}

.p-card01__main {
  color: #535353;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2083333333;
}

.p-card01__sub {
  color: #535353;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.625;
  margin-top: 0.1875rem;
}

.p-card01__sns {
  display: flex;
  gap: 0.625rem;
  margin-top: 0.75rem;
}

.p-card01__sns-icon {
  aspect-ratio: 1/1;
  display: inline-block;
  width: 2.5rem;
}
.p-card01__sns-icon img {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.p-card01__slider {
  margin-top: 0.25rem;
  padding-bottom: 2.5rem;
  width: min(100%, 21rem);
}
.p-card01__slider .slide-img {
  display: block;
  height: auto;
  width: 100%;
}
.p-card01__slider .swiper-slide {
  overflow: hidden;
}
.p-card01__slider .slide-img {
  height: 100%;
}
.p-card01__slider .swiper-horizontal > .swiper-pagination-bullets,
.p-card01__slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.p-card01__slider .swiper-pagination-custom,
.p-card01__slider .swiper-pagination-fraction {
  bottom: 0.6875rem;
}
.p-card01__slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.p-card01__slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin-inline: 0.3125rem;
}

.swiper-pagination-bullet-active {
  background: #D7AEEF;
}

.p-card01__mainimg {
  border-radius: 0.625rem;
  overflow: hidden;
}
.p-card01__mainimg img {
  -o-object-fit: cover;
  aspect-ratio: 336/175;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-card01__img {
  display: block;
  height: auto;
  width: 100%;
}

.p-card01__dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 10px;
}

.p-card01__dot {
  background-color: #ccc;
  border-radius: 50%;
  height: 8px;
  width: 8px;
}

.p-card01__info {
  border-bottom: 2.5px solid #E1E1E1;
  border-top: 2.5px solid #E1E1E1;
  padding-block: 1.125rem 1.0625rem;
  position: relative;
}
.p-card01__info::before, .p-card01__info::after {
  background: #E1E1E1;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.p-card01__info::before {
  top: 0.0625rem;
}
.p-card01__info::after {
  bottom: 0.0625rem;
}

.p-card01__row {
  display: flex;
  gap: 1.406875rem;
}

.p-card01__label {
  color: #535353;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5714285714;
  width: 5rem;
}

.p-card01__desc {
  color: #535353;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5714285714;
}

.p-card01__bottom {
  align-items: flex-start;
  display: flex;
  gap: 0.8125rem;
  margin-top: 1.1875rem;
}

.p-card01__thumb {
  border-radius: 0.625rem;
  flex-shrink: 0;
  overflow: hidden;
  width: min(100%, 9.375rem);
}
.p-card01__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 150/200;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-card01__thumb-img {
  border-radius: 8px;
}

.p-card01__text-block {
  flex: 1;
}

.p-card01__lead {
  color: #9E6CBB;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-card01__text {
  color: #535353;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5714285714;
  margin-top: 0.03125rem;
}

.p-contact__form--wrapper {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 82px;
  margin-top: 5.125rem;
}

.p-contact__h2--contact {
  text-align: center;
}

.p-contact__h2--contact::after {
  content: "contact";
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
}

.p-footer {
  bottom: 0;
  margin-top: 80px;
  margin-top: 5rem;
  position: absolute;
  width: 100%;
}

.footer-copyright {
  background-color: #7D40A0;
  color: #fff;
  font-size: 10px;
  font-size: 0.625rem;
  padding: 5px 0;
  padding: 0.3125rem 0;
  text-align: center;
}

.p-footer.p-lpfooter {
  margin-top: 0;
  position: relative;
}

.p-form__wrap {
  align-items: left;
  display: flex;
  flex-direction: column;
  justify-content: left;
}

.p-form-checkbox label {
  display: block;
}

.p-form-checkbox label:not(:first-of-type) {
  margin-top: 10px;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.p-form-checkbox input {
  display: none;
}

.p-form-checkbox input + span {
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1;
  padding: 0 0 0 25px;
  padding: 0 0 0 25px;
  padding: 0 0 0 1.5625rem;
  position: relative;
}

.p-form-checkbox input + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid #ccc;
  content: "";
  display: block;
  height: 15px;
  height: 15px;
  height: 0.9375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  width: 15px;
  width: 0.9375rem;
}

.p-form-checkbox input + span::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: 0.3s;
  border-bottom: 3px solid #000;
  border-bottom: 3px solid #000;
  border-bottom: 0.1875rem solid #000;
  border-left: 3px solid #000;
  border-left: 3px solid #000;
  border-left: 0.1875rem solid #000;
  content: "";
  display: block;
  height: 8px;
  height: 8px;
  height: 0.5rem;
  left: 0;
  margin-top: -2px;
  margin-top: -2px;
  margin-top: -0.125rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: 0.3s;
  width: 15px;
  width: 15px;
  width: 0.9375rem;
}

.p-form-checkbox input:checked + span::after {
  opacity: 1;
}

.p-form-input {
  width: 100%;
}

.p-form-input.p-form-input--small,
.p-form-input.p-form-input--medium,
.p-form-input.p-form-input--medium2 {
  margin-top: 0;
}

.p-form-input--small {
  width: 59.4202898551%;
}

.p-form__wrap.p-form__wrap--list.p-form__wrap--mansion,
.p-form__wrap.p-form__wrap--list.p-form__wrap--others {
  margin-top: 30px;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.p-form__wrap--mansion .p-form-input--small {
  width: 49.8550724638%;
}

.p-form-input--medium {
  width: 36.231884058%;
}

.p-form__wrap--others .p-form-input--medium {
  width: 59.4202898551%;
}

.p-form-input--medium2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 47.5362318841%;
}

.p-form__area--detail .p-form-select.p-form-input--medium2 {
  margin-top: 0;
  width: 47.5362318841%;
}

.p-form-input--medium2.p-form-input span {
  width: 76.2195121951%;
}

.p-form-input--medium2.p-form-input .p-form__unit-text {
  width: 19.512195122%;
}

.p-form-input--medium2.p-form-select span {
  width: 76.2195121951%;
}

.p-form-input--medium2.p-form-select .p-form__unit-text {
  width: 19.512195122%;
}

.p-form-select.p-form-input--medium2 {
  width: 36.231884058%;
}

.p-form-select.p-form-input--medium {
  margin-top: 0;
}

.p-form-input input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #F5F5F5;
  background-image: none;
  border-radius: 30px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  margin-top: 5px;
  margin-top: 0.3125rem;
  padding: 15px 15px;
  padding: 0.9375rem 0.9375rem;
  width: 100%;
}

.p-form-input input:focus {
  -webkit-box-shadow: none;
  border: 1px solid #c5c5c5;
  box-shadow: none;
  outline: none;
}

.p-form-input.p-form-input--postal {
  margin-top: 0;
  width: 46.1300309598%;
}

.p-form-input.p-form-input--building {
  margin-top: 0;
}

.p-form-input.p-form-input--address {
  margin-top: 0;
}

.p-form-input.p-form-input--empty {
  margin-top: 0;
  width: 0;
}

.p-form-radio {
  width: 100%;
}

.p-form-radio .wpcf7-radio {
  -ms-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
  gap: 29px 0px;
  gap: 29px 0px;
  gap: 1.8125rem 0rem;
}

.p-form__wrap--others .p-form-radio {
  width: 78.2608695652%;
}

.p-form-radio.p-form-radio--indent {
  padding-left: 11px;
  padding-left: 11px;
  padding-left: 0.6875rem;
}

.p-form-radio.p-form-radio--indent.p-form-radio-reason {
  gap: 29px 13px;
  gap: 29px 13px;
  gap: 1.8125rem 0.8125rem;
}

.p-form-radio.p-form-radio--center {
  justify-content: center;
}

.p-form-radio label {
  display: block;
}

.p-form-radio input {
  display: none;
}

.p-form-radio input + span {
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  padding: 0 0 0 37px;
  padding: 0 0 0 37px;
  padding: 0 0 0 2.3125rem;
  position: relative;
}

.p-form-radio input + span::before {
  -webkit-transform: translateY(-50%);
  background: #F9F9F9;
  border: 1px solid #C5C5C5;
  border-radius: 50%;
  content: "";
  display: block;
  height: 25px;
  height: 25px;
  height: 1.5625rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  width: 25px;
  width: 1.5625rem;
}

.p-form-radio input + span::after {
  -webkit-transform: translateY(-50%);
  -webkit-transition: 0.3s;
  background: #000;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 10px;
  height: 10px;
  height: 0.625rem;
  left: 8px;
  left: 8px;
  left: 0.5rem;
  opacity: 0;
  padding: 2px;
  padding: 2px;
  padding: 0.125rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  width: 10px;
  width: 10px;
  width: 0.625rem;
}

.p-form-radio input:checked + span::after {
  opacity: 1;
}

.p-form-select {
  position: relative;
  width: 70.1737451737%;
}

.p-form-select::before {
  -webkit-transform: translatey(-50%) rotate(-45deg);
  border-bottom: 2px solid #ABABAB;
  border-left: 2px solid #ABABAB;
  content: "";
  display: block;
  height: 10px;
  height: 10px;
  height: 0.625rem;
  position: absolute;
  right: 12px;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  transform: translatey(-50%) rotate(-45deg);
  width: 10px;
  width: 10px;
  width: 0.625rem;
  z-index: 1;
}

.p-form__area--detail .p-form-select.p-form-input--medium2::before {
  height: 8px;
  height: 8px;
  height: 0.5rem;
  right: 26%;
  width: 8px;
  width: 8px;
  width: 0.5rem;
}

.p-form-select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #F9F9F9;
  background-position: right 15px top 15px;
  background-position: right 15px top 15px;
  background-position: right 0.9375rem top 0.9375rem;
  background-repeat: no-repeat;
  background-size: 0.9375rem;
  border: 1px solid #C5C5C5;
  border-radius: 0;
  color: #878787;
  cursor: pointer;
  font-size: 12px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 15px 12px;
  padding: 15px 12px;
  padding: 0.9375rem 0.75rem;
  width: 100%;
}

.p-form__area--detail .p-form-select span {
  font-size: 12px;
  font-size: 12px;
  font-size: 0.75rem;
}

.p-form-select select::-ms-expand {
  display: none;
}

.p-form-select select:focus {
  -webkit-box-shadow: none;
  border: 1px solid #ccc;
  box-shadow: none;
  outline: none;
}

.p-form-select.p-form-select--prefectures {
  margin-top: 0;
  width: 50.1547987616%;
}

.p-form-submit input {
  -webkit-transition: 0.3s;
  background-color: transparent;
  background-image: none;
  border: 1px solid #0A2854;
  border-radius: 2.5rem;
  color: #0A2854;
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  padding: 12px 0;
  padding: 12px 0;
  padding: 0.75rem 0;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
  width: 100%;
}

.p-form-submit input::-moz-focus-inner {
  border: none;
  padding: 0;
}

.p-form-submit {
  position: relative;
}

.p-form-submit p::before {
  content: "";
  display: block;
  position: absolute;
}

.wpcf7-spinner {
  display: none;
}

/*確認画面と完了画面を非表示*/
.p-confirm_area,
.p-confirm_area2 {
  display: none;
  padding-bottom: 245px;
  padding-bottom: 245px;
  padding-bottom: 15.3125rem;
  word-break: break-all;
}

.p-confirm_area {
  margin-top: 80px;
  margin-top: 80px;
  margin-top: 5rem;
}

.p-confirm__submit-input {
  margin-top: 33px;
  margin-top: 33px;
  margin-top: 2.0625rem;
}

.back_button,
.back_button2 {
  -webkit-transition-duration: 0.3s;
  cursor: pointer;
  opacity: 1;
  position: relative;
  transition-duration: 0.3s;
}

.back_button::before,
.back_button2::before {
  -webkit-transform: translateY(-50%);
  background-image: url(../../assets/images/pc/back_button--arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 15px;
  height: 15px;
  height: 0.9375rem;
  left: -30%;
  position: absolute;
  top: 70%;
  transform: translateY(-50%);
  width: 24px;
  width: 24px;
  width: 1.5rem;
}

.back_button:hover,
.back_button2:hover {
  opacity: 0.7;
}

/*デフォルトのサンクスメッセージを非表示*/
span.wpcf7-not-valid-tip {
  color: #E9518E;
}

div.wpcf7 form.invalid .wpcf7-response-output {
  display: none;
}

.p-form-textarea {
  width: 100%;
}

.p-form-textarea textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #F5F5F5;
  background-image: none;
  border-radius: 0;
  font-size: 15px;
  font-size: 15px;
  font-size: 0.9375rem;
  height: 334px;
  height: 334px;
  height: 20.875rem;
  padding: 8px 15px;
  padding: 8px 15px;
  padding: 0.5rem 0.9375rem;
  width: 100%;
}

.p-form-textarea textarea:focus {
  -webkit-box-shadow: none;
  border: 1px solid #C5C5C5;
  box-shadow: none;
  outline: none;
}

.p-form__wrap.p-form__wrap--list {
  margin-top: 40px;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-form__wrap.p-form__wrap--radio {
  margin-top: 56px;
  margin-top: 56px;
  margin-top: 3.5rem;
}

.p-form__wrap.p-form__wrap--textarea {
  margin-top: 52px;
  margin-top: 52px;
  margin-top: 3.25rem;
}

.p-form__wrap.p-form__wrap--align-left {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.p-form__wrap.p-form__wrap--top {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-form__wrap + .p-form__wrap {
  margin-top: 22px;
  margin-top: 1.375rem;
}

.p-form__label {
  align-items: center;
  display: flex;
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
}

.p-form__label p {
  font-size: 16px;
  font-size: 1rem;
}

.p-form__label span {
  font-size: 12px;
  font-size: 12px;
  font-size: 0.75rem;
}

.p-form__label__wrapper {
  align-items: center;
  display: flex;
}

.p-form__label__wrapper:not(:first-child) {
  margin-top: 22px;
  margin-top: 22px;
  margin-top: 1.375rem;
}

.p-form__area--mansion .p-form__label__wrapper .p-form__dt {
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  width: 31.884057971%;
}

.p-form__area--others .p-form__label__wrapper .p-form__dt {
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  width: 22.6086956522%;
}

.p-form__label__wrapper .p-form__unit-text {
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  margin-left: 14px;
  margin-left: 14px;
  margin-left: 0.875rem;
}

.p-form__label.p-form__label--required::before {
  content: "必須";
  display: none;
}

.p-form__label.p-form__label--required::after {
  background-color: #E9518E;
  border-radius: 0.6875rem;
  color: #fff;
  content: "必須";
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  left: 0;
  margin-left: 11px;
  margin-left: 0.6875rem;
  padding: 4px 6px;
  padding: 0.25rem 0.375rem;
  right: 11px;
  right: 0.6875rem;
}

.p-form__area--detail .p-form__label.p-form__label--required::after {
  margin-left: 0;
}

.p-form__label.p-form__label--any::before {
  content: "任意";
  display: none;
}

.p-form__label.p-form__label--any::after {
  background-color: #7D40A0;
  border-radius: 0.6875rem;
  color: #fff;
  content: "任意";
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  left: 0;
  margin-left: 11px;
  margin-left: 0.6875rem;
  padding: 4px 6px;
  padding: 0.25rem 0.375rem;
  right: 11px;
  right: 0.6875rem;
}

.p-form__input--yaku,
.p-form__input--yuubin {
  position: relative;
}

.p-form__input--yaku::before {
  -webkit-transform: translateY(-50%);
  content: "約";
  display: block;
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  height: 23px;
  height: 23px;
  height: 1.4375rem;
  left: -24px;
  left: -24px;
  left: -1.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  width: 16px;
  width: 1rem;
}

.p-form__input--yuubin::before {
  -webkit-transform: translateY(-50%);
  content: "〒";
  display: block;
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  height: 23px;
  height: 23px;
  height: 1.4375rem;
  left: -24px;
  left: -24px;
  left: -1.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  width: 16px;
  width: 1rem;
}

.p-form__statement {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  gap: 17px 5px;
  gap: 17px 5px;
  gap: 1.0625rem 0.3125rem;
  line-height: 1.4285714286;
  margin-top: 9px;
  margin-top: 9px;
  margin-top: 0.5625rem;
}

.p-form__statement.p-form__statement--bottom {
  display: block;
  margin-top: 9px;
  margin-top: 9px;
  margin-top: 0.5625rem;
}

.p-form__statement--list {
  margin-top: 23px;
  margin-top: 23px;
  margin-top: 1.4375rem;
}

.p-form__statement .p-form__statement--span {
  border: 1px solid #707070;
  border-radius: 1.4375rem;
  display: inline-block;
  padding: 2px 0;
  padding: 2px 0;
  padding: 0.125rem 0;
  text-align: center;
  width: 140px;
  width: 140px;
  width: 8.75rem;
}

.p-form__statement .p-form__statement--span.p-form__statement--small {
  width: 93px;
  width: 93px;
  width: 5.8125rem;
}

.p-form__address-wrap {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: flex;
  flex-wrap: wrap;
  gap: 22px 0;
  gap: 22px 0;
  gap: 1.375rem 0;
  justify-content: space-between;
  margin-top: 43px;
  margin-top: 43px;
  margin-top: 2.6875rem;
  padding-left: 22px;
  padding-left: 22px;
  padding-left: 1.375rem;
  position: relative;
  width: 100%;
}

.p-form__address-wrap::before {
  content: "※郵便番号を入力して頂くと住所が自動で入ります。";
  display: block;
  font-size: 12px;
  font-size: 12px;
  font-size: 0.75rem;
  left: 22px;
  left: 22px;
  left: 1.375rem;
  position: absolute;
  top: -21px;
  top: -21px;
  top: -1.3125rem;
}

.p-form__address-flex {
  display: flex;
  gap: 0 12px;
  gap: 0 12px;
  gap: 0 0.75rem;
}

.p-form__area--mansion {
  border-top: 1px solid #afafaf;
  margin-top: 36px;
  margin-top: 36px;
  margin-top: 2.25rem;
}

.p-form__area--others {
  border-top: 1px solid #afafaf;
  margin-top: 36px;
  margin-top: 36px;
  margin-top: 2.25rem;
}

.p-form__area--detail {
  border-top: 1px solid #afafaf;
  margin-top: 60px;
  margin-top: 60px;
  margin-top: 3.75rem;
  padding-bottom: 84px;
  padding-bottom: 84px;
  padding-bottom: 5.25rem;
  padding-top: 32px;
  padding-top: 32px;
  padding-top: 2rem;
}

.p-form__area--customer-info {
  border-top: 1px solid #afafaf;
  padding-top: 36px;
  padding-top: 36px;
  padding-top: 2.25rem;
}

.p-form__list-content {
  margin-top: 38px;
  margin-top: 38px;
  margin-top: 2.375rem;
}

input.js-form-submit-error,
textarea.js-form-submit-error,
select.js-form-submit-error {
  background-color: #fff1f1;
  border: 1px solid #e54646;
  color: #e54646;
}

.js-form-submit-error label span::before {
  background-color: #fff1f1;
  border: 1px solid #e54646;
  color: #e54646;
}

.p-valid__error {
  background-color: #fff1f1;
  border: 1px solid #e54646;
  color: #e54646;
  font-size: 14px;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 10px 20px 10px;
  padding: 10px 20px 10px;
  padding: 0.625rem 1.25rem 0.625rem;
}

.p-valid__error:first-child {
  margin-top: 28px;
  margin-top: 28px;
  margin-top: 1.75rem;
}

.p-valid__error:not(:first-child) {
  margin-top: 8px;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.p-form__area--mansion {
  -webkit-animation-name: fadeIn;
  -webkit-animation-fill-mode: forwards;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  animation-name: fadeIn;
  display: block;
}

.p-form__area--mansion.p-form__area--mansion-hidden {
  display: none;
  opacity: 0;
}

.p-form__area--others {
  -webkit-animation-name: fadeIn;
  -webkit-animation-fill-mode: forwards;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  animation-name: fadeIn;
  display: block;
}

.p-form__area--others.p-form__area--others-hidden {
  display: none;
  opacity: 0;
}

input[type=radio] {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}

.wpcf7-list-item.first,
.wpcf7-list-item:first-child {
  margin-left: 0;
}

span.wpcf7-list-item-label {
  /*円とテキストを横並びにする*/
  align-items: center;
  /*円とテキストを上下中央揃えにする*/
  cursor: pointer;
  display: flex;
  position: relative;
}

input[type=radio] + .wpcf7-list-item-label::before {
  /*円とテキストの間隔はここで調節*/
  background-color: #f9f9f9;
  /*円の形にする*/
  border: 1px solid #c5c5c5;
  border-radius: 50%;
  content: "";
  display: block;
  /*外側の円の幅*/
  height: 20px;
  height: 1.25rem;
  /*外側の円の高さ*/
  margin-right: 5px;
  margin-right: 0.3125rem;
  /*外側の円の太さと色*/
  width: 20px;
  width: 1.25rem;
}

input[type=checkbox] + .wpcf7-list-item-label::before {
  /*円とテキストの間隔はここで調節*/
  background-color: #f9f9f9;
  /*円の形にする*/
  border: 1px solid #c5c5c5;
  border-radius: 0.25rem;
  content: "";
  display: block;
  /*外側の円の幅*/
  height: 20px;
  height: 1.25rem;
  /*外側の円の高さ*/
  margin-right: 10px;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  /*外側の円の太さと色*/
  width: 20px;
  width: 1.25rem;
}

input[type=checkbox] + .wpcf7-list-item-label::after {
  border: solid #fff;
  border-width: 0 2px 2px 0;
  content: "";
  height: 12px;
  height: 0.75rem;
  left: 6px;
  left: 0.375rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg) scale(0);
  transition: transform 0.3s ease;
  width: 6px;
  width: 0.375rem;
}

input[type=radio] + .wpcf7-list-item-label::after {
  /*内側の円の高さ*/
  background-color: #E9518E;
  border-radius: 50%;
  content: "";
  display: block;
  display: none;
  /*内側の円の幅*/
  height: 12px;
  /*内側の円の色*/
  left: 4px;
  position: absolute;
  /*横位置調整*/
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  /*内側の円の高さ*/
  background-color: #E9518E;
  border: 1px solid #E9518E;
  content: "";
  display: block;
  /*内側の円の幅*/
  height: 20px;
  height: 1.25rem;
  width: 20px;
  width: 1.25rem;
  /*内側の円の色*/
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  transform: translateY(-50%) rotate(45deg) scale(1);
}

input[type=radio]:checked + .wpcf7-list-item-label::after {
  display: block;
  /*ラジオボタンがチェックされたとき表示*/
}

.p-form-input-radio-button {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.p-form-textarea {
  background-color: #f5f5f5;
  border-radius: 15px;
  font-size: 14px;
  font-size: 0.875rem;
  height: 178px;
  height: 11.125rem;
  margin-top: 5px;
  margin-top: 0.3125rem;
  padding: 15px;
  padding: 0.9375rem;
}

.p-form__wrap--acceptance {
  text-align: center;
}

.p-form__submit {
  margin-top: 20px;
  margin-top: 1.25rem;
  position: relative;
}

.p-form__submit::before {
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  display: block;
  height: 9px;
  height: 0.5625rem;
  position: absolute;
  right: 22px;
  right: 1.375rem;
  top: 50%;
  transform: translatey(-50%) rotate(-135deg);
  width: 9px;
  width: 0.5625rem;
}

.wpcf7-submit {
  background-color: #E9518E;
  border-radius: 2.1875rem;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  min-width: 280px;
  min-width: 17.5rem;
  padding: 20px;
  padding: 1.25rem;
  width: 100%;
}

.wpcf7-submit::before {
  -webkit-transform: translatey(-50%) rotate(-45deg);
  border-bottom: 2px solid #ABABAB;
  border-left: 2px solid #ABABAB;
  content: "";
  display: block;
  height: 10px;
  height: 10px;
  height: 0.625rem;
  position: absolute;
  right: 12px;
  right: 12px;
  right: 0.75rem;
  top: 50%;
  transform: translatey(-50%) rotate(-45deg);
  width: 10px;
  width: 10px;
  width: 0.625rem;
  z-index: 1;
}

/* drawer */
/*　ハンバーガーボタン　*/
.p-hamburger {
  cursor: pointer;
  display: block;
  height: 2.375rem;
  padding-inline: 0.75rem;
  position: absolute;
  right: 0.9375rem;
  text-align: center;
  top: 0.625rem;
  width: 2.875rem;
  z-index: 150;
}

.p-hamburger__line {
  background: #E9528E;
  display: block;
  height: 1.5px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.3s ease-in-out;
  width: 2.125rem;
}

.p-hamburger__line:nth-of-type(1) {
  top: 0rem;
}

.p-hamburger__line:nth-of-type(2) {
  top: 0.5rem;
}

.p-hamburger__line:nth-of-type(3) {
  top: 1rem;
}

.p-hamburger__text {
  bottom: 0;
  color: #E9528E;
  font-size: 0.75rem;
  font-weight: 500;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.3s;
}

/* ナビ開いてる時のボタン */
.p-hamburger.active .p-hamburger__line:nth-of-type(1) {
  top: 0.625rem;
  transform: translateX(-50%) rotate(-45deg);
}

.p-hamburger.active .p-hamburger__line:nth-of-type(2),
.p-hamburger.active .p-hamburger__line:nth-of-type(3) {
  top: 0.625rem;
  transform: translateX(-50%) rotate(45deg);
}

.p-hamburger.active .p-hamburger__text {
  opacity: 0;
  visibility: hidden;
}

.p-header {
  padding-top: 70px;
  padding-top: 4.375rem;
}

.header__logo-text {
  color: #E9518E;
  font-size: min(6vw, 36px);
  font-size: min(6vw, 2.25rem);
  font-weight: 400;
  text-align: center;
}
.p-privacy-policy-wrapper {
  padding-bottom: 16px;
  padding-bottom: 1rem;
  padding-top: 77px;
  padding-top: 4.8125rem;
}

.p-privacy-policy-wrapper p {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.7;
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.p-privacy-policy-wrapper p a {
  font-size: 14px;
  font-size: 0.875rem;
}

.p-privacy-policy-wrapper p:has(a) {
  margin-top: 12px;
  margin-top: 0.75rem;
  text-align: center;
}

.p-privacy-policy-wrapper h1 {
  color: #7D40A0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.p-privacy-policy-wrapper h4 {
  color: #7D40A0;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  margin-top: 4px;
  text-align: center;
}

.p-privacy-policy-wrapper h2 {
  color: #E9518E;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-privacy-policy-wrapper ol {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-privacy-policy-wrapper ol ol {
  margin-left: 8px;
  margin-left: 0.5rem;
  margin-top: 0;
}

.p-privacy-policy-wrapper ol ol ol {
  margin-left: 0;
}

.p-privacy-policy-wrapper ol li {
  counter-increment: cnt1;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.65;
  padding-left: 1em;
  text-indent: -1em;
}

.p-privacy-policy-wrapper ol li ol li {
  counter-increment: cnt2;
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.p-privacy-policy-wrapper ol li ol li ol li {
  counter-increment: cnt3;
}

.p-privacy-policy-wrapper ol li::before {
  color: #E9518E;
  content: counter(cnt1) ". ";
  display: marker;
}

.p-privacy-policy-wrapper ol li ol li::before {
  color: #E9518E;
  content: "(" counter(cnt2) ") ";
  display: marker;
}

.p-privacy-policy-wrapper ol li ol li ol li::before {
  color: #E9518E;
  content: counter(cnt3) ". ";
  display: marker;
}

.p-privacy-policy-titlearea {
  padding-bottom: 80px;
  padding-bottom: 5rem;
}
.entry-meta {
  padding-top: 2rem;
}

.entry-title {
  background-color: #F3E7FD;
  border-left: 2px solid #E9528E;
  font-size: 2rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 30px;
  margin-bottom: 2rem;
  margin-top: 3rem;
  padding: 1rem 2rem 1rem 1rem;
}

.entry-content {
  margin-top: 2rem;
}

.back-button {
  display: block;
  margin-top: 3rem;
}

.p-topfooter {
  background: #F3E7FD;
  padding-block: 0.625rem;
}

.p-topfooter__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.p-topfooter__link {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.p-topfooter__icon {
  height: 1.875rem;
  width: 1.875rem;
}

.p-topfooter__icon img {
  -o-object-fit: contain;
  aspect-ratio: 1/1;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.p-topfooter__text {
  color: #7D40A0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9285714286;
}

.p-topheader {
  background: #FFF;
  border-bottom: 1px solid #E9528E;
  padding-block: 0.5rem;
}

.p-topheader__logo {
  display: inline-block;
  width: 7.25rem;
}

.p-topheader__logo img {
  -o-object-fit: contain;
  aspect-ratio: 116/51;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.time-container-wrapper {
  padding: 0 20px;
  padding: 0 1.25rem;
  width: 100%;
}

.time-container {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: -4px;
  margin-top: -0.25rem;
}

.time-container span {
  font-size: 24px;
  font-size: 1.5rem;
  padding: 0px;
  padding: 0rem;
}

.time-container .time-container-colon {
  margin-top: -30px;
  margin-top: -1.875rem;
}

.time {
  align-items: center;
  border-radius: 1rem;
  color: #7D40A0;
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 3.2px;
  margin: 0.2rem;
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}
.u-font14 {
  font-size: 14px;
  font-size: 0.875rem;
}

.u-font16 {
  font-size: 16px;
  font-size: 1rem;
}

.u-font18 {
  font-size: 18px;
  font-size: 1.125rem;
}

.u-font20 {
  font-size: 20px;
  font-size: 1.25rem;
}

.u-font22 {
  font-size: 22px;
  font-size: 1.375rem;
}

.u-font24 {
  font-size: 24px;
  font-size: 1.5rem;
}

.u-font28 {
  font-size: 28px;
  font-size: 1.75rem;
}

.u-font32 {
  font-size: 32px;
  font-size: 2rem;
}

.u-font40 {
  font-size: 40px;
  font-size: 2.5rem;
}

.u-hover {
  transition: opacity 0.5s;
}

.u-hover:hover {
  opacity: 0.6;
  transition: opacity 0.5s;
}

.u-lh10 {
  line-height: 1;
}

.u-lh13 {
  line-height: 1.3;
}

.u-lh15 {
  line-height: 1.5;
}

.u-lh16 {
  line-height: 1.6;
}

.u-lh20 {
  line-height: 2;
}

.u-ls05 {
  letter-spacing: 0.05em;
}

.u-ls10 {
  letter-spacing: 0.1em;
}

.u-ls15 {
  letter-spacing: 0.15em;
}

.u-ls20 {
  letter-spacing: 0.2em;
}

.u-mt10 {
  margin-top: 10px !important;
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.u-mt20 {
  margin-top: 20px !important;
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.u-mt30 {
  margin-top: 30px !important;
  margin-top: 30px !important;
  margin-top: 1.875rem !important;
}

.u-mt40 {
  margin-top: 40px !important;
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.u-mt50 {
  margin-top: 50px !important;
  margin-top: 50px !important;
  margin-top: 3.125rem !important;
}

.u-mt60 {
  margin-top: 60px !important;
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.u-mt70 {
  margin-top: 70px !important;
  margin-top: 70px !important;
  margin-top: 4.375rem !important;
}

.u-mt80 {
  margin-top: 80px !important;
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.u-mt90 {
  margin-top: 90px !important;
  margin-top: 90px !important;
  margin-top: 5.625rem !important;
}

.u-mt100 {
  margin-top: 100px !important;
  margin-top: 100px !important;
  margin-top: 6.25rem !important;
}

.u-mt110 {
  margin-top: 110px !important;
  margin-top: 110px !important;
  margin-top: 6.875rem !important;
}

.u-mt120 {
  margin-top: 120px !important;
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.u-mt130 {
  margin-top: 130px !important;
  margin-top: 130px !important;
  margin-top: 8.125rem !important;
}

.u-mt140 {
  margin-top: 140px !important;
  margin-top: 140px !important;
  margin-top: 8.75rem !important;
}

.u-mt150 {
  margin-top: 150px !important;
  margin-top: 150px !important;
  margin-top: 9.375rem !important;
}

.u-mt160 {
  margin-top: 160px !important;
  margin-top: 160px !important;
  margin-top: 10rem !important;
}

.u-mt170 {
  margin-top: 170px !important;
  margin-top: 170px !important;
  margin-top: 10.625rem !important;
}

.u-mt180 {
  margin-top: 180px !important;
  margin-top: 180px !important;
  margin-top: 11.25rem !important;
}

.u-mt190 {
  margin-top: 190px !important;
  margin-top: 190px !important;
  margin-top: 11.875rem !important;
}

.u-mt200 {
  margin-top: 200px !important;
  margin-top: 200px !important;
  margin-top: 12.5rem !important;
}
.u-shadow {
  box-shadow: 0 0 13px rgba(255, 0, 0, 0.5);
}

.u-sp {
  display: none;
}

.u-sp {
  display: none;
}

.u-textLeft {
  text-align: Left !important;
}

.u-textCenter {
  text-align: Center !important;
}

.u-textRight {
  text-align: Right !important;
}

.u-textJustify {
  text-align: Justify !important;
}
.u-w300 {
  font-weight: 300;
}

.u-w400 {
  font-weight: 400;
}

.u-w500 {
  font-weight: 500;
}

.u-w600 {
  font-weight: 600;
}

.u-w700 {
  font-weight: 700;
}

.u-w900 {
  font-weight: 900;
}

@media (min-width: 431px) and (max-width: 1023px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 600px) {
  ul.cur-step-bar li:not(:last-child)::after {
    right: -25px;
    top: 28%;
    width: 50px;
  }
}

@media screen and (min-width: 768px) {
  .c-hoverRun:hover {
    background-size: 100% 1px;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-imgHover:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .c-imgHover:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
  .c-underBar:hover:before {
    opacity: 0;
    transition: 0.5s all;
  }
}

@media screen and (min-width: 769px) {
  .u-mobile {
    display: none;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  a:hover {
    opacity: 0.8;
  }
  button.cur-registration-page-btn {
    font-size: 1rem;
    margin: auto;
    margin-top: -0.1875rem;
    width: 20.25rem;
  }
  button.cur-registration-page-btn::before {
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    height: 8px;
    width: 8px;
  }
  button.cur-authentication-page-btn {
    font-size: 1rem;
    margin: auto;
    margin-top: 2.25rem;
  }
  button.cur-authentication-page-btn::before {
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    height: 8px;
    width: 8px;
  }
  .lp__register-link-balloon:before {
    border: 4px solid transparent;
    border-top: 7px solid #fff;
    margin-left: -6px;
  }
  .lp__register-link {
    font-size: 1rem;
    margin: auto;
    margin-top: 0rem;
    width: 370px;
  }
  .lp__register-link a {
    padding: 0.9375rem;
  }
  .lp__register-link::before {
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    height: 8px;
    width: 8px;
  }
  .lp__form-link-list {
    align-items: center;
    flex-direction: column;
    font-size: 0.875rem;
    justify-content: center;
    margin-top: 0.9375rem;
  }
  .lp__form-link-list p {
    margin-left: 0;
    margin-top: 0.4375rem;
    text-align: left;
  }
  .p-header {
    padding-top: 12.5rem;
  }
  .p-privacy-policy-wrapper h1 {
    letter-spacing: 0.05em;
  }
  .u-desktop {
    display: block;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  html {
    font-size: 1.3333vw;
  }
}

@media screen and (min-width: 1024px) {
  ul.cur-step-bar li:not(:last-child)::after {
    right: -17%;
    top: 28%;
    width: 27px;
  }
  .l-inner {
    max-width: 1160px;
    padding-inline: 1.25rem;
  }
  .l-topfooter {
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .l-topheader {
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .l-main-header {
    right: 13.0208333333%;
    width: 430px;
    width: 26.875rem;
  }
  .l-main {
    background-color: #fff;
    margin-left: auto;
    margin-right: 13.0208333333%;
    max-width: 430px;
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .l-main-header.l-main-header--fw {
    width: 26.875rem;
  }
  .l-main-header {
    right: 13.0208333333%;
    width: 430px;
    width: 26.875rem;
  }
  .l-main-footer {
    right: 13.0208333333%;
    width: 430px;
    width: 26.875rem;
  }
  .c-headline {
    font-size: 1rem;
    padding-left: 0.625rem;
  }
  .chat-room-header {
    left: unset;
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .chat-room-footer {
    left: unset;
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .crh-post-review-page-header {
    left: unset;
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .crh-view-review-page-header {
    left: unset;
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .crh-close-btn {
    right: calc(13.0208333333% + 1.25rem);
  }
  .ct-tab-menu {
    left: unset;
    right: 13.0208333333%;
    width: min(100%, 26.875rem);
  }
  .ct-post-mylog-button {
    right: calc(13.0208333333% + 1.25rem);
  }
  .ct-reaction-mylog-button {
    left: unset;
    right: calc(13.0208333333% + 22.5rem);
  }
  .ct-post-header {
    left: unset;
    right: 13.0208333333%;
    width: min(100%, 26.875rem);
  }
  .cup-profile-footer {
    right: calc(13.0208333333% + 1.25rem);
  }
  .globalMenuSp {
    left: auto;
    right: 13.0208333333%;
    width: 26.875rem;
  }
  .lp__main {
    background-color: #fff;
    margin-left: auto;
    margin-right: 13.0208333333%;
    max-width: 430px;
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .lp__wrapper::before {
    background-image: url(../../assets/images/top/top-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    display: block;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 0;
  }
  .lp_logo {
    background-image: url(../../assets/images/top/therame-logo.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 3.4375rem;
    margin-top: 4.625rem;
    padding-top: 7.65625%;
    position: fixed;
    width: 17.3958333333%;
    z-index: 1;
  }
  .lp__wrapper--noheader .lp_logo {
    margin-top: 3.0625rem;
  }
  .lp__main-lower {
    max-width: unset;
    width: 26.875rem;
  }
}

@media screen and (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 1800px) {
  html {
    font-size: 0.8888888889vw;
  }
}

@media (max-width: 768px) {
  .bar {
    height: auto;
    max-width: 100%;
    min-height: 500px;
  }
  .bar_main_image {
    height: auto;
    left: -50px;
    min-height: 400px;
    width: calc(100% + 100px);
  }
  .bar_decorative_pink {
    opacity: 0.2;
  }
  .bar_gradient_overlay {
    height: 250px;
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {
  html.therame-user, body.therame-user {
    overflow: hidden;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
  .l-section {
    padding: 0;
  }
  .c-column2 {
    gap: 1.875rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column2--gap60 {
    gap: 2.5rem;
  }
  .c-column2--gapSp20 {
    gap: 1.25rem;
  }
  .c-column3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4--sp2 {
    grid-template-columns: repeat(2, 1fr);
  }
  body.therame-user .lp__main.lp__main-lower {
    height: 100svh;
    overflow: scroll;
  }
  .u-mtSp10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .u-mtSp20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .u-mtSp30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }
  .u-mtSp40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .u-mtSp50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
  }
  .u-mtSp60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .u-mtSp70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
  }
  .u-mtSp80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .u-mtSp90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
  }
  .u-mtSp100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
  }
  .u-mtSp110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
  }
  .u-mtSp120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
  }
  .u-mtSp130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
  }
  .u-mtSp140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
  }
  .u-mtSp150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
  }
  .u-mtSp160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
  }
  .u-mtSp170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
  }
  .u-mtSp180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
  }
  .u-mtSp190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
  }
  .u-mtSp200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
  }
  .u-textMdLeft {
    text-align: Left !important;
  }
  .u-textMdCenter {
    text-align: Center !important;
  }
  .u-textMdRight {
    text-align: Right !important;
  }
  .u-textMdJustify {
    text-align: Justify !important;
  }
}

@media (max-width: 430px) {
  html {
    font-size: 3.721427vw;
  }
}

@media (any-hover: hover) {
  .custom-top-news-section-item-link:hover {
    opacity: 0.8;
  }
  .custom-top-button-swiper-overlay-btn--fw {
    opacity: 0.8;
  }
  .custom-top-register-button--fw {
    opacity: 0.8;
  }
}
/*# sourceMappingURL=sourcemaps/styles.css.map */