@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
.box_sample {
  margin: 10px;
  padding: 10px;
}

.mincho {
  font-family: "游明朝", YuMincho, "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}

.ftEN {
  font-family: "Crimson Text", serif;
}

.invisible {
  opacity: 0;
}

.animated {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.anime {
  opacity: 0;
}
.anime-delay-1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.anime-delay-2 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.anime-delay-3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-4 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-6 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-delay-7 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.anime-delay-8 {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
.anime-delay-9 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.anime-delay-10 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.anime-delay-11 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.anime-delay-12 {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
.anime-delay-13 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.anime-delay-14 {
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
}
.anime-delay-fast1 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-fast2 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.anime-delay-fast3 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-fast4 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.anime-delay-fast5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-fast6 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.anime-delay-fast7 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-slow {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInDown {
  -webkit-animation: 0.8s 0.6s fadeInDown both;
          animation: 0.8s 0.6s fadeInDown both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-150px);
            transform: translateX(-150px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-150px);
            transform: translateX(-150px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(150px);
            transform: translateX(150px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(150px);
            transform: translateX(150px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
main {
  font-family: "Open Sans", "Noto Sans JP", sans-serif;
  font-weight: 300;
  word-break: break-word;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  color: #000000;
  margin-bottom: 410px;
}
main img {
  width: 100%;
}
main .inner {
  max-width: 1600px;
  padding: 0 50px;
  margin: auto;
}
main .inner a {
  border-bottom: 1px solid #999999;
}
main .ico_tel {
  position: relative;
  padding-left: 20px;
}
main .ico_tel::before {
  content: "";
  background-image: url(../img/ico_tel.svg);
  width: 15px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main #LEAD .lead {
  margin-top: 170px;
}
main #LEAD .lead__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.2rem;
}
main #LEAD .lead__txt {
  margin-top: 15px;
  font-size: 1.5rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.2rem;
}
main #LEAD .lead__credit {
  margin-top: 10px;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1;
}
main #SEC01 .sec01 {
  padding-top: 210px;
  width: 100%;
}
main #SEC01 .sec01__credit {
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 20px;
  text-align: right;
  padding-right: 7%;
  font-weight: 300;
}
main #SEC01 .sec01__img.img02 {
  margin-top: 500px;
}
main #SEC01 .sec01__img.img03 {
  margin-top: 300px;
}
main #SEC01 .sec01__img.img04 {
  margin-top: 300px;
}
main #SEC01 .sec01__img.img05 {
  margin-top: 500px;
}
main #SEC01 .sec01__img.img06 {
  margin-top: 500px;
}
main #SEC01 .sec01__img.img07 {
  margin-top: 500px;
}
main #SEC01 .sec01__img.img08 {
  margin-top: 500px;
}
main #SEC02 {
  margin-top: 473px;
}
main #SEC02 .sec02__credit {
  font-size: 1.2rem;
  margin-top: 20px;
  text-align: left;
  padding-left: 10%;
  font-weight: 300;
}
main #SEC02 .sec02__img.img01 {
  margin-top: 500px;
}
main #SEC02 .sec02__img.img02 {
  margin-top: 500px;
}
main #SEC02 .sec02__img.img03 {
  margin-top: 500px;
}
main #SEC02 .sec02__img.img04 {
  margin-top: 500px;
}
main #SEC02 .sec02__img.img05 {
  margin-top: 500px;
}
main #SEC03 {
  margin-top: 515px;
}
main #SEC03 .sec03__credit {
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 20px;
  text-align: left;
  padding-left: 13.4%;
  font-weight: 300;
}
main #SEC03 .sec03__img.img01 {
  margin-top: 500px;
}
main #SEC03 .sec03__img.img02 {
  margin-top: 500px;
}
main #SEC03 .sec03__img.img03 {
  margin-top: 500px;
}
main #SEC03 .sec03__img.img04 {
  margin-top: 500px;
}
main #SEC03 .sec03__img.img05 {
  margin-top: 500px;
}
main #SEC04 .sec04 {
  color: #408cd5;
  margin-top: 505px;
}
main #SEC04 .sec04 .fw-b {
  font-weight: 500;
}
main #SEC04 .sec04__txt-area {
  max-width: 830px;
  width: 62%;
  margin-left: auto;
}
main #SEC04 .sec04__txt-area__ttl {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.6;
  height: 52px;
}
main #SEC04 .sec04__txt-area__sub-ttl {
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 100px;
  padding-bottom: 45px;
  margin-bottom: 45px;
  border-bottom: 1px solid #408cd5;
}
main #SEC04 .sec04__txt-area__txt {
  max-width: 600px;
  text-align: justify;
  font-size: 1.5rem;
  line-height: 2;
}
main #SEC05 .sec05 {
  margin-top: 390px;
}
main #SEC05 .sec05__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 900px;
  width: 100%;
  margin: auto;
}
main #SEC05 .sec05__flex__img {
  margin-right: 150px;
}
main #SEC05 .sec05__flex__img img {
  max-width: 222px;
  height: 90px;
  width: 100%;
}
main #SEC05 .sec05__flex__txt h2 {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
}
main #SEC05 .sec05__flex__txt--profile-txt {
  text-align: justify;
  max-width: 445px;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 500;
  margin-top: 20px;
}
main #SEC05 .sec05__flex__txt--contact-ttl {
  margin-top: 100px;
}
main #SEC05 .sec05__flex__txt--contact-txt {
  margin-top: 20px;
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 300;
  letter-spacing: 0.01rem;
}

/* SP */
@media screen and (max-width: 769px) {
  main {
    margin-bottom: 85px;
  }
  main .inner {
    padding: 0;
  }
  main .ico_tel {
    position: relative;
    padding-left: 15px;
  }
  main .ico_tel::before {
    content: "";
    background-image: url(../img/ico_tel.svg);
    width: 10px;
    height: 7px;
  }
  main #LEAD .lead {
    margin-top: 82px;
  }
  main #LEAD .lead .lead__box {
    width: 85%;
    margin: auto;
  }
  main #LEAD .lead__ttl {
    font-size: 1.4rem;
  }
  main #LEAD .lead__txt {
    margin-top: 10px;
    font-size: 1.1rem;
  }
  main #LEAD .lead__credit {
    font-size: 0.8rem;
  }
  main #SEC01 .sec01 {
    padding-top: 82px;
  }
  main #SEC01 .sec01__credit {
    font-size: 0.6rem;
    text-align: right;
    margin-top: 10px;
    padding-right: 7%;
    letter-spacing: 0.04rem;
  }
  main #SEC01 .sec01__img.img02 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img03 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img04 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img05 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img06 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img07 {
    margin-top: 100px;
  }
  main #SEC01 .sec01__img.img08 {
    margin-top: 100px;
  }
  main #SEC02 {
    margin-top: 125px;
  }
  main #SEC02 .sec02__credit {
    font-size: 0.6rem;
    margin-top: 10px;
    padding-left: 10%;
    letter-spacing: 0.04rem;
  }
  main #SEC02 .sec02__img.img01 {
    margin-top: 100px;
  }
  main #SEC02 .sec02__img.img02 {
    margin-top: 100px;
  }
  main #SEC02 .sec02__img.img03 {
    margin-top: 100px;
  }
  main #SEC02 .sec02__img.img04 {
    margin-top: 100px;
  }
  main #SEC02 .sec02__img.img05 {
    margin-top: 100px;
  }
  main #SEC03 {
    margin-top: 90px;
  }
  main #SEC03 .sec03__credit {
    font-size: 0.6rem;
    margin-top: 10px;
    letter-spacing: 0.04rem;
  }
  main #SEC03 .sec03__img.img01 {
    margin-top: 100px;
  }
  main #SEC03 .sec03__img.img02 {
    margin-top: 100px;
  }
  main #SEC03 .sec03__img.img03 {
    margin-top: 100px;
  }
  main #SEC03 .sec03__img.img04 {
    margin-top: 100px;
  }
  main #SEC03 .sec03__img.img05 {
    margin-top: 100px;
  }
  main #SEC04 .sec04 {
    margin-top: 130px;
  }
  main #SEC04 .sec04__txt-area {
    max-width: none;
    width: 86%;
  }
  main #SEC04 .sec04__txt-area__ttl {
    font-size: 1.4rem;
    line-height: 1.5;
    height: 61px;
  }
  main #SEC04 .sec04__txt-area__sub-ttl {
    font-size: 1.5rem;
    line-height: 1.1;
    margin-top: 50px;
    padding-bottom: 22px;
    margin-bottom: 22px;
  }
  main #SEC04 .sec04__txt-area__txt {
    width: 88%;
    max-width: none;
    font-size: 1.1rem;
    line-height: 1.7;
  }
  main #SEC05 .sec05 {
    margin-top: 130px;
  }
  main #SEC05 .sec05__flex {
    display: block;
    max-width: none;
    width: 70%;
    padding-right: 10px;
    margin: auto;
  }
  main #SEC05 .sec05__flex__img {
    margin-right: none;
  }
  main #SEC05 .sec05__flex__img img {
    width: 152px;
    height: 63px;
  }
  main #SEC05 .sec05__flex__txt {
    margin-top: 50px;
  }
  main #SEC05 .sec05__flex__txt h2 {
    font-size: 0.9rem;
  }
  main #SEC05 .sec05__flex__txt--profile-txt {
    max-width: none;
    width: 66%;
    font-size: 0.9rem;
    line-height: 1.7;
    margin-top: 12px;
  }
  main #SEC05 .sec05__flex__txt--contact-ttl {
    margin-top: 50px;
  }
  main #SEC05 .sec05__flex__txt--contact-txt {
    margin-top: 12px;
    font-size: 0.9rem;
    line-height: 2;
  }
}
/* SP ここまで */