/*-----------------------------------*/
/*-----------------------------------*/
@media (min-width: 1441px) {
  html {
    font-size: 10px;
  }
}
@media screen and (max-width: 1440px) {
  html {
    font-size: 0.694444vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.564103vw;
  }
}
/*-----------------------------------*/
/*-----------------------------------*/
body {
  color: #373835;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  background: #F8F4EF;
  letter-spacing: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

textarea {
  width: 100% !important;
  max-width: 100%;
}

input:focus, input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: none;
  box-shadow: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active {
  -webkit-text-fill-color: currentColor;
  caret-color: currentColor;
  box-shadow: 0 0 0 100rem transparent inset;
  transition: background-color 9999s ease-out, color 9999s ease-out;
}

section {
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
}

b,
strong {
  font-weight: 900;
}

a,
a:where(:not(.wp-element-button)) {
  display: block;
  color: inherit;
  text-decoration: none;
}

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

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

table {
  border-collapse: collapse;
}
table tbody {
  -webkit-text-size-adjust: 100%;
}

/*-----------------------------------*/
/*-----------------------------------*/
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

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

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

.sp-in {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-in {
    display: inline;
  }
}

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

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

/*-----------------------------------*/
/*-----------------------------------*/
.container {
  position: relative;
  margin-left: 3.6rem;
  margin-right: 3.6rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .container {
    max-width: 151.7rem;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .container--pc {
    position: relative;
    max-width: 151.7rem;
    margin: 0 auto;
    z-index: 1;
  }
}

main,
.wrap {
  overflow: hidden;
}

/*-----------------------------------*/
/*-----------------------------------*/
.swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translate3d(0, 0, 0);
}

.visually-hidden {
  position: absolute;
  width: 0.1rem;
  aspect-ratio: 1;
  margin: -0.1rem;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.inline-link {
  display: inline;
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .inline-link:hover {
    opacity: 0.6;
  }
}

@media screen and (min-width: 768px) {
  .hover-opacity {
    transition: opacity 0.3s;
  }
  .hover-opacity:hover {
    opacity: 0.6;
  }
}

