@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
:root {
  --pattern_font_family: "Noto Sans JP", sans-serif;
  --pattern_sub_font_family: "Noto Serif JP", sans-serif;
  --pattern_font_size: 1.6em;
  --pattern_title_font_weight: 600;
  --pattern_title_font_family: var(--pattern_sub_font_family);
}
@media (max-width: 480px) {
  :root {
    --pattern_font_size: vw(30);
  }
}

#header .header__conteiner .header__nav ul {
  font-weight: 600;
  font-family: var(--pattern_title_font_family);
}

.visual .visual_ttl .visual_ttl-in {
  font-weight: 500;
  font-family: var(--pattern_title_font_family);
}

.top_contents:nth-child(2n) {
  background: none;
  position: relative;
  z-index: 1;
}
.top_contents:nth-child(2n)::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--base-background-color);
  z-index: -1;
}
.top_contents:last-child::after {
  -webkit-clip-path: none;
          clip-path: none;
}

.block-title01 {
  text-align: center;
}
.block-title01.deco {
  padding-bottom: 35px;
  position: relative;
}
@media (max-width: 480px) {
  .block-title01.deco {
    padding-bottom: 5.1282051282vw;
  }
}
.block-title01.deco::after {
  content: "";
  width: 80px;
  height: 1px;
  background-color: var(--sub-color01);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 480px) {
  .block-title01.deco::after {
    width: 10.2564102564vw;
    height: 0.2564102564vw;
    left: 50%;
  }
}

.block-split01 {
  align-items: flex-start;
}
.block-split01 .block-split01__img {
  position: relative;
  z-index: 1;
}
.block-split01 .block-split01__img::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-color);
  position: absolute;
  left: 9px;
  top: 9px;
  z-index: -2;
}
@media (max-width: 480px) {
  .block-split01 .block-split01__img::after {
    left: 1.1538461538vw;
    top: 1.1538461538vw;
  }
}
.block-split01 .block-split01__txt .ttl {
  margin-bottom: 40px;
  padding-bottom: 35px;
  position: relative;
}
@media (max-width: 480px) {
  .block-split01 .block-split01__txt .ttl {
    margin-bottom: 5.7692307692vw;
    padding-bottom: 5.1282051282vw;
  }
}
.block-split01 .block-split01__txt .ttl::after {
  content: "";
  width: calc(100% + 40px);
  height: 1px;
  background-color: var(--sub-color01);
  position: absolute;
  bottom: 0;
  left: -40px;
}
@media (max-width: 480px) {
  .block-split01 .block-split01__txt .ttl::after {
    width: 10.2564102564vw;
    height: 0.2564102564vw;
    left: 0;
  }
}
.block-split01.reverse .ttl::after {
  width: calc(100% + 50px);
  left: auto;
  right: -50px;
}
@media (max-width: 480px) {
  .block-split01.reverse .ttl::after {
    left: auto;
  }
}
@media (max-width: 480px) and (max-width: 480px) {
  .block-split01.reverse .ttl::after {
    left: 0;
    right: auto;
    width: 10.2564102564vw;
  }
}

.block-figure01 .block-figure01__img {
  position: relative;
  z-index: 1;
}
.block-figure01 .block-figure01__img::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-color);
  position: absolute;
  left: 9px;
  top: 9px;
  z-index: -2;
}
@media (max-width: 480px) {
  .block-figure01 .block-figure01__img::after {
    left: 1.1538461538vw;
    top: 1.1538461538vw;
  }
}
.block-figure02 .block-figure02__img {
  position: relative;
  z-index: 1;
}
.block-figure02 .block-figure02__img::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-color);
  position: absolute;
  left: 9px;
  top: 9px;
  z-index: -2;
}
@media (max-width: 480px) {
  .block-figure02 .block-figure02__img::after {
    left: 1.1538461538vw;
    top: 1.1538461538vw;
  }
}
@media (max-width: 480px) {
  .block-figure02 .block-figure02__img::after {
    content: none;
  }
}
.block-card01 .block-card01__item {
  border: 1px solid var(--base-color);
}

.block-card02 .block-card02__item {
  position: relative;
  grid-row: span 3;
  grid-template-areas: "img" "ttl" "msg";
  box-shadow: 0 0 19px rgba(0, 0, 0, 0.1529411765);
  background-color: #fff;
}
@media (max-width: 480px) {
  .block-card02 .block-card02__item {
    grid-row: span 2;
    grid-template-areas: "ttl" "msg";
  }
}
.block-card02 .block-card02__item .num {
  position: absolute;
  right: -10px;
  bottom: -19px;
}
@media (max-width: 480px) {
  .block-card02 .block-card02__item .num {
    right: -1.7948717949vw;
    bottom: -3.3333333333vw;
  }
}
.block-card02 .block-card02__item .num::after {
  content: counter(number, decimal-leading-zero);
  font-size: 12.8rem;
  line-height: 1;
  opacity: 0.3;
}
@media (max-width: 480px) {
  .block-card02 .block-card02__item .num::after {
    font-size: 21.9230769231vw;
  }
}
@media (max-width: 480px) {
  .block-card02 .block-card02__item {
    border-width: 0.5128205128vw;
  }
}
@media (min-width: 480px) {
  .block-card02.col-full .block-card02__item {
    grid-template-columns: 1fr;
    grid-template-areas: "ttl" "msg";
  }
}

.block-faq01 .block-faq01__item {
  position: relative;
  z-index: 1;
  background-color: #fff;
  padding: 25px 30px 30px;
  box-shadow: 0 0 19px rgba(0, 0, 0, 0.1529411765);
}
.block-faq01 .block-faq01__item::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-color);
  position: absolute;
  left: 9px;
  top: 9px;
  z-index: -2;
}
@media (max-width: 480px) {
  .block-faq01 .block-faq01__item::after {
    left: 1.1538461538vw;
    top: 1.1538461538vw;
  }
}
@media (max-width: 480px) {
  .block-faq01 .block-faq01__item {
    padding: 6.0256410256vw 5.8974358974vw;
  }
}
.block-faq01 .block-faq01__item:not(:last-child) {
  margin-bottom: 36px;
}
@media (max-width: 480px) {
  .block-faq01 .block-faq01__item:not(:last-child) {
    margin-bottom: 3.8461538462vw;
  }
}
.block-faq01 .block-faq01__item::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.block-faq01 .block-faq01__item .label {
  line-height: 1.2;
  margin-bottom: 15px;
  color: var(--base-color);
}
@media (max-width: 480px) {
  .block-faq01 .block-faq01__item .label {
    margin-bottom: 3.4615384615vw;
  }
}
.block-overview01 .block-overview01__table th {
  font-family: var(--pattern_sub_font_family);
}
.block-overview01 .block-overview01__table td {
  font-family: "Noto Sans JP", sans-serif;
}/*# sourceMappingURL=stylish01.css.map */