:root {
    --main_color: #ff9888;
    --main-color: #ff9888;
    --main_color_secondary: rgba(255, 152, 136, 0.05);
    --main_color_dark: #d96a58;
    --main_color_light: #ffb8ae;
    --main_color_hex: 255,152,136;
    --content_link_color: #ff9888;
    --content_link_color_hover: rgba(255, 152, 136, 0.5);
    /* ベース：薄いピーチベージュ（price.css のトークンと揃える） */
    --warm-bg-page: #faf5f4;
    --warm-bg-muted: #f1e8e6;
    --warm-bg-soft: #fbf6f5;
}
/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html { height:100%; position:relative; overflow-x:hidden; scroll-behavior:smooth; scroll-padding-top:170px; }
html:has(body.home) { scroll-padding-top:0; }
body { min-height:100%; line-height:1; width:100%; position:relative; overscroll-behavior-y:none; -webkit-font-smoothing:antialiased; background-color:var(--warm-bg-page); }
body.admin-bar { padding-top:32px; }
a { color:#000; text-decoration:none; }
.post_content a, .widget_block a, .textwidget a { color:var(--content_link_color); }
@media(hover: hover) {
  a:where(:hover) { color:rgba(0,0,0,0.6); }
}
a, a:before, a:after, input { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.clear { clear:both; }
.hide { display:none; }
.post_content { word-wrap: break-word; }
a[href^="tel:"] { pointer-events:none; text-decoration:none !important; }
.mobile_device a[href^="tel:"] { pointer-events:auto; }



/* レイアウト */
#container { position:relative; z-index:1; overscroll-behavior-y:none; overflow:clip; }
#main_content { width:960px; margin:0 auto; padding:70px 0 150px; position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; }
body.show_sidebar_left #main_content { flex-direction:row-reverse; }
body.single:not(:has(#side_col)) #main_content { display:block; }
#main_col { width:calc(100% - 290px); }
body.hide_sidebar #main_col { margin:0 auto; }
body.single:not(:has(#side_col)) #main_col { width:auto; }
body.single-post #main_col { width:100%; }
body.single-post.show_sidebar #main_col { width:calc(100% - 290px); }
#side_col { width:250px; position:relative; }


/* 文字サイズとフォントタイプ */
body, input, textarea { font-size:var(--content_font_size); font-family:var(--content_font_type); }
.rich_font, .p-vertical { font-size:var(--catch_font_size); font-family:var(--catch_font_type); }
.rich_font_1 { font-family:var(--tcd-font-type1); }
.rich_font_2 { font-family:var(--tcd-font-type2); }
.rich_font_3 { font-family:var(--tcd-font-type3); }
.rich_font_logo { font-family: var(--log_font_family); font-weight: var(--tcd-logo-font-weight) !important;}
@media screen and (max-width:1200px) {
  .rich_font, .p-vertical { font-size:calc(var(--catch_font_size) + var(--catch_font_size_sp) / 2); }
}
@media screen and (max-width:800px) {
  body { font-size:var(--content_font_size_sp); }
  .rich_font, .p-vertical { font-size:var(--catch_font_size_sp); }
}


/* 角丸画像 */
img.round { border-radius:10px; }
body.image_shape_type2 img.round { border-radius:0px; }




/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* メインカラーを文字に適用 */
.main_color { color:var(--main_color) !important; }


/* デザインボタン */
a.design_button {
  border-radius:70px; min-width:280px; height:70px; line-height:1.5; padding:0 1.5em; text-align:center; position:relative; overflow:hidden; font-size:16px; z-index:1; color:#fff !important; border:1px solid var(--main_color); background:var(--main_color); text-decoration: none;
  transition: border-color 0.2s ease 0s, color 0.2s ease 0s, background-color 0.2s ease 0s, opacity 1.4s ease 0s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0s !important;
	display:inline-flex; justify-content:center; align-items:center; font-weight:600; text-decoration:none !important;
}
@media(hover: hover) {
  a.design_button:hover { border-color:var(--main_color_light); background:var(--main_color_light); color:#fff !important; text-decoration:none !important; }
}


/* スクロールアニメーション */
.inview { position:relative; transform: translate3d(0,50px,0); opacity:0; transition: opacity 1.4s ease 0s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0s; }
.inview.animate, body.no_page_animation .inview { transform: translate3d(0,0,0); opacity:1; }


/* swiperの矢印ナビ */
.swiper-nav-button { width:50px; height:50px; border:none; z-index:200; transition: opacity 0.75s ease; }
.swiper-button-prev { left:-25px; right:auto; }
.swiper-button-next { left:auto; right:-25px; }
.swiper-button-next:after, .swiper-button-prev:after { display:none; }
.swiper-button-next:before, .swiper-button-prev:before {
  font-family:'normal_icon'; font-size:22px; top:2px; position:relative; color:#000;
  -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important;
}
.swiper-button-prev:before { content:'\e90f'; left:0px; }
.swiper-button-next:before { content:'\e910'; right:0px;}
.swiper-button-disabled { opacity:0 !important; pointer-events:auto !important; }
@media(hover: hover) {
  .swiper-nav-button:hover:before { color:#aaa; }
}


/* swiperのドットナビ */
.swiper-pagination { z-index:10; position:absolute; top:auto; bottom:0px; left:auto; }
.swiper-pagination span { background:#ddd; border:none; width:10px; height:10px; opacity:1; margin:0 8px !important; transition: background 0.25s ease; }
.swiper-pagination span.swiper-pagination-bullet-active { background:#000; pointer-events:none; }
@media(hover: hover) {
  .swiper-pagination span:hover { background:#000; }
}
/* サムネイルver */
.sc_image_carousel_nav { text-align:center; margin-top:50px; }
.sc_image_carousel_nav .swiper-wrapper { display:inline-flex; -webkit-user-select:none; user-select:none; width:auto; position:relative; }
.sc_image_carousel_nav .swiper-slide { background:#ddd; border:none; width:10px !important; height:10px; opacity:1; margin:0 8px !important; border-radius:100%; cursor:pointer; transition: background 0.25s ease; }
.sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active { transform:scale(1.4); background:#000; }
@media(hover: hover) {
  .sc_image_carousel_nav .swiper-slide:hover { background-color:#000; }
}

/* Font Awesome: トップ2カラムの詳細リンク（style.css の .link:after は :not(.link--with-fa) のみ） */
.cb_two_column .link.link--with-fa {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding-right: 0;
  vertical-align: top;
}
.cb_two_column .link.link--with-fa::after {
  content: none;
  display: none;
}
.cb_two_column .link.link--with-fa .link__label {
  flex: 1 1 auto;
  min-width: 0;
}
.cb_two_column .link.link--with-fa .fa-chevron-right {
  flex-shrink: 0;
  font-size: 0.85em;
  opacity: 0.9;
  line-height: 1;
  transition: transform 0.25s ease;
}
@media (hover: hover) {
  .cb_two_column .link.link--with-fa:hover .fa-chevron-right {
    transform: translateX(4px);
  }
}

/* ページ上部へ戻る: Font Awesome chevron-up */
#return_top:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f077" !important;
  -webkit-font-smoothing: antialiased;
}
@media (hover: hover) {
  #return_top:hover:before {
    color: #999 !important;
  }
}

/* フッター電話番号: Font Awesome phone */
#footer_info .tel:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f095" !important;
  -webkit-font-smoothing: antialiased;
}

/* ニュースティッカーの日付: Font Awesome clock */
#news_ticker .date:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f017" !important;
  -webkit-font-smoothing: antialiased;
}

/* ドロワー: 閉じるボタン（xmark） */
#drawer_mneu_close_button:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f00d" !important;
  -webkit-font-smoothing: antialiased;
}

/* ドロワー: 電話番号（phone） */
#drawer_tel .tel:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f095" !important;
  -webkit-font-smoothing: antialiased;
  margin-right: 0.35em;
}

/* ドロワー: モバイルメニューの子メニュー開閉アイコン */
#mobile_menu li .child_menu_button:after {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f078" !important; /* chevron-down */
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  line-height: 1;
}


/* Font Awesome: サイド固定ボタン（normal_iconの代わり） */
#side_icon_button .icon.icon-fa {
  font-family: inherit;
}
#side_icon_button .icon.icon-fa i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
}

/* price.css の * リセット後もフッター診療時間表を安定表示（sc_schedule） */
#footer_info_area .post_content .sc_schedule {
  margin-bottom: 1em;
  font-size: 16px;
}
#footer_info_area .post_content .sc_schedule table {
  table-layout: fixed !important;
  width: 100%;
  border-collapse: collapse;
}
#footer_info_area .post_content .sc_schedule td {
  display: table-cell !important;
  vertical-align: middle !important;
  background: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
  padding: 20px 0 !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
#footer_info_area .post_content .sc_schedule td.col1 {
  width: 105px !important;
}
#footer_info_area .post_content .sc_schedule tr:first-child td {
  padding-top: 10px !important;
}
#footer_info_area .post_content .sc_schedule tr:last-child td {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

