/* Pulin-hair time のHPの見た目（当社で書いたもの）。
   色の値は pulin.css（店の色）にある。幅の区切りは 1000px（タブレット）と 680px（スマホ）。 */

:root {
  --font-serif-en: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --font-serif-ja: "Zen Old Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  --font-sans-ja: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --font-sans-en: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-serif: "Cormorant Garamond", var(--font-serif-ja);
  --font-sans: "Helvetica Neue", Helvetica, Arial, var(--font-sans-ja);
  --fs-1: 15px;
  --fs-2: 18px;
  --fs-3: 22px;
  --fs-4: 26px;
  --fs-5: 31px;
  --fs-6: 37px;
  --fs-7: 45px;
  --fs-8: 54px;
  --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --header-h: 90px;
}
/* 文字の段階は、タブレットとスマホで小さくする */
@media (max-width: 1000px) { :root { --fs-1: 14px; --fs-2: 17px; --fs-3: 20px; --fs-4: 24px; --fs-5: 29px; --fs-6: 35px; --fs-7: 42px; --fs-8: 50px; } }
@media (max-width: 680px) { :root { --fs-1: 13px; --fs-2: 15px; --fs-3: 17px; --fs-4: 20px; --fs-5: 23px; --fs-6: 26px; --fs-7: 30px; --fs-8: 35px; } }

/* 下地 */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 15px; font-feature-settings: "palt" 1; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
body { margin: 0; font-family: var(--font-sans); font-weight: 400; color: var(--c-title); background-color: var(--c-base); transition: background-color 400ms var(--ease); }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, table { margin: 0; padding: 0; }
h1, h2, h3, h4 { font-size: inherit; font-weight: inherit; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: auto; }
table { border-collapse: collapse; border-spacing: 0; }
iframe { border: 0; }
::selection { color: var(--c-title); background: var(--c-border); }
/* ヘッダーの重ね方（plus-lighter）は、この囲みの中の写真の上でだけ効く（ページの地の色とは重ねない） */
#wrapAll { position: relative; z-index: 1; overflow: hidden; }
.l-main { position: relative; z-index: 1; }
.show_sp { display: none; }
@media (max-width: 1000px) { html { font-size: 13px; } }
@media (max-width: 680px) { .show_sp { display: block; } .show_pctb { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* 写真（背景で入れる。site.js が data-bgi を入れ、スクロールで少し動かす） */
.js-lazy_bgi { display: block; width: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; }
.js-sa__image { position: absolute; inset: 0; z-index: 1; background-repeat: no-repeat; background-position: center; background-size: cover; transform-origin: center; }
.js-sa__float { will-change: transform; }
.ratio { position: relative; overflow: hidden; }

/* ヘッダー */
.l-header { position: fixed; top: var(--search-support-notice-height, 0px); left: 0; z-index: 9999; width: 100%; mix-blend-mode: plus-lighter; transition: background-color 300ms var(--ease); }
/* スクロールしたら（site.js が is-scrolled を付ける）、下の文や写真と重ならないよう地の色を敷く */
.l-header.is-scrolled { mix-blend-mode: normal; background-color: var(--c-base); }
.l-header__wrap { width: 90%; margin: 0 auto; padding: 2rem 0; }
.l-header__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.l-header__logo { display: block; width: 140px; transition: opacity 200ms var(--ease); }
.p-logo__text, .p-logo__symbol { position: relative; display: block; overflow: hidden; }
.p-logo__text::before { content: ""; display: block; padding-top: 24%; }
.l-header__nav__ul { white-space: nowrap; font-size: 0; }
.l-header__nav__li { display: inline-block; vertical-align: middle; margin-left: .9rem; }
.l-header__nav__li.is-reserve { margin-left: 1.1rem; }
.l-header__nav__link { display: block; padding: 1rem; font-family: var(--font-serif); font-size: calc(1rem + 1px); font-weight: 500; letter-spacing: .06em; line-height: 1.7; }
.l-header__nav__title, .l-header__nav__wave, .l-header__hbg__modal__nav__title, .l-header__hbg__modal__nav__wave { display: none; }
.l-header__nav__subtitle { display: block; position: relative; }
.l-header__nav__li.is-reserve .l-header__nav__link { position: relative; padding: 0 1.5rem; border: 1px solid var(--c-border); border-radius: 2em; line-height: 1.5; transition: background-color 200ms var(--ease), color 200ms var(--ease); }
/* 「ご予約」の枠は細いので、押せる範囲を上下に広げる（見た目は変えない） */
.l-header__nav__li.is-reserve .l-header__nav__link::after { content: ""; position: absolute; inset: -12px -4px; }
.l-header__nav__li.is-reserve .l-header__nav__wrap { position: relative; top: -1px; }
.l-header__reserve, .l-header__hbg__icon { display: none; }
@media (min-width: 1001px) {
  .l-header__logo:hover { opacity: .5; }
  .l-header__nav__li.is-reserve .l-header__nav__link:hover { color: #fff; background-color: rgba(0, 0, 0, .2); }
}
@media (max-width: 1000px) {
  .l-header__wrap { padding: 2.5rem 0; }
  .l-header__logo { width: 120px; }
  .l-header__nav__li:first-child { display: none; }
  /* 押せる範囲は上下に広げ、ヘッダーの高さは変えない */
  .l-header__nav__link { padding: .8rem .5rem; margin: -.8rem 0; }
  .l-header__nav__li.is-reserve .l-header__nav__link { margin: 0; padding: 0 1rem; }
}
@media (max-width: 680px) {
  .l-header__wrap { padding: 2.2rem 0 2rem; }
  .l-header__logo { width: 110px; }
  .l-header__inner > div:nth-child(2) { display: none; }
  .l-header__reserve { display: block; position: fixed; z-index: 99990; top: calc(var(--search-support-notice-height, 0px) + var(--header-h) / 2); right: calc(5vw + 4.5rem); margin-top: -1px; padding: .2em 1em; transform: translateY(-50%); font-family: var(--font-serif); font-size: 1rem; letter-spacing: .06em; line-height: 1; border: 1px solid var(--c-border); border-radius: 2em; }
  .l-header__reserve > span { position: relative; top: -1px; }
  .l-header__reserve::after { content: ""; position: absolute; inset: -14px -6px; }
  .l-header__hbg__icon { display: block; position: fixed; z-index: 99999; top: calc(var(--search-support-notice-height, 0px) + var(--header-h) / 2); right: calc(5vw - .5rem); transform: translateY(-50%); }
}

/* スマホのメニューの開け閉めのボタン（3本線） */
.l-header__hbg__icon > a { display: block; position: relative; width: 4rem; height: 4rem; cursor: pointer; }
.l-header__hbg__icon > a ul { position: relative; top: 50%; left: 50%; width: 3rem; height: 1rem; transform: translate(-50%, -50%); }
.l-header__hbg__icon > a li { position: absolute; left: 50%; width: 100%; height: 1px; background-color: var(--c-title); transform: translate(-50%, -50%); transition: transform 200ms var(--ease), top 200ms var(--ease) 200ms, opacity 200ms var(--ease), background-color 200ms var(--ease); }
.l-header__hbg__icon > a li:nth-child(1) { top: 0; }
.l-header__hbg__icon > a li:nth-child(2) { top: 50%; }
.l-header__hbg__icon > a li:nth-child(3) { top: 100%; }
body.is-menu-open .l-header__hbg__icon > a li { top: 50%; background-color: var(--c-dark-title); transition: transform 200ms var(--ease) 200ms, top 200ms var(--ease), opacity 0ms linear 200ms, background-color 200ms var(--ease); }
body.is-menu-open .l-header__hbg__icon > a li:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
body.is-menu-open .l-header__hbg__icon > a li:nth-child(2) { opacity: 0; }
body.is-menu-open .l-header__hbg__icon > a li:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }

/* スマホのメニュー（全画面） */
.l-header__hbg__modal { display: none; position: fixed; inset: 0; z-index: 0; visibility: hidden; opacity: 0; transition: opacity 400ms var(--ease), visibility 400ms var(--ease); }
.l-header__hbg__modal::before { content: ""; position: absolute; inset: 0; background-color: var(--c-dark-base); }
.l-header__hbg__modal__wrap { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.l-header__hbg__modal__inner { width: 90%; margin: 0 auto; text-align: center; }
.l-header__hbg__modal__logo { display: none; }
.l-header__hbg__modal__nav { padding-bottom: 2rem; }
.l-header__hbg__modal__nav__li { margin-bottom: .8rem; }
.l-header__hbg__modal__nav__link { display: inline-block; font-family: var(--font-serif); font-size: calc(var(--fs-4) - 2px); letter-spacing: .04em; line-height: 2; color: var(--c-dark-title); }
.l-header__hbg__modal__nav__li.is-reserve { padding-top: 1rem; }
.l-header__hbg__modal__nav__li.is-reserve .l-header__hbg__modal__nav__link { position: relative; padding: 0 1.5rem; font-size: calc(var(--fs-4) - 1px); line-height: 1.5; border: 1px solid var(--c-border); border-radius: 2em; }
.l-header__hbg__modal__nav__li.is-reserve .l-header__hbg__modal__nav__wrap { position: relative; top: -1px; }
.l-header__hbg__modal__instagram { display: block; width: 20px; margin: 0 auto; padding: 1rem; box-sizing: content-box; color: var(--c-dark-title); }
.l-header__hbg__modal__instagram > span { position: relative; display: block; width: 20px; height: 20px; }
.l-header__hbg__modal__instagram svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.l-header__hbg__modal__instagram > span > span, .l-footer__instagram > span > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.l-header__hbg__modal__address { display: block; font-family: var(--font-serif-ja); font-size: 12px; letter-spacing: .04em; line-height: 2; color: var(--c-dark-title); }
.l-header__hbg__modal__address a { color: inherit; text-decoration: underline; }
@media (max-width: 680px) { .l-header__hbg__modal { display: block; } }
body.is-menu-open .l-header__hbg__modal { z-index: 99998; visibility: visible; opacity: 1; }

/* 予約の案内（ポップアップ） */
.l-reserve__modal { position: fixed; inset: 0; z-index: 0; visibility: hidden; opacity: 0; color: var(--c-light-title); transition: opacity 400ms var(--ease), visibility 400ms var(--ease); }
.l-reserve__modal::before { content: ""; position: absolute; inset: 0; background-color: var(--c-overlay); }
.l-reserve__modal__wrap { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.l-reserve__modal__inner { position: relative; width: 60rem; padding: 3rem 4rem 4rem; background-color: var(--c-light-base); border-radius: 3px; }
.l-reserve__modal__head__wrap, .l-reserve__modal__foot { text-align: center; }
.l-reserve__modal .b-common__title, .l-reserve__modal .b-common__text { color: var(--c-light-title); }
.l-reserve__modal__head .b-common__text { text-align: center; }
.l-reserve__modal .b-common__attention { text-align: left; }
.l-reserve__modal .b-common__attention li { color: var(--c-light-text); }
.l-reserve__modal__close { position: absolute; top: 0; right: 0; width: max(3rem, 44px); height: max(3rem, 44px); overflow: hidden; cursor: pointer; background-color: var(--c-light-base-2); border-left: 1px solid var(--c-light-border); border-bottom: 1px solid var(--c-light-border); }
.l-reserve__modal__close::before, .l-reserve__modal__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 80%; height: 1px; background-color: var(--c-light-title); transform: translate(-50%, -50%) rotate(45deg); }
.l-reserve__modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
body.is-reserve-open .l-reserve__modal { z-index: 100000; visibility: visible; opacity: 1; }
/* メニュー・予約の案内を開いている間は、後ろのページを動かさない */
body.is-menu-open, body.is-reserve-open { overflow: hidden; }
@media (min-width: 1001px) { .l-reserve__modal__close:hover { background-color: var(--c-light-base-3); } }
@media (max-width: 1000px) { .l-reserve__modal__inner { width: 90%; padding: 2.5rem 5vw 4rem; } }
@media (max-width: 680px) { .l-reserve__modal__inner { width: 100%; padding: 3rem 5vw 4rem; border-radius: 0; } }

/* 予約の3つの行き先（ポップアップと、ページの下の「ご予約」の欄で共通の形） */
.reserve-options { --opt-line: var(--c-border); --opt-text: var(--c-title); --opt-pill: var(--c-base); --opt-hover: var(--c-base-3); }
.l-reserve__modal__list { --opt-line: var(--c-light-border); --opt-text: var(--c-light-title); --opt-pill: transparent; --opt-hover: var(--c-light-base-2); }
.b-common__reserve__list, .l-reserve__modal__list { --opt-line: var(--c-border); }
.l-reserve__modal__list { --opt-line: var(--c-light-border); --opt-text: var(--c-light-title); }
.b-common__reserve__list ul, .l-reserve__modal__list ul { display: flex; align-items: flex-start; width: 100%; }
.b-common__reserve__list li, .l-reserve__modal__list li { position: relative; text-align: center; }
.b-common__reserve__list a, .l-reserve__modal__list a { position: relative; display: block; overflow: hidden; }
.b-common__reserve__list dl, .l-reserve__modal__list dl { position: relative; z-index: 1; }
.b-common__reserve__list dt, .l-reserve__modal__list dt { position: relative; display: block; height: 8rem; }
.b-common__reserve__list dt > span, .l-reserve__modal__list dt > span { position: absolute; top: 50%; left: 50%; display: block; transform: translate(-50%, -50%); }
.b-common__reserve__list dt svg, .l-reserve__modal__list dt svg { display: block; width: 100%; height: 100%; }
.b-common__reserve__list .is-line, .l-reserve__modal__list .is-line { width: 4.5rem; height: 4.5rem; }
.b-common__reserve__list .is-hotpepper, .l-reserve__modal__list .is-hotpepper { width: 8.5rem; height: 2.715rem; }
.b-common__reserve__list .is-tel, .l-reserve__modal__list .is-tel { font-family: var(--font-serif-ja); font-size: var(--fs-3); letter-spacing: .08em; line-height: 1; white-space: nowrap; }
.b-common__reserve__list .is-tel__sp, .l-reserve__modal__list .is-tel__sp { display: none; }
.b-common__reserve__list dd, .l-reserve__modal__list dd { font-family: var(--font-serif-ja); font-size: calc(var(--fs-1) - 2px); letter-spacing: .06em; line-height: 2; }
.b-common__reserve__list dd > span, .l-reserve__modal__list dd > span { position: relative; padding: .3em 1.5em; border: 1px solid var(--c-border); border-radius: 30px; background-color: var(--c-base); transition: background-color 200ms var(--ease); }
.l-reserve__modal__list dt, .l-reserve__modal__list dd { color: var(--c-light-title); }
.l-reserve__modal__list dd > span { border-color: var(--c-light-border); background-color: transparent; }
.b-common__reserve__list dd svg, .l-reserve__modal__list dd svg { display: inline-block; width: 1.2em; height: 1.2em; vertical-align: sub; }
.l-reserve__modal__list li { flex: auto; }
.l-reserve__modal__list li:nth-child(1), .l-reserve__modal__list li:nth-child(3) { width: 30%; }
.l-reserve__modal__list li:nth-child(2) { width: 40%; }
.l-reserve__modal__list li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: 0; width: 1px; height: 2rem; background-color: var(--c-light-border); transform: translateY(-50%); }
.l-reserve__modal__list a { padding: 2rem 0 3rem; }
@media (min-width: 1001px) {
  .l-reserve__modal__list a:hover dd > span { background-color: var(--c-light-base-2); }
  .b-common__reserve__list a:hover { background-color: var(--c-base-3); }
}
@media (max-width: 1000px) {
  .b-common__reserve__list dt, .l-reserve__modal__list dt { height: 7rem; }
  .b-common__reserve__list .is-line, .l-reserve__modal__list .is-line { width: 4rem; height: 4rem; }
  .b-common__reserve__list .is-hotpepper, .l-reserve__modal__list .is-hotpepper { width: 8rem; height: 2.555rem; }
  .l-reserve__modal__list dd > span > span { display: none; }
}
@media (max-width: 680px) {
  .b-common__reserve__list .is-hotpepper, .l-reserve__modal__list .is-hotpepper { width: 7rem; height: 2.236rem; }
  .b-common__reserve__list .is-tel, .l-reserve__modal__list .is-tel { display: none; }
  .b-common__reserve__list .is-tel__sp, .l-reserve__modal__list .is-tel__sp { display: block; width: 3.5rem; height: 3.5rem; }
  .b-common__reserve__list dd, .l-reserve__modal__list dd { font-size: 10px; letter-spacing: 0; }
  .b-common__reserve__list dd > span > span { display: none; }
  .l-reserve__modal__list a { padding: 1rem 0 2rem; }
}

/* 見出し・文・リンク・注意書き */
.b-common__title { display: block; margin-bottom: .5em; font-family: var(--font-serif-en); font-size: var(--fs-8); font-weight: 400; letter-spacing: .02em; line-height: 1.5; }
.is-wave { display: inline; position: relative; }
.is-wave > span { display: none; }
.b-common__text { display: block; font-family: var(--font-serif-ja); font-size: var(--fs-1); letter-spacing: .02em; line-height: 2.2; text-align: justify; }
.b-common__text a { text-decoration: underline; }
.b-common__lead { margin-bottom: .5em; font-family: var(--font-serif); font-size: var(--fs-3); letter-spacing: .02em; line-height: 2; }
.b-common__link { position: relative; display: block; width: 16rem; margin-top: 3em; overflow: hidden; font-family: var(--font-sans-en); font-size: calc(var(--fs-1) - 1px); letter-spacing: .04em; line-height: 3.5; }
.b-common__link > span { position: relative; display: block; overflow: hidden; }
.b-common__link > span::before, .b-common__link > span::after { content: ""; position: absolute; bottom: 0; height: 1px; }
.b-common__link > span::before { left: 0; width: 100%; background-color: var(--c-border); }
.b-common__link > span::after { left: 100%; width: 0; background-color: var(--c-sub); transition: width 300ms var(--ease), left 300ms var(--ease); }
.b-common__link svg, .b-top__service__list a > span svg { position: absolute; top: calc(50% + .1em); right: 0; width: 19px; height: 19px; transition: opacity 300ms var(--ease), transform 300ms var(--ease); }
.b-common__link svg:nth-of-type(1), .b-top__service__list a > span svg:nth-of-type(1) { opacity: 1; transform: translateY(-50%); }
.b-common__link svg:nth-of-type(2), .b-top__service__list a > span svg:nth-of-type(2) { opacity: 0; transform: translate(-50%, -50%); }
@media (min-width: 1001px) {
  .b-common__link:hover > span::after, .b-top__service__list a:hover > span::after { left: 0; width: 100%; }
  .b-common__link:hover svg:nth-of-type(1), .b-top__service__list a:hover > span svg:nth-of-type(1) { opacity: 0; transform: translate(50%, -50%); }
  .b-common__link:hover svg:nth-of-type(2), .b-top__service__list a:hover > span svg:nth-of-type(2) { opacity: 1; transform: translateY(-50%); }
  .b-common__text a:hover { text-decoration: none; }
}
.b-common__attention { padding-top: 1rem; font-size: 0; }
.b-common__attention li { display: inline; margin: 0 1em .6em 0; font-family: var(--font-sans-ja); font-size: 12px; letter-spacing: .1em; line-height: 1.9; color: var(--c-sub); }
.b-common__attention li::before { content: "※"; }
@media (max-width: 1000px) {
  .b-common__title { font-size: var(--fs-7); }
  .b-common__text { letter-spacing: 0; }
  .b-common__link { width: 15rem; }
}
@media (max-width: 680px) {
  .b-common__title { font-size: calc(var(--fs-7) + 2px); letter-spacing: .01em; }
  .b-common__link { width: 100%; margin-top: 2em; }
  .b-common__attention li { font-size: 11px; }
}

/* 節と2列の組み方 */
.b-common__section { position: relative; padding: 8rem 0; }
.b-common__wrap { position: relative; z-index: 1; width: 90%; margin: 0 auto; }
.b-common__fl { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
.b-common__fl__left, .b-common__fl__right { width: 50%; }
.b-common__wellness { position: relative; display: block; max-width: 36rem; margin: 0 auto; overflow: hidden; }
.b-common__wellness::before { content: ""; display: block; padding-top: 113.6%; }
@media (max-width: 1000px) { .b-common__section { padding: 6rem 0; } }
@media (max-width: 680px) {
  .b-common__section { padding: 4rem 0; }
  .b-common__fl { display: block; }
  .b-common__fl__left, .b-common__fl__right { width: 100%; }
}

/* ページの下の「ご予約」の欄 */
.b-common__reserve { position: relative; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.b-common__reserve__wrap { position: relative; z-index: 1; }
.b-common__reserve__fl { display: table; width: 100%; }
.b-common__reserve__fl__left { display: table-cell; width: 30%; vertical-align: middle; border-right: 1px solid var(--c-border); }
.b-common__reserve__fl__left__wrap { padding: 0 5vw; }
.b-common__reserve__fl__left .b-common__text { word-break: break-all; }
.b-common__reserve__fl__right { display: table-cell; vertical-align: middle; }
.b-common__reserve__list li { flex: 1; border-right: 1px solid var(--c-border); }
.b-common__reserve__list li:last-child { border-right: none; }
.b-common__reserve__list a { padding: 12rem 0; transition: background-color 200ms var(--ease); }
@media (max-width: 1000px) {
  .b-common__reserve__fl__left { width: 50%; }
  .b-common__reserve__list ul { display: block; }
  .b-common__reserve__list li { border-right: none; border-bottom: 1px solid var(--c-border); }
  .b-common__reserve__list li:last-child { border-bottom: none; }
  .b-common__reserve__list a { padding: 2.5rem 0; }
}
@media (max-width: 680px) {
  .b-common__reserve { padding: 4rem 0 5rem; background-color: var(--c-base-2); }
  .b-common__reserve .b-common__title, .b-common__reserve .b-common__text { text-align: center; }
  .b-common__reserve__fl { display: block; }
  .b-common__reserve__fl__left { display: block; width: 100%; border-right: none; }
  .b-common__reserve__fl__right { display: block; width: 100%; }
  .b-common__reserve__fl__right .b-common__attention { width: 90%; margin: 0 auto; text-align: left; }
  .b-common__reserve__list ul { display: flex; }
  .b-common__reserve__list li { flex: auto; border-bottom: none; }
  .b-common__reserve__list li:nth-child(1), .b-common__reserve__list li:nth-child(3) { width: 30%; }
  .b-common__reserve__list li:nth-child(2) { width: 40%; }
  .b-common__reserve__list li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: 0; width: 1px; height: 2rem; background-color: var(--c-border); transform: translateY(-50%); }
  .b-common__reserve__list a { padding: 1rem 0 2rem; }
}

/* お知らせの箱 */
.b-common__news { position: relative; width: 100%; padding: 4rem; background-color: var(--c-base-2); }
.b-common__news__wrap { position: relative; z-index: 1; }
.b-common__news__title { display: block; margin-bottom: 1em; }
.b-common__news__title .wrap { display: block; }
.b-common__news__title .title { display: inline-block; font-family: var(--font-serif-ja); font-size: var(--fs-2); letter-spacing: .02em; line-height: 1; }
.b-common__news__title .tag { display: inline-block; margin-right: .5em; padding: .2em .6em; font-family: var(--font-sans); font-size: calc(var(--fs-1) - 1px); letter-spacing: .04em; line-height: 1; color: var(--c-paper); background-color: var(--c-title); border-radius: 1em; }
.b-common__news__content { display: block; font-family: var(--font-serif-ja); font-size: var(--fs-1); letter-spacing: .02em; line-height: 2; }
@media (max-width: 680px) {
  .b-common__news { padding: 2rem; }
  .b-common__news__title .wrap { text-align: center; }
  .b-common__news__title .title { display: block; margin: 1em 0; }
  .b-common__news__title .tag { margin-right: 0; font-size: 10px; }
}

/* 下層ページの頭（見出し・ページ内の目次・写真） */
.b-common__head { padding-top: calc(var(--header-h) * 2); padding-bottom: 0; }
.b-common__head .b-common__title { text-align: center; }
.b-common__head__image .image { position: relative; overflow: hidden; }
.b-common__head__image .image::before { content: ""; display: block; padding-top: 50%; }
.b-common__nav { width: 100%; max-width: 60rem; margin: 0 auto; padding: 3rem 0; }
.b-common__nav ul { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
.b-common__nav li { position: relative; flex: 1; }
.b-common__nav li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: 0; width: 1px; height: 1em; background-color: var(--c-border); transform: translateY(-50%); }
.b-common__nav a { display: block; padding: 1em; text-align: center; font-family: var(--font-serif); font-size: calc(1rem + 2px); font-weight: 500; letter-spacing: .06em; line-height: 1; white-space: nowrap; color: var(--c-title); }
.b-common__nav a span { position: relative; display: inline-block; padding-right: 2em; }
.b-common__nav a svg { position: absolute; top: calc(50% + .1em); right: 0; width: 16px; height: 16px; transition: opacity 300ms var(--ease), transform 300ms var(--ease); }
.b-common__nav a svg:nth-of-type(1) { opacity: 1; transform: translateY(-50%); }
.b-common__nav a svg:nth-of-type(2) { opacity: 0; transform: translateY(-100%); }
@media (min-width: 1001px) {
  .b-common__nav a:hover svg:nth-of-type(1) { opacity: 0; transform: translateY(0); }
  .b-common__nav a:hover svg:nth-of-type(2) { opacity: 1; transform: translateY(-50%); }
}
@media (max-width: 1000px) { .b-common__nav a svg { width: 14px; height: 14px; } }
@media (max-width: 680px) {
  .b-common__head__image .image::before { padding-top: 100%; }
  .b-common__nav { padding: 2rem 0; }
  .b-common__nav ul { justify-content: space-between; }
  .b-common__nav li { flex: auto; }
  .b-common__nav li::after { content: ""; position: absolute; top: 50%; right: 0; width: 1px; height: 1em; background-color: var(--c-border); transform: translateY(-50%); }
  .b-common__nav li:first-child::before, .b-common__nav.is-menu li:nth-child(4)::before { content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: 1em; background-color: var(--c-border); transform: translateY(-50%); }
  .b-common__nav.is-menu li { width: 33.3333%; }
  .b-common__nav a { padding: 1em .8em; letter-spacing: 0; }
  .b-common__nav a span { display: block; padding: 0; text-align: left; }
  .b-common__nav a svg { width: 12px; height: 12px; }
}

/* トップ：最初の画面 */
.b-top__mv { position: relative; }
.b-top__mv__wrap { width: 90%; margin: 0 auto; }
.b-top__mv__head { padding-top: calc(var(--header-h) * 3); padding-bottom: calc(var(--header-h) * .5); }
.b-top__mv__head__wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; width: 100%; }
.b-top__mv__lead__en { display: block; font-family: var(--font-serif-en); font-size: 4vw; letter-spacing: .02em; line-height: 1.5; }
.b-top__mv__text { display: block; width: 25vw; padding-bottom: 1rem; font-family: var(--font-sans-en); font-size: 11px; letter-spacing: .02em; line-height: 1.7; }
.b-top__mv__image { position: relative; overflow: hidden; }
.b-top__mv__image::before { content: ""; display: block; padding-top: 66.66%; }
@media (max-width: 1000px) {
  .b-top__mv__lead__en { font-size: 5.5vw; }
  .b-top__mv__text { font-size: 10px; letter-spacing: 0; }
}
@media (max-width: 680px) {
  .b-top__mv__head__wrap { display: block; }
  .b-top__mv__lead__en { margin-bottom: .5em; font-size: 9vw; letter-spacing: 0; white-space: nowrap; }
  .b-top__mv__text { width: 100%; padding-bottom: 0; }
  .b-top__mv__image::before { padding-top: 120%; }
}

/* トップ：お店について（重なる4枚の写真と、流れる文字） */
.b-top__about .b-common__fl { align-items: flex-end; }
.b-top__about .b-common__fl__left__wrap { width: 80%; margin: 0 auto; }
.b-top__about .b-common__fl__right__wrap { width: 80%; margin-left: auto; }
.b-top__about__image__wrap { position: relative; }
.b-top__about__image { position: absolute; }
.b-top__about__image .image { position: relative; overflow: hidden; }
.b-top__about__image .image::before { content: ""; display: block; padding-top: 100%; }
.b-top__about__image:nth-child(1) { position: relative; z-index: 10; width: 100%; margin: 0 auto; }
.b-top__about__image:nth-child(1) .image::before { padding-top: 120%; }
.b-top__about__image:nth-child(2) { z-index: 5; width: 60%; left: 60%; bottom: -10%; }
.b-top__about__image:nth-child(3) { z-index: 0; width: 50%; right: 70%; top: 70%; }
.b-top__about__image:nth-child(4) { z-index: 20; width: 60%; right: 80%; top: 30%; }
.b-top__about__stream { position: absolute; top: 35%; left: 0; z-index: 0; transform: translateY(-50%); }
.js-stream { position: absolute; top: 50%; left: 0; z-index: 10; width: 100%; white-space: nowrap; user-select: none; transform: translateY(-50%); }
.js-stream__box { position: relative; display: block; font-family: var(--font-serif-en); font-size: 8vw; font-weight: 300; letter-spacing: .06em; line-height: 1; white-space: nowrap; color: var(--c-border); opacity: .5; }
.js-stream__box__wrap { position: relative; display: inline-block; white-space: nowrap; transform: translateX(-33.333%); }
.js-stream__box__wrap > span { display: inline-block; padding: 0 5vw; }
.js-stream.is-running .js-stream__box__wrap { animation: pulin-stream var(--stream-duration, 20s) linear infinite; }
@keyframes pulin-stream { from { transform: translateX(-33.333%); } to { transform: translateX(0); } }
@media (max-width: 1000px) { .js-stream__box { font-size: 10vw; } }
@media (max-width: 680px) {
  .b-top__about { padding-top: 6rem; }
  .b-top__about .b-common__fl__left__wrap { width: 65%; }
  .b-top__about .b-common__fl__right { padding-top: 20%; }
  .b-top__about .b-common__fl__right__wrap { width: 85%; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) { .js-stream.is-running .js-stream__box__wrap { animation: none; } }

/* トップ：ヘッドスパ・メニュー（色を入れ替える2つの節） */
.b-top__wellness .b-common__fl, .b-top__service .b-common__fl { flex-direction: row-reverse; }
.b-top__wellness .b-common__fl__left__wrap { width: 80%; margin: 0 auto; }
.b-top__wellness .b-common__fl__right__wrap { width: 80%; margin: 0 auto; }
.b-top__service { padding-top: 0; }
.b-top__service .b-common__fl__right__wrap { width: 80%; margin: 0 auto; }
.b-top__service .b-common__fl__left__wrap { width: 80%; margin: 0 auto; }
.b-top__service__image__wrap { display: flex; flex-wrap: wrap; align-items: flex-end; width: calc(100% + 2.5vw); margin: 0 0 10% -1.25vw; }
.b-top__service__image { flex: 1; padding: 0 1.25vw; }
.b-top__service__image:nth-child(1) { flex: 2; }
.b-top__service__image .image { position: relative; overflow: hidden; }
.b-top__service__image .image::before { content: ""; display: block; padding-top: 100%; }
.b-top__service__image:nth-child(1) .image::before { padding-top: 75%; }
.b-top__service__list ul { display: flex; flex-wrap: wrap; align-items: flex-start; width: calc(100% - 1px + 3vw); margin-left: -1.5vw; }
.b-top__service__list li { width: 50%; padding: 0 1.5vw; }
.b-top__service__list li:nth-child(-n+2) a { border-top: 1px solid var(--c-border); }
.b-top__service__list a { position: relative; display: block; font-family: var(--font-sans); font-size: var(--fs-4); letter-spacing: .06em; line-height: 1; }
.b-top__service__list a > span { position: relative; display: block; padding: 2em 0; overflow: hidden; }
.b-top__service__list a > span::before, .b-top__service__list a > span::after { content: ""; position: absolute; bottom: 0; height: 1px; }
.b-top__service__list a > span::before { left: 0; width: 100%; background-color: var(--c-border); }
.b-top__service__list a > span::after { left: 100%; width: 0; background-color: var(--c-sub); transition: width 300ms var(--ease), left 300ms var(--ease); }
.b-top__service__list dd { margin-top: .8em; font-size: 12px; color: var(--c-sub); }
@media (max-width: 1000px) {
  .b-top__wellness .b-common__fl__left__wrap { width: 100%; }
  .b-top__wellness .b-common__fl__right__wrap { margin-left: 0; }
  .b-top__service .b-common__fl__right__wrap { width: 100%; }
  .b-top__service .b-common__fl__left__wrap { margin-right: 0; }
  .b-top__service__list a { font-size: var(--fs-3); }
}
@media (max-width: 680px) {
  .b-top__wellness .b-common__fl__left__wrap { width: 90%; }
  .b-top__wellness .b-common__fl__right { margin-top: 3rem; }
  .b-top__wellness .b-common__fl__right__wrap { width: 85%; margin: 0 auto; }
  .b-top__service .b-common__fl__right { padding-top: 6rem; }
  .b-top__service .b-common__fl__left__wrap { width: 85%; margin: 0 auto; }
  .b-top__service__image__wrap { width: calc(100% + 10px); margin-left: -5px; }
  .b-top__service__image { padding: 0 5px; }
  .b-top__service__image:nth-child(1) { flex: auto; width: 100%; margin-bottom: 10px; }
  .b-top__service__list ul { width: calc(100% - 1px + 5vw); margin-left: -2.5vw; }
  .b-top__service__list li { padding: 0 2.5vw; }
  .b-top__service__list dd { font-size: 11px; }
}

/* トップ：店舗情報（流れる写真の帯） */
.b-top__salon { padding-top: 4rem; }
.b-top__salon__splide { position: relative; }
/* 写真の帯は、マウスを乗せる・押す・キーボードで選ぶと止まる（site.js）。選んだときは枠を出す */
.b-top__salon__splide .splide:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-top__salon__splide .splide__slide img { width: auto; height: 100%; }
.b-top__salon .b-common__wrap { padding-top: 4rem; }
.b-top__salon__head { width: 100%; margin-bottom: 4rem; text-align: center; }
.b-top__salon .b-common__text { text-align: center; }
.b-top__salon .b-common__link { margin-left: auto; margin-right: auto; text-align: left; }
.b-top__salon__body { max-width: 1000px; margin: 0 auto; }
@media (max-width: 680px) {
  .b-top__salon { padding-top: 3rem; }
  .b-top__salon .b-common__link { width: 15rem; }
}

/* 写真の帯（Splide。MIT。動かすのは site.js） */
.splide { position: relative; visibility: hidden; }
.splide.is-initialized, .splide.is-rendered { visibility: visible; }
.splide__track { position: relative; z-index: 0; overflow: hidden; }
.splide__list { display: flex; height: 100%; margin: 0 !important; padding: 0 !important; backface-visibility: hidden; }
.splide__slide { position: relative; flex-shrink: 0; margin: 0; list-style-type: none !important; backface-visibility: hidden; }
.splide__slide img { vertical-align: bottom; }
.splide:not(.is-initialized) .splide__list { gap: 2rem; height: 35vw; }
@media (max-width: 680px) { .splide:not(.is-initialized) .splide__list { gap: 5vw; height: 60vw; } }
.no-js .splide { visibility: visible; }

/* メニューのページ */
.b-menu__menu { padding-top: 0; }
.b-menu__menu .b-common__wrap { max-width: 1200px; }
.b-menu__menu__head { padding: 6rem 0; }
.b-menu__menu__head .b-common__text { text-align: center; }
.b-menu__menu__list { border-top: 1px solid var(--c-border); }
.b-menu__menu__list__wrap { display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; }
.b-menu__menu__list__head { width: 25%; }
.b-menu__menu__list__body { width: 75%; padding: 2rem 0; }
.b-menu__menu__list__category { position: relative; display: inline-block; padding: 5rem 0; }
.b-menu__menu__list__category::before, .b-menu__menu__list__category::after { content: ""; position: absolute; left: 0; width: 100%; height: 2px; background-color: var(--c-title); }
.b-menu__menu__list__category::before { top: -1px; }
.b-menu__menu__list__category::after { bottom: -1px; opacity: 0; }
.b-menu__menu__list__category .en { display: block; font-family: var(--font-serif-en); font-size: var(--fs-6); letter-spacing: .04em; line-height: 1; }
.b-menu__menu__list__category .jp { display: block; margin-top: .5em; font-family: var(--font-serif-ja); font-size: var(--fs-1); letter-spacing: .02em; line-height: 1; color: var(--c-text); }
.b-menu__menu__list__child { padding: 3rem 0; border-bottom: 1px dotted var(--c-border); }
.b-menu__menu__list__child:last-child { border-bottom: none; }
.b-menu__menu__list__child__wrap { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; }
.b-menu__menu__list__child__head { width: calc(100% - 16rem); }
.b-menu__menu__list__child__body { width: 16rem; text-align: right; }
.b-menu__menu__list__name { position: relative; display: block; padding-left: 1em; font-family: var(--font-serif-ja); font-size: calc(var(--fs-3) - 2px); letter-spacing: .02em; line-height: 1.5; }
.b-menu__menu__list__name::before { content: ""; position: absolute; top: 50%; left: 0; width: 6px; height: 90%; background-color: var(--c-sub); transform: translateY(-50%); }
.b-menu__menu__list__text { display: block; width: calc(100% - 16rem); margin-top: 1em; font-family: var(--font-serif-ja); font-size: var(--fs-1); letter-spacing: .02em; line-height: 1.8; }
.b-menu__menu__list__price { font-family: var(--font-serif-ja); font-size: calc(var(--fs-2) - 1px); letter-spacing: .02em; line-height: 1.7; }
.b-menu__menu__list .p-price { letter-spacing: .06em; line-height: 1; }
.b-menu__menu__list__option { position: relative; margin-top: 1.5rem; background-color: var(--c-base-2); }
.b-menu__menu__list__option__wrap { position: relative; z-index: 1; padding: 2rem; }
.b-menu__menu__list__option ul { display: flex; flex-wrap: wrap; align-items: flex-start; width: calc(100% - 1px + 4rem); margin-left: -2rem; }
.b-menu__menu__list__option li { width: 50%; padding: .5rem 2rem; }
.b-menu__menu__list__option dl { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; width: 100%; }
.b-menu__menu__list__option dl::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background-color: var(--c-border); transform: translateY(-50%); }
.b-menu__menu__list__option dt, .b-menu__menu__list__option dd { position: relative; z-index: 1; font-family: var(--font-sans); font-size: calc(var(--fs-1) - 1px); letter-spacing: .02em; line-height: 1.7; color: var(--c-text); }
.b-menu__menu__list__option dt span, .b-menu__menu__list__option dd span { background-color: var(--c-base-2); }
.b-menu__menu__list__option dt > span { padding-right: 2em; }
.b-menu__menu__list__option dd > span { padding-left: 2em; }
@media (max-width: 1000px) {
  .b-menu__menu__head { padding: 5rem 0; }
  .b-menu__menu__head .b-common__text { text-align: justify; }
  .b-menu__menu__list__wrap { display: block; }
  .b-menu__menu__list__head { width: 100%; }
  .b-menu__menu__list__body { width: 100%; padding: 0 0 3rem; }
  .b-menu__menu__list__category { padding: 3rem 0; }
  .b-menu__menu__list__category .en { font-size: var(--fs-5); }
}
@media (max-width: 680px) {
  .b-menu__menu__head { padding: 2rem 0 4rem; }
  .b-menu__menu__list__head { text-align: center; border-bottom: 1px solid var(--c-border); }
  .b-menu__menu__list__category::after { opacity: 1; }
  .b-menu__menu__list__category .en { font-size: var(--fs-6); }
  .b-menu__menu__list__child__head { width: calc(100% - 9rem); }
  .b-menu__menu__list__child__body { width: 9rem; }
  .b-menu__menu__list__name { font-size: calc(var(--fs-2) + 1px); letter-spacing: 0; line-height: 1.8; }
  .b-menu__menu__list__text { width: 100%; margin-top: 1.5em; line-height: 1.9; }
  .b-menu__menu__list__price { font-size: calc(var(--fs-2) - 2px); }
  .b-menu__menu__list__option__wrap { padding: 1rem 2rem; }
  .b-menu__menu__list__option ul { width: 100%; margin-left: 0; }
  .b-menu__menu__list__option li { width: 100%; padding-left: 0; padding-right: 0; }
}

/* お店について：店内（重なる3枚の写真） */
.b-about__salon { padding-top: 0; }
.b-about__salon .b-common__wrap { max-width: 1400px; }
.b-about__salon__head { padding: 6rem 0; }
.b-about__salon__head .b-common__text { text-align: center; line-height: 2.7; }
.b-about__salon__head .b-common__text > span { display: block; }
.b-about__salon__head .b-common__text > span + span { margin-top: 1em; }
.b-about__salon__body__wrap { position: relative; z-index: 0; }
.b-about__salon__body__inner { position: absolute; top: 75%; left: 55%; z-index: 10; width: 30rem; }
.b-about__salon__image__wrap { position: relative; }
.b-about__salon__image .image { position: relative; width: 100%; overflow: hidden; }
.b-about__salon__image .image::before { content: ""; display: block; padding-top: 66.66%; }
.b-about__salon__image:nth-child(1) { width: 65%; margin-bottom: 4rem; }
.b-about__salon__image:nth-child(1) .image::before { padding-top: 75%; }
.b-about__salon__image:nth-child(2) { width: 35%; margin-left: 4rem; }
.b-about__salon__image:nth-child(2) .image::before { padding-top: 100%; }
.b-about__salon__image:nth-child(3) { position: absolute; top: 15%; right: 0; width: calc(35% - 4rem); }
.b-about__salon__image:nth-child(3) .image::before { padding-top: 150%; }
@media (max-width: 1000px) {
  .b-about__salon__head { padding: 5rem 0; }
  .b-about__salon__head .b-common__text { letter-spacing: 0; }
  .b-about__salon__body__inner { position: relative; top: auto; left: auto; width: 50%; margin: -25% 0 0 auto; }
  .b-about__salon__image:nth-child(1) { margin-bottom: 3rem; }
  .b-about__salon__image:nth-child(2) { margin-left: 3rem; }
  .b-about__salon__image:nth-child(3) { width: calc(35% - 3rem); }
}
@media (max-width: 680px) {
  .b-about__salon__head { padding: 3rem 0; }
  .b-about__salon__head .b-common__text { line-height: 2.5; }
  .b-about__salon__body__inner { width: 85%; margin: 3rem auto 0; }
  .b-about__salon__image:nth-child(1) { width: calc(100% + 5vw); margin: 0 0 3rem -5vw; }
  .b-about__salon__image:nth-child(2) { position: absolute; right: -5vw; bottom: 10%; width: calc(50% + 5vw - 3rem); margin-left: 0; }
  .b-about__salon__image:nth-child(3) { position: relative; top: auto; right: auto; left: 0; width: 50%; }
}

/* お店について：スタッフ */
.b-about__staff__fl { display: flex; flex-wrap: wrap; align-items: flex-start; width: calc(100% - 1px + 5vw); margin-left: -2.5vw; }
.b-about__staff__fl > * { width: 33.3333%; padding: 0 2.5vw; }
.b-about__staff__profile { padding-top: 2rem; }
.b-about__staff__profile__post { display: block; font-family: var(--font-sans-en); font-size: calc(var(--fs-1) - 1px); letter-spacing: .08em; line-height: 1; }
.b-about__staff__profile__post > span { position: relative; display: inline-block; }
.b-about__staff__profile__post > span + span { margin-left: 1em; padding-left: 1em; }
.b-about__staff__profile__post > span + span::before { content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: .8em; background-color: var(--c-border); transform: translateY(-50%); }
.b-about__staff__profile__name, .b-about__staff__profile__name .wrap { display: block; }
.b-about__staff__profile__name .jp { display: inline-block; margin: 1em 0; font-family: var(--font-serif-ja); font-size: var(--fs-3); letter-spacing: .02em; line-height: 1; }
.b-about__staff__profile__text { font-family: var(--font-serif-ja); font-size: calc(var(--fs-1) - 1px); letter-spacing: 0; line-height: 2; }
@media (max-width: 1000px) {
  .b-about__staff__fl > div { width: 50%; }
  .b-about__staff__fl > div.is-head { width: 100%; margin-bottom: 4rem; text-align: center; }
}
@media (max-width: 680px) {
  .b-about__staff__fl { display: block; width: 80%; margin: 0 auto; }
  .b-about__staff__fl > div { width: 100%; margin-bottom: 4rem; padding: 0; }
}

/* 営業時間・アクセス：表と地図 */
.b-salon__info .b-common__inner, .b-salon__access .b-common__inner { max-width: 1000px; margin: 0 auto; }
.b-salon__info .b-common__title, .b-salon__access .b-common__title { text-align: center; }
.b-salon__info__body { padding-top: 3rem; }
.b-salon__info__table table { width: 100%; border-top: 1px solid var(--c-border); }
.b-salon__info__table tr { border-bottom: 1px solid var(--c-border); }
.b-salon__info__table th, .b-salon__info__table td { padding: 1.2rem; text-align: left; vertical-align: top; }
.b-salon__info__table th { width: 20%; white-space: nowrap; background-color: var(--c-base-2); }
.b-salon__info__table th > span, .b-salon__info__table td > span { font-family: var(--font-serif-ja); font-size: var(--fs-1); letter-spacing: .02em; line-height: 2; }
.b-salon__info__table th > span { font-weight: 500; }
.b-salon__info__table td a { position: relative; display: inline; background-image: linear-gradient(var(--c-border), var(--c-border)); background-position: 0 100%; background-repeat: no-repeat; background-size: 100% 1px; }
.b-salon__access { border-top: 1px solid var(--c-border); }
.b-salon__access__body { padding-top: 3rem; }
.b-salon__access__foot { padding-top: 2rem; }
.b-salon__access__foot .b-common__text { text-align: center; }
.b-salon__access__map { position: relative; display: block; }
.b-salon__access__map__wrap { position: relative; z-index: 1; display: block; overflow: hidden; filter: grayscale(100%); background-color: var(--c-base-2); }
.b-salon__access__map__wrap::before { content: ""; display: block; padding-top: 50%; }
.b-salon__access__map__wrap iframe { position: absolute; top: -170px; left: 0; width: 100%; height: calc(100% + 340px); }
@media (min-width: 1001px) { .b-salon__info__table td a:hover { background-size: 0 1px; } }
@media (max-width: 1000px) { .b-salon__access__map__wrap::before { padding-top: 66.66%; } }
@media (max-width: 680px) {
  .b-salon__info__body, .b-salon__access__body { padding-top: 2rem; }
  .b-salon__info__table th { width: 10px; }
  .b-salon__info__table th > span, .b-salon__info__table td > span { letter-spacing: 0; line-height: 1.9; }
  .b-salon__access__foot .b-common__text { text-align: left; }
}

/* フッターの帯（Instagram と著作の表記） */
.l-footer__wrap { width: 90%; margin: 0 auto; padding: 2rem 0; }
.l-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; width: 100%; }
.l-footer__inner > div:nth-child(1) { position: relative; padding-left: 2.2rem; }
.l-footer__instagram { position: absolute; top: calc(50% + 1px); left: -.5rem; display: block; padding: .5rem; color: var(--c-title); transform: translateY(-50%); transition: opacity 200ms var(--ease); }
.l-footer__instagram > span { position: relative; display: block; width: 1.2rem; height: 1.2rem; }
.l-footer__instagram svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.l-footer__copyright { font-family: var(--font-serif); font-size: 1rem; letter-spacing: .06em; line-height: 1.7; }
@media (min-width: 1001px) { .l-footer a:hover { opacity: .5; } }
@media (max-width: 1000px) { .l-footer__copyright { font-size: 12px; } }
@media (max-width: 680px) { .l-footer__copyright { letter-spacing: .02em; } }
