@charset "utf-8";
.invisible-style{
  display: none!important;
}

html {
  word-break: auto-phrase;
}


body{
  font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
  font-family: "Noto Serif JP", serif;
  color: #000000;
  background-color: #F8F1EA;
}

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

a {
  text-decoration: none;
  cursor: pointer;
  color: #000;
  transition: all 0.5s;
}

a:hover {
  text-decoration: none;
  color: #000;
  transition: all 0.5s;
}
.link-opacity:hover {
  opacity: 0.5;
}


img {
  max-width: 100%;
  display: block;
  width: 100%;
}

p,
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}


/* 共通パーツ */
.inner {
  max-width: 1920px;
  margin: 0 auto;
}

/* header-toggle */
.header__toggle {
      position: relative;
    display: flex;
      height: 100%;
    align-items: center;
  transition: .5s;
  cursor: pointer;
}
.header-left__item--toggleBox {
      display: flex;
    align-items: center;
    column-gap: 8px;
}
.header-toggle__box {
    visibility: hidden;
  opacity: 0;
    position: absolute;
   top: clamp(4.5rem, 1.5rem + 3.75vw, 6rem);
    left: -35px;
      display: flex;
    flex-direction: column;
  transition: .5s;
}
.header__toggle:hover .header-toggle__box {
    visibility: visible;
  opacity: 1;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px;
    transition: .5s;
}
.header__toggle:hover .header-bottom__link--toggle {
  opacity: 0.5;
}
.header-left__item--toggle {
  font-size: clamp(0.875rem, 0.589rem + 0.45vw, 1.125rem);
  font-weight: 800;
}
.header-left__item--toggleIcon {
      width: clamp(0.375rem, 0.089rem + 0.45vw, 0.625rem);
    height: clamp(0.375rem, 0.089rem + 0.45vw, 0.625rem);
    border: 0;
    border-bottom: solid clamp(0.063rem, -0.08rem + 0.22vw, 0.188rem) #000;
    border-right: solid clamp(0.063rem, -0.08rem + 0.22vw, 0.188rem) #000;
    transform: rotate(45deg);
}
.header__item--subBox {
    width: 100%;
      border-bottom: 1px solid #D0D0D0;
    background-color: #F8F2E9;
      display: flex;
    align-items: center;
    column-gap: 1em;
    padding: 8px 15px;
}
.header__item--sub {
    white-space: nowrap;
    transition: .5s;
    font-size: clamp(0.875rem, 0.446rem + 0.67vw, 1.25rem);
  font-weight: 600;
  pointer-events: auto;
}
.header__item--sub-icon {
      width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    transform: rotate(45deg);
}

/* pg-breadcrumb */
.pg-breadcrumb {
    padding: 10px 0;
}
.pg-breadcrumb__inner {
      padding: 0 clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
    display: flex;
    align-items: center;
    column-gap: 1em;
}
.breadcrumb__text {
  font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
  font-weight: 600;
}

/* btn1 */
.btn1 {
      display: flex;
    align-items: center;
    column-gap: 20px;
}
.btn1__text {
      font-size: clamp(1.125rem, 1.042rem + 0.17vw, 1.25rem);
    font-weight: 600;
}
.btn1__icon {
      width: 18px;
    object-fit: contain;
}

/* 縦書き */
.vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media (max-width: 767px) {
  .vertical {
    writing-mode: unset;
  }
}

/* cta */
.cta {
      padding-top: 120px;
    padding-bottom: clamp(7.5rem, 5.833rem + 3.47vw, 10rem);
}
.cta__inner {
  padding: 0 clamp(1.25rem, -11.917rem + 27.43vw, 21rem);
}
.cta__container {
      display: flex;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: clamp(2rem, 1rem + 2.08vw, 3.5rem) clamp(1.25rem, -0.917rem + 4.51vw, 4.5rem);
    justify-content: space-between;
    column-gap: 20px;
}
.cta__left {
      display: flex;
    column-gap: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
}
.vertical--cta {
  text-orientation: unset;
}
.cta-title__main {
  letter-spacing: 0.4em;
}
.cta__text {
      font-size: clamp(0.875rem, 0.625rem + 0.52vw, 1.25rem);
    font-weight: 600;
}
.cta__bottom {
      margin-top: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
    display: flex;
    column-gap: clamp(1.25rem, -0.75rem + 4.17vw, 4.25rem);
}
.cta__btn {
      display: flex;
    column-gap: 24px;
    align-items: center;
    padding: clamp(2rem, 1.5rem + 1.04vw, 2.75rem) clamp(2.375rem, 1.792rem + 1.22vw, 3.25rem);
    border: 3px solid #000;
}
.cta-btn__text {
      font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
    font-weight: 600;
}
.cta-btn__icon {
  width: clamp(1.625rem, 1.208rem + 0.87vw, 2.25rem);
}
.cta__tel {
      font-size: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    font-weight: 800;
}
.cta__tel a {
  transition: all 0.5s;
}
.cta__tel a:hover {
  opacity: 0.5;
}
.cta__time {
      margin-top: 8px;
    font-weight: 800;
}
@media (max-width: 767px) {
  .cta__container {
        flex-direction: column;
    row-gap: 28px;
    padding-left: clamp(1.25rem, -2.112rem + 13.79vw, 4.5rem);
    padding-right: clamp(1.25rem, -2.112rem + 13.79vw, 4.5rem);
  }
  .cta__left {
    flex-direction: column;
  }
  .cta-title__main {
    letter-spacing: unset;
  }
  .cta__right {
        display: flex;
    flex-direction: column;
    align-items: center;
  }
  .cta__bottom {
        flex-direction: column;
    row-gap: 20px;
  }
}
@media (max-width: 389px) {
  .cta__container {
        padding-left: 10px;
    padding-right: 10px;
  }
  .cta__btn {
        padding-left: 16px;
    padding-right: 16px;
    column-gap: 16px;
  }
  .cta__time {
    font-size: 14px;
  }
}

/* アニメーション */
.anime2 {
  animation-delay: 0.5s;
}
.anime3 {
  animation-delay: 1s;
}
.anime4 {
  animation-delay: 1.5s;
}
.anime5 {
  animation-delay: 2s;
}
.anime6 {
  animation-delay: 2.5s;
}