@charset "UTF-8";
body {
  font-family: "Zen Maru Gothic", serif;
  background-color: #fffef9;
}

.header-container {
  background-color: #fffef9;
}
@media screen and (min-width: 1200px), print {
  .header-logo .site-logo {
    top: 5.8rem;
  }
}
@media screen and (min-width: 1920px), print {
  .header-logo .site-logo {
    left: -11.6rem;
  }
}
@media screen and (min-width: 1200px), print {
  .header-logo .site-logo img {
    width: 23.2rem;
  }
}
@media screen and (min-width: 1200px), print {
  .header-info-list {
    width: 13.5rem;
  }
}
.header-info-item {
  width: 100%;
}
@media screen and (min-width: 1200px), print {
  .header-info-item a {
    width: auto;
  }
}

@media screen and (min-width: 1200px) {
  .is-fixed .header-logo a {
    top: 2.75rem;
  }
  .is-fixed .header-logo img {
    width: 20rem;
  }
}
@media screen and (min-width: 1920px) {
  .is-fixed .header-logo a {
    left: -10rem;
  }
}

@media screen and (min-width: 1200px), print {
  .nav {
    background-color: #fffef9;
  }
}
.nav-container {
  background-color: #fffef9;
}
@media screen and (min-width: 1200px), print {
  .nav-container {
    padding-right: 13.5rem;
  }
}

@media screen and (min-width: 1920px), print {
  .main-nav .nav-link {
    font-size: 4.7rem;
  }
}
@media screen and (max-width: 1199.98px) {
  .main-nav .nav-link {
    color: #dcbba6;
  }
}
@media screen and (min-width: 1200px), print {
  .main-nav .nav-link:hover {
    color: #dcbba6;
  }
}
@media screen and (max-width: 1199.98px) {
  .main-nav .nav-label {
    color: #333;
  }
}

.link-btn {
  letter-spacing: normal;
}
.link-btn-arrow {
  border-color: #dcbba6;
}
.link-btn-arrow::before {
  background-color: #dcbba6;
}

a.link-btn:hover::before {
  border-color: #dcbba6;
}

.form-button-arrow {
  border-color: #dcbba6;
}
.form-button-arrow::before {
  background-color: #dcbba6;
}

.form-button-send:not(:disabled):hover::before {
  border-color: #dcbba6;
}

.loader {
  background-color: #fffef9;
}
.loader::before {
  border-top-color: #dcbba6;
}

.page-title .title-lg * {
  font-weight: 500;
}

@media screen and (min-width: 1200px), print {
  .page-title-bgimg {
    height: 30rem;
  }
}

.section-secondary:not(:first-of-type) {
  margin-top: 10rem;
}
@media screen and (min-width: 1200px), print {
  .section-secondary:not(:first-of-type) {
    margin-top: 14rem;
  }
}
.section-secondary:not(:last-child) {
  margin-bottom: 0;
}
.section-heading {
  color: #582200;
}
.section-heading .heading-lg {
  color: #dcbba6;
}
.section-heading .heading-lg * {
  font-weight: 500;
}

.page-title {
  color: #582200;
}
@media screen and (min-width: 1200px), print {
  .page-title {
    text-align: center;
  }
}
.page-title .title-lg {
  color: #dcbba6;
}
.page-title-body::before {
  background-color: #fff9ff;
}
.page-title-description p {
  font-weight: 500;
}

.mv-catch .catch {
  font-weight: 500;
}

.okesumi-about-container::before,
.okesumi-about-body::before {
  background-color: #fff9ff;
}

.okesumi-about-description p {
  font-weight: 500;
}

@media screen and (min-width: 1920px), print {
  .okesumi-service-section {
    margin-bottom: 14rem;
  }
}

.okesumi-service-body {
  z-index: auto;
}

.okesumi-service-img1 .img-dmy-1 {
  background-color: #ececff;
}
.okesumi-service-img1 .img-dmy-2 {
  background-color: #fcecff;
}

.okesumi-service-img2 .img-dmy-1 {
  background-color: #ffede2;
}
.okesumi-service-img2 .img-dmy-2 {
  background-color: #dcbba6;
}

.okesumi-service-title {
  font-weight: 500;
}

.okesumi-service-border {
  background-color: #fff9ff;
}
.okesumi-service-border::before {
  background-color: #fff9ff;
}

.okesumi-service-description * {
  font-weight: 500;
}

/* 店舗一覧 */
.shops-container {
  position: relative;
  padding-bottom: 4rem;
}
@media screen and (min-width: 1200px), print {
  .shops-container {
    display: flex;
    padding-bottom: 6rem;
  }
}
.shops-container::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% + 2rem);
  height: calc(100% - 9.5rem);
  background-color: #fff9ff;
  pointer-events: none;
}
@media screen and (min-width: 576px), print {
  .shops-container::before {
    left: 7rem;
    width: 100%;
    height: calc(100% - 8rem);
  }
}
@media screen and (min-width: 1200px), print {
  .shops-container::before {
    left: 20rem;
    width: 100vw;
    height: calc(100% - 4.5rem);
  }
}
.shops-head {
  margin-bottom: 2rem;
}
@media screen and (min-width: 576px), print {
  .shops-head {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1200px), print {
  .shops-head {
    display: block;
    width: 54rem;
    margin-bottom: 0;
  }
}
.shops-logo {
  position: relative;
  margin: 0 auto 2rem;
}
@media screen and (min-width: 576px), print {
  .shops-logo {
    align-self: center;
    margin: 1rem 0 0 auto;
  }
}
@media screen and (min-width: 1200px), print {
  .shops-logo {
    position: absolute;
    right: 0;
    bottom: 6rem;
    margin: 0;
  }
}
@media screen and (max-width: 1199.98px) {
  .shops-logo {
    width: 20rem;
  }
}
.shops-heading {
  position: relative;
  line-height: 1.45;
  font-size: 2.5rem;
  text-align: center;
  color: #582200;
}
@media screen and (min-width: 576px), print {
  .shops-heading {
    text-align: left;
  }
}
@media screen and (min-width: 1200px), print {
  .shops-heading {
    font-size: 4rem;
  }
}
@media screen and (min-width: 1200px), print {
  .shops-body {
    padding: 1.5rem 0 10rem 0;
  }
}
.shops-info {
  position: relative;
}
@media screen and (max-width: 575.98px) {
  .shops-info-row {
    text-align: center;
  }
  .shops-info-row:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.shops-info dt {
  width: 5.5em;
}
@media screen and (max-width: 575.98px) {
  .shops-info dt {
    width: auto;
  }
  .shops-info dt::before {
    content: "─";
    margin-right: 0.5em;
  }
  .shops-info dt::after {
    content: "─";
    margin-left: 0.5em;
  }
}
.shops-map {
  position: relative;
  margin-top: 5rem;
  border: 1px solid #707070;
  background-color: #fff;
}
@media screen and (min-width: 1200px), print {
  .shops-map {
    margin-top: 10rem;
  }
}
.shops-map::before {
  content: "";
  display: block;
  padding-top: 40rem;
}
@media screen and (min-width: 1200px), print {
  .shops-map::before {
    padding-top: 50rem;
  }
}
.shops-map iframe {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}