@charset "UTF-8";
/* CSS Document */

/* B案：淡いピンクベージュのグラデーション＋白い内枠 */
:root {
  --hiyoko-button-gradient: linear-gradient(110deg, #eadbd5 0%, #faf4ed 50%, #eadbd5 100%);
  --hiyoko-button-border: #d8c3ba;
  --hiyoko-button-text: #65513f;
}

@media screen and (max-width: 760px) {
  .l-header-nav2 .l-header-nav-list__item2 {
    position: relative;
    background-color: #eadbd5;
    background-image: var(--hiyoko-button-gradient);
    border: 1px solid var(--hiyoko-button-border);
  }

  .l-header-nav2 .l-header-nav-list__item2::after {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid #fff;
    border-radius: 5px;
    pointer-events: none;
  }

  .l-header-nav2 .l-header-nav-list__maintxt2,
  .l-header-nav2 .l-header-nav-list__subtxt2 {
    color: var(--hiyoko-button-text);
  }
}

.pagelink-button-wrapper {
  border: 1px solid var(--hiyoko-button-border);
  border-radius: 8px;
}

.pagelink-button-wrapper::after {
  border-color: #fff;
  border-radius: 4px;
}

/* 全ページ共通の一覧リンクボタン */
.pagelink-button-wrapper .pagelink-button,
.pagelink-button-wrapper .pagelink-button:hover,
.pagelink-button-wrapper a:focus-visible .pagelink-button {
  background-color: #eadbd5;
  background-image: var(--hiyoko-button-gradient);
}



.pagelink-button-wrapper .pagelink-txt {
  color: var(--hiyoko-button-text);
}

/* Hiyoko Club: 全ページ共通のピンクゴールド見出し */
:root {
  --hiyoko-heading-gold: #a66f65;
  --hiyoko-heading-sub: #8f625b;
}

.p-section__header .ttl,
.p-section__header-mini .ttl,
.p-section__header-sub .ttl,
.p-section__header-type3 .ttl,
body .system-menu-head-ttl,
body .access-head-ttl,
body .access-room-ttl,
body .howto-head-ttl,
body .recruit-menu-head-ttl,
body .recruit-contact-head-ttl,
body .cp_h1title2,
body .p-section-profile__subtitle,
body .shop-introduction-col1-ttl,
body .c-list-news2__ttl,
body .c-list-news-all__ttl,
body .c-list-news-rich01__ttl,
body .c-list-news01__ttl,
body .top_topics .topics_title {
  color: var(--hiyoko-heading-gold);
}

.p-section__header .sub,
.p-section__header-mini .sub,
.p-section__header-sub .sub,
.p-section__header-type3 .sub,
body .system-menu-head-subttl,
body .access-head-subttl,
body .howto-head-subttl,
body .p-section-profile__comment__title {
  color: var(--hiyoko-heading-sub);
}

/* プロフィールの文字グラデーションにも同じ見出し色を適用 */
body .p-section-profile__subtitle.txt_gradation-staff-subttl {
  background-image: none;
  -webkit-text-fill-color: var(--hiyoko-heading-gold);
}



/* パネルの出勤状態の色 */
/*
.c-list-therapist__status--notime {
  background: rgba(255, 116, 159, 0.8);
}

.c-list-therapist__status--reservable {
  background: rgba(80, 163, 193, 0.9);
}

.c-list-therapist__status--soldout {
  background: rgba(173, 56, 56, 0.9);
}

.c-list-therapist__status--end {
  background: rgba(100, 100, 100, 0.9);
}

.c-list-therapist__status--work {
  background: rgba(204, 157, 0, 0.9);
}

.c-list-therapist__status--today {
  background: rgba(83, 193, 142, 0.8);
}

.c-list-therapist__status--notime {
  background: rgba(100, 100, 100, 0.9);
}

.c-list-therapist__status--reservable {
  background: rgba(255, 30, 30, 0.9);
}

.c-list-therapist__status--soldout {
  background: rgba(100, 100, 100, 0.9);
}

.c-list-therapist__status--end {
  background: rgba(100, 100, 100, 0.9);
}

.c-list-therapist__status--work {
  background: rgba(255, 30, 30, 0.9);
}

.c-list-therapist__status--today {
  background: rgba(255, 30, 30, 0.9);
}
*/
/* パネルの出勤状態の色 */

/* Hiyoko Club: 共通料金パーツ。summernoteの本文・画像は対象外 */
body .system-menu__content {
  margin-bottom: 32px;
}

body .system-menu__border {
  padding: clamp(20px, 4vw, 40px);
  background: #fffdfc;
  border: 1px solid #e7d6ce;
  border-radius: 10px;
  outline: none;
}

body .system-menu__border > .system-menu-head {
  padding: 12px 16px;
  background: var(--hiyoko-button-gradient);
  border: 1px solid var(--hiyoko-button-border);
  border-radius: 5px;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.7);
}

body .system-menu-head > .system-menu-head-ttl {
  margin: 0;
  color: var(--hiyoko-heading-sub);
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.12em;
}

body .system-menu-head > .system-menu-head-subttl {
  margin: 4px 0 0;
  color: #92776a;
  font-size: 1.3rem;
  line-height: 1.7;
}

body .system-menu-head:has(> .system-menu-head-ttl:empty):has(> .system-menu-head-subttl:empty) {
  display: none;
}

body .system-menu__border > .system-menu__item {
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid #eddfd8;
  list-style: none;
}

body .system-menu__border > .system-menu__item:not(:has(~ .system-menu__item)) {
  padding-bottom: 0;
  border-bottom: 0;
}

body .system-menu__item > .system-menu__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
}

body .system-menu__item > .system-menu__main::after {
  display: none;
}

body .system-menu__main > .system-menu__left {
  padding: 0;
  color: #705b53;
  font-size: 1.8rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

body .system-menu__main > .system-menu__right {
  color: #986d60;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

body .system-menu__item > .system-menu__desc {
  margin: 5px 0 0;
  color: #85756e;
  font-size: 1.3rem;
  line-height: 1.8;
}

body .system-menu__item > .system-menu__desc:empty {
  display: none;
}

body .system-menu__border > .price-midashi {
  margin: 28px 0 0;
  padding: 10px 14px;
  border-left: 3px solid #c69b8e;
  background: linear-gradient(110deg, #f3e8e3, #fcf8f5);
  color: var(--hiyoko-heading-sub);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.06em;
  overflow-wrap: anywhere;
}

body .system-menu__border > .price-midashi:empty {
  display: none;
}

@media screen and (max-width: 760px) {
  body .system-add-img.system-wide { padding-right: 0; padding-left: 0; }
  body .system-menu__main > .system-menu__left { font-size: 1.6rem; }
  body .system-menu__main > .system-menu__right { font-size: 1.9rem; }
  body .system-menu-head > .system-menu-head-ttl { font-size: 1.8rem; }
}

/* Hiyoko Club: 新着情報一覧。エディタ本文の装飾は変更しない */
body .c-list-news-all {
  padding: 0;
  background: transparent;
  border: 0;
}

body .c-list-news-all > .c-list-news2__item {
  position: relative;
  margin: 0 0 32px;
  padding: clamp(20px, 4vw, 36px);
  background: #fffdfc;
  border: 1px solid #e7d6ce;
  border-top: 3px solid #d8b8aa;
  border-radius: 10px;
}

body .c-list-news-all > .c-list-news2__item:last-child {
  margin-bottom: 0;
}

body .c-list-news-all > .c-list-news2__item > .c-list-news2__date {
  display: inline-block;
  margin: 0 0 16px;
  padding: 5px 14px;
  background: var(--hiyoko-button-gradient);
  border: 1px solid var(--hiyoko-button-border);
  border-radius: 20px;
  color: #81665a;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
}

body .c-list-news-all > .c-list-news2__item > .c-list-news2__ttl {
  margin: 0 0 24px;
  padding: 0 0 18px;
  border-bottom: 1px solid #e7d6ce;
  color: var(--hiyoko-heading-sub);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.035em;
  overflow-wrap: anywhere;
}

body .c-list-news-all > .c-list-news2__item > .c-list-news2__ttl:empty,
body .c-list-news-all > .c-list-news2__item > .c-list-news2__date:empty {
  display: none;
}

@media screen and (max-width: 760px) {
  body .c-list-news-all > .c-list-news2__item {
    padding: 20px 16px;
    margin-bottom: 24px;
  }
  body .c-list-news-all > .c-list-news2__item > .c-list-news2__ttl {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}

/* Hiyoko Club: 求人・予約・写メ日記・アクセス共通テーマ */
body .recruit-menu__border,
body .access__border {
  padding: clamp(20px, 4vw, 40px);
  border: 1px solid #e7d6ce;
  border-radius: 10px;
  background: #fffdfc;
}
body .recruit-menu-head:has(> .recruit-menu-head-ttl:empty) { display: none; }
body .recruit-list-item,
body .recruit-list-item:last-child { margin: 0; padding: 0; border: 0; border-bottom: 1px solid #eadbd5; }
body .recruit-list-item:last-child { border-bottom: 0; }
body .recruit-list-date {
  margin: 0;
  padding: 12px 16px;
  background: var(--hiyoko-button-gradient);
  color: var(--hiyoko-heading-sub);
  font-weight: 600;
  border-left: 3px solid #c69b8e;
  line-height: 1.7;
}
body .recruit-list-content { padding: 18px 16px 24px; }
body .recruit-contact-head-ttl { font-size: 2.4rem; line-height: 1.6; }
body .recruit-contact-head hr { border: 0; height: 1px; background: #e7d6ce; margin: 16px auto; max-width: 160px; }

body .recruit-contact-button-wrapper,
body .diary-button2-wrapper {
  width: min(320px, 100%);
  height: auto;
  border: 1px solid var(--hiyoko-button-border);
  border-radius: 8px;
  background: var(--hiyoko-button-gradient);
  box-shadow: inset 0 0 0 3px #fff;
}
body .recruit-contact-button-wrapper > a,
body .diary-button2-wrapper > a { display: block; }
body .recruit-contact-button,
body .diary-button2 { padding: 15px 16px; background: transparent; transform: none; }
body .recruit-contact-button:hover { transform: none; background: rgba(255,255,255,.25); }
body .recruit-contact-button .recruit-contact-txt,
body .diary-button2 .pagelink-button2-txt { color: var(--hiyoko-button-text); font-size: 1.6rem; }

body .webyoyaku-tell-waku {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 14px;
  padding: 20px; border: 1px solid #e7d6ce; border-radius: 10px;
  background: var(--hiyoko-button-gradient);
}
body .webyoyaku-tell-gold__txt a { color: var(--hiyoko-button-text); font-size: clamp(18px, 3vw, 24px); }
body .webyoyaku-Form {
  margin-top: 32px; padding: clamp(18px, 4vw, 32px);
  background: #fffdfc; border: 1px solid #e7d6ce; border-radius: 10px;
}
body .webyoyaku-Form-Item {
  display: grid; grid-template-columns: minmax(180px, .9fr) minmax(0, 1.3fr);
  gap: 20px; padding: 22px 0; border: 0; border-bottom: 1px solid #eadbd5;
}
body .webyoyaku-Form-Item:nth-child(5) { border-bottom-color: #eadbd5; }
body .webyoyaku-Form-Item-Label { color: #705b53; max-width: none; line-height: 1.7; }
body .webyoyaku-Form-Item-Label-Required {
  padding: 3px 6px; width: auto; border-radius: 4px;
  background: #f0e2dc; border: 1px solid #d8b8aa; color: #80554c; font-size: 11px;
}
body .webyoyaku-Form-Item-Input,
body .webyoyaku-Form-Item-Textarea {
  margin: 0; width: 100%; min-width: 0; max-width: none;
  border: 1px solid #d8c3ba; border-radius: 6px;
  background-color: #fff; color: #5e514b; font-size: 16px;
}
body .webyoyaku-Form-Item-Textarea { padding: 12px; resize: vertical; }
body .webyoyaku-Form-Item-Input:focus-visible,
body .webyoyaku-Form-Item-Textarea:focus-visible {
  outline: 2px solid #b78b7c; outline-offset: 2px;
}
body .webyoyaku-Form-Btn {
  width: min(300px, 100%); min-height: 52px; padding: 14px;
  background: var(--hiyoko-button-gradient); color: var(--hiyoko-button-text);
  border: 1px solid var(--hiyoko-button-border); border-radius: 8px;
  box-shadow: inset 0 0 0 3px #fff; font-size: 1.7rem;
}
body .webyoyaku-Form #AgreementCheck { accent-color: #a66f65; }

body .p-section-profile-diary {
  gap: 18px; padding: 0 10px; margin: 24px auto 0;
}
body .p-section-profile-diary > a.diary-list {
  display: block; overflow: hidden; border: 1px solid #e7d6ce;
  border-radius: 10px; background: #fffdfc;
}
body .p-section-profile-diary > a.diary-list > li { list-style: none; }
body .p-section-profile-diary > a.diary-list > li > img { display: block; }
body .p-section-profile-diary .diary-list-txt-box {
  position: static; padding: 12px 8px; background: #fffdfc; color: #705b53; line-height: 1.7;
}
body .p-section-profile-diary .diary-list-txt-box .name { color: #8f625b; font-weight: 600; }
body .p-section-profile-diary .diary-list-txt-box .time { color: #8a7870; font-size: 11px; }
body .p-section-profile-diary .diary-list-txt-box .title { overflow-wrap: anywhere; }
body .p-section-profile-diary-name { color: #8f625b; letter-spacing: .06em; }

body .access-head {
  padding: 10px 14px; border: 1px solid #d8c3ba; border-radius: 5px;
  background: var(--hiyoko-button-gradient); box-shadow: inset 0 0 0 3px #fff;
}
body .access-head-ttl { margin: 0; font-size: 2rem; line-height: 1.8; }
body .access-head-subttl { margin: 4px 0 0; }
body .access-head:has(> .access-head-ttl:empty):not(:has(> .access-head-subttl:not(:empty))) { display: none; }
body .access-root { gap: 20px; }
body .access-root > li { overflow: hidden; border: 1px solid #e7d6ce; border-radius: 8px; background: #fff; }
body .access-root-photo img { display: block; height: auto; }
body .access-root-txt { padding: 16px; color: #705b53; line-height: 1.8; }
body .access__border > .google-map {
  margin: 28px 0 0; padding: 0; height: 380px;
  overflow: hidden; border: 1px solid #e7d6ce; border-radius: 8px;
}
body .access__border > .google-map iframe { height: 100%; }
body .access__pagelink-btn,
body .access__pagelink-btn.line { background: var(--hiyoko-button-gradient); color: var(--hiyoko-button-text); border: 1px solid #d8c3ba; font-size: 1.8rem; }

@media screen and (max-width: 760px) {
  body .webyoyaku-Form-Item { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 0; }
  body .webyoyaku-Form-Item-Input { height: 48px; }
  body .p-section-profile-diary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body .access__border > .google-map { height: 300px; }
  body .access-head-ttl { font-size: 1.8rem; }
}

/* Hiyoko Club: セラピストプロフィール共通 */
body .p-section-profile { max-width: 1200px; margin: 0 auto; gap: 28px; }
body .p-section-profile__img,
body .p-section-profile__main { min-width: 0; }
body .p-section-profile__waku,
body .p-section-profile__waku1,
body .p-section-profile__waku2 {
  padding: 22px;
  border: 1px solid #e7d6ce;
  border-radius: 10px;
  background: #fffdfc;
}
body .p-section-profile__waku,
body .p-section-profile__waku2 { margin-top: 24px; }
body .p-section-profile .p-section-profile__subtitle {
  margin: 0 0 20px;
  padding: 10px 14px;
  background: var(--hiyoko-button-gradient);
  border: 1px solid #d8c3ba;
  border-radius: 5px;
  color: var(--hiyoko-heading-sub);
  -webkit-text-fill-color: var(--hiyoko-heading-sub);
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: .08em;
}
body .p-section-profile .p-section-profile__subtitle::before { display: none; }
body .p-section-profile__profile { padding: 0; color: #705b53; }
body .p-section-profile__profile p.p-section-profile__profile__name {
  color: #8f625b; font-size: 2.6rem; font-weight: 600; margin-bottom: 8px;
}
body .p-section-profile__profile__catch_phrase {
  color: #8f625b; font-size: 1.7rem; line-height: 1.8;
}
body .p-section-profile-featureicon__item { gap: 8px; }
body .p-section-profile-featureicon__item > li {
  padding: 8px 10px; max-height: none; border: 1px solid #e1cbc1;
  border-radius: 5px; background: #f7eee9; color: #8f625b; font-size: 1.4rem;
}
body .p-section-profile__qa-q {
  margin: 20px 0 8px; padding: 8px 12px;
  border-left: 3px solid #c69b8e; background: #f5ebe6;
  color: #8f625b; font-weight: 600;
}
body .p-section-profile__qa-a { padding: 0 12px; margin-bottom: 18px; line-height: 1.8; }
body .p-section-profile__option2__item { gap: 10px; }
body .p-section-profile__option2__item > li {
  display: flex; align-items: center; padding: 12px;
  border: 1px solid #eadbd5; border-radius: 5px; background: #f8f1ed; color: #705b53;
}
body .p-section-profile__option2__item > li span.right { color: #8f625b; justify-content: center; }
body .p-section-profile__comment { margin-bottom: 0; }
body .p-section-profile__comment .p-section-profile__comment__title {
  padding-bottom: 8px; border-bottom: 1px solid #e7d6ce; color: #8f625b; font-weight: 600;
}
body .p-section-profile .shame-btn {
  height: auto; padding: 12px 16px; margin: 20px auto 0; line-height: 1.7;
  background: var(--hiyoko-button-gradient); border: 1px solid #d8c3ba;
  box-shadow: inset 0 0 0 3px #fff; color: var(--hiyoko-button-text);
}
body .p-section-profile .p-section-profile-diary { padding: 0; gap: 10px; }
body .p-section-profile .p-section-profile-diary a li { box-shadow: none; }
body .p-section-profile .gallery-thumbs { margin-top: 10px; }
body .p-section-profile .gallery-thumbs .swiper-slide-thumb-active { outline: 2px solid #c69b8e; outline-offset: -2px; }
body .p-section-profile .c-list-schedule__item { border-color: #e7d6ce; overflow: hidden; }
body .p-section-profile .c-list-schedule__item:first-child { border-top: 1px solid #e7d6ce; border-radius: 6px 6px 0 0; }
body .p-section-profile .c-list-schedule__item:last-child { border-radius: 0 0 6px 6px; }
body .p-section-profile .c-list-schedule__date {
  background: var(--hiyoko-button-gradient); color: #8f625b; border-color: #e7d6ce;
}
body .p-section-profile .c-list-schedule__content { background: #fffdfc; border-color: #e7d6ce; }
body .p-section-profile .c-list-schedule__txt { color: #705b53; }
body .p-section-profile .c-list-schedule__room { background: #f3e6df; color: #8f625b; border-radius: 4px; }
body .p-section-profile .c-list-schedule__room:empty { display: none; }
@media screen and (max-width: 760px) {
  body .p-section-profile { padding: 0 10px; margin: 0; }
  body .p-section-profile__main { padding: 0; margin-top: 24px; }
  body .p-section-profile__waku,
  body .p-section-profile__waku1,
  body .p-section-profile__waku2 { padding: 16px; }
  body .p-section-profile__option2__item { grid-template-columns: minmax(0, 1fr); }
}

/* プロフィール枠内の日記は二重の枠にしない */
body .p-section-profile__waku1 > .p-section-profile__waku2 {
  padding: 0; border: 0; background: transparent;
}

/* 下層ページ共通：画面端から最低10pxのコンテンツ余白 */
body.hiyoko-inner-page .l-main > .l-container {
  box-sizing: border-box;
  padding-inline: 10px;
}

/* 下層の全幅ブロックも共通余白の内側に収める */
body.hiyoko-inner-page .l-main .add-wide,
body.hiyoko-inner-page .l-main .add-wide2 {
  margin-inline: 0;
  padding-inline: 0;
  max-width: 100%;
}

/* スマホでプロフィール情報・日記が両方非表示なら親枠も隠す */
@media screen and (max-width: 760px) {
  body .p-section-profile__main .p-section-profile__waku1:not(:has(> .p-section-profile__waku2:not(.prof-parts-noreply))) {
    display: none;
  }
}

/* アクセスの道順写真を正方形いっぱいに表示 */
body .access-root-photo {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
body .access-root-photo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* コンセプト本文の外枠。summernote内部の装飾は維持 */
body .hiyoko-concept-card {
  position: relative;
  padding: clamp(24px, 4vw, 48px) clamp(18px, 4vw, 40px);
  background: #fffdfc;
  border: 1px solid #e7d6ce;
  border-radius: 10px;
}
body .hiyoko-concept-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 16px;
  right: 16px;
  height: 4px;
  background: var(--hiyoko-button-gradient);
  border-radius: 0 0 4px 4px;
  pointer-events: none;
}

/* セラピスト絞り込みはURLを持たない操作ボタン */
body .diary-button2-wrapper > button.diary-button2 {
  display: block; width: 100%; margin: 0; border: 0;
  font: inherit; cursor: pointer; color: var(--hiyoko-button-text);
}
#IMPopupPlate li.StaffSelectItem > .staff-filter-button {
  display: block; width: 100%; padding: 0; margin: 0;
  border: 0; background: transparent; color: inherit;
  font: inherit; text-align: inherit; cursor: pointer;
}
body .diary-button2-wrapper > button:focus-visible,
#IMPopupPlate .staff-filter-button:focus-visible {
  outline: 2px solid #a66f65; outline-offset: -3px;
}
