/* base
---------------------------------------------------- */
html {
  scroll-behavior: smooth;
  font-size: 1.0006253909vw;
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 16px;
  }
}
@media screen and (max-width: 1199px) {
  html {
    font-size: 14.4px;
  }
}
@media screen and (max-width: 991px) {
  html {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: min(2.6666666667vw, 13.6px);
  }
}

div {
  font-size: 1em;
}

body {
  position: relative;
  color: #1a1b1a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}

#fix-bgpattern {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/content-bgpattern03.jpg);
  background-size: max(25em, 200px);
}

.wrapper {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1199px) {
  .wrapper {
    display: block;
  }
}
.wrapper .side-content {
  order: 1;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1199px) {
  .wrapper .side-content {
    display: none;
  }
}
.wrapper #header {
  order: 3;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1199px) {
  .wrapper #header {
    height: auto;
  }
}
.wrapper .main-content {
  order: 2;
  flex-shrink: 0;
  width: min(100%, 37.5em);
  margin: 0 auto;
  overflow: clip;
}

main {
  position: relative;
}

section {
  position: relative;
  z-index: 2;
}

.__section-pt {
  padding-top: 2.5em;
}
.__section-pt::before {
  content: "";
  display: block;
  position: absolute;
  top: -5em;
  left: 0;
  margin-top: 1px;
  width: 100%;
  height: 5em;
  background: inherit;
  -webkit-mask-image: url(../images/section-curve.png);
          mask-image: url(../images/section-curve.png);
  -webkit-mask-size: cover;
          mask-size: cover;
}

.__section-pb {
  padding-bottom: 2.5em;
}
.__section-pb::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5em;
  left: 0;
  margin-bottom: 1px;
  width: 100%;
  height: 5em;
  background: inherit;
  -webkit-mask-image: url(../images/section-curve.png);
          mask-image: url(../images/section-curve.png);
  -webkit-mask-size: cover;
          mask-size: cover;
  transform: scaleY(-1);
}

.__content-pt {
  padding-top: 6.25em;
}

.__content-pt_high {
  padding-top: 11.25em;
}

.__content-pb {
  padding-bottom: 6.25em;
}

.__content-pb_high {
  padding-bottom: 10em;
}

img {
  display: block;
}

a {
  display: block;
}

em {
  font-style: normal;
}

/* forResponsive
---------------------------------------------------- */
.__notepc {
  display: none;
}

.__sp {
  display: none;
}

.__tb {
  display: none;
}

.__pc {
  display: block;
}

@media screen and (max-width: 1199px) {
  .__pc {
    display: none;
  }
  .__tb {
    display: none;
  }
  .__sp {
    display: none;
  }
  .__notepc {
    display: block;
  }
}
@media screen and (max-width: 991px) {
  .__pc {
    display: none;
  }
  .__notepc {
    display: none;
  }
  .__sp {
    display: none;
  }
  .__tb {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .__pc {
    display: none;
  }
  .__notepc {
    display: none;
  }
  .__tb {
    display: none;
  }
  .__sp {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .__hm {
    display: none;
  }
}

/* txtstyle
---------------------------------------------------- */
p, li, a, div, dt, dd {
  line-break: strict;
}

span.__nowrap {
  display: inline-block;
}/*# sourceMappingURL=base.css.map */