:root {
--pink: #f46b83;
--orange: #ef641d;
--green: #56a710;
--ink: #212121;
--font-maru: "Zen Maru Gothic", sans-serif;
--font-sans: "Noto Sans JP", sans-serif;
--font-serif: "Noto Serif JP", serif;
}

/* トップページのみ文字を既存テーマより濃く表示 */
body.home {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

body.page-id-8031 {
    background-color: #fff!important;
}

/* ==================================================
   スマートフォン用ハンバーガーメニュー
================================================== */

.sp-drawer {
display: none;
}

@media (max-width: 992px) {
body.is-sp-menu-open {
overflow: hidden;
}

.sp-menu-button {
position: fixed;
z-index: 1002;
top: 24px;
right: 20px;
display: block;
width: 44px;
height: 44px;
padding: 0;
border: 0;
background: none;
cursor: pointer;
}

.sp-menu-button::before,
.sp-menu-button::after,
.sp-menu-button span {
position: absolute;
left: 7px;
display: block;
width: 30px;
height: 3px;
border-radius: 2px;
background-color: #fff;
content: "";
transition: top .2s ease, transform .2s ease, opacity .2s ease, background-color .2s ease;
}

.sp-menu-button::before {
top: 11px;
}

.sp-menu-button span {
top: 21px;
}

.sp-menu-button::after {
top: 31px;
}

.sp-menu-button[aria-expanded="true"]::before {
top: 21px;
background-color: #111;
transform: rotate(45deg);
}

.sp-menu-button[aria-expanded="true"] span {
opacity: 0;
}

.sp-menu-button[aria-expanded="true"]::after {
top: 21px;
background-color: #111;
transform: rotate(-45deg);
}

.sp-drawer {
position: fixed;
z-index: 1001;
inset: 0;
display: block;
overflow-y: auto;
background-color: #fff;
opacity: 0;
visibility: hidden;
transform: translateY(-12px);
transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
overscroll-behavior: contain;
}

.sp-drawer.is-open {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.sp-drawer__inner {
width: min(100%, 410px);
min-height: 100%;
margin: 0 auto;
padding: 22px 24px 28px;
}

.sp-drawer__logo {
display: block;
width: 215px;
margin: 0 0 26px;
}

.sp-drawer__logo img {
display: block;
width: 100%;
height: auto;
}

.sp-drawer__nav {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 5px;
margin: 0 0 15px;
}

.sp-drawer__link,
.sp-drawer__toggle {
position: relative;
display: flex;
align-items: center;
min-height: 31px;
padding: 6px 28px 6px 10px;
border: 0;
border-radius: 4px;
background-color: #f4f1e9;
color: #111;
font-family: 'Noto Sans JP', sans-serif;
font-size: 12px;
font-weight: 500;
line-height: 1.35;
text-align: left;
text-decoration: none;
}

.sp-drawer__link img,
.sp-drawer__toggle img {
flex: 0 0 auto;
width: 18px;
height: 18px;
margin-right: 7px;
object-fit: contain;
}

.sp-drawer__arrow {
position: absolute;
top: 50%;
right: 10px;
color: #f16b82;
font-size: 20px;
line-height: 1;
transform: translateY(-52%);
}

.sp-drawer__treatment {
display: contents;
}

.sp-drawer__treatment .sp-drawer__toggle {
width: 100%;
border-radius: 4px;
background-color: #f4f1e9;
cursor: pointer;
}

.sp-drawer__toggle-mark {
position: absolute;
top: 50%;
right: 10px;
width: 16px;
height: 16px;
border: 1px solid #999;
border-radius: 50%;
transform: translateY(-50%);
}

.sp-drawer__toggle-mark::before {
position: absolute;
top: 7px;
left: 3px;
width: 8px;
height: 1px;
background-color: #777;
content: "";
}

.sp-drawer__toggle-mark::after {
position: absolute;
top: 3px;
left: 7px;
width: 1px;
height: 8px;
background-color: #777;
content: "";
transition: opacity .2s ease;
}

.sp-drawer__toggle[aria-expanded="true"] .sp-drawer__toggle-mark::after {
opacity: 0;
}

.sp-drawer__submenu {
display: none;
grid-column: 1 / -1;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px;
padding: 0 5px 5px;
}

.sp-drawer__submenu.is-open {
display: grid;
}

.sp-drawer__submenu a {
position: relative;
display: flex;
align-items: center;
min-height: 31px;
padding: 5px 24px 5px 9px;
border-radius: 3px;
background-color: #fff;
color: #212121;
font-family: 'Noto Sans JP', sans-serif;
font-size: 10px;
font-weight: 500;
line-height: 1.3;
text-decoration: none;
}

.sp-drawer__submenu a::after {
position: absolute;
top: 50%;
right: 8px;
width: 14px;
height: 14px;
content: "";
background: url(../icons/submenus.svg)no-repeat;
transform: translateY(-50%);
}

.sp-drawer__image-links {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 6px;
margin-bottom: 15px;
}

.sp-drawer__image-links a,
.sp-drawer__contact-buttons a,
.sp-drawer__tel,
.sp-drawer__access {
display: block;
}

.sp-drawer__image-links img,
.sp-drawer__contact-buttons img,
.sp-drawer__tel img,
.sp-drawer__hours img,
.sp-drawer__access img {
display: block;
width: 100%;
height: auto;
}

.sp-drawer__tel {
margin-bottom: 10px;
}

.sp-drawer__contact-buttons {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 5px;
margin-bottom: 15px;
}

.sp-drawer__hours {
margin-bottom: 14px;
}

.sp-drawer__access {
margin-bottom: 14px;
}

.sp-drawer__address {
margin: 0;
color: #212121;
font-family: 'Noto Sans JP', sans-serif;
font-size: 13px;
font-weight: 700;
line-height: 1.5;
text-align: center;
}
}

@media (min-width: 992px) {
.sp-menu-button,
.sp-drawer {
display: none !important;
}
}

* { box-sizing: border-box; }

html, body { margin: 0; }

body {
color: var(--ink);
font-family: var(--font-sans);
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

.yutenji-front-mv {
position: relative;
}

.mv-background {
position: relative;
display: block;
width: 100%;
height: auto;
}

.mv-background img {
display: block;
width: 100%;
height: auto;
}

.site-header {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 10;
height: 286px;
}

.site-logo {
position: absolute;
top: 0;
left: 2.8vw;
width: min(25vw, 232px);
}

@media (max-width: 1300px) {
.site-logo {
width: clamp(180px, 17.85vw, 232px);
}
}

@media (min-width: 1400px) {
.site-logo {
width: clamp(232px, 16.6vw, 340px);
}
}

.site-logo img { width: 100%; }

.site-header h1{
  color: #404040;
  font-size: 10px;
      white-space: nowrap;
}

.header-contact {
position: absolute;
top: 25px;
right: 3.4vw;
display: flex;
align-items: center;
gap: 12px;
color: #fff!important;
}

.header-tel {
display: flex;
align-items: center;
gap: 9px;
	color: #fff!important;
}

.header-tel__label {
font-size: 10px;
font-weight: 700;
line-height: 1.45;
}

.header-tel__number {
display: flex;
align-items: baseline;
gap: 6px;
font-family: var(--font-serif), serif;
font-size: 32px;
line-height: 1;
white-space: nowrap;
}

.header-tel__icon { width: 20px; }

.header-button {
display: flex;
align-items: center;
justify-content: center;
width: clamp(240px, 16vw, 240px);
height: 50px;
border-radius: 12px;
}

.header-button {
display: grid;
grid-template-columns: 42px minmax(0, 1fr) 25px;
align-items: center;
gap: 10px;
padding: 8px 15px;
color: #fff;
text-align: center;
}

.header-button .header-button__icon {
width: 30px;
height: 30px;
object-fit: contain;
}

.header-button__text {
display: flex;
min-width: 0;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.2;
}

.header-button__sub {
margin-bottom: 3px;
font-size: 8px;
font-weight: 600;
white-space: nowrap;
}

.header-button__title {
font-family: var(--font-maru);
font-size: 18px;
font-weight: 700;
letter-spacing: .05em;
white-space: nowrap;
}

.header-button .header-button__arrow {
width: 25px;
height: 25px;
object-fit: contain;
}

.header-button img { width: 100%; height: 100%; object-fit: contain; }
.header-button--reservation { background: var(--orange); }
.header-button--mail { background: var(--green); }

.header-social {
width: 50px;
height: 50px;
margin-left: 2px;
}

.global-nav {
position: absolute;
top: 102px;
left: 22%;
right: 17%;
}

.global-nav__list {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 12px;
margin: 0;
padding: 0;
list-style: none;
}

.global-nav__link {
display: flex;
flex-direction: column;
align-items: center;
color: #fff;
font-size: 14px;
font-weight: 600;
letter-spacing: .08em;
text-shadow: 0 1px 5px rgba(0, 0, 0, .35);
white-space: nowrap;
}

.global-nav__icon {
width: 42px;
height: 42px;
margin-bottom: 10px;
object-fit: contain;
}

.global-nav__arrow {
width: 8px;
margin-top: 11px;
}

.sp-menu-button { display: none; }

.mv-copy {
position: absolute;
z-index: 3;
top: 27%;
left: 8.5%;
color: #fff;
text-shadow: 0 2px 7px rgba(0, 0, 0, .23);
}

.mv-copy p{
	color: #fff!important;
}

.mv-copy__lead {
margin: 0;
font-size: 32px;
font-weight: 500;
letter-spacing: .14em;
font-family: var(--font-maru);
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.4);
}

.mv-copy__title {
margin: 0;
font-family: var(--font-serif), serif;
font-size: 96px;
font-weight: 400;
line-height: 1.25;
letter-spacing: .08em;
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.4);
}

.mv-copy__sub {
margin: 10px 0 0;
font-size: 32px;
font-weight: 500;
letter-spacing: .12em;
font-family: var(--font-maru);
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.4);
}

.hours {
position: absolute;
z-index: 4;
left: 8.5%;
bottom: 5.3%;
width: clamp(415px, 26vw, 415px);
color: #fff;
}

.hours__panel {
padding: 10px 10px 10px;
border-radius: 5px;
background: rgba(255, 255, 255, .93);
color: var(--ink);
}

.hours table {
width: 100%;
border-collapse: collapse;
text-align: center;
font-size: 14px;
font-weight: 600;
margin: auto;
}

.hours th, .hours td { padding: 7px 8px; }
.hours th:first-child, .hours td:first-child { width: 32%; text-align: left; white-space: nowrap; }
.hours__dot { color: var(--pink); font-size: 1.4em; line-height: 1; }
.hours__note { margin: 15px 0 0 20px; font-size: 12px;font-weight:600; letter-spacing: .04em; color:#fff!important;}

.mv-features {
position: absolute;
z-index: 5;
right: 20%;
bottom: 23.5%;
width: 312px;
}

.mv-oval {
position: absolute;
z-index: 2;
object-fit: cover;
}

.mv-oval--family {
right: 1.8%;
bottom: 34.5%;
width: 313px;
}

.mv-oval--staff {
right: 31%;
bottom: -1.5%;
width: 318px;
}

.mv-oval--treatment {
right: 0;
bottom: 2.5%;
width: 435px;
}

@media (max-width: 1200px) {
.header-tel{ display: none;}
}

@media (max-width: 992px) {
.site-header { height: auto; }

.site-logo {
top: 18px;
left: 4%;
width: min(71vw, 525px);
}

.header-contact, .global-nav { display: none; }

.sp-menu-button {
position: absolute;
top: 46px;
right: 6.5%;
display: block;
width: 61px;
height: 47px;
padding: 0;
border: 0;
background: transparent url("top/icons/icon-menu.svg") center / contain no-repeat;
cursor: pointer;
}

.yutenji-front-mv{overflow: hidden;}

.mv-copy {
top: 42.5%;
left: 6.8%;
right: 4%;
}

.mv-copy__lead {
margin-bottom: 0;
font-size: 25px;
letter-spacing: .1em;
}

.mv-copy__title {
font-size: 52px;
line-height: 1.35;
letter-spacing: .05em;
}

.mv-copy__sub {
margin-top: 10px;
font-size: 20px;
letter-spacing: .08em;
}

.hours { display: none; }

.mv-features {
top: 17.5%;
right: auto;
bottom: auto;
left: 9%;
width: min(41vw, 305px);
}

.mv-oval--family {
right: 0;
bottom: 17.5%;
width: min(36vw, 275px);
}

.mv-oval--staff {
left: 2.5%;
right: auto;
bottom: -1.5%;
width: min(37vw, 280px);
}

.mv-oval--treatment {
right: 0;
bottom: -2%;
width: min(62vw, 470px);
}
}

@media (max-width: 560px) {
.site-logo { top: 16px; }
.sp-menu-button { top: 48px; width: 46px; height: 36px; }
.mv-copy { top: 42%; }
.mv-copy__lead { font-size: 20px; }
.mv-copy__title { font-size: 40px; line-height: 1.2}
.mv-copy__sub { font-size: 14px; }
}



/* MV直下コンテンツ */
.mv-follow {
padding: clamp(35px, 5.8065vw, 57.60px) 20px;
background: #fff;
}

.mv-follow-nav,
.mv-follow-points,
.mv-follow-hours {
display: none;
}

/* クレジットカード */
.credit-card {
display: flex;
align-items: center;
justify-content: center;
gap: 30px;
max-width: 730px;
width: 100%;
margin: 0 auto;
}

.credit-card__text h2 {
margin: 0 0 24px;
color: #ef6b80;
font-family: "Noto Serif JP", serif;
font-size: 20px;
font-weight: 600;
line-height: 1.65;
letter-spacing: 0.08em;
}

.credit-card__text p {
margin: 0;
color: #212121;
font-family: "Zen Maru Gothic", sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 1.65;
letter-spacing: 0.08em;
}

.credit-card__image img {
display: block;
width: 100%;
max-width: 300px;
height: auto;
}

/* スマホ */
@media (max-width: 992px) {
.mv-follow {
padding: 34px 7vw 20px;
}

/* 主要メニュー */
.mv-follow-nav {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 9px;
max-width: 900px;
margin: 0 auto 13px;
}

.mv-follow-nav__item {
display: grid;
grid-template-columns: clamp(25px, 6vw, 40px) minmax(0, 1fr) 10px;
align-items: center;
gap: clamp(8px, 1.5121vw, 15.00px);
min-height: clamp(68px, 13vw, 95px);
padding: 10px clamp(12px, 2.5202vw, 25.00px);
border-radius: 9px;
background: #f6f2e9;
color: #212121;
font-family: "Zen Maru Gothic", sans-serif;
font-size: 15px;
font-weight: 500;
line-height: 1.35;
}

.mv-follow-nav__icon {
width: 100%;
max-height: 40px;
object-fit: contain;
}

.mv-follow-nav__arrow {
width: 10px;
height: auto;
}

.mv-follow-points {
display: block;
margin-bottom: 23px;
}

.mv-follow-point {
display: flex;
align-items: center;
justify-content: center;
gap: clamp(10px, 2.0161vw, 20.00px);
min-height: clamp(105px, 20vw, 145px);
padding: 14px;
border-radius: 9px;
background: #f3f3f3;
}

.mv-follow-point__icon {
display: grid;
width: 55px;
height: 55px;
place-items: center;
border-radius: 50%;
background: #fff;
}

.mv-follow-point__icon img {
width: 100%;
height: 100%;
object-fit: contain;
}

.mv-follow-point p {
margin: 0;
color: #333;
font-family: "Zen Maru Gothic", sans-serif;
font-size: 13px;
font-weight: 500;
line-height: 1.55;
text-align: center;
}

.mv-follow-point p span,
.mv-follow-point p strong {
color: #58a91b;
font-weight: 700;
}

.mv-follow-point p span {
font-size: 1.45em;
}

/* 診療時間 */
.mv-follow-hours {
display: block;
max-width: 900px;
margin: 0 auto 48px;
font-family: "Zen Maru Gothic", sans-serif;
}

.mv-follow-hours__table {
padding: clamp(20px, 3.8306vw, 38.00px) clamp(12px, 2.8226vw, 28.00px);
border-radius: 9px;
background: #f3f3f3;
}

.mv-follow-hours table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
color: #212121;
text-align: center;
}

.mv-follow-hours th,
.mv-follow-hours td {
padding: clamp(5px, 1.1089vw, 11.00px) 2px;
font-size: 13px;
font-weight: 500;
}

.mv-follow-hours th:first-child {
width: 30%;
white-space: nowrap;
}

.mv-follow-hours tbody th {
font-size: 15px;
text-align: left;
}

.hours-mark {
display: inline-block;
width: clamp(20px, 4.7vw, 35px);
height: clamp(20px, 4.7vw, 35px);
vertical-align: middle;
border: 2px solid #ed687e;
border-radius: 50%;
}

.hours-mark--fill {
background: #ed687e;
}

.hours-mark--outline {
background: transparent;
}

.hours-close {
font-size: 22px !important;
font-weight: 400 !important;
}

.mv-follow-hours__sunday {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
margin: 22px 0 10px;
font-size: 13px;
}

.mv-follow-hours__sunday .hours-mark {
flex: 0 0 auto;
}

.mv-follow-hours__note {
margin: 0;
color: #aaa;
font-size: 12px;
text-align: center;
}

/* スマホではクレジットカード画像のみ表示 */
.credit-card {
display: block;
width: 100%;
max-width: 900px;
}

.credit-card__image img {
max-width: 100%;
}

.credit-card__text {
display: none;
}

.credit-card__image {
width: 100%;
        max-width: 500px;
        margin: auto;
}
}

@media (max-width: 480px) {
.mv-follow {
padding-right: 20px;
padding-left: 20px;
        gap: 6px;
                margin: 0 auto 12px;
}

.mv-follow-nav__item {
grid-template-columns: 17px minmax(0, 1fr) 5px;
        gap: 7px;
        padding-right: 9px;
        padding-left: 9px;
        font-size: 12px;
        white-space: nowrap;
        font-feature-settings: "palt";
                min-height: auto;
}

.mv-follow-point {
gap: 7px;
padding: 10px 7px;
}

.mv-follow-point p {
font-size: 11px;
}

.mv-follow-hours__table {
padding-right: 8px;
padding-left: 8px;
}

.mv-follow-hours th,
.mv-follow-hours td {
font-size: 11px;
}

.mv-follow-hours tbody th {
font-size: 13px;
}
}


/* 歯科医師一貫担当 */
.doctor-system {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  background:
    linear-gradient(
      to bottom,
      #fff 0,
      #fff 30%,
      #FCFAF4 30%,
      #FCFAF4 100%
    );
}

.doctor-system__visual {
  position: relative;
  min-width: 0;
}

.doctor-system__main-image {
  display: block;
  width: 100%;
}

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

.doctor-system__vertical-title {
  position: absolute;
  z-index: 2;
  top: 28%;
  left: 31%;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 20px;
  margin: 0;
  color: #956F38;
  font-family: var(--font-maru);
  font-size: 48px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.doctor-system__vertical-title span {
  display: block;
  padding: 28px 13px;
  background: #fff;
  writing-mode: vertical-rl;
}

.doctor-system__vertical-title span:first-child {
  transform: translateY(0);
}

.doctor-system__vertical-title span:last-child {
  transform: translateY(0);
}

.doctor-system__decoration {
  position: absolute;
  right: 0;
  bottom: 38px;
  left: 0;
  display: block;
  z-index: 1;
}

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

.doctor-system__content {
  position: relative;
  z-index: 2;
  padding:
    clamp(105px, 11vw, 170px)
    clamp(55px, 6vw, 120px)
    clamp(70px, 7vw, 140px);
}

.doctor-system__heading {
  display: flex;
  flex-direction: column;
  gap: clamp(22px, 3.6290vw, 24px);
  margin: 0 0 clamp(50px, 8.7097vw, 50.40px);
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.13em;
}

.doctor-system__heading span {
  display: block;
}

.doctor-system__text {
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.08em;
}

.doctor-system__text p {
  margin: 0 0 clamp(30px, 4.3710vw, 30px);
font-weight:500;
}

.doctor-system__text p:last-child {
  margin-bottom: 0;
}

.doctor-system__sp-title {
  display: none;
}

/* スマホ */
@media (max-width: 767px) {
  .doctor-system {
    display: flex;
    min-height: 0;
    flex-direction: column;
    background: linear-gradient(to bottom, #fff 0, #fff 38%, #FCFAF4 30%, #FCFAF4 100%);
  }

  .doctor-system__visual {
    display: contents;
  }

  .doctor-system__main-image {
    order: 1;
  }

  .doctor-system__vertical-title {
    display: none;
  }

  .doctor-system__content {
    display: contents;
  }

  .doctor-system__sp-title {
    order: 2;
    display: block;
    margin: 0;
    padding: clamp(45px, 10vw, 75px) 20px clamp(30px, 7vw, 50px);
    color: #9b6d2b;
    font-family: var(--font-maru);
    font-size: 35px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.08em;
    text-align: center;
  }

  .doctor-system__heading {
    order: 3;
    display: block;
    width: calc(100% - 80px);
    margin: 0 auto 10px;
    padding: 7px 15px 7px;
    border-radius: 6px;
    background: #9b6d2b;
    color: #fff;
    font-family: var(--font-maru);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
  }

  .doctor-system__heading span {
    display: inline;
  }

  .doctor-system__heading span:not(:last-child)::after {
    content: "";
  }

  .doctor-system__text {
    order: 4;
    padding: 0 clamp(28px, 8vw, 60px);
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.035em;
    text-align: center;
    margin-bottom: 30px;
  }

  .doctor-system__text p {
    margin-bottom: clamp(42px, 10vw, 75px);
  }

  .doctor-system__decoration {
    position: relative;
    order: 5;
    right: auto;
    bottom: auto;
    left: auto;
    display: block;
    width: 100%;
    margin-top: clamp(-5px, -1vw, 0px);
  }
}

@media (max-width: 480px) {
  .doctor-system__sp-title {
    padding-top: 35px;
    padding-bottom: 20px;
    font-size: 32px;
  }

  .doctor-system__heading {
    margin-bottom: 30px;
    font-size: 14px;
  }

  .doctor-system__text {
    padding-right: 24px;
    padding-left: 24px;
    font-size: 14px;
  }
	.doctor-system__text p{
		font-size: 14px;
	}
}


/* ========================================
   当院の診療体制
======================================== */
.medical-system {
  padding: clamp(65px, 10.1613vw, 69.80px) 0 0;
  overflow: hidden;
  background: #fff;
}

.medical-system__header {
  margin-bottom: clamp(45px, 10.1613vw, 54.8px);
  padding: 0 20px;
  text-align: center;
}

.medical-system__en {
  margin: 0 0 20px;
  color: #FFD7DF;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.medical-system__title {
  margin: 0;
  color: #EE6A7F;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.08em;
}

.medical-system__lead {
  margin: 22px 0 0;
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

/* 01〜05共通 */
.medical-system__list {
  display: flex;
  flex-direction: column;
}

.medical-system-card {
  display: grid;
  grid-template-columns: minmax(0, 53%) minmax(0, 47%);
  align-items: center;
}

.medical-system-card__visual {
  position: relative;
  min-width: 0;
}

.medical-system-card__image {
  display: block;
  width: 100%;
  height: auto;
}

.medical-system-card__number {
  position: absolute;
  left: 15%;
  bottom: 20%;
  color: #EB6624;
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.06em;
}

.medical-system-card__badge {
  position: absolute;
  top: 7%;
  right: 24%;
  display: flex;
  width: clamp(140px, 10vw, 140px);
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(235, 102, 36, 0.8);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

.medical-system-card__content {
width: min(100%, 760px);
    padding: clamp(30px, 6.5323vw, 30.8px) clamp(45px, 3vw, 120px) clamp(30px, 3vw, 60px) clamp(45px, 3vw, 110px);
    position: relative;
    left: -128px;
    top: 75px;
    background: #fff;
}

.medical-system-card__title {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.1935vw, 20px);
  margin: 0 0 clamp(20px, 5.8065vw, 30px);
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.medical-system-card__title span,
.medical-system-card__title strong {
  display: block;
}

.medical-system-card__title strong {
  color: #EB6624;
  font-weight: 400;
}

.medical-system-card__catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(22px, 4.8065vw, 30px);
  padding: 6px 20px;
  border-top: 1px solid #212121;
  border-bottom: 1px solid #212121;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: center;
}

.medical-system-card__catch span,
.medical-system-card__catch strong {
  display: block;
}

.medical-system-card__catch strong {
  font-weight: 500;
}

.medical-system-card__description {
  margin: 0;
  color: #212121;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.07em;
}

.medical-system-card__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  width: fit-content;
  margin: 0 0 0 auto;
  color: #EB6624;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.medical-system-card__link img {
  width: 25px;
  height: 25px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.medical-system-card__link:hover img {
  transform: translateX(4px);
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 992px) {
  .medical-system-card__content {
    left: 0;
    top: 0;
  }
}


@media (max-width: 767px) {
  .medical-system {
    padding: 55px 0 0px;
  }

  .medical-system__header {
    margin-bottom: 68px;
    padding: 0 20px;
  }

  .medical-system__en {
    margin-bottom: 18px;
    font-size: 15px;
  }

  .medical-system__title {
    font-size: 35px;
    line-height: 1.35;
  }

  .medical-system__lead {
    margin-top: 22px;
    font-size: 15px;
  }

  .medical-system-card {
    display: block;
    padding: 0 clamp(24px, 6.2vw, 46px);
  }

  .medical-system-card__visual {
    margin-bottom: clamp(75px, 17vw, 120px);
  }

  .medical-system-card__image {
    border-radius: 14px;
  }

  .medical-system-card__number {
    left: 4%;
    bottom: -10%;
    font-size: 70px;
  }

  .medical-system-card__badge {
    top: auto;
    right: 6%;
    bottom: -26%;
    width: 100px;
    font-size: 16px;
  }

  .medical-system-card__content {
    width: 100%;
    padding: 0;
  }

  .medical-system-card__title {
    display: block;
    margin-bottom: 15px;
    font-size: 26px;
    line-height: 1.65;
    letter-spacing: 0.04em;
  }

  .medical-system-card__title span,
  .medical-system-card__title strong {
    display: block;
  }

  .medical-system-card__catch {
    min-height: 0;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.75;
  }

  .medical-system-card__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.035em;
  }

  .medical-system-card__link {
    margin-top: 45px;
    font-size: 16px;
  }

  .medical-system-card__link img {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 480px) {
  .medical-system__header {
    margin-bottom: 55px;
  }

  .medical-system__title {
    font-size: 34px;
  }

  .medical-system__lead {
    font-size: 14px;
  }

  .medical-system-card {
    padding-right: 20px;
    padding-left: 20px;
  }

  .medical-system-card__visual {
    margin-bottom: 40px;
  }

  .medical-system-card__number {
    font-size: 48px;
  }

  .medical-system-card__badge {
    right: 5%;
    width: 100px;
    font-size: 16px;
    z-index: 1;
  }

  .medical-system-card__title {
    font-size: 24px;
  }

  .medical-system-card__catch,
  .medical-system-card__description {
    font-size: 14px;
  }
}


.medical-system-card--01{
margin-bottom: 120px;
}

@media(max-width: 576px){
  .medical-system-card--01 {
    margin-bottom: 30px;
}
}

/* ========================================
   当院の診療体制 02
======================================== */
.medical-system-card-02 {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(75px, 10.1613vw, 60.80px);
  background: #EAF7F8;
}

.medical-system-card-02__visual {
  position: relative;
  height: clamp(430px, 33vw, 660px);
  overflow: hidden;
}

.medical-system-card-02__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
}

.medical-system-card-02__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    #EAF7F8 0%,
    rgba(234, 247, 248, 0.2) 50%,
    #EAF7F8 100%
  );
  pointer-events: none;
}

.medical-system-card-02__label {
  position: absolute;
  top: 0;
  left: 15.2%;
  display: flex;
  width: clamp(54px, 3.6vw, 72px);
  min-height: clamp(235px, 14.5vw, 290px);
  align-items: center;
  justify-content: center;
  padding: 18px 10px;
  background: #378DD9;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.08em;
  text-align: center;
  writing-mode: vertical-rl;
}

.medical-system-card-02__number {
  position: absolute;
  right: 8.5%;
  bottom: 10px;
  color: #378DD9;
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  font-weight: 400;
  line-height: 0.85;
  letter-spacing: -0.06em;
}

.medical-system-card-02__content {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 40px), 1000px);
  margin: clamp(10px, 2.1774vw, 21.60px) auto 0;
}

.medical-system-card-02__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  margin: 0 0 clamp(30px, 4.8065vw, 32.60px);
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}

.medical-system-card-02__title span {
  display: inline;
}

.medical-system-card-02__title strong {
  color: #378DD9;
  font-weight: 400;
}

.medical-system-card-02__catch {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(30px, 3.8065vw, 32.60px);
  padding: 14px 20px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.08em;
  text-align: center;
}

.medical-system-card-02__description {
  margin: 0;
  color: #212121;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
}

.medical-system-card-02__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  width: fit-content;
  margin: 0 0 0 auto;
  color: #378DD9;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.medical-system-card-02__link img {
  width: 25px;
  height: 25px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.medical-system-card-02__link:hover img {
  transform: translateX(4px);
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .medical-system-card-02 {
    padding-bottom: 30px;
  }

  .medical-system-card-02__visual {
    height: clamp(365px, 59vw, 455px);
  }

  .medical-system-card-02__image {
    height: auto;
  }

  .medical-system-card-02__overlay {
    background: none;
  }

  .medical-system-card-02__label {
    left: 11%;
    width: clamp(52px, 9vw, 68px);
    min-height: clamp(255px, 42vw, 325px);
    padding: 15px 8px;
    font-size: 19px;
  }

  .medical-system-card-02__number {
    right: 10%;
    bottom: 6%;
    font-size: 90px;
  }

  .medical-system-card-02__content {
    width: auto;
    margin: 0;
    padding: 0 clamp(25px, 6.5vw, 48px);
  }

  .medical-system-card-02__title {
    display: block;
    margin: 0 0 15px;
    font-size: 28px;
    line-height: 1.65;
    letter-spacing: 0.03em;
    text-align: left;
  }

  .medical-system-card-02__title span {
    display: block;
  }

  .medical-system-card-02__catch {
    min-height: 0;
    margin-bottom: 25px;
    padding: 18px 10px;
    font-size: 15px;
    line-height: 1.8;
  }

  .medical-system-card-02__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.035em;
  }

  .medical-system-card-02__link {
    margin-top: 45px;
    font-size: 16px;
  }

  .medical-system-card-02__link img {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 480px) {
  .medical-system-card-02__visual {
    height: 240px;
  }

  .medical-system-card-02__label {
    left: 11%;
    width: 48px;
    min-height: 158px;
    font-size: 17px;
  }

  .medical-system-card-02__number {
    font-size: 48px;
  }

  .medical-system-card-02__content {
    padding-right: 20px;
    padding-left: 20px;
  }

  .medical-system-card-02__title {
    font-size: 25px;
  }

  .medical-system-card-02__catch,
  .medical-system-card-02__description {
    font-size: 14px;
  }
}


/* ========================================
   当院の診療体制 03・04
======================================== */
.medical-system-precision {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(80px, 11.6129vw, 115.20px);
  background:
    url("../images/medical-system-03-background.webp") center top / cover no-repeat,
    linear-gradient(180deg, #378DD9 38.46%, #E6F2FF 100%);
}

/* ========================================
   03
======================================== */
.medical-system-card-03 {
  position: relative;
  min-height: clamp(680px, 50vw, 1000px);
  color: #fff;
}

.medical-system-card-03__visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.medical-system-card-03__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(55, 141, 217, 0.68);
  pointer-events: none;
}

.medical-system-card-03__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.medical-system-card-03__number {
  position: absolute;
  z-index: 2;
  top: 7%;
  left: 30%;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
}

.medical-system-card-03__badge {
  position: absolute;
  z-index: 2;
  top: 31%;
  left: 31%;
  display: flex;
  width: clamp(140px, 10vw, 140px);
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(239, 248, 255, 0.9);
  color: #378DD9;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.medical-system-card-03__content {
  position: relative;
  z-index: 3;
  width: min(42%, 700px);
  margin-left: 47.5%;
  padding-top: clamp(65px, 7.2581vw, 72.00px);
}

.medical-system-card-03__title {
  margin: 0 0 clamp(30px, 4.3548vw, 33.20px);
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.07em;
	color:#fff;
}

.medical-system-card-03__catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(30px, 5.0806vw, 30.40px);
  padding: 6px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.07em;
  text-align: center;
}

.medical-system-card-03__catch span,
.medical-system-card-03__catch strong {
  display: block;
}

.medical-system-card-03__catch strong {
  font-weight: 500;
}

.medical-system-card-03__description {
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
color:#fff;
}

.medical-system-card-03__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  width: fit-content;
  margin: clamp(40px, 4.3548vw, 43.20px) 0 0 auto;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
	font-weight:600;
  letter-spacing: 0.08em;
}

.medical-system-card-03__link img {
  width: 23px;
  height: 23px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.medical-system-card-03__link:hover img {
  transform: translateX(4px);
}

/* ========================================
   04
======================================== */
.medical-system-card-04 {
  position: relative;
  z-index: 4;
  width: min(78%, 1500px);
  overflow: hidden;
  border-radius: 0 65px 0 0;
  background: #fff;
}

.medical-system-card-04__visual {
  position: relative;
  overflow: hidden;
}

.medical-system-card-04__image {
  display: block;
  width: 100%;
  height: auto;
}

.medical-system-card-04__label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: clamp(190px, 16vw, 320px);
  min-height: 66px;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 0 0 18px 0;
  background: #EE6A7F;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  letter-spacing: 0.08em;
}

.medical-system-card-04__number {
  position: absolute;
  left: 10%;
  bottom: 2%;
  color: #EE6A7F;
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
}

.medical-system-card-04__content {
  padding:
    clamp(55px, 3vw, 100px)
    clamp(70px, 6vw, 200px)
    clamp(75px, 5vw, 140px);
}

.medical-system-card-04__title {
  margin: 0 0 clamp(30px, 5.8065vw, 30.60px);
  color: #EE6A7F;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.07em;
}

.medical-system-card-04__catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(30px, 5.8065vw, 30.60px);
  padding: 6px 20px;
  border-top: 1px solid #212121;
  border-bottom: 1px solid #212121;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.07em;
  text-align: center;
}

.medical-system-card-04__catch span {
  display: block;
	font-weight: 500;
}

.medical-system-card-04__description {
  margin: 0;
  color: #212121;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .medical-system-precision {
    padding-bottom: 0;
    background: url("../images/medical-system-03-background-sp.webp") center top / cover no-repeat;
  }

  /* 03 */
  .medical-system-card-03 {
    min-height: 0;
  }

  .medical-system-card-03__visual {
    position: relative;
    height: clamp(230px, 51vw, 375px);
  }

  .medical-system-card-03__visual::after {
    background: none;
  }

  .medical-system-card-03__image {
    object-position: center center;
  }

  .medical-system-card-03__number {
    top: 5%;
    left: 8%;
    font-size: 75px;
  }

  .medical-system-card-03__badge {
    top: -25%;
    right: -4%;
    left: auto;
    width: clamp(170px, 42vw, 280px);
    font-size: 20px;
  }

  .medical-system-card-03__content {
    width: auto;
    margin: 0;
    padding-top: 0;
  }

  .medical-system-card-03__title {
    margin-bottom: 10px;
    font-size: 28px;
    line-height: 1.65;
  }

  .medical-system-card-03__catch {
    margin-bottom:25px;
    font-size: 15px;
  }

  .medical-system-card-03__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.025em;
  }

  .medical-system-card-03__link {
   margin-top: 10px;
        margin-bottom: 24px;
    font-size: 14px;
  }

  /* 04 */
  .medical-system-card-04 {
    width: calc(100% - clamp(25px, 6.5vw, 48px));
    border-radius: 0 45px 0 0;
  }

  .medical-system-card-04__image {
    width: 100%;
  }

  .medical-system-card-04__label {
    width: clamp(180px, 43vw, 280px);
    min-height: 67px;
    padding: 12px 18px;
    border-radius: 0 0 17px 0;
    font-size: 18px;
  }

  .medical-system-card-04__number {
    right: 4%;
    bottom: -11%;
    z-index: 2;
    left: auto;
  }

  .medical-system-card-04__content {
    padding:
      clamp(45px, 10vw, 75px)
      clamp(25px, 6.5vw, 48px)
      clamp(70px, 15vw, 110px);
  }

  .medical-system-card-04__title {
    margin-bottom: 15px;
    font-size: 27px;
    line-height: 1.75;
  }

  .medical-system-card-04__catch {
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.8;
  }

  .medical-system-card-04__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.025em;
  }
}

@media (max-width: 480px) {
  .medical-system-card-03__visual {
    height: 210px;
  }

  .medical-system-card-03__number {
    font-size: 48px;
  }

  .medical-system-card-03__badge {
    width: 140px;
            font-size: 16px;
        padding-top: 40px;
  }

  .medical-system-card-03__content {
    padding-right: 20px;
    padding-left: 20px;
  }

  .medical-system-card-03__title {
    font-size: 25px;
  }

  .medical-system-card-03__catch,
  .medical-system-card-03__description {
    font-size: 14px;
  }

  .medical-system-card-04 {
    width: calc(100% - 20px);
  }

  .medical-system-card-04__label {
    width: 165px;
    min-height: 45px;
    font-size: 16px;
  }

  .medical-system-card-04__visual{
    overflow: visible;
  }

  .medical-system-card-04__number {
    font-size: 48px;
  }

  .medical-system-card-04__content {
    padding: 22px 20px 0px;
  }

  .medical-system-card-04__title {
    font-size: 24px;
            line-height: 1.3;
  }

  .medical-system-card-04__catch,
  .medical-system-card-04__description {
    font-size: 14px;
  }
}


/* ========================================
   当院の診療体制 05
======================================== */
.medical-system-card-05 {
  position: relative;
  min-height: clamp(850px, 65vw, 1300px);
  overflow: hidden;
}

.medical-system-card-05__visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.medical-system-card-05__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
}

.medical-system-card-05__number {
  position: absolute;
  z-index: 2;
  top: 8%;
  left: 63%;
  color: #68A51C;
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.06em;
}

.medical-system-card-05__title {
  position: absolute;
  z-index: 2;
  top: 8%;
  left: 79%;
  margin: 0;
  color: #68A51C;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
}

.medical-system-card-05__badge {
  position: absolute;
  z-index: 2;
  top: 22%;
  left: 52.5%;
  display: flex;
  width: clamp(140px, 11vw, 140px);
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #68a51cc7;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

.medical-system-card-05__content {
  position: relative;
  z-index: 3;
  width: min(42%, 720px);
  margin-left: 48%;
  padding-top: clamp(500px, 56.6129vw, 561.60px);
  padding-bottom: clamp(65px, 8.7097vw, 86.40px);
}

.medical-system-card-05__catch {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(30px, 5.0806vw, 30.40px);
  padding: 10px 20px;
  border-top: 1px solid #212121;
  border-bottom: 1px solid #212121;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.08em;
  text-align: center;
}

.medical-system-card-05__description {
  color: #212121;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

.medical-system-card-05__description p {
  margin: 0;
}

.medical-system-card-05__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  width: fit-content;
  margin: clamp(42px, 5.8065vw, 57.60px) 0 0 auto;
  color: #68A51C;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.medical-system-card-05__link img {
  width: 23px;
  height: 23px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.medical-system-card-05__link:hover img {
  transform: translateX(4px);
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .medical-system-card-05 {
    min-height: 0;
    padding:
      clamp(50px, 10vw, 75px)
      clamp(25px, 6.5vw, 48px)
      clamp(75px, 15vw, 115px);
    background: #F9FFDB;
  }

  .medical-system-card-05__visual {
    position: relative;
    inset: auto;
    height: clamp(440px, 66vw, 510px);
    overflow: visible;
    margin-bottom: clamp(65px, 14vw, 105px);
  }

  .medical-system-card-05__image {
    width: 100%;
    height: 100%;
    object-position: center center;
  }

  .medical-system-card-05__overlay {
    background:
      linear-gradient(
        to right,
        rgba(255, 255, 255, 0.96) 0%,
        rgba(255, 255, 255, 0.9) 21%,
        rgba(255, 255, 255, 0.16) 55%,
        rgba(255, 255, 255, 0) 100%
      );
  }

  .medical-system-card-05__number {
    top: 5%;
    left: 5%;
    font-size: 80px;
  }

  .medical-system-card-05__title {
    top: 34%;
    left: 7%;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }

  .medical-system-card-05__badge {
    top: auto;
    right: 5%;
    bottom: -7%;
    left: auto;
    width: clamp(155px, 34vw, 225px);
    font-size: 19px;
  }

  .medical-system-card-05__content {
    width: auto;
    margin: 0;
    padding: 0 20px 0;
  }

  .medical-system-card-05__catch {
    min-height: 0;
    margin-bottom: 28px;
    padding: 18px 10px;
    font-size: 15px;
    line-height: 1.8;
  }

  .medical-system-card-05__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.025em;
  }

  .medical-system-card-05__description p {
    margin: 0;
  }

  .medical-system-card-05__link {
    margin-top: 15px;
    font-size: 14px;
  }

  .medical-system-card-05__link img {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 480px) {
  .medical-system-card-05 {
    padding: 20px 0 55px;
  }

  .medical-system-card-05__visual {
    height: 320px;
    margin-bottom: 40px;
  }

  .medical-system-card-05__number {
    font-size: 48px;
  }

  .medical-system-card-05__title {
    font-size: 22px;
  }

  .medical-system-card-05__badge {
    width: 105px;
    font-size: 16px;
  }

  .medical-system-card-05__catch,
  .medical-system-card-05__description p {
    font-size: 14px;
	  font-weight: 500;
  }
}

.medical-system_img{
  padding: 4px 0;
}
.medical-system_img .sp{display: none;}

@media(max-width:768px){
  .medical-system_img .pc{display: none;}
  .medical-system_img .sp{display: block;}
}


/* ========================================
   審美治療・予防歯科
======================================== */
.treatment-guides {
  display: flex;
  flex-direction: column;
  padding: clamp(25px, 10.1613vw, 40.80px) 20px;
  background: #FCFAF4;
}

.treatment-guide {
  position: relative;
  width: min(100%, 1000px);
  margin: 0 auto;
  overflow: hidden;
}

.treatment-guide--aesthetic {
  min-height: 484px;
}

.treatment-guide--preventive {
  min-height: 580px;
}

.treatment-guide__background {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.treatment-guide__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.treatment-guide__content {
  position: relative;
  z-index: 1;
  width: 61%;
  padding:
    clamp(65px, 5.2vw, 100px)
    clamp(45px, 6vw, 115px)
    clamp(55px, 4.5vw, 85px);
}

.treatment-guide__header {
  margin-bottom: clamp(30px, 5.0806vw, 30.40px);
  padding-bottom: clamp(20px, 3.4839vw, 21.56px);
  border-bottom: 1px solid currentColor;
}

.treatment-guide__title {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
	color: #EB6624 !important;
}

.treatment-guide__subtitle {
  margin: 0;
  font-family: var(--font-maru);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

.treatment-guide__description {
  margin: 0;
  color: #212121;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.045em;
}

.treatment-guide__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  width: fit-content;
  margin: clamp(30px, 5.0806vw, 30.40px) 0 0 auto;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.treatment-guide__link img {
  width: 23px;
  height: 23px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.treatment-guide__link:hover img {
  transform: translateX(4px);
}

/* 審美治療 */
.treatment-guide--aesthetic,.treatment-guide__link,.treatment-guide__subtitle {
  color: #EB6624!important;
}

/* 予防歯科 */
.treatment-guide--preventive,.treatment-guide--preventive .treatment-guide__title,.treatment-guide--preventive .treatment-guide__link,.treatment-guide--preventive .treatment-guide__subtitle {
  color: #378DD9!important;
}

.treatment-guide__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.treatment-guide__heading {
  min-width: 0;
}

.treatment-guide__icon {
  display: block;
  flex: 0 0 auto;
  width: 75px;
  height: auto;
  object-fit: contain;
}

@media (max-width: 767px) {
  .treatment-guide__header {
    gap: 20px;
  }

  .treatment-guide__icon {
    width: 80px;
  }
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .treatment-guides {
    gap: 7px;
    padding: 0;
    border-bottom: 7px solid #dff3a1;
    background: #fff;
  }

  .treatment-guide {
    width: 100%;
    min-height: 0;
    box-shadow: none;
  }

  .treatment-guide__content {
    width: 100%;
    padding:
      clamp(65px, 12vw, 90px)
      clamp(30px, 6.7vw, 50px)
      clamp(65px, 12vw, 90px);
  }

  .treatment-guide__title {
    margin-bottom: 17px;
    font-size: 35px;
    line-height: 1.4;
  }

  .treatment-guide__subtitle {
    font-size: 16px;
    line-height: 1.85;
  }

  .treatment-guide__description {
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.025em;
  }

  .treatment-guide__link {
    font-size: 14px;
  }

  .treatment-guide__link img {
    width: 22px;
    height: 22px;
  }

  .treatment-guide--preventive .treatment-guide__subtitle br {
    display: none;
  }
}

@media (max-width: 480px) {
  .treatment-guide--aesthetic,
  .treatment-guide--preventive {
    min-height: 0;
  }

  .treatment-guide__content {
    padding: 32px 24px 35px;
  }

  .treatment-guide__title {
    font-size: 32px;
  }

  .treatment-guide__subtitle {
    font-size: 14px;
  }

  .treatment-guide__description {
    font-size: 14px;
  }
}


/* ========================================
   症例紹介
======================================== */
.case-introduction {
  padding:
    clamp(100px, 9vw, 175px)
    20px
    clamp(90px, 8vw, 160px);
  background: #fff;
}

.case-introduction__header {
  margin-bottom: clamp(70px, 9.4355vw, 93.60px);
  text-align: center;
}

.case-introduction__en {
  margin: 0 0 18px;
  color: #f9dadd;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.case-introduction__title {
  margin: 0;
  color: #EE6A7F;
  font-family: var(--font-maru);
  font-size: 48px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.case-introduction__lead {
  margin: 20px 0 0;
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.case-introduction__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  width: min(100%, 800px);
  margin: 0 auto;
}

.case-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #F2F2F2;
}

.case-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2.18 / 1;
  background: #fff;
}

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

.case-card__title {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 18px;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.07em;
  text-align: center;
}

.case-card:hover .case-card__image img {
  transform: scale(1.035);
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .case-introduction {
    padding:
      clamp(75px, 14vw, 105px)
      clamp(30px, 5.5vw, 42px)
      clamp(85px, 16vw, 120px);
  }

  .case-introduction__header {
    margin-bottom: 40px;
  }

  .case-introduction__en {
    margin-bottom: 17px;
    font-size: 16px;
  }

  .case-introduction__title {
    font-size: 38px;
  }

  .case-introduction__lead {
    margin-top: 22px;
    font-size: 14px;
  }

  .case-introduction__list {
    gap: clamp(18px, 3.2vw, 24px)
      clamp(16px, 2.8vw, 21px);
    width: 100%;
  }

  .case-card {
    border-radius: 9px;
  }

  .case-card__image {
    aspect-ratio: 1.72 / 1;
  }

  .case-card__title {
    min-height: clamp(90px, 17vw, 125px);
    padding: 12px 8px;
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: 0.025em;
  }

  .case-card:hover .case-card__image img {
    transform: none;
  }
}

@media (max-width: 480px) {
  .case-introduction {
    padding: 40px 20px 10px;
  }

  .case-introduction__title {
    font-size: 36px;
  }

  .case-introduction__lead {
    font-size: 13px;
  }

  .case-introduction__list {
    gap: 12px 10px;
  }

  .case-card__title {
    min-height: 50px;
    font-size: 13px;
  }
}



/* ========================================
   診療案内
======================================== */
.medical-menu {
  padding: 0 30px 130px;
  background: #fff;
}

.medical-menu__header {
  margin-bottom: 75px;
  text-align: center;
}

.medical-menu__en {
  margin: 0 0 18px;
  color: #f9dadd;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.medical-menu__title {
  margin: 0;
  color: #EE6A7F;
  font-family: var(--font-maru);
  font-size: 48px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.medical-menu__list {
  display: grid;
  grid-template-columns: repeat(5, 150px);
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 0 auto;
}

.medical-menu-card {
  display: flex;
  width: 150px;
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  overflow: hidden;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.medical-menu-card--yellow {
  background: rgba(216, 173, 0, 0.7);
}

.medical-menu-card--green {
  background: rgba(104, 165, 28, 0.7);
}

.medical-menu-card--blue {
  background: rgba(55, 141, 217, 0.7);
}

.medical-menu-card--pink {
  background: rgba(238, 106, 127, 0.7);
}

.medical-menu-card__icon {
  display: block;
  width: 68px;
  height: 68px;
  object-fit: contain;
}

.medical-menu-card__text {
  display: block;
  min-height: 48px;
  padding: 0 15px;
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.035em;
}

.medical-menu-card:hover {
  transform: translateY(-5px);
  opacity: 0.88;
}

/* ========================================
   1300px以下
======================================== */
@media (max-width: 1300px) and (min-width: 768px) {
  .medical-menu__list {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    width: min(100%, 800px);
    gap: 14px;
  }

  .medical-menu-card {
    width: 100%;
  }

  .medical-menu-card__icon {
    width: 54px;
    height: 54px;
  }

  .medical-menu-card__text {
    min-height: 44px;
    font-size: 12px;
  }
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .medical-menu {
    padding: 55px 30px 85px;
  }

  .medical-menu__header {
    margin-bottom: 35px;
  }

  .medical-menu__en {
    margin-bottom: 17px;
    font-size: 17px;
  }

  .medical-menu__title {
    font-size: 43px;
  }

  .medical-menu__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
    width: 100%;
  }

  .medical-menu-card {
    width: 100%;
    gap: 18px;
  }

  .medical-menu-card__icon {
    width: 64px;
    height: 64px;
  }

  .medical-menu-card__text {
    min-height: 45px;
    padding: 0 10px;
    font-size: 14px;
    line-height: 1.5;
  }

  .medical-menu-card:hover {
    transform: none;
    opacity: 1;
  }
}

@media (max-width: 480px) {
  .medical-menu {
    padding: 50px 20px 25px;
  }

  .medical-menu__title {
    font-size: 37px;
  }

  .medical-menu__list {
    gap: 12px 10px;
  }

  .medical-menu-card {
    gap: 12px;
  }

  .medical-menu-card__icon {
    width: 48px;
    height: 48px;
  }

  .medical-menu-card__text {
    min-height: 38px;
    padding: 0 7px;
    font-size: 11px;
  }
}



/* ========================================
   理事長紹介
======================================== */
.director-introduction {
  position: relative;
  min-height: 1250px;
  overflow: hidden;
  background: #fff;
}

.director-introduction__visual {
  position: absolute;
  inset: 0;
}

.director-introduction__heading {
  position: absolute;
  z-index: 5;
  top: 62px;
  left: 5%;
  width: 515px;
}

.director-introduction__heading h2 {
  margin: 0;
  padding: 30px 45px;
  background: #68A51C;
  color: #fff;
  font-family: var(--font-maru);
  font-size: 40px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.13em;
  text-align: center;
  transform: translate(-14px, -14px);
  box-shadow: 10px 10px 0px #F4F9EE;
}

.director-introduction__portrait {
  position: absolute;
  top: 62px;
  right: 0;
  bottom: 0;
  display: block;
  width: 58%;
  z-index: 4;
}

.director-introduction__portrait img {
  display: block;
  width: 100%;
  height: auto;
}

.director-introduction__message {
  position: absolute;
  z-index: 5;
  right: 8%;
  bottom: 213px;
  display: flex;
  width: 284px;
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(216, 173, 0, 0.7);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.08em;
  text-align: center;
}

.director-introduction__message span {
  display: block;
}

.director-introduction__content {
  position: relative;
  z-index: 4;
  width: 49%;
  padding: 280px 0 0 12%;
}

.director-profile {
  padding-bottom: 26px;
  border-bottom: 1px solid #222;
}

.director-profile__position {
  margin: 0 0 8px;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.director-profile__name {
  margin: 0;
  color: #68A51C;
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
}

.director-profile__name-en {
  margin: 10px 0 0;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.director-profile__career {
  padding: 24px 0;
  color: #212121;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.035em;
}

.director-profile__career p {
  margin: 0 0 8px;
}

.director-profile__career p:last-child {
  margin-bottom: 0;
}

.director-profile__clinics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 24px;
}

.director-profile__clinic {
  display: flex;
  min-height: 100px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius:5px;
  background: #F2F2F2;
}

.director-profile__clinic img {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto;
}

.director-profile__message {
  color: #212121;
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.035em;
}

.director-profile__message p {
  margin: 0;
}

/* ========================================
   1200px以下
======================================== */
@media (max-width: 1200px) and (min-width: 768px) {
  .director-introduction {
    min-height: 1000px;
  }

  .director-introduction__heading {
    width: 420px;
  }

  .director-introduction__heading h2 {
    font-size: 37px;
  }

  .director-introduction__content {
    width: 53%;
    padding-top: 205px;
    padding-left: 8%;
  }

  .director-introduction__message {
    right: 5%;
    width: 260px;
    font-size: 28px;
  }

  .director-profile__career,
  .director-profile__message {
    font-size: 16px;
  }
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .director-introduction {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding-bottom: 0;
  }

  .director-introduction__visual {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.06;
  }

  .director-introduction__heading {
    top: 48px;
    left: 6%;
    width: 112px;
    height: 448px;
    transform: translate(12px, 12px);
  }

  .director-introduction__heading h2 {
    display: flex;
    width: 87%;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 25px 24px;
    font-size: 38px;
    line-height: 1.75;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    transform: translate(-12px, -12px);
  }

  .director-introduction__portrait {
    top: 108px;
    right: 0;
    bottom: auto;
    width: 72%;
    height: 73%;
  }

  .director-introduction__portrait img {
    object-position: center top;
  }

  .director-introduction__message {
    right: 6%;
    bottom: -50px;
    width: 220px;
    font-size: 23px;
    line-height: 1.75;
  }

  .director-introduction__content {
    width: 100%;
    padding: 25px 40px 0;
  }

  .director-profile {
    padding-bottom: 22px;
  }

  .director-profile__position {
    margin-bottom: 12px;
    font-size: 19px;
  }

  .director-profile__name {
    font-size: 40px;
  }

  .director-profile__name-en {
    margin-top: 13px;
    font-size: 18px;
  }

  .director-profile__career {
    padding: 25px 0;
    font-size: 16px;
    line-height: 1.75;
  }

  .director-profile__career p {
    margin-bottom: 7px;
  }

  .director-profile__clinics {
    gap: 10px;
    margin-bottom: 25px;
  }

  .director-profile__clinic {
    min-height: 112px;
    padding: 17px 12px;
  }

  .director-profile__message {
    font-size: 16px;
    line-height: 1.95;
  }
}

@media (max-width: 480px) {
  .director-introduction__visual {
    aspect-ratio: 1 / 1.12;
  }

  .director-introduction__heading {
    top: 35px;
    width: 76px;
    height: 315px;
  }

  .director-introduction__heading h2 {
    padding: 18px 15px;
    font-size: 27px;
  }

  .director-introduction__portrait {
    top: 75px;
  }

  .director-introduction__message {
    width: 130px;
    font-size: 16px;
  }

  .director-introduction__message::before {
    width: 115px;
  }

  .director-introduction__content {
    padding: 20px 24px 0;
  }

  .director-profile__position {
    font-size: 16px;
    margin-bottom:0;
  }

  .director-profile__name {
    font-size: 32px;
  }

  .director-profile__name-en {
    font-size: 15px;
  }

  .director-profile__career p,
  .director-profile__message p {
    font-size: 14px;
	  font-weight:500;
  }

  .director-profile__clinic {
    min-height: 61px;
    padding: 12px 8px;
  }
}


/* ========================================
   Instagram
======================================== */
.instagram-section {
  padding: 60px 30px 70px;
  background: #fff;
}

.instagram-section__header {
  margin-bottom: 40px;
  text-align: center;
}

.instagram-section__title {
  margin: 0;
  color: #43B4EB;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.18em;
}

.instagram-section__description {
  margin: 22px 0 0;
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.instagram-section__feed {
  width: min(100%, 890px);
  margin: 0 auto;
}

/* Smash Balloon Instagram Feed用 */
.instagram-section__feed #sb_instagram {
  width: 100% !important;
  padding: 0 !important;
}

.instagram-section__feed #sb_instagram #sbi_images {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
}

.instagram-section__feed #sb_instagram .sbi_item {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.instagram-section__feed #sb_instagram .sbi_photo_wrap {
  width: 100% !important;
}

.instagram-section__feed #sb_instagram .sbi_photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  background-size: cover !important;
  background-position: center !important;
}

.instagram-section__feed #sb_instagram .sbi_photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 10件目以降を非表示にして3列×3行を維持 */
.instagram-section__feed #sb_instagram .sbi_item:nth-child(n + 10) {
  display: none !important;
}

/* ヘッダーやフォローボタンを表示しない場合 */
.instagram-section__feed #sb_instagram .sb_instagram_header,
.instagram-section__feed #sb_instagram .sbi_header_text,
.instagram-section__feed #sb_instagram #sbi_load {
  display: none !important;
}


/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .instagram-section {
    padding: 65px 20px 90px;
  }

  .instagram-section__header {
    margin-bottom: 55px;
  }

  .instagram-section__title {
    font-size: 42px;
    letter-spacing: 0.13em;
  }

  .instagram-section__description {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.8;
  }

  .instagram-section__feed {
    width: 100%;
  }

  /* スマホでも3列×3行を維持 */
  .instagram-section__feed #sb_instagram #sbi_images {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
}

@media (max-width: 480px) {
  .instagram-section {
    padding: 55px 12px 75px;
  }

  .instagram-section__title {
    font-size: 35px;
  }

  .instagram-section__description {
    font-size: 13px;
  }

  .instagram-section__feed #sb_instagram #sbi_images {
    gap: 3px !important;
  }
}



/* ========================================
   求人募集
======================================== */
.recruit-section {
  overflow: hidden;
  background: #fff;
}

.recruit-section__main {
  position: relative;
  min-height: 530px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.recruit-section__background {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.recruit-section__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.recruit-section__content {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, 900px);
  margin: 0 auto;
  text-align: center;
}

.recruit-section__title {
  color: #EB6624;
  font-family: var(--font-maru);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.12em;
}

.recruit-section__sp-break {
  display: none;
}

.recruit-section__description {
  color: #212121;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.recruit-section__description p {
  margin: 0 0 8px;
}

.recruit-section__description p:last-child {
  margin-bottom: 0;
}

.recruit-section__description--sp {
  display: none;
}

.recruit-section__button {
  position: relative;
  display: flex;
  width: min(100%, 350px);
  min-height: 70px;
  align-items: center;
  justify-content: center;
  margin: 40px auto 0;
  padding: 10px 20px;
  border: 2px solid #EB6624;
  border-radius: 12px;
  background: #fff;
  box-shadow: 5px 8px 0 rgba(85, 85, 85, 0.12);
  color: #EB6624;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.08em;
  transition:
    background-color 0.25s ease,
    color 0.25s ease;
}

.recruit-section__button img {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 13px;
  height: 24px;
  object-fit: contain;
  transform: translateY(-50%);
}

.recruit-section__gallery {
  width: 100%;
  padding-top: 4px;
  padding-bottom: 4px;
}

@media(max-width: 576px){
  .recruit-section__background img {
  height: auto;
}
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .recruit-section__main {
    min-height: 895px;
  }

  .recruit-section__content {
    width: 100%;
    padding:
      clamp(95px, 16vw, 125px)
      clamp(30px, 6.5vw, 48px)
      80px;
  }

  .recruit-section__title {
    margin-bottom: 65px;
    font-size: 37px;
    line-height: 1.55;
    letter-spacing: 0.07em;
  }

  .recruit-section__sp-break {
    display: inline;
  }

  .recruit-section__description--pc {
    display: none;
  }

  .recruit-section__description--sp {
    display: block;
  }

  .recruit-section__description {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.025em;
  }

  .recruit-section__description p {
    margin-bottom: 7px;
  }

  .recruit-section__button {
    width: 100%;
    min-height: 115px;
    margin-top: 65px;
    padding: 15px 60px;
    border-radius: 12px;
    font-size: 20px;
  }

  .recruit-section__button img {
    right: 20px;
    width: 12px;
    height: 23px;
  }
}

@media (max-width: 480px) {
  .recruit-section__main {
    min-height: 100%;
  }

  .recruit-section__content {
    padding: 15px 20px 45px;
  }

  .recruit-section__title {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 1.3;
  }

  .recruit-section__description p {
    font-size: 14px;
	  font-weight:500;
  }

  .recruit-section__button {
    min-height: 50px;
    margin-top: 30px;
    font-size: 20px;
  }
}

.recruit-section__gallery .sp{display: none;}
@media(max-width:768px){
  .recruit-section__gallery .pc{display: none;}
  .recruit-section__gallery .sp{display: block;}
}


/* ========================================
   フッター
======================================== */
.site-footer {
  background: #fbfaf5;
}

.site-footer__main {
  width: min(100% - 40px, 1200px);
  margin: 0 auto;
  padding: 75px 0 35px;
}

.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
   max-width: 800px;
      margin: 0 auto 30px;
}

.site-footer__logo {
  display: block;
  width: 290px;
}

.site-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer__contact {
  flex: 1;
}

.site-footer__tel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  color: #111;
}

.site-footer__tel-label {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.site-footer__tel-number {
  display: flex;
  align-items: center;
  gap: 13px;
  font-family: "Noto Serif JP", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.site-footer__tel-number img {
  width: 33px;
  height: 33px;
  object-fit: contain;
}

.site-footer__address {
  margin: 5px 0 0;
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: right;
}

.site-footer__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr 85px;
  gap: 28px;
  margin-top: 55px;
  max-width: 800px;
      margin: auto;
}

.site-footer-button {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 70px;
  max-width: 340px;
  padding: 12px 22px;
  border-radius: 11px;
  color: #fff;
}

.site-footer-button--reservation {
  background: #f0641d;
}

.site-footer-button--mail {
  background: #5da812;
}

.site-footer-button__icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.site-footer-button__text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.site-footer-button__text small {
  margin-bottom: 4px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

@media(min-width: 768px){
  .site-footer-button__text small {
      position: relative;
    left: -16px;
  }
}

.site-footer-button__text strong {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.05em;
  display: flex;
  gap:10px;
}

.site-footer-button__arrow {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.site-footer__tiktok {
  display: block;
  width: 76px;
  height: 76px;
}

.site-footer__tiktok img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-footer__sp-address {
  display: none;
}

.site-footer__information {
  display: grid;
  grid-template-columns: 445px minmax(0, 1fr);
  gap: 20px;
  margin: auto;
  margin-top: 77px;
  max-width: 1000px;
}

.site-footer__details {
  min-width: 0;
}

.site-footer__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 16px;
}

.site-footer-point {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 9px;
  border-radius: 7px;
  background: #f1f1f1;
}

.site-footer-point__icon {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
}

.site-footer-point__icon img {
    width: 100%;
    height: 100%;
  object-fit: contain;
}

.site-footer-point p {
  margin: 0;
  color: #212121;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}

.site-footer-point strong,
.site-footer-point b {
  color: #59a918;
  font-weight: 700;
}

.site-footer-point strong {
  font-size: 10px;
}

.site-footer-point b {
  font-size: 13px;
}

.footer-hours__table {
  padding: 18px 15px;
  border-radius: 7px;
  background: #f1f1f1;
}

.footer-hours table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #212121;
  text-align: center;
    margin: 0;
}

.footer-hours th,
.footer-hours td {
  padding: 5px 2px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.footer-hours th:first-child {
  width: 29%;
  white-space: nowrap;
}

.footer-hours tbody th {
  font-size: 15px;
  text-align: left;
}

.footer-hours__mark {
  display: inline-block;
  width: 22px;
  height: 22px;
  vertical-align: middle;
  border: 2px solid #ed687e;
  border-radius: 50%;
}

.footer-hours__mark--fill {
  background: #ed687e;
}

.footer-hours__mark--outline {
  background: transparent;
}

.footer-hours__close {
  font-size: 22px !important;
}

.footer-hours__sunday {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 16px 0 8px;
  color: #444;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
}

.footer-hours__sunday .footer-hours__mark {
  width: 17px;
  height: 17px;
}

.footer-hours__note {
  margin: 0;
  color: #aaa;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  text-align: center;
}

.site-footer__badges {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 35px;
  max-width: 370px;
}

.site-footer__badges a {
  display: block;
}

.site-footer__badges a.f_logos{
  background: #fff;
  padding: 10px 20px;
}

.site-footer__badges img {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer__map {
  position: relative;
  overflow: hidden;
}

.site-footer__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.site-footer__copyright {
  margin: 50px 0 0;
  color: #aaa;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  text-align: center;
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .site-footer__main {
    width: 100%;
    padding: 65px 0 0;
  }

  .site-footer__top {
    display: block;
    padding: 0 40px;
  }

  .site-footer__logo {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }

  .site-footer__contact {
    margin-top: 32px;
  }

  .site-footer__tel {
    justify-content: flex-start;
    gap: 13px;
  }

  .site-footer__tel-label {
    font-size: 14px;
  }

  .site-footer__tel-number {
    gap: 8px;
    font-size: 37px;
  }

  .site-footer__tel-number img {
    width: 42px;
    height: 42px;
  }

  .site-footer__address--pc {
    display: none;
  }

  .site-footer__buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 25px;
    padding: 0 40px;
  }

  .site-footer-button {
    grid-template-columns: 42px minmax(0, 1fr) 21px;
    gap: 5px;
    padding: 11px 9px;
  }

  .site-footer-button__icon {
    width: 42px;
    height: 42px;
  }

  .site-footer-button__text small {
    font-size: 10px;
  }

  .site-footer-button__text strong {
    font-size: 17px;
  }

  .site-footer-button__arrow {
    width: 16px;
    height: 16px;
  }

  .site-footer__tiktok--pc {
    display: none;
  }

  .site-footer__sp-address {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 35px;
    padding: 0 75px;
  }

  .site-footer__sp-address p {
    margin: 0;
    color: #212121;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.55;
  }

  .site-footer__sp-address .site-footer__tiktok {
    flex: 0 0 67px;
    width: 67px;
    height: 67px;
  }

  .site-footer__information {
    display: flex;
    margin-top: 35px;
    flex-direction: column;
    gap: 38px;
  }

  .site-footer__details {
    display: contents;
  }

  .site-footer__points {
    order: 1;
    gap: 7px;
    margin: 0;
    padding: 0 40px;
  }

  .site-footer-point {
    min-height: 88px;
  }

  .site-footer-point__icon {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }

  .site-footer-point p {
    font-size: 13px;
  }

  .footer-hours {
    order: 2;
    padding: 0 40px;
  }

  .footer-hours__table {
    padding: 22px 15px;
  }

  .footer-hours th,
  .footer-hours td {
    font-size: 12px;
  }

  .footer-hours tbody th {
    font-size: 15px;
  }

  .footer-hours__mark {
    width: 25px;
    height: 25px;
  }

  .footer-hours__sunday {
    margin-top: 20px;
    font-size: 12px;
  }

  .footer-hours__note {
    font-size: 11px;
  }

  .site-footer__map {
    order: 3;
    width: calc(100% - 80px);
    min-height: 440px;
    margin: 0 40px;
  }

  .site-footer__map iframe {
    min-height: 440px;
  }

  .site-footer__map-link {
    top: 12px;
    left: 12px;
    min-height: 55px;
    padding: 11px 18px;
    font-size: 19px;
  }

  .site-footer__badges {
    order: 5;
    gap: 38px;
    margin: 0;
    padding: 70px 40px;
    background: #ed637c;
    max-width: 100%;
  }

  .site-footer__copyright {
    order: 4;
    margin: 0;
    padding: 0 20px 0px;
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  .site-footer {
    background: #fff;
}
  .site-footer__top,
  .site-footer__buttons,
  .site-footer__points,
  .footer-hours {
    padding-right: 20px;
    padding-left: 20px;
  }

  .site-footer__sp-address {
    padding-right: 35px;
    padding-left: 35px;
  }

  .site-footer__sp-address p {
    font-size: 15px;
  }

  .site-footer__tel-number {
   font-size: 30px;
        font-weight: 600;
  }

  .site-footer__tel-number img {
    width: 32px;
    height: 32px;
  }

  .site-footer-button {
    display: flex;
    flex-direction: column;
    min-height: 105px;
  }

  .site-footer-button__icon {
    width: 34px;
    height: 34px;
  }

  .site-footer-button__text small {
    font-size: 8px;
  }

  .site-footer-button__text strong {
    font-size: 16px;
            display: flex;
            align-items: center;
        gap: 10px;
  }

  .site-footer-point {
    gap: 6px;
    min-height: 55px;
    padding: 7px 4px;
  }

  .site-footer-point__icon {
    flex-basis: 35px;
    width: 35px;
    height: 35px;
  }

  .site-footer-point p {
    font-size: 10px;
    white-space: nowrap;
  }

  .footer-hours {
    overflow-x: auto;
  }

  .footer-hours__table {
    min-width: 335px;
    padding: 9px 8px;
  }

  .footer-hours__mark {
    width: 17px;
    height: 17px;
  }

  .footer-hours__sunday {
    gap: 5px;
    font-size: 13px;
	 font-weight:500;
  }

  .footer-hours__note {
    font-size: 12px;
  }

  .site-footer__map {
    width: calc(100% - 40px);
    min-height: 235px;
    margin: 0 20px;
  }

  .site-footer__map iframe {
    min-height: 235px;
  }

  .site-footer__map-link {
    font-size: 15px;
  }

  .site-footer__badges {
    gap: 25px;
    padding: 50px 20px;
  }
}

/* 既存のMV用メニューボタン指定より後で開閉ボタンを確定 */
@media (max-width: 992px) {
  .sp-menu-button {
    position: fixed;
    z-index: 1002;
    top: 24px;
    right: 20px;
    display: block;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
  }

  body.is-sp-menu-open .yutenji-front-mv {
    z-index: 2147479999;
  }

  body.is-sp-menu-open .site-header {
    z-index: 1002;
    pointer-events: none;
  }

  body.is-sp-menu-open .site-logo {
    opacity: 0;
    visibility: hidden;
  }

  body.is-sp-menu-open .sp-menu-button {
    z-index: 1003;
    pointer-events: auto;
  }
}

/* スマホ固定ヘッダー */
@media (max-width: 992px) {
  .site-header {
    position: fixed;
    z-index: 2147480001;
    top: 0;
    right: 0;
    left: 0;
    height: 65px;
    background-color: transparent;
    box-shadow: none;
    transition: background-color .25s ease, box-shadow .25s ease;
  }

  .site-logo {
    position: absolute;
    top: 10px;
    left: 10px;
    width: min(62vw, 230px);
  }

  .sp-menu-button {
    position: absolute;
    top: 10px;
    right: 10px;
  }

  .sp-menu-button::before,
  .sp-menu-button::after,
  .sp-menu-button span {
    background-color: #fff;
    transition: top .2s ease, transform .2s ease, opacity .2s ease, background-color .25s ease;
  }

  .site-header.is-scrolled {
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
  }

  .site-header.is-scrolled .sp-menu-button::before,
  .site-header.is-scrolled .sp-menu-button::after,
  .site-header.is-scrolled .sp-menu-button span {
    background-color: #111;
  }

  .sp-drawer {
    z-index: 2147480000;
    padding-top: 88px;
  }

  .sp-drawer__inner {
    padding-top: 18px;
  }

  .sp-drawer__logo {
    display: none;
  }

  body.is-sp-menu-open .site-header {
    z-index: 2147480001;
    pointer-events: auto;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
  }

  body.is-sp-menu-open .site-logo {
    opacity: 1;
    visibility: visible;
  }

  body.is-sp-menu-open .sp-menu-button {
    z-index: 2147480002;
  }

  body.is-sp-menu-open .sp-menu-button::before,
  body.is-sp-menu-open .sp-menu-button::after,
  body.is-sp-menu-open .sp-menu-button span {
    background-color: #111;
  }
}

@media (max-width: 576px) {
  .site-logo {
        width: 200px;
    }
}




@media (min-width: 1300px) {
  .mv-copy__lead {
    font-size: 32px;
  }

  .mv-copy__title {
    font-size: 96px;
  }

  .mv-copy__sub {
    font-size: 32px;
  }
}


@media (min-width: 993px) and (max-width: 1299px) {
  .mv-copy {
    left: clamp(70px, 7vw, 91px);
    top: 33%;
  }

  .mv-copy__lead {
    font-size: 19px;
    margin: 0;
  }

  .mv-copy__title {
    font-size: 53px;
    line-height: 1.45;
  }

  .mv-copy__sub {
    font-size: 17px;
    margin: 0;
  }
}





@media (min-width: 993px) and (max-width: 1299px) {
  .hours {
    width: clamp(300px, 31vw, 364px);
  }

  .hours__panel {
    padding: clamp(10px, 1vw, 13px);
  }

  .hours table {
    font-size: 14px;
  }

  .hours th,
  .hours td {
    padding: clamp(2px, .3vw, 4px);
  }

  .hours__note {
    margin-top: clamp(6px, .7vw, 9px);
    font-size: 13px;
    line-height: 1.6;
  }

  .mv-features {
    width: clamp(240px, 22vw, 286px);
    right: 18%;
  }

  .mv-oval--family {
    width: clamp(220px, 21vw, 245px);
    right: 0;
  }

  .mv-oval--staff {
    width: clamp(210px, 20vw, 245px);
    right: 33%;
  }

  .mv-oval--treatment {
    width: clamp(330px, 32vw, 371px);
  }
}






@media (max-width: 992px) {
  .site-logo {
    position: absolute;
    top: 4px;
    left: 16px;
    display: flex;
    width: auto;
    max-width: calc(100% - 100px);
    flex-direction: column;
    align-items: flex-start;
  }

  .site-logo h1 {
    margin: 0 0 4px;
    color: #212121;
    font-family: var(--font-sans);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .site-logo img {
    display: block;
    width: 205px;
    max-width: 100%;
    height: auto;
  }
}



@media (max-width: 560px) {
  .site-logo {
    left: 14px;
    max-width: calc(100% - 80px);
  }

  .site-logo h1 {
    margin-bottom: 7px;
    font-size: 10px;
  }

  .site-logo img {
    width: 190px;
  }
}


/* トップページ・スマホ・ページ最上部ではヘッダーロゴを非表示 */
/* トップページ・スマホ・ページ最上部のみ非表示 */
@media (max-width: 992px) {
  body.home:not(.is-sp-menu-open) .site-header:not(.is-scrolled) .site-logo {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.home .site-header.is-scrolled .site-logo,
  body.home.is-sp-menu-open .site-logo {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}




.sp__{display: none!important;}
@media (max-width: 576px) {
.pc__{display: none!important;}
.sp__{display: block!important;}
}


/* ========================================
   スマホ下部固定ボタン
======================================== */
.sp-fixed-contact {
  display: none;
}

@media (max-width: 992px) {
  body {
    padding-bottom: 88px;
  }

  .sp-fixed-contact {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: 48fr 26fr 26fr;
    align-items: center;
    gap:7px;
    width: 100%;
    padding: 10px;
    background-color: #fff;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.12);
  }

  .sp-fixed-contact__item {
    display: block;
    min-width: 0;
  }

  .sp-fixed-contact__item img {
    display: block;
    width: 100%;
    height: auto;
  }
}



/* ========================================
   共通Gメニュー
======================================== */
.global-nav {
  right: 5%;
  left: 5%;
}

.global-nav__list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 44px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap;
}

.global-nav__list > li {
  flex: 0 0 auto;
}

.yutenji-front-navigation .global-nav__list > li {
  position: relative;
}

/* サブメニューは通常非表示 */
.yutenji-front-navigation .sub-menu {
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 50%;
  display: block;
  min-width: 220px;
  margin: 0;
  padding: 12px 0;
  list-style: none;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease;
}

/* マウスオーバー・キーボード操作時に表示 */
.yutenji-front-navigation
.global-nav__list > li:hover > .sub-menu,
.yutenji-front-navigation
.global-nav__list > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.yutenji-front-navigation .sub-menu li {
  display: block;
  margin: 0;
  padding: 0;
}

.yutenji-front-navigation .global-nav__sublink {
  display: block;
  padding: 10px 18px;
  color: #404040;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  text-shadow: none;
  white-space: nowrap;
}

.yutenji-front-navigation .global-nav__sublink:hover,
.yutenji-front-navigation .global-nav__sublink:focus {
  color: #ee6a7f;
  background-color: #fff5f7;
}



/* ========================================
   下層ページの共通ヘッダー
======================================== */
@media (min-width: 992px) {
	body:not(.home) .site-header {
	position: unset;
}
}
body:not(.home) .site-header {
  background-color: #fff;
	height:200px;
}

@media(max-width:768px){
	body:not(.home) .site-header {
	height:68px;
}
}

/* ロゴ上の説明文・電話番号 */
body:not(.home) .site-header h1,
body:not(.home) .header-tel,
body:not(.home) .header-tel__label,
body:not(.home) .header-tel__number {
  color: #212121 !important;
}

/* Gメニュー */
body:not(.home) .global-nav__link {
  color: #212121;
  text-shadow: none;
}

/* サブメニュー */
body:not(.home) .global-nav__sublink {
  color: #212121;
  text-shadow: none;
}

/* 下層ページ：Gメニューのアイコンと下矢印を濃色化 */
body:not(.home) .global-nav__icon,
body:not(.home) .global-nav__arrow{
  filter:
    brightness(0)
    saturate(100%)
    invert(12%)
    sepia(4%)
    saturate(25%)
    hue-rotate(314deg)
    brightness(96%)
    contrast(91%);
}
body:not(.home) .header-tel__icon{
	border:1px solid #212121;
	border-radius:50%;
}

/* 下層ページのみハンバーガーを#212121に変更 */
body:not(.home) .sp-menu-button::before,
body:not(.home) .sp-menu-button::after,
body:not(.home) .sp-menu-button span,
body:not(.home) .sp-menu-button span::before,
body:not(.home) .sp-menu-button span::after {
  background-color: #212121;
}

/* ========================================
   スマホ：スクロール後にヘッダー固定
======================================== */
@media (max-width: 992px) {
  .site-header {
    position: absolute;
    z-index: 2000;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
  }

  .site-header.is-scrolled,
  body.is-sp-menu-open .site-header {
    position: fixed;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  }

  /* 固定後はロゴとハンバーガーを濃色化 */
  .site-header.is-scrolled .sp-menu-button::before,
  .site-header.is-scrolled .sp-menu-button::after,
  .site-header.is-scrolled .sp-menu-button span,
  .site-header.is-scrolled .sp-menu-button span::before,
  .site-header.is-scrolled .sp-menu-button span::after,
  body.is-sp-menu-open .sp-menu-button::before,
  body.is-sp-menu-open .sp-menu-button::after,
  body.is-sp-menu-open .sp-menu-button span,
  body.is-sp-menu-open .sp-menu-button span::before,
  body.is-sp-menu-open .sp-menu-button span::after {
    background-color: #212121;
  }
}


#breadcrumb{
    position: relative;
    top: 27px;
}
@media (max-width: 768px) {
	.entry-header{
		padding-top:40px;
	}
	#breadcrumb{width:100%;}
	.entry-header .entry-title {
		font-size: 24px!important;
	}
}