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

body {
  color: #363636;
  background-color: #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;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

.is-tel-disabled {
  pointer-events: none;
  cursor: default;
}

*,
*::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%;
  max-width: 30rem;
  padding-inline: 15px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1250px;
    padding-inline: 25px;
  }
}

@media screen and (min-width: 768px) {
  .inner.inner-s {
    max-width: 68.125rem;
  }
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #fcfaf3;
  padding-block: 0.8125rem;
  min-height: 5.625rem;
}
@media screen and (min-width: 768px) {
  .header {
    min-height: 9.625rem;
    padding-block: 0.9375rem;
  }
}

.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;
  }
}

.header__logo {
  z-index: 9999;
}

.header__image {
  width: 4.375rem;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .header__image {
    width: 7.5rem;
  }
}

.header__image-stroke {
  stroke: #e1b33f;
}

.header__image-fill {
  fill: #e1b33f;
}

@media screen and (min-width: 768px) {
  .header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.375rem;
  }
}

/* 丸い枠 */
@media screen and (min-width: 768px) {
  .header__nav-shell {
    display: block;
    border: 1px solid #e1b33f;
    background-color: #fff;
    border-radius: 62.4375rem;
    padding-inline: 3.4375rem 3.125rem;
  }
}

.header__nav-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1.3125rem;
  padding-bottom: 1.0625rem;
  border-radius: 62.4375rem;
}

@media (any-hover: hover) {
  .header__nav-link {
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
  }
  .header__nav-link:hover {
    opacity: 0.7;
  }
}
/* =========================
   404 page
========================= */
.header.header--error {
  background-color: #e1b33f;
}

.header__image--error .header__image-stroke {
  stroke: #fff;
}

.header__image--error .header__image-fill {
  fill: #fff;
}

@media screen and (min-width: 768px) {
  .header__nav-shell.header__nav-shell--error {
    border: 1px solid #fff;
    background-color: #e1b33f;
  }
}

.hamburger {
  z-index: 9999;
  position: relative;
  width: 2.375rem;
  height: 1.1875rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.hamburger__bar {
  position: absolute;
  right: 0;
  width: 100%;
  height: 0.125rem;
  background-color: #e1b33f;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

/* ===== 通常時 ===== */
.hamburger__bar--long {
  top: 0;
  width: 100%;
}

.hamburger__bar--medium {
  top: 48%;
  width: 1.875rem;
}

.hamburger__bar--short {
  bottom: -11%;
  width: 1.375rem;
}

/* ===== OPEN時 ===== */
.hamburger.is-openSP .hamburger__bar {
  background-color: #fff;
}

.hamburger.is-openSP .hamburger__bar--long {
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(26deg);
          transform: translate(0, -50%) rotate(26deg);
}

.hamburger.is-openSP .hamburger__bar--medium {
  opacity: 0;
}

.hamburger.is-openSP .hamburger__bar--short {
  top: 50%;
  bottom: auto;
  width: 100%;
  -webkit-transform: translate(0, -50%) rotate(-26deg);
          transform: translate(0, -50%) rotate(-26deg);
}

/* SPナビOPEN時のロゴ */
.header.is-openSP .header__image-stroke {
  stroke: #fff;
}

.header.is-openSP .header__image-fill {
  fill: #fff;
}

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

/* 404ページ専用*/
.hamburger__bar--error {
  background-color: #fff;
}

.logo {
  width: 4.375rem;
}
@media screen and (min-width: 768px) {
  .logo {
    width: 7.5rem;
  }
}

.logo__header {
  position: relative;
  display: block;
}

.logo__header:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/images/logo-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
}

body.js-fixed .logo__header:before {
  z-index: 1;
}

/* スマホメニュー*/
.sp-nav {
  background-color: #e1b33f;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  translate: 100% 0;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
  overflow-y: auto;
}
@media screen and (min-width: 768px) {
  .sp-nav {
    display: none;
  }
}

.sp-nav__inner {
  padding-inline: 0;
  max-width: 100%;
}

.sp-nav__items {
  padding-block: 11.125rem 3.4375rem;
  display: -ms-grid;
  display: grid;
  gap: 2.6875rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}

.sp-nav__item {
  line-height: 1.1875;
  text-transform: uppercase;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding-left: 0.4375rem;
}

.sp-nav__item a {
  color: #fcfaf3;
  width: 100%;
  height: inherit;
  display: block;
}

.sp-nav__text {
  position: relative;
  display: block;
  max-width: 6rem;
  margin-inline: auto;
  text-align: left;
}

.sp-nav__text::before {
  content: "";
  position: absolute;
  left: -0.375rem;
  top: -0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #fcfaf3;
}

.sp-nav__btn-wrap {
  text-align: center;
}

.is-openSP {
  translate: 0;
}

/*ファーストビュー*/
.top-fv {
  margin-top: 5.625rem;
  overflow: hidden;
  position: relative;
  background-color: #fcfaf3;
}
@media screen and (min-width: 768px) {
  .top-fv {
    margin-top: 9.625rem;
  }
}

.top-fv__inner {
  position: relative;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .top-fv__inner {
    max-width: 78.125rem;
    padding-inline: 25px;
  }
}

.top-fv__slider {
  padding-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .top-fv__slider {
    padding-left: 0;
    margin-left: 0;
    margin-right: calc(50% - 50vi);
  }
}

.top-fv__figure {
  aspect-ratio: 360/452;
  height: auto;
  width: 100%;
  overflow: hidden;
  border-radius: 0 0 0 1.875rem;
}
@media screen and (min-width: 768px) {
  .top-fv__figure {
    aspect-ratio: 1320/614;
    border-radius: 0 0 0 3.75rem;
  }
}

.top-fv__figure img {
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

.top-fv__catch {
  position: absolute;
  top: 45.796460177%;
  left: 50%;
  translate: -50% 0;
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  color: #e1b33f;
  font-size: 2rem;
  line-height: 1.1875;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .top-fv__catch {
    font-size: 3rem;
    line-height: 1.2083333333;
    top: 38.1107491857%;
    left: auto;
    right: 34.4375rem;
    translate: initial;
  }
}

/* お知らせ */
.top-news {
  position: relative;
  z-index: 10;
}

.top-news__box {
  background-color: #e1b33f;
  color: #fff;
  border-radius: 0.625rem;
  padding: 1.9375rem 1.5rem 2.4375rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .top-news__box {
    padding: 2rem 2.5rem 1.9375rem 2.5rem;
    max-width: 49.1875rem;
    position: absolute;
    right: 7.5rem;
    top: -6.25rem;
    margin-inline: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.5rem;
  }
}

.top-news__header {
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .top-news__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    gap: 0.8125rem;
  }
}

.top-news__content {
  position: relative;
  margin-top: 1.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-news__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 0;
  }
}

.top-news__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #fff;
}

.top-news__item {
  padding-block: 1.5rem 1.4375rem;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .top-news__item {
    padding-block: 1.0625rem 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .top-news__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.625rem;
  }
}

.top-news__meta {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.4375rem;
}

.top-news__date {
  font-size: 0.75rem;
  font-family: "Lato", sans-serif;
  line-height: 1.1666666667;
  font-weight: 400;
  color: #fff;
}

.top-news__new {
  display: inline-block;
  background-color: #fff;
  color: #e1b33f;
  font-size: 0.625rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  padding: 0.0625rem 0.5rem;
  border-radius: 624.9375rem;
  text-transform: uppercase;
}

.top-news__body {
  margin-top: 0.5rem;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .top-news__body {
    margin-top: 0.75rem;
  }
}

.top-news__btn {
  max-width: 12.5rem;
}

.top-news__btn span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.top-greeting {
  background-color: #fff;
  border-radius: 0.9375rem 0.9375rem 0 0;
  padding-block: 2.875rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-greeting {
    border-radius: 3.75rem 3.75rem 0 0;
    padding-block: 11.25rem 5rem;
  }
}

@media screen and (min-width: 768px) {
  .top-greeting__inner {
    max-width: 68.125rem;
  }
}

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

.top-greeting__container {
  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) {
  .top-greeting__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 3.75rem;
  }
}

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

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

.top-greeting__text {
  line-height: 1.48;
}
@media screen and (min-width: 768px) {
  .top-greeting__text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.top-greeting__sign {
  margin-top: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .top-greeting__sign {
    margin-top: 0;
  }
}

.top-greeting__clinic {
  font-size: 0.875rem;
  line-height: 1.2142857143;
  font-family: "Lato", sans-serif;
  font-weight: 400;
}

.top-greeting__name {
  margin-top: 0.375rem;
  font-family: "Lato", sans-serif;
  line-height: 1.1875;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .top-greeting__name {
    margin-top: 0.4375rem;
    font-family: "Noto Sans JP", sans-serif;
  }
}

.top-greeting__position {
  font-weight: 700;
}

.top-greeting__person {
  margin-left: 1.1875rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .top-greeting__person {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.top-greeting__person + .top-greeting__person {
  margin-left: 0.75rem;
}

.top-greeting__position + .top-greeting__person {
  margin-left: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .top-greeting__position + .top-greeting__person {
    margin-left: 2.3125rem;
  }
}

.top-greeting__btn {
  margin-top: 2.5rem;
  gap: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .top-greeting__btn {
    margin-top: 1.4375rem;
    gap: 0.5rem;
  }
}

.top-greeting__image {
  margin-top: 1.5rem;
  aspect-ratio: 345/412;
  border-radius: 0.625rem;
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-greeting__image {
    margin-top: 0;
    border-radius: 1.25rem;
    aspect-ratio: 520/620;
    max-width: 32.5rem;
  }
}

.top-greeting__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-medical {
  position: relative;
}

.top-medical__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-medical__content {
    max-width: 65.125rem;
    margin-inline: auto;
  }
}

.top-medical__block {
  position: relative;
}

.top-medical__cards {
  position: relative;
  z-index: 2;
  margin-top: 1.5rem;
  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;
  -webkit-overflow-scrolling: touch;
  margin-left: 0;
  margin-right: calc(50% - 50vw);
  padding-inline: 1rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media screen and (min-width: 768px) {
  .top-medical__cards {
    margin-top: 2.5rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.0625rem 1fr 1.0625rem 1fr 1.0625rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.0625rem;
    overflow: visible;
    -ms-scroll-snap-type: none;
        scroll-snap-type: none;
    padding-inline: 0;
    max-width: 66.5rem;
    margin-inline: auto;
  }
}

.top-medical__cards::-webkit-scrollbar {
  display: none;
}

.top-medical__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 15.375rem;
  scroll-snap-align: start;
  background: #fff;
  border-radius: 0.625rem;
  padding-block: 0.9375rem 1.375rem;
  padding-inline: 2.375rem 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .top-medical__card {
    padding-block: 0.8125rem 1.3125rem;
  }
}

.top-medical__icon {
  width: 10.25rem;
  aspect-ratio: 1/1;
  margin-inline: auto;
}

.top-medical__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-medical__label {
  text-align: center;
  margin-top: 0.8125rem;
  max-width: 10.5rem;
  margin-inline: auto;
  display: inline-block;
}

.top-medical__label-inner {
  font-weight: 700;
  color: #fff;
  line-height: 1.1875;
  background: #e1b33f;
  border-radius: 0.3125rem;
  padding-block: 0.25rem 0.3125rem;
  padding-inline: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-medical__label-inner {
    padding-block: 0.3125rem;
  }
}

.top-medical__bg {
  background-color: #e1b33f;
  border-radius: 0.625rem 0.625rem 0 0;
  position: absolute;
  z-index: 0;
  height: 18.125rem;
  top: 10.5rem;
  left: 0;
  right: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .top-medical__bg {
    max-width: 1200px;
    margin-inline: auto;
    height: 21.5rem;
    top: 14.0625rem;
    left: 1.5625rem;
    right: 1.5625rem;
  }
}

.top-medical__bg::after {
  content: "";
  position: absolute;
  bottom: 19%;
  left: 4%;
  width: 11.375rem;
  aspect-ratio: 182/167;
  background: url("../images/decoration/logo-bg-yellow.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .top-medical__bg::after {
    width: 21rem;
    aspect-ratio: 336/309;
    bottom: 8%;
    left: 0;
  }
}

.top-medical__btn {
  margin-top: 2.4375rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .top-medical__btn {
    margin-top: 4.9375rem;
  }
}

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

.scroll-line__full {
  margin-inline: calc(50% - 50vi);
}

.scroll-line__wrap {
  overflow: hidden;
  position: relative;
}

.scroll-line__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  will-change: transform;
  -webkit-animation: scroll-left 95s linear infinite;
          animation: scroll-left 95s linear infinite;
}

.scroll-line__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.scroll-line__item {
  aspect-ratio: 174/116;
  width: 10.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .scroll-line__item {
    aspect-ratio: 3/2;
    width: 26.25rem;
  }
}

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

@-webkit-keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.top-column {
  overflow-x: clip;
}

.top-column__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-column__inner {
    max-width: 68.125rem;
  }
}

.top-column__inner::before {
  display: none;
  content: "";
  position: absolute;
  top: -5.75rem;
  right: -6rem;
  width: 21rem;
  height: 19.3125rem;
  background: url("../images/decoration/logo-bg-white.svg") no-repeat right top/contain;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .top-column__inner::before {
    display: block;
  }
}

.top-column__cards {
  position: relative;
  z-index: 1;
  margin-top: 2.4375rem;
  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;
}
@media screen and (min-width: 768px) {
  .top-column__cards {
    margin-top: 2.125rem;
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 4.375rem 1fr 4.375rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.375rem;
    margin-inline: auto;
  }
}

.top-column__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 86.9565217391%;
  margin-inline: auto;
  min-height: 21.3125rem;
}
@media screen and (min-width: 768px) {
  .top-column__card {
    width: auto;
    margin-inline: 0;
    min-height: 23.75rem;
  }
}

.top-column__image {
  aspect-ratio: 300/200;
  border-radius: 0.3125rem;
  overflow: hidden;
}

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

.top-column__body {
  color: #363636;
  margin-top: 0.9375rem;
  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;
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-column__body {
    margin-top: 1rem;
  }
}

.top-column__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.0625rem;
     -moz-column-gap: 1.0625rem;
          column-gap: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .top-column__meta {
    display: contents;
  }
}

.top-column__date {
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  line-height: 1.7142857143;
  font-weight: 400;
}

.top-column__title {
  font-weight: 700;
  line-height: 1.5;
  font-size: 1rem;
  margin-top: 0.125rem;
}
@media screen and (min-width: 768px) {
  .top-column__title {
    margin-top: 0.1875rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.top-column__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.1875rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .top-column__categories {
    margin-top: 0.4375rem;
    margin-bottom: 1rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.top-column__btn {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .top-column__btn {
    margin-top: auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.top-column__more {
  text-align: center;
  margin-top: 3.4375rem;
}
@media screen and (min-width: 768px) {
  .top-column__more {
    margin-top: 5.6875rem;
  }
}

.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.8125rem 1.875rem;
  border-radius: 62.4375rem;
  background-color: #e1b33f;
  color: #fff;
  border: 1px solid #e1b33f;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1.1875;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.5625rem;
}

.btn__icon-bg {
  fill: currentColor;
}

.btn__icon-dot {
  fill: #e1b33f;
  -webkit-transition: fill 0.3s;
  transition: fill 0.3s;
}

.btn__mail-icon {
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}
@media screen and (min-width: 768px) {
  .btn__mail-icon {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
}

.btn__mail-icon-path {
  fill: #fff;
}

.btn__icon {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .btn__icon {
    -webkit-transform: translateY(0.05em);
            transform: translateY(0.05em);
  }
}

.btn.btn--s {
  padding: 0.375rem 1.375rem;
}

.btn.btn--white {
  background-color: #fff;
  color: #e1b33f;
  border: 0.0625rem solid #fff;
}

.btn.btn--white .btn__icon-dot {
  fill: #fff;
}

.btn.btn--white.btn--s {
  padding: 0.5rem 1.375rem;
}

.btn.btn--tel {
  background-color: #F08873;
  border: 0.0625rem solid #F08873;
  padding: 0.875rem 2.5rem;
  gap: 0.5rem;
  -webkit-box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(0, 0, 0, 0.13);
          box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(0, 0, 0, 0.13);
}
@media screen and (min-width: 768px) {
  .btn.btn--tel {
    pointer-events: none;
    cursor: default;
  }
}

.btn--tel .btn__icon-bg {
  fill: currentColor;
}

.btn--tel .btn__icon-dot {
  fill: #F08873;
}

.btn.btn--tel.btn--tel-large {
  padding: 0.9375rem 2.4375rem;
}

/*トップページ「コラム一覧へ」ボタン*/
.btn.btn--top-column {
  -webkit-transform: translateX(8px);
          transform: translateX(8px);
  padding: 0.8125rem 2rem;
}
@media screen and (min-width: 768px) {
  .btn.btn--top-column {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    padding: 1rem 2rem;
    font-family: "Noto Sans JP", sans-serif;
  }
}

/*コラムボタン*/
.btn.btn--column {
  width: 100%;
  max-width: 13.5rem;
}

.btn.btn--column span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/*お問い合わせボタン*/
.btn.btn--contact {
  padding: 0.8125rem 2.375rem 0.8125rem 2.5rem;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
}

/*お問い合わせ確認戻るボタン*/
.btn.btn--contact.btn--back {
  padding: 0.8125rem 3.375rem;
}

/*TOPへ戻るボタン*/
.btn.btn--to-top {
  padding: 0.8125rem 1.9375rem;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
}

/*TOPへ戻るボタン404*/
.btn.btn--error {
  border: 0.0625rem solid #fff;
  padding: 0.875rem 1.9375rem;
  gap: 0.4375rem;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.13);
}

@media (any-hover: hover) {
  .btn:hover {
    background-color: #fff;
    color: #e1b33f;
    opacity: 1;
  }
  .btn:hover .btn__icon-dot {
    fill: #fff;
  }
  .btn.btn--white:hover {
    background-color: #e1b33f;
    color: #fff;
  }
  .btn.btn--white:hover .btn__icon-dot {
    fill: #e1b33f;
  }
  .btn:hover .btn__mail-icon-path {
    fill: #e1b33f;
  }
  .btn.btn--tel {
    pointer-events: none;
    cursor: default;
  }
  .btn--tel:hover {
    background-color: #fff;
    color: #F08873;
    border: 1px solid #F08873;
  }
  .btn--tel:hover .btn__icon-dot {
    fill: #fff;
  }
  .btn--to-top:hover .btn__icon-bg {
    fill: #e1b33f;
  }
  .btn--to-top:hover .btn__icon-dot {
    fill: #fff;
  }
}
.footer-cta {
  background-color: #fff;
  padding: 0.75rem 1.75rem 0.625rem 1.8125rem;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0.5rem rgba(236, 201, 107, 0.3);
          box-shadow: 0.25rem 0.25rem 0.5rem rgba(236, 201, 107, 0.3);
  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) {
  .footer-cta {
    padding: 0.75rem 1.5rem 0.59375rem 0.75rem;
    max-width: 51.25rem;
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .footer-cta__image {
    aspect-ratio: 300/136;
    max-width: 18.75rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-cta__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.footer-cta__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-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-cta__text {
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .footer-cta__text {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

.footer-cta__tel-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  font-family: "Lato", sans-serif;
  color: #363636;
  font-weight: 400;
  font-size: 1.5rem;
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .footer-cta__tel-link {
    font-size: 2.5rem;
    gap: 1.0625rem;
    pointer-events: none;
    cursor: default;
  }
}

.footer-cta__tel {
  font-style: normal;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .footer-cta__tel {
    margin-top: 0;
    margin-left: 1.4375rem;
  }
}

.footer-cta__tel-link img {
  width: 1.75rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .footer-cta__tel-link img {
    width: 2.5rem;
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
}

.footer-cta__btn {
  margin-top: 0.125rem;
  padding: 0.5rem 1.4375rem 0.5625rem 1.4375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .footer-cta__btn {
    margin-top: 0.4375rem;
    margin-left: -1.0625rem;
    padding: 0.5rem 1.4375rem 0.5625rem 1.4375rem;
  }
}

.footer-cta__btn.btn::after {
  margin-left: 0;
}

.footer-cta__btn img {
  width: 1.3125rem;
  height: auto;
  position: relative;
  top: 0.1875rem;
}

.footer {
  margin-top: 7.75rem;
  padding-block: 11.8125rem 3rem;
  background-color: #e1b33f;
  border-radius: 2.5rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .footer {
    margin-top: 8.75rem;
    padding-block: 4.75rem 5.125rem;
    border-radius: 6.25rem 0 0 0;
  }
}

@media screen and (min-width: 768px) {
  .footer.footer--contact-margin {
    margin-top: 11.25rem;
  }
}

@media screen and (min-width: 768px) {
  .footer.footer--thanks-margin {
    margin-top: 6.25rem;
  }
}

.footer__inner {
  position: relative;
  padding-inline: 1rem 0.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer__inner {
    max-width: 68.125rem;
  }
}

.footer__decoration {
  position: absolute;
  top: -17.125rem;
  left: -3.6875rem;
  width: 13.9375rem;
  height: 15.5625rem;
}
@media screen and (min-width: 768px) {
  .footer__decoration {
    width: 24.875rem;
    height: 27.75rem;
    top: -15.5625rem;
    left: -13.3125rem;
  }
}

.footer__tooth {
  width: 100%;
  height: 100%;
  background-image: url(../images/common/footer-decoration-tooth@2x.webp);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
  -webkit-filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
}

.footer__logo {
  position: absolute;
  z-index: 1;
  top: 3.0625rem;
  left: 4.6875rem;
  width: 6.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    top: 10.25rem;
    left: 14.875rem;
  }
}

.footer__logo img {
  width: 100%;
  height: auto;
}

.footer__content {
  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.625rem;
}
@media screen and (min-width: 768px) {
  .footer__content {
    margin-top: 4.625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 12.0625rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: 10.5rem;
  }
}

.footer__time {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  background-color: #fff;
  color: #e1b33f;
  padding: 1.5rem 1.375rem 1.3125rem 1.375rem;
  border-radius: 0.625rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 21.5625rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .footer__time {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 3rem 3.5rem 2.6875rem 2.5rem;
    max-width: 32.5rem;
  }
}

.footer__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .footer__table {
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
}

.footer__time th,
.footer__time td {
  padding: 0.4375rem 0.125rem 0.375rem 0.4375rem;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .footer__time th,
  .footer__time td {
    padding: 1.0625rem 0.1875rem 0.5625rem 0.125rem;
  }
}

.footer__time th:first-child,
.footer__time td:first-child {
  padding-left: 0;
  text-align: left;
  white-space: normal;
  width: 18%;
}
@media screen and (min-width: 768px) {
  .footer__time th:first-child,
  .footer__time td:first-child {
    padding-left: 0.375rem;
    width: 22%;
  }
}

.footer__time th:last-child,
.footer__time td:last-child {
  padding-right: 0;
}

.footer__time-start,
.footer__time-end {
  display: block;
}
@media screen and (min-width: 768px) {
  .footer__time-start,
  .footer__time-end {
    display: inline;
  }
}

.footer__time thead {
  font-size: 0.75rem;
  font-weight: 700;
  border-bottom: 1px solid #e1b33f;
}
@media screen and (min-width: 768px) {
  .footer__time thead {
    font-size: 0.875rem;
  }
}

.footer__time thead th {
  padding-top: 0;
  padding-bottom: 0.4375rem;
  padding-left: 0.625rem;
  padding-right: 0.375rem;
}
@media screen and (min-width: 768px) {
  .footer__time thead th {
    padding-bottom: 0.5625rem;
    padding-right: 0.5625rem;
    padding-left: 0.5rem;
  }
}

.footer__time tbody tr td:first-child {
  text-align: left;
}

.footer__time tbody tr + tr {
  border-top: 1px solid #e1b33f;
}

.footer__time tbody {
  border-bottom: 1px solid #e1b33f;
}

.footer__note {
  margin-top: 0.875rem;
  font-weight: 400;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .footer__note {
    margin-top: 1.5rem;
    margin-left: 0.4375rem;
  }
}

.footer__info {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 17.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  color: #fff;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .footer__info {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 2.875rem;
    gap: 0.5rem;
  }
}

.footer__info-name {
  font-size: 1.5rem;
  line-height: 1.2083333333;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}

.footer__info-address {
  margin-top: 0.5625rem;
  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.1875rem;
}
@media screen and (min-width: 768px) {
  .footer__info-address {
    margin-top: 0.125rem;
  }
}

.footer__info-tel,
.footer__info-mail {
  margin-top: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .footer__info-tel,
  .footer__info-mail {
    margin-top: -0.0625rem;
  }
}

.footer__info-tel a,
.footer__info-mail a {
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .footer__info-tel-link {
    pointer-events: none;
    cursor: default;
  }
}

.footer__btn-wrap {
  margin-top: 1.5rem;
  text-align: center;
}

.footer__copy {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  color: #fff;
  text-align: center;
  line-height: 1.2142857143;
  margin-top: 2.5rem;
  letter-spacing: 0.05em;
}

.section-title {
  position: relative;
  display: -ms-grid;
  display: grid;
  gap: 0.0625rem;
  color: #e1b33f;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
@media screen and (min-width: 768px) {
  .section-title {
    gap: 0.1875rem;
  }
}

.section-title__ja {
  position: relative;
  z-index: 3;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2083333333;
  padding-left: 0.375rem;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .section-title__ja {
    font-size: 2rem;
    line-height: 1.1875;
    padding-left: 0.4375rem;
  }
}

.section-title__ja::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 0.0625rem;
  top: -0.625rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #e1b33f;
}
@media screen and (min-width: 768px) {
  .section-title__ja::after {
    top: -0.625rem;
  }
}

.section-title__en {
  position: relative;
  z-index: 3;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  padding-left: 0.375rem;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}

/* セクションタイトル色違いの指定 */
.section-title.section-title--small {
  color: #fff;
  gap: 0;
}

.section-title.section-title--small::after {
  background: #fff;
  top: -0.5rem;
}

.section-title--small .section-title__ja {
  font-size: 1rem;
  font-weight: 400;
  white-space: nowrap;
}

/* 下層ページの限定セクションタイトル装飾 */
.section-title--bg-text {
  position: relative;
}

.section-title--bg-text::before {
  z-index: -1;
  content: attr(data-en);
  position: absolute;
  top: -5.6875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 100vw;
  font-family: "Lato", sans-serif;
  font-size: 3.375rem;
  color: #faf3e0;
  line-height: 1;
  letter-spacing: -0.01em;
  pointer-events: none;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .section-title--bg-text::before {
    font-size: 8.75rem;
    line-height: 1;
    letter-spacing: -0.005em;
    top: -4.6875rem;
    -webkit-transform: translateX(-27%);
            transform: translateX(-27%);
  }
}

.section-title.section-title--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* サイドバー専用 */
.section-title__ja.section-title__ja--sidebar {
  font-size: 1.5rem;
}

/*パンくずリスト*/
.breadcrumb {
  color: #A5A5A5;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  width: 100%;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.breadcrumb > span {
  display: inline;
}

.breadcrumb a {
  color: inherit;
}

.breadcrumb.breadcrumb--error {
  color: #fff;
}

.breadcrumb span:not(:first-child) {
  margin-left: 0.5rem;
}

.breadcrumb__arrow {
  position: relative;
  margin-right: 0.5rem;
}

.breadcrumb__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-52%);
          transform: translateY(-52%);
  left: 0;
  width: 0.5625rem;
  height: 0.9375rem;
  background-image: url(../images/common/arrow-k.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .breadcrumb__arrow::before {
    -webkit-transform: translateY(-43%);
            transform: translateY(-43%);
  }
}

.breadcrumb--error .breadcrumb__arrow::before {
  background-image: url(../images/common/arrow-w.svg);
}

/* 現在地だけ */
.breadcrumb .current-item {
  color: #363636;
}

/* 404ページ */
.breadcrumb--error .current-item {
  color: #fff;
}

/*すべてのお知らせ リスト*/
.news-list {
  display: -ms-grid;
  display: grid;
  width: 92.7536231884%;
  row-gap: 2.5625rem;
  margin-inline: auto;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  grid-auto-rows: 1fr;
}
@media screen and (min-width: 768px) {
  .news-list {
    width: 100%;
    -ms-grid-columns: 1fr 1.5rem 1fr 1.5rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    row-gap: 3.5rem;
  }
}

.news-list__item {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .news-list__item {
    width: 100%;
    max-width: 284px;
  }
}

.news-list__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

.news-list__image {
  border-radius: 0.3125rem 0.3125rem 0 0;
  aspect-ratio: 320/208;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .news-list__image {
    aspect-ratio: 284/185;
  }
}

.news-list__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 1s all;
  transition: 1s all;
}

@media (any-hover: hover) {
  .news-list__item a:hover .news-list__image img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .news-list__item a:hover {
    opacity: 1;
  }
}
.news-list__body {
  background-color: #fff;
  border-radius: 0 0 0.3125rem 0.3125rem;
  padding: 1rem 1rem 1.5rem 1.0625rem;
  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;
}
@media screen and (min-width: 768px) {
  .news-list__body {
    padding: 1rem 1rem 1.5625rem 1rem;
  }
}

.news-list__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
}

.news-list__date {
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  line-height: 1.2142857143;
  font-weight: 400;
  color: #363636;
}

.news-list__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

.news-list__title {
  margin-top: 0.625rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1rem;
  font-weight: 700;
  color: #363636;
  line-height: 1.1875;
}

.news-list__text {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  color: #363636;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .news-list__text {
    margin-top: 0.625rem;
    line-height: 1.26;
  }
}

/*paginationスタイル*/
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.8125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .pagination {
    gap: 3.5rem;
  }
}

.pagination__item .page-numbers {
  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;
  width: 1.75rem;
  height: 1.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  color: #e1b33f;
  font-size: 0.875rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .pagination__item .page-numbers {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.25rem;
    letter-spacing: -0.19em;
  }
}

.prev.page-numbers {
  margin-right: 1.5rem;
}
@media screen and (min-width: 768px) {
  .prev.page-numbers {
    margin-right: 0;
  }
}

.next.page-numbers {
  margin-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .next.page-numbers {
    margin-left: 0;
  }
}

.page-numbers.prev::before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 0.875rem;
  background: url("../images/icons/arrow-left.svg") no-repeat center/contain;
}

.page-numbers.next::before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 0.875rem;
  background: url("../images/icons/arrow-right.svg") no-repeat center/contain;
}

.pagination__item a {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .pagination__item a:hover,
  .pagination__item a:focus-visible {
    opacity: 0.6;
  }
}
.page-numbers.current {
  pointer-events: none;
  background-color: #e1b33f;
  color: #fff;
}

/*sidebarスタイル*/
.sidebar {
  padding-right: 3.125rem;
}
@media screen and (min-width: 768px) {
  .sidebar {
    padding-right: 0;
    max-width: 12rem;
    width: 100%;
  }
}

.sidebar__group {
  margin-top: 4.125rem;
}

.sidebar__group:first-child {
  margin-top: 0;
}

/*最新記事*/
.sidebar__latest-posts-item {
  margin-top: 1.625rem;
}

.sidebar__latest-posts-link {
  color: #363636;
  font-weight: 700;
  line-height: 1.1875;
}

.sidebar__latest-date {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2142857143;
}

.sidebar__latest-title {
  margin-top: 0.5625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/*カテゴリー*/
.sidebar__category-list {
  margin-top: 1.125rem;
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .sidebar__category-list {
    margin-top: 1.75rem;
  }
}

.sidebar__category-link {
  display: block;
  color: #363636;
  font-weight: 700;
  line-height: 1.2142857143;
  text-decoration: none;
  padding: 0.25rem 0;
  padding-left: 0.875rem;
}
@media screen and (min-width: 768px) {
  .sidebar__category-link {
    padding-left: 0.625rem;
  }
}

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

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

.top-footer-cta {
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .top-footer-cta {
    margin-top: 7.1875rem;
  }
}

body.error-page {
  background-color: #e1b33f;
}

.error-page__container {
  padding-block: 6.25rem 5.375rem;
}
@media screen and (min-width: 768px) {
  .error-page__container {
    padding-block: 9.375rem 4.125rem;
  }
}

.error-page__inner {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .error-page__inner {
    margin-top: 2rem;
  }
}

.error-page__title {
  max-width: clamp(19.1875rem, 80vw, 45rem);
  margin-inline: auto;
  aspect-ratio: 307/127;
}
@media screen and (min-width: 768px) {
  .error-page__title {
    max-width: 45rem;
    aspect-ratio: 720/276;
  }
}

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

.error-page__message {
  margin-top: 3.375rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2083333333;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .error-page__message {
    margin-top: 2.75rem;
    font-size: 2rem;
    line-height: 1.1875;
  }
}

.error-page__description {
  margin-top: 1.125rem;
  line-height: 1.5;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .error-page__description {
    margin-top: 1.75rem;
  }
}

.error-page__btn {
  margin-top: 3.3125rem;
}
@media screen and (min-width: 768px) {
  .error-page__btn {
    margin-top: 2.4375rem;
  }
}

/*下層ページのファーストビュー*/
.lower-fv {
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .lower-fv {
    margin-top: 9.625rem;
  }
}

.lower-fv__title {
  position: absolute;
  top: 45.796460177%;
  left: 50%;
  -webkit-transform: translateX(-28%);
          transform: translateX(-28%);
  z-index: 2;
  font-family: "Lato", sans-serif;
  font-size: clamp(2rem, 6.5vw, 3rem);
  font-weight: 700;
  line-height: 1.1875;
  color: #e1b33f;
  width: 100%;
  max-width: 51vw;
  word-break: normal;
  overflow-wrap: break-word;
}
@media screen and (min-width: 768px) {
  .lower-fv__title {
    top: 45.5252918288%;
    left: 50%;
    -webkit-transform: translateX(-17.5%);
            transform: translateX(-17.5%);
    font-size: 3rem;
    line-height: 1.2083333333;
    min-width: 37.5rem;
  }
}

.lower-fv__title.lower-fv__title--offset {
  -webkit-transform: translateX(-34%);
          transform: translateX(-34%);
}
@media screen and (min-width: 768px) {
  .lower-fv__title.lower-fv__title--offset {
    -webkit-transform: translateX(-19.8%);
            transform: translateX(-19.8%);
  }
}

.lower-fv__title.lower-fv__title--news {
  -webkit-transform: translateX(-25%);
          transform: translateX(-25%);
}
@media screen and (min-width: 768px) {
  .lower-fv__title.lower-fv__title--news {
    -webkit-transform: translateX(-16.5%);
            transform: translateX(-16.5%);
  }
}

.lower-fv__content {
  position: relative;
  margin-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .lower-fv__content {
    width: 91.6667%;
    margin-right: 0;
    margin-left: auto;
  }
}

.lower-fv__image {
  aspect-ratio: 360/452;
  border-radius: 0 0 0 1.875rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .lower-fv__image {
    aspect-ratio: 1320/514;
    border-radius: 0 0 0 3.75rem;
  }
}

.lower-fv__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

/*topへ戻る*/
.pagetop {
  position: fixed;
  right: 0.75rem;
  bottom: 10.375rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .pagetop {
    right: 7.125rem;
    bottom: 4.5rem;
  }
}

.pagetop__button {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .pagetop__button {
    width: 4.375rem;
    height: 4.375rem;
  }
}

.pagetop__icon {
  width: 100%;
  height: 100%;
  display: block;
}

.pagetop__circle {
  fill: #e1b33f;
  stroke: #fff;
  stroke-width: 1;
}

.pagetop__arrow {
  fill: #fff;
}
@media screen and (min-width: 768px) {
  .pagetop__arrow {
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}

/*下層 label*/
.tag-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.1875rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tag-category__label {
  padding: 0 0.4375rem;
  font-size: 0.625rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  background-color: #fff;
  border-radius: 1.25rem;
  border: 1px solid #e1b33f;
  color: #e1b33f;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .tag-category__label {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.tag-category__label a {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
}

.tag-category__label.tag-category--large {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .tag-category__label.tag-category--large {
    padding: 0.125rem 1.4375rem;
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
}

.tag-category__label.tag-category--new {
  font-family: "Lato", sans-serif;
  background-color: #e1b33f;
  color: #fff;
}

.category-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 0.9375rem;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .category-item {
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.category-item__item a {
  padding: 0.0625rem 1.5rem;
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  border-radius: 1.25rem;
  border: 1px solid #e1b33f;
  color: #e1b33f;
  background-color: #fff;
  line-height: 1.2142857143;
}
@media screen and (min-width: 768px) {
  .category-item__item a {
    font-family: "Noto Sans JP", sans-serif;
  }
}

/*アーカイブ*/
.sidebar-archive {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sidebar-archive {
    margin-top: 1.625rem;
  }
}

@media screen and (min-width: 768px) {
  .sidebar-archive.sidebar-archive--single {
    margin-left: 0.3125rem;
  }
}

.sidebar-archive__item + .sidebar-archive__item {
  margin-top: 1.3125rem;
}

.sidebar-archive__year {
  list-style: none;
}

.sidebar-archive__year::-webkit-details-marker {
  display: none;
}

.sidebar-archive__year {
  font-weight: bold;
  cursor: pointer;
  padding-left: 0.875rem;
  list-style: none;
  -webkit-appearance: none;
  position: relative;
}

.sidebar-archive__year::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5625rem;
  width: 0;
  height: 0;
  border-top: 0.375rem solid transparent;
  border-bottom: 0.375rem solid transparent;
  border-left: 0.5rem solid #e1b33f;
  -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;
}

details[open] .sidebar-archive__year::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sidebar-archive__lists {
  margin-top: -0.1875rem;
}

.sidebar-archive__list {
  padding-left: 1.6875rem;
}

.sidebar-archive__list a {
  display: inline-block;
  font-size: 0.875rem;
  color: #363636;
  line-height: 2;
  text-decoration: none;
  position: relative;
  padding-left: 0.875rem;
  letter-spacing: -0.05rem;
}

.sidebar-archive__list a::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.column-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .column-meta {
    gap: 1.5rem;
  }
}

.column-meta__date {
  font-size: 0.875rem;
  color: #363636;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .column-meta__date {
    font-family: "Lato", sans-serif;
    line-height: 1.7142857143;
  }
}

.nav-text {
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  color: #363636;
  line-height: 1.25;
}

.nav-text::before {
  content: "";
  position: absolute;
  left: -0.3125rem;
  inset-block-start: 0.9375rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #e1b33f;
}

/* =========================
   404 page
========================= */
.nav-text.nav-text--white {
  color: #fff;
}

.nav-text.nav-text--white::before {
  background-color: #fff;
}

.section-top-greeting {
  margin-top: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .section-top-greeting {
    margin-top: 0;
  }
}

.section-top-news {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .section-top-news {
    margin-top: 0;
  }
}

.section-top-medical {
  margin-top: 3.0625rem;
}
@media screen and (min-width: 768px) {
  .section-top-medical {
    margin-top: 8.125rem;
  }
}

.section-top-column {
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .section-top-column {
    margin-top: 8.3125rem;
  }
}

/*下層 about*/
.about-page__breadcrumb {
  margin-top: 0.625rem;
}

.about-page__thoughts {
  position: relative;
  overflow-x: clip;
  padding-top: 6.1875rem;
}
@media screen and (min-width: 768px) {
  .about-page__thoughts {
    padding-top: 9.75rem;
  }
}

.about-page__thoughts-heading {
  text-align: center;
}

.about-page__decoration {
  position: absolute;
  top: 2.5625rem;
  left: 50%;
  -webkit-transform: translateX(-93%);
          transform: translateX(-93%);
  width: clamp(16.75rem, 35vw, 39.75rem);
  height: clamp(18.6875rem, 39vw, 44.375rem);
  background-image: url(../images/common/footer-decoration-tooth@2x.webp);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .about-page__decoration {
    top: 4.125rem;
    left: 50%;
    -webkit-transform: translateX(-138%);
            transform: translateX(-138%);
    width: 39.75rem;
    height: 44.375rem;
  }
}

.about-page__thoughts-container {
  margin-top: 0.875rem;
  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;
}
@media screen and (min-width: 768px) {
  .about-page__thoughts-container {
    margin-top: 2.3125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .about-page__content {
    max-width: 25.75rem;
  }
}

.about-page__thoughts-lead {
  position: relative;
  z-index: 3;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
}

.about-page__thoughts-text {
  position: relative;
  z-index: 3;
  margin-top: 1.4375rem;
  display: -ms-grid;
  display: grid;
  gap: 1.375rem;
}
@media screen and (min-width: 768px) {
  .about-page__thoughts-text {
    margin-top: 2.5rem;
    max-width: 25.75rem;
    gap: 1.5rem;
  }
}

.about-page__thoughts-text-item {
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  .about-page__thoughts-text-item {
    line-height: 1.5;
  }
}

.about-page__thoughts-image {
  aspect-ratio: 345/230;
  overflow: hidden;
  width: 100%;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about-page__thoughts-image {
    margin-top: 3.625rem;
    aspect-ratio: 580/386;
    max-width: 36.25rem;
    max-height: 24.125rem;
    border-radius: 1.25rem;
  }
}

.about-page__thoughts-image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

/*診療の柱 policy*/
.about-page__policy {
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .about-page__policy {
    margin-top: 8.25rem;
  }
}

.about-page__policy-heading {
  text-align: center;
}

/* === カードリスト === */
.about-page__policy-items {
  margin-top: 2.3125rem;
  max-width: 19.625rem;
  margin-inline: auto;
  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;
}
@media screen and (min-width: 768px) {
  .about-page__policy-items {
    -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;
    gap: 3rem;
  }
}

.about-page__policy-item {
  text-align: center;
}

.about-page__policy-box {
  width: 100%;
  height: 19.8125rem;
  background-color: #fff;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.05);
  padding: 2.25rem 3.875rem;
}

.about-page__policy-image {
  aspect-ratio: 1/1;
  width: 11.875rem;
  margin-inline: auto;
  border-radius: 50%;
  overflow: hidden;
}

.about-page__policy-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about-page__policy-label {
  margin-top: 1.5rem;
  margin-inline: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 10.125rem;
  max-width: 10.125rem;
  max-height: 2.875rem;
  padding: 0.375rem 0rem;
  font-weight: 700;
  line-height: 1.1875;
  background-color: #e1b33f;
  color: #fff;
  border-radius: 0.3125rem;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}

.about-page__policy-text {
  margin-top: 1.5625rem;
  line-height: 1.41;
}
@media screen and (min-width: 768px) {
  .about-page__policy-text {
    line-height: 1.1875;
    min-height: 3.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .about-page__policy-text.policy-text--2lines {
    line-height: 1.4;
  }
}

/* アクセス */
.about-page__access {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .about-page__access {
    margin-top: 8.25rem;
  }
}

.about-page__access-stack {
  position: relative;
  display: inline-block;
}

.about-page__access-image {
  width: 100%;
  aspect-ratio: 344/239;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about-page__access-image {
    width: 52.6875rem;
    aspect-ratio: 843/356;
    margin-inline: 0;
    border-radius: 1.25rem;
  }
}

.about-page__access-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about-page__access-map {
  margin-top: 1.5rem;
  aspect-ratio: 375/241;
  margin-inline: calc(50% - 50vi);
}
@media screen and (min-width: 768px) {
  .about-page__access-map {
    position: absolute;
    bottom: -11.0625rem;
    right: -12.375rem;
    width: 37.5rem;
    aspect-ratio: 600/386;
    border-radius: 1.25rem;
    overflow: hidden;
    margin-top: 0;
    margin-inline: 0;
  }
}

.about-page__access-map img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about-page__access-info {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .about-page__access-info {
    margin-top: 2.125rem;
    max-width: 25rem;
  }
}

.about-page__access-title {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2083333333;
  word-break: normal;
  overflow-wrap: break-word;
}

.about-page__access-address {
  margin-top: 0.4375rem;
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.72;
}

.about-page__access-address .zip {
  margin-right: 0.375rem;
}

.about-page__footer-cta {
  margin-top: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .about-page__footer-cta {
    margin-top: 9.375rem;
  }
}

/*下層 News詳細ページ*/
.news-detail-page__breadcrumb {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__breadcrumb {
    margin-top: 9.375rem;
  }
}

.news-detail-page__content {
  margin-top: 1.375rem;
  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.625rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__content {
    margin-top: 3.3125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(60px, 12.5vw, 180px);
  }
}

.news-detail-page__main {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news-detail-page__main {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 43.75rem;
  }
}

.news-detail-page__sidebar {
  margin-top: 6.8125rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news-detail-page__sidebar {
    margin-top: 0.625rem;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 15rem;
  }
}

.news-detail-page__eyecatch {
  border-radius: 0.3125rem 0.3125rem 0 0;
  width: 100%;
  aspect-ratio: 345/222;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .news-detail-page__eyecatch {
    aspect-ratio: 700/450;
  }
}

.news-detail-page__eyecatch img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-detail-page__header {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__header {
    margin-top: 3.0625rem;
  }
}

.news-detail-page__meta {
  margin-top: 0.1875rem;
  margin-left: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  color: #e1b33f;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .news-detail-page__meta {
    margin-top: 0.1875rem;
    margin-left: 0.5rem;
  }
}

.news-detail-page__date {
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  line-height: 1.1666666667;
}
@media screen and (min-width: 768px) {
  .news-detail-page__date {
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
}

.news-detail-page__body {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body {
    margin-top: 2.4375rem;
  }
}

.news-detail-page__body h2.wp-block-heading {
  position: relative;
  padding-left: 1rem;
  margin-top: 2.5625rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body h2.wp-block-heading {
    margin-top: 2.4375rem;
    font-size: 1.5rem;
    padding-left: 1.125rem;
    line-height: 1;
  }
}

.news-detail-page__body h2.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5rem;
  height: 1.75rem;
  background-color: #e1b33f;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body h2.wp-block-heading::before {
    width: 0.625rem;
    height: 2rem;
  }
}

.news-detail-page__body h3.wp-block-heading {
  margin-top: 2.625rem;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body h3.wp-block-heading {
    margin-top: 3.3125rem;
    font-size: 1.25rem;
    line-height: 0.8333333333;
  }
}

.news-detail-page__body a {
  margin-top: 2.5625rem;
  display: inline-block;
  color: #1093dd;
  text-decoration: underline;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body a {
    margin-top: 2.875rem;
  }
}

.news-detail-page__body strong {
  font-weight: 700;
}

.article-pager__link--center {
  white-space: nowrap;
}

.news-detail-page__list {
  counter-reset: num;
  margin-top: 2.4375rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .news-detail-page__list {
    margin-top: 2.75rem;
  }
}

.news-detail-page__body ol {
  margin-top: 2.5rem;
  counter-reset: list;
}
@media screen and (min-width: 768px) {
  .news-detail-page__body ol {
    margin-top: 2.75rem;
  }
}

.news-detail-page__body ol li {
  margin-top: 0.25rem;
  counter-increment: list;
  position: relative;
  padding-left: 0.875rem;
}

.news-detail-page__body ol li::before {
  content: counter(list) ")";
  position: absolute;
  left: 0;
}

.news-detail-page__pager {
  margin-top: 4.9375rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__pager {
    margin-top: 5.0625rem;
    width: 332px;
    margin-inline: auto;
    -webkit-transform: translateX(-6px);
            transform: translateX(-6px);
  }
}

.news-detail-page__footer-cta {
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .news-detail-page__footer-cta {
    margin-top: 6.25rem;
  }
}

/*下層 news*/
.news-page__breadcrumb {
  margin-top: 0.625rem;
}

.news-page__archive {
  margin-top: 6.1875rem;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .news-page__archive {
    margin-top: 9.75rem;
  }
}

.news-page__pagination {
  margin-top: 3.9375rem;
}
@media screen and (min-width: 768px) {
  .news-page__pagination {
    margin-top: 4.9375rem;
  }
}

.news-page__sidebar {
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .news-page__sidebar {
    margin-top: 0.625rem;
  }
}

.news-page__sidebar .inner {
  padding-inline: 0;
  max-width: 100%;
}

.news-page__content-wrapper {
  margin-top: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .news-page__content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.625rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.news-page__main {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news-page__main {
    width: 75.1%;
  }
}

.sidebar-news {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sidebar-news {
    width: 16.7%;
  }
}

.news-page__footer-cta {
  margin-top: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .news-page__footer-cta {
    margin-top: 7.5625rem;
  }
}

/*下層 column*/
.column-page__breadcrumb {
  margin-top: 0.625rem;
}

.column-page__section {
  margin-top: 6.1875rem;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .column-page__section {
    margin-top: 9.8125rem;
  }
}

.column-page__category {
  margin-top: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .column-page__category {
    margin-top: 2.1875rem;
  }
}

/*コラム記事*/
.column-page__items {
  margin-top: 2.5625rem;
  display: -ms-grid;
  display: grid;
  row-gap: 2.4375rem;
}
@media screen and (min-width: 768px) {
  .column-page__items {
    margin-top: 2.5rem;
    row-gap: 3.375rem;
  }
}

.column-page__item {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .column-page__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
}

.column-page__image {
  width: 100%;
  aspect-ratio: 345/224;
  overflow: hidden;
  border-radius: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .column-page__image {
    aspect-ratio: 344/224;
    max-width: 21.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

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

.column-page__content {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .column-page__content {
    margin-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 41rem;
  }
}

.column-page__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #e1b33f;
  line-height: 1.43;
}
@media screen and (min-width: 768px) {
  .column-page__title {
    color: #fff;
    background-color: #e1b33f;
    padding-block: 0.375rem 0.3125rem;
    padding-left: 1rem;
    border-radius: 0.1875rem;
  }
}

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

.column-page__text {
  margin-top: 0.3125rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #363636;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .column-page__text {
    margin-top: 0.375rem;
    font-size: 1rem;
    -webkit-line-clamp: 2;
  }
}

.column-page__btn {
  margin-top: 1.75rem;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .column-page__btn {
    margin-top: 2.625rem;
    gap: 0.625rem;
  }
}

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

.column-page__footer-cta {
  margin-top: 3.4375rem;
}
@media screen and (min-width: 768px) {
  .column-page__footer-cta {
    margin-top: 7.5rem;
  }
}

/*下層 column詳細ページ*/
.column-detail-page__breadcrumb {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__breadcrumb {
    margin-top: 9.375rem;
  }
}

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

/*コラム詳細*/
@media screen and (min-width: 768px) {
  .column-detail-page__inner {
    max-width: 46.875rem;
  }
}

.column-detail-page__title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.2083333333;
  color: #fff;
  background-color: #e1b33f;
  border-radius: 0.1875rem;
  padding-block: 0.5rem 0.5625rem;
  padding-left: 1rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__title {
    padding-block: 0.625rem;
  }
}

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

.column-detail-page__date {
  font-size: 0.875rem;
  color: #363636;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .column-detail-page__date {
    font-family: "Lato", sans-serif;
    line-height: 1.7142857143;
  }
}

.column-detail-page__description {
  margin-top: 0.75rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .column-detail-page__description {
    margin-top: 2.375rem;
  }
}

.column-detail-page__thumbnail {
  aspect-ratio: 345/222;
  border-radius: 0.3125rem;
  overflow: hidden;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__thumbnail {
    aspect-ratio: 700/450;
    margin-top: 2.5rem;
  }
}

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

.column-detail__content {
  margin-top: 2.6875rem;
  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.6875rem;
}
@media screen and (min-width: 768px) {
  .column-detail__content {
    gap: 2.5625rem;
  }
}

.column-detail__section h2 {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.33;
  color: #e1b33f;
}

.column-detail__section p {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .column-detail__section p {
    margin-top: 1.625rem;
  }
}

.column-detail-page__footer-cta {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__footer-cta {
    margin-top: 7.5rem;
  }
}

.column-detail-page__pager {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .column-detail-page__pager {
    margin-top: 3.5rem;
    width: 332px;
    margin-inline: auto;
    -webkit-transform: translateX(-6px);
            transform: translateX(-6px);
  }
}

.column-detail-page__footer {
  margin-top: 2.5rem;
}

/*下層 medical*/
.medical-page__breadcrumb {
  margin-top: 0.625rem;
}

.medical-page__treatment {
  margin-top: 6.125rem;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment {
    margin-top: 9.75rem;
  }
}

.medical-page__treatment-list {
  margin-top: 1.4375rem;
  display: -ms-grid;
  display: grid;
  gap: 1.3125rem;
  -ms-grid-columns: 1fr 1.3125rem 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-list {
    margin-top: 2.3125rem;
    -ms-grid-columns: 1fr 1.1875rem 1fr 1.1875rem 1fr 1.1875rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1875rem;
  }
}

.medical-page__treatment-item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  border-radius: 0.625rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0.5rem rgba(236, 201, 107, 0.3);
          box-shadow: 0.25rem 0.25rem 0.5rem rgba(236, 201, 107, 0.3);
  padding: 0.375rem 0.375rem 0.5rem 0.375rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-item {
    padding: 1.0625rem 1rem 1.4375rem 1rem;
  }
}

.medical-page__treatment-icon {
  aspect-ratio: 1/1;
  width: 6.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-icon {
    width: 10.25rem;
  }
}

.medical-page__treatment-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.medical-page__treatment-label {
  margin-top: 0.4375rem;
  display: inline-block;
  padding: 0.375rem 0.75rem;
  font-weight: 700;
  line-height: 1.1875;
  background-color: #e1b33f;
  color: #fff;
  border-radius: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-label {
    margin-top: 0.8125rem;
    padding: 0.375rem 0.75rem;
  }
}

.medical-page__treatment-label--compact {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-label--compact {
    font-size: 1rem;
  }
}

.medical-page__treatment-content {
  margin-top: 3.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8125rem;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-content {
    margin-top: 4.8125rem;
    gap: 4.9375rem;
  }
}

.medical-page__treatment-body {
  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;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3rem;
  }
}

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

.medical-page__treatment-number {
  display: inline-block;
  font-size: 0.75rem;
  color: #e1b33f;
  border: 1px solid #e1b33f;
  border-radius: 1.25rem;
  padding: 0.125rem 1.4375rem;
  line-height: 1.1666666667;
}

.medical-page__treatment-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #363636;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-title {
    margin-top: 0.1875rem;
    line-height: 1.4;
  }
}

.medical-page__treatment-text {
  margin-top: 1.6875rem;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-text {
    margin-top: 2.375rem;
  }
}

.medical-page__treatment-image {
  aspect-ratio: 345/230;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .medical-page__treatment-image {
    margin-top: 0.125rem;
    aspect-ratio: 580/386;
    border-radius: 1.25rem;
    width: 100%;
    max-width: 36.25rem;
  }
}

.medical-page__treatment-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.anchor {
  scroll-margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .anchor {
    scroll-margin-top: 10rem;
  }
}

.medical-page__footer-cta {
  margin-top: 2.625rem;
}
@media screen and (min-width: 768px) {
  .medical-page__footer-cta {
    margin-top: 7.5rem;
  }
}

/*記事ナビゲーション*/
.pager__items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.pager__item--prev {
  -ms-grid-column-align: start;
      justify-self: start;
}

.pager__item--start {
  -ms-grid-column-align: center;
      justify-self: center;
}
@media screen and (min-width: 768px) {
  .pager__item--start {
    margin-right: -0.6875rem;
  }
}

.pager__item--end {
  -ms-grid-column-align: end;
      justify-self: end;
}
@media screen and (min-width: 768px) {
  .pager__item--end {
    margin-right: 0.625rem;
  }
}

.pager__item {
  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;
  font-size: 0.875rem;
  line-height: 1;
}

.pager__item-link {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  font-family: "Lato", sans-serif;
  color: #e1b33f;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.pager__item--start .pager__item-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.pager__item-image {
  width: 1rem;
  height: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/*下層ページのファーストビュー*/
.page-visual {
  margin-top: 5.625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-visual {
    margin-top: 9.625rem;
  }
}

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

.page-visual__title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 2rem;
  color: #e1b33f;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1.1875;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-visual__title {
    top: 52%;
    font-size: 3rem;
    line-height: 0.8275862069;
  }
}

.page-visual__image-wrapper {
  width: 100%;
  padding-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .page-visual__image-wrapper {
    padding-left: 0;
    max-width: 82.5rem;
    margin-inline: auto calc(50% - 50vi);
  }
}

.page-visual__image {
  aspect-ratio: 360/452;
  width: 100%;
  overflow: hidden;
  border-radius: 0 0 0 1.875rem;
}
@media screen and (min-width: 768px) {
  .page-visual__image {
    aspect-ratio: 1320/514;
    border-radius: 0 0 0 3.75rem;
  }
}

.page-visual__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
}

/*お問い合わせフォーム*/
.contact-form {
  max-width: 43.75rem;
  margin-inline: auto;
}

.contact-form__row {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contact-form__row {
    margin-top: 2.5rem;
  }
}

.contact-form__row:first-child,
.confirm-area .contact-form__row:first-child {
  margin-top: 0;
}

.confirm-area .contact-form__row {
  margin-top: 2.9375rem;
}

.contact-form__row.contact-form__row--comment {
  margin-top: 4.125rem;
}

.contact-form__row--comment .contact-form__label {
  margin-bottom: 1.5rem;
}

.contact-form__wrap {
  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) {
  .contact-form__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.25rem;
  }
}

.contact-form__label {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
@media screen and (min-width: 768px) {
  .contact-form__label {
    width: 9rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-bottom: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .contact-form__input .wpcf7-form-control-wrap {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.contact-form__required::before {
  content: "※";
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  color: #CB0000;
  position: relative;
  top: -0.0625rem;
}

.contact-form__required.contact-form__label--spaced::before {
  margin-left: 0.25rem;
  position: relative;
  top: -0.25rem;
}

.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form textarea {
  width: 100%;
  padding: 0.6875rem 1.5rem;
  border-radius: 0.3125rem;
  background-color: #fff;
}

.contact-form textarea {
  min-height: 13.5625rem;
  resize: vertical;
}
@media screen and (min-width: 768px) {
  .contact-form textarea {
    min-height: 18.75rem;
  }
}

.contact-form__btn {
  margin-top: 2.6875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-form__btn {
    margin-top: 4.5625rem;
  }
}

.contact-form__btns {
  margin-top: 3.5rem;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-form__btns {
    margin-top: 4rem;
  }
}

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

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

/* CF7が出力するクラス */
.wpcf7-radio {
  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: 0.125rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-radio {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
}

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

.wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.contact-form .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}

.contact-form .wpcf7-list-item-label {
  position: relative;
  padding-left: 1.375rem;
}

.contact-form .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
  border: 1px solid #e1b33f;
  border-radius: 50%;
  background-color: #fff;
}

.contact-form input[type=radio]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.375rem;
  height: 0.375rem;
  background-color: #e1b33f;
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  .contact-form .wpcf7-form-control-wrap {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.contact-form__wrap input.wpcf7-not-valid {
  border: 1px solid #e60012;
}

/*確認画面全体を隠しておく*/
.confirm-area {
  display: none;
}

/*確認画面*/
.confirm-area .contact-form__row {
  margin-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .confirm-area .contact-form__row {
    margin-top: 3.875rem;
  }
}

.confirm-area .contact-form__label {
  margin-bottom: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .confirm-area .contact-form__label {
    margin-bottom: 0;
  }
}

.confirm-area .contact-form__row--comment .contact-form__label {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .confirm-area .contact-form__row--comment .contact-form__label {
    margin-bottom: 0;
  }
}

.confirm-area .contact-form__row.contact-form__row--comment {
  margin-top: 4.0625rem;
}
@media screen and (min-width: 768px) {
  .confirm-area .contact-form__row.contact-form__row--comment {
    margin-top: 2.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .confirm-area .contact-form__btns {
    margin-top: 4.0625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.9375rem;
  }
}

/*お問い合わせフォーム*/
.contact-page__breadcrumb {
  margin-top: 0.625rem;
}

.contact-page__section {
  margin-top: 6.125rem;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .contact-page__section {
    margin-top: 9.75rem;
  }
}

@media screen and (min-width: 768px) {
  .contact-page__inner {
    max-width: 68.125rem;
  }
}

.contact-page__container {
  margin-top: 1.3125rem;
}
@media screen and (min-width: 768px) {
  .contact-page__container {
    margin-top: 2.3125rem;
  }
}

/*thanks-page*/
.thanks-page__breadcrumb {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .thanks-page__breadcrumb {
    margin-top: 9.375rem;
  }
}

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

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

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

.thanks-page__btn {
  margin-top: 3.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .thanks-page__btn {
    margin-top: 2.5625rem;
  }
}
/*# sourceMappingURL=styles.css.map */