/* =========================================================
   PRO CLINIC MEN'S CUSTOM CSS
   FINAL REPLACE VERSION
   2026-06
   対象：
   - /mens/ トップページ
   - /mens/doctors/ など下層ページ
   - PCヘッダー位置
   - モバイルヘッダー
   - ドロワーメニュー閉じるボタン
   - フッター
   - モバイル固定CTA
   - 重複リンク抑制
   ========================================================= */


/* =========================================================
   0. 基本調整
   ========================================================= */

html,
body {
  overflow-x: hidden;
}

#article h1,
#article h2,
#article h3 {
  text-align: left;
}

#article .vk_highlighter mark,
#article .has-inline-color {
  font-style: normal !important;
  background: transparent !important;
}

.my-youtube-wrap {
  width: 100%;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .my-youtube-wrap {
    width: 50%;
    margin: 0 auto;
  }
}

.my-youtube-wrap iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
}


/* =========================================================
   1. 旧footer・旧固定footer・画像footerの停止
   ========================================================= */

html body .floating-footer,
html body #floating-footer,
html body footer.footer:not(.prcl-footer),
html body #footer_icon_banner,
html body #footer_image_carousel,
html body .footer:not(.prcl-footer) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}


/* =========================================================
   2. PCヘッダー：上部余白・ズレを抑制
   ========================================================= */

@media screen and (min-width: 1025px) {

  html,
  body {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body #header,
  html body header#header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.985) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.06) !important;
    overflow: visible !important;
  }

  html body.admin-bar #header,
  html body.admin-bar header#header {
    top: 32px !important;
  }

  html body #header .inner,
  html body header#header .inner,
  html body #header .header_inner,
  html body header#header .header_inner {
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body #header_logo2,
  html body header#header #header_logo2 {
    position: absolute !important;
    left: 28px !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important;
    max-width: 240px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    z-index: 200 !important;
  }

  html body #header_logo2 a,
  html body #header_logo2 .text_image {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  html body #header_logo2 img,
  html body #header_logo2 img.mobile {
    display: block !important;
    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
  }

  html body #global_menu,
  html body .global_menu,
  html body #header #global_menu,
  html body header#header #global_menu {
    position: relative !important;
    margin: 0 auto !important;
    padding: 0 !important;
    min-height: 64px !important;
    height: 64px !important;
    line-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
  }

  html body #global_menu > ul,
  html body .global_menu > ul,
  html body #header #global_menu > ul {
    margin: 0 !important;
    padding: 0 !important;
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body #global_menu li,
  html body .global_menu li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 64px !important;
  }

  html body #global_menu a,
  html body .global_menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 64px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.4 !important;
  }

  html body #drawer_menu_button,
  html body #global_menu_button {
    display: none !important;
  }

  html body #container,
  html body #main_contents,
  html body main,
  html body .contents {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}


/* =========================================================
   3. PCトップページ：メインバナー見切れ防止
   ========================================================= */

@media screen and (min-width: 1025px) {

  body.home .main-banner {
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
    width: min(100% - 140px, 1451px) !important;
    max-width: 1451px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 20px 48px rgba(0,0,0,.07) !important;
  }

  body.home .main-banner img,
  body.home .main-banner img.pc {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: none !important;
  }

  body.home .main-banner img.sp {
    display: none !important;
  }
}


/* =========================================================
   4. 左側コピー：高級グラデーション版
   ========================================================= */

@media screen and (min-width: 1221px) {

  html body #site_desc {
    position: fixed !important;
    left: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 120 !important;
    width: auto !important;
    height: auto !important;
    pointer-events: none !important;
  }

  html body #site_desc h2,
  html body #site_desc p,
  html body #site_desc .desc {
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 232px !important;
    padding: 22px 8px !important;
    margin: 0 !important;
    color: #f9efd3 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    line-height: 1.6 !important;
    background:
      linear-gradient(180deg, rgba(15,15,15,.96), rgba(54,42,22,.82), rgba(15,15,15,.96)) padding-box,
      linear-gradient(180deg, rgba(255,244,207,.88), rgba(181,142,43,.20), rgba(255,244,207,.78)) border-box !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    box-shadow:
      0 18px 38px rgba(0,0,0,.18),
      0 0 30px rgba(212,175,55,.18),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.76) !important;
  }
}

@media screen and (max-width: 1220px) {
  html body #site_desc {
    display: none !important;
  }
}

/* =========================================================
   5. モバイルヘッダー：ロゴ左寄せ・上下中央
   ========================================================= */

@media screen and (max-width: 800px) {

  html body #header,
  html body header#header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.05) !important;
  }

  body.home.no_header_logo_image #header_logo2,
  body.home #header_logo2,
  body.no_header_logo_image #header_logo2,
  html body #header_logo2,
  html body header#header #header_logo2 {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: calc(100% - 88px) !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transform: none !important;
    line-height: 1 !important;
    z-index: 200 !important;
  }

  html body #header_logo2 a,
  html body #header_logo2 .text_image {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  html body #header_logo2 img,
  html body #header_logo2 img.mobile {
    display: block !important;
    width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
  }

  html body #drawer_menu_button {
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4 !important;
  }

  body.home .main-banner {
    margin-top: 0 !important;
  }
}


/* =========================================================
   6. ドロワーメニュー：半透明ラグジュアリー安定版 v4
   2026-06-07
   目的：
   - /mens/ 本体表示、最新記事、医師記事、アクセスのCSSは維持
   - ハンバーガーメニューだけを黒×半透明×ゴールドで高級化
   - SimpleBar使用時もドロワー内だけスクロール可能にする
   - .prcl-drawer-pro 新HTML と #drawer_icon_button 旧HTML の両方に対応
   - body / html の touch-action:none は使わず、スマホ通常スクロール停止を防ぐ
   ========================================================= */

@media screen and (max-width: 800px) {

  /* ---------------------------------------------------------
     6-1. 開閉・レイヤー
     --------------------------------------------------------- */

  html body #drawer_menu {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    background:
      radial-gradient(circle at 18% 7%, rgba(218,184,83,.22), transparent 28%),
      radial-gradient(circle at 92% 14%, rgba(255,255,255,.08), transparent 25%),
      linear-gradient(rgba(255,255,255,.044) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.044) 1px, transparent 1px),
      linear-gradient(180deg, rgba(14,14,14,.955) 0%, rgba(10,10,9,.975) 58%, rgba(2,2,2,.99) 100%) !important;
    background-size: auto, auto, 30px 30px, 30px 30px, auto !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    z-index: 100000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity .24s ease, visibility .24s ease !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html.open_menu body #drawer_menu,
  html.show-drawer body #drawer_menu,
  body.open_menu #drawer_menu,
  body.show-drawer #drawer_menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.open_menu body .prcl-mobile-fixed-cta,
  html.show-drawer body .prcl-mobile-fixed-cta,
  body.open_menu .prcl-mobile-fixed-cta,
  body.show-drawer .prcl-mobile-fixed-cta,
  html.open_menu body #dp-footer-bar,
  html.show-drawer body #dp-footer-bar,
  body.open_menu #dp-footer-bar,
  body.show-drawer #dp-footer-bar,
  html.open_menu body .p-footer-bar,
  html.show-drawer body .p-footer-bar,
  body.open_menu .p-footer-bar,
  body.show-drawer .p-footer-bar {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body #drawer_menu,
  html body #drawer_menu *,
  html body #drawer_menu *::before,
  html body #drawer_menu *::after {
    box-sizing: border-box !important;
  }

  html body #drawer_menu::before {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 82px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(223,190,93,.78), transparent) !important;
    z-index: 100021 !important;
    pointer-events: none !important;
  }

  html body #drawer_menu::after {
    content: "PRO CLINIC MEN'S" !important;
    position: fixed !important;
    left: 50% !important;
    bottom: calc(22px + env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    z-index: 0 !important;
    color: rgba(255,255,255,.035) !important;
    font-family: "Times New Roman", serif !important;
    font-size: clamp(38px, 13vw, 62px) !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }

  /* ---------------------------------------------------------
     6-2. SimpleBar対策：inline style より強く、ドロワー内スクロールを復活
     --------------------------------------------------------- */

  html body #drawer_menu .simplebar-wrapper,
  html body #drawer_menu .simplebar-mask,
  html body #drawer_menu .simplebar-offset,
  html body #drawer_menu .simplebar-content-wrapper,
  html body #drawer_menu .simplebar-content {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html body #drawer_menu .simplebar-wrapper {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html body #drawer_menu .simplebar-mask,
  html body #drawer_menu .simplebar-offset {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  html body #drawer_menu .simplebar-content-wrapper {
    height: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }

  html body #drawer_menu .simplebar-content {
    min-height: 100% !important;
    padding: 106px 17px calc(38px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
  }

  /* SimpleBarが未生成の場合の保険 */
  html body #drawer_menu > #drawer_logo,
  html body #drawer_menu > .close_button_area,
  html body #drawer_menu > .prcl-drawer-pro,
  html body #drawer_menu > #drawer_icon_button,
  html body #drawer_menu > #mobile_menu {
    position: relative !important;
  }

  html body #drawer_menu:not(:has(.simplebar-content)) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 106px 17px calc(38px + env(safe-area-inset-bottom)) !important;
  }

  /* ---------------------------------------------------------
     6-3. 上部ロゴ・閉じるボタン
     --------------------------------------------------------- */

  html body #drawer_menu #drawer_logo {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    margin: 0 !important;
    padding: 0 18px 0 22px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.035)),
      rgba(9,9,9,.78) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
    border-bottom: 1px solid rgba(217,183,86,.30) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
    z-index: 100030 !important;
    overflow: hidden !important;
  }

  html body #drawer_menu #drawer_logo .logo,
  html body #drawer_menu #drawer_logo a,
  html body #drawer_menu #drawer_logo .text_image,
  html body #drawer_menu #drawer_logo .prcl-drawer-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  html body #drawer_menu #drawer_logo img {
    display: block !important;
    width: auto !important;
    max-width: min(260px, calc(100vw - 126px)) !important;
    height: auto !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.42)) !important;
  }

  html body #drawer_menu #drawer_logo img:not(:first-of-type),
  html body #drawer_menu #drawer_logo picture:not(:first-of-type),
  html body #drawer_menu #drawer_logo .pc:not(.mobile) {
    display: none !important;
  }

  html body #drawer_menu .close_button_area {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 82px !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, rgba(238,209,110,.95), rgba(154,117,32,.96)) !important;
    border-left: 1px solid rgba(255,255,255,.18) !important;
    border-bottom: 1px solid rgba(217,183,86,.40) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.22) !important;
    z-index: 100050 !important;
    cursor: pointer !important;
  }

  html body #drawer_menu .close_button {
    position: relative !important;
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.08) !important;
  }

  html body #drawer_menu .close_button::before,
  html body #drawer_menu .close_button::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 20px !important;
    display: block !important;
    width: 28px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 999px !important;
    transform-origin: center center !important;
    box-shadow: 0 1px 5px rgba(0,0,0,.34) !important;
  }

  html body #drawer_menu .close_button::before { transform: rotate(45deg) !important; }
  html body #drawer_menu .close_button::after { transform: rotate(-45deg) !important; }

  /* ---------------------------------------------------------
     6-4. 新HTML：.prcl-drawer-pro
     --------------------------------------------------------- */

  html body #drawer_menu .prcl-drawer-pro {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
  }

  html body #drawer_menu .prcl-drawer-kicker {
    display: block !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    color: #d9bd69 !important;
    font-family: "Times New Roman", "Yu Mincho", serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .26em !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-shadow: 0 0 18px rgba(217,183,86,.28) !important;
  }

  html body #drawer_menu .prcl-drawer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
  }

  html body #drawer_menu .prcl-drawer-link {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(255,255,255,.072), rgba(255,255,255,.018)), rgba(10,10,10,.52) !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    text-decoration: none !important;
    text-align: left !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: background .22s ease, transform .22s ease, color .22s ease !important;
  }

  html body #drawer_menu .prcl-drawer-link.is-gold {
    background: linear-gradient(135deg, rgba(218,188,91,.30), rgba(255,255,255,.06)), rgba(24,21,12,.66) !important;
  }

  html body #drawer_menu .prcl-drawer-link:hover,
  html body #drawer_menu .prcl-drawer-link:active {
    background: linear-gradient(135deg, rgba(217,183,86,.25), rgba(255,255,255,.05)), rgba(14,14,14,.78) !important;
  }

  html body #drawer_menu .prcl-drawer-en {
    display: block !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(22px, 6.1vw, 30px) !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    line-height: .94 !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-shadow: 0 8px 22px rgba(0,0,0,.36) !important;
  }

  html body #drawer_menu .prcl-drawer-ja {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.92) !important;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif !important;
    font-size: clamp(11px, 3vw, 13px) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  html body #drawer_menu .prcl-drawer-link[href*="/mission/"] .prcl-drawer-ja,
  html body #drawer_menu .prcl-drawer-link[href*="/mission/"] .prcl-drawer-ja {
    font-size: clamp(10px, 2.7vw, 12px) !important;
    letter-spacing: -.02em !important;
  }

  html body #drawer_menu .prcl-drawer-banners {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
  }

  html body #drawer_menu .prcl-drawer-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    color: #fff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background: linear-gradient(135deg, rgba(0,126,150,.58), rgba(4,66,70,.70)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 28px rgba(0,0,0,.18) !important;
  }

  html body #drawer_menu .prcl-drawer-banner:not(.is-okinawa) {
    background: linear-gradient(135deg, rgba(0,110,78,.60), rgba(5,72,55,.70)) !important;
  }

  html body #drawer_menu .prcl-drawer-banner strong {
    display: block !important;
    color: #fff !important;
    font-family: "Times New Roman", serif !important;
    font-size: 22px !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
  }

  html body #drawer_menu .prcl-drawer-banner span span {
    display: block !important;
    margin-top: 4px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  html body #drawer_menu .prcl-drawer-banner em {
    color: #e7ce77 !important;
    font-style: normal !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  html body #drawer_menu .prcl-drawer-cta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 22px auto 0 !important;
    padding: 0 !important;
  }

  html body #drawer_menu .prcl-drawer-cta a,
  html body #drawer_menu .prcl-drawer-language {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  html body #drawer_menu .prcl-drawer-cta a.is-primary {
    color: #111 !important;
    background: linear-gradient(135deg, #f1d77b, #a77e23) !important;
    border-color: rgba(255,255,255,.28) !important;
  }

  html body #drawer_menu .prcl-drawer-language {
    width: min(220px, 58vw) !important;
    margin: 18px auto 0 !important;
  }

  /* ---------------------------------------------------------
     6-5. 旧HTML：#drawer_icon_button への保険
     --------------------------------------------------------- */

  html body #drawer_menu #drawer_icon_button {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
  }

  html body #drawer_menu #drawer_icon_button::before {
    content: "PRO CLINIC MEN'S NAVIGATION" !important;
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    color: #d9bd69 !important;
    font-family: "Times New Roman", "Yu Mincho", serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .26em !important;
    line-height: 1.5 !important;
    text-align: center !important;
    border: 0 !important;
    background: transparent !important;
    text-shadow: 0 0 18px rgba(217,183,86,.28) !important;
  }

  html body #drawer_menu #drawer_icon_button .item,
  html body #drawer_menu #drawer_icon_button > a {
    display: block !important;
    width: 100% !important;
    min-height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    overflow: hidden !important;
  }

  html body #drawer_menu #drawer_icon_button .item a,
  html body #drawer_menu #drawer_icon_button > a {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(255,255,255,.072), rgba(255,255,255,.018)), rgba(10,10,10,.52) !important;
    text-decoration: none !important;
    text-align: left !important;
    border-radius: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  html body #drawer_menu #drawer_icon_button .item a::before,
  html body #drawer_menu #drawer_icon_button > a::before {
    content: "MENU" !important;
    display: block !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(22px, 6.1vw, 30px) !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    line-height: .94 !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-shadow: 0 8px 22px rgba(0,0,0,.36) !important;
  }

  html body #drawer_menu #drawer_icon_button .item a span,
  html body #drawer_menu #drawer_icon_button > a span,
  html body #drawer_menu #drawer_icon_button .item a .label,
  html body #drawer_menu #drawer_icon_button > a .label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.92) !important;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif !important;
    font-size: clamp(11px, 3vw, 13px) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  html body #drawer_menu #drawer_icon_button .item a .google_icon,
  html body #drawer_menu #drawer_icon_button > a .google_icon {
    display: none !important;
  }

  html body #drawer_menu #drawer_icon_button .item a[href*="reserve"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="reserve"]::before,
  html body #drawer_menu #drawer_icon_button .item a.calendar::before,
  html body #drawer_menu #drawer_icon_button > a.calendar::before { content: "RESERVE" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="line.me"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="line.me"]::before,
  html body #drawer_menu #drawer_icon_button .item a.line::before,
  html body #drawer_menu #drawer_icon_button > a.line::before { content: "LINE" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/price/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/price/"]::before { content: "PRICE" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/case/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/case/"]::before { content: "CASES" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/doctors/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/doctors/"]::before { content: "DOCTORS" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/mission/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/mission/"]::before,
  html body #drawer_menu #drawer_icon_button .item a[href*="/mission/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/mission/"]::before { content: "ABOUT" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/news/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/news/"]::before { content: "NEWS" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/blog/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/blog/"]::before,
  html body #drawer_menu #drawer_icon_button .item a[href*="/post_list/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/post_list/"]::before { content: "BLOG" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/nori"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/nori"]::before { content: "POTENZA" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/deviation"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/deviation"]::before { content: "TOOL" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/faq/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/faq/"]::before { content: "FAQ" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="/recruit/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/recruit/"]::before { content: "RECRUIT" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="okinawa"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="okinawa"]::before { content: "OKINAWA" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="girls"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="girls"]::before { content: "GIRLS" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href^="tel:"]::before,
  html body #drawer_menu #drawer_icon_button > a[href^="tel:"]::before { content: "TEL" !important; }

  html body #drawer_menu #drawer_icon_button .item a[href*="reserve"],
  html body #drawer_menu #drawer_icon_button > a[href*="reserve"],
  html body #drawer_menu #drawer_icon_button .item a[href*="line.me"],
  html body #drawer_menu #drawer_icon_button > a[href*="line.me"],
  html body #drawer_menu #drawer_icon_button .item a.calendar,
  html body #drawer_menu #drawer_icon_button > a.calendar,
  html body #drawer_menu #drawer_icon_button .item a.line,
  html body #drawer_menu #drawer_icon_button > a.line {
    background: linear-gradient(135deg, rgba(218,188,91,.30), rgba(255,255,255,.06)), rgba(24,21,12,.66) !important;
  }

  /* 旧グローバルメニューは巨大化・二重表示の原因になるため非表示 */
  html body #drawer_menu #mobile_menu,
  html body #drawer_menu #mobile_menu *,
  html body #drawer_menu .child_menu_button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media screen and (max-width: 374px) {

  html body #drawer_menu::before {
    top: 76px !important;
  }

  html body #drawer_menu .simplebar-content {
    padding: 98px 12px calc(34px + env(safe-area-inset-bottom)) !important;
  }

  html body #drawer_menu:not(:has(.simplebar-content)) {
    padding: 98px 12px calc(34px + env(safe-area-inset-bottom)) !important;
  }

  html body #drawer_menu #drawer_logo {
    right: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    padding-left: 16px !important;
  }

  html body #drawer_menu #drawer_logo .logo,
  html body #drawer_menu #drawer_logo a,
  html body #drawer_menu #drawer_logo .text_image,
  html body #drawer_menu #drawer_logo .prcl-drawer-logo {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  html body #drawer_menu #drawer_logo img {
    max-width: min(214px, calc(100vw - 112px)) !important;
    max-height: 42px !important;
  }

  html body #drawer_menu .close_button_area {
    width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  html body #drawer_menu .prcl-drawer-link,
  html body #drawer_menu #drawer_icon_button .item,
  html body #drawer_menu #drawer_icon_button > a,
  html body #drawer_menu #drawer_icon_button .item a,
  html body #drawer_menu #drawer_icon_button > a {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
  }

  html body #drawer_menu .prcl-drawer-link,
  html body #drawer_menu #drawer_icon_button .item a,
  html body #drawer_menu #drawer_icon_button > a {
    padding: 9px 11px !important;
  }

  html body #drawer_menu .prcl-drawer-en,
  html body #drawer_menu #drawer_icon_button .item a::before,
  html body #drawer_menu #drawer_icon_button > a::before {
    font-size: 21px !important;
  }

  html body #drawer_menu .prcl-drawer-ja,
  html body #drawer_menu #drawer_icon_button .item a span,
  html body #drawer_menu #drawer_icon_button > a span {
    font-size: 10.5px !important;
  }
}



/* =========================================================
   7. トップページ：旧重複リンク停止 + 予約/グループリンク整形
   ========================================================= */

/* 古い画像リンクと横線だけ停止。新しい .prcl-group-links は消さない */
body.home ul.cursor-grid,
body.home .cursor-grid,
body.home .original-contents-before-after-controls,
body.home .before-after-controls {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.home .reservation-method + .prcl-group-links + hr,
body.home .reservation-method + .prcl-group-links + hr + ul.cursor-grid,
body.home .reservation-method + .prcl-group-links + hr + ul.cursor-grid + hr,
body.home .reservation-method + .prcl-group-links + hr + ul.cursor-grid + hr + ul.cursor-grid,
body.home .reservation-method + .prcl-group-links + hr + ul.cursor-grid + hr + ul.cursor-grid + hr {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* ご予約方法：画像を大きく、上の余白を詰める */
body.home .reservation-method.prcl-reserve-pro {
  width: 100% !important;
  max-width: none !important;
  margin: 28px auto 0 !important;
  padding: 0 0 12px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  text-align: center !important;
  overflow: visible !important;
}

body.home .reservation-method.prcl-reserve-pro .prcl-reserve-title {
  margin: 0 auto 18px !important;
}

body.home .prcl-reserve-banners {
  width: min(100% - 40px, 1450px) !important;
  max-width: 1450px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.07) !important;
}

body.home .prcl-reserve-banners a {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  text-decoration: none !important;
}

body.home .prcl-reserve-banners img,
body.home .prcl-reserve-banners img.reservationimg {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 86px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  transform: none !important;
}

/* PRO CLINIC グループサイト：余白が残らないよう新デザインで表示 */
body.home .prcl-group-links {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  width: min(100% - 64px, 1180px) !important;
  margin: 26px auto 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.home .prcl-group-links h2 {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #b08a1c !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1.5 !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
}

body.home .prcl-group-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.home .prcl-group-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 110px !important;
  padding: 18px 14px !important;
  text-decoration: none !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,247,241,.98)) !important;
  border: 1px solid rgba(176,138,28,.22) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.9) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
  box-sizing: border-box !important;
}

body.home .prcl-group-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(176,138,28,.48) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,1) !important;
}

body.home .prcl-group-title {
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .04em !important;
  margin: 0 0 6px !important;
}

body.home .prcl-group-desc {
  color: #666 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
  margin: 0 !important;
}

@media screen and (max-width: 767px) {
  body.home hr,
  body.home .home hr,
  body.home section:empty,
  body.home div:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.home .reservation-method.prcl-reserve-pro {
    margin: 22px auto 0 !important;
    padding-bottom: 10px !important;
  }

  body.home .prcl-reserve-banners {
    width: calc(100% - 18px) !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    box-shadow: none !important;
  }

  body.home .prcl-reserve-banners a {
    border-radius: 8px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
  }

  body.home .prcl-reserve-banners img,
  body.home .prcl-reserve-banners img.reservationimg {
    min-height: 0 !important;
    object-fit: contain !important;
  }

  body.home .prcl-group-links {
    width: calc(100% - 24px) !important;
    margin: 18px auto 24px !important;
  }

  body.home .prcl-group-links h2 {
    font-size: 15px !important;
    margin-bottom: 14px !important;
  }

  body.home .prcl-group-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.home .prcl-group-card {
    min-height: 94px !important;
    padding: 12px 10px !important;
    border-radius: 12px !important;
  }

  body.home .prcl-group-title {
    font-size: 14px !important;
    margin-bottom: 4px !important;
  }

  body.home .prcl-group-desc {
    font-size: 10px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   8. front-page.php 新セクション共通補助
   ========================================================= */

body.home .latest-cases,
body.home .doctor-blog,
body.home .original-contents {
  overflow: hidden !important;
}

body.home .latest-cases img,
body.home .doctor-blog img,
body.home .original-contents img {
  max-width: 100%;
  height: auto;
}


/* =========================================================
   9. footer前リンク
   ========================================================= */

html body .prcl-footer-before {
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

html body .prcl-footer-link-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(100% - 96px, 1180px) !important;
  margin: 0 auto !important;
  padding: 46px 0 38px !important;
  gap: 0 !important;
  border-top: 1px solid rgba(0,0,0,.08) !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}

html body .prcl-footer-link-grid a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 72px !important;
  padding: 12px 18px 12px 34px !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

html body .prcl-footer-link-grid a::before {
  content: ">" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) scaleX(.85) !important;
  color: #b08a1c !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  text-shadow: 1px 1px 0 #6f5411 !important;
}

html body .prcl-footer-link-grid a:hover {
  color: #9b7415 !important;
}

html body .prcl-footer-hours {
  width: min(100% - 48px, 760px) !important;
  margin: 46px auto 42px !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html body .prcl-footer-hours img {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  margin: 0 auto !important;
  border: 0 !important;
  object-fit: contain !important;
}


/* =========================================================
   10. footer本体
   ========================================================= */

html body .prcl-footer {
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 30px !important;
  overflow: hidden !important;
  color: #e6d28a !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(212,175,55,.18), rgba(212,175,55,0) 34%),
    linear-gradient(180deg, #1f1f1f 0%, #0c0c0c 55%, #030303 100%) !important;
  border-top: 1px solid rgba(212,175,55,.42) !important;
  box-sizing: border-box !important;
}

html body .prcl-footer *,
html body .prcl-footer *::before,
html body .prcl-footer *::after {
  box-sizing: border-box !important;
}

html body .prcl-footer-inner {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body .prcl-footer-cta-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(212,175,55,.26) !important;
  background: rgba(255,255,255,.025) !important;
}

html body .prcl-footer-cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 92px !important;
  padding: 14px 8px !important;
  gap: 7px !important;
  color: #d8bd64 !important;
  text-decoration: none !important;
  border-left: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.18)) !important;
  transition: transform .25s ease, background .25s ease, color .25s ease !important;
}

html body .prcl-footer-cta:first-child {
  border-left: 0 !important;
}

html body .prcl-footer-cta:hover {
  transform: translateY(-2px) !important;
  color: #fff0ae !important;
  background: linear-gradient(180deg, rgba(212,175,55,.16), rgba(0,0,0,.20)) !important;
}

html body .prcl-footer-cta-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  color: currentColor !important;
}

html body .prcl-footer-cta-icon svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  fill: currentColor !important;
}

html body .prcl-line-badge {
  width: auto !important;
  min-width: 38px !important;
  height: 24px !important;
  padding: 4px 7px !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}

html body .prcl-footer-cta-text {
  display: block !important;
  color: currentColor !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
}

html body .prcl-footer-brand {
  width: min(100% - 48px, 1120px) !important;
  margin: 0 auto !important;
  padding: 50px 24px 36px !important;
}

html body .prcl-footer-kicker {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
  color: #d7bd63 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .24em !important;
  line-height: 1.5 !important;
}

html body .prcl-footer-kicker::before,
html body .prcl-footer-kicker::after {
  content: "" !important;
  width: 46px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #d7bd63, transparent) !important;
}

html body .prcl-footer-copy {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 2.7vw, 46px) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  text-shadow: 0 0 24px rgba(255,255,255,.20) !important;
}

html body .prcl-footer-copy span {
  color: #d8bd64 !important;
}

html body .prcl-footer-lead {
  margin: 20px auto 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 15px !important;
  line-height: 2 !important;
  letter-spacing: .07em !important;
}

html body .prcl-footer-badges {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 26px auto 0 !important;
}

html body .prcl-footer-badges span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 17px !important;
  color: #e4cf88 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  border: 1px solid rgba(216,189,100,.42) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
}

html body .prcl-footer-copyright {
  margin: 0 auto !important;
  padding: 0 20px !important;
  color: rgba(216,189,100,.74) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  letter-spacing: .04em !important;
}


/* =========================================================
   11. モバイル固定CTA
   ========================================================= */

html body .prcl-mobile-fixed-cta {
  display: none !important;
}

@media screen and (max-width: 767px) {

  html body {
    padding-bottom: calc(74px + env(safe-area-inset-bottom)) !important;
  }

  html body .prcl-mobile-fixed-cta {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    width: 100% !important;
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    background: linear-gradient(180deg, rgba(40,40,40,.98), rgba(13,13,13,.98)) !important;
    border-top: 1px solid rgba(212,175,55,.36) !important;
    box-shadow: 0 -10px 28px rgba(0,0,0,.28) !important;
  }

  html body .prcl-mobile-fixed-cta a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    color: #d8bd64 !important;
    text-decoration: none !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    font-weight: 800 !important;
  }

  html body .prcl-mobile-fixed-cta a:first-child {
    border-left: 0 !important;
  }

  html body .prcl-mobile-fixed-cta span {
    display: block !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  html body .prcl-mobile-fixed-cta b {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
  }

  html body .prcl-mobile-fixed-cta .is-line span {
    min-width: 34px !important;
    padding: 3px 5px !important;
    border: 1px solid #d8bd64 !important;
    border-radius: 999px !important;
    font-size: 9px !important;
  }
}


/* =========================================================
   12. タブレット調整
   ========================================================= */

@media screen and (min-width: 768px) and (max-width: 1220px) {

  html body .prcl-footer-link-grid {
    width: calc(100% - 40px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body .prcl-footer-link-grid a {
    font-size: 17px !important;
  }

  html body .prcl-footer-cta-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body .prcl-footer-cta-text {
    font-size: 12px !important;
  }
}


/* =========================================================
   13. スマホfooter
   ========================================================= */

@media screen and (max-width: 767px) {

  html body .prcl-footer-link-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 34px 18px 28px !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.10) !important;
  }

  html body .prcl-footer-link-grid a {
    min-height: 68px !important;
    padding: 10px 8px 10px 28px !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  html body .prcl-footer-link-grid a::before {
    left: 0 !important;
    font-size: 25px !important;
  }

  html body .prcl-footer-hours {
    width: calc(100% - 36px) !important;
    margin: 36px auto 34px !important;
  }

  html body .prcl-footer {
    padding-bottom: 28px !important;
  }

  html body .prcl-footer-cta-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    max-width: 100% !important;
  }

  html body .prcl-footer-cta {
    min-height: 68px !important;
    padding: 8px 2px !important;
    gap: 4px !important;
  }

  html body .prcl-footer-cta-icon {
    width: 24px !important;
    height: 24px !important;
  }

  html body .prcl-footer-cta-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  html body .prcl-line-badge {
    min-width: 32px !important;
    height: 20px !important;
    padding: 3px 5px !important;
    font-size: 8px !important;
  }

  html body .prcl-footer-cta-text {
    font-size: 10px !important;
    letter-spacing: .02em !important;
  }

  html body .prcl-footer-brand {
    width: calc(100% - 28px) !important;
    padding: 34px 10px 26px !important;
  }

  html body .prcl-footer-kicker {
    font-size: 10px !important;
    gap: 10px !important;
    letter-spacing: .18em !important;
  }

  html body .prcl-footer-kicker::before,
  html body .prcl-footer-kicker::after {
    width: 28px !important;
  }

  html body .prcl-footer-copy {
    font-size: 23px !important;
    letter-spacing: .08em !important;
  }

  html body .prcl-footer-lead {
    font-size: 12px !important;
    line-height: 1.9 !important;
  }

  html body .prcl-footer-badges {
    gap: 8px !important;
  }

  html body .prcl-footer-badges span {
    min-height: 30px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
  }
}


/* =========================================================
   14. サイドCTA色
   ========================================================= */

#side_icon_button .item a.calendar {
  background-color: #a48123 !important;
  color: #ffffff !important;
  border-radius: 100px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.3) !important;
}

#side_icon_button .item a.line {
  background-color: #06c755 !important;
  color: #ffffff !important;
  border-radius: 100px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.3) !important;
}


/* =========================================================
   15. 念のため：古いfooter icon bannerのLINE色指定は無効化せず残す
   ========================================================= */

#footer_icon_banner .item a.line {
  background-color: #06c755;
  color: #ffffff;
  border: 1px solid #04a24c;
}

/* =========================================================
   16. FINAL：最新記事・医師記事の担当者画像を安定配置
   2026-06-06
   目的：
   - 前回の img[src*="..."] 直指定と :has() 指定による位置ズレを停止
   - 立ち絵は .prcl-side-person 系クラスだけで制御
   - PCでは大きく上寄せ、スマホでは現在の見やすさを維持
   ========================================================= */

/* 念のため、前回追加した画像直指定のtransformを完全に無効化 */
body.home img[src*="Nurse-Tanaka-standing-up-PRO-CLINIC-Ginza"],
body.home img[src*="Dr.-Yuzaki-standing-up-PRO-CLINIC-Ginza"] {
  transform: none !important;
  margin: 0 !important;
}

/* 記事ブロック共通 */
body.home .latest-cases .p-oricon,
body.home .original-contents .p-oricon {
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  isolation: isolate !important;
}

/* 金帯 */
body.home .latest-cases .p-oricon::after,
body.home .original-contents .p-oricon::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, #c5a453 0%, #9b7824 100%) !important;
  box-shadow: inset 12px 0 28px rgba(0,0,0,.20) !important;
}

/* 肩書きラベル */
body.home .latest-cases .p-oricon::before,
body.home .original-contents .p-oricon::before {
  position: absolute !important;
  z-index: 4 !important;
  color: #fff !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1.45 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.72) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

body.home .latest-cases .p-oricon::before {
  content: "オペ室包茎・ED・増大専門の看護師たーなー" !important;
}

body.home .original-contents .p-oricon::before {
  content: "プロクリニックグループ　柚﨑一輝統括院長" !important;
}

/* 立ち絵本体 */
body.home .prcl-side-person {
  position: absolute !important;
  z-index: 3 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  pointer-events: none !important;
  filter: drop-shadow(-22px 18px 36px rgba(0,0,0,.58)) !important;
}

/* PC：人物を大きく、上寄せ */
@media screen and (min-width: 1025px) {

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    width: min(100% - 40px, 1120px) !important;
    max-width: 1120px !important;
    min-height: 650px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 58px 320px 72px 42px !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 210px !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 18px !important;
    top: 54px !important;
    font-size: 16px !important;
    padding: 0 !important;
  }

  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 760px !important;
  }

  body.home .latest-cases .button,
  body.home .original-contents .button {
    position: relative !important;
    z-index: 2 !important;
    max-width: 620px !important;
  }

  body.home .prcl-side-person-tanaka {
    right: -8px !important;
    bottom: 10px !important;
    width: 285px !important;
    max-height: 92% !important;
  }

  body.home .prcl-side-person-yuzaki {
    right: -10px !important;
    bottom: 0 !important;
    width: 315px !important;
    max-height: 96% !important;
  }
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    width: calc(100% - 30px) !important;
    min-height: 600px !important;
    padding: 44px 210px 58px 28px !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 150px !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 12px !important;
    top: 44px !important;
    font-size: 13px !important;
  }

  body.home .prcl-side-person-tanaka {
    right: -18px !important;
    bottom: 0 !important;
    width: 210px !important;
  }

  body.home .prcl-side-person-yuzaki {
    right: -20px !important;
    bottom: 0 !important;
    width: 228px !important;
  }
}

/* スマホ：現在の見え方を崩さない範囲で安定化 */
@media screen and (max-width: 767px) {

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 620px !important;
    margin: 0 !important;
    padding: 42px 122px 58px 0 !important;
    overflow: hidden !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 100px !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 8px !important;
    top: 48px !important;
    font-size: 10px !important;
    letter-spacing: .05em !important;
    opacity: .92 !important;
  }

  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    position: relative !important;
    z-index: 2 !important;
    width: calc(100vw - 132px) !important;
    max-width: calc(100vw - 132px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.home .latest-cases .button,
  body.home .original-contents .button {
    position: relative !important;
    z-index: 2 !important;
    width: calc(100vw - 162px) !important;
    margin-left: 22px !important;
    margin-right: auto !important;
  }

  body.home .prcl-article-label {
    position: relative !important;
    z-index: 2 !important;
    width: calc(100vw - 142px) !important;
    margin-left: 18px !important;
    margin-right: auto !important;
  }

  body.home .prcl-side-person-tanaka {
    right: -18px !important;
    bottom: 0 !important;
    width: 140px !important;
    max-height: 84% !important;
  }

  body.home .prcl-side-person-yuzaki {
    right: -22px !important;
    bottom: 0 !important;
    width: 158px !important;
    max-height: 88% !important;
  }
}

@media screen and (max-width: 374px) {

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    padding-right: 112px !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 92px !important;
  }

  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    width: calc(100vw - 122px) !important;
    max-width: calc(100vw - 122px) !important;
  }

  body.home .prcl-side-person-tanaka {
    right: -18px !important;
    width: 128px !important;
  }

  body.home .prcl-side-person-yuzaki {
    right: -22px !important;
    width: 144px !important;
  }
}

/* =========================================================
   18. ACCESS SECTION PRO DESIGN / 洪嵩典 銀座院長版
   2026-06-06
   目的：旧アクセス画像構成を廃止し、最新記事・医師記事と同じ黒×金のトーンで統一
   ========================================================= */

body.home .access.prcl-access-pro {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #060606 !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(212,175,55,.55) !important;
  border-bottom: 1px solid rgba(212,175,55,.42) !important;
  box-sizing: border-box !important;
}

body.home .access.prcl-access-pro::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 22% 12%, rgba(212,175,55,.16), transparent 31%),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 38%, rgba(212,175,55,.08)) !important;
  z-index: 0 !important;
}

body.home .prcl-access-frame {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 230px !important;
  width: min(100%, 1451px) !important;
  margin: 0 auto !important;
  min-height: 760px !important;
  background: linear-gradient(90deg, #050505 0%, #080808 78%, #ad8c35 78%, #ad8c35 100%) !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 64px 48px 70px !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-title {
  margin: 0 auto 34px !important;
  width: min(100%, 860px) !important;
}

body.home .prcl-access-visuals {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-video,
body.home .prcl-access-map-link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(212,175,55,.30) !important;
  background: #111 !important;
  box-shadow: 0 20px 44px rgba(0,0,0,.42) !important;
  text-decoration: none !important;
}

body.home .prcl-access-video iframe,
body.home .prcl-access-map-link iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .prcl-access-info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 22px auto 0 !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-info-card {
  min-height: 140px !important;
  padding: 22px 20px !important;
  color: #fff !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(212,175,55,.22) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.26) !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-info-label {
  display: block !important;
  margin: 0 0 10px !important;
  color: #d8bd64 !important;
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

body.home .prcl-access-info-card strong,
body.home .prcl-access-info-card a {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}

body.home .prcl-access-info-card p {
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  letter-spacing: .04em !important;
}

body.home .prcl-access-action-row {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  max-width: 1040px !important;
  margin: 28px auto 0 !important;
}

body.home .prcl-access-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 230px !important;
  min-height: 54px !important;
  padding: 12px 28px !important;
  color: #111 !important;
  background: linear-gradient(180deg, #e0c36b, #ad8c35) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.35) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  transition: transform .25s ease, filter .25s ease !important;
}

body.home .prcl-access-button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
}

body.home .prcl-access-button.is-outline {
  color: #e0c36b !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(224,195,107,.42) !important;
}

body.home .prcl-access-person {
  position: relative !important;
  z-index: 3 !important;
  min-width: 0 !important;
  min-height: 100% !important;
  background: linear-gradient(180deg, #c1a04a 0%, #9b7825 100%) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.home .prcl-access-person img {
  position: absolute !important;
  right: -24px !important;
  bottom: 0 !important;
  width: 310px !important;
  max-width: none !important;
  height: auto !important;
  max-height: 96% !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  z-index: 2 !important;
  filter: drop-shadow(-24px 16px 34px rgba(0,0,0,.58)) !important;
}

body.home .prcl-access-vertical {
  position: absolute !important;
  right: 28px !important;
  top: 74px !important;
  z-index: 1 !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  color: rgba(255,255,255,.94) !important;
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: 42px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-shadow: 0 6px 18px rgba(0,0,0,.24) !important;
}

body.home .prcl-access-nameplate {
  position: absolute !important;
  left: -20px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  min-width: 190px !important;
  padding: 12px 14px !important;
  color: #fff !important;
  background: rgba(4,4,4,.82) !important;
  border: 1px solid rgba(224,195,107,.42) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

body.home .prcl-access-nameplate span {
  display: block !important;
  margin: 0 0 4px !important;
  color: #d8bd64 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
}

body.home .prcl-access-nameplate strong {
  display: block !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .10em !important;
}

/* PC全体の余白を少し整える */
@media screen and (min-width: 1025px) {
  body.home .prcl-original-heading-wrap {
    margin-top: 56px !important;
    padding-top: 58px !important;
  }
  body.home .reservation-method.prcl-reserve-pro,
  body.home .reservation-method {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 1024px) {
  body.home .prcl-access-frame {
    grid-template-columns: minmax(0, 1fr) 150px !important;
    min-height: 680px !important;
  }
  body.home .prcl-access-content {
    padding: 46px 24px 52px !important;
  }
  body.home .prcl-access-person img {
    width: 230px !important;
    right: -40px !important;
  }
  body.home .prcl-access-vertical {
    right: 18px !important;
    font-size: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  body.home .access.prcl-access-pro {
    margin: 0 !important;
  }
  body.home .prcl-access-frame {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 92px !important;
    width: 100% !important;
    min-height: 0 !important;
    background: linear-gradient(90deg, #050505 0%, #050505 calc(100% - 92px), #ad8c35 calc(100% - 92px), #ad8c35 100%) !important;
  }
  body.home .prcl-access-content {
    padding: 42px 12px 44px 0 !important;
  }
  body.home .prcl-access-title {
    width: calc(100vw - 120px) !important;
    margin-left: 18px !important;
    margin-right: auto !important;
  }
  body.home .prcl-access-visuals {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: calc(100vw - 118px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    border-radius: 8px !important;
  }
  body.home .prcl-access-info-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: calc(100vw - 118px) !important;
    margin-left: 0 !important;
    margin-top: 14px !important;
  }
  body.home .prcl-access-info-card {
    min-height: 0 !important;
    padding: 14px 12px !important;
    border-radius: 10px !important;
  }
  body.home .prcl-access-info-card strong,
  body.home .prcl-access-info-card a {
    font-size: 12.5px !important;
  }
  body.home .prcl-access-info-card p {
    font-size: 11px !important;
  }
  body.home .prcl-access-action-row {
    width: calc(100vw - 128px) !important;
    margin-left: 8px !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  body.home .prcl-access-button {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
  }
  body.home .prcl-access-person {
    min-height: 100% !important;
  }
  body.home .prcl-access-person img {
    width: 132px !important;
    right: -34px !important;
    bottom: 0 !important;
    max-height: 58% !important;
  }
  body.home .prcl-access-vertical {
    right: 24px !important;
    top: 92px !important;
    font-size: 26px !important;
    letter-spacing: .12em !important;
  }
  body.home .prcl-access-nameplate {
    display: none !important;
  }
}

@media screen and (max-width: 374px) {
  body.home .prcl-access-frame {
    grid-template-columns: minmax(0, 1fr) 82px !important;
    background: linear-gradient(90deg, #050505 0%, #050505 calc(100% - 82px), #ad8c35 calc(100% - 82px), #ad8c35 100%) !important;
  }
  body.home .prcl-access-title,
  body.home .prcl-access-visuals,
  body.home .prcl-access-info-grid {
    width: calc(100vw - 106px) !important;
  }
  body.home .prcl-access-person img {
    width: 118px !important;
    right: -34px !important;
  }
  body.home .prcl-access-vertical {
    right: 20px !important;
    font-size: 23px !important;
  }
}

/* =========================================================
   19. FINAL ACCESS + EDITORIAL HARMONY / 2026-06-06
   目的：
   1) アクセスのYouTubeとGoogle Mapの高さを完全に統一
   2) 最新記事・医師記事をアクセスと同じ横幅・黒×ゴールド設計へ統一
   3) SEO/MEO/AIO向けの本文情報を視覚的に邪魔せず保持
   注意：スマホで現在良い表示は大きく崩さない
   ========================================================= */

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

/* PC：アクセスと記事ブロックの基準幅を完全に揃える */
@media screen and (min-width: 1025px) {
  body.home .latest-cases,
  body.home .original-contents,
  body.home .access.prcl-access-pro {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #050505 !important;
    border-top: 1px solid rgba(212,175,55,.48) !important;
    border-bottom: 1px solid rgba(212,175,55,.34) !important;
    overflow: hidden !important;
  }

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    position: relative !important;
    width: min(100%, 1451px) !important;
    max-width: 1451px !important;
    min-height: 760px !important;
    margin: 0 auto !important;
    padding: 64px 360px 74px 56px !important;
    box-sizing: border-box !important;
    isolation: isolate !important;
    background:
      radial-gradient(circle at 26% 6%, rgba(212,175,55,.16), rgba(212,175,55,0) 36%),
      linear-gradient(90deg, #050505 0%, #080808 calc(100% - 230px), #ad8c35 calc(100% - 230px), #ad8c35 100%) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 24px 70px rgba(0,0,0,.38) !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 230px !important;
    background: linear-gradient(180deg, #c2a24d 0%, #9a7828 100%) !important;
    box-shadow: inset 16px 0 34px rgba(0,0,0,.24) !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 30px !important;
    top: 78px !important;
    font-size: 18px !important;
    letter-spacing: .11em !important;
    line-height: 1.55 !important;
    text-shadow: 0 3px 14px rgba(0,0,0,.68) !important;
  }

  body.home .latest-cases .p-oricon > *,
  body.home .original-contents .p-oricon > * {
    position: relative !important;
    z-index: 2 !important;
  }

  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    width: 100% !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .latest-cases .case-thumbnail img,
  body.home .original-contents .article-thumbnail img,
  body.home .latest-cases .slider-thumbnail img,
  body.home .original-contents .slider-thumbnail img {
    border-radius: 10px !important;
    border: 1px solid rgba(212,175,55,.20) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.42) !important;
  }

  body.home .latest-cases .button,
  body.home .original-contents .button {
    width: 100% !important;
    max-width: 640px !important;
    margin: 34px auto 0 !important;
  }

  body.home .latest-cases .button a,
  body.home .original-contents .button a {
    min-height: 62px !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #c8aa55 0%, #a88631 100%) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.24) !important;
    font-weight: 800 !important;
    letter-spacing: .10em !important;
  }

  body.home .prcl-side-person-tanaka {
    right: -8px !important;
    bottom: 0 !important;
    width: 340px !important;
    max-height: 94% !important;
  }

  body.home .prcl-side-person-yuzaki {
    right: -8px !important;
    bottom: 0 !important;
    width: 365px !important;
    max-height: 98% !important;
  }

  body.home .prcl-article-label {
    width: min(100%, 650px) !important;
    margin: 0 auto 36px !important;
    padding: 18px 30px 20px !important;
    font-size: 34px !important;
    border-color: rgba(212,175,55,.64) !important;
    background:
      linear-gradient(90deg, rgba(212,175,55,.04), rgba(212,175,55,.18), rgba(212,175,55,.04)),
      rgba(0,0,0,.44) !important;
    box-shadow: 0 0 34px rgba(212,175,55,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  body.home .prcl-article-label .en {
    margin-bottom: 6px !important;
    font-size: 13px !important;
    letter-spacing: .34em !important;
  }
}

/* PC：YouTubeとGoogle Mapの高さを完全統一 */
@media screen and (min-width: 1025px) {
  body.home .prcl-access-visuals {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
  }

  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    aspect-ratio: auto !important;
    height: clamp(300px, 24vw, 390px) !important;
    min-height: 300px !important;
    max-height: 390px !important;
  }

  body.home .prcl-access-frame {
    min-height: 760px !important;
  }
}

/* タブレットも高さを揃える */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.home .prcl-access-visuals {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }
  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    aspect-ratio: auto !important;
    height: 260px !important;
  }
}

/* スマホは現在の見え方を維持しつつ、動画と地図は同じ比率にする */
@media screen and (max-width: 767px) {
  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* =========================================================
   19. FINAL OVERRIDE：最新記事・医師記事・アクセスの背景統一
   2026-06-06 v2
   目的：
   - 最新記事／医師記事の背景をアクセスと同一トーンへ統一
   - 右側の金帯・担当者画像の表示崩れを防止
   - Google Map と YouTube の高さを完全統一
   - SEO/AIO用のテキストは非表示でも構造上残す
   ========================================================= */

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

body.home .latest-cases,
body.home .original-contents,
body.home .access.prcl-access-pro {
  background:
    radial-gradient(circle at 16% 0%, rgba(202, 171, 86, .16) 0%, rgba(202, 171, 86, 0) 34%),
    radial-gradient(circle at 88% 8%, rgba(202, 171, 86, .13) 0%, rgba(202, 171, 86, 0) 30%),
    linear-gradient(135deg, #070707 0%, #0d0d0d 42%, #020202 100%) !important;
  border-top: 1px solid rgba(190, 156, 67, .54) !important;
  border-bottom: 1px solid rgba(190, 156, 67, .42) !important;
  overflow: hidden !important;
}

body.home .latest-cases {
  padding: 62px 0 34px !important;
}

body.home .original-contents {
  padding: 34px 0 62px !important;
}

body.home .latest-cases .p-oricon,
body.home .original-contents .p-oricon {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  width: min(100% - 44px, 1200px) !important;
  max-width: 1200px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 58px 300px 64px 50px !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(11,11,11,.96) 54%, rgba(0,0,0,.92) 100%),
    radial-gradient(circle at 30% 0%, rgba(201, 171, 85, .18), transparent 46%) !important;
  border: 1px solid rgba(191, 162, 75, .44) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.home .latest-cases .p-oricon::after,
body.home .original-contents .p-oricon::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 190px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, #c8aa5c 0%, #a88531 48%, #8b6b22 100%) !important;
  box-shadow: inset 18px 0 34px rgba(0,0,0,.30) !important;
}

body.home .latest-cases .p-oricon::before,
body.home .original-contents .p-oricon::before {
  position: absolute !important;
  z-index: 5 !important;
  top: 42px !important;
  right: 18px !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  color: rgba(255,255,255,.96) !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: .10em !important;
  text-shadow: 0 3px 14px rgba(0,0,0,.70) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

body.home .latest-cases .p-oricon::before {
  content: "オペ室包茎・ED・増大専門の看護師たーなー" !important;
}

body.home .original-contents .p-oricon::before {
  content: "プロクリニックグループ　柚﨑一輝統括院長" !important;
}

body.home .prcl-article-label {
  position: relative !important;
  z-index: 3 !important;
  width: min(100%, 760px) !important;
  margin: 0 0 34px !important;
  padding: 24px 24px 22px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, rgba(202,171,86,.12), rgba(255,255,255,.035), rgba(202,171,86,.12)) !important;
  border: 1px solid rgba(202,171,86,.54) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 0 20px rgba(202,171,86,.08), 0 12px 34px rgba(0,0,0,.35) !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(26px, 3.2vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .10em !important;
}

body.home .prcl-article-label .en {
  display: block !important;
  margin: 0 0 8px !important;
  color: #d8bd64 !important;
  font-family: "Times New Roman", serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .30em !important;
  text-transform: uppercase !important;
}

body.home .latest-cases .p-relative,
body.home .original-contents .p-relative,
body.home .latest-cases .slider-container2,
body.home .original-contents .slider-container,
body.home .latest-cases .button,
body.home .original-contents .button {
  position: relative !important;
  z-index: 3 !important;
  max-width: 760px !important;
}

body.home .latest-cases .p-relative,
body.home .original-contents .p-relative {
  color: #fff !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

body.home .latest-cases .case-thumbnail img,
body.home .original-contents .article-thumbnail img {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.36) !important;
}

body.home .latest-cases .slider-container2,
body.home .original-contents .slider-container {
  margin-top: 22px !important;
  overflow: visible !important;
}

body.home .latest-cases .slider-thumbnail img,
body.home .original-contents .slider-thumbnail img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

body.home .latest-cases .button,
body.home .original-contents .button {
  margin: 34px auto 0 0 !important;
  text-align: center !important;
}

body.home .latest-cases .button a,
body.home .original-contents .button a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 520px) !important;
  min-height: 64px !important;
  padding: 0 36px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: linear-gradient(135deg, #c7a657, #a98331) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  text-decoration: none !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.38) !important;
}

body.home .latest-cases .button a::after,
body.home .original-contents .button a::after {
  content: "›" !important;
  margin-left: 24px !important;
  font-size: 38px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}

body.home .prcl-side-person {
  position: absolute !important;
  z-index: 4 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  pointer-events: none !important;
  filter: drop-shadow(-22px 18px 38px rgba(0,0,0,.58)) !important;
}

body.home .prcl-side-person-tanaka {
  width: 260px !important;
  right: -20px !important;
  bottom: 0 !important;
}

body.home .prcl-side-person-yuzaki {
  width: 292px !important;
  right: -18px !important;
  bottom: 0 !important;
}

/* アクセス：YouTube と Google Map の高さを統一 */
body.home .prcl-access-visuals {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

body.home .prcl-access-video,
body.home .prcl-access-map-link {
  display: block !important;
  width: 100% !important;
  height: 340px !important;
  min-height: 340px !important;
  max-height: 340px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #111 !important;
}

body.home .prcl-access-video iframe,
body.home .prcl-access-map-link iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
  object-fit: cover !important;
}

@media screen and (min-width: 1221px) {
  body.home .access.prcl-access-pro .prcl-access-frame {
    width: min(100% - 44px, 1200px) !important;
    max-width: 1200px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    width: calc(100% - 32px) !important;
    padding: 48px 232px 58px 30px !important;
  }
  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 150px !important;
  }
  body.home .prcl-side-person-tanaka { width: 205px !important; right: -24px !important; }
  body.home .prcl-side-person-yuzaki { width: 225px !important; right: -24px !important; }
  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }
}

@media screen and (max-width: 767px) {
  body.home .latest-cases,
  body.home .original-contents {
    padding: 46px 0 !important;
  }

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 36px 112px 46px 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 96px !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 7px !important;
    top: 38px !important;
    font-size: 9.5px !important;
    letter-spacing: .04em !important;
  }

  body.home .prcl-article-label {
    width: calc(100vw - 132px) !important;
    margin: 0 0 28px 18px !important;
    padding: 18px 12px 17px !important;
    font-size: 24px !important;
    border-radius: 34px !important;
  }

  body.home .prcl-article-label .en {
    font-size: 10px !important;
    letter-spacing: .24em !important;
  }

  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    width: calc(100vw - 124px) !important;
    max-width: calc(100vw - 124px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.home .latest-cases .button,
  body.home .original-contents .button {
    width: calc(100vw - 150px) !important;
    max-width: calc(100vw - 150px) !important;
    margin: 26px auto 0 36px !important;
  }

  body.home .latest-cases .button a,
  body.home .original-contents .button a {
    min-height: 54px !important;
    padding: 0 20px !important;
    font-size: 17px !important;
  }

  body.home .prcl-side-person-tanaka {
    width: 124px !important;
    right: -20px !important;
    bottom: 0 !important;
  }

  body.home .prcl-side-person-yuzaki {
    width: 142px !important;
    right: -22px !important;
    bottom: 0 !important;
  }

  body.home .prcl-access-visuals {
    display: block !important;
  }

  body.home .prcl-access-video,
  body.home .prcl-access-map-link {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    margin-bottom: 12px !important;
  }

  body.home .prcl-access-video iframe,
  body.home .prcl-access-map-link iframe {
    aspect-ratio: 16 / 9 !important;
  }
}

@media screen and (max-width: 374px) {
  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    padding-right: 104px !important;
  }
  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 88px !important;
  }
  body.home .prcl-article-label,
  body.home .latest-cases .p-relative,
  body.home .original-contents .p-relative,
  body.home .latest-cases .slider-container2,
  body.home .original-contents .slider-container {
    width: calc(100vw - 116px) !important;
    max-width: calc(100vw - 116px) !important;
  }
  body.home .latest-cases .button,
  body.home .original-contents .button {
    width: calc(100vw - 136px) !important;
    max-width: calc(100vw - 136px) !important;
    margin-left: 28px !important;
  }
  body.home .prcl-side-person-tanaka { width: 112px !important; }
  body.home .prcl-side-person-yuzaki { width: 128px !important; }
}


/* =========================================================
   PRO CLINIC MEN'S 公式コンテンツ完全リセット版
   2026-06-06 ZERO REBUILD
   - 最新記事 / 医師記事 / アクセスを同一トーンに統一
   - PC人物画像を大きく上寄せ
   - SP人物画像を見やすいサイズに固定
   - 旧 latest-cases / original-contents / access 系の干渉を停止
   ========================================================= */
body.home .latest-cases,
body.home .original-contents,
body.home .access.prcl-access-pro,
body.home .prcl-access-pro,
body.home .prcl-original-heading-wrap {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.home .prcl-pro-content,
body.home .prcl-pro-content *,
body.home .prcl-pro-content *::before,
body.home .prcl-pro-content *::after {
  box-sizing: border-box !important;
}

body.home .prcl-pro-content {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 64px 0 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 50% -140px, rgba(212,175,55,.18) 0%, rgba(212,175,55,0) 46%),
    linear-gradient(180deg, #050505 0%, #0c0c0c 38%, #020202 100%) !important;
  border-top: 2px solid rgba(212,175,55,.70) !important;
  border-bottom: 2px solid rgba(212,175,55,.55) !important;
}

body.home .prcl-pro-content-head {
  width: min(100% - 40px, 1180px) !important;
  margin: 0 auto 42px !important;
  padding: 0 16px 28px !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(212,175,55,.34) !important;
}

body.home .prcl-pro-eyebrow,
body.home .prcl-pro-title span {
  display: block !important;
  margin: 0 0 10px !important;
  color: #d7b95b !important;
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
}

body.home .prcl-pro-content-head h2 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(25px, 3.3vw, 42px) !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-shadow: 0 0 22px rgba(0,0,0,.85) !important;
}

body.home .prcl-pro-content-head p {
  margin: 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: .08em !important;
}

body.home .prcl-pro-block {
  position: relative !important;
  width: min(100% - 32px, 1180px) !important;
  min-height: 760px !important;
  margin: 0 auto !important;
  padding: 54px 330px 66px 74px !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 36% 0%, rgba(212,175,55,.18) 0%, rgba(212,175,55,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 18%),
    #050505 !important;
  border-top: 1px solid rgba(212,175,55,.55) !important;
  border-bottom: 1px solid rgba(212,175,55,.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.home .prcl-pro-block + .prcl-pro-block {
  margin-top: 0 !important;
}

body.home .prcl-pro-block::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 230px !important;
  height: 100% !important;
  background:
    linear-gradient(180deg, rgba(231,199,96,.94), rgba(157,119,31,.94)) !important;
  z-index: 0 !important;
}

body.home .prcl-pro-block::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) calc(100% - 330px), rgba(0,0,0,.22) calc(100% - 330px), rgba(0,0,0,0) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.home .prcl-pro-main {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 720px !important;
}

body.home .prcl-pro-title {
  width: min(100%, 620px) !important;
  margin: 0 auto 34px 0 !important;
  padding: 22px 32px 24px !important;
  text-align: center !important;
  border: 1px solid rgba(212,175,55,.64) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(90deg, rgba(212,175,55,.05), rgba(212,175,55,.17), rgba(212,175,55,.05)),
    rgba(0,0,0,.48) !important;
  box-shadow: 0 0 34px rgba(212,175,55,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body.home .prcl-pro-title h3 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(28px, 3.4vw, 43px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .10em !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
  text-shadow: 0 0 20px rgba(0,0,0,.9) !important;
}

body.home .prcl-pro-title p {
  margin: 10px 0 0 !important;
  color: rgba(255,255,255,.74) !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
  letter-spacing: .06em !important;
}

body.home .prcl-pro-feature-link,
body.home .prcl-pro-card,
body.home .prcl-pro-button {
  color: inherit !important;
  text-decoration: none !important;
}

body.home .prcl-pro-feature {
  margin: 0 0 22px !important;
}

body.home .prcl-pro-feature-image {
  margin: 0 0 16px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  border: 1px solid rgba(212,175,55,.25) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.50) !important;
  background: #111 !important;
}

body.home .prcl-pro-feature-image img,
body.home .prcl-pro-card figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  transform: none !important;
}

body.home .prcl-pro-feature-meta,
body.home .prcl-pro-card span {
  display: block !important;
  color: #d7b95b !important;
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  line-height: 1.4 !important;
}

body.home .prcl-pro-feature h4 {
  margin: 8px 0 0 !important;
  color: #fff !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .03em !important;
}

body.home .prcl-pro-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 22px 0 0 !important;
}

body.home .prcl-pro-card figure {
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  border: 1px solid rgba(212,175,55,.20) !important;
  background: #111 !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.42) !important;
}

body.home .prcl-pro-card strong {
  display: block !important;
  margin-top: 5px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
}

body.home .prcl-pro-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 300px !important;
  min-height: 58px !important;
  margin: 34px 0 0 !important;
  padding: 14px 62px 14px 36px !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  background: linear-gradient(180deg, #cfb35b 0%, #a78631 100%) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.28) !important;
  transition: transform .22s ease, filter .22s ease !important;
}

body.home .prcl-pro-button::after {
  content: "›" !important;
  position: absolute !important;
  right: 30px !important;
  top: 50% !important;
  transform: translateY(-52%) !important;
  color: #fff !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
}

body.home .prcl-pro-button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
}

body.home .prcl-pro-button.is-outline {
  background: rgba(0,0,0,.46) !important;
  border-color: rgba(212,175,55,.55) !important;
  color: #d7b95b !important;
}

body.home .prcl-pro-person {
  position: absolute !important;
  top: 74px !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 310px !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

body.home .prcl-pro-person-label {
  position: absolute !important;
  top: 28px !important;
  right: 24px !important;
  z-index: 5 !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.7 !important;
  letter-spacing: .10em !important;
  text-shadow: 0 3px 12px rgba(0,0,0,.55) !important;
  white-space: nowrap !important;
}

body.home .prcl-pro-person img {
  position: absolute !important;
  right: 18px !important;
  bottom: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 300px !important;
  max-height: 74% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(-18px 24px 32px rgba(0,0,0,.50)) !important;
}

body.home .prcl-pro-person-tanaka img {
  max-width: 315px !important;
  max-height: 76% !important;
}

body.home .prcl-pro-person-yuzaki img {
  max-width: 330px !important;
  max-height: 78% !important;
}

body.home .prcl-pro-person-koh img {
  max-width: 330px !important;
  max-height: 78% !important;
}

body.home .prcl-access-media-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 22px !important;
}

body.home .prcl-access-media {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  border: 1px solid rgba(212,175,55,.26) !important;
  background: #111 !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.46) !important;
}

body.home .prcl-access-media iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

body.home .prcl-access-info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 22px 0 0 !important;
}

body.home .prcl-access-info-card {
  min-height: 144px !important;
  padding: 20px 18px !important;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
  border: 1px solid rgba(212,175,55,.22) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 36px rgba(0,0,0,.22) !important;
}

body.home .prcl-access-info-card span {
  display: block !important;
  margin: 0 0 12px !important;
  color: #d7b95b !important;
  font-family: "Cinzel", "Times New Roman", serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

body.home .prcl-access-info-card strong,
body.home .prcl-access-info-card strong a {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

body.home .prcl-access-info-card p {
  margin: 10px 0 0 !important;
  color: rgba(255,255,255,.68) !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

body.home .prcl-access-action-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 10px !important;
}

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

@media screen and (min-width: 1025px) and (max-width: 1320px) {
  body.home .prcl-pro-block {
    width: 100% !important;
    padding-left: 56px !important;
    padding-right: 310px !important;
  }
  body.home .prcl-pro-block::before { width: 210px !important; }
  body.home .prcl-pro-person { width: 290px !important; }
  body.home .prcl-pro-person img { max-width: 285px !important; }
}

@media screen and (max-width: 1024px) {
  body.home .prcl-pro-content {
    padding-top: 46px !important;
  }

  body.home .prcl-pro-content-head {
    width: calc(100% - 24px) !important;
    margin-bottom: 28px !important;
    padding-bottom: 22px !important;
  }

  body.home .prcl-pro-content-head h2 {
    font-size: 26px !important;
  }

  body.home .prcl-pro-content-head p {
    font-size: 12px !important;
  }

  body.home .prcl-pro-block {
    width: 100% !important;
    min-height: 760px !important;
    margin: 0 !important;
    padding: 42px 118px 78px 0 !important;
    border-top: 1px solid rgba(212,175,55,.48) !important;
    border-bottom: 1px solid rgba(212,175,55,.38) !important;
  }

  body.home .prcl-pro-block::before {
    width: 86px !important;
  }

  body.home .prcl-pro-block::after {
    display: none !important;
  }

  body.home .prcl-pro-main {
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 0 0 !important;
  }

  body.home .prcl-pro-title {
    width: calc(100% - 26px) !important;
    margin: 0 auto 30px !important;
    padding: 20px 18px 22px !important;
    border-radius: 34px !important;
  }

  body.home .prcl-pro-title h3 {
    font-size: 30px !important;
  }

  body.home .prcl-pro-title p {
    font-size: 11px !important;
  }

  body.home .prcl-pro-feature {
    padding-left: 0 !important;
  }

  body.home .prcl-pro-feature-image {
    border-radius: 9px !important;
    margin-bottom: 12px !important;
  }

  body.home .prcl-pro-feature h4 {
    padding: 0 10px !important;
    font-size: 22px !important;
    line-height: 1.34 !important;
  }

  body.home .prcl-pro-feature-meta {
    padding: 0 10px !important;
    font-size: 13px !important;
  }

  body.home .prcl-pro-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 0 0 0 !important;
  }

  body.home .prcl-pro-card strong {
    padding: 0 6px !important;
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  body.home .prcl-pro-card span {
    padding: 0 6px !important;
    font-size: 13px !important;
  }

  body.home .prcl-pro-button {
    width: calc(100% - 72px) !important;
    min-width: 0 !important;
    margin: 34px 0 0 32px !important;
    min-height: 62px !important;
    font-size: 22px !important;
  }

  body.home .prcl-pro-person {
    top: 92px !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 104px !important;
  }

  body.home .prcl-pro-person-label {
    top: 52px !important;
    right: 26px !important;
    font-size: 12px !important;
    letter-spacing: .10em !important;
    line-height: 1.65 !important;
  }

  body.home .prcl-pro-person img {
    right: -12px !important;
    bottom: 0 !important;
    max-width: 176px !important;
    max-height: 46% !important;
    filter: drop-shadow(-14px 18px 24px rgba(0,0,0,.55)) !important;
  }

  body.home .prcl-pro-person-tanaka img,
  body.home .prcl-pro-person-yuzaki img,
  body.home .prcl-pro-person-koh img {
    max-width: 186px !important;
    max-height: 50% !important;
  }

  body.home .prcl-access-media-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.home .prcl-access-media {
    aspect-ratio: 16 / 10 !important;
    border-radius: 9px !important;
  }

  body.home .prcl-access-info-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 8px 0 0 !important;
  }

  body.home .prcl-access-info-card {
    min-height: 0 !important;
    padding: 18px 18px !important;
    border-radius: 12px !important;
  }

  body.home .prcl-access-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-right: 6px !important;
  }
}

@media screen and (max-width: 430px) {
  body.home .prcl-pro-block {
    min-height: 720px !important;
    padding-right: 102px !important;
  }
  body.home .prcl-pro-block::before { width: 80px !important; }
  body.home .prcl-pro-title h3 { font-size: 27px !important; }
  body.home .prcl-pro-feature h4 { font-size: 20px !important; }
  body.home .prcl-pro-card strong { font-size: 15px !important; }
  body.home .prcl-pro-person img { max-width: 160px !important; }
  body.home .prcl-pro-person-yuzaki img,
  body.home .prcl-pro-person-koh img { max-width: 172px !important; }
  body.home .prcl-pro-person-label { right: 22px !important; }
}

/* 旧スクリプト/旧swiperの文字露出を防ぐ保険 */
body.home script,
body.home style {
  display: none !important;
}

/* =========================================================
   21. FINAL SP EDITORIAL RAIL RESET / 2026-06-06
   目的：
   - スマホの最新記事・医師記事・アクセス右側の金帯を細くする
   - 左側の記事/アクセス領域を広くする
   - 縦書き肩書き文字を大きく、読みやすく、上品にする
   - 人物画像を小さすぎず、下すぎず、自然に見せる
   注意：PCの完成表示は維持。1024px以下のみ強く調整。
   ========================================================= */

@media screen and (max-width: 1024px) {
  body.home .prcl-pro-content {
    padding-top: 38px !important;
  }

  body.home .prcl-pro-block {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 38px 72px 74px 0 !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(212,175,55,.22) 0%, rgba(212,175,55,0) 42%),
      linear-gradient(135deg, #050505 0%, #0b0a07 48%, #020202 100%) !important;
    border-top: 1px solid rgba(212,175,55,.52) !important;
    border-bottom: 1px solid rgba(212,175,55,.42) !important;
    box-shadow: none !important;
  }

  body.home .prcl-pro-block::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 58px !important;
    height: 100% !important;
    background:
      linear-gradient(180deg, rgba(229,198,91,.98) 0%, rgba(168,127,36,.98) 52%, rgba(205,169,73,.98) 100%) !important;
    z-index: 0 !important;
    box-shadow: inset 1px 0 0 rgba(255,255,255,.18), inset -1px 0 0 rgba(0,0,0,.24) !important;
  }

  body.home .prcl-pro-block::after {
    display: none !important;
    content: none !important;
  }

  body.home .prcl-pro-main {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.home .prcl-pro-title {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 0 10px 30px 10px !important;
    padding: 24px 18px 24px !important;
    border-radius: 34px !important;
    border: 1px solid rgba(212,175,55,.68) !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(212,175,55,.20), transparent 60%),
      linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.08)),
      rgba(0,0,0,.46) !important;
    box-shadow: 0 0 34px rgba(212,175,55,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
    box-sizing: border-box !important;
  }

  body.home .prcl-pro-title span {
    display: block !important;
    margin-bottom: 8px !important;
    color: #d7b95b !important;
    font-family: "Cinzel", "Times New Roman", serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
  }

  body.home .prcl-pro-title h3 {
    margin: 0 !important;
    color: #fff !important;
    font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
    font-size: 33px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    letter-spacing: .08em !important;
    text-shadow: 0 0 20px rgba(0,0,0,.9) !important;
  }

  body.home .prcl-pro-title p {
    margin: 12px 0 0 !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
    letter-spacing: .04em !important;
  }

  body.home .prcl-pro-feature,
  body.home .prcl-pro-card-grid,
  body.home .prcl-access-media-grid,
  body.home .prcl-access-info-grid,
  body.home .prcl-access-action-row {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    margin-left: 0 !important;
    margin-right: 10px !important;
    box-sizing: border-box !important;
  }

  body.home .prcl-pro-feature-image,
  body.home .prcl-pro-card figure,
  body.home .prcl-access-media {
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(212,175,55,.28) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.40) !important;
  }

  body.home .prcl-pro-feature h4 {
    padding: 0 10px !important;
    font-size: 24px !important;
    line-height: 1.42 !important;
    letter-spacing: .025em !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.home .prcl-pro-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 24px !important;
  }

  body.home .prcl-pro-card strong {
    padding: 0 5px !important;
    font-size: 17px !important;
    line-height: 1.42 !important;
    letter-spacing: .02em !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.home .prcl-pro-button {
    width: calc(100% - 22px) !important;
    min-width: 0 !important;
    min-height: 60px !important;
    margin: 32px 11px 0 !important;
    padding: 13px 52px 13px 24px !important;
    font-size: 21px !important;
    letter-spacing: .06em !important;
    box-sizing: border-box !important;
  }

  body.home .prcl-pro-person {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 72px !important;
    z-index: 4 !important;
    pointer-events: none !important;
  }

  body.home .prcl-pro-person-label {
    position: absolute !important;
    top: 66px !important;
    right: 15px !important;
    z-index: 6 !important;
    color: #fff !important;
    font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.48 !important;
    letter-spacing: .055em !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.40) !important;
  }

  body.home .prcl-pro-person img {
    position: absolute !important;
    right: -18px !important;
    bottom: 0 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 58% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    filter: drop-shadow(-14px 16px 24px rgba(0,0,0,.56)) !important;
  }

  body.home .prcl-pro-person-tanaka img {
    max-width: 156px !important;
    max-height: 56% !important;
    right: -20px !important;
  }

  body.home .prcl-pro-person-yuzaki img {
    max-width: 178px !important;
    max-height: 60% !important;
    right: -22px !important;
  }

  body.home .prcl-pro-person-koh img {
    max-width: 176px !important;
    max-height: 60% !important;
    right: -22px !important;
  }

  body.home .prcl-access-media-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.home .prcl-access-media {
    aspect-ratio: 16 / 10 !important;
  }

  body.home .prcl-access-info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.home .prcl-access-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media screen and (max-width: 430px) {
  body.home .prcl-pro-block {
    padding-right: 68px !important;
    padding-bottom: 70px !important;
  }

  body.home .prcl-pro-block::before {
    width: 54px !important;
  }

  body.home .prcl-pro-title {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding: 23px 14px 23px !important;
  }

  body.home .prcl-pro-title h3 {
    font-size: 31px !important;
  }

  body.home .prcl-pro-title p {
    font-size: 12.5px !important;
  }

  body.home .prcl-pro-feature,
  body.home .prcl-pro-card-grid,
  body.home .prcl-access-media-grid,
  body.home .prcl-access-info-grid,
  body.home .prcl-access-action-row {
    width: calc(100% - 6px) !important;
    max-width: calc(100% - 6px) !important;
    margin-right: 6px !important;
  }

  body.home .prcl-pro-person {
    width: 68px !important;
  }

  body.home .prcl-pro-person-label {
    top: 70px !important;
    right: 13px !important;
    font-size: 14.5px !important;
    line-height: 1.45 !important;
    letter-spacing: .045em !important;
  }

  body.home .prcl-pro-person img {
    max-width: 156px !important;
    max-height: 56% !important;
    right: -18px !important;
  }

  body.home .prcl-pro-person-tanaka img {
    max-width: 145px !important;
    max-height: 54% !important;
    right: -20px !important;
  }

  body.home .prcl-pro-person-yuzaki img,
  body.home .prcl-pro-person-koh img {
    max-width: 166px !important;
    max-height: 58% !important;
    right: -22px !important;
  }

  body.home .prcl-pro-feature h4 {
    font-size: 22px !important;
  }

  body.home .prcl-pro-card strong {
    font-size: 15.5px !important;
  }

  body.home .prcl-pro-button {
    width: calc(100% - 18px) !important;
    margin-left: 9px !important;
    margin-right: 9px !important;
    font-size: 20px !important;
  }
}

@media screen and (max-width: 374px) {
  body.home .prcl-pro-block {
    padding-right: 62px !important;
  }

  body.home .prcl-pro-block::before {
    width: 50px !important;
  }

  body.home .prcl-pro-title h3 {
    font-size: 28px !important;
  }

  body.home .prcl-pro-person-label {
    right: 11px !important;
    font-size: 13.5px !important;
  }

  body.home .prcl-pro-person img {
    max-width: 146px !important;
  }

  body.home .prcl-pro-person-yuzaki img,
  body.home .prcl-pro-person-koh img {
    max-width: 154px !important;
  }
}

/* =========================================================
   22. FINAL PC SIDE PERSON POLISH + LINK VISUAL STABILITY / 2026-06-08
   目的：
   - スマホ表示は現状維持
   - PCのみ、最新記事・医師記事の右側人物画像と縦書き肩書きを大型化
   - 黒×ゴールドの現行トーンは維持
   ========================================================= */

@media screen and (min-width: 1025px) {
  body.home .latest-cases .prcl-pro-person,
  body.home .original-contents .prcl-pro-person {
    top: 54px !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 360px !important;
    max-width: 360px !important;
    z-index: 5 !important;
    pointer-events: none !important;
  }

  body.home .latest-cases .prcl-pro-person-label,
  body.home .original-contents .prcl-pro-person-label {
    top: 74px !important;
    right: 42px !important;
    color: #fffaf0 !important;
    font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1.78 !important;
    letter-spacing: .09em !important;
    text-shadow:
      0 3px 14px rgba(0,0,0,.72),
      0 0 18px rgba(255,255,255,.16) !important;
    white-space: nowrap !important;
  }

  body.home .latest-cases .prcl-pro-person img,
  body.home .original-contents .prcl-pro-person img {
    right: -44px !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    filter: drop-shadow(-24px 26px 42px rgba(0,0,0,.62)) !important;
  }

  body.home .latest-cases .prcl-pro-person-tanaka img {
    max-width: 425px !important;
    max-height: 86% !important;
  }

  body.home .original-contents .prcl-pro-person-yuzaki img {
    max-width: 448px !important;
    max-height: 90% !important;
  }

  /* 人物を大きくしても本文・カード側に被りすぎないよう、右ゴールド帯の視覚余白を少し確保 */
  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    background:
      radial-gradient(circle at 18% 10%, rgba(212,175,55,.20), rgba(212,175,55,0) 28%),
      radial-gradient(circle at 56% 6%, rgba(212,175,55,.16), rgba(212,175,55,0) 36%),
      linear-gradient(90deg, #050505 0%, #080808 calc(100% - 250px), #ad8c35 calc(100% - 250px), #ad8c35 100%) !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 250px !important;
    background: linear-gradient(180deg, #c8aa55 0%, #a7822c 52%, #9a7828 100%) !important;
  }

  body.home .latest-cases .p-oricon::before,
  body.home .original-contents .p-oricon::before {
    right: 38px !important;
    top: 82px !important;
    font-size: 20px !important;
    line-height: 1.62 !important;
    letter-spacing: .105em !important;
    color: #fff8e8 !important;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1360px) {
  body.home .latest-cases .prcl-pro-person,
  body.home .original-contents .prcl-pro-person {
    width: 310px !important;
    max-width: 310px !important;
  }

  body.home .latest-cases .prcl-pro-person-label,
  body.home .original-contents .prcl-pro-person-label {
    right: 32px !important;
    font-size: 17px !important;
  }

  body.home .latest-cases .prcl-pro-person-tanaka img {
    max-width: 370px !important;
    right: -40px !important;
  }

  body.home .original-contents .prcl-pro-person-yuzaki img {
    max-width: 392px !important;
    right: -42px !important;
  }

  body.home .latest-cases .p-oricon,
  body.home .original-contents .p-oricon {
    background:
      radial-gradient(circle at 18% 10%, rgba(212,175,55,.20), rgba(212,175,55,0) 28%),
      radial-gradient(circle at 56% 6%, rgba(212,175,55,.16), rgba(212,175,55,0) 36%),
      linear-gradient(90deg, #050505 0%, #080808 calc(100% - 220px), #ad8c35 calc(100% - 220px), #ad8c35 100%) !important;
  }

  body.home .latest-cases .p-oricon::after,
  body.home .original-contents .p-oricon::after {
    width: 220px !important;
  }
}

/* =========================================================
   99. FINAL HOTFIX 2026-06-08
   Full replacement file includes this final layer.
   - サイトマップ準拠リンク用ドロワー表示調整
   - PCのみ：最新記事・医師記事の人物画像と縦書き肩書きを拡大
   - スマホ表示は現状維持
   ========================================================= */

/* PC ONLY: 最新記事・医師記事 右側人物・肩書き拡大 */
@media screen and (min-width: 1025px) {
  html body.home .prcl-pro-content {
    overflow: hidden !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases,
  html body.home .prcl-pro-block.prcl-pro-block-doctor {
    position: relative !important;
    width: min(100% - 88px, 1580px) !important;
    max-width: 1580px !important;
    padding-right: clamp(360px, 26vw, 460px) !important;
    overflow: hidden !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases::before,
  html body.home .prcl-pro-block.prcl-pro-block-doctor::before {
    width: clamp(245px, 18vw, 310px) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-main,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-main {
    max-width: 1080px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: clamp(340px, 25vw, 430px) !important;
    min-width: clamp(340px, 25vw, 430px) !important;
    max-width: clamp(340px, 25vw, 430px) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label {
    position: absolute !important;
    top: 42px !important;
    right: clamp(60px, 5vw, 86px) !important;
    z-index: 8 !important;
    display: block !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    color: #fff !important;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
    font-size: clamp(18px, 1.32vw, 22px) !important;
    line-height: 1.85 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
    text-shadow:
      0 3px 14px rgba(0,0,0,.70),
      0 0 18px rgba(212,175,55,.22) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img {
    position: absolute !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    z-index: 7 !important;
    filter: drop-shadow(-22px 26px 36px rgba(0,0,0,.56)) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-tanaka img,
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img {
    right: clamp(-62px, -3vw, -28px) !important;
    bottom: -2px !important;
    max-height: 92% !important;
    width: clamp(390px, 27vw, 500px) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-yuzaki img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img {
    right: clamp(-58px, -2.8vw, -24px) !important;
    bottom: -2px !important;
    max-height: 92% !important;
    width: clamp(390px, 27vw, 500px) !important;
  }
}

/* PC中幅だけ、人物拡大で本文が圧迫されないよう軽く調整 */
@media screen and (min-width: 1025px) and (max-width: 1320px) {
  html body.home .prcl-pro-block.prcl-pro-block-cases,
  html body.home .prcl-pro-block.prcl-pro-block-doctor {
    width: 100% !important;
    padding-left: 48px !important;
    padding-right: 340px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases::before,
  html body.home .prcl-pro-block.prcl-pro-block-doctor::before {
    width: 230px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img {
    width: 390px !important;
    right: -54px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label {
    right: 52px !important;
    font-size: 17px !important;
  }
}

/* スマホは現状の良い表示を維持 */
@media screen and (max-width: 1024px) {
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label {
    /* no override */
  }
}

/* Drawer URL selector update for sitemap-correct links */
@media screen and (max-width: 800px) {
  html body #drawer_menu .prcl-drawer-link[href*="/mission/"] .prcl-drawer-ja {
    font-size: clamp(10px, 2.7vw, 12px) !important;
    letter-spacing: -.02em !important;
  }

  html body #drawer_menu #drawer_icon_button .item a[href*="/mission/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/mission/"]::before {
    content: "ABOUT" !important;
  }

  html body #drawer_menu #drawer_icon_button .item a[href*="/post_list/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/post_list/"]::before {
    content: "BLOG" !important;
  }

  html body #drawer_menu #drawer_icon_button .item a[href*="/nori/"]::before,
  html body #drawer_menu #drawer_icon_button > a[href*="/nori/"]::before {
    content: "POTENZA" !important;
  }
}


/* =========================================================
   100. FINAL PC PERSON / LABEL REBUILD v6 2026-06-08
   目的：
   - スマホは現状維持
   - PCのみ、最新記事・医師記事・アクセスの右側人物と肩書きを大型化
   - 縦書きの小さすぎる肩書きを、読みやすい横組みラグジュアリーバッジ化
   - 右ゴールド帯と本文幅のバランスを再調整
   ========================================================= */

@media screen and (min-width: 1025px) {

  html body.home .prcl-pro-block.prcl-pro-block-cases,
  html body.home .prcl-pro-block.prcl-pro-block-doctor,
  html body.home .prcl-pro-block.prcl-pro-block-access {
    width: min(100% - 72px, 1580px) !important;
    max-width: 1580px !important;
    min-height: 830px !important;
    padding: 70px clamp(390px, 26vw, 470px) 76px 78px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 24% 10%, rgba(212,175,55,.22), rgba(212,175,55,0) 34%),
      radial-gradient(circle at 70% 0%, rgba(255,255,255,.055), rgba(255,255,255,0) 28%),
      linear-gradient(90deg, rgba(8,8,8,.99) 0%, rgba(5,5,5,.99) calc(100% - clamp(270px, 18vw, 330px)), rgba(168,129,38,.96) calc(100% - clamp(270px, 18vw, 330px)), rgba(211,179,82,.96) 100%) !important;
    border-top: 1px solid rgba(212,175,55,.58) !important;
    border-bottom: 1px solid rgba(212,175,55,.42) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 18px 58px rgba(0,0,0,.24) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases::before,
  html body.home .prcl-pro-block.prcl-pro-block-doctor::before,
  html body.home .prcl-pro-block.prcl-pro-block-access::before {
    width: clamp(270px, 18vw, 330px) !important;
    background:
      radial-gradient(circle at 50% 10%, rgba(255,239,173,.36), transparent 32%),
      linear-gradient(180deg, #d9bc62 0%, #b79439 42%, #9f7927 100%) !important;
    box-shadow:
      inset 1px 0 0 rgba(255,255,255,.16),
      inset 14px 0 34px rgba(255,255,255,.05),
      inset -18px 0 38px rgba(0,0,0,.14) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases::after,
  html body.home .prcl-pro-block.prcl-pro-block-doctor::after,
  html body.home .prcl-pro-block.prcl-pro-block-access::after {
    background:
      linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) calc(100% - clamp(410px, 27vw, 500px)), rgba(0,0,0,.28) calc(100% - clamp(410px, 27vw, 500px)), rgba(0,0,0,.04) 100%) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-main,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-main,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-main {
    max-width: 1080px !important;
    width: 100% !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-title,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-title,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-title {
    width: min(100%, 720px) !important;
    margin-left: 0 !important;
    margin-bottom: 42px !important;
    padding: 28px 44px 30px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-title h3,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-title h3,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-title h3 {
    font-size: clamp(38px, 3.1vw, 54px) !important;
    letter-spacing: .12em !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-title p,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-title p,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-title p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: clamp(390px, 26vw, 500px) !important;
    min-width: clamp(390px, 26vw, 500px) !important;
    max-width: clamp(390px, 26vw, 500px) !important;
    z-index: 7 !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person-label {
    position: absolute !important;
    top: 46px !important;
    right: clamp(24px, 2.4vw, 42px) !important;
    z-index: 10 !important;
    display: block !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    width: clamp(210px, 15vw, 270px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 13px 14px 14px !important;
    color: #fffaf0 !important;
    font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: clamp(18px, 1.16vw, 23px) !important;
    font-weight: 900 !important;
    line-height: 1.48 !important;
    letter-spacing: .08em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.045)),
      rgba(20,16,8,.22) !important;
    box-shadow:
      0 16px 34px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.18) !important;
    text-shadow:
      0 3px 13px rgba(0,0,0,.72),
      0 0 18px rgba(255,255,255,.12) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label::before,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label::before,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person-label::before {
    content: "PROFILE" !important;
    display: block !important;
    margin: 0 0 6px !important;
    color: #2b2110 !important;
    font-family: "Cinzel", "Times New Roman", serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .24em !important;
    text-shadow: none !important;
    opacity: .76 !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person img {
    position: absolute !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    z-index: 8 !important;
    filter: drop-shadow(-28px 30px 46px rgba(0,0,0,.64)) !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-tanaka img,
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img {
    right: clamp(-72px, -3.4vw, -34px) !important;
    bottom: -2px !important;
    width: clamp(450px, 29vw, 575px) !important;
    max-height: 94% !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-yuzaki img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img {
    right: clamp(-68px, -3.2vw, -30px) !important;
    bottom: -2px !important;
    width: clamp(450px, 29vw, 585px) !important;
    max-height: 94% !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person-koh img,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person img {
    right: clamp(-54px, -2.7vw, -24px) !important;
    bottom: -2px !important;
    width: clamp(430px, 28vw, 560px) !important;
    max-height: 94% !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-access-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    margin-bottom: 28px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-access-media {
    aspect-ratio: 16 / 9 !important;
    min-height: 220px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-access-info-grid {
    gap: 18px !important;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1320px) {
  html body.home .prcl-pro-block.prcl-pro-block-cases,
  html body.home .prcl-pro-block.prcl-pro-block-doctor,
  html body.home .prcl-pro-block.prcl-pro-block-access {
    width: 100% !important;
    padding-left: 46px !important;
    padding-right: 350px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases::before,
  html body.home .prcl-pro-block.prcl-pro-block-doctor::before,
  html body.home .prcl-pro-block.prcl-pro-block-access::before {
    width: 230px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person {
    width: 350px !important;
    min-width: 350px !important;
    max-width: 350px !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person-label {
    top: 42px !important;
    right: 24px !important;
    width: 210px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person img {
    width: 410px !important;
    right: -58px !important;
  }
}

/* スマホ・タブレットは、現在の良い表示を維持するため上記のPC拡張を一切適用しない */
@media screen and (max-width: 1024px) {
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person-label,
  html body.home .prcl-pro-block.prcl-pro-block-cases .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-doctor .prcl-pro-person img,
  html body.home .prcl-pro-block.prcl-pro-block-access .prcl-pro-person img {
    /* no override */
  }
}

@media screen and (max-width: 1200px) and (min-width:768px) {
	.menu{
		box-shadow:none!important;
	}
}

/* prcl-men-fix-v1 */
.men_menu,.men_menu_mb{overflow:hidden!important;max-width:100vw!important;width:100%!important;position:relative!important}
.men_menu .men_menu_contents{max-width:100vw!important}
html{overflow-x:hidden!important;max-width:100vw!important}body{overflow-x:clip!important;max-width:100vw!important}

/* prcl-men-fix-v2 */
html .men_menu,html .men_menu_mb{overflow:hidden!important;max-width:100vw!important;width:100%!important;position:relative!important}
html .men_menu .men_menu_contents{max-width:100vw!important}

/* prcl-submenu-fix-v1 */
/* sub-sub-menu: top:0 not 64px */
#global_menu .sub-menu li.menu-item-has-children > ul.sub-menu{top:0!important;left:100%!important;right:auto!important;bottom:auto!important}

/* prcl-logo-fix-v1 */
/* Logo z-index: overlay in #page_header blocks logo clicks */
#header_logo2{position:relative!important;z-index:100!important}
#site-header,#header{position:relative!important;z-index:100!important}

/* prcl-scroll-fix-v1 */
/* Fix: body overflow-x:hidden breaks keyboard scroll (PgUp/PgDn/Home/End). Use clip instead. */
body{overflow-x:clip!important}

/* prcl-overlay-fix-v1 */
#page_header .overlay{pointer-events:none!important}
