/*
Theme Name: Lightning Child
Template: lightning
Version: 1.0
*/
/* =========================================================
   00. ガイド用css
========================================================= */

.guide-preview {
  padding: 60px 40px;
  background: #fff;
}

.guide-code {
  padding: 24px;
  background: #f7f7f7;
  border-top: 1px solid #e5e5e5;
}

.guide-rule {
  padding: 24px 40px;
  background: #fafafa;
  border-top: 1px solid #eee;
}
.guide-rule p{
    margin-bottom: 0;	
}
@media (max-width: 767px){
.guide-preview {
  padding: 60px 0px;
}	
}
/* =========================================================
   01. 共通
========================================================= */
.main-section--margin-bottom--on {
    margin-bottom: 0;
}
.site-body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #edf3f6;
}

.entry-body {
  background: none;
  max-width: 1000px;
  margin: 0 auto;
}
p {
  color: #4A4A4A;
  font-size: 16px;
  margin-bottom:0;	
}
ul{
    margin-bottom: 0;	
}
ul li{
	font-size: 16px;	
	margin-bottom: 0;	
}
ol li{
    font-size: 16px;	
}
a.white{
    color: #fff;	
}
a.white:hover{
    text-decoration: underline;	
}
/* =========================================================
   02. レイアウト（l-）
========================================================= */
.l-content-1000 {
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
  .main-section {
        margin-bottom: 0;
    }
/* =========================================================
   03. ユーティリティ（u-）
========================================================= */
/*左右幅 */
.mw900{
    max-width: 900px;	
	margin: 0 auto;
}
/* 配置 */
.u-text-left { text-align: left; }
.u-text-center { text-align: center; }
.u-text-right { text-align: right; }
/* 改行無し */
.nowrap{
white-space: nowrap;	
}
/* 字下げ */
.hanging-indent {
  text-indent: -1em;
  margin-left: 1em;
}
/* 文字ボールド */
.u-fw-bold{
font-weight: bold;	
}
/* 枠線 */
.border_box{
    overflow: hidden;
    clear: both;
    margin: 0 0 30px;
    padding: 15px;
    border: 1px solid #446A88;
}

/* フォントサイズ */
.u-fs-12 { font-size: 12px; }
.u-fs-13 { font-size: 13px; }
.u-fs-14 { font-size: 14px; }
.u-fs-15 { font-size: 15px; }
.u-fs-16 { font-size: 16px; }
.u-fs-18 { font-size: 18px; }
.u-fs-20 { font-size: 20px; }
.u-fs-22 { font-size: 22px; }
.u-fs-24 { font-size: 24px; }
.u-fs-28 { font-size: 28px; }
.u-fs-30 { font-size: 30px; }
.u-fs-36 { font-size: 36px; }

/* カラー */
.u-color-main { color: #446A88; }
.u-color-sub { color: #5f7f98; }
.u-color-gray { color: #666; }
.u-color-light { color: #999; }
.u-color-red { color: #dd0000; }
.u-color-white { color: #fff; }

/* 上 */
.u-mt-0  { margin-top: 0; }
.u-mt-8  { margin-top: 8px; }
.u-mt-10  { margin-top: 10px; }
.u-mt-12 { margin-top: 12px; }
.u-mt-16 { margin-top: 16px; }
.u-mt-20 { margin-top: 20px; }
.u-mt-24 { margin-top: 24px; }
.u-mt-32 { margin-top: 32px; }
.u-mt-40 { margin-top: 40px; }
.u-mt-48 { margin-top: 48px; }
.u-mt-60 { margin-top: 60px; }
.u-mt-80  { margin-top: 80px; }
.u-mt-100 { margin-top: 100px; }
.u-mt-120 { margin-top: 120px; }
.u-mt-160 { margin-top: 160px; }
.u-mt-200 { margin-top: 200px; }


/* 下 */
.u-mb-0  { margin-bottom: 0; }
.u-mb-8  { margin-bottom: 8px; }
.u-mb-10  { margin-bottom: 10px; }
.u-mb-12 { margin-bottom: 12px; }
.u-mb-16 { margin-bottom: 16px; }
.u-mb-20 { margin-bottom: 20px; }
.u-mb-24 { margin-bottom: 24px; }
.u-mb-30 { margin-bottom: 30px; }
.u-mb-32 { margin-bottom: 32px; }
.u-mb-40 { margin-bottom: 40px; }
.u-mb-48 { margin-bottom: 48px; }
.u-mb-60 { margin-bottom: 60px; }
.u-mb-80  { margin-bottom: 80px; }
.u-mb-100 { margin-bottom: 100px; }
.u-mb-120 { margin-bottom: 120px; }
.u-mb-160 { margin-bottom: 160px; }
.u-mb-200 { margin-bottom: 200px; }

/* 上padding */
.e-section--pt-60  { padding-top: 60px; }
.e-section--pt-80  { padding-top: 80px; }
.e-section--pt-120 { padding-top: 120px; }
.e-section--pt-160 { padding-top: 160px; }
.e-section--pt-200 { padding-top: 200px; }

/* 下padding */
.e-section--pb-50  { padding-bottom: 50px; }
.e-section--pb-60  { padding-bottom: 60px; }
.e-section--pb-80  { padding-bottom: 80px; }
.e-section--pb-100 { padding-bottom: 100px; }
.e-section--pb-120 { padding-bottom: 120px; }
.e-section--pb-160 { padding-bottom: 160px; }
.e-section--pb-200 { padding-bottom: 200px; }

/* 左右中央寄せ */
.u-mx-auto {
  margin-left: auto;
  margin-right: auto;
}
/* Flex */
.u-flex {
  display: flex;
  gap: 20px;
}

/* 50 : 50 */
.u-flex-50-50 > * {
  flex: 1;
  min-width: 0;
}

/* 40 : 60 */
.u-flex-40-60 > :first-child {
  width: 40%;
}

.u-flex-40-60 > :last-child {
  width: 60%;
}

.u-flex-40-60 > * {
  min-width: 0;
}

/* 30 : 70 */
.u-flex-30-70 > :first-child {
  width: 30%;
}

.u-flex-30-70 > :last-child {
  width: 70%;
}

.u-flex-30-70 > * {
  min-width: 0;
}
/* 70 : 30 */
.u-flex-70-30 > :first-child {
  width: 70%;
}

.u-flex-70-30 > :last-child {
  width: 30%;
}

.u-flex-70-30 > * {
  min-width: 0;
}
/* 20 : 80 */
.u-flex-20-80 > :first-child {
  width: 20%;
}

.u-flex-20-80 > :last-child {
  width: 80%;
}

.u-flex-20-80 > * {
  min-width: 0;
}
/* 80 : 20 */
.u-flex-80-20 > :first-child {
  width: 80%;
}

.u-flex-80-20 > :last-child {
  width: 20%;
}

.u-flex-80-20 > * {
  min-width: 0;
}
/* 中央寄せ */
.u-flex-center{
  justify-content: center;
  gap: 40px;
}
.u-flex-img-2 {
  gap: 40px;
}

.u-flex-img-2 > * {
  flex: 0 0 auto;
}
/* ======================================
e-check-list
====================================== */

.e-check-list {
  list-style: none;
  width: 100%;
  max-width: 450px;
  padding-left: 0;
}

.e-check-list li {
  position: relative;
  margin: 0;
  padding: 12px 0 12px 34px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px dotted #97ACBC;
}

/* チェックマーク */
.e-check-list li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  width: 8px;
  height: 16px;
  border-right: 3px solid #446A88;
  border-bottom: 3px solid #446A88;
  transform: translateY(-60%) rotate(45deg);
}

/* 横並びレイアウト向け */
.e-check-list--wide {
  max-width: 600px;
}

/* 全幅表示 */
.e-check-list--full {
  max-width: none;
}

/* 中央寄せ */
.e-check-list--center {
  margin-left: auto;
  margin-right: auto;
}

/* 内部リンク */
.internal-link-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 40px 12px 20px;
  background: #5488B0;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  text-align: left;
}

.internal-link-btn::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.internal-link-btn:hover {
  opacity: .8;
  color: #fff !important;
  text-decoration: none !important;
}
/* ==========================================
   枠線
========================================== */
.e-notice{
    border: 1px solid #4b6f8e;
}
/* ======================================
e-list
====================================== */

.e-list {
  padding-left: 1.5em;
  list-style-type: square;
}

.e-list li {
  margin-bottom: 10px;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
}

.e-list li:last-child {
  margin-bottom: 0;
}

.e-list li::marker {
  color: #446A88;
}
/* =========================================================
   04. 共通要素（e-）
========================================================= */

/* 見出し */
.e-h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 42px;
  font-family: "Hiragino Mincho ProN", serif;
  font-weight: 400;
  font-size: 35px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #446A88;
  text-align: center;
}
.e-h2 span {
  display: block;
  margin-top: -2px;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #446A88;
}
.e-h2 span.c_white{
  color: #fff;	
}
.e-h2::before {
  content: attr(data-en-bg);
  position: absolute;
  left: 50%;
  top: 88%;
  z-index: -1;
  transform: translate(-50%, -48%);
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  color: rgba(255,255,255,0.7);
  white-space: nowrap;
  pointer-events: none;
}

.e-section--white .e-h2::before {
  color: rgba(237,243,246,0.85);
}
.e-h2.u-text-left{
    text-align: left;	
}
.e-h3 {
  margin: 40px 0 16px;
  margin: 0 0 14px; 
  padding: 8px 16px;
  background: #446A88;
  color: #fff;
  border-bottom: none;
  font-size: 20px;
}
.e-h3.e-h3--mincho {
  margin: 0 0 14px;
  padding: 3px 16px;
  background: #446A88;
  color: #fff;
  border-bottom: none;
  font-family:
    "Yu Mincho",
    "游明朝",
    "YuMincho",
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN W3",
    "Noto Serif JP",
    serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
  letter-spacing: 0.1em;
}
.price-heading__icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 50%;
    transition: background-color .4s ease, border-color .4s ease;
}

.price-heading__icon i{
    color: #fff;
    font-size: 17px;
    margin: 0;
    line-height: 1;
    transition: color .4s ease;
}

.treatment-method__title a:hover .price-heading__icon{
    background: #fff;
}

.treatment-method__title a:hover .price-heading__icon i{
    color: #446A88;
}
/* 料金表ページ：施術名リンク見出し 背景なし */
.e-h3.price__title {
  background: none;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}

/* 文字色 */
.e-h3.price__title a {
  color: #446A88;
  text-decoration: none;
}

/* 矢印アイコンの丸 */
.e-h3.price__title .price-heading__icon {
  border-color: #446A88;
  margin-left: 15px;	
}

/* 矢印アイコン */
.e-h3.price__title .price-heading__icon i {
  color: #446A88;
}

/* hover時：丸だけ反転 */
.e-h3.price__title a:hover .price-heading__icon {
  background: #446A88;
}

.e-h3.price__title a:hover .price-heading__icon i {
  color: #fff;
}
.e-h4 {
  position: relative;
  margin: 0 0 24px;
  padding-left: 14px;
  color: #446A88;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.e-h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 2em;
  background: #446A88;
  transform: translateY(-50%);
}

/* セクション */
.e-section {
  padding-top: 100px;
}
.e-section--lg {
   padding-top: 120px;
}
.e-section--white {
  background: #fff;
}

.e-section--blue {
  background: #edf3f6;
}

.e-section--full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.e-section__inner {
  max-width: 1260px;
  margin: 0 auto;
}
.sp-none {
  display:block ;
}
.pc-none {
  display:none;
}

/* =========================================================
   05. 施術ページヘッダー
========================================================= */
.page-header {
  background: #EDF2F4;
  padding: 40px 16px 18px;
  text-align: center;
}

.page-header::before {
  display: none;
}

.page-header-title, h1.page-header-title {
  font-size: 40px;
  font-weight: 400;
  font-family: "Hiragino Mincho ProN", serif;
  color: #5f7f98;
}

/* タグ */
.treatment-tags {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

.treatment-tags .tag {
  padding: 4px 10px;
  font-size: 12px;
}

.treatment-tags .men { background: #5f8dad; color: #fff; }
.treatment-tags .women { background: #c885a6; color: #fff; }

.treatment-tags .osaka,
.treatment-tags .kobe {
  background: transparent;
  border: 1px solid #274875;
  color: #274875;
}
.treatment-method__title a{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff; 
    text-decoration: none;
}
.treatment-method__title a,
.treatment-method__title a:visited,
.treatment-method__title a:hover,
.treatment-method__title a:focus{
    color: #fff;
    text-decoration: none;
}
/* =========================================================
   06. パンくず
========================================================= */
.breadcrumb {
  background: #edf3f6;
}
/* =========================================================
   ブログ関連ページ：パンくず背景を白
========================================================= */
body.single-post #breadcrumb,
body.blog #breadcrumb,
body.category #breadcrumb,
body.tag #breadcrumb,
body.date #breadcrumb,
body.author #breadcrumb {
  background: #fff;
}
.breadcrumb-list {
  max-width: 1000px;
  margin: 0 auto;
}
/* ブログ関連ページだけ1140px */
body.single-post .breadcrumb-list,
body.blog .breadcrumb-list,
body.category .breadcrumb-list,
body.tag .breadcrumb-list,
body.date .breadcrumb-list,
body.author .breadcrumb-list {
  max-width: 1140px;
}
.breadcrumb-list__item::after {
  content: "＞";
  margin: 0 .5em;
  color: #446A88;
}

.breadcrumb-list__item:last-child::after {
  content: none;
}

.breadcrumb-list__item,
.breadcrumb-list__item a {
  color: #446A88;
}

.breadcrumb-list__item--home i {
  display: none;
}

/* =========================================================
   07. ヘッダー画像
========================================================= */
.treatment-hero {
  margin-bottom: 40px;
}

.treatment-hero img {
  width: 100%;
}
.treatment-hero img.auto {
  width: auto;
}
/* =========================================================
   08. 内部リンク
========================================================= */
.treatment-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom:100px;
}
.treatment-links.mb-none{
  margin-bottom:0;	
}
.treatment-links__item {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  background: #fff;
  color: #4C6A85;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  padding: 5px 25px 5px 25px;
}

.treatment-links__item::after {
  content: "";
  position: absolute;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #4C6A85;
  border-bottom: 2px solid #4C6A85;
  transform: rotate(45deg);
}

.treatment-links__item.is-active {
  background: #5A88B0;
  color: #fff;
}

.treatment-links__item.is-active::after {
  border-right-color: #fff;
  border-bottom-color: #fff;
}

.treatment-links__item:hover {
  opacity: 0.85;
}

.treatment-links__item.is-active:hover {
  opacity: 0.7;
}

/* 通常hover（active以外だけ） */
.treatment-links__item:not(.is-active):hover::after {
  border-right-color: #1e73be;
  border-bottom-color: #1e73be;
}

/* activeは常に白を維持 */
.treatment-links__item.is-active::after,
.treatment-links__item.is-active:hover::after {
  border-right-color: #fff;
  border-bottom-color: #fff;
}
/* =========================================================
   09. おすすめプラン
========================================================= */
.recommend-plan__list img {
  max-width: 400px;
  width: 100%;
  height: auto;
}

/* =========================================================
   10. 乳頭縮小術とは
========================================================= */
.about-block__wrap {
  display: grid;
   grid-template-columns: 450px 1fr;
  align-items: stretch;
  max-width: 1260px;
  margin: 0 auto;
  background: #eef5f8;
  padding: 50px;
}

.about-block__text {
  margin-left: 50px;
}

.about-block__text p.about-block__lead {
  margin: 0 0 16px;
  color: #446A88;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 20px;
  font-weight: 400; /* W6 */
  line-height: 1.5;
}

.about-block__text p {
  font-size: 16px;
  line-height: 1.9;
}
/* =========================================================
   シミページ：about-block 下段を横幅いっぱいに
========================================================= */
.about-block__wrap--shimi .about-block__turnover {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 40px;
}

.about-block__wrap--shimi .about-block__turnover-image {
  display: block;
  height: auto;
  margin: 0 auto;
}
/* =========================================================
   動画＋ドクター解説
========================================================= */
.doctor-movie__inner {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

.doctor-movie__video {
  margin-top: 24px;
}

.doctor-movie__video a {
  display: block;
}

.doctor-movie__video img {
  display: block;
  width: 100%;
  height: auto;
}

/* ドクター解説全体 */
.doctor-commentary {
  margin-top: 32px;
}

.doctor-commentary__title {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
  color: #446A88;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
}

.doctor-commentary__title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #446A88;
}

/* 1セットずつ並べる */
.doctor-commentary__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.doctor-commentary__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 32px;
  align-items: start;
}

/* テキスト */
.doctor-commentary__text p {
  margin: 0;
  color: #333333;
  font-size: 16px;
  line-height: 1.95;
}

/* ドクターカード */
.doctor-card {
  width: 150px;
  text-align: center;
}

.doctor-card__image {
  width: 120px;
  height: 120px;
  margin: 0 auto 10px;
}

.doctor-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.doctor-card__name {
  margin: 0;
  color: #446A88;
   font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
}

/* =========================================================
   治療方法
========================================================= */
.treatment-method__inner {
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
}

.treatment-method__list {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.treatment-method__item {
  width: 100%;
}

/* 本文 */
.treatment-method__body {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.treatment-method__text {
  margin: 0;
  color: #333;
  font-size: 16px;
  line-height: 1.9;
}

/* 画像 */
.treatment-method__image {
  text-align: center;
}

.treatment-method__image img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.treatment-method__image img.w-auto{
    width: auto;
    margin: 0 auto;	
}
/* 下の補足文 */
.treatment-method__note {
  margin: 20px 0 0;
  line-height: 1.9;
  color: #333;
}

/* =========================================================
   こんな方におすすめ
========================================================= */
.recommend-target {
  position: relative;
  overflow: hidden;
  background: #446A88;
}
/* 左下の大きい英字 */
.recommend-target::after {
  content: attr(data-en-bg);
  position: absolute;
  left: 0;
  bottom: -12px;
  z-index: 0;
  font-family: "Hiragino Mincho ProN", "Times New Roman", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.12);
  white-space: nowrap;
  pointer-events: none;
}

/* 中身を英字より前面に */
.recommend-target__inner {
  position: relative;
  z-index: 1;
}
/* 斜線背景 */
.recommend-target::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.04) 0,
    rgba(255, 255, 255, 0.04) 1.5px,
    transparent 1.5px,
    transparent 7px
  );
  pointer-events: none;
}

.recommend-target__inner {
  position: relative;
  z-index: 1;
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
}

.recommend-target__title {
  margin: 0;
  color: #fff;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 35px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
.recommend-target__title span{
  display: block;
  margin-top: -2px;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #fff;	
}
.recommend-target__lead-line {
  width: 100%;
  max-width: 95%;
  height: 2px;
  margin: 18px auto 18px;
  background: rgba(255, 255, 255, 0.35);
}

.recommend-target__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, auto));
  justify-content: center;
  column-gap: 56px;
  row-gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 900px;
  margin: 0 auto;
}

.recommend-target__item {
  font-family: "Hiragino Mincho ProN", serif;
  position: relative;
  padding-left: 32px;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.8;
}

/* 白い四角ボックス */
.recommend-target__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.36em;
  transform: none;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 1px;
  z-index: 1;
}

/* チェックマーク */
.recommend-target__item::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 0.48em;
  width: 9px;
  height: 18px;
  border-right: 2px solid #d12a8a;
  border-bottom: 2px solid #d12a8a;
  transform: rotate(45deg);
  z-index: 2;
}

/* =========================================================
   特徴・効果
========================================================= */
.feature-block {
  position: relative;
  overflow: hidden;
  background: #f5f8fb;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* 背景画像 */
.feature-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/wp/wp-content/uploads/bg_dr_doi.jpg");
  background-repeat: no-repeat;
  background-size: 130%;
  background-position: 85% center;
  opacity: 0.4;
  z-index: 0;
}
.feature-block.bottom-0::before{
    background-position: 85% bottom;
}
/* ナース */
.feature-block--ns::before {
  background-image: url("/wp/wp-content/uploads/features_ns.jpg");
}

/* カウンセリング */
.feature-block--counseling::before {
  background-image: url("/wp/wp-content/uploads/features_couseling_v02.jpg");
}
.feature-block--counseling .feature-block__inner::before {
  background: none;
}
/* 注射 */
.feature-block--injection::before {
  background-image: url("/wp/wp-content/uploads/features_injection.jpg");
}

/* レーザー */
.feature-block--laser::before {
  background-image: url("/wp/wp-content/uploads/features_laser.jpg");
}

/* グラデーション */
.feature-block__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(245, 248, 251, 0.96) 0%,
    rgba(245, 248, 251, 0.92) 38%,
    rgba(245, 248, 251, 0.78) 62%,
    rgba(245, 248, 251, 0.35) 82%,
    rgba(245, 248, 251, 0.12) 100%
  );
  pointer-events: none;
  z-index: 1;
}

/* 右下の大きい英字 */
.feature-block::after {
  content: attr(data-en-bg);
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 5;
  color: rgba(255,255,255,0.85);
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
  pointer-events: none;
}

.feature-block__inner {
  position: relative;
  z-index: 2;
  max-width: 1060px;
  margin: 0 auto;
  padding: 80px 40px;
}

/* 中身をグラデーションより前面へ */
.feature-block__title,
.feature-list {
  position: relative;
  z-index: 2;
}

.feature-block__title {
  margin: 0 0 40px;
  text-align: left;
  color: #446A88;
}
.feature-block__title.u-mb-30{
  margin: 0 0 30px;	
}
/* 共通h2の背景英字をこのセクションだけ消す */
.feature-block .e-h2::before {
  content: none;
}

.feature-block__title span {
  display: block;
  margin-top: -2px;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #446A88;
}

.feature-list {
  max-width: 760px;
}

.feature-item {
  padding: 0 0 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid #b8cade;
}

.feature-item:last-child {
  margin-bottom: 0;
}

.feature-item__title {
  margin: 0 0 10px;
  color: #446A88;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  display: flex;
  align-items: center;
}

.feature-item__title span {
  display: inline-block;
  margin-right: 12px;
  font-size: 20px;
  line-height: 1;
}

.feature-item__text {
  color: #446A88;
  font-size: 16px;
  line-height: 1.9;
}

/* =========================================================
   症例スライダー
========================================================= */

.case-slider__inner {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.case-card__link:hover {
  opacity: 0.9;
}
/* 見出しエリア */
.case-slider__head {
  position: relative;
  margin-bottom: 38px;
  text-align: center;
}

/* 右上リンク */
.case-slider__more {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  padding-right: 14px;
  color: #446A88;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  font-size: 16px;
  z-index: 10;
}

/* 矢印 */
.case-slider__more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.case-slider__more:hover{
	
}
/* =========================================================
   Swiper
========================================================= */
.case-slider__swiper {
  overflow: hidden;
}

/* =========================================================
   カード
========================================================= */
.case-card {
  background: #fff;
}

.case-card__image {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f5f5f5;
}

.case-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.case-card__body {
  padding: 16px 8px;
}

.case-card__title {
  margin: 0 0 6px;
  color: #446A88;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.case-card__meta {
  color: #333;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
  font-size: 13px !important;
}
.case-single .case-card__meta.u-text-left{
text-align: left;	
}
/* 費用だけ少し強調したい場合は残してOK */
.case-card__meta:first-of-type {
  font-weight: 500;
}
/* =========================================================
   TOP症例スライダー：カード高さを揃える
========================================================= */
.top-case-slider .swiper-wrapper {
  align-items: stretch;
}

.top-case-slider .swiper-slide {
  display: flex;
  height: auto;
}

.top-case-slider .case-card {
  display: flex;
  width: 100%;
  height: 100%;
}

.top-case-slider .case-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.top-case-slider .case-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
/* =========================================================
   ドット（丸）
========================================================= */
.case-slider__pagination {
  position: static;
  margin-top: 28px;
  text-align: center;
}

.case-slider__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 6px !important;
  background: transparent;
  border: 2px solid #7ea5c5;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.3s ease;
}

.case-slider__pagination .swiper-pagination-bullet-active {
  background: #7ea5c5;
  transform: scale(1.2);
}

/* =========================================================
   ドット（丸）
========================================================= */
.case-slider__pagination {
  position: static;
  margin-top: 28px;
  text-align: center;
}

/* 通常ドット */
.case-slider__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 6px !important;
  background: transparent;
  border: 2px solid #7ea5c5;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.3s ease;
}

/* アクティブ */
.case-slider__pagination .swiper-pagination-bullet-active {
  background: #446A88;
  transform: scale(1.2);
}
/* =========================================================
   症例1個表示
========================================================= */
.case-single {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}

.case-single .case-card {
  background: #fff;
}

.case-single .case-card__image {
  width: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  background: transparent;
}

.case-single .case-card__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.case-single .case-card__body {
  padding: 16px 0 0;
}

.case-single .case-card__title {
  margin: 0 0 10px;
  color: #446A88;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

.case-single .case-card__meta {
  color: #333;
  font-size: 13px !important;
  line-height: 1.8;
}
.case-single .case-card__meta:first-of-type {
  font-weight: 500;
}

/* =========================================================
   男性にもおすすめ
========================================================= */
.men-recommend {
  position: relative;
  overflow: hidden;
  background: #CCD7DE;
}

.men-recommend::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
  radial-gradient(rgba(255,255,255,0.55) 1px, transparent 1px),
  radial-gradient(rgba(255,255,255,0.55) 1px, transparent 1px);
  background-size: 20px 20px;
  background-position: 0 0, 8px 8px; 
  pointer-events: none;
}
.men-recommend::after {
  content: attr(data-en-bg);
  position: absolute;
  right: 0;
  bottom: -0.5%;
  z-index: 5;
  color: rgba(255,255,255,0.85);
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
  pointer-events: none;
}
.men-recommend__case-link:hover{
    opacity: 0.9;	
}
.men-recommend__inner {
  position: relative;
  z-index: 1;
  max-width: 1060px;
  margin: 0 auto;
}

.men-recommend__eyebrow {
  font-family: "futura-pt", "Helvetica Neue", Arial, sans-serif;	
  margin: 0 0 8px;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.men-recommend__title {
  margin-bottom: 36px;
}

/* =========================================================
   チェックエリア
   ※ 既存の .recommend-target__list / __item を使用
========================================================= */
.men-recommend__check-wrap {
  max-width: 1000px;
  margin: 0 auto 48px;
  padding: 28px 40px;
  background: #fff;
}

.men-recommend .recommend-target__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, auto));
  justify-content: center;
  column-gap: 56px;
  row-gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 900px;
  margin: 0 auto;
}

.men-recommend .recommend-target__item {
  color: #032E58;
}

/* 白背景用にボックス色を維持 */
.men-recommend .recommend-target__item::before {
  background: #CCD7DE;
}

/* チェック色だけ男性版に変更 */
.men-recommend .recommend-target__item::after {
   content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  width: 9px;
  height: 18px;
  border-right: 2px solid #032e57;
  border-bottom: 2px solid #032e57;
  transform: translateY(-60%) rotate(45deg);
  z-index: 2;
}

/* =========================================================
   説明エリア
========================================================= */
.men-recommend__intro {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
  max-width: 1000px;
  margin: 0 auto 48px;
}

.men-recommend__lead {
  margin: 0 0 16px;
  color: #4A4A4A;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}

.men-recommend__text p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 2;
}

.men-recommend__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   症例2枚
========================================================= */
.men-recommend__cases {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px;
  max-width: 730px;
  margin: 0 auto;
}

.men-recommend__case-image {
  overflow: hidden;
  background: #f5f5f5;
}

.men-recommend__case-image img {
  display: block;
  width: 100%;
  height: auto;
}

.men-recommend__case-body {
  padding-top: 10px;
}

.men-recommend__case-title {
  margin: 0 0 6px;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.men-recommend__case-meta {
  margin: 0;
  color: #333;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
}

.men-recommend__case-meta:first-of-type {
  font-weight: 500;
}

/* =========================================================
   施術の流れ
========================================================= */
.flow__inner {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

/* タイトル（明朝） */
.flow__title {
  margin-bottom: 40px;
  text-align: center;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
}

/* リスト */
.flow__list {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* 各ステップ */
.flow__item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 24px;
  align-items: center;
}

/* 画像 */
.flow__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ステップ見出し */
.flow__step {
  font-family: "Hiragino Mincho ProN", serif;
  display: flex;
  align-items: center;
  margin: 0 0 8px;
  color: #446A88;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  color: #446A88;
}

/* ナンバー（最重要） */
.flow__step span {
  margin-right: 10px;
  font-size: 40px;
  font-family: "Times New Roman", Times, serif; 
  font-style: italic; 
  font-weight: 400;
  line-height: 1;
  color: #446A88;
}

/* テキスト */
.flow__text {
  margin: 0;
  color: #333;
  line-height: 1.9;
}

/* 矢印 */
.flow__arrow {
  text-align: center;
  color: #446A88;
  font-size: 18px;
  line-height: 1;
}

/* =========================================================
   施術について
========================================================= */
.treatment-info__inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.treatment-info__title {
  text-align: center;
  margin-bottom: 40px;
}

/* テーブル風 */
.treatment-info__table {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* 行 */
.treatment-info__row {
  display: grid;
  grid-template-columns: 220px 1fr;
}

/* 左（ラベル） */
.treatment-info__head {
  background: #446A88;
  color: #fff;
  font-weight: 400;
  padding: 14px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 右（内容） */
.treatment-info__body {
  background: #fff;
  color: #333;
  line-height: 1.9;
  padding: 14px 16px;
  font-size: 14px;
}

/* =========================================================
   料金表
========================================================= */

.price-table-wrap {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

/* -------------------------
   モニタータグ
------------------------- */

.price-table-wrap--monitor {
  position: relative;
  padding-top: 34px;
}

.price-table-tag {
  position: absolute;
  top: -5px;
  right: 0;
  display: inline-block;
  padding: 8px 16px;
  background: #446A88;
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
}

/* -------------------------
   table
------------------------- */

.price-table-new {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: none !important;
  background: #fff;
}
/* Lightning対策 */

.price-table-new,
.price-table-new tbody,
.price-table-new tr,
.price-table-new th,
.price-table-new td {
  border-left: none !important;
  border-right: none !important;
}

/* -------------------------
   共通セル
------------------------- */

.price-table-new th,
.price-table-new td {
  padding: 12px 14px;
  border-top: 1px solid #446A88;
  border-bottom: 1px solid #446A88;
  vertical-align: middle;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}
/* th同士の区切りは白線 */
.price-table-new th {
  border-bottom: 1px solid #fff !important;
}

/* rowspanなしの途中見出しは上に白線 */
.price-table-new tr:not(:first-child) > .price-table-new__head:not([rowspan]) {
  border-top: 1px solid #fff !important;
}

/* 最後の行のthだけ下線を青に戻す */
.price-table-new tr:last-child .price-table-new__head {
  border-bottom: 1px solid #446A88 !important;
}
/* rowspan付きで、最後を青線にしたい場合だけ使う */
.price-table-new__head.is-rowspan-end {
  border-bottom: 1px solid #446A88 !important;
}
.price-table-new th a{
color:#fff;	
  text-decoration: underline;	
}
/* -------------------------
   左見出し
------------------------- */

.price-table-new__head {
  width: 220px;
  background: #446A88;
  color: #fff !important;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}

/* メニュー */
.price-table-new__menu {
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  padding-right: 14px;
  padding-left: 14px;
}

/* 詳細 */
.price-table-new__detail {
  text-align: left;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* 通常料金 */
.price-table-new__normal {
  width: auto;
  white-space: normal;
  text-align: right;
}

/* モニター料金 */
.price-table-new__monitor {
  width: auto;
  white-space: nowrap;
  color: #c05a98 !important;
  text-align: right;
}

.price-table-new__monitor.is-accent {
  color: #c0007a !important;
  font-size: 18px;
  font-weight: 700;
}

/* -------------------------
   モニターなし
------------------------- */

.price-table-new--nomonitor .price-table-new__normal {
  width: 220px;
}

/* -------------------------
   注意書き
------------------------- */

.price__notes {
　margin-top:10px;
  padding: 0;
  list-style: none;
}

.price__notes li {
  position: relative;
  margin: 0;
  padding-left: 1em;
  color: #333;
  font-size: 14px;
  line-height: 1.8;
}

.price__notes li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

/* -------------------------
   テーブル間余白
------------------------- */

.price-table-new + .price__notes {
  margin-top: 10px;
}

.price__notes + .price-table-new {
  margin-top: 28px;
}

/* ---------------------------------------------------------
   モニター条件
--------------------------------------------------------- */
.price__note {
  max-width: 900px;
  margin: 26px auto 0;
  border: 1px solid #88a3bb;
  background: #fff;
}

.price__note-title {
  background: #4b6f8e;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  padding: 10px 14px;
}

.price__note-body {
  padding: 14px 18px 16px;
}

.price__note-body ul {
  margin: 0;
  padding-left: 1.2em;
}

.price__note-body li {
  color: #666;
  font-size: 14px;
  line-height: 1.8;
}

/* =========================================================
   FAQ
========================================================= */
.faq__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.faq__title {
  text-align: center;
  margin-bottom: 38px;
}

.faq__item + .faq__item {
  margin-top: 12px;
}

.faq__question {
  width: 100%;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  gap: 14px;
  align-items: center;
  background: #fff;
  border: none;
  padding: 16px;
  cursor: pointer;
  text-align: left;
}

.faq__q {
  color: #446A88;
  font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.faq__text {
  padding: 0 10px;
  color: #446A88;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.faq__icon {
  width: 24px;
  height: 24px;
  background: #4b6f8e;
  position: relative;
}

/* 横線 */
.faq__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 3px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 縦線 */
.faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 14px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease;
}

/* 開いたら縦線消す */
.faq__item.is-open .faq__icon::after {
  opacity: 0;
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  background: #fff;
  transition: max-height 0.45s ease, opacity 0.3s ease;
}

.faq__item.is-open .faq__answer {
  opacity: 1;
}

.faq__answer-inner {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px;
  background: #EDF2F4;
}

.faq__a {
  color: #A00F79;
  font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.faq__answer p {
  color: #446A88;
  font-size: 16px;
  line-height: 1.9;
  word-break: break-word;
  padding: 0 10px;
}

/* =========================================================
   医師紹介
========================================================= */
.doctor-info__inner {
  max-width: 800px;
  margin: 0 auto;
}

.doctor-info__title {
  margin-bottom: 38px;
  text-align: center;
}

.doctor-profile {
  background: #fff;
}

.doctor-profile__content {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 24px;
  align-items: start;
  padding: 32px;
}

.doctor-profile__name {
  margin: 0 0 8px;
  font-size: 24px;
  color: #446A88;
  font-family: "Hiragino Mincho ProN", serif;
  line-height: 1.4;
}

.doctor-profile__cert {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  line-height: 1.7;
}

.doctor-profile__career-label {
  margin: 16px 0 8px;
  padding-bottom: 6px;
  color: #333;
  font-size: 14px;
  line-height: 1.6;
}

.doctor-profile__career p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 2;
  padding-bottom: 0;
}

.doctor-profile__link {
  margin: 20px 0 0;
}

.doctor-profile__link a {
  color: #4b6f8e;
  font-weight: 400;
  text-decoration: none;
}

.doctor-profile__link a:hover {
  opacity: 0.8;
}

.doctor-profile__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   未承認医薬品アコーディオン
========================================================= */
.approval-note {
  margin-top: 80px;
}

.approval-note__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.approval-note__item {
  background: #6f92b4;
}

.approval-note__question {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 36px;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: none;
  background: #5488B0;
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.approval-note__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.approval-note__icon {
  width: 28px;
  height: 28px;
  background: #fff;
  position: relative;
  justify-self: end;
}

.approval-note__icon::before,
.approval-note__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #4b6f8e;
  transform: translate(-50%, -50%);
}

.approval-note__icon::before {
  width: 14px;
  height: 3px;
}

.approval-note__icon::after {
  width: 3px;
  height: 14px;
  transition: opacity 0.25s ease;
}

.approval-note__item.is-open .approval-note__icon::after {
  opacity: 0;
}

.approval-note__answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.45s ease, opacity 0.3s ease;
  background: #edf3f6;
}

.approval-note__item.is-open .approval-note__answer {
  opacity: 1;
}

.approval-note__answer-inner {
  padding: 20px;
}

.approval-note__answer-inner p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.9;
}

/* =========================================================
   ヘッダー
========================================================= */
#header-top {
  display: none;
}
.site-header {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.global-nav-name {
  font-weight: 400;
}

/* =========================
   ナビ基本
========================= */
.global-nav-list > li > a {
  position: relative;
  text-decoration: none;
}

/* =========================
   ヘッダーナビ hover下線
========================= */

/* 既存の点線下線を消す */
#global-nav .global-nav-list > li > a,
#global-nav .global-nav-list > li > a:hover,
#global-nav .global-nav-list > li > a .global-nav-name,
#global-nav .global-nav-list > li > a:hover .global-nav-name {
  text-decoration: none !important;
}

/* 文字本体だけに下線演出 */
#global-nav .global-nav-list > li > a .global-nav-name {
  display: inline-block;
  font-weight: 400;
  line-height: 1.4;
  padding-bottom: 4px;
  background-image: linear-gradient(#446A88, #446A88);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 0 2px;
  transition: background-size 0.3s ease, color 0.3s ease;
}

/* hover時 */
#global-nav .global-nav-list > li > a:hover .global-nav-name {
  color: #446A88;
  background-size: 100% 2px;
}

/* 現在ページ */
#global-nav .global-nav-list > .current-menu-item > a .global-nav-name,
#global-nav .global-nav-list > .current_page_item > a .global-nav-name {
  background-size: 100% 2px;
}

/* =========================================================
   LPフッター
========================================================= */
.site-footer {
  background: #446A88;
  color: #fff;
  border-top: none;
}

.site-footer a {
  color: #fff;
  text-decoration: none;
}

.site-footer a:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* フッター全体 */
.site-footer .site-footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 20px 20px;
}

/* Lightningの3カラムを無効化して中央寄せ */
.site-footer .site-footer-content > .row {
  display: block;
  margin: 0;
}

.site-footer .site-footer-content > .row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
}

.site-footer .site-footer-content > .row > [class*="col-"]:nth-child(2),
.site-footer .site-footer-content > .row > [class*="col-"]:nth-child(3) {
  display: none;
}

.site-footer .widget {
  margin: 0;
}

/* ロゴ＋法人名 */
.footer-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 28px;
  text-align: center;
}

.footer-brand__logo {
  display: block;
  width: auto;
  height: 72px;
}

.footer-brand__title {
  margin: 0;
  color: #fff;
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 24px;
  line-height: 1.5;
}

/* 院情報 */
.footer-clinic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 70px;
  max-width: 850px;
  margin: 0 auto 24px;
}

.footer-clinic__item {
  text-align: left;
}

.footer-clinic__name {
  margin: 0 0 8px;
  color: #fff;
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 26px;
  line-height: 1.4;
}

.footer-clinic__text {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.9;
}

/* 線 */
.footer-bottom-line {
  max-width: 980px;
  margin: 0 auto 16px;
  border-top: 1px solid rgba(255,255,255,0.75);
}

/* ナビ */
.footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px 28px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.footer-nav li {
  margin: 0;
  padding: 0;
}

.footer-nav li a {
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  text-decoration: none;
}

/* 自動コピーライト */
.site-footer-copyright {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px 28px;
  text-align: center;
  color: rgba(255,255,255,0.92);
  font-size: 13px;
  line-height: 1.6;
  border-top: none;
  background: transparent;
}

.site-footer-copyright p {
  margin: 0;
  color: rgba(255,255,255,0.92);
}

/* =========================================================
   TOP メインスライダー
========================================================= */
.top-main-slider {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  padding: 40px 0 0;
  background: #fff;
}

.top-main-slider__swiper {
  max-width: 1800px;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}

/* スライド */
.top-main-slider__slide {
  opacity: 1;
  transform: scale(0.85);
  transition: transform 0.5s ease;
}

/* 中央スライド */
.top-main-slider__slide.swiper-slide-active {
  transform: scale(1.05);
  z-index: 5;
}

/* 左右スライド */
.top-main-slider__slide.swiper-slide-prev,
.top-main-slider__slide.swiper-slide-next {
  transform: scale(0.85);
  z-index: 2;
}

/* リンク */
.top-main-slider__link {
  display: block;
}

/* 画像 */
.top-main-slider__link img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 950px;	
}
.top-main-slider__link img,
.recommend-plan__link img {
  transition: opacity 0.3s ease;
}

.top-main-slider__link:hover img,
.recommend-plan__link:hover img {
  opacity: 0.8;
}
/* =========================================================
   ドット
========================================================= */
.top-main-slider__pagination {
  position: static;
  margin-top: 30px;
  text-align: center;
}

.top-main-slider__bullet {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #446A88;
  cursor: pointer;
}

.top-main-slider__bullet.is-active {
  background: #446A88;
}
/* =========================================================
   矢印ナビ
========================================================= */
.top-main-slider {
  position: relative;
}

.top-main-slider__nav {
  pointer-events: none;
}

.top-main-slider__prev,
.top-main-slider__next {
  position: absolute;
  top: 50%;
  width: 34px;
  height: 34px;
  margin-top: -17px;
  border-radius: 50%;
  background: #97ACBC;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  cursor: pointer;
  z-index: 20;
  pointer-events: auto;
  transition: opacity .3s ease;
}

.top-main-slider__prev:hover,
.top-main-slider__next:hover {
  opacity: .8;
}

/* 左 */
.top-main-slider__prev {
  left: 12%;
}

/* 右 */
.top-main-slider__next {
  right: 12%;
}

/* 矢印 */
.top-main-slider__prev::before,
.top-main-slider__next::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 8px;
  height: 8px;

  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* ← */
.top-main-slider__prev::before {
  transform:
    translate(-35%, -50%)
    rotate(-135deg);
}

/* → */
.top-main-slider__next::before {
  transform:
    translate(-65%, -50%)
    rotate(45deg);
}

/* =========================================================
   おすすめプラン
========================================================= */
.recommend-plan .e-section__inner {
  position: relative;
}

/* swiper */
.recommend-plan__swiper {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

/* slide */
.recommend-plan__slide {
  text-align: center;
}

.recommend-plan__link {
  display: block;
}
.recommend-plan__link img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}
.recommend-plan__link.maxcontents img {
  max-width: none;
}
/* =========================================================
   ドット
========================================================= */
.recommend-plan__pagination {
  position: relative;
  z-index: 30;
  margin-top: 24px;
  text-align: center;
}

.recommend-plan__bullet {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;

  border-radius: 50%;

  background: transparent;
  border: 1px solid #446A88;

  cursor: pointer;
}

.recommend-plan__bullet.is-active {
  background: #446A88;
}

/* =========================================================
   矢印
========================================================= */
.recommend-plan__nav {
  pointer-events: none;
}

.recommend-plan__prev,
.recommend-plan__next {
  position: absolute;
  top: 50%;

  width: 34px;
  height: 34px;
  margin-top: -17px;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  z-index: 20;
  pointer-events: auto;
  transition: opacity .3s ease;
}

.recommend-plan__prev:hover,
.recommend-plan__next:hover {
  opacity: .7;
}

/* ← */
.recommend-plan__prev::before {
  transform:
    translate(-35%, -50%)
    rotate(-135deg);
}

/* → */
.recommend-plan__next::before {
  transform:
    translate(-65%, -50%)
    rotate(45deg);
}

/* =========================================================
   TOP 診療内容
========================================================= */
.top-menu {
  background: #edf3f6;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;
}

.top-menu__inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================================
   検索
========================================================= */
.top-menu__search {
  max-width: 1000px;
  margin: 0 auto 40px;
}

.top-menu__search input {
  width: 100%;
  height: 56px;

  padding: 0 24px;

  border: none;
  background: #fff;

  color: #446A88;
  font-size: 20px;

  box-sizing: border-box;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    YuGothic,
    sans-serif;
}

.top-menu__search input::placeholder {
  color: #446A88;
}

/* =========================================================
   レイアウト
========================================================= */
.top-menu__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.top-menu__col {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* =========================================================
   アコーディオン
========================================================= */
.top-menu__item {
  border-bottom: 1px solid #97ACBC;
}

.top-menu__head {
  width: 100%;
  min-height: 32px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 38px 10px 28px;
  border: none;
  background: transparent;
  color: #446A88;
  font-size: 20px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}

/* ● */
.top-menu__head::before {
  content: "";

  position: absolute;
  left: 0;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -12px;
  border-radius: 50%;
  background: #97ACBC;
}

/* ＋ボタン */
.top-menu__head::after {
  content: "";
  position: absolute;
  right: 0;
  top: 1px;
  width: 24px;
  height: 24px;
  background: linear-gradient(#fff, #fff) center / 14px 3px no-repeat, linear-gradient(#fff, #fff) center / 3px 14px no-repeat;
  background-color: #446A88;
}

/* 開いた時 */
.top-menu__item.is-open .top-menu__head::after {
  background:
    linear-gradient(#fff,#fff) center / 10px 1px no-repeat;

  background-color: #97ACBC;
}

/* =========================================================
   開閉部分
========================================================= */
.top-menu__body {
  max-height: 0;
  overflow: hidden;

  transition: max-height .35s ease;
}

.top-menu__body ul {
  margin: 6px 0 14px;
  padding: 0;

  list-style: none;
}

.top-menu__body li {
  margin-bottom: 10px;
  padding-left: 30px;	
}

.top-menu__body a {
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.top-menu__body a::before {
  content: ">";
  margin-right: 6px;
}
/* =========================================================
   TOPへ戻る
========================================================= */
.page_top_btn {
  position: fixed;
  background: rgba(68, 106, 136, 0.78) !important;
  background-image: none !important;
  color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.page_top_btn::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: translate(-50%, -30%) rotate(45deg);
}

.page_top_btn:hover {
  background: rgba(68, 106, 136, 0.9) !important;
  background-image: none !important;
}

.page_top_btn:hover {
  background-color: rgba(68, 106, 136, 0.9) !important;
  background-image: var(--ver_page_top_button_url) !important;
  color: transparent !important;
}
/* =========================================================
   ハンバーガーメニュー
========================================================= */

/* ボタン */
.vk-mobile-nav-menu-btn {
  background-color: rgba(68, 106, 136, 0.9) !important;

  border: none !important;
  box-shadow: none !important;
}
/* =========================================================
   ハンバーガーアイコン
========================================================= */
.vk-mobile-nav-menu-btn {

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath stroke='white' stroke-width='2' d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 24px 24px !important;
}

/* 開いた時（×） */
.vk-mobile-nav-menu-btn.menu-open {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath stroke='white' stroke-width='2' d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") !important;

}

/* メニュー本体 */
.vk-mobile-nav {
  border: 1px solid #446A88 !important;
}

/* メニューリンク */
.vk-mobile-nav a {
  color: #446A88 !important;
  border-bottom: 1px solid #97ACBC !important;
}
/* =========================================================
   比較表
========================================================= */
.comparison-table {
  max-width: 1000px;
  margin: 0 auto;
}

.comparison-table__title {
  margin-bottom: 18px;

  color: #446A88;
  font-size: 20px;
  font-weight: 700;
}

.comparison-table__wrap {
  overflow-x: auto;
}

/* table */
.comparison-table__table {
  width: 100%;

  border-collapse: collapse;
  table-layout: fixed;

  background: #fff;
}

/* 共通 */
.comparison-table__table th,
.comparison-table__table td {
  padding: 14px 10px;
  border: 1px solid #97ACBC;
  font-size: 14px;
  line-height: 1.5;
}
.comparison-table__table td.f-big{
        font-size: 22px;	
}
/* 枠線 */
.comparison-table__table td.is-frame{
  position: relative;
  font-weight: 700;
  color: #446A88;
}
.comparison-table__table td.is-frame::after{
  content: "";
  position: absolute;
  inset: -1px;
  border: 3px solid #446A88;
  pointer-events: none;
}
/* 上ヘッダー */
.comparison-table__table thead th {
    background: #446A88;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    border-right: 1px solid #fff;
    border-bottom: 1px solid transparent;
    border-left: 1px solid #fff;
}

/* 左見出し */
.comparison-table__table tbody th {
  width: 180px;
  background: #446A88;
  color: #fff;
  font-weight: 700;
  text-align: center;	
}
.comparison-table__table th.is-blue-light {
  background: #97ACBC;
  border: 1px solid #fff;		
}

.comparison-table__table th.is-blue-light.w150{
width: 150px;	
}
.comparison-table__table th.is-blue-light.w180{
width: 180px;	
}
.comparison-table__table th.is-blue-light.w200{
width: 200px;	
}
/* 左列の見出しセルだけ白線 */
.comparison-table__table tbody th.is-blue-light {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
/* 最終行だけ青線 */
.comparison-table__table tbody tr:last-child th.is-blue-light{
  border-bottom: 1px solid #97ACBC;
}
.comparison-table__table th.is-blue {
  background: #446A88;
}
.comparison-table__table th.is-blue:last-child {
    border-right: 1px solid #446A88;
}
/* 本文 */
.comparison-table__table td {
  background: #fff;
  color: #333;
}

/* 強調 */
.comparison-table__table td.is-accent {
  color: #d95fa3;
  font-weight: 700;
}
/*  比較表（固定表示） */
..comparison-table--fixed .comparison-table__wrap{
  overflow-x: visible !important;
}

.comparison-table--fixed .comparison-table__table{
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.comparison-table--fixed th,
.comparison-table--fixed td{
  word-break: break-word;
  overflow-wrap: break-word;
}
/* グループ囲み */
.comparison-table__table .is-group-start {
  box-shadow: inset 3px 0 0 #888;
}

.comparison-table__table .is-group-end {
  box-shadow: inset -3px 0 0 #888;
}

/* 上線 */
.comparison-table__table thead .is-group {
  box-shadow: inset 0 3px 0 #888;
}

/* 上線＋左線 */
.comparison-table__table thead .is-group-start {
  box-shadow:
    inset 3px 0 0 #888,
    inset 0 3px 0 #888;
}

/* 上線＋右線 */
.comparison-table__table thead .is-group-end {
  box-shadow:
    inset -3px 0 0 #888,
    inset 0 3px 0 #888;
}

/* 下線 */
.comparison-table__table tbody tr:last-child .is-group {
  box-shadow: inset 0 -3px 0 #888;
}

/* 下線＋左線 */
.comparison-table__table tbody tr:last-child .is-group-start {
  box-shadow:
    inset 3px 0 0 #888,
    inset 0 -3px 0 #888;
}

/* 下線＋右線 */
.comparison-table__table tbody tr:last-child .is-group-end {
  box-shadow:
    inset -3px 0 0 #888,
    inset 0 -3px 0 #888;
}

/* 中間行の左線・右線を維持 */
.comparison-table__table tbody tr:not(:last-child) .is-group-start {
  box-shadow: inset 3px 0 0 #888;
}

.comparison-table__table tbody tr:not(:last-child) .is-group-end {
  box-shadow: inset -3px 0 0 #888;
}
/* =========================================================
   CLINIC GUIDE
========================================================= */
.clinic-guide__list {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px;
}

.clinic-guide__image {
  display: block;
}

.clinic-guide__item {
  min-width: 0;
}

.clinic-guide__image img {
  display: block;
  width: 100%;
  height: auto;
}

.clinic-guide__head {
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  padding: 10px 6px;
  border-bottom: 1px solid #97ACBC;
  text-align: center;
}

.clinic-guide__name,
.clinic-guide__tel {
  margin: 0;
  color: #446A88;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
}

.clinic-guide__tel a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #446A88;
  text-decoration: none;
}

.clinic-guide__tel a::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-size: 20px;
  font-weight: 900;
  color: #446A88;
}
.clinic-guide__sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding-top: 22px;
}

.clinic-guide__sns-sub {
  display: flex;
  justify-content: center;
  gap: 36px;
}

.clinic-guide__sns-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  font-size: 15px;
  text-decoration: none;
}

.clinic-guide__line-image {
  width: 40px;
  height: 40px;

  display: block;
  flex-shrink: 0;
}
.clinic-guide__sns-item .fa-calendar-days {
  color: #333;
  font-size: 30px;
  margin-right: 0;
}

.clinic-guide__sns-item img {
  width: 40px;
  height: 40px;
  display: block;
}

.clinic-guide__more {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  color: #446A88;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.clinic-guide__more::after {
  content: ">";
}

.clinic-guide__sns-item:hover,
.clinic-guide__more:hover {
	
  opacity: .7;
}
/* =========================================================
   TOP 症例写真
========================================================= */
.top-case-slider.case-slider__inner {
  max-width: 1040px;
}

/* =========================================================
   TOP バナーリンク
========================================================= */
.top-banner-links {
  background: #fff;
}

.top-banner-links__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.top-banner-links__row {
  display: grid;
  gap: 20px;
}

.top-banner-links__row + .top-banner-links__row {
  margin-top: 20px;
}

.top-banner-links__row--3 {
  grid-template-columns: repeat(3, 1fr);
}

.top-banner-links__row--2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.top-banner-links__item {
  display: block;
}

.top-banner-links__item img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .3s ease;
}

.top-banner-links__item:hover img {
  opacity: .75;
}
/* =========================================================
   TOP NEWS
========================================================= */
.top-news {
  background: #fff;
}

.top-news__inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================================
   head
========================================================= */
.top-news__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 36px;
}

/* タイトル */
.top-news__title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0;
}

.top-news__title span {
  color: #446A88;
  font-size: 16px;
  line-height: 1;
}

/* 一覧 */
.top-news__archive {
  color: #446A88;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .3s ease;
}

.top-news__archive::after {
  content: ">";
  margin-left: 8px;
}

.top-news__archive:hover {
  opacity: .7;
}

/* =========================================================
   list
========================================================= */
.top-news__item:first-child {
  border-top: 1px solid #97ACBC;
}

/* 1件 */
.top-news__item {
  display: flex;
  gap: 36px;

  padding: 18px 0;

  border-bottom: 1px solid #97ACBC;

  color: #333;
  text-decoration: none;

  transition: opacity .3s ease;
}

.top-news__item:hover {
  opacity: .7;
}

/* 日付 */
.top-news__date {
  flex-shrink: 0;
  font-weight: bold;
  width: 110px;

  color: #333;
  font-size: 15px;
  line-height: 1.8;
}

/* 右 */
.top-news__content {
  flex: 1;
}

/* カテゴリ */
.top-news__category {
  color: #333;
  font-size: 14px;
  line-height: 1.8;

  margin-right: 8px;
}

/* タイトル */
.top-news__text {
  display: inline;

  color: #333;
  font-size: 15px;
  line-height: 1.8;
}
/* =========================================================
   MESSAGE + CONCEPT
========================================================= */
.top-message-concept {
  background: #edf3f6;
}

.top-message-concept__inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================================
   MESSAGE
========================================================= */

.top-message__content {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  position: relative;
}

/* =========================================================
   MESSAGE 背景英字
========================================================= */
.top-message{
  position: relative;
}

.top-message::after{
  content: "MESSAGE";
  position: absolute;
  left: -170px;
  top: 55%;
  z-index: 1;
  color: rgba(255,255,255,0.85);
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
  pointer-events: none;
}

.top-message__content{
  position: relative;
  z-index: 2;
}

.top-message__eyebrow {
  color: #446A88;
  font-size: 12px;
  line-height: 1;
  margin-bottom: 12px;
}

.top-message__title {
  color: #446A88;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 28px;
  font-family:
    "ヒラギノ明朝 ProN",
    "Hiragino Mincho ProN",
    serif;
}

/* リード */
.top-message__lead {
   font-family:
    "ヒラギノ明朝 ProN",
    "Hiragino Mincho ProN",
    serif;
  color: #333;
  font-size: 18px;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 18px;
}

/* 本文 */
.top-message__text p {
   font-family:
    "ヒラギノ明朝 ProN",
    "Hiragino Mincho ProN",
    serif;	
  color: #333;
  font-size: 16px;
  line-height: ;
}

/* 名前 */
.top-message__text p.top-message__name {
   font-family:
    "ヒラギノ明朝 ProN",
    "Hiragino Mincho ProN",
    serif;	
  margin-top: 24px;
  text-align: right;
  color: #333;
  font-size: 22px;
}

/* 画像 */
.top-message__image {
  width: 35%;
  flex-shrink: 0;

  position: relative;
  z-index: 2;
}

.top-message__image img {
  width: 100%;
  display: block;
}

/* =========================================================
   CONCEPT
========================================================= */
.top-concept {
  position: relative;
}
.top-concept__title {
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
  text-align: center;
}

/* =========================================================
   GRID
========================================================= */
.top-concept__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 2;
}

/* =========================================================
   CARD
========================================================= */
.top-concept-card {
  background: #fff;
}

.top-concept-card__image img {
  width: 100%;
  display: block;
}

.top-concept-card__num {
  color: #446A88;
  font-size: 42px;
  line-height: 1;
  margin: 18px 0 14px;
  font-family:
    "Times New Roman", serif;
	font-style: italic;
}

.top-concept-card__title {
   font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;	
  color: #333;
  font-size: 22px;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 14px;
  color: #446A88;
}

.top-concept-card__text {
  color: #333;
  font-size: 16px;
  line-height: 2;
}

/* 余白 */
.top-concept-card__num,
.top-concept-card__title,
.top-concept-card__text {
  padding-left: 18px;
  padding-right: 18px;
}

.top-concept-card__text {
  padding-bottom: 24px;
}

/* =========================================================
   TOP COLUMN
========================================================= */
.top-column {
  background: #fff;
}

.top-column__inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================================
   見出し・一覧リンク
========================================================= */
.top-column__head {
  position: relative;
  margin-bottom: 36px;
}

/* 一覧を見る */
.top-column__archive {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

  color: #446A88;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;

  transition: opacity .3s ease;
}

.top-column__archive::after {
  content: ">";
  margin-left: 8px;
}

.top-column__archive:hover {
  opacity: .7;
}

/* =========================================================
   VK投稿リスト調整
========================================================= */
.top-column .vk_posts {
  margin-left: 0;
  margin-right: 0;
}

/* カード感を消す */
.top-column .vk_post {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* 余白リセット */
.top-column .vk_post_body,
.top-column .vk_post_content {
  padding: 0 !important;
}

/* 画像 */
.top-column .vk_post_imgOuter {
  position: relative;
  margin-bottom: 18px;
  overflow: hidden;
}

.top-column .vk_post_imgOuter img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .3s ease;
}

.top-column .vk_post_imgOuter:hover img {
  opacity: .75;
}

/* =========================================================
   VK Blocks カテゴリーラベル
========================================================= */
.top-column .vk_post_imgOuter_singleTermLabel {
  position: absolute;
  left: 0;
  right: auto;
  top: auto;
  bottom: 0;
  z-index: 100;
  padding: 8px 14px;
  background: #5488B0 !important;
  color: #fff !important;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  border-radius: 0;
}

/* =========================================================
   タイトル・日付
========================================================= */
.top-column .vk_post_title {
  margin: 0 0 18px;

  color: #333;
  font-size: 18px;
  line-height: 1.7;
  font-weight: 700;
}

.top-column .vk_post_date {
  margin: 0;
  color: #446A88;
  font-size: 14px;
  line-height: 1.5;
}

/* 新着表示は非表示 */
.top-column .vk_post_new {
  display: none !important;
}
/* =========================================================
   右上リンク共通
========================================================= */
.e-more-link {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding-right: 14px;
  color: #446A88;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  z-index: 10;
}

.e-more-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.e-more-link:hover {
  opacity: .7;
}
/* =========================================================
   詳しく見る・一覧を見る 共通デザイン
========================================================= */

/* NEWS / COLUMN の右上リンク */
.top-news__archive,
.top-column__archive {
  position: relative;
  display: inline-block;
  padding-right: 14px;
  color: #446A88;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  transition: opacity .3s ease;
}

.top-news__archive::after,
.top-column__archive::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.top-news__archive:hover,
.top-column__archive:hover {
  opacity: .7;
}

/* 右上配置は親側で制御 */
.top-news__head,
.top-column__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

/* クリニック案内の「詳しく見る」 */
.clinic-guide__more {
  position: relative;
  display: inline-block;
  padding-right: 14px;
  color: #446A88;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

.clinic-guide__more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
/* 美容コラム見出し位置 修正 */
.top-column__head {
  position: relative;
  display: block;
  text-align: center;
  margin-bottom: 36px;
}

.top-column__title {
  text-align: center;
}

.top-column__archive {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
/* 各院のご案内：詳しく見る位置修正 */
.clinic-guide__more {
  position: relative;
  display: inline-block;
  margin-top: 26px;
  padding-right: 14px;
  color: #446A88;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-guide__more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
/* =========================================================
  求人募集
========================================================= */
.recruit-btn {
  width: 169px;
  height: 33px;
  line-height: 33px;
  text-align: center;

  color: #fff;
  font-size: 18px;
  font-weight: bold;

  background: linear-gradient(
    to bottom,
    #5b7f9c 0%,
    #446A88 50%,
    #355670 100%
  );

  border: 1px solid #2d4a61;
  border-radius: 8px;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 1px 2px rgba(0,0,0,.15);

  text-shadow: 0 -1px 0 rgba(0,0,0,.3);

  position: relative;
  overflow: hidden;
}

.recruit-btn::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 2px;
  right: 2px;
  height: 45%;
  background: rgba(255,255,255,.12);
  border-radius: 6px 6px 0 0;
}
.price-table-wrap.left{
margin: auto 0 0;	
}
.price-table th, .price-table td.u-text-left{
    text-align: left;	
}
.price-table-group.u-mb-0{
margin-bottom: 0;	
}
/* =========================================================
   診療内容一覧
========================================================= */

.menu-list__inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* -------------------------
  2カラム
------------------------- */

.menu-list__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 60px;
  row-gap: 80px;
  margin-bottom: 80px;
}

.menu-list__grid:last-child {
  margin-bottom: 0;

}

/* -------------------------
  カテゴリ
------------------------- */

.menu-list__group {
  width: 100%;
}

/* -------------------------
  見出し
------------------------- */

.menu-list__title {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #97ACBC;
  color: #446A88;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
}
.menu-treatment__item a {
  display: block;
  padding: 16px 0;
  text-decoration: none;
}

.menu-treatment__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.menu-treatment__name {
  color: #333;
  font-size: 18px;
  font-weight: 400;
}

.menu-treatment__clinic-tag {
  display: inline-block;
  padding: 3px 8px;
  background: #446A88;
  color: #fff;
  font-size: 12px;
  line-height: 1.4;
}

.menu-treatment__catch {
  margin-top: 6px;
  color: #666;
  font-size: 13px;
  line-height: 1.6;
}

.menu-treatment__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.menu-treatment__tags span {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid #97ACBC;
  color: #446A88;
  font-size: 12px;
  line-height: 1.4;
  background: #fff;
}
/* -------------------------
  アイコン
------------------------- */

.menu-list__icon {
  width: 60px;
  height: 60px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-list__icon img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
}

/* -------------------------
  一覧
------------------------- */

.menu-list__items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-list__items li {
  border-bottom: 1px dotted #97ACBC;
  margin: 0;
}

.menu-list__items a {
  position: relative;
  display: block;
  padding: 16px 30px 16px 10px;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  text-decoration: none;
  transition: color .3s ease;
}
.menu-list__items a:hover {
    background: #edf3f6;
}
/* スマホタップ時の青いハイライト対策 */
.menu-list__items a {
  -webkit-tap-highlight-color: rgba(237, 243, 246, 0);
  tap-highlight-color: transparent;
}

.menu-list__items a:active,
.menu-list__items a:focus {
  background-color: #edf3f6 !important;
  color: #446A88 !important;
  outline: none;
}
/* 矢印 */

.menu-list__items a::after {
  content: "";

  position: absolute;
  top: 50%;
  right: 4px;

  width: 7px;
  height: 7px;

  border-top: 2px solid #446A88;
  border-right: 2px solid #446A88;

  transform: translateY(-50%) rotate(45deg);

  transition: .3s ease;
}

/* hover */

.menu-list__items a:hover {
  color: #446A88;
}

.menu-list__items a:hover::after {
  border-color: #446A88;
}
/* =========================================
   製品紹介
========================================= */

.product-card {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 60px;	
}

.product-card__category {
  margin: 0 0 20px;
  padding: 10px 20px;
  background: #446A88;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.product-card__name {
  margin: 0 0 30px;
  color: #446A88;
  font-family: "Hiragino Mincho ProN", serif;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: .08em;
}

.product-card__tag {
  display: inline-block;
  margin-left: 10px;
  padding: 4px 10px;
  border: 1px solid #446A88;
  color: #446A88;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}
.product-card__tag.big{
 font-family: "Hiragino Mincho ProN", serif;	
 font-size: 16px;	
}
.product-card__content {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: start;
}

.product-card__image {
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-card__image--tall {
  height: 260px;
}
.product-card__image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}

.product-card__spec dl {
  display: grid;
  grid-template-columns: 140px 1fr;
  margin: 0;
}

.product-card__spec dt,
.product-card__spec dd {
  margin: 0;
  padding: 14px 20px;
  border-top: 1px solid #446A88;
  color: #333;
  font-size: 15px;
  line-height: 1.8;
}

.product-card__spec dt {
  background: #446A88;
  color: #fff;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid #fff;
}

.product-card__spec dd {
  background: #fff;
}

.product-card__spec dt:last-of-type,
.product-card__spec dd:last-of-type {
  border-bottom: 1px solid #446A88;
}
/* =========================================================
   症例一覧
========================================================= */
.case-list__lead {
  margin: 0 0 32px;
  text-align: center;
  font-size: 14px;
  color: #333;
}

.case-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 24px;
}

.case-list-card {
  background: #fff;
}

.case-list-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.case-list-card__image {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f5f5f5;
}

.case-list-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.case-list-card__link:hover .case-list-card__image img {
  transform: scale(1.04);
}

.case-list-card__body {
  padding: 16px 4px 0;
}

.case-list-card__title {
  margin: 0 0 8px;
  color: #446A88;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.case-list-card__meta {
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}
.e-btn-more {
  position: relative;
  display: inline-block;
  padding-right: 14px;
  color: #446A88;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  left: 50%;
  transform: translateX(-50%);
}

.e-btn-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: .3s;
}

.e-btn-more:hover::after {
  right: -3px;
}
/* ==========================================
   クリニック案内
========================================== */

.clinic-hours{
  margin: 0 auto;
}

.clinic-hours__table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
}

.clinic-hours__table th,
.clinic-hours__table td{
  border: 1px solid #97ACBC;
  padding: 12px 8px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.clinic-hours__table thead th{
  background: #4B6F8E;
  color: #fff;
  font-weight: 700;
}

.clinic-hours__table th:first-child,
.clinic-hours__table td:first-child{
  width: 240px;
}

.clinic-hours__note{
  margin-top: 8px;
  text-align: right;
  font-size: 13px;
  line-height: 1.6;
}
/* =========================================================
   動画埋め込み
========================================================= */
.youtube-responsive {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.youtube-responsive iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* =========================================================
   MP4動画
========================================================= */
.mp4-responsive {
  width: 75%;
  margin: 0 auto;
}

.mp4-responsive video {
  display: block;
  width: 100%;
  height: auto;
}
/* ==========================================
   電話・LINEボタン
========================================== */

.reserve-btn-list{
  display:flex;
  justify-content:center;
  gap: 30px;
  flex-wrap:wrap;
}

.reserve-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:280px;
  min-height:56px;
  padding:12px 28px;
  border:2px solid #446A88;
  border-radius:8px;
  background:#fff;
  color:#446A88;
  font-size:16px;
  font-weight:500;
  line-height:1.5;
  text-decoration:none;
  transition:.3s;
}

.reserve-btn:hover{
  background:#446A88;
  color:#fff;
  text-decoration:none;
}

.reserve-btn--tel{
  gap:4px;
}

.reserve-btn--tel i{
  color:#446A88;
  font-size:15px;
  margin:0 2px 0 6px;
  transition:.3s;
}

.reserve-btn--tel:hover i{
  color:#fff;
}
/* LINEボタン */

.reserve-btn.reserve-btn--line{
  gap:4px;
  background:#06C755;
  border-color:#06C755;
  color:#fff;
}

.reserve-btn.reserve-btn--line i{
  color:#fff;
  font-size:18px;
  margin:0 2px 0 6px;
}
/* =========================================================
  クリニック案内
========================================================= */
.reserve-btn.reserve-btn--line:hover{
  background:#00b84f;
  border-color:#00b84f;
  color:#fff;
}

.reserve-btn.reserve-btn--line:hover i{
  color:#fff;
}
.clinic-info__sns {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.clinic-info__sns-row {
  display: grid;
  grid-template-columns: 130px 130px 130px;
  column-gap: 34px;
  row-gap: 14px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.clinic-info__sns-item {
  line-height: 1;
}

.clinic-info__sns-item a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

.clinic-info__sns-item a:hover {
  opacity: .75;
}

.clinic-info__sns-img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex: 0 0 40px;
}
.clinic-info__calendar {
  position: relative;
  display: inline-block;
  margin-left: 28px;
  padding-right: 14px;
  color: #446A88;
  text-decoration: none;
}

.clinic-info__calendar::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.clinic-info__calendar:hover {
  opacity: .75;
}
/* =========================================================
   コース横スクロール
========================================================= */
.course-slider {
  display: flex;
  gap: 13px;
  width: 100%;
  padding: 4px 4px 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* スクロールバー */
.course-slider::-webkit-scrollbar {
  height: 8px;
}

.course-slider::-webkit-scrollbar-track {
  background: #edf3f6;
  border-radius: 999px;
}

.course-slider::-webkit-scrollbar-thumb {
  background: #97acbc;
  border-radius: 999px;
}

/* Firefox */
.course-slider {
  scrollbar-width: thin;
  scrollbar-color: #97acbc #edf3f6;
}


/* =========================================================
   コースカード
========================================================= */
 .course-slider {
    padding-bottom: 22px;
  }
.course-card {
  flex: 0 0 calc((100% - 24px) / 2);
  min-width: 0;
  margin: 0;
  padding: 24px 16px 20px;
  border: 1px solid #446A88;
  background: #fff;
  box-sizing: border-box;
  scroll-snap-align: start;
}

.course-card__title {
  margin: 0 0 22px;
  color: #446A88;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}


/* =========================================================
   施術メニュー
========================================================= */
.course-card__menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.course-card__item {
  width: 100%;
  box-sizing: border-box;
}

.course-card__label,
.course-card__name {
  margin: 0 !important;
  text-align: center;
}

.course-card__label {
  padding: 5px 10px;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.course-card__name {
  padding: 4px 10px;
  background: #fff;
  color: #4a4a4a;
  font-size: 16px;
  line-height: 1.4;
}


/* =========================================================
   タイタン
========================================================= */
.course-card__item--titan {
  border: 1px solid #1e9ed6;
}

.course-card__item--titan .course-card__label {
  background: #1e9ed6;
}


/* =========================================================
   ジェネシス
========================================================= */
.course-card__item--genesis {
  border: 1px solid #a9256d;
}

.course-card__item--genesis .course-card__label {
  background: #a9256d;
}


/* =========================================================
   IPL
========================================================= */
.course-card__item--ipl {
  border: 1px solid #ec721a;
}

.course-card__item--ipl .course-card__label {
  background: #ec721a;
}


/* =========================================================
   画像
========================================================= */
.course-card__image {
  margin-top: 18px;
  text-align: center;
}

.course-card__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.course-slider {
  scrollbar-width: auto;
}
/* =========================================================
   ブログページ：背景白＋上余白
========================================================= */
body.single-post .site-body,
body.blog .site-body,
body.category .site-body,
body.tag .site-body,
body.date .site-body,
body.author .site-body,
body.search .site-body,
body.post-type-archive .site-body {
  background-color: #fff !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;	
  padding-left:16px;
  padding-right:16px;	
}
.btn-primary {
    background-color: #5f7f98;
}
/* =========================================================
   画像＋ラベル グリッド
========================================================= */
.e-image-label-grid {
  display: grid;
  width: 100%;
  margin: 0 auto;
}

/* PC：3列 */
.e-image-label-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

/* PC：4列 */
.e-image-label-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

/* PC：5列 */
.e-image-label-grid--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

.e-image-label-grid__item {
  min-width: 0;
  text-align: center;
}

.e-image-label-grid__image {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f5f5f5;
}

.e-image-label-grid__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.e-image-label-grid__label {
  margin: 12px 0 0;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
/* =========================================================
   共通 注意事項・案内ボックス
========================================================= */
.notice-box {
  position: relative;
  margin-top: 40px;
  padding: 34px 24px 24px;
  border: 1px solid #446A88;
  background: transparent;
  box-sizing: border-box;
}

/* 枠線に重なる見出し */
.notice-box__title {
  position: absolute;
  top: 0;
  left: 24px;
  transform: translateY(-50%);

  margin: 0;
  padding: 0 12px;
  background: #fff;

  color: #446A88;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.notice-box__body {
  width: 100%;
}

.notice-box__text {
  margin: 0 0 10px;
  color: #333;
  font-size: 16px;
  line-height: 1.9;
}

/* ボタン */
.notice-box__button {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  min-width: 320px;
  padding: 12px 20px;

  background: #446A88;
  border: 1px solid #446A88;

  color: #fff;
  text-decoration: none;
  box-sizing: border-box;

  transition:
    background-color 0.3s ease,
    border-color 0.3s ease;
}

.notice-box__button-main {
  display: flex;
  align-items: center;
  gap: 8px;

  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.notice-box__button-main i {
  color: #fff;
  font-size: 18px;
}

.notice-box__button-note {
  display: block;
  margin-top: 3px;

  color: #fff;
  font-size: 12px;
  line-height: 1.5;
}

.notice-box__button:hover {
  background: #5f7f98;
  border-color: #5f7f98;
  color: #fff;
  text-decoration: none;
}
/* =========================================================
   共通案内ボックス ピンクバージョン
========================================================= */
.notice-box--pink {
  border-color: #c885a6;
  max-width: 1000px;
  margin: 0 auto;	
}

.notice-box--pink .notice-box__title {
  color: #c885a6;
}

.notice-box--pink .notice-box__button {
  background-color: #c885a6;
  border-color: #c885a6;
}

.notice-box--pink .notice-box__button:hover {
  background-color: #b67293;
  border-color: #b67293;
}
/* =========================================================
   LINEクーポンボタン
========================================================= */
.line-coupon {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 330px));
  justify-content: center;
  gap: 20px 24px;
  width: 100%;
  margin: 32px auto 40px;
}

.line-coupon__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 76px;
  padding: 12px 16px;

  border: 1px solid #06C755;
  border-radius: 6px;
  background: #06C755;

  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  box-sizing: border-box;

  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.line-coupon__main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.line-coupon__main i {
  color: #fff;
  font-size: 20px;
}

.line-coupon__sub {
  display: block;
  margin-top: 5px;

  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.line-coupon__button:hover {
  border-color: #05b34c;
  background: #05b34c;
  color: #fff !important;
  transform: translateY(-2px);
}
/* =========================================================
   症例モニター募集：施術ボタン
========================================================= */
.monitor-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 380px));
  justify-content: center;
  gap: 24px 30px;
  width: 100%;
  margin: 0 auto;
}

.monitor-menu__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 88px;
  padding: 18px 30px;
  overflow: hidden;
  background: #edf3f6;
  border: 1px solid #446A88;
  color: #446A88;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.monitor-menu__text {
  position: relative;
  z-index: 2;
  font-family:
    "Hiragino Mincho ProN",
    "ヒラギノ明朝 ProN",
    "Yu Mincho",
    serif;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.04em;
  color: #ff;
}

.monitor-menu__text span {
  font-size: 0.68em;
}

/* 左上の三角タグ */
.monitor-menu__tag {
  position: absolute;
  top: 8px;
  left: -23px;
  z-index: 3;
  width: 76px;
  padding: 3px 0;
  background: #446A88;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-transform: lowercase;
  transform: rotate(-45deg);
  transform-origin: center;
}

/* ホバー */
.monitor-menu__item:hover {
  background: #edf3f6;
  border-color: #446A88;
  color: #446A88;
  box-shadow: 0 6px 16px rgba(68, 106, 136, 0.15);
  transform: translateY(-2px);
}
/* =========================================================
   お支払方法
========================================================= */
.payment-method__block {
  margin-top: 32px;
}

.payment-method__block:first-child {
  margin-top: 0;
}

.payment-method__heading {
  margin: 0 0 14px;
  padding: 7px 16px;
  background-color: #446A88;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
}

.payment-method__text {
  margin: 0;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
}

/* =========================================================
   決済ロゴ一覧
========================================================= */
.payment-logo-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 28px;
  margin-top: 16px;
}

.payment-logo-list__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 110px;
  height: 70px;
  flex-shrink: 0;
}

.payment-logo-list__item img {
  display: block;
  width: auto;
  max-width: 80px;
  height: auto;
  max-height: 80px;
  object-fit: contain;
}

/* 現金アイコン */
.payment-logo-list--cash .payment-logo-list__item {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 110px;
 height: 80px;
 flex-shrink: 0;
}
}

.payment-logo-list--cash .payment-logo-list__item img {
  max-width: 80px;
  max-height: 80px;
}

/* 横長ロゴ */
.payment-logo-list__item--visa,
.payment-logo-list__item--nanaco {
  width: 140px;
}

.payment-logo-list__item--visa img,
.payment-logo-list__item--nanaco img {
  max-width: 80px;
}
/* =========================================================
   院内写真スライダー
========================================================= */
.clinic-gallery {
  overflow: hidden;
}

.clinic-gallery .e-section__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

.clinic-gallery__swiper {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.clinic-gallery__swiper .swiper-wrapper {
  margin: 0;
  padding: 0;
}

.clinic-gallery__slide {
  height: auto;
  margin: 0;
  box-sizing: border-box;
}

.clinic-gallery__figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
}

.clinic-gallery__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 10 / 7;
  object-fit: cover;
}

/* ドット */
.clinic-gallery__pagination {
  position: static;
  width: 100%;
  margin-top: 24px;
  text-align: center;
}

.clinic-gallery__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 6px !important;
  background: transparent;
  border: 1px solid #446A88;
  border-radius: 50%;
  opacity: 1;
}

.clinic-gallery__pagination .swiper-pagination-bullet-active {
  background: #446A88;
}

/* =========================================================
   11. SP対応
========================================================= */
@media (max-width: 767px) {
	video{
max-width: 100%;		
	}	
  .container {
    padding-left: 0;
    padding-right: 0;
  }
  .e-section {
        padding: 80px 16px 0px 16px;
  }
.page-header-title, h1.page-header-title {
font-size: 30px;	  
}	
/* 下padding */	
.e-section--pb-100 { padding-bottom: 60px; }	
.e-section--pb-120 { padding-bottom: 80px; }
.e-section--pb-160 { padding-bottom: 100px; }
.e-section--pb-200 { padding-bottom: 100px; }	
/* flex */
.u-flex,
.u-flex-50-50,
.u-flex-40-60,
.u-flex-60-40,
.u-flex-30-70,
.u-flex-70-30,
.u-flex-20-80,
.u-flex-80-20 {
  display: block;
}

.u-flex-40-60 > :first-child,
.u-flex-40-60 > :last-child,
.u-flex-60-40 > :first-child,
.u-flex-60-40 > :last-child,
.u-flex-30-70 > :first-child,
.u-flex-30-70 > :last-child,
.u-flex-70-30 > :first-child,
.u-flex-70-30 > :last-child,
.u-flex-20-80 > :first-child,
.u-flex-20-80 > :last-child,
.u-flex-80-20 > :first-child,
.u-flex-80-20 > :last-child {
  width: 100%;
}

.u-flex > * + *,
.u-flex-50-50 > * + *,
.u-flex-40-60 > * + *,
.u-flex-60-40 > * + *,
.u-flex-30-70 > * + *,
.u-flex-70-30 > * + *,
.u-flex-20-80 > * + *,
.u-flex-80-20 > * + * {
  margin-top: 20px;
}
	.sp-w70{
    width: 70%;
    margin: 0 auto;		
	}	
	.sp-w80{
    width: 80%;
    margin: 0 auto;		
	}		
	.sp-w90{
    width: 90%;
    margin: 0 auto;		
	}	
	.sp-w100{
    width: 100%;
    margin: 0 auto;		
	}		
	.sp-w80{
    width: 80%;
    margin: 0 auto;		
	}			
   .e-h2 {
    font-size: 26px;
	margin: 0 0 29px;   
  }
   .e-h2::before {
    font-size: 75px;
  }

  .e-h2 span {
    font-size: 12px;
  }
  .e-h3.e-h3--mincho {
    padding: 3px 12px;
    font-size: 22px;
  }	
  .pc-none {
  display:block;
}
  .sp-none {
    display:none  ;
  }	
.internal-link-btn {
    padding: 12px 30px 12px 20px;
    font-size: 15px;
}	
	.treatment-hero{
   padding: 0 16px;		
	}	
  .treatment-links {
    grid-template-columns: repeat(2, 1fr);
	padding: 0 16px;
	margin-bottom: 40px;
  }
	.treatment-links__item{
    font-size: 13px;
	padding: 5px 25px 5px 20px;	
	}	
	.breadcrumb-list{
    padding: 6px 16px;		
	}
  .about-block__wrap {
    grid-template-columns: 1fr;
	padding: 0;  
  }
   .about-block__image{
    padding: 15px;
    text-align: center;		
	}	
.about-block__text {
  margin-right: 0px;
  padding: 0;
}	
	.about-block__text{
	margin-left: 0px;	
    padding: 15px 30px;	
	}	
 .about-block__wrap--shimi {
    grid-template-columns: 1fr;
    padding: 24px 16px;
  }

  .about-block__wrap--shimi .about-block__text {
    margin-left: 0;
    margin-top: 20px;
  }

  .about-block__wrap--shimi .about-block__turnover {
    grid-column: auto;
    margin-top: 32px;
  }	
 .doctor-movie__inner {
    max-width: 100%;
  }

  .doctor-commentary {
    margin-top: 28px;
  }

  .doctor-commentary__title {
    gap: 12px;
    margin-bottom: 20px;
    font-size: 18px;
  }

  .doctor-commentary__list {
    gap: 28px;
  }

  .doctor-commentary__row {
    display: flex;
    flex-direction: column-reverse;
    gap: 16px;
  }

  .doctor-commentary__text p {
    font-size: 15px;
    line-height: 1.9;
  }

  .doctor-card {
    width: 100%;
  }

  .doctor-card__image {
    margin-bottom: 8px;
  }

  .doctor-card__name {
    font-size: 13px;
  }	
 .treatment-method__inner {
    max-width: 100%;
  }

  .treatment-method__list {
    gap: 40px;
  }

  .treatment-method__title {
    margin-bottom: 12px;
  }
  .treatment-method__body {
    gap: 18px;
  }

  .treatment-method__text {
    font-size: 15px;
    line-height: 1.85;
  }

  .treatment-method__note {
    margin-top: 40px;
    font-size: 15px;
  }	
.recommend-target__inner {
	max-width: 90%;
    padding: 6px 0 2px;
  }

  .recommend-target__title {
    font-size: 24px;
  }
	.recommend-target__title span{
    font-size: 12px;		
	}	
  .recommend-target__lead-line {
    margin: 14px auto 24px;
	max-width: 100%;
  }

  .recommend-target__list {
    grid-template-columns: 1fr;
    row-gap: 5px;
  }

  .recommend-target__item {
    font-size: 17px;
    line-height: 1.75;
  }	
	.feature-block::after{
    bottom: -5px;		
    font-size: 75px;
	}	
  .feature-block__inner {
    padding: 48px 16px;
  }

  .feature-block__title {
    margin-bottom: 28px;
    text-align: center;
  }
	.feature-block__title span{
    font-size: 12px;		
	}	
  .feature-list {
    max-width: 100%;
  }

  .feature-item {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .feature-item__title {
    font-size: 18px;
  }

  .feature-item__title span {
    margin-right: 8px;
    font-size: 32px;
  }

  .feature-item__text {
    font-size: 15px;
    line-height: 1.85;
  }

   .feature-block::before {
    background-size: 400%;
    background-position: 75% center;
  }
	
 .case-slider {
    padding: 80px 0;
  }
	
.case-slider__swiper {
  overflow: visible;
}
	
  .case-slider__head {
    margin-bottom: 12px;
    gap: 6px;
  }

  .case-slider__more {
    font-size: 16px;
	position: relative;  
  }

  .case-card__title {
    font-size: 16px;
  }

  .case-card__meta {
    font-size: 13px;
    line-height: 1.7;
  }
.recommend-target::after{
    bottom: -5px;		
    font-size: 75px;		
	}
.men-recommend {
    padding-bottom: 60px !important;
}	
.men-recommend::after{
    bottom: -5px;		
    font-size: 75px;		
	}	
 .men-recommend__eyebrow {
    font-size: 18px;
  }

  .men-recommend__title {
    margin-bottom: 24px;
  }

  .men-recommend__check-wrap {
    margin-bottom: 32px;
    padding: 20px;
  }

  .men-recommend .recommend-target__list {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 5px;
  }

  .men-recommend .recommend-target__item {
    font-size: 17px;
    line-height: 1.75;
  }

  .men-recommend__intro {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 32px;
  }

  .men-recommend__lead {
    font-size: 17px;
  }

  .men-recommend__text p {
    font-size: 15px;
    line-height: 1.9;
  }
.men-recommend__case-image {
  max-width: 290px; 
  margin: 0 auto;
}
  .men-recommend__image {
    max-width: 220px;
    margin: 0 auto;
  }

  .men-recommend__cases {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .men-recommend__case-title {
    font-size: 16px;
  }

  .men-recommend__case-meta {
    font-size: 12px;
    line-height: 1.7;
  }	
 .case-single {
    max-width: 330px;
  }

  .case-single .case-card__title {
    font-size: 18px;
  }

  .case-single .case-card__meta {
    font-size: 12px !important;
  }	
 .flow__inner {
    max-width: 100%;
  }

  .flow__item {
    grid-template-columns: 1fr;
    gap: 12px;
  }
	
  .flow__content {
    order: 1;
  }
	
  .flow__image {
    order: 2;
  }

  .flow__step {
  order: 1;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  font-size: 16px;
  }

  .flow__step span {
    font-size: 32px;
  }

  .flow__text {
    font-size: 13px;
    line-height: 1.8;
  }	
 .treatment-info__inner {
    max-width: 100%;
  }

  .treatment-info__row {
    grid-template-columns: 1fr;
  }

  .treatment-info__head {
    font-size: 13px;
    padding: 10px 14px;
  }

  .treatment-info__body {
    font-size: 13px;
    padding: 12px 14px;
  }	

 .price-table-wrap--monitor {
    padding-top: 0;
  }

  .price-table-tag {
    position: static;
    display: inline-block;
    margin-bottom: 8px;
    padding: 7px 14px;
    font-size: 13px;
  }
 .price-table-wrap--monitor {
    padding-top: 0;
  }

  .price-table-tag {
    position: static;
    display: inline-block;
    margin-bottom: 8px;
    padding: 7px 14px;
    font-size: 13px;
  }

  .price-table-new {
    width: 100%;
    table-layout: auto;
    border: none !important;
  }
  .price-table-new,
  .price-table-new tbody,
  .price-table-new th,
  .price-table-new td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .price-table-new tr {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #446A88;
	margin-bottom: -1px;
  }
	.price-table-new tr.bb_none{
border-bottom: none;		
	}	
  .price-table-new__leader {
    border-bottom: 1px dotted #97ACBC!important;
  }
  .price-table-new th,
  .price-table-new td {
    border: none !important;
    font-size: 15px;
    line-height: 1.6;
    padding: 0;
  }

  /* 見出し */
.price-table-new th.price-table-new__head {
    width: 100% !important;
    padding: 10px !important;
    background: #446A88;
    color: #fff !important;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
  }

  .price-table-new__head a {
    color: #fff !important;
  }

  /* メニュー名 */
   .price-table-new th, .price-table-new td.price-table-new__menu {
    width: 100% !important;
    padding: 20px 10px 0 !important;
    color: #446A88!important;;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
  }

  /* 回数・詳細 */
  .price-table-new__detail {
    display: block !important;
    width: 50% !important;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 10px!important;
    color: #333;
    font-size: 15px;
    text-align: left;
  }
.price-table-new__detail sup,
.price-table-new__detail span {
  display: inline !important;
  white-space: normal;
  flex-shrink: 0;
}
  /* 料金 */
  .price-table-new__normal {
 display:  flex!important;
    width: 50% !important;
    justify-content: flex-end;
    align-items: center;
    padding: 10px 10px!important;
    color: #333;
    font-size: 15px;
    text-align: right;
    white-space: nowrap;
  }
 
 /* SP：空セルだけ非表示 */
.price-table-new__empty {
  display: none !important;
}

/* SP：モニター価格は表示 */
.price-table-new__monitor {
 display:  flex!important;
  width: 100% !important;
  justify-content: flex-end;
  align-items: center;
  padding: 10px 10px!important;
  color: #c05a98 !important;
  font-size: 14px;
  text-align: right;
  white-space: nowrap;
}
 .price-table-new__normal .pc-none,
  .price-table-new__monitor .pc-none {
    display: inline !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }
.price-table-new__monitor.is-accent {
  color: #c0007a !important;
  font-size: 16px;
  font-weight: 700;
}

  /* detailがない場合はメニュー＋料金を横並び */
  .price-table-new tr:not(:has(.price-table-new__detail)) .price-table-new__menu {
    width: 70% !important;
    padding: 20px 10px !important;
  }

  .price-table-new tr:not(:has(.price-table-new__detail)) .price-table-new__normal {
    width: 30% !important;
    padding: 20px 10px !important;
  }
 .price-table-new tr.price-table-new__row--limited
  .price-table-new__menu {
    width: 58% !important;
    padding: 20px 10px !important;
  }

  .price-table-new tr.price-table-new__row--limited
  .price-table-new__normal {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;

    width: 42% !important;
    min-width: 0;
    padding: 10px 8px !important;
    box-sizing: border-box;

    font-size: 15px;
    line-height: 1.4;
    text-align: right;

    white-space: normal !important;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .price-table-new__old-price,
  .price-table-new__limited-price {
    display: block;
    width: 100%;
    text-align: right;
    white-space: nowrap;
  }

  .price-table-new__limited-price {
    margin-top: 4px;
    line-height: 1.4;
  }
  /* 注意書き */
  .price__notes {
    margin-top: 8px;
  }

  .price__notes li {
    font-size: 13px;
    line-height: 1.8;
  }

  .price__notes + .price-table-new {
    margin-top: 24px;
  }

  /* モニター条件 */
  .price__note {
    margin-top: 30px;
  }

  .price__note-title {
    padding: 12px 16px;
    font-size: 16px;
  }

  .price__note-body {
    padding: 18px 16px;
  }

  .price__note-body li {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 8px;
  }
 .price-table-tag {
    display: none;
  }	
 .price-table-new.table-default .price-table-new__detail {
    display: block !important;
    width: 100% !important;
  }

  .price-table-new.table-default .price-table-new__normal {
    width: 100% !important;
  }
/* SP：施術名を横いっぱい表示 */
.price-table-new__detail--full{
  display: block !important;
  width: 100% !important;
}	
.flow__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.flow__content {
  display: contents;
}

.flow__step {
  order: 1;
  font-size: 22px;
  text-align: left;
  justify-content: flex-start;
}

.flow__image {
  order: 2;
  max-width: 280px;
  margin: 0 auto;
}

.flow__step span {
  font-size: 32px;
}

.flow__text {
  order: 3;
  font-size: 16px;
  line-height: 1.8;
}

  .faq__icon {
    width: 24px;
    height: 24px;
  }

  .faq__answer-inner {
    grid-template-columns: 28px 1fr;
    gap: 10px;
    padding: 12px;
  }

  .faq__a {
    font-size: 24px;
  }

  .faq__answer p {
    font-size: 14px;
    line-height: 1.8;
  }
 .doctor-info__inner {
    max-width: 100%;
  }

  .doctor-info__title {
    margin-bottom: 29px;
  }

  .doctor-profile__content {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }

  .doctor-profile__name {
    font-size: 20px;
  }

  .doctor-profile__cert {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .doctor-profile__career-label {
    margin: 14px 0 8px;
    font-size: 13px;
  }

  .doctor-profile__career p {
    font-size: 14px;
    line-height: 1.9;
  }

  .doctor-profile__link {
    margin-top: 16px;
  }

  .doctor-profile__image {
    max-width: 220px;
    margin: 0 auto;
  }	
	.doctor-profile__link a{
    font-size: 13px;		
	}	
 .site-footer .site-footer-content {
    padding: 32px 16px 16px;
  }

  .footer-brand {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }

  .footer-brand__logo {
    height: 56px;
  }

  .footer-brand__title {
    font-size: 20px;
  }

  .footer-clinic {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-bottom: 24px;
  }

  .footer-clinic__item {
    text-align: center;
  }

  .footer-clinic__name {
    font-size: 22px;
  }

  .footer-clinic__text {
    font-size: 14px;
  }

  .footer-bottom-line {
    margin-bottom: 12px;
  }

  .footer-nav {
    gap: 12px 18px;
  }

  .footer-nav li a {
    font-size: 13px;
  }

  .site-footer-copyright {
    padding: 10px 16px 24px;
    font-size: 12px;
  }	

  .top-main-slider__slide {
    transform: scale(0.85);
  }

  .top-main-slider__slide.swiper-slide-active {
    transform: scale(1.1);
  }

  .top-main-slider__pagination {
    margin-top: 40px;
  }
  .recommend-plan__swiper {
    max-width: 100%;
  }

  .recommend-plan__link img {
    max-width: 260px;
  }	
/* TOPページのおすめプランだけ画像幅を解除 */
.recommend-plan--top .recommend-plan__link img {
  width: 100%;
  max-width: none;
  height: auto;
}	
  .top-main-slider__nav,
  .recommend-plan__nav {
    display: none;
  }	
	
  .top-menu__inner {
    max-width: 100%;
  }
.top-menu__body li {
padding-left: 30px;
}
  .top-menu__search {
    margin-bottom: 28px;
  }

  .top-menu__search input {
    height: 48px;
    padding: 0 16px;
    font-size: 16px;
  }

  .top-menu__list {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .top-menu__col {
    gap: 24px;
  }

  .top-menu__head {
    font-size: 18px;
    padding-right: 34px;
  }

  .top-menu__body a {
    font-size: 16px;
  }
.comparison-table__table {
  min-width: 700px;
  border-collapse: separate;
  border-spacing: 0;
}
	.comparison-table__table.sp-w500{
  min-width: 500px;		
	}

.comparison-table__table th,
.comparison-table__table td {
  padding: 12px 14px;
  font-size: 14px;
}

/* 固定幅バージョン */
.comparison-table--fixed .comparison-table__table {
  table-layout: fixed;
}

.comparison-table--fixed th,
.comparison-table--fixed td {
  padding: 12px 6px;
  font-size: 13px;
  word-break: break-word;
}

.comparison-table--fixed thead th {
  font-size: 13px;
}

.comparison-table--fixed tbody th {
  width: 90px;
}

/* スクロール版：左列固定 */
.comparison-table:not(.comparison-table--fixed) .comparison-table__table tbody th:first-child {
  position: sticky;
  left: 0;
  z-index: 5;
  color: #fff;
  border: none !important;
  box-shadow:
    inset -1px 0 0 #97ACBC,
    inset 0 -1px 0 #fff !important;
}

/* 最終行だけ下線を青に戻す */
.comparison-table:not(.comparison-table--fixed) .comparison-table__table tbody tr:last-child th:first-child {
  box-shadow:
    inset -1px 0 0 #97ACBC,
    inset 0 -1px 0 #97ACBC !important;
}

/* 左上セル（薬剤名） */
.comparison-table:not(.comparison-table--fixed) .comparison-table__table thead th:first-child{
  position: sticky;
  left: 0;
  z-index: 6;
  background: #446A88 !important;
  color: #fff;
  border: none !important;
  box-shadow:
    inset -1px 0 0 #97ACBC,
    inset 0 -1px 0 #fff;
}
.comparison-table__table th.is-blue-light.sp-w110{
width: 110px;	
}	
  .clinic-guide__list {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .clinic-guide__name,
  .clinic-guide__tel {
    font-size: 20px;
  }

  .clinic-guide__sns-sub {
    gap: 20px;
  }
 .top-banner-links__inner {
    max-width: 100%;
  }

  .top-banner-links__row,
  .top-banner-links__row--3,
  .top-banner-links__row--2 {
    grid-template-columns: 1fr;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }	
 .top-news__head {
    display: block;
    margin-bottom: 28px;
  }

  .top-news__archive {
    display: inline-flex;
    margin-top: 18px;
  }

  .top-news__item {
    display: block;
    padding: 16px 0;
  }

  .top-news__date {
    display: block;
    width: auto;

    margin-bottom: 6px;

    font-size: 13px;
  }

  .top-news__category,
  .top-news__text {
    font-size: 16px;
  }	
  .top-message {
    margin-bottom: 90px;
  }
	.top-message::after{
        top: 44%;		
        font-size: 75px;
        left: 0;		
	}
  .top-message__content {
    display: block;
  }

  .top-message__content::before {
    left: 0;
    bottom: -18px;

    font-size: 54px;
  }

  .top-message__image {
    width: auto;
    margin: 40px auto 0;
  }

  .top-message__title {
    font-size: 24px;
  }

  .top-message__lead {
    font-size: 18px;
  }

  /* concept */
  .top-concept::before {
    font-size: 54px;
    top: 60px;
  }

  .top-concept__title {
    margin-bottom: 42px;
  }

  .top-concept__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .top-concept__grid.m16 {
    margin: 0 16px;
  }
  .top-concept-card__num {
    font-size: 36px;
  }	
  .top-column__head {
    margin-bottom: 28px;
  }

  .top-column__archive {
    position: relative;
    transform: none;

    display: inline-flex;
    margin-top: 18px;
  }

  .top-column .vk_post_title {
    font-size: 15px;
  }	
 .menu-list__grid {
    grid-template-columns: 1fr;
    row-gap: 80px;
    margin-bottom: 50px;
  }

  .menu-list__title {
    gap: 14px;

    margin-bottom: 18px;
    padding-bottom: 16px;

    font-size: 24px;
  }

  .menu-list__icon,
  .menu-list__icon img {
    width: 50px;
    height: 50px;
  }

  .menu-list__items a {
    padding: 14px 24px 14px 0;

    font-size: 15px;
    line-height: 1.7;
  }
.product-card {
    gap: 16px;
    padding-bottom: 60px;
  }

  .product-card__category {
    padding: 8px 14px;
    font-size: 16px;
  }

  .product-card__name {
    font-size: 20px;
    line-height: 1.6;
  }
	.product-card__name.sp-u-mb-10{
margin-bottom: 10px;		
	}
  .product-card__tag {
    display: inline-block;
    margin-top: 6px;
    margin-left: 0;
  }

  .product-card__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .product-card__image {
    max-width: 300px;
    margin: 0 auto;
  }

  .product-card__spec dl {
    display: block;
  }

  .product-card__spec dt {
    padding: 10px 14px;
    font-size: 14px;
    text-align: left;
    border-bottom: 1px solid #fff;
  }

  .product-card__spec dd {
    padding: 12px 14px 16px;
    font-size: 14px;
    border-top: none;
    border-bottom: 1px solid #446A88;
  }	
 .case-list__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .case-list-card {
    max-width: 340px;
    margin: 0 auto;
  }

  .case-list-card__title {
    font-size: 17px;
  }	
.clinic-hours__table th,
.clinic-hours__table td{
  font-size: 12px;
}

.clinic-hours__table th:first-child,
.clinic-hours__table td:first-child{
  width: 110px;
}	
 .reserve-btn-list{
    gap:14px;
    margin:20px 0 32px;
  }

  .reserve-btn{
    width:100%;
    min-width:0;
    min-height:52px;
    font-size:15px;
  }	
.clinic-info__sns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 28px;
    row-gap: 18px;
    justify-content: center;
  }

  .clinic-info__sns-row {
    display: contents;
  }

  .clinic-info__sns-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    justify-content: center;
  }

  .clinic-info__sns-img {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    margin-bottom: 5px;
  }	
  /* Lightning側の固定ナビ背景・不要線を解除 */
  .mobile-fix-nav,
  .mobile-fix-nav-top,
  .fixed-footer-sp,
  .fixed-footer-sp__list {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* 固定ナビ全体 */
  .fixed-footer-sp {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* 4分割 */
  .fixed-footer-sp__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
    gap: 0 !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }

  /* 各ボタン */
  .fixed-footer-sp__item {
    position: relative;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
    overflow: visible;
  }

  /* 1番目・3番目の右側は通常の白線 */
  .fixed-footer-sp__item:nth-child(1),
  .fixed-footer-sp__item:nth-child(3) {
    border-right: 1px solid #fff !important;
  }

  /* 2番目の右側は、吹き出し部分を除いた高さだけ白線 */
  .fixed-footer-sp__item:nth-child(2)::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 1px;
    height: 78%;
    background: #fff;
    z-index: 5;
    pointer-events: none;
  }

  /* リンク */
  .fixed-footer-sp__link {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    overflow: visible;
  }
  /* 画像 */
  .fixed-footer-sp__link img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
  }
/* LINE画像の色面を電話画像に合わせる */
.fixed-footer-sp__item--line {
  transform: translateY(1px);
}
  .site-footer {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }	
.scrolled .page_top_btn {
    bottom: 110px;
}	
 /* ハンバーガーボタンを右寄せ */
  #vk-mobile-nav-menu-btn {
    left: auto !important;
    right: 10px !important;
  }

  /* ヘッダーロゴを左寄せ */
  .site-header-logo img,
  .site-header-logo a img {
    margin-left: 12px !important;
    margin-right: auto !important;
	  
  }	
 .course-slider {
    gap: 16px;
    padding: 4px 32px 18px 4px;
  }

  .course-card {
    flex: 0 0 84%;
    padding: 20px 14px 18px;
  }

  .course-card__title {
    margin-bottom: 18px;
    font-size: 20px;
  }

  .course-card__label {
    padding: 5px 8px;
    font-size: 16px;
  }

  .course-card__name {
    padding: 4px 8px;
    font-size: 15px;
  }

  .course-card__image {
    margin-top: 16px;
  }	
  .e-image-label-grid,
  .e-image-label-grid--3,
  .e-image-label-grid--4,
  .e-image-label-grid--5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  .e-image-label-grid__label {
    margin-top: 10px;
    font-size: 15px;
  }
  .notice-box {
    margin-top: 32px;
    padding: 30px 16px 20px;
  }

  .notice-box__title {
    left: 14px;
    padding: 0 8px;
    font-size: 17px;
  }

  .notice-box__text {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.8;
  }

  .notice-box__button {
    width: 100%;
    min-width: 0;
    padding: 12px 14px;
  }

  .notice-box__button-main {
    font-size: 15px;
  }

  .notice-box__button-note {
    font-size: 11px;
  }	
 .mp4-responsive {
    width: 100%;
  }	
 .line-coupon {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 24px auto 32px;
  }

  .line-coupon__button {
    min-height: 72px;
  }

  .line-coupon__main {
    font-size: 17px;
  }

  .line-coupon__sub {
    font-size: 12px;
  }
 .monitor-menu {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .monitor-menu__item {
    max-width: 400px;
    min-height: 72px;
    margin: 0 auto;
    padding: 14px 22px;
  }

  .monitor-menu__text {
    font-size: 22px;
  }

  .monitor-menu__tag {
    top: 7px;
    left: -25px;
    width: 74px;
    font-size: 10px;
  }	
.payment-method__block {
    margin-top: 28px;
  }

  .payment-method__heading {
    margin-bottom: 12px;
    padding: 7px 12px;
    font-size: 16px;
  }

  .payment-method__text {
    font-size: 14px;
  }

  .payment-logo-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 18px 10px;
    margin-top: 14px;
  }

  .payment-logo-list__item,
  .payment-logo-list__item--visa,
  .payment-logo-list__item--nanaco {
    width: 100%;
    height: 58px;
  }

  .payment-logo-list__item img {
    max-width: 78px;
    max-height: 52px;
  }

  .payment-logo-list__item--visa img,
  .payment-logo-list__item--nanaco img {
    max-width: 100px;
  }

  /* 現金は1点のみなのでグリッドにしない */
  .payment-logo-list--cash {
    display: flex;
  }

  .payment-logo-list--cash .payment-logo-list__item {
    width: 80px;
    height: 80px;
  }

  .payment-logo-list--cash .payment-logo-list__item img {
    max-width: 80px;
    max-height: 80px;
  }		
 .artmake-caution {
    margin-top: 32px;
    padding: 30px 16px 20px;
  }

  .artmake-caution__title {
    left: 14px;
    padding: 0 8px;
    font-size: 17px;
  }

  .artmake-caution__text {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.8;
  }

  .artmake-caution__button {
    width: 100%;
    min-width: 0;
    padding: 12px 14px;
  }

  .artmake-caution__button-main {
    font-size: 15px;
  }

  .artmake-caution__button-note {
    font-size: 11px;
  }	
 /* 左余白は共通CSSの値をそのまま使用 */
  .clinic-gallery .e-section__inner {
    padding-right: 0;
  }

  .clinic-gallery__swiper {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    box-sizing: border-box;
  }

  .clinic-gallery__swiper .swiper-wrapper {
    margin: 0;
    padding: 0;
  }

  .clinic-gallery__slide {
    height: auto;
    margin: 0;
  }

  .clinic-gallery__figure,
  .clinic-gallery__figure img {
    width: 100%;
    margin: 0;
  }

  /* 右余白を外した分、ドットだけ画面中央に戻す */
  .clinic-gallery__pagination {
    width: calc(100% - 16px);
    padding: 0;
    box-sizing: border-box;
  }
}	
@media (min-width: 767px) {
/* PC改行なし */	
   .br_none{
    display: none;		
	}	
 .site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #fff;
  }

   /* 上の空要素は消す */
  #header-top {
    display: none !important;
  }

  /* スクロール後コンテナ */
  #site-header-container.site-header-container--scrolled--nav-center {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 16px 20px !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  /* スクロール後ロゴ */
  .site-header-logo.site-header-logo--scrolled--nav-center {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
  }

  .site-header-logo.site-header-logo--scrolled--nav-center img {
    display: block !important;
    width: auto !important;
    height: 54px !important;
    max-height: none !important;
  }

  /* スクロール後ナビ */
  #global-nav.global-nav--scrolled--nav-center {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }

  #global-nav.global-nav--scrolled--nav-center .global-nav-list {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex-wrap: nowrap !important;
  }

  #global-nav.global-nav--scrolled--nav-center .global-nav-list > li {
    margin: 0 !important;
    padding: 0 !important;
  }

  #global-nav.global-nav--scrolled--nav-center .global-nav-list > li > a {
    display: block !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
  }

  #global-nav.global-nav--scrolled--nav-center .global-nav-name {
    font-weight: 400 !important;
  }
 /* スクロール後もロゴを必ず表示 */
  #site-header-container.site-header-container--scrolled--nav-center .site-header-logo {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  #site-header-container.site-header-container--scrolled--nav-center .site-header-logo a,
  #site-header-container.site-header-container--scrolled--nav-center .site-header-logo span {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #site-header-container.site-header-container--scrolled--nav-center .site-header-logo img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    height: 54px !important;
    max-width: none !important;
    max-height: none !important;
  }

  /* コンテナ内でロゴ＋ナビを左右配置 */
  #site-header-container.site-header-container--scrolled--nav-center {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }	
.meida-img img {
		height: 290px;
		width: auto;
	    max-width: max-content;
		box-sizing: content-box;
	}	
	.pc-m-auto{
    margin: 0 auto;		
	}	
  .fixed-footer-sp {
    display: none;
  }

  body {
    padding-bottom: 0;
  }	
 .recommend-plan--top .recommend-plan__swiper {
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    overflow: hidden;
  }

  .recommend-plan--top .recommend-plan__slide {
    width: 500px;
  }

  .recommend-plan--top .recommend-plan__link,
  .recommend-plan--top .recommend-plan__link img {
    display: block;
    width: 100%;
  }

  .recommend-plan--top .recommend-plan__link img {
    max-width: none !important;
    height: auto;
    margin: 0;
  }	
 .recommend-plan--top .e-section__inner {
    max-width: 1560px;
  }	
  .course-slider {
    padding-bottom: 22px;
  }

  .course-card {
    flex-basis: calc((100% - 24px) / 3);
  }	
/* 医師経歴：折り返し位置を年の後ろに揃える */
.career-list li {
  padding-left: 5.2em;
  text-indent: -5.2em;
}	
}
/* =========================================================
   iPhone Safari：固定フッターより下だけ白くする
========================================================= */
@media screen and (max-width: 767px) {

  /* 通常ブラウザ */
  .mobile-fix-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    overflow: visible !important;
    z-index: 999999 !important;
  }

  .mobile-fix-nav-top,
  .mobile-fix-nav-widget,
  .fixed-footer-sp,
  .fixed-footer-sp__list {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /*
   * iPhone Safariのみ
   * 固定フッターを15px上げる
   */
  html.is-ios-safari .mobile-fix-nav {
    --safe-bottom: max(env(safe-area-inset-bottom, 0px), 15px);

    bottom: var(--safe-bottom) !important;
    isolation: isolate;
  }

  /*
   * 固定フッターの真下だけ白くする
   */
  html.is-ios-safari .mobile-fix-nav::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(-1 * var(--safe-bottom));

    height: var(--safe-bottom);
    background: #fff;

    pointer-events: none;
    z-index: 0;
  }

  /* 固定フッターの中身を白帯より前面にする */
  html.is-ios-safari .mobile-fix-nav-top,
  html.is-ios-safari .mobile-fix-nav-widget,
  html.is-ios-safari .fixed-footer-sp,
  html.is-ios-safari .fixed-footer-sp__list {
    z-index: 1;
  }

  /* 通常ブラウザ */
  .page_top_btn {
    bottom: 130px !important;
  }

  /* iPhone Safariも同じ20px分だけ上げる */
  html.is-ios-safari .page_top_btn {
    bottom: calc(
      130px + max(env(safe-area-inset-bottom, 0px), 20px)
    ) !important;
  }
	
}