@charset "UTF-8";
/* CSS Document */
/* CSS Document */
/*text-color*/
/*text-shadow*/
/*サイドmaxサイズ*/
/*google-font*/
body {
  font-size: 1.6rem;
  font-family: "Hiragino Kaku Gothic Pro", "Hind Madurai", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #2F3B4B;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height, 80px);
}

[id] {
  scroll-margin-top: 100px;
}

@media screen and (max-width: 850px) {
  [id] {
    scroll-margin-top: 70px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
/* -------------------- */
/* layout
/* -------------------- */
.l-main {
  width: 100%;
  position: relative;
}
.l-main__hidden {
  overflow-x: hidden;
}

.l-container__top {
  margin-top: 120px;
}
.l-container__bottom {
  margin-bottom: 120px;
}

.l-container-height {
  width: 100%;
  position: relative;
  margin-inline: auto;
  padding-top: 130px;
  padding-bottom: 150px;
}
.l-container-height--large {
  padding-block: 160px;
}
.l-container-height--top-large {
  padding-top: 160px;
  padding-bottom: 0;
}
.l-container-height--pb-small {
  padding-bottom: 60px;
}
.l-container-height__inner-large {
  margin-top: 100px;
}
.l-container-height__inner {
  margin-top: 50px;
}
.l-container-height__inner-tb {
  margin-top: 60px;
  margin-bottom: 120px;
}

.l-container-side {
  width: 100%;
  margin-inline: auto;
  padding-inline: 5%;
}
.l-container-side__middle {
  max-width: 1080px;
}
.l-container-side__large {
  max-width: 1280px;
}
.l-container-side__xlarge {
  max-width: 1440px;
}

/* -------------------- */
/* header space（固定ヘッダー分の余白：下層ページのみ）
/* -------------------- */
.l-header-space {
  height: var(--header-height, 80px);
}

@media screen and (max-width: 850px) {
  .l-header-space {
    height: var(--header-height, 84px);
  }
}
@media (max-width: 1280px) {
  .l-container-side {
    padding-inline: 4%;
  }
}
@media screen and (max-width: 1000px) {
  .l-container__top {
    margin-top: 100px;
  }
  .l-container-height {
    width: 100%;
    position: relative;
    margin-inline: auto;
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .l-container-height--large, .l-container-height--top-large {
    padding-top: 100px;
    padding-bottom: 120px;
  }
  .l-container-height--pb-small {
    padding-bottom: 60px;
  }
  .l-container-side {
    padding-inline: 3%;
  }
}
@media screen and (max-width: 850px) {
  .l-container-height--pb-small {
    padding-bottom: 30px;
  }
  .l-container-height__inner-large {
    margin-top: 60px;
  }
}
@media screen and (max-width: 640px) {
  .l-container__top {
    margin-top: 50px;
  }
  .l-container-height {
    padding-top: 60px;
    padding-bottom: 80px;
  }
  .l-container-height--large {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .l-container-height--top-large {
    padding-top: 100px;
    padding-bottom: 120px;
  }
  .l-container-height__inner-tb {
    margin-top: 40px;
    margin-bottom: 80px;
  }
  .l-container-height--pb-small {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 500px) {
  .l-container-height--large {
    padding-top: 60px;
    padding-bottom: 80px;
  }
  .l-container-height--top-large {
    padding-top: 100px;
    padding-bottom: 80px;
  }
  .l-container-height__inner-tb {
    margin-top: 40px;
    margin-bottom: 60px;
  }
}/*# sourceMappingURL=layout.css.map */