@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

p,
div,
span,
a,
li,
ul,
ol,
header,
nav,
main,
footer,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Klee One", cursive;
  font-size: 20px;
  line-height: 1.7;
  font-weight: 600;
  color: #353535;
  overflow-x: hidden;
}
@media (max-width: 1000px) {
  body {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

.mt-1 {
  margin-top: 10px;
}

.mb-1 {
  margin-bottom: 10px;
}

.mr-1 {
  margin-right: 10px;
}

.ml-1 {
  margin-left: 10px;
}

.pt-1 {
  padding-top: 10px;
}

.pb-1 {
  padding-bottom: 10px;
}

.pr-1 {
  padding-right: 10px;
}

.pl-1 {
  padding-left: 10px;
}

.mt-2 {
  margin-top: 20px;
}

.mb-2 {
  margin-bottom: 20px;
}

.mr-2 {
  margin-right: 20px;
}

.ml-2 {
  margin-left: 20px;
}

.pt-2 {
  padding-top: 20px;
}

.pb-2 {
  padding-bottom: 20px;
}

.pr-2 {
  padding-right: 20px;
}

.pl-2 {
  padding-left: 20px;
}

.mt-3 {
  margin-top: 30px;
}

.mb-3 {
  margin-bottom: 30px;
}

.mr-3 {
  margin-right: 30px;
}

.ml-3 {
  margin-left: 30px;
}

.pt-3 {
  padding-top: 30px;
}

.pb-3 {
  padding-bottom: 30px;
}

.pr-3 {
  padding-right: 30px;
}

.pl-3 {
  padding-left: 30px;
}

.mt-4 {
  margin-top: 40px;
}

.mb-4 {
  margin-bottom: 40px;
}

.mr-4 {
  margin-right: 40px;
}

.ml-4 {
  margin-left: 40px;
}

.pt-4 {
  padding-top: 40px;
}

.pb-4 {
  padding-bottom: 40px;
}

.pr-4 {
  padding-right: 40px;
}

.pl-4 {
  padding-left: 40px;
}

.mt-5 {
  margin-top: 50px;
}

.mb-5 {
  margin-bottom: 50px;
}

.mr-5 {
  margin-right: 50px;
}

.ml-5 {
  margin-left: 50px;
}

.pt-5 {
  padding-top: 50px;
}

.pb-5 {
  padding-bottom: 50px;
}

.pr-5 {
  padding-right: 50px;
}

.pl-5 {
  padding-left: 50px;
}

.mt-6 {
  margin-top: 60px;
}

.mb-6 {
  margin-bottom: 60px;
}

.mr-6 {
  margin-right: 60px;
}

.ml-6 {
  margin-left: 60px;
}

.pt-6 {
  padding-top: 60px;
}

.pb-6 {
  padding-bottom: 60px;
}

.pr-6 {
  padding-right: 60px;
}

.pl-6 {
  padding-left: 60px;
}

.mt-7 {
  margin-top: 70px;
}

.mb-7 {
  margin-bottom: 70px;
}

.mr-7 {
  margin-right: 70px;
}

.ml-7 {
  margin-left: 70px;
}

.pt-7 {
  padding-top: 70px;
}

.pb-7 {
  padding-bottom: 70px;
}

.pr-7 {
  padding-right: 70px;
}

.pl-7 {
  padding-left: 70px;
}

.mt-8 {
  margin-top: 80px;
}

.mb-8 {
  margin-bottom: 80px;
}

.mr-8 {
  margin-right: 80px;
}

.ml-8 {
  margin-left: 80px;
}

.pt-8 {
  padding-top: 80px;
}

.pb-8 {
  padding-bottom: 80px;
}

.pr-8 {
  padding-right: 80px;
}

.pl-8 {
  padding-left: 80px;
}

.mt-9 {
  margin-top: 90px;
}

.mb-9 {
  margin-bottom: 90px;
}

.mr-9 {
  margin-right: 90px;
}

.ml-9 {
  margin-left: 90px;
}

.pt-9 {
  padding-top: 90px;
}

.pb-9 {
  padding-bottom: 90px;
}

.pr-9 {
  padding-right: 90px;
}

.pl-9 {
  padding-left: 90px;
}

.mt-10 {
  margin-top: 100px;
}

.mb-10 {
  margin-bottom: 100px;
}

.mr-10 {
  margin-right: 100px;
}

.ml-10 {
  margin-left: 100px;
}

.pt-10 {
  padding-top: 100px;
}

.pb-10 {
  padding-bottom: 100px;
}

.pr-10 {
  padding-right: 100px;
}

.pl-10 {
  padding-left: 100px;
}

@media (max-width: 767px) {
  .spmt-1 {
    margin-top: 10px;
  }
  .spmb-1 {
    margin-bottom: 10px;
  }
  .sppt-1 {
    padding-top: 10px;
  }
  .sppb-1 {
    padding-bottom: 10px;
  }
  .spmt-2 {
    margin-top: 20px;
  }
  .spmb-2 {
    margin-bottom: 20px;
  }
  .sppt-2 {
    padding-top: 20px;
  }
  .sppb-2 {
    padding-bottom: 20px;
  }
  .spmt-3 {
    margin-top: 30px;
  }
  .spmb-3 {
    margin-bottom: 30px;
  }
  .sppt-3 {
    padding-top: 30px;
  }
  .sppb-3 {
    padding-bottom: 30px;
  }
  .spmt-4 {
    margin-top: 40px;
  }
  .spmb-4 {
    margin-bottom: 40px;
  }
  .sppt-4 {
    padding-top: 40px;
  }
  .sppb-4 {
    padding-bottom: 40px;
  }
  .spmt-5 {
    margin-top: 50px;
  }
  .spmb-5 {
    margin-bottom: 50px;
  }
  .sppt-5 {
    padding-top: 50px;
  }
  .sppb-5 {
    padding-bottom: 50px;
  }
  .spmt-6 {
    margin-top: 60px;
  }
  .spmb-6 {
    margin-bottom: 60px;
  }
  .sppt-6 {
    padding-top: 60px;
  }
  .sppb-6 {
    padding-bottom: 60px;
  }
  .spmt-7 {
    margin-top: 70px;
  }
  .spmb-7 {
    margin-bottom: 70px;
  }
  .sppt-7 {
    padding-top: 70px;
  }
  .sppb-7 {
    padding-bottom: 70px;
  }
  .spmt-8 {
    margin-top: 80px;
  }
  .spmb-8 {
    margin-bottom: 80px;
  }
  .sppt-8 {
    padding-top: 80px;
  }
  .sppb-8 {
    padding-bottom: 80px;
  }
  .spmt-9 {
    margin-top: 90px;
  }
  .spmb-9 {
    margin-bottom: 90px;
  }
  .sppt-9 {
    padding-top: 90px;
  }
  .sppb-9 {
    padding-bottom: 90px;
  }
  .spmt-10 {
    margin-top: 100px;
  }
  .spmb-10 {
    margin-bottom: 100px;
  }
  .sppt-10 {
    padding-top: 100px;
  }
  .sppb-10 {
    padding-bottom: 100px;
  }
}
@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

.tablet-only {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 1000px) {
  .tablet-only {
    display: revert !important;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: bold;
}

@media (min-width: 768px) {
  .pc-text-left {
    text-align: left;
  }
  .pc-text-center {
    text-align: center;
  }
  .pc-text-right {
    text-align: right;
  }
}
@media (max-width: 767px) {
  .sp-text-left {
    text-align: left;
  }
  .sp-text-center {
    text-align: center;
  }
  .sp-text-right {
    text-align: right;
  }
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.breadcrumb {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.7;
}

.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
}
.breadcrumb__item:not(:last-child)::after {
  content: ">";
  margin: 0 0.5em;
  color: #4c553e;
}

.breadcrumb__link {
  color: #ee645a;
  text-decoration: underline;
}
.breadcrumb__link:hover {
  text-decoration: none;
}

.breadcrumb__current {
  color: #353535;
}

.faq-item .faq-question {
  margin-bottom: 15px;
}
.faq-item .faq-answer {
  margin-bottom: 15px;
}
.faq-item:last-child {
  border-bottom: none;
}
.faq-item:last-child .faq-answer {
  margin-bottom: 0;
}

.faq-question {
  position: relative;
  margin: 0;
  padding: 20px 30px 20px 60px;
  border-radius: 100px;
  background: #fffefb;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  transition: color 0.2s ease;
}
.faq-question::before {
  content: "Q.";
  display: inline-block;
  position: absolute;
  left: 20px;
  bottom: 4px;
  top: 0;
  margin: auto;
  right: auto;
  font-size: 28px;
  line-height: 1;
  height: 28px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #ee645a;
}
.faq-question::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: #4c553e;
  font-size: 1.2rem;
  transition: transform 0.2s ease;
}

.faq-item.is-open .faq-question::after {
  content: "-";
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  margin: 0;
  margin-left: 40px;
  padding: 0 0 0 1rem;
  padding-right: 40px;
  padding-top: 0;
  border-left: 4px solid transparent;
  color: #353535;
  line-height: 1.8;
  transition: max-height 0.35s ease, padding-top 0.35s ease, border-left-color 0.2s ease;
  will-change: max-height, padding-top;
}

.faq-item.is-open .faq-answer {
  /* max-heightはJSで設定するためCSSでは固定の高さは使わない */
  border-left-color: #ee645a;
  padding-top: 1rem;
}/*# sourceMappingURL=base.css.map */