@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(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  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 {
  background-color: #e58e8a;
  font-family: "Open Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  color: #1a1a1a;
  padding-bottom: 300px;
  font-size: 15px;
}
main img {
  width: 100%;
}
main .inner {
  max-width: 1600px;
  padding: 0 50px;
  margin: auto;
}
main .sec__credit {
  font-size: 12px;
  max-width: 1100px;
  margin: 30px auto 0;
}
main .sec__credit.w1000 {
  max-width: 1000px;
}
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 .img--top img {
  clip-path: inset(100% 0 0 0);
}
main .img--bottom img {
  clip-path: inset(0 0 100% 0);
}
main .img--left img {
  clip-path: inset(0 100% 0 0);
}
main .img--right img {
  clip-path: inset(0 0 0 100%);
}
main #MV .mv {
  margin: auto;
  max-width: 1600px;
  padding: 0 50px;
}
main #LEAD .lead {
  max-width: 1200px;
  margin-top: 60px;
}
main #LEAD .lead__ttl {
  max-width: 695px;
  width: 100%;
  margin-bottom: 40px;
  line-height: 30px;
}
main #LEAD .lead__credit {
  margin: 50px 0 0 100px;
  margin-top: 50px;
  line-height: 25px;
}
main #SEC01 {
  margin-top: 255px;
}
main #SEC01 .sec01__img01 {
  max-height: 900px;
  max-width: 1100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}
main #SEC01 .sec01__img01 .img {
  max-width: 550px;
  max-height: 687px;
  position: sticky;
  top: 100px;
}
main #SEC01 .sec01__img01 .img:nth-of-type(2) img {
  margin-right: 0;
  margin-left: -1px;
}
main #SEC01 .sec01__img01 .img img {
  margin-right: -1px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main #SEC01 .sec01__img02 {
  margin-top: 300px;
}
main #SEC01 .sec01__img03 {
  margin-top: 415px;
}
main #SEC01 .sec01__img04 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 500px auto 0;
}
main #SEC01 .sec01__img04 .img {
  overflow: hidden;
}
main #SEC01 .sec01__img04 .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main #SEC01 .sec01 .sticky-box {
  height: 300vh;
}
main #SEC01 .sec01__img05 {
  margin: 100px auto 0;
  max-width: 1000px;
  position: sticky;
  top: 50px;
}
main #SEC01 .sec01__img05 .img {
  width: 100%;
}
main #SEC01 .sec01__img05 .img--back img {
  width: 100%;
  display: block;
}
main #SEC01 .sec01__img05 .img--front {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
}
main #SEC01 .sec01__img05 .img--front img {
  -webkit-transform-origin: center;
          transform-origin: center;
}
main #SEC01 .sec01__img06 {
  margin: 500px auto 0;
}
main #SEC01 .sec01__img07 {
  margin-top: -300px;
}
main #SEC01 .sec01__img08 {
  margin-top: -85px;
}
main #SEC01 .sec01__img08 .sec__credit {
  max-width: 750px;
  margin: 30px auto 0 10.5vw;
}
main #SEC01 .sec01__img09 {
  margin-top: 500px;
}
main #SEC01 .sec01__img10 {
  margin: 500px auto 0;
  max-width: 1000px;
  position: sticky;
  top: -250px;
}
main #SEC01 .sec01__img10 .img {
  width: 100%;
}
main #SEC01 .sec01__img10 .img--back img {
  width: 100%;
  display: block;
}
main #SEC01 .sec01__img10 .img--front {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  -webkit-transform-origin: center;
          transform-origin: center;
}
main #SEC01 .sec01__img10 .img--front img {
  width: 100%;
  display: block;
}
main #SEC01 .sec01__txt {
  border: 1px solid #1a1a1a;
  max-width: 950px;
  margin: 400px auto 0;
  color: #1a1a1a;
  padding: 100px;
}
main #SEC01 .sec01__txt img {
  max-width: 425px;
}
main #SEC01 .sec01__txt p {
  margin-top: 50px;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
main #SEC01 .sec01__profile {
  max-width: 1100px;
  margin: 300px auto 0;
}
main #SEC01 .sec01__profile img {
  max-width: 57px;
}
main #SEC01 .sec01__profile p {
  max-width: 445px;
  margin-top: 20px;
  font-size: 1.4rem;
}
main #SEC01 .sec01__info {
  max-width: 1100px;
  margin: 160px auto 0;
}
main #SEC01 .sec01__info img {
  margin-top: 20px;
  max-width: 110px;
}
/* SP */
@media screen and (max-width: 769px) {
  main {
    background-color: #e58e8a;
    font-family: "Open Sans", "Noto Sans JP", sans-serif;
    font-weight: 400;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    color: #1a1a1a;
    padding-bottom: 75px;
    font-size: 12px;
  }
  main img {
    width: 100%;
  }
  main .inner {
    max-width: 1600px;
    padding: 0;
    margin: auto;
  }
  main .sec__credit {
    font-size: 6px;
    max-width: 1100px;
    margin: 12px auto 0;
    width: 80%;
  }
  main .sec__credit.w1000 {
    max-width: 1000px;
  }
  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 .img--top img {
    clip-path: inset(100% 0 0 0);
  }
  main .img--bottom img {
    clip-path: inset(0 0 100% 0);
  }
  main .img--left img {
    clip-path: inset(0 100% 0 0);
  }
  main .img--right img {
    clip-path: inset(0 0 0 100%);
  }
  main #MV .mv {
    padding: 0;
  }
  main #LEAD .lead {
    max-width: 1200px;
    margin-top: 12px;
  }
  main #LEAD .lead__ttl {
    padding-left: 10px;
    max-width: 360px;
    width: 100%;
    margin: 0;
    line-height: 30px;
  }
  main #LEAD .lead__txt {
    margin: 25px 0 0 25px;
  }
  main #LEAD .lead__credit {
    margin: 25px 0 0 62px;
    line-height: 25px;
    font-size: 10px;
  }
  main #SEC01 {
    margin-top: 128px;
  }
  main #SEC01 .sec01__img01 {
    height: 200px;
    max-width: 275px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
  }
  main #SEC01 .sec01__img01 .img {
    max-width: 137px;
    width: 100%;
    max-height: 172px;
  }
  main #SEC01 .sec01__img01 .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main #SEC01 .sec01__img02 {
    margin-top: 75px;
  }
  main #SEC01 .sec01__img03 {
    margin-top: 82px;
  }
  main #SEC01 .sec01__img04 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 98px auto 0;
  }
  main #SEC01 .sec01__img04 .img {
    overflow: hidden;
  }
  main #SEC01 .sec01__img04 .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main #SEC01 .sec01 .sticky-box {
    height: 310px;
  }
  main #SEC01 .sec01__img05 {
    margin: 25px auto 0;
    max-width: 250px;
    top: 0;
    position: relative;
  }
  main #SEC01 .sec01__img05 .img {
    width: 100%;
  }
  main #SEC01 .sec01__img05 .img--back img {
    width: 100%;
    display: block;
  }
  main #SEC01 .sec01__img05 .img--front {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  main #SEC01 .sec01__img05 .img--front img {
    width: 100%;
    display: block;
  }
  main #SEC01 .sec01__img06 {
    margin: 82px auto 0;
  }
  main #SEC01 .sec01__img07 {
    margin-top: -75px;
  }
  main #SEC01 .sec01__img08 {
    margin-top: -21px;
  }
  main #SEC01 .sec01__img08 .sec__credit {
    max-width: 750px;
    margin: 30px auto 0 10.5vw;
  }
  main #SEC01 .sec01__img09 {
    margin-top: 77px;
  }
  main #SEC01 .sec01__img10 {
    margin: 75px auto 0;
    max-width: 250px;
    position: relative;
    top: 0;
  }
  main #SEC01 .sec01__img10 .img {
    width: 100%;
  }
  main #SEC01 .sec01__img10 .img--back img {
    width: 100%;
    display: block;
  }
  main #SEC01 .sec01__img10 .img--front {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  main #SEC01 .sec01__img10 .img--front img {
    width: 100%;
    display: block;
  }
  main #SEC01 .sec01__txt {
    border: 1px solid #1a1a1a;
    max-width: 950px;
    margin: 97px 20px 0;
    color: #1a1a1a;
    padding: 26px 18px;
  }
  main #SEC01 .sec01__txt img {
    max-width: 236px;
  }
  main #SEC01 .sec01__txt p {
    margin-top: 21px;
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  main #SEC01 .sec01__profile {
    max-width: 1100px;
    margin: 75px 45px 0;
  }
  main #SEC01 .sec01__profile img {
    max-width: 32px;
  }
  main #SEC01 .sec01__profile p {
    max-width: 445px;
    margin-top: 10px;
    font-size: 9px;
  }
  main #SEC01 .sec01__info {
    max-width: 1100px;
    margin: 75px 45px 0;
    font-size: 9px;
  }
  main #SEC01 .sec01__info img {
    margin-top: 20px;
    max-width: 60px;
  }
}
/* SP ここまで */