@charset "UTF-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
.flex, .flexA, .flexB, .flexC {
  display: flex;
  flex-wrap: wrap;
}

.flexA {
  justify-content: space-around;
}

.flexB {
  justify-content: space-between;
}

.flexC {
  justify-content: center;
}

/*------------------------------------------------------------
	content（PC：デザイン幅1536で中央寄せ・背景のみ全幅）
------------------------------------------------------------*/
.content {
  position: relative;
  margin: 0 auto;
  max-width: 153.6rem;
}
@media all and (max-width: 896px) {
  .content {
    max-width: none;
  }
}

/*------------------------------------------------------------
	セクション共通：Figmaのレイヤー順（後のセクションが上）を再現
------------------------------------------------------------*/
#main > section,
#gFooter {
  position: relative;
  z-index: 1;
}

/*------------------------------------------------------------
	comBtn（枠線ピル型ボタン：PC 390×70 / SP 335×70）
	ホバー：背景 色3(#43382f)・文字 色4(#f0edeb)
------------------------------------------------------------*/
.comBtn {
  width: 39rem;
}
@media all and (max-width: 896px) {
  .comBtn {
    width: 100%;
    max-width: 33.5rem;
  }
}
.comBtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7rem;
  padding: 0 4rem;
  border: 1px solid rgba(67, 56, 47, 0.3);
  border-radius: 4rem;
  color: #43382f;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
@media all and (max-width: 896px) {
  .comBtn a {
    font-size: 1.5rem;
  }
}
.comBtn a::after {
  position: absolute;
  top: 50%;
  right: 2.3rem;
  width: 1rem;
  height: 1.6rem;
  margin-top: -0.8rem;
  content: "";
  background-color: #43382f;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
  transition: 0.4s ease;
}
@media all and (max-width: 896px) {
  .comBtn a::after {
    right: 2rem;
  }
}
@media (hover: hover) {
  .comBtn a:hover {
    color: #f0edeb;
    background-color: #43382f;
  }
  .comBtn a:hover::after {
    background-color: #f0edeb;
  }
}

/*------------------------------------------------------------
	comEn：英字の筆記体見出し（Figma の Mr Dafoe をテキストで再現）
	・参考サイトと同じく data-en 属性の文字を ::before で描画（本文には入れない）
	・要素の箱＝文字のインク範囲（幅/高さ/行高/字下げは単語ごとに Mr Dafoe の実測値から算出）。
	  各セクションでは font-size だけ指定する
	・金のグラデーションは ::before に background-clip: text。::before は箱より 0.3em 大きく取り、
	  はらい・ディセンダーが描画範囲から切れないようにしている
	・i の点（Figma では ✦）は data-en に点なし ı を入れ、✦ を ::after で描画
	・単色（-solid）は ::before を使わず、要素の文字をそのまま表示
------------------------------------------------------------*/
.comEn {
  position: relative;
  display: block;
  color: transparent;
  font-family: "Mr Dafoe", cursive;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
  font-feature-settings: normal;
  user-select: none;
}
.comEn::before {
  position: absolute;
  inset: -0.4em;
  padding: 0.3em;
  content: attr(data-en);
  color: transparent;
  background: radial-gradient(62% 140% at 54% 40%, #e3d2b1 0%, #b0986f 54%, #957b50 100%) content-box;
  -webkit-background-clip: text;
  background-clip: text;
  translate: 0 -0.035em;
}
.comEn.-news {
  width: 2.222em;
  height: 0.888em;
  line-height: 0.782em;
  text-indent: 0.374em;
}
.comEn.-policy {
  width: 2.366em;
  height: 1.061em;
  line-height: 0.816em;
  text-indent: 0.024em;
}
.comEn.-infographics {
  width: 4.694em;
  height: 1.108em;
  line-height: 0.882em;
  text-indent: 0.151em;
}
.comEn.-feature {
  width: 2.977em;
  height: 0.674em;
  line-height: 0.662em;
  text-indent: 0.066em;
}
.comEn.-greeting {
  width: 3.356em;
  height: 1.038em;
  line-height: 0.684em;
  text-indent: 0.181em;
}
.comEn.-treatment {
  width: 3.916em;
  height: 0.706em;
  line-height: 0.76em;
  text-indent: 0.063em;
}
.comEn.-promise {
  width: 3.248em;
  height: 0.729em;
  line-height: 0.816em;
  text-indent: 0.024em;
}
.comEn.-flow {
  width: 1.751em;
  height: 0.675em;
  line-height: 0.664em;
  text-indent: 0.066em;
}
.comEn.-topics {
  width: 2.256em;
  height: 0.999em;
  line-height: 0.76em;
  text-indent: 0.063em;
}
.comEn.-instagram {
  width: 3.94em;
  height: 1.095em;
  line-height: 0.882em;
  text-indent: 0.151em;
}
.comEn.-recruit {
  width: 3.231em;
  height: 0.731em;
  line-height: 0.82em;
  text-indent: 0.051em;
}
.comEn.-precision {
  width: 7.489em;
  height: 1.061em;
  line-height: 0.816em;
  text-indent: 0.024em;
}
.comEn::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  translate: 0 -0.035em;
}
.comEn.-policy::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 1.484em 0.205em/0.14em 0.136em;
}
.comEn.-greeting::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 2.475em -0.011em/0.14em 0.136em;
}
.comEn.-promise::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 2.218em 0.186em/0.14em 0.136em;
}
.comEn.-topics::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 1.264em 0.159em/0.14em 0.136em;
}
.comEn.-infographics::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 3.686em 0.218em/0.14em 0.136em;
}
.comEn.-precision::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 1.994em 0.186em/0.14em 0.136em, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 2.647em 0.191em/0.14em 0.136em, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 5.971em 0.064em/0.14em 0.136em;
}
@media all and (max-width: 896px) {
  .comEn.-precision::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 1.994em 0.126em/0.14em 0.136em, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 2.647em 0.13em/0.14em 0.136em, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0Q5.5 4.5 10 5Q5.5 5.5 5 10Q4.5 5.5 0 5Q4.5 4.5 5 0Z' fill='%23c3ab80'/%3E%3C/svg%3E") no-repeat 2.197em 0.699em/0.14em 0.136em;
  }
}
.comEn.-solid {
  color: inherit;
  translate: 0 -0.035em;
}
.comEn.-solid::before {
  content: none;
}

.visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.js .fadeInUp {
  opacity: 0;
  translate: 0 20px;
  transition: translate ease-in-out 0.8s, opacity ease-in-out 0.8s;
}

.js .fadeInUp.on {
  opacity: 1;
  translate: none;
}

@media (prefers-reduced-motion: reduce) {
  .js .fadeInUp {
    opacity: 1;
    translate: none;
    transition: none;
  }
}
/*============================================================
	以下、下層ページと共通のパーツ（ヘッダー / メニュー / 固定ボタン / 医院情報ボックス / フッター）
============================================================*/
/*------------------------------------------------------------
	ヘッダー（MV上に重ねる白い湾曲帯：PC 1536×110 / SP 375×70）
------------------------------------------------------------*/
#gHeader {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 11rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 110' preserveAspectRatio='none'%3E%3Cpath d='M1536 110C1303.57 91.122 1043.09 80.5469 768 80.5469C492.911 80.5469 232.43 91.122 0 110V0H1536V110Z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center top/100% 100%;
}
@media all and (max-width: 896px) {
  #gHeader {
    height: 7rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 375 70' preserveAspectRatio='none'%3E%3Cpath d='M375 70C318.254 65.4399 254.66 62.8857 187.5 62.8857C120.34 62.8857 56.7455 65.4399 0 70V0H375V70Z' fill='%23fff'/%3E%3C/svg%3E");
  }
}
#gHeader .hInner {
  position: relative;
  height: 100%;
}
#gHeader .hLogo {
  position: absolute;
  top: 2.1rem;
  left: 3rem;
  width: 30rem;
}
@media all and (max-width: 896px) {
  #gHeader .hLogo {
    top: 1.5rem;
    left: 1.2rem;
    width: 22.5rem;
  }
}
#gHeader .hLogo a {
  display: block;
}
@media (hover: hover) {
  #gHeader .hLogo a:hover {
    opacity: 0.6;
  }
}
#gHeader .hLogo img {
  width: 100%;
}
#gHeader .hTxt {
  position: absolute;
  font-weight: 500;
  font-feature-settings: "palt";
  top: 3.9rem;
  left: 36.3rem;
  color: #424242;
  font-size: 1.2rem;
  line-height: 1.5;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #gHeader .hTxt {
    top: 1.3rem;
    left: 6.9rem;
    font-size: 0.9rem;
  }
}
#gHeader .hTel {
  position: absolute;
  top: 2.3rem;
  right: 11.8rem;
  color: #957b50;
  font-family: "EB Garamond", serif;
  font-size: 3.8rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
#gHeader .hTel a {
  color: #957b50;
}
#gHeader .hTel .en {
  margin-right: 0.15em;
  font-size: 1.6rem;
}

/*------------------------------------------------------------
	MENUボタン（画面右上に固定。開くと×に変化）
------------------------------------------------------------*/
.menuBtn {
  position: fixed;
  top: 3.6rem;
  right: 3.7rem;
  z-index: 1001;
  display: block;
  width: 4.2rem;
  margin: 0;
  padding: 0;
  color: #957b50;
  font-family: inherit;
  border: 0;
  background: none;
  cursor: pointer;
  appearance: none;
}
@media all and (max-width: 896px) {
  .menuBtn {
    top: 2.2rem;
    right: 1.42rem;
    width: 3rem;
  }
}
.menuBtn::before {
  position: absolute;
  inset: -1rem -1.2rem -0.8rem;
  z-index: -1;
  content: "";
  border-radius: 1rem;
  background-color: rgba(255, 255, 255, 0.85);
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media all and (max-width: 896px) {
  .menuBtn::before {
    inset: -0.8rem -0.9rem -0.6rem;
  }
}
.menuBtn .line {
  position: relative;
  display: block;
  height: 1.6rem;
}
@media all and (max-width: 896px) {
  .menuBtn .line {
    height: 1.14rem;
  }
}
.menuBtn .line span {
  position: absolute;
  right: 0;
  height: 1px;
  background-color: #957b50;
  transition: top 0.4s ease, width 0.4s ease, transform 0.4s ease, opacity 0.4s ease, background-color 0.4s ease;
}
.menuBtn .line span:nth-child(1) {
  top: 0;
  width: 100%;
}
.menuBtn .line span:nth-child(2) {
  top: 50%;
  width: 59.5%;
}
.menuBtn .line span:nth-child(3) {
  top: 100%;
  width: 31.9%;
}
.menuBtn .txt {
  display: block;
  margin-top: 0.4rem;
  font-family: "EB Garamond", serif;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: 0.16em;
  white-space: nowrap;
  transition: opacity 0.4s ease;
}
@media all and (max-width: 896px) {
  .menuBtn .txt {
    margin-top: 0.3rem;
    font-size: 0.9rem;
    letter-spacing: 0.11em;
  }
}
@media (hover: hover) {
  .menuBtn:hover .line span {
    width: 100%;
  }
}
.menuBtn.on::before {
  opacity: 0;
}
.menuBtn.on .line span {
  background-color: #fff;
}
.menuBtn.on .line span:nth-child(1) {
  top: 50%;
  width: 100%;
  transform: rotate(45deg);
}
.menuBtn.on .line span:nth-child(2) {
  opacity: 0;
}
.menuBtn.on .line span:nth-child(3) {
  top: 50%;
  width: 100%;
  transform: rotate(-45deg);
}
.menuBtn.on .txt {
  opacity: 0;
}

.is-scrolled .menuBtn:not(.on)::before {
  opacity: 1;
}

/*------------------------------------------------------------
	メニュー（右からスライドするドロワー。PC 幅460 / SP 全幅）
	※開いた状態のデザイン未支給のため、参考サイトの形式で実装
------------------------------------------------------------*/
.menuBox {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: 46rem;
  height: 100%;
  padding: 10rem 5.6rem 6rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  background-color: #7e6438;
  visibility: hidden;
  transform: translateX(101%);
  transition: transform 0.3s ease, visibility 0.3s;
}
@media all and (max-width: 896px) {
  .menuBox {
    width: 100%;
    padding: 8.4rem 2.4rem 10rem;
  }
}
.menuBox.open {
  visibility: visible;
  transform: translateX(0);
}
@media all and (max-width: 896px) {
  .menuBox .naviList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.6rem;
  }
}
.menuBox .naviList a {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.3rem 0.4rem 1.3rem 0;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
@media all and (max-width: 896px) {
  .menuBox .naviList a {
    gap: 0.8rem;
    padding: 1.4rem 0;
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }
}
.menuBox .naviList a::after {
  flex-shrink: 0;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 0.4rem 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-right: 1px solid rgba(255, 255, 255, 0.8);
  transform: rotate(45deg);
  content: "";
}
@media all and (max-width: 896px) {
  .menuBox .naviList a::after {
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 0.2rem;
  }
}
@media (hover: hover) {
  .menuBox .naviList a:hover {
    opacity: 0.6;
  }
}
.menuBox .mIco {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
}
@media all and (max-width: 896px) {
  .menuBox .mIco {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.menuBox .mIco {
  color: #7e6438;
  border-radius: 50%;
  background-color: #e3d2b1;
}
.menuBox .mIco svg {
  width: 1.6rem;
  height: 1.6rem;
}
.menuBox .mTel {
  margin-top: 3.6rem;
  color: #fff;
  font-family: "EB Garamond", serif;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.05em;
}
.menuBox .mTel a {
  color: #fff;
}
.menuBox .mTel .en {
  margin-right: 0.15em;
  font-size: 1.5rem;
}
.menuBox .mBtnList {
  display: flex;
  gap: 1.2rem;
  margin-top: 2rem;
}
.menuBox .mBtnList li {
  flex: 1;
}
.menuBox .mBtnList a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.6rem;
  color: #7e6438;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-radius: 3rem;
  background-color: #fff;
}
@media (hover: hover) {
  .menuBox .mBtnList a:hover {
    color: #fff;
    background-color: #43382f;
  }
}

/*------------------------------------------------------------
	PC 右側の固定ボタン（WEB予約 / LINEで相談）
------------------------------------------------------------*/
.sideBtn {
  position: fixed;
  top: 29.3rem;
  right: 2.9rem;
  z-index: 999;
}
.sideBtn li + li {
  margin-top: 2.4rem;
}
.sideBtn a {
  position: relative;
  display: block;
  width: 5.2rem;
  height: 17.4rem;
  color: #fff;
  border-radius: 2.8rem;
  background-color: #726651;
}
.sideBtn a:link, .sideBtn a:visited, .sideBtn a:hover, .sideBtn a:active {
  color: #fff;
}
@media (hover: hover) {
  .sideBtn a:hover {
    background-color: #43382f;
  }
}
.sideBtn img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.sideBtn span {
  position: absolute;
  left: 50%;
  font-family: "Shippori Mincho", serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.0667em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  transform: translateX(-50%);
}
.sideBtn .web img {
  top: 2.9rem;
  width: 1.727rem;
}
.sideBtn .web span {
  top: 5.6rem;
}
.sideBtn .line a {
  background-color: #7e6438;
}
@media (hover: hover) {
  .sideBtn .line a:hover {
    background-color: #43382f;
  }
}
.sideBtn .line img {
  top: 2rem;
  width: 1.8rem;
}
.sideBtn .line span {
  top: 4.1rem;
}

/*------------------------------------------------------------
	comClinic（医院情報ボックス：info / footer 共通）
	PC 1400×774 / SP 335×1127（Figma）
------------------------------------------------------------*/
.comClinic {
  display: flex;
  justify-content: space-between;
  width: 140rem;
  margin: 0 auto;
  padding: 8.5rem 10rem;
  background-color: #f2ede3;
  border-radius: 2rem;
}
@media all and (max-width: 896px) {
  .comClinic {
    display: block;
    width: calc(100% - 4rem);
    max-width: 33.5rem;
    margin: 0 auto;
    padding: 3.6rem 2rem 5rem;
  }
}
.comClinic .cLeft {
  width: 55rem;
}
@media all and (max-width: 896px) {
  .comClinic .cLeft {
    width: auto;
  }
}
.comClinic .cRight {
  width: 57rem;
}
@media all and (max-width: 896px) {
  .comClinic .cRight {
    width: auto;
    margin-top: 3rem;
  }
}
.comClinic .cLogo {
  width: 48rem;
  height: 8.5rem;
  margin-left: 0.2rem;
  line-height: 0;
}
@media all and (max-width: 896px) {
  .comClinic .cLogo {
    width: 28rem;
    height: 4.9rem;
    margin: 0 auto;
  }
}
.comClinic .cLogo img {
  width: 100%;
  height: 100%;
}
.comClinic .cTel {
  margin-top: 2.5rem;
  font-family: "EB Garamond", serif;
  font-size: 4.6rem;
  font-weight: 400;
  line-height: 6rem;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cTel {
    margin-top: 1rem;
    font-size: 2.8rem;
    line-height: 3.7rem;
  }
}
.comClinic .cTel a {
  color: #957b50;
}
.comClinic .cTel .en {
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
  .comClinic .cTel .en {
    font-size: 1.8rem;
  }
}
.comClinic .cHours {
  height: 18rem;
  margin-top: 2.5rem;
  padding: 0 4.2rem 0 3.8rem;
  position: relative;
  background-color: rgba(227, 210, 177, 0.46);
  border-radius: 2rem;
  color: #957b50;
}
@media all and (max-width: 896px) {
  .comClinic .cHours {
    height: 11.7rem;
    margin-top: 2rem;
    padding: 0 1.9rem 0 0;
    border-radius: 1rem;
  }
}
.comClinic .cHours::before {
  position: absolute;
  top: 6.4rem;
  left: 4rem;
  width: 47.05rem;
  height: 1px;
  content: "";
  background-color: rgba(255, 255, 255, 0.3);
}
@media all and (max-width: 896px) {
  .comClinic .cHours::before {
    top: 3.4rem;
    left: 1.8rem;
    width: calc(100% - 3.6rem);
  }
}
.comClinic .cHours table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.comClinic .cHours col.c01 {
  width: 14.5rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours col.c01 {
    width: 10.3rem;
  }
}
.comClinic .cHours th,
.comClinic .cHours td {
  padding: 0;
  font-weight: 500;
  text-align: center;
  vertical-align: top;
  white-space: nowrap;
}
.comClinic .cHours thead th {
  padding: 2.37rem 0 1.83rem;
  font-size: 1.8rem;
  line-height: 2.2rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours thead th {
    padding: 1.02rem 0 0.38rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
@media all and (max-width: 896px) {
  .comClinic .cHours thead th:first-child {
    padding-right: 0.5rem;
  }
}
.comClinic .cHours tbody th,
.comClinic .cHours tbody td {
  padding-top: 1.77rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours tbody th,
  .comClinic .cHours tbody td {
    padding-top: 0.78rem;
  }
}
.comClinic .cHours tbody tr + tr th,
.comClinic .cHours tbody tr + tr td {
  padding-top: 0.6rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours tbody tr + tr th,
  .comClinic .cHours tbody tr + tr td {
    padding-top: 0.29rem;
  }
}
@media all and (max-width: 896px) {
  .comClinic .cHours tbody th {
    padding-left: 1.3rem;
  }
}
.comClinic .cHours tbody td {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.2rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours tbody td {
    font-size: 1.4rem;
    line-height: 1.8rem;
    transform: translateY(0.35rem);
  }
}
.comClinic .cHours .time {
  display: block;
  font-size: 1.8rem;
  line-height: 2.2rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours .time {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
}
.comClinic .cHours .last {
  display: block;
  font-size: 1.1rem;
  line-height: 1.4rem;
}
@media all and (max-width: 896px) {
  .comClinic .cHours .last {
    font-size: 0.9rem;
    line-height: 1.1rem;
  }
}
.comClinic .cHoliday {
  margin-top: 0.84rem;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.8rem;
  letter-spacing: 0.09em;
  text-align: right;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cHoliday {
    margin-top: 0.4rem;
    font-size: 1.1rem;
    line-height: 1.6rem;
  }
}
.comClinic .cAddress {
  margin-top: 0.95rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  letter-spacing: 0.09em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cAddress {
    margin: 2rem 0 0 -0.1rem;
    font-size: 1.4rem;
  }
}
.comClinic .cBtnList {
  display: flex;
  gap: 3.3rem;
  margin-top: 3.2rem;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList {
    gap: 1.8rem;
    margin: 2rem 0 0 0.1rem;
  }
}
.comClinic .cBtnList li {
  flex-shrink: 0;
  width: 26rem;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList li {
    flex: 1;
    width: auto;
  }
}
.comClinic .cBtnList li:only-child {
  flex: 1;
  width: 100%;
}
.comClinic .cBtnList a {
  display: block;
  height: 11.3rem;
  padding-top: 2.5rem;
  position: relative;
  overflow: hidden;
  background: url(../img/common/clinic_btn_web.webp) no-repeat 46.4% 23.5%/121.54% auto;
  border-radius: 2rem 0;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-feature-settings: "palt";
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.6rem;
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList a {
    height: 7.8rem;
    padding-top: 1.5rem;
    background-position: 47.9% 13.9%;
    background-size: 138.66% auto;
    border-radius: 1rem 0;
    font-size: 1.6rem;
  }
}
.comClinic .cBtnList a::before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: rgba(114, 102, 81, 0.85);
  transition: 0.4s ease;
}
@media (hover: hover) {
  .comClinic .cBtnList a:hover::before {
    background-color: rgb(114, 102, 81);
  }
}
.comClinic .cBtnList .in {
  display: block;
  padding-top: 4.2rem;
  position: relative;
  background: url(../img/common/clinic_icon_web.webp) no-repeat center top/2.9rem auto;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList .in {
    padding-top: 3rem;
    background-size: 2.23rem auto;
  }
}
.comClinic .cBtnList .line a {
  background-image: url(../img/common/clinic_btn_line.webp);
  background-position: 34% 66.9%;
  background-size: 138.46% auto;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList .line a {
    background-position: 39.4% 72%;
    background-size: 157.84% auto;
  }
}
.comClinic .cBtnList .line a::before {
  background-color: rgba(126, 100, 56, 0.85);
}
@media (hover: hover) {
  .comClinic .cBtnList .line a:hover::before {
    background-color: rgb(126, 100, 56);
  }
}
.comClinic .cBtnList .line .in {
  background-image: url(../img/common/clinic_icon_line.webp);
  background-size: 3.2rem auto;
}
@media all and (max-width: 896px) {
  .comClinic .cBtnList .line .in {
    background-size: 2.5rem auto;
  }
}
.comClinic .cMap {
  height: 42.2rem;
  position: relative;
  overflow: hidden;
  background-color: #e8e6e1;
  border-radius: 2rem;
}
@media all and (max-width: 896px) {
  .comClinic .cMap {
    height: 29.5rem;
    border-radius: 1rem;
  }
}
.comClinic .cMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.comClinic .cMapLink {
  margin-top: 0.8rem;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  letter-spacing: 0.09em;
  text-align: right;
  white-space: nowrap;
}
.comClinic .cMapLink a {
  display: inline-block;
  padding-right: 1.6rem;
  position: relative;
  color: #957b50;
  transition: 0.4s ease;
}
.comClinic .cMapLink a::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.7rem;
  height: 1.2rem;
  margin-top: -0.6rem;
  content: "";
  background-color: #8e7a55;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
}
@media (hover: hover) {
  .comClinic .cMapLink a:hover {
    opacity: 0.6;
  }
}
.comClinic .cAccess {
  margin-top: 1.7rem;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess {
    margin-top: 2.9rem;
  }
}
.comClinic .cAccess .item {
  display: flex;
  font-size: 1.4rem;
  line-height: 3rem;
  letter-spacing: 0.09em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess .item {
    display: block;
    line-height: 2rem;
  }
  .comClinic .cAccess .item + .item {
    margin-top: 1.1rem;
  }
}
.comClinic .cAccess dt {
  width: 12.5rem;
  padding-left: 3rem;
  position: relative;
  color: #957b50;
  font-weight: 700;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess dt {
    width: auto;
    padding-left: 2.9rem;
  }
}
.comClinic .cAccess dt::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.4rem;
  height: 100%;
  content: "";
  background: url(../img/common/clinic_icon_walk.webp) no-repeat center 0.6rem/1.1rem auto;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess dt::before {
    background-position: center 0.1rem;
  }
}
.comClinic .cAccess .car dt::before {
  background-image: url(../img/common/clinic_icon_car.webp);
  background-position: center 0.8rem;
  background-size: 1.7rem auto;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess .car dt::before {
    background-position: center 0.3rem;
  }
}
.comClinic .cAccess .bike dt::before {
  background-image: url(../img/common/clinic_icon_bike.webp);
  background-position: center 0.7rem;
  background-size: 2.4rem auto;
}
@media all and (max-width: 896px) {
  .comClinic .cAccess .bike dt::before {
    background-position: center 0.4rem;
  }
}
@media all and (max-width: 896px) {
  .comClinic .cAccess dd {
    margin-top: 0.3rem;
    font-size: 1.2rem;
  }
}
.comClinic .cNote {
  margin-top: 1.28rem;
  font-size: 1.3rem;
  line-height: 3.4rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .comClinic .cNote {
    margin-top: 1.7rem;
    line-height: 2.4rem;
  }
}
.comClinic .cNote span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1.1rem;
}
@media all and (max-width: 896px) {
  .comClinic .cNote span {
    text-underline-offset: 0.6rem;
  }
}

/*------------------------------------------------------------
	gFooter
	PC 高さ 1518 / SP 高さ 1901（SP は下部 50px が固定バー分の余白）
------------------------------------------------------------*/
#gFooter .fClinic {
  padding: 19.3rem 0 10rem;
  position: relative;
}
@media all and (max-width: 896px) {
  #gFooter .fClinic {
    padding: 7rem 0 6rem;
  }
}
#gFooter .fClinic::before {
  position: absolute;
  top: 4.7rem;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z' fill='%23F8F4EC'/%3E%3C/svg%3E") no-repeat center top/100% 2.95rem, linear-gradient(#f8f4ec, #f8f4ec) no-repeat left 2.9rem/100% calc(100% - 2.9rem);
  pointer-events: none;
}
@media all and (max-width: 896px) {
  #gFooter .fClinic::before {
    top: 1.7rem;
    background-size: 100% 0.73rem, 100% calc(100% - 0.7rem);
    background-position: center top, left 0.7rem;
  }
}
#gFooter .fClinic .comClinic {
  position: relative;
}
#gFooter .fBottom {
  padding: 7.8rem 0 10.3rem;
  position: relative;
  overflow: hidden;
  background-color: #e4dfde;
}
@media all and (max-width: 896px) {
  #gFooter .fBottom {
    padding: 3.6rem 0 10.7rem;
  }
}
#gFooter .fLogo {
  position: absolute;
  top: -1.8rem;
  left: 95.5rem;
  width: 50.64rem;
  line-height: 0;
  mix-blend-mode: screen;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  #gFooter .fLogo {
    top: 32.38rem;
    left: 3.42rem;
    width: 30.32rem;
    clip-path: inset(0 0 7.4% 0);
  }
}
#gFooter .fLogo img {
  width: 100%;
  height: auto;
}
#gFooter .fNav {
  display: flex;
  padding-left: 16.8rem;
  position: relative;
  font-family: "Shippori Mincho", serif;
}
@media all and (max-width: 896px) {
  #gFooter .fNav {
    display: grid;
    grid-template-columns: 14.8rem 1fr;
    grid-template-rows: auto auto 1fr;
    padding: 0 2rem 0 4rem;
  }
}
#gFooter .fNav a {
  color: #43382f;
  transition: 0.4s ease;
}
@media (hover: hover) {
  #gFooter .fNav a:hover {
    opacity: 0.6;
  }
}
#gFooter .fNav .col {
  flex-shrink: 0;
}
#gFooter .fNav .col > li {
  font-size: 1.8rem;
  line-height: 2.8rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .col > li {
    font-size: 1.5rem;
    line-height: 2.4rem;
  }
}
#gFooter .fNav .col > li + li {
  margin-top: 2rem;
}
#gFooter .fNav .col01 {
  width: 20.3rem;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .col01 {
    grid-area: 1/1/2/2;
    width: auto;
  }
}
#gFooter .fNav .col02 {
  width: 60.9rem;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .col02 {
    grid-area: 1/2/4/3;
    width: auto;
  }
}
#gFooter .fNav .col03 {
  width: 18.8rem;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .col03 {
    grid-area: 2/1/3/2;
    width: auto;
    margin-top: 2rem;
  }
}
@media all and (max-width: 896px) {
  #gFooter .fNav .col04 {
    grid-area: 3/1/4/2;
    margin-top: 2rem;
  }
}
#gFooter .fNav .navTtl {
  font-size: 1.8rem;
  line-height: 2.8rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .navTtl {
    font-size: 1.5rem;
  }
}
#gFooter .fNav .subList {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(7, auto);
  grid-template-columns: 15.8rem 19.8rem auto;
  margin: 1.1rem 0 0 0.2rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .subList {
    display: block;
    margin: 0.5rem 0 0 -0.3rem;
  }
}
#gFooter .fNav .subList li {
  padding-left: 2.1rem;
  position: relative;
  font-size: 1.4rem;
  line-height: 3.3rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .subList li {
    padding-left: 1.95rem;
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
}
#gFooter .fNav .subList li::before {
  position: absolute;
  top: 50%;
  left: 0.9rem;
  width: 0.3rem;
  height: 0.3rem;
  margin-top: -0.15rem;
  content: "";
  background-color: #43382f;
  border-radius: 50%;
}
@media all and (max-width: 896px) {
  #gFooter .fNav .subList li::before {
    left: 0.8rem;
  }
}
#gFooter .copyright {
  position: absolute;
  right: 2.5rem;
  bottom: -7.8rem;
  color: #424242;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.8rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #gFooter .copyright {
    right: 0;
    bottom: -4.6rem;
    left: 0.2rem;
    font-size: 1.1rem;
    line-height: 1.7rem;
    text-align: center;
  }
}
#gFooter .copyright small {
  font-size: 100%;
}
#gFooter .spFixBtn {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 50;
  width: 100%;
}
#gFooter .spFixBtn ul {
  display: flex;
}
#gFooter .spFixBtn li {
  flex: 1;
}
#gFooter .spFixBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  background-color: #726651;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-feature-settings: "palt";
  font-size: 1.5rem;
  line-height: 1.6rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: background-color 0.4s ease;
}
@media (hover: hover) {
  #gFooter .spFixBtn li a:hover {
    background-color: #43382f;
  }
}
#gFooter .spFixBtn img {
  flex-shrink: 0;
  width: 1.64rem;
  height: auto;
  margin-right: 0.31rem;
}
#gFooter .spFixBtn .tel a {
  background-color: #957b50;
}
#gFooter .spFixBtn .tel img {
  width: 1.54rem;
  margin: 0 0.22rem 0 0.12rem;
  transform: rotate(9.86deg);
}
#gFooter .spFixBtn .line a {
  background-color: #7e6438;
  letter-spacing: -0.04em;
}
#gFooter .spFixBtn .line img {
  width: 1.8rem;
  margin-right: 0.3rem;
}/*# sourceMappingURL=common.css.map */