@charset "UTF-8";
/* リキッドレイアウト対応のための設定 */
/* 数値計算関連の関数を使うために必要 (math.divなど)*/
body {
  color: #363636;
  background: #FCFAF3;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

/*  PCとSPの表示非表示の切り替え */
/*(md)px以上で表示*/
.pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

/*モバイルのみ表示*/
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

/*画像の縦横比設定*/
img {
  width: 100%;
  height: auto;
  display: block;
}

/* aタグのスタイルリセット*/
a {
  text-decoration: none;
}

/* マウスホバーがあるデバイスでのアニメーション（タッチデバイス除く） */
@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.8;
  }
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 7.5rem;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4678899083vw;
    scroll-padding-top: 12.5rem;
  }
}
@media (min-width: 1090px) {
  html {
    font-size: 16px;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Set core html defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.inner {
  width: 100%;
  padding-inline: 0.9375rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 68.125rem;
    padding-inline: 1.5625rem;
  }
}

/* news-detail-page用の特別な設定 */
.inner.news-detail-page__inner {
  max-width: 100%;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .inner.news-detail-page__inner {
    max-width: 1040px;
    padding-inline: 25px;
  }
}

.header {
  height: 5.625rem;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #FCFAF3;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px) {
  .header {
    height: 9.625rem;
  }
}

.header__inner,
.header__nav,
.header__nav-item,
.header__nav-item a {
  height: inherit;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .header__inner {
    max-width: 83.125rem;
    padding-inline: 25px;
  }
}

.header__logo {
  max-width: 4.375rem;
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .header__logo {
    max-width: 7.5rem;
  }
}

.header__logo a {
  -webkit-transition: opacity 0.8s 0s ease;
  transition: opacity 0.8s 0s ease;
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
}

.header__logo svg {
  width: 100%;
  height: auto;
  max-width: 4.375rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .header__logo svg {
    max-width: 7.5rem;
  }
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  padding-inline: 3.125rem;
  border: 1px solid #E1B33F;
  border-radius: 6.25rem;
  background-color: #FFF;
  position: relative;
}

.header__nav-item a {
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin-block: auto;
  padding-block: 0.9rem 1.125rem;
  position: relative;
  z-index: 1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

@media screen and (min-width: 768px) {
  .header__drawer {
    display: none;
  }
}

.header.header--error,
.header__nav.header__nav--error {
  background-color: #E1B33F;
}

.header__nav.header__nav--error {
  border-color: #FFF;
}

.header__nav-item.header__nav-item--error a {
  color: #FFF;
}

.sp-nav {
  background-color: #E1B33F;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s 0s ease;
  transition: -webkit-transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease, -webkit-transform 0.3s 0s ease;
  overflow-y: auto;
}
@media screen and (min-width: 768px) {
  .sp-nav {
    display: none;
  }
}

.is-openSP {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.sp-nav__logo {
  display: inline-block;
  padding: 1rem 0 0 1.25rem;
}

.sp-nav__logo img {
  width: 4rem;
  max-width: 100%;
}

.sp-nav__items {
  display: -ms-grid;
  display: grid;
  gap: 2.4rem;
  padding-top: 6rem;
  justify-items: center;
}

.sp-nav__item a {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: #FCFAF3;
  font-weight: 400;
  line-height: normal;
  align-items: left;
}

.is-openSP {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.sp-nav__btn {
  margin-top: 3.5rem;
  text-align: center;
}

.nav-text {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 400;
  color: #363636;
  text-align: left;
  width: 12rem;
  padding-left: 3rem;
}
  @media screen and (min-width: 768px) {
    .nav-text {
      width: 100%;
      padding-left: 0;
    }
  }


/* 擬似要素で左丸マークを表示（ハンバーガーメニューのみ） */
.header__nav--mobile .nav-text::before {
  content: '';
  position: absolute;
  left: 2.5rem;
  top: 0;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #FCFAF3;
}

/* PC版ヘッダーナビの丸を非表示 */
@media screen and (min-width: 768px) {
  .header__nav .nav-text::before {
    display: none;
  }
}


/* スマートフォン用ナビゲーション内のnav-text */
.sp-nav .nav-text {
  color: #FCFAF3;

}

.hamburger {
  z-index: 9999;
  width: 2.7rem;
  padding: 0;
}

.hamburger span {
  display: block;
  position: relative;
  background-color: #E1B33F;
  height: 0.125rem;
  width: 2.7rem;
  -webkit-transition: -webkit-transform 0.3s 0s ease;
  transition: -webkit-transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease, -webkit-transform 0.3s 0s ease;
}

/* 真ん中の線 */
.hamburger span:nth-child(2) {
  margin-block: 0.5rem;
  margin-left: auto;
  width: 1.625rem;
}

/* 一番下の線 */
.hamburger span:nth-child(3) {
  margin-left: auto;
  width: 1.25rem;
}

.hamburger.is-openSP span:nth-child(1) {
  top: 0.65rem;
  width: 3rem;
  -webkit-transform: rotate(26.565deg);
          transform: rotate(26.565deg);
  background-color: #FFF;
}

.hamburger.is-openSP span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-openSP span:nth-child(3) {
  top: -0.5rem;
  width: 3rem;
  -webkit-transform: rotate(-26.565deg);
          transform: rotate(-26.565deg);
  background-color: #FFF;
}

body.js-fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

/* PCサイズではbodyのfixed状態を無効化 */
@media screen and (min-width: 768px) {
  body.js-fixed {
    position: static;
    width: auto;
    height: auto;
  }
}

.fv {

  width: 100%;
  overflow: hidden;
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .fv {
    margin-top: 9.75rem;
  }
}

.fv__inner {
  margin-inline: auto;
  width: 100%;

}
@media screen and (min-width: 768px) {
  .fv__inner {
    max-width: 77.5rem;
    padding-inline: 25px;
  }
}

.fv__slider {
  
  margin-inline: auto calc(50% - 50vi);
}

.fv__image {
  aspect-ratio: 360/452;
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative
}
@media screen and (min-width: 768px) {
  .fv__image {
    aspect-ratio: 1320/614;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
}

.fv__image img {
  border-radius: 0 0 0 60px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.fv__image .pc-image {
  display: none;
}
@media screen and (min-width: 768px) {
  .fv__image .pc-image {
    display: block;
  }
}

@-webkit-keyframes fadeInAnime {
  0% {
    scale: 1;
  }
  100% {
    scale: 1.2;
  }
}

@keyframes fadeInAnime {
  0% {
    scale: 1;
  }
  100% {
    scale: 1.2;
  }
}
.fv__catch {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #E1B33F;
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  line-height: normal;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .fv__catch {
    font-size: 3rem;
    top: 43%;
    left: 45%;
  }
}

.section-title {
  position: relative;
  color: #E1B33F;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  z-index: 3;
  margin-left: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .section-title {
    font-size: 2rem;
    margin-left: 0;
  }
}

.section-title span {
  display: block;
  color: #E1B33F;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
}

.section-title--white,
.section-title--white span {
  color: #FFF;
}

.section-title.section-title--sm {
  font-size: 1rem;
  font-weight: 400;
  margin-left: 0.5rem;
}

.section-title.section-title--center {
  margin-inline: auto;
  position: relative;
  width: fit-content;
  text-align: center;
}
.section-title.section-title--center::before {
  content: "";
  position: absolute;
  top: -0.25rem;
  left: -0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #E1B33F;  
}
@media screen and (min-width: 768px) {
  .section-title.section-title--center::before {
    top: -0.2rem;
    left: 0;
  }
}
.section-title.section-title--center span {
  display: block;
  text-align: center;
}
.greeting__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .greeting__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4rem;
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .greeting__content {
    max-width: 28.75rem;
    margin-top: 0.4rem;
  }
}

.greeting__image {
  min-width: 21.5625rem;
  width: 100%;
  aspect-ratio: 345/412;
}
@media screen and (min-width: 768px) {
  .greeting__image {
    aspect-ratio: 520/620;
    max-width: 32.5rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.greeting__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.greeting__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .greeting__content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.greeting__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .greeting__heading {
    margin-top: 2.5rem;
  }
}

.greeting__texts {
  display: -ms-grid;
  display: grid;
  gap: 1.5625rem;
  margin-top: 1.5rem;
}

.greeting__text {
  font-weight: 400;
  line-height: 1.5;
}

.greeting__info {
  display: -ms-grid;
  display: grid;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .greeting__info {
    margin-top: 1.5rem;
  }
}

.greeting__clinic {
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .greeting__clinic {
    margin-top: 0;
  }
}

.greeting__director {
  display: flex; /* 横並び */
  align-items: center;
}

.greeting__role {
  font-weight: 700;
  font-family: "Lato", sans-serif;
  line-height: normal;
}

.greeting__name {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: normal;
  display: flex;
}
.greeting__name span {
  margin-left: 1.5rem;
}
.greeting__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .greeting__btn {
    margin-top: 1rem;
  }
}

.fv__news {
  background-color: #E1B33F;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-top: 2.5rem;
  padding: 1.775rem 1.375rem 2.5rem 1.4rem;
  max-width: 49.1875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fv__news {
    position: relative;
    z-index: 10;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 9.3125rem 2.4375rem 32.375rem;
    grid-template-columns: 9.3125rem 32.375rem;
    -webkit-column-gap: 2.4375rem;
       -moz-column-gap: 2.4375rem;
            column-gap: 2.4375rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  padding: 1.875rem 1.375rem 2rem 2.5rem;
  max-width: 48.75rem;
  margin-left: auto;
  margin-top: -6.25rem;

  }
}

.fv__news-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .fv__news-header {
    /* PCでは左カラムで縦積み */
    display: block;
    margin-bottom: 0;
    width: 9.375rem;
  }
}
.fv__news-btn {
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .fv__news-btn {
    margin-top: 1rem;
  }
}

.fv__news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .fv__news-list {
    width: 32.5rem;
   
  }
}

.fv__news-article a {
  display: -ms-grid;
  display: grid;
  gap: 0.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 1.6rem 1.4375rem;
  border-bottom: 1px solid #FFF;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .fv__news-article a {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    padding-block: 0.9625rem 0.8rem;
    gap: 2.5rem;
  }
}

.fv__news-article:first-child a {
  border-top: 1px solid #FFF;
}

.news__date,
.news__text {
  color: #FFF;
}
.news__text {
  white-space: nowrap;         /* 改行しない */
overflow: hidden;            /* はみ出した部分を隠す */
text-overflow: ellipsis;     /* 「…」で省略表示 */
}
@media screen and (min-width: 768px) {
  .news__text {
   margin-top: 0.8rem;
  }
}
.news__date,
.news__label {
  font-family: "Lato", sans-serif;
  font-weight: 400;
}

.news__date {
  display: block;
  font-size: 0.75rem;
  line-height: normal;
}

.news__label {
  color: #E1B33F;
  font-size: 0.625rem;
  line-height: normal;
  display: inline-block;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 1.25rem;
  background: #FFF;
  padding: 0.0625rem 0.5rem;
  margin-top: 0.25rem;
}

.news__text {
  font-weight: 700;
  line-height: normal;
}

.section-news {
  position: relative;
}

.section-medical {
  background-color: #FCFAF3;
  margin-top: 2.875rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .section-medical {
    margin-top: 7.75rem;
  }
}

.section-medical.inner {
  position: relative;
  z-index: 2;
}

.section-medical::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 10.6875rem;
  bottom: -2rem;
  background-color: #E1B33F;
  z-index: 0;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .section-medical::before {
    top: 14rem;
    bottom: -5rem;
    inset-inline: 0;
    margin-inline: auto;
    max-width: 75rem;
    
  }
}

.section-greeting {
  background-color: #FFF;
  padding-block: 2.875rem 2.3rem;
  border-radius: 15px 15px 0 0;
}
@media screen and (min-width: 768px) {
  .section-greeting {
    padding-block: 0.25rem 5rem;
    border-radius: 60px 60px 0 0;
  }
}

.medical__inner {
  position: relative;
}

.medical__inner::after {
  content: "";
  position: absolute;
  background-image: url("../images/bgim.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 11.375rem;
  height: 10.4375rem;
  top: 15rem;
  left: 0.9375rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .medical__inner::after {
    width: 21rem;
    height: 19.3125rem;
    top: 14.625rem;
    left: -3;
  }
}

.medical__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.1875rem;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  padding-inline: 1rem;
  margin-inline: auto;
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .medical__items {
    overflow-x: visible;
    margin-inline: 0;
    padding-inline: 0;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 3.375rem;
  }
}
.medical__btn {
  margin-top: 2.2rem;
  text-align: center;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .medical__btn {
    margin-top: 4.5rem;
  }
}

.medical__photo {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .medical__photo {
    margin-top: 5rem;
  }
}

.splide__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
     
}

/* カード本体（見た目のみ。幅は親から注入する） */
.medical-card {
  inline-size: var(--card-w);
  display: grid;
  place-items: center;
  row-gap: 0.6rem;
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.medical-card__image {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 104/104;
  max-width: 10.25rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .medical-card__image {
    aspect-ratio: 164/164;
    max-width: 10.25rem;
  }
}

.medical-card__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .medical-card__image img {
    max-width: 10.25rem;
    max-height: 10.25rem;
  }
}
.medical-card__image--page {
  max-width: 6.5rem;
}
@media screen and (min-width: 768px) {
  .medical-card__image--page {
    max-width: 10.25rem;
  }
}
/* ラベル */
.medical-card__text {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  background: #d9a83a;
  color: #fff;
  display: inline-block;
  white-space: nowrap;
  text-align: center;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .medical-card__text {
    display: block;
    width: fit-content;
    margin: 0 auto;
    margin-top: 1rem;
    font-size: 1rem;
  }
}
/* medical-cardのリンクスタイル */
.medical-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
 
}

.medical-card__link:hover {
  text-decoration: none;
}

/* ふわっと */
@media (any-hover: hover) {
  .medical-card__item:hover .medical-card,
  .medical-card:hover {
    opacity: 0.7;
    transition: opacity 0.3s ease;
  }
}
.ancgor {
  scroll-margin-top: 5.625rem; 
}
@media screen and (min-width: 768px) {
  .ancgor {
    scroll-margin-top: 9.625rem; 
  }
}

.top-medical__items {
  margin-top: 1.625rem;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--card-w, 15.375rem);
  gap: 1.1875rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem; /* 影が切れないように少し余白 */
  scroll-snap-type: x proximity;
  /* TOPはSP/PCどちらもカード幅は246px固定 */
  --card-w: 15.375rem;
  /* SPの時だけ右はみ出し（TOPページ専用） */
  margin-inline: auto calc(50% - 50vi);
  position: relative;
  z-index: 2;
}
/* 各カードのスナップ */
.medical-card {
  scroll-snap-align: start;
}
.medical-card.medical-card--service {
  padding-block: 1rem 1.5rem;
  padding-inline: 2.5rem;
}

/* page-medical用のカードスタイル */
.medical-card.medical-card--page {
  padding-block: 0.5rem 0.6875rem; /* 上8px 下11px */
  min-width: 10.125rem; 
}

@media screen and (min-width: 768px) {
  .medical-card.medical-card--page {
    padding-block: 1rem 1.5rem;
    padding-inline: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .top-medical__items {
    margin-top: 2rem;
    overflow: visible;
    grid-auto-flow: initial;
    grid-auto-columns: auto;
    grid-template-columns: repeat(4, var(--card-w));
   
  }
}
 .medical-page__items {
  margin-top: 1.375rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.3125rem;
  row-gap: 1.125rem;
}

@media screen and (min-width: 768px) {
  .medical-page__items {
    margin-top: 3.375rem;
    --card-w: 15.375rem; /* TOPページと同じサイズ（246px） */
    grid-template-columns: repeat(4, var(--card-w));
    column-gap: 1.1875rem;
    row-gap: 1.1875rem;
    justify-content: space-between; /* 4枚をinner内で詰めすぎないよう調整 */
  }
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: relative;
  background-color: #E1B33F;
  border: 1px solid #E1B33F;
  border-radius: 2.5rem;
  padding: 0.675rem 1.9rem;
  color: #FFF;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  width: auto;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* 基本ボタン（黄色）のホバー */
@media (any-hover: hover) {
  .btn:hover {
    background-color: #FFF;
    color: #E1B33F;
    border-color: #E1B33F;
    opacity: 1; /* ボタンの透過を無効化 */
  }
  
  .btn:hover .btn__circle {
    background-color: #E1B33F;
  }
  
  .btn:hover .btn__circle::after {
    background-color: #FFF;
  }
}

/* ◯部分のベース */
.btn__circle {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  background-color: #FFF;
  position: relative;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}

.btn__circle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #E1B33F;
  transition: background-color 0.3s ease;
}

/* 〇アイコン外が黄色 */
.btn__circle.btn__circle--yellow {
  background-color: #E1B33F;
}
.btn__circle.btn__circle--yellow::after {
  background-color: #FFF;
}
/* 〇アイコン赤 */
.btn__circle.btn__circle--red {
  background-color: #FFF;
}
.btn__circle.btn__circle--red::after {
  background-color: #F08773;
}

.btn.btn--news {
  margin-top: -1rem;
  padding: 0.5rem 1.5rem;
}
.btn.btn--medical,
.btn.btn--news {
  background-color: #FFF;
  color: #E1B33F;
  border-color: #E1B33F;
}

.btn.btn--medical .btn__circle,
.btn.btn--news .btn__circle {
  background-color: #E1B33F;
}

.btn.btn--medical .btn__circle::after,
.btn.btn--news .btn__circle::after {
  background-color: #FFF;
}

@media (any-hover: hover) {
  .btn.btn--medical:hover,
  .btn.btn--news:hover {
    background-color: #E1B33F;
    color: #FFF;
    border-color: #FFF;
    opacity: 1; /* ボタンの透過を無効化 */
  }
  
  .btn.btn--medical:hover .btn__circle,
  .btn.btn--news:hover .btn__circle {
    background-color: #FFF;
  }
  
  .btn.btn--medical:hover .btn__circle::after,
  .btn.btn--news:hover .btn__circle::after {
    background-color: #E1B33F;
  }
}

/* TOPページ NEWSセクション、columnセクション カード内、お気軽にご予約、お問い合わせくださいボタン */
.btn.btn--news,
.btn.btn--contact-info {
  .contact-info__btn .btn::before {
    min-width: 9.3125rem;
  }
  white-space: nowrap;
}
.btn.btn--column{
  padding: 0.3rem 1.3rem;
  margin-top: -1.1rem;
  align-items: left;
}
@media screen and (min-width: 768px) {
.medical-page__info.contact-info {
margin-top: 6.5rem;
}
}
/* ハンバーガーメニュー、フッター */
.btn.btn--sp-nav,
.btn.btn--footer {
  padding: 0.75rem 2.5rem;
  background-color: #F08773;
  border-color: #F08773;
  color: #FFF;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.13);
  
}

.btn.btn--sp-nav .btn__circle,
.btn.btn--footer .btn__circle {
  background-color: #FFF;
}

.btn.btn--sp-nav .btn__circle::after,
.btn.btn--footer .btn__circle::after {
  background-color: #F08773;
}

@media (any-hover: hover) {
  .btn.btn--sp-nav:hover,
  .btn.btn--footer:hover {
    background-color: #FFF;
    color: #F08773;
    border-color: #F08773;
  }
  
  .btn.btn--sp-nav:hover .btn__circle,
  .btn.btn--footer:hover .btn__circle {
    background-color: #F08773;
  }
  
  .btn.btn--sp-nav:hover .btn__circle::after,
  .btn.btn--footer:hover .btn__circle::after {
    background-color: #FFF;
  }
}

/* ハンバーガーメニュー */
.btn.btn--sp-nav {
  padding: 0.75rem 2.5rem;
}

/* フッター,お問い合わせページ確認ボタン */
.btn.btn--footer {
  padding: 0.875rem 2.5rem;
}
.btn.btn--contact-submit-page {
  padding-block: 0.875rem;
  padding-inline: 2.5rem 3.375rem;
  width: 10.5rem;
}
.btn.btn--contact-form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.875rem 2.5rem;
}
/* お問い合わせフォームのボタンに適用 */
.contact-form__btn,
.contact-form__btn--back,
.contact-form__btn--send {
  position: relative;
}
/* 白い大きな丸 */
.contact-form__btn::after,
.contact-form__btn--back::after,
.contact-form__btn--send::after {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #FFF;
  z-index: 0;
  pointer-events: none;
}

/* 確認ボタンの白い丸 */
.contact-form__btn::after {
  top: 35%;
  right: 24%;
  transition: background-color 0.3s ease;
}
.contact-form__btn:hover::after {
  background-color: #E1B33F;
}
@media screen and (min-width: 768px) {
  .contact-form__btn::after {
    top: 44%;
    right: 24%;
  }
}

.contact-form__btn--back::after {
  top: 50%;
  right: 32%;
  transition: background-color 0.3s ease;
}


@media screen and (min-width: 768px) {
  .contact-form__btn--back::after {
    top: 32%;
    right: 30%;
  }
}


/* 戻るボタンのホバー効果（白丸を#E1B33Fに） */
@media (any-hover: hover) {
  .contact-form__btn--back:hover::after {
    background-color: #E1B33F;
  }
}

/* 送信ボタンの白い丸（SP版） */
.contact-form__btn--send::after {
  top: 31%;
  right: 23%;
  transition: background-color 0.3s ease;
}
/* 送信ボタンの白い丸（PC版） */
@media screen and (min-width: 768px) {
  .contact-form__btn--send::after {
    right: 2.5rem;
    top: 32%;
 
  }
}

/* 送信ボタンのホバー効果（白丸を#E1B33Fに） */
@media (any-hover: hover) {
  .contact-form__btn--send:hover::after {
    background-color: #E1B33F;
  }
}

/* 黄色い小さな丸 */
.contact-form__btn::before,
.contact-form__btn--back::before,
.contact-form__btn--send::before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #E1B33F;
  z-index: 1;
  pointer-events: none;
}

/* 確認ボタンの黄色い丸 */
.contact-form__btn::before {
  right: 26%;
  top: 35%;
  transition: background-color 0.3s ease;
}
.contact-form__btn:hover::before {
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .contact-form__btn::before {
    right: 26%;
    top: 44%;
  }
}
/* 戻るボタンの黄色い丸（SP版） */
.contact-form__btn--back::before {
  right: 34%;
  top: 50%;
  transition: background-color 0.3s ease;
}
/* 戻るボタンの黄色い丸（PC版） */
@media screen and (min-width: 768px) {
  .contact-form__btn--back::before {
    right: 32.5%;
    top: 32%;

  }
}

/* 戻るボタンのホバー効果（黄色丸を#FFFに） */
@media (any-hover: hover) {
  .contact-form__btn--back:hover::before {
    background-color: #FFF;
  }
}

/* 送信ボタンの黄色い丸（SP版） */
.contact-form__btn--send::before {
  top: 32%;
  right: 25.5%;
  transition: background-color 0.3s ease;
}
/* 送信ボタンの黄色い丸（PC版） */
@media screen and (min-width: 768px) {
  .contact-form__btn--send::before {
    right: 26%;
    top: 32%;

  }
}

/* 送信ボタンのホバー効果（黄色丸を#FFFに） */
@media (any-hover: hover) {
  .contact-form__btn--send:hover::before {
    background-color: #FFF;
  }
}
/* 送信ページ戻るボタン */
/* お問い合わせフォームのボタン（擬似要素あり）は左寄せ */
.btn.btn--contact-form,
.btn.btn--contact-submit {
  justify-content: flex-start;
  width: 10.5rem; /* 168px */
}
.btn.btn--contact-form {
  padding: 0.675rem 3rem;
  padding-left: 1.5rem;
  height: auto;
  display: inline-flex;
  align-items: center;
  margin-top: -0.5rem;
}
.btn.btn--contact-submit.back-btn {
  padding-block: 0.675rem;
  padding-inline: 3rem 4rem;
  height: auto;
  min-height: 2.5rem;
}

.btn.btn--contact-submit:not(.back-btn) {
  padding-block: 0.675rem;
  padding-inline: 2.5rem 6rem;
  height: auto;
  min-height: 2.5rem;
}
/* 影付きボタン */
.btn.btn--contact-form,
.btn.btn--contact-submit,
.btn.btn--contact-submit-page,
.btn.btn--thanks,
.btn.btn--error {
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.13);
}
/* 404ページ */
.btn.btn--error {
  border: 1px solid #FFF;
}

@media (any-hover: hover) {
  .btn.btn--error:hover {
    background-color: #FFF;
    color: #E1B33F;
    border-color: #FFF;
    opacity: 1;
  }
  
  .btn.btn--error:hover .btn__circle {
    background-color: #E1B33F;
  }
  
  .btn.btn--error:hover .btn__circle::after {
    background-color: #FFF;
  }
}

/* お知らせページ詳細のページネーションボタン */
.btn__circle.btn__circle--prev,
.btn__circle.btn__circle--next {
  color: #E1B33F;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
}

.btn__circle.btn__circle--prev {
  margin-right: 0.5rem;
}

.btn__circle.btn__circle--next {
  margin-left: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .btn__circle.btn__circle--next {
    margin-left: 0.8125rem;
  }
}


.column__cards {
  margin-top: 3.375rem;
  display: -ms-grid;
  display: grid;
  row-gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .column__cards {
    margin-top: 3.25rem;
    -ms-grid-columns: 1fr 4.375rem 1fr 4.375rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 4.375rem;
       -moz-column-gap: 4.375rem;
            column-gap: 4.375rem;
    row-gap: 0;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.column__container {
  display: grid;
  gap: 2.5rem;
  margin-top: 2.375rem;
  max-width: 37.5rem;
  width: 100%;
  padding-inline: 1.5rem;
  justify-content: center;

  margin-inline: auto; 
}
@media screen and (min-width: 768px) {
  .column__container {
    -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.2rem;
    margin-top: 2.25rem;
    justify-content: center;
    max-width: 120rem;
  }
}

.column__btn {
  margin-top: 3.375rem;
  text-align: center;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .column__btn {
    margin-top: 5.625rem;
  }
}

.section-column {
  margin-top: 5.375rem;
}
@media screen and (min-width: 768px) {
  .section-column {
    margin-top: 7.5rem;
    position: relative;
  }
}

.section-column::before {
  content: none;
}
@media screen and (min-width: 768px) {
  .section-column::before {
    content: "";
    position: absolute;
    background-image: url("../images/bgim2.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 21rem;
    height: 19.3125rem;
    top: -3.125rem;
    right: calc(50% - 50vi);
    margin-right: -10rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
}

.news-card {
  width: 100%;
  min-width: 18.75rem; 
  max-width: 37.5rem; 
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}
  @media screen and (min-width: 768px) {
    .news-card {
    flex-basis: 18.75rem; 
    max-width: none; 
  }
}

.news-card__image {
width: 100%;
  aspect-ratio: 3 / 2;
  flex-shrink: 0;
  z-index: 1;
  margin-inline: 0; 
}
@media screen and (min-width: 768px) {
  .news-card__image {
    margin-inline: auto;
  }
} 

.news-card__image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.news-card__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1rem 1fr;
  grid-template-columns: auto 1rem 1fr;
  -ms-grid-rows: auto 0.5rem auto 0.5rem auto;
      grid-template-areas: "date . category" "title title title" "btn btn btn";
  grid-auto-rows: auto;
  margin-block: 1rem 1.5rem;
  margin-inline: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;

}
@media screen and (min-width: 768px) {
  .news-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: left;
  }
}

.news-card__date {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: date;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  white-space: nowrap;
  color: #363636;
}
@media screen and (min-width: 768px) {
  .news-card__date {
    margin-top: 0;
  }
}

.news-card__categories {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: category;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .news-card__categories {
    display: block;
    margin-left: 0;
  }
}

.news-card__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: title;
  font-weight: 700;
  line-height: 1.5;
  overflow: hidden;                     
  text-overflow: ellipsis;  
  color: #363636;  
  font-size: 1rem;        
  }

.news-card__btn {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: btn;
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .news-card__btn {
    padding-top:1.5rem;
    margin-top: auto;
   text-align: left;
  }
}


.news-card__image.news-card__image--page {
  aspect-ratio: 320/208;
  overflow: hidden;
  min-width: 20rem;
  width: 100%;
}

.news-card__image.news-card__image--page img {
  transition: transform 0.3s ease;
}

@media (any-hover: hover) {
  .news-card.news-card--page:hover .news-card__image.news-card__image--page img {
    transform: scale(1.2);
  }
}
@media screen and (min-width: 768px) {
  .news-card__image.news-card__image--page {
    aspect-ratio: 284/185;
    max-width: 17.75rem;
    height: 11.5625rem;
  }
}
.news-card__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  display: -webkit-box;                
  -webkit-line-clamp: 2;                
  -webkit-box-orient: vertical;         
  overflow: hidden;                   
  text-overflow: ellipsis;  
  color: #363636;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.news-card.news-card--page {
  min-width: 20rem;
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .news-card.news-card--page {
    background-color: #FFF;
    width: 17.75rem;
    min-width: 0;
    overflow: hidden;
  }
}

.news-card__body.news-card__body--page {
  -ms-grid-rows: auto 0.5rem auto 0.5rem auto;
      grid-template-areas: "date category" "title title" "text text";
  -ms-grid-columns: auto 0.5rem 1fr;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  row-gap: 0.3rem;
  text-align: left;
  background-color: #FFF;
  padding-inline: 1rem;
  padding-block: 0.3875rem 1.5rem;
  margin-block: 0;
}
@media screen and (min-width: 768px) {
  .news-card__body.news-card__body--page {
    display: grid;
    gap: 0.5rem;
    text-align: left;
  }
}

.news-card__text {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: text;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7;
}

  .news-card__text {
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    word-break: break-word;
  }
  
.news-card__date.news-card__date--page {
  color: #E1B33F;
}

.category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .category {
    gap: 0.5rem;
  }
}
.category.category--page {
  gap: 0.25rem;
}
.category__item {
  color: #E1B33F;
  font-family: "Lato", sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: normal;
  background-color: #FFF;
  border-radius: 1.25rem;
  border: 1px solid #E1B33F;
  padding-inline: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .category__item {
    font-size: 0.875rem;
    padding-inline: 1.5rem;
  }
}


.category__item.category__item--page {
  color: #fff;
  background-color: #E1B33F;
}
.category__item.category__item--medical-page {
  font-size: 0.75rem;
  padding: 0.125rem 1.5rem;
}

.category__item.category__item--page a {
  color: #FFF;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .category__item.category__item--page {
    font-size: 0.875rem;
  }
}
.category__item.category__item--newspage {
  padding-inline: 0.5rem;
  font-size: 0.625rem;
}
.category__item.category__item--white {
  background-color: #FFF;
  color: #E1B33F;
  padding-inline: 1.5rem;
  font-size: 0.875rem;
}
.category__item.category__item--news-detail {
 padding: 0.0625rem 0.5rem;
 font-size: 0.625rem;
}

.category__item.category__item--new {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 0.625rem;
  line-height: normal;
  display: inline-block;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 1.25rem;
  background: #E1B33F;
  padding: 0.0625rem 0.5rem;
  margin-top: 0.25rem;
}

.category__item a {
  color: #E1B33F;
  text-decoration: none;
}

.contact-info {
  margin-top: 2.5rem;
  border-radius: 0.625rem;
  background: #FFF;
  -webkit-box-shadow: 4px 4px 8px 0 rgba(236, 201, 107, 0.3);
          box-shadow: 4px 4px 8px 0 rgba(236, 201, 107, 0.3);
}
@media screen and (min-width: 768px) {
  .contact-info {
    margin-top: 7rem;
    max-width: 51.25rem;
    width: 100%;
    margin-inline: auto;
  }
}
.news-page__info.contact-info {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .news-page__info.contact-info {
    margin-top: 7rem;
  }
}
.contact-info__container {
  padding: 0.75rem 1.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 21.5625rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contact-info__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    max-width: 51.25rem;
    width: 100%;
    padding-block: 0.75rem;
    padding-inline: 0.75rem 1.5rem;
  }
}

.contact-info__image {
  aspect-ratio: 300/136;
  width: 18.75rem;
  flex-shrink: 0;
}

.contact-info__image img {
  height: 100%;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact-info__body {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.contact-card__text {
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .contact-card__text {
    font-size: 1.5rem;
    line-height: 1.3333333333;
    margin-top: 0.3rem;
  }
}

.contact-info__icon {
  position: relative;
  margin-top: 0.4375rem;
  margin-left: 0.5rem;
}

.contact-info__icon::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0.25rem;
  left: -0.5rem;
  background-image: url("../images/phone.svg");
}
@media screen and (min-width: 768px) {
  .contact-info__icon::before {
    width: 1.875rem;
    height: 1.875rem;
    top: 0.75rem;
    left: 2.0625rem;
  }
}

.contact-info__phone {

  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #363636;
  margin-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .contact-info__phone {
    font-size: 2.5rem;
    margin-left: 5.5625rem;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.contact-info__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .contact-info__btn {
    margin-top: 0.3rem;
  }
}

.contact-info__btn .btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding-block: 0.5rem;
}

.contact-info__btn .btn::before {
  content: "";
  display: inline-block;
  mask-image: url("../images/mail.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: currentColor; 
  width: 1rem;
  height: 1rem;
  transition: background-color 0.3s ease;
}

@media (any-hover: hover) {
  .contact-info__btn .btn:hover::before {
    background-color: currentColor;
  }
}


.footer {
  background-color: #E1B33F;
  border-radius: 100px 0 0 0;
  padding-block: 7.8125rem 3rem;
  margin-top: 7.7rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-block: 9.375rem 6.5625rem;
    margin-top: 8.5rem;
  }
}

.footer__inner {
  position: relative;
  width: 100%;
  margin-inline: auto;
}

.footer__inner::before {
  position: absolute;
  content: "";
  background-image: url("../images/footer.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  top: -18.375rem;
  left: -5rem;
  width: 17.9375rem;
  height: 19.5rem;
}
@media screen and (min-width: 768px) {
  .footer__inner::before {
    top: -18rem;
    left: -14.9375rem;
    width: 29.8125rem;
    height: 34.75rem;
  }
}
.footer__inner::after {
  position: absolute;
  content: "";
  background-image: url("../images/logo.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: -14rem;
  left: 0.8rem;
  width: 6.1875rem;
  height: 5.6875rem;
}
@media screen and (min-width: 768px) {
  .footer__inner::after {
    top: -5.6rem;
    left: 1.4rem;
  }
}

.footer__container {
 margin-top: 4rem;
  margin-inline: auto; 
}
@media screen and (min-width: 768px) {
  .footer__container {
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 11.6875rem; /* 187px = 11.6875rem */
    margin-top: 0;
    margin-inline: 0; 
    margin-left: auto; /* 右端に配置 */
    max-width: 55.0625rem; 
    width: 100%;
  }
}
.footer__hours {
  background-color: #fff;
  border-radius: 0.625rem; 
  padding: 1.5rem 1.375rem; 
  width: 21.5625rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer__hours {
    padding-block: 2.8125rem;
    padding-inline: 3.25rem 3rem;
    width: 32.5rem;
    flex-shrink: 0;
  }
}

.footer__hours-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  color: #E1B33F; 
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem; 
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width: 768px) {
  .footer__hours-table {
    font-size: 0.875rem;
  }
}

.footer__hours-row {
  border-bottom: 1px solid #E1B33F;
  padding-bottom: 0.3rem;
}
.footer__hours-opentime {
 text-align: left;
}


.footer__hours-row.footer__hours-row--pm {
  padding-block: 0.6rem 0.325rem;
}
@media screen and (min-width: 768px) {
  .footer__hours-row.footer__hours-row--am,
  .footer__hours-row.footer__hours-row--pm {
    padding-block: 1rem 0.2rem;
  }
}
.footer__hours-row,
.footer__hours-row.footer__hours-row--am,
.footer__hours-row.footer__hours-row--pm {
  display: grid;
   grid-template-columns: 3.75rem repeat(7,1fr) 3.0625rem;
} 
@media screen and (min-width: 768px) {
  .footer__hours-row,
  .footer__hours-row.footer__hours-row--am,
  .footer__hours-row.footer__hours-row--pm {
    grid-template-columns: 5.75rem repeat(7,1fr) 4.25rem;
    padding-bottom: 0.4rem;
  }
}
.footer__hours-head,
.footer__hours-cell {
  display: grid;
  place-content: center;
}

.footer__hours-note {
  color: #E1B33F;
  font-size: 0.875rem;
  font-weight: 400;
  margin-top: 0.9rem;
}

@media screen and (min-width: 768px) {
  .footer__hours-note {
    margin-top: 1.2rem;
  }
}

.footer__address {
  font-style: normal;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .footer__address {
    margin-top: -0.5rem;
  }
}

.footer__address-name {
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .footer__address-name {
    margin-top: -1.5rem;
  }
}
.footer__address-postal {
  margin-top: 0.5rem;
}
.footer__address-postal,
.footer__address-location,
.footer__address-tel,
.footer__address-mail {
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
}  
  .footer__address-location,
  .footer__address-tel,
  .footer__address-mail {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
.footer__address-tel a,
.footer__address-mail a {
  color: #FFF;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .footer__address-tel a,
  .footer__address-mail a {
    pointer-events: none;
    cursor: default;
  }
}

.footer__btn,
.footer__copy {
  margin-inline: auto;
  text-align: center;
}
  .footer__copy {
    margin-top: 1.5rem;
  }
@media screen and (min-width: 768px) {
  .footer__copy {
    margin-top: 2.5rem;
  }
}
.footer__btn {
  margin-top: 1.8rem;
}
.footer__copy small{
  margin-top: 2.5rem;
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  font-size: 0.875rem;
}

.medical-gallery {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  .medical-gallery {
    padding-top: 5rem;
  }
}

.medical-gallery__slider {
  width: 100%;
  margin-inline: calc(50% - 50vi); 
  overflow: hidden;
}
.splide__track {
  overflow: hidden;
}
.medical-gallery {
  .splide__slide {
    flex-shrink: 1 !important; 
  }
}
.medical-gallery-card__image {
  aspect-ratio: 174/116;
  width: 10.875rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .medical-gallery-card__image {
    aspect-ratio: 420/280;
    width: 26.25rem;
  }
}

.medical-gallery-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .medical-gallery-card__image img {
    width: 100%;
  }
}
.medical-gallery__image {
  width: 10.875rem;
  height: auto;
}

@media screen and (min-width: 768px) {
  .medical-gallery__image {
    max-width: 26.25rem;
    width: 100%;
  }
}

.decoration-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #E1B33F;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: absolute;
  top: 0.7rem;
  left: -0.5rem;
}

.decoration-dot.decoration-dot--sp {
  background-color: #FFF;
  top: -0.4rem;
  left: 2.5rem;
  margin-right: 0.75rem;
  flex-shrink: 0;
}

.decoration-dot.decoration-dot--white {
  background-color: #FFF;
  width: 0.5rem;
  height: 0.5rem;
  top: -0.3125rem;
  left: -0.3125rem;
}

.decoration-dot.decoration-dot--title {
  top: -0.3rem;
}

.decoration-dot.decoration-dot--page {
  top: -0.375rem;
  left: -0.375rem;
}

.decoration-dot.decoration-dot--center {
  top: -0.5rem;
  left: -1.5rem;
}
@media screen and (min-width: 768px) {
  .decoration-dot.decoration-dot--center {
    top: -0.5rem;
    left: -1.5rem;
  }
}

.decoration-dot.decoration-dot--side {
  top: -0.25rem;
}

.decoration-dot.decoration-dot--news {
  top: -0.25rem;
  left: -0.625rem;
  width: 0.5rem;
  height: 1.75rem;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .decoration-dot.decoration-dot--news {
    width: 0.625rem;
    height: 2rem;
  }
}

/* 404ページのナビメニュー用の白い丸 */
.decoration-dot.decoration-dot--error {
  background-color: #FFF;
}

/* 404ページのPC版ナビメニューで.nav-text::beforeを非表示 */
.header__nav--error .nav-text::before {
  display: none;
}
/* パンくず */
.breadcrumb {
  margin-top: 0.625rem;
  /* display: flex;
  flex-wrap: wrap; */
  max-width: 100%;
  line-height: 1.5;
  overflow-wrap: break-word; 
word-break: normal;      
white-space: normal;     

}
@media screen and (min-width: 768px) {
  .breadcrumb {
    margin-left: 7.3rem;
    flex-wrap: wrap;
  }
}
/* パンくず詳細ページ用 */
.breadcrumb.breadcrumb--under {
  margin-top: 6.25rem;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .breadcrumb.breadcrumb--under {
    margin-top: 9.25rem;
  }
}
.breadcrumb span:not(:first-child) {
  margin-left: 0.5rem;
}

.breadcrumb > * {
  flex-shrink: 1;
  flex-grow: 0;
  min-width: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}
.home {
  color:#A5A5A5;
font-family: "Noto Sans JP";
font-size: 0.875rem;
font-style: normal;
font-weight: 500;
line-height: 1.71428;
}
@media screen and (min-width: 768px) {
    .home {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.breadcrumb__arrow {
  position: relative;
  margin-right: 0.5rem;
}
.breadcrumb__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 0.5625rem;
  height: 0.9375rem;
  background-image: url("../images/Vector.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.breadcrumb a {
  color: #A5A5A5;
  text-decoration: none;
  transition: color .3s ease;
  margin-left: 0;
}
@media (any-hover: hover) {
  .breadcrumb a:hover {
    opacity: 0.6; 
  }
}

/* 各ページの文字（最後の要素＝現在地。リンクではない） */
.breadcrumb .current-item {
  color: #363636;
  font-family: "Noto Sans JP";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 171.429%; 
  
}
@media screen and (min-width: 768px) {
  .breadcrumb .current-item {
    font-size: 1rem;
    line-height: 150%;
  }
}
.breadcrumb a,
.breadcrumb .current-item {
  display: inline;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
/* 404だけ白文字に */
.breadcrumb.breadcrumb--error .current-item,
.breadcrumb.breadcrumb--error a { color: #FFF; }
.breadcrumb.breadcrumb--error .breadcrumb__arrow::before {
  background-image: url("../images/Vector-w.svg");
}
/* 404ページ：最後のアイテム（404）を白に */
.breadcrumb.breadcrumb--error [typeof="ListItem"]:last-child,
.breadcrumb.breadcrumb--error [typeof="ListItem"]:last-child span {
  color: #FFF;
}
.pagetop {
  position: fixed;
  bottom: 13rem;
  right: 1rem;
  z-index: 99;
  width: 3rem;
}
@media screen and (min-width: 768px) {
  .pagetop {
    bottom: 9rem;
    right: 7.5rem;
    width: 3.625rem;
  }
}

.pagetop__link {
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}
.page-top {
  background-color: #FCFAF3;
}

.page-top__fv {
  margin-top: 5.625rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .page-top__fv {
    margin-top: 9.625rem;
  }
}

.page-top__fv-inner {
  margin-inline: AUTO;
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top__fv-inner {
    max-height: 38.375rem;
    max-width: 83.125rem;
    padding-inline: 25px;
  }
}

.page-top__fv-image {
  position: relative;
  margin-inline: auto calc(50% - 50vi);
  overflow: hidden;
  aspect-ratio: 360/452;
  width: 100%;
  height: auto;
  min-width: 22.5rem;
}
@media screen and (min-width: 768px) {
  .page-top__fv-image {
    aspect-ratio: 1320/514;
    height: 32.125rem;
    min-width: 82.5rem;
  }
}
.page-top__fv-image img {
  border-radius: 0 0 0 30px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .page-top__fv-image img {
    border-radius: 0 0 0 60px;
  }
}

.page-top__catch {
  position: absolute;
  top: 46%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #E1B33F;
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width: 600px) and (min-width: 768px) {
  .page-top__catch {
    font-size: 1.5rem;
    top: 48%;
  }
}

@media screen and (min-width: 768px) {
  .page-top__catch {
    font-size: 3rem;
  }
}

.news-page__pagination {
  margin-top: 3rem;
}
.column-page__pagination {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .column-page__pagination {
    margin-top: 5rem;
  }
}
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  gap: 2.375rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .pagination {
    gap: 4.5625rem;
  }
}

.pagination__item {
  list-style: none;
}

.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1rem;
  font-family: "Lato", sans-serif;
  color: #E1B33F;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .pagination .page-numbers {
    font-size: 1.25rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
  }
}

/* 現在のページ */
.pagination .page-numbers.current {
  background: #E1B33F;
  color: #FFF;
  width: 1.75rem;
  height: 1.75rem;
 
}

/* prev/nextボタン */
.pagination .page-numbers.prev,
.pagination .page-numbers.next {
  display: flex;   
  width: 1.125rem;
  height: 0.875rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.125rem 0.875rem;
}

/* 前へボタン（左矢印） */
.pagination .page-numbers.prev {
  background-image: url("../images/left.svg");
}

/* 次へボタン（右矢印） */
.pagination .page-numbers.next {
  background-image: url("../images/right.svg");
}

/* 無効化されたボタンを非表示 */
.pagination .page-numbers.prev.disabled,
.pagination .page-numbers.next.disabled {
  display: none;
}


.page-hero {
  position: relative;
  z-index: 2;
}

/* 共通（SP） */
.page-hero::before {
  content: attr(data-bgtext);
  position: absolute;
  width: 100%;
  transform: translateX(-50%);
  text-align: center;     
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 3.375rem; 
  color: #FAF3E0;  
  line-height: normal;    
  opacity: 0.6;
  pointer-events: none;
  z-index: 1;
  white-space: nowrap;     
    
}
@media screen and (min-width: 768px) {
  .page-hero::before {
    font-size: 8.75rem;
  }
}

/* PC差分（モバイルファースト） */
@media screen and (min-width: 768px) {
  .page-hero::before {
    font-size: 8.75rem;
  }
}
/* aboutページ用 */
.page-hero.page-hero--about::before {
  inset-inline: unset;
  left: 46%;
  top: -5.5rem;
}
@media screen and (min-width: 768px) {
  .page-hero.page-hero--about::before {
    inset-inline: unset;
    right: -73%;
    top: -5rem;
  }
}

/* medicalページ用 */
.page-hero.page-hero--medical::before {
  inset-inline: unset;
  left: 45%;
  top: -6rem;
}
@media screen and (min-width: 768px) {
  .page-hero.page-hero--medical::before {
    inset-inline: unset;
    left: 72%;
    top: -6rem;
  }
}
/* newsページ用 */ 
.page-hero.page-hero--news::before {
  inset-inline: unset;
  right: -46%;
  top: -6rem;
}
@media screen and (min-width: 768px) {
  .page-hero.page-hero--news::before {
    left: 69%;
    top: -5.5rem;
  }
}

/* columnページ用 */
.page-hero.page-hero--column::before {
  inset-inline: unset;
  left: 46%;
  top: -6rem;
}
@media screen and (min-width: 768px) {
  .page-hero.page-hero--column::before {
    left: 72%;
    top: -6rem;
  }
}

/* contactページ用 */ 
.page-hero.page-hero--contact::before {
  inset-inline: unset;
  left: 45%;
  top: -6rem;
}

@media screen and (min-width: 768px) {
  .page-hero.page-hero--contact::before {
    left: 73%;
  }
}

.sidebar__title {
  color: #E1B33F;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
}

.sidebar__title h3 {
  margin-top: 0;
}
.sidebar__list {
  margin-top: 1.2rem;
  display: -ms-grid;
  display: grid;
  gap: 1.575rem;
  text-align: left;
}

.sidebar__item {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  justify-items: start;
}
.sidebar-latest__date {
  color: var(--Gray7, #363636);
  font-family: Lato;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
}
.sidebar__link-title {
  color: var(--Gray7, #363636);
  font-family: Lato;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
}
.sidebar__toggle {
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  width: 100%;
  margin-top: 1.5rem;
}
.sidebar__toggle:first-child {
  margin-top: 0;
}
.sidebar__toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.75rem;
  width: 0.625rem;
  height: 0.375rem;
  background-color: #E1B33F;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.sidebar__toggle[aria-expanded=true]::before {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.sidebar__sublist {
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  text-align: start;
  width: 100%;
  margin-left: 2.25rem;
}

.sidebar__sublist[hidden] {
  display: none;
}

.sidebar__date,
.sidebar__sublist a {
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  display: inline-block;
}

.sidebar__link,
.sidebar__toggle,
.sidebar__nav-item a {
  font-weight: 700;
  line-height: normal;
  color: #363636;
}

.sidebar__section {
  margin-top: 3.875rem;
}
.sidebar__section.sidebar__section--archive {
  margin-top: 3.7rem;
}
.sidebar__list {
  margin-top: 1.5rem;
}

.sidebar__sublist a {
  font-family: "Noto Sans JP", sans-serif;
  color: #363636;
  list-style-type: disc;
}

.sidebar__nav-items {
  margin-top: 1rem;
  display: -ms-grid;
  display: grid;
  gap: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .sidebar__nav-items {
    margin-top: 1.5rem;
  }
}

.pager {
  text-align: center;
  margin-top: 3.5rem; 
}
@media screen and (min-width: 768px) {
  .pager {
    margin-top: 4.5rem;
    max-width: 19.875rem;
    margin-left: 11.25rem; 
  }
}

.pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  flex-wrap: nowrap;
  max-width: 100%;
  width: 100%;
  gap: 4.5rem;
}

/* SPでNEXTが無い場合は中央寄せにする */
@media screen and (max-width: 767.98px) {
  @supports selector(.pager__list:has(> .pager__item--start:last-child)) {
    .pager__list:has(> .pager__item--start:last-child),
    .pager__list:has(> .pager__item--start:nth-child(2):last-child) {
      justify-content: center;
    }
  }
}

.pager__item {
  list-style: none;
}
.pager__item-image {
  width: 1.125rem;
  height: 0.875rem;
  margin-right: 0.5rem; /* 8px */
}

/* Previousのアイコンは左側 */
.pager__item:not(.pager__item--start):not(.pager__item--end) .pager__item-image {
  margin-right: 0.5rem;
  margin-left: 0;
}

/* Nextのアイコンは右側 */
.pager__item--end .pager__item-image {
  margin-left: 0.5rem;
  margin-right: 0;
}
.pager__item-link {
  font-size: 0.875rem; /* 14px */
  color: #E1B33F; /* $yellow */
  font-weight: 400; /* $normal */
  line-height: 1;
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  white-space: nowrap;
}

/* PreviousとNextのフォント */
.pager__item:not(.pager__item--start) {
  font-family: "Lato", sans-serif; /* $sab-font */
}

/* 一覧のフォント */
.pager__item--start {
  font-family: "Noto Sans JP", sans-serif;
}

.pager__item,
.pager__item.pager__item--start,
.pager__item.pager__item--end {
  margin-inline: 0;
}

/* NEXTが無い場合（一覧が最後の要素）の配置調整 */
.pager__item--start:last-child,
.pager__item--start:nth-child(2):last-child {
  margin-left: auto;
  margin-right: auto;
}

.contact-form {
  display: -ms-grid;
  display: grid;
  gap: 1.3rem;
}
@media screen and (min-width: 768px) {
  .contact-form {
    max-width: 43.75rem;
    margin-inline: auto;
    gap: 2.2rem;
  }
}
/* 送信画面のフォーム */
.contact-form.contact-form--send{
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .contact-form.contact-form--send {
    gap: 3.8rem;
  }
}
.contact-form__field {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .contact-form__field {
    -ms-grid-columns: 10rem 1.5rem 1fr;
    grid-template-columns: 10rem 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .contact-form__field.contact-form__field--send {
    gap: 2.3rem;
  }
}
.contact-form__field.contact-form__field--matter {
  margin-top: 0.7rem;
}
@media screen and (min-width: 768px) {
  .contact-form__field.contact-form__field--matter {
    margin-top: -2rem;
  }
}
.contact-form__label {
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  width: fit-content;
}

.contact-form__required {
  color: #CB0000;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  position: absolute;
}

/* 各フィールドの※マーク位置を個別設定 */
.contact-form__label--name.contact-form__required {
  left: 115%;
  top: -6%;
}

.contact-form__label--email.contact-form__required {
 left: 104%;
  top: 14%;
}

.contact-form__label--type.contact-form__required {
 left: 104%;
  top: 21%;
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  padding-block: 0.75rem;
  padding-inline: 1.5rem;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #363636;
}

.contact-form__textarea {
  resize: vertical;
  max-height: 13.56rem;
}

@media screen and (min-width: 768px) {
  .contact-form__textarea {
    height: 18.75rem;
    max-height: none;
  }
}

.contact-form__radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

/* SP: ラジオ項目を縦並び（2行）に */
.contact-form__radio-group .wpcf7-list-item {
  display: block;
}
.contact-form__radio-group .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 0.75rem;
}
.contact-form__radio-group label {
  white-space: normal;
}

.contact-form__radio-label {
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

.contact-form__radio {
  accent-color: #E1B33F;
}

.contact-form__btn {
  text-align: left;
  width: fit-content;
  margin-inline: auto;
  margin-top: 2.34375rem;
}
@media screen and (min-width: 768px) {
  .contact-form__btn {
    margin-top: 2.5rem;
    text-align: center;
  }
}
.contact-form__btn--back {
  display: block;
}

/* ボタンの親要素にflexboxを適用 */
.wpcf7-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* SPでボタンの順序を変更 */
.contact-form__btn--send {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
          margin-top: -2.5rem;
}

.contact-form__btn--back {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
          margin-top: -2.5rem;
}

/* PCでは元の順序に戻す */
@media screen and (min-width: 768px) {
  .contact-form__btn--send {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  
  .contact-form__btn--back {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

/* 1440px以下でボタンの位置を調整 */
@media screen and (max-width: 1440px) {
  .contact-form__btn--send {
    margin-top: -1.5rem;
  }
  
  .contact-form__btn--back {
    margin-top: -1.5rem;
  }
}
  /* 送信ボタンの白い丸の位置調整 */
  .contact-form__btn--send::after {
    top: 35%;
  }
  
  /* 送信ボタンの黄色い丸の位置調整 */
  .contact-form__btn--send::before {
    top: 35%;
  }
  
.contact-form__radio-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.contact-form__radio-button-input {
  display: none;
}

.contact-form__radio-button-circle {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 1px solid #E1B33F;
  background-color: #FFF;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.contact-form__radio-button-input:checked + .contact-form__radio-button-circle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #E1B33F;
}

.contact-form__radio-button-label {
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  .contact-form__radio-group {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
  .contact-form__radio-group .wpcf7-list-item {
    display: inline-block;
    margin-top: 0;
  }
  .contact-form__field {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 10rem 1.5rem 1fr;
    grid-template-columns: 10rem 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    
  }
  .contact-form__label {
    text-align: left;
    margin-top: -2rem;
    font-weight: 400;
    line-height: 1.5;
    width: fit-content;
  }
}
@media screen and (min-width: 768px) {
.contact-form__label.contact-form__label--row {
  margin-bottom: -0.75rem;
}
}
@media screen and (min-width: 768px) {
.contact-form__label.contact-form__label--send {
 margin-top: 0;
}
}
@media screen and (min-width: 768px) {
.wpcf7-list-item.first {
  margin-left: 0.35rem;
}
}
.wpcf7-list-item.first,
.wpcf7-list-item.last {
  margin-left: -0.65rem;
}
@media screen and (min-width: 768px) {
.wpcf7-list-item.last {
  margin-left: 2rem;
}
}
.wpcf7-list-item.last {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-list-item.last {
    margin-top: 0;
  }
}
/* テキストエリアの場合はラベルを上揃えにする */
@media screen and (min-width: 768px) {
  .contact-form__field:has(textarea) {
    align-items: flex-start;
  }
  .contact-form__field:has(textarea) .contact-form__label {
    margin-top: -0.5rem;
  }
}

.about-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .about-page__first {
    margin-top: 9.5rem;
    overflow-x: clip;
  }
}

.page-hero__title {
  position: relative;
  z-index: 5;
}

.page-hero__title::after {
  position: absolute;
  content: "";
  background-image: url("../images/footer.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: -4.5rem;
  left: -8.12rem;
  width: 25.75rem;
  height: 21.6875rem;
  z-index: -10;
}
@media screen and (min-width: 768px) {
  .page-hero__title::after {
    top: -9.5rem;
    left: -33.12rem;
    width: 63.8125rem;
    height: 55.75rem;
  }
}

.about-page__first-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-page__first-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
    align-items: center;
  }
}

.about-page__first-content {
  margin-top: 0.8125rem;
 
}
@media screen and (min-width: 768px) {
  .about-page__first-content {
    margin-top: 1.3125rem;
    flex: 0 0 45%;
    max-width: 25.75rem; 
    width: 100%;
}
}

.about-page__first-heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  position: relative;
  z-index: 10;
}

.about-page__first-texts {
  display: -ms-grid;
  display: grid;
  gap: 1.375rem;
  font-weight: 400;
  line-height: normal;
  margin-top: 1.5rem;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .about-page__first-texts {
    gap: 1.5625rem;
    line-height: 1.5;
    margin-top: 2.5rem;
  }
}

.about-page__first-image {
  aspect-ratio: 345/230;
  min-width: 21.5625rem;
  width: 100%;

}
@media screen and (min-width: 768px) {
  .about-page__first-image {
    min-width: 36.25rem;
    height: 24.125rem;
    margin-top: 5.9375rem;
    flex: 0 0 50%;
    flex-shrink: 0;
    margin-top: 5.9375rem; 
  }
}

.about-page__first-image img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .about-page__first-image img {
    border-radius: 20px;
  }
}

.about-page__second {
  margin-top: 5.2rem;
}
@media screen and (min-width: 768px) {
  .about-page__second {
    margin-top: 7.875rem;
  }
}

.about-page__second-items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr; 
  gap: 2.7rem;
  place-items: center;
  text-align: center;
  margin-inline: auto;
  margin-top: 2.7125rem;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .about-page__second-items {
    -ms-grid-columns: 1fr 2.5rem 1fr 2.5rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    place-items: initial;
    margin-top: 2.5rem;
  }
}
/* 1カード全体（li） */
.policy-card {
  display: grid;
  row-gap: 1rem;
  justify-items: center;
  height: 100%;
  
}
@media screen and (min-width: 768px) {
  .policy-card {
    row-gap: 1.2rem;
  }
}
/* 白いカード（画像＋ラベル） */
.policy-card__content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1.25rem;
}
.policy-card__box {
  background: #FFF;
  border-radius: 0.75rem;
  padding-block: 2.25rem 2.5rem;
  padding-inline: 3.875rem;
  width: 19.625rem;                
  display: grid;
  row-gap: 1.5rem;
  box-shadow: 4px 4px 8px 0 rgba(236, 201, 107, 0.30); 
 
}
@media screen and (min-width: 768px) {
  .policy-card__box {
    border-radius: 0.75rem;
    padding-block: 2.25rem;
  }
}

/* 丸画像 */
.policy-card__image {
  width: 11.875rem;  /* 190px */
  height: 11.875rem;
  border-radius: 50%;
  overflow: hidden;
  margin-inline: auto;
}
.policy-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 黄色バッジ */
.policy-card__label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.875rem;
  border-radius: 0.5rem;
  background: #E1B33F;
  color: #FFF;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  margin-inline: auto;
  width: 10.125rem;
  height: 2rem;
  text-align: center;
}

/* 説明文（カードの外・下） */
.policy-card__text {
  width: 19.75rem;          
  color: #363636;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .policy-card__text {
    width: 19.625rem;
    margin-inline: 0 auto;
  }
}
.about-page__three-visual {
  margin-top: 3.8rem;
}
@media screen and (min-width: 768px) {
  .about-page__three-visual {
    position: relative;
    margin-top: 7.8rem;
  }
}

.about-page__three-image {
  aspect-ratio: 344/239;
}

@media screen and (min-width: 768px) {
  .about-page__three-image {
    aspect-ratio: 843/356;
    max-width: 52.6875rem;
    width: 100%;
  }
}

.about-page__three-map {
  margin-top: 1.5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: auto;
  aspect-ratio: 375/241;
 
}
@media screen and (min-width: 768px) {
  .about-page__three-map {
    position: absolute;
    left: 27.5rem;
    bottom: -10.8125rem;
    width: 37.5rem;
    margin-left: 0;
  }
}

.about-page__three-map iframe {
  width: 100%;
  border: 0;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .about-page__three-map iframe {
    max-height: 24.125rem;
    border-radius: 20px;
  }
}

.about-page__three-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
     border-radius: 10px;
}
  @media screen and (min-width: 768px) {
    .about-page__three-image img {
      border-radius: 20px;
    }
  }

.about-page__three-address {
  margin-top: 1.6rem;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .about-page__three-address {
    margin-top: 2.5rem;
  }
}

.about-page__three-address-name {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
.about-page__three-address-location,
.about-page__three-address-info {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  text-align: left;
  margin-top: 0.3rem;
}

.about-page__three-box {
  margin-top: 2.3rem;
}
@media screen and (min-width: 768px) {
  .about-page__three-box {
    margin-top: 9rem;
  }
}
.medical-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .medical-page__first {
    overflow-x: clip;
    margin-top: 9.5rem;
  }
}
.medical-page__wrapper {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .medical-page__wrapper {
    margin-top: 5rem;
  }
}
  
.medical-page__items {
  margin-top: 1.375rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.3125rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3125rem;
  margin-inline: 0;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .medical-page__items {
    margin-top: 2.375rem;
    -ms-grid-columns: 1fr 1.1875rem 1fr 1.1875rem 1fr 1.1875rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1875rem;
  }
}

.medical-card__item.medical-card__item--page {
  width: 10.125rem;
  height: 9.5rem;
  padding: 0.5rem 1.8125rem;
}
@media screen and (min-width: 768px) {
  .medical-card__item.medical-card__item--page {
    max-width: 15.375rem;
  }
}


.column-detail-page__first {
  margin-top: 5.7rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__first {
    margin-top: 9.375rem;
  }
}


.medical-page__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .medical-page__container {
    gap: 5rem;
  }
}

.medical-page__item {
  display: flex;
  flex-direction: column;
  margin-top: 5rem;
}

@media screen and (min-width: 768px) {
  .medical-page__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: center;
    margin-top: 5.2rem;

  }
}
.medical-page__item:first-child {
  margin-top: 0;
}

.medical-page__content {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .medical-page__content {
    width: 412px;
  }
}

.medical-page__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  aspect-ratio: 345/230;
  border-radius: 20px;
  margin-top: 1.5rem;
  
}
@media screen and (min-width: 768px) {
  .medical-page__image {
    aspect-ratio: 580/386;
    width: 580px;
    margin-left: 3rem;
    margin-top: -2rem;
  }
}

.medical-page__image img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 20px;
  object-fit: cover;
}
.medical-page__wrapper {
  margin-top: 3.625rem;
}
@media screen and (min-width: 768px) {
  .medical-page__wrapper {
    margin-top: 5.125rem;
  }
}
.medical-page__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
}

.medical-page__texts {
  margin-top: 1.5rem;
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .medical-page__texts {
    margin-top: 2.5rem;
  }
}
.medical-page__texts:not(:first-child) {
  margin-top: 1.6875rem;
}
@media screen and (min-width: 768px) {
  .medical-page__texts:not(:first-child) {
    margin-top: 0rem;
  }
}
.medical-page__text {
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .medical-page__text {
    margin-top: 2.5rem;
  }
}

.medical-page__info {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .medical-page__info {
    margin-top: 7rem;
  }
}

.news-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .news-page__first {
    margin-top: 9.5rem;
    overflow-x: clip;
  }
}

@media screen and (min-width: 768px) {
  .inner.news-page__first-inner {
    width: 100%;
    max-width: 80.25rem;
    padding-inline: 1.5625rem;
    margin-inline: auto;       
  }
}
@media screen and (min-width: 768px) {
  .news-page__body {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3rem;
    margin-top: -1rem;
    max-width: 76.25rem;
  }
  
  .news-page__main {
    flex: 0 0 56.25rem;
    flex-shrink: 0;
  }
}

.news-page__container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.6rem;
  margin-top: 2.6rem;
  max-width: 37.5rem;
  margin-inline: 1rem;
}
@media screen and (min-width: 768px) {
  .news-page__container {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 56.25rem;
            flex: 0 0 56.25rem;
    max-width: 56.25rem;
    -ms-grid-columns: 17.75rem 1.5rem 17.75rem 1.5rem 17.75rem;
    grid-template-columns: repeat(3, 17.75rem);
    column-gap: 1.5rem;
        row-gap: 3.5rem;
    margin-top: 3.3125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.news-page__sidebar {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .news-page__sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 15rem;
            flex: 0 0 15rem;
    margin-top: 0rem;
    width: 13.125rem; 
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) {
  .inner.inner--news-detail {
    max-width: 71.25rem;
    padding-inline: 1.5625rem;
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .news-detail-page__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    gap: 11.25rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.news-detail-page__container {
  margin-top: 0.4rem;
  width: 100%;
}
@media screen and (min-width: 550px) {
  .news-detail-page__container {
    -ms-grid-columns: 1fr 1.25rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .news-detail-page__container {
    max-width: 43.75rem;
    gap: 1.5rem;
    margin-top: 3.3125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.news-detail-page__image {
  aspect-ratio: 344/222;
  min-width: 21.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news-detail-page__image {
    aspect-ratio: 700/450;
    max-width: 43.75rem;
  }
}
.news-detail-page__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .news-detail-page__image {
    margin-top: 0;
  }
}
.news-detail-page__title {
  margin-top: 2.875rem;
  position: relative;
  color: #E1B33F;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__title {
    font-size: 2rem;
  }
}

.news-detail-page__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  color:#E1B33F;
  font-size: 0.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: normal;
}
@media screen and (min-width: 768px) {
  .news-detail-page__date {
    font-size: 0.875rem;
  }
}

.news-detail__content {
  display: block;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
}

.news-detail__content p {
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.9rem;
  gap: 0.9375rem;
  
}
@media screen and (min-width: 768px) {
  .news-detail-page__texts {
    margin-top: 2.625rem;
  }
}

.news-detail__content h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 2.625rem;
  position: relative;
  margin-left: 0.5rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__second {
    font-size: 1.5rem;
    line-height: 1;
    margin-top: 2.375rem;
  }
}
.news-detail__content h2::before {
  content: "";
  position: absolute;
  left: -0.7rem;
  top: 0;
  width: 0.5rem;
  height: 1.75rem;
  border-radius: 10px;
background: #E1B33F;
}

.news-detail__content h3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__three {
    font-size: 1.25rem;
    line-height: 1.2;
    margin-top: 3rem;
  }
}

.news-detail__content a {
  margin-top: 2.5rem;
  color: #1093DD;
font-family: "Noto Sans JP";
font-style: normal;
font-weight: 400;
line-height: 150%; 
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: none;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
}
@media screen and (min-width: 768px) {
  .news-detail-page__four {
    margin-top: 2.75rem;
  }
}

.news-detail__content ol {
  list-style: none;
  counter-reset: number;
  padding-left: 0;
  margin-top: 2.8rem;
}

@media (min-width: 768px) {
  .news-detail__content ol {
    margin-top: 2.75rem;
  }
}
.news-detail__content ol li {
  position: relative;
  font-weight: 400;
  line-height: 150%; /* 24px */
  margin-top: 0.2rem;
  margin-left: 1rem;
}
.news-detail__content ol li::before {
  counter-increment: number;
  content: counter(number) ')';
  position: absolute;
  left: -1rem;
  top: 0;
}

/* サイドバーお知らせ詳細 */
.sidebar__section.sidebar__section--detail {
  margin-top: 6.875rem;
}
@media screen and (min-width: 768px) {
  .sidebar__section.sidebar__section--detail {
    margin-top: 0;
  }
}
.news-detail-page__item {
  position: relative;
  margin-left: 1.0625rem;
  counter-increment: number;
  margin-bottom: 0.5rem;
}

.news-detail-page__item::before {
  content: counter(number) ")";
  position: absolute;
  left: -1rem;
  top: 0;
}

.news-detail-page__link a {
  font-weight: 400;
  line-height: 1.5;
}

.news-page__sidebar {
  margin-top: 5.375rem;
}
@media screen and (min-width: 768px) {
  .news-page__sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 13.125rem;
            flex: 0 0 13.125rem;
    margin-top: 0rem;
  }
}

.column-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .column-page__first {
    margin-top: 9.5rem;
    overflow-x: clip;
  }
}

.column-page__categories {
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .column-page__categories {
    margin-top: 2.3125rem;
  }
}

.column-page__items {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .column-page__items {
    margin-top: 1.6875rem;
  }
}

.column-page__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .column-page__container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.column-page__container.column-page__container--detail {
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .column-page__container.column-page__container--detail {
    gap: 1.8rem;
  }
}


.column-page__container + .column-page__container {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .column-page__container + .column-page__container {
    margin-top: 3.375rem;
  }
}

.column-page__item {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .column-page__item {
    flex-direction: row;
    gap: 2.5rem;
    align-items: stretch;
  
  }
}

.column-page__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.column-page__image {
  aspect-ratio: 345/225;
  min-width: 21.5625rem;
  width: 100%;
 
}
@media screen and (min-width: 768px) {
  .column-page__image {
    aspect-ratio: 344/244;
    max-width: 21.5rem;
  }
}

.column-page__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.column-page__title {
  color: #E1B33F;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
 
}
@media screen and (min-width: 768px) {
  .column-page__title {
    color: #FFF;
    background-color: #E1B33F;
    padding-block: 0.375rem;
    padding-inline: 1rem;
  }
}

.column-page__body {
  margin-top: 0.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .column-page__body {
    margin-top: 0.625rem;
  }
}

.column-page__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.column-page__categories.column-page__categories--card {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

.column-page__text {
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .column-page__text {
    -webkit-line-clamp: 2;
  }
}
.column-page__btn {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .column-page__btn {
    margin-top: 2.625rem;
  }
}

.column-page__container.column-page__container--detail {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .column-page__container.column-page__container--detail {
    margin-top: 3.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
}

.column-page__title.column-page__title--detail {
  color: #FFF;
  background-color: #E1B33F;
  padding-block: 0.375rem;
  padding-inline: 1rem;
}

.column-page__meta.column-page__meta--detail {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .column-page__meta.column-page__meta--detail {
    margin-top: 1.6875rem;
  }
}

.column-page__text.column-page__text--detail {
  margin-top: 0.7rem;
}
@media screen and (min-width: 768px) {
  .column-page__text.column-page__text--detail {
    margin-top: 2.4375rem;
  }
}

@media screen and (min-width: 768px) {
  .column-detail-page__box {
    max-width: 43.75rem;
    width: 100%;
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .column-detail-page__content {
    max-width: 43.75rem;
    width: 100%;
  }
}

.column-detail-page__image {
  aspect-ratio: 345/222;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column-detail-page__image {
    aspect-ratio: 700/450;
    height: 28.125rem; /* 450px */
  }
}

.column-detail-page__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.column-detail__image {
  aspect-ratio: 345/222;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column-detail__image {
    height: 28.125rem; /* 450px */
  }
}
.column-detail__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.column-detail-page__sections {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__sections {
    margin-top: 0;
  }
}

.column-detail-page__section {
  margin-top: 2.5rem;
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}

.column-detail-page__section h2 {
  color: #E1B33F;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 2.7rem;
}

.column-detail-page__section p {
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .column-detail-page__section p {
    margin-top: -0.1875rem;
  }
}
@media screen and (min-width: 768px) {
.column-detail-page__info.contact-info {
  margin-top: 2.5rem;
}
}
.contact-info.contact-info--column-page {
  margin-top: 3.2rem;
}
@media screen and (min-width: 768px) {
  .contact-info.contact-info--column-page {
    margin-top: 6.6125rem;
  }
}

.contact-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .contact-page__first {
    margin-top: 9.5rem;
    overflow-x: clip;
  }
}

.contact-page__first-title {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .contact-page__first-title {
    margin-top: 7.1875rem;
  }
}
.contact-page__container {
  margin-top: 1.2rem;
}
@media screen and (min-width: 768px) {
  .contact-page__container {
    margin-top: 2.9rem;
  }
}
.contact-form__radio-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;

  label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    color: #333;
    cursor: pointer;
    position: relative;
  }

  input[type="radio"] {
    appearance: none;
    width: 0.875rem;
    height: 0.875rem;
    border: 1px solid #E0A500;
    border-radius: 50%;
    background-color: #fff;
    position: relative;
    display: inline-block;
    cursor: pointer;
  }

  input[type="radio"]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.375rem;
    height: 0.375rem;
    background-color: #E0A500;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.2s ease;
  }

  input[type="radio"]:checked::before {
    transform: translate(-50%, -50%) scale(1);
  }

  @media screen and (min-width: 768px) {
    flex-direction: row;
    gap: 2.5rem;
  }
}

.wpcf7-list-item {
 margin-inline: 0; 
}


.contact-sabmit-page__first {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .contact-sabmit-page__first,
  .wpcf7-list-item.last {
    margin-bottom: 1rem; 
  }
}

.contact-submit-page {
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .contact-submit-page {
    margin-top: 3.375rem;
  }
}

.contact-submit-page__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.875rem;
}
@media screen and (min-width: 768px) {
  .contact-submit-page__table {
    gap: 3.1875rem;
    margin-left: 10.625rem;
  }
}

.contact-submit-page__row {
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .contact-submit-page__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.contact-submit-page__label {
  font-weight: bold;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .contact-submit-page__label {
    width: 12.5rem;
    margin-bottom: 0;
  }
}

.contact-submit-page__value {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .contact-submit-page__value {
    margin-top: 0;
  }
}

.contact-submit-page__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  text-align: center;
  margin-top: 2.5rem;
  max-width: 10.5rem;
  width: 100%;
  margin-inline: auto;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .contact-submit-page__btn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: stretch;
    gap: 5rem;
    margin-top: 1.7rem;
    max-width: 26rem;
  }
}

.thanks-page {
  background-color: #FCFAF3;
}
.breadcrumb.breadcrumb--thanks {
  margin-top: 6rem;
  margin-left: 0.8rem;
}
.breadcrumb.breadcrumb--thanks a {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .breadcrumb.breadcrumb--thanks {
    margin-top: 9.5rem;
    margin-left: 12.5rem;
  }
  .breadcrumb.breadcrumb--thanks a {
    font-size: 1rem;
  }
}

.thanks-page__container {
  margin-top: 3.5rem;
  text-align: center;
}

.thanks-page__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width: 768px) {
  .thanks-page__title {
    font-size: 2rem;
  }
}

.thanks-page__text {
  margin-top: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .thanks-page__text {
    margin-top: 2.4375rem;
  }
}

.thanks-page__btn {
  margin-top: 3.5rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .thanks-page__btn {
    margin-top: 2.5rem;
    margin-bottom: -2.5rem;
  }
}

.error-page {
  background-color: #E1B33F;
}
.error-page .hamburger span {
  background-color: #FFF;
}
.breadcrumb.breadcrumb--error {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .breadcrumb.breadcrumb--error {
    margin-top: 9.55rem;
    margin-left: 0;
  }
}
.error-page__container {
  margin-top: 5.6rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .error-page__container {
    margin-top: 2rem;
  }
}

.error-page__image {
  aspect-ratio: 307/127;
  width: 17rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .error-page__image {
    aspect-ratio: 720/276;
    max-width: 45rem;
    width: 100%;
  }
}

.error-page__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.error-page__title {
  color: white;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .error-page__title {
    font-size: 2rem;
    margin-top: 2.5rem;
  }
}

.error-page__text {
  color: white;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .error-page__text {
    margin-top: 1.5rem;
  }
}

.error-page__btn {
  margin-top: 3.375rem;
  margin-bottom: 5.375rem;
}
@media screen and (min-width: 768px) {
  .error-page__btn {
    margin-top: 2.5rem;
    margin-bottom: 4.125rem;
  }
}
/* 問い合わせ送信フォーム */
/*確認画面全体を隠しておく*/
.confirm-area {
  display: none;
}
/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
  display: none;
}