html:not(.responsive) {
  min-width: 100%;
}
*,
*:before,
*:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  background: #fff;
  color: #333;
  min-width: inherit;
  min-height: inherit;
  max-height: 100%;
  letter-spacing: 0;
  line-height: 24px;
  text-align: left;
  font-weight: 400;
}
.ttl-s1 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
  margin-bottom: 12.5vw;
}
.ttl-s1 .gradation {
  background: linear-gradient(to right, #015f9f, #3a83b5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
.fnt-noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
}
main {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.wrap {
  padding: 0 4%;
  width: 100%;
  position: relative;
}
.pd0 {
  padding: 0;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.tac {
  text-align: center;
}
.taj {
  text-align: justify;
}
.tar {
  text-align: right;
}
.ta {
  text-align: left;
}
.db {
  display: block;
}
.dib {
  display: inline-block;
}
.txt-br {
  word-break: break-all;
}
.txt-nowrap {
  white-space: nowrap;
}
.sl {
  display: block !important;
}
@keyframes fadeInUp {
  0% {
    -webkit-transform: translate3d(0, 20px, 0);
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .btn-over img,
  .over-img img,
  img.over,
  img:not(.btn):not(.non-over),
  button img,
  .btn {
    opacity: 1;
    transform: none !important;
    -moz-transform: none !important;
    -webkit-transform: none !important;
    transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
  }
  .btn {
    transition: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
  }
  .over-img img:hover,
  img.over:hover,
  a:hover img:not(.btn):not(.non-over),
  button:hover img {
    cursor: pointer;
    opacity: 0.8;
    transform: none !important;
    -moz-transform: none !important;
    -webkit-transform: none !important;
  }
  .img-parallax img {
    height: auto !important;
  }
}
.pc {
  display: none;
}
.d-flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 18px;
    line-height: 32px;
  }
  a[href^="tel:"] {
    pointer-events: none;
    cursor: text;
  }
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
  .wrap {
    max-width: 1140px;
    padding: 0 20px;
  }
  .ttl-s1 {
    font-size: 40px;
    margin-bottom: 79px;
  }
}
