@charset "UTF-8";
/* **************************************


     追加


***************************************/
/*最小値:$value+0.2 → 可変（$value + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px,2560px:12px））→ 最大値:$value + 1.2*/
/* =============================================================================


     index


============================================================================= */
.mv {
  max-height: 100vh;
  position: relative;
}

.mv-imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-height: 100vh;
  position: relative;
  /*   &:after {
    content: "";
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border: 2px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  } */
}

.mv-imgs:before {
  background: #2d2d2d;
  content: "";
  height: 100%;
  left: 50%;
  mix-blend-mode: multiply;
  opacity: 0.4;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2;
}

.mv-swiper {
  width: 50%;
}

.mv-img {
  width: 100%;
}

.mv-img img {
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

.mv-txtbox {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2;
}

.mv-en {
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.mv-en span {
  color: #fd0;
  font-family: "tt_commons_pro", sans-serif;
  font-size: clamp(2.3rem, calc(2.1rem + 0.625vw), 4rem);
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: bold;
  width: 7.1em;
}

.mv-en span:nth-child(1) {
  padding-left: 2em;
}

.mv-en img {
  display: block;
  width: 44px;
}

.mv-headbox {
  font-size: clamp(1.9rem, calc(2.8rem + 0.625vw), 6rem);
  font-weight: 900;
  letter-spacing: 0px;
  line-height: 1.3;
  text-align: center;
}

.mv-headbox span {
  font-size: clamp(1.2rem, calc(1rem + (0.625vw * 1)), 2.2rem);
  font-weight: bold;
  margin-top: 14px;
}

/* =============================================================================


     about


============================================================================= */
.about {
  padding: 40px 0 100px;
}

.about-en {
  color: #f6f2e4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "tt_commons_pro", sans-serif;
  font-size: clamp(14.4rem, calc(14.2rem + (0.625vw * 1)), 15.4rem);
  font-weight: bold;
  line-height: 1.2;
  overflow: hidden;
  position: relative;
  width: 100vw;
  z-index: 1;
}

.loop-txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 0 0.25em;
  white-space: nowrap;
}

.loop-txt:nth-child(odd) {
  -webkit-animation: loop 50s -25s linear infinite;
          animation: loop 50s -25s linear infinite;
}

.loop-txt:nth-child(even) {
  -webkit-animation: loop2 50s linear infinite;
          animation: loop2 50s linear infinite;
}

.mv-ball {
  background: transparent url(../asset/images/top/mv_arrow.svg) no-repeat top center/contain;
  bottom: 20%;
  height: 140px;
  position: absolute;
  right: 20%;
  width: 140px;
  z-index: 2;
}

.mv-ball img {
  -webkit-animation: circle_text 10s linear infinite forwards;
          animation: circle_text 10s linear infinite forwards;
  display: block;
  height: 100%;
  width: 100%;
}

@-webkit-keyframes circle_text {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@keyframes circle_text {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}

.about-head {
  font-size: clamp(3rem, calc(2.8rem + (0.625vw * 1)), 4rem);
  font-weight: 900;
  line-height: 1.3;
  margin-top: 12px;
  text-align: center;
}

.about-txt {
  font-size: clamp(1.4rem, calc(1.2rem + (0.625vw * 1)), 2.4rem);
  margin-top: 1em;
  text-align: center;
}

.about-btnbox {
  margin-top: 120px;
}

/* =============================================================================


     service


============================================================================= */
.service {
  background: #f6f2e4;
  padding: 140px 0;
}

.service-ttlbox {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  text-align: center;
}

.service-ttlbox .service-ttl {
  font-family: "tt_commons_pro", sans-serif;
  font-size: clamp(6.6rem, calc(6.4rem + (0.625vw * 1)), 7.6rem);
  font-weight: bold;
  letter-spacing: 5px;
}

.service-ttlbox span {
  font-size: clamp(1.4rem, calc(1.2rem + (0.625vw * 1)), 2.4rem);
  font-weight: 600;
}

.service-content {
  border-radius: 40px;
  color: #fff;
  margin-top: 80px;
  padding: 150px 40px;
}

.service-content._pl {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#202c7e), to(#0e1233)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #202c7e 0%, #0e1233 100%) 0% 0% no-repeat padding-box;
}

.service-content._magoshiba {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#305e19), to(#213b13)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #305e19 0%, #213b13 100%) 0% 0% no-repeat padding-box;
}

.service-content-ttlbox {
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.service-content-ttlbox img {
  display: inline-block;
  margin: auto;
  margin-bottom: 20px;
  max-width: 100px;
}

.service-content-ttlbox span {
  color: #fd0;
  font-family: "tt_commons_pro", sans-serif;
  font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  font-weight: bold;
}

.service-content-ttl {
  font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
}

.service-contentbox {
  margin: 70px auto 0;
  max-width: 860px;
}

.service-content-head {
  border-bottom: 2px solid #fff;
  border-top: 2px solid #fff;
  font-size: clamp(2.6rem, calc(2.4rem + (0.625vw * 1)), 3.6rem);
  font-weight: 900;
  letter-spacing: 0;
  margin-top: 32px;
  padding: 18px 0;
  text-align: center;
}

.service-content-txt {
  font-size: clamp(1.4rem, calc(1.2rem + (0.625vw * 1)), 2.4rem);
  font-weight: 400;
  margin-top: 25px;
}

.service-content-case {
  color: #fd0;
  font-size: clamp(1.8rem, calc(1.6rem + (0.625vw * 1)), 2.8rem);
  font-weight: 900;
  margin-top: 48px;
  text-align: center;
}

.service-case-list {
  gap: 26px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: calc((875px - 1366px) / 2);
  margin-top: 24px;
  width: 1366px;
}

.service-case-item {
  overflow: hidden;
  position: relative;
  width: calc(50% - 13px);
}

.service-case-itemlink {
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.service-case-itemlink:hover .service-case-itemimg {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}

.service-case-itemimg {
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.service-case-itemimg:before {
  background: #2d2d2d4d;
  content: "";
  height: 100%;
  left: 50%;
  opacity: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

.secrice-case-itemtxt {
  color: #fff;
  font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  font-weight: 900;
  left: 50%;
  position: absolute;
  text-align: center;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}

.service-case-itemttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 180px;
}

.service-btnbox {
  margin: 120px auto 0;
}

.service-btnbox .btn {
  background: #fd0;
  color: #2d2d2d;
}

.anime {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fd0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  height: 100vh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  padding: 300px 0;
  position: relative;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1;
  z-index: 1000;
}

.anime:before {
  border: 2px solid #fff;
  content: "";
  height: calc(100% - 40px);
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 40px);
  z-index: -1;
}

#logo {
  margin: auto;
  width: 50vw;
}

#logo .cls-1 {
  fill: transparent;
  stroke-width: 1px;
  stroke: #2d2d2d;
}

@media screen and (max-width: 1366px){
  .service-case-list {
    margin: 24px calc(50% - 50vw) 0;
    width: 100vw;
  }
}

@media (max-width: 1208px){
  .mv-headbox {
    font-size: clamp(1.9rem, calc(1.7rem + (0.625vw * 1)), 2.9rem);
  }
  .mv-ball {
    bottom: 50px;
    height: 100px;
    right: 50px;
    width: 100px;
  }
  .service-ttlbox .service-ttl {
    font-size: clamp(5.4rem, calc(5.2rem + (0.625vw * 1)), 6.4rem);
  }
  .service-case-itemttl {
    width: clamp(60px, 13vw, 180px);
  }
}

@media (max-width: 767px){
  .mv {
    max-height: 70vh;
  }
  .mv-imgs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .mv-swiper {
    width: 100%;
  }
  .mv-img {
    height: 50vw;
  }
  .mv-en span {
    font-size: clamp(1.7rem, calc(1.5rem + (0.625vw * 1)), 2.7rem);
    width: 7.2em;
  }
  .about {
    overflow: hidden;
    padding: 40px 0;
  }
  .about-en {
    font-size: clamp(9.4rem, calc(9.2rem + (0.625vw * 1)), 10.4rem);
  }
  .mv-ball {
    bottom: 30px;
    height: 60px;
    right: 30px;
    width: 60px;
  }
  .about-head {
    font-size: clamp(2.4rem, calc(2.2rem + (0.625vw * 1)), 3.4rem);
  }
  .about-txt {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .about-btnbox {
    margin-top: 40px;
  }
  .service {
    padding: 60px 0;
  }
  .service-ttlbox .service-ttl {
    font-size: clamp(3.4rem, calc(3.2rem + (0.625vw * 1)), 4.4rem);
  }
  .service-ttlbox span {
    font-size: clamp(1.2rem, calc(1rem + (0.625vw * 1)), 2.2rem);
  }
  .service-content {
    margin-top: 40px;
    padding: 60px 20px;
  }
  .service-contentbox {
    margin-top: 48px;
  }
  .service-content-head {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .service-content-txt {
    font-size: clamp(1.6rem, calc(1.4rem + (0.625vw * 1)), 2.6rem);
  }
  .service-content-case {
    font-size: clamp(2rem, calc(1.8rem + (0.625vw * 1)), 3rem);
  }
  .service-case-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .service-case-item {
    width: 80%;
  }
  .service-btnbox {
    margin-top: 60px;
  }
  #logo {
    width: 60vw;
  }
}


/*# sourceMappingURL=index.css.map*/
