@charset "UTF-8";

/*
Theme Name: Hi-CRAFT Original Theme
Description: Hi-CRAFT様TOPページ用テーマファイル
Version: 1.0.0
Author: Campus .,Inc
*/

.fv .section-inner {
  justify-content: center;
  align-items: center;
}

.fv h2.site-title {
  color: var(--white);
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  z-index: 10;
  opacity: 1;
}

svg.fv-logo {
  display: block;
  margin-top: 20px;
  width: 300px;
  height: auto;
  margin: 20px auto;
}

.cls-1 {
  fill: #fff;
  stroke: #fff;
  stroke-width: 1px;
  stroke-linejoin: miter;
}

.topmessage .section-inner {
  padding: 0 250px;
}

img.topmessage {
  width: 40vw;
  height: auto;
}

.topmessage h1.maincopy {
  color: var(--black);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px; /* 142.857% */
  letter-spacing: 2.8px;
  margin-bottom: 2em;
}

.topmessage .right {
  text-align: left;
}

section.concept {
  margin: 0;
  text-align: left;
  background-image: url(../image/concept.png);
  background-repeat: no-repeat;
  background-size: cover;

  color: var(--white);
}

section.service {
  margin: 0;
  text-align: left;

  background-image: url(../image/service01.png), url(../image/service02.png),
    url(../image/service03.png), url(../image/service04.png);
  /*2枚の画像の横幅を、いずれもcontainer幅の半分に指定*/
  background-size: 25% 100%, 25% 100%, 25% 100%, 25% 100%;
  /*1枚目の画像を左上、2枚目の画像を右下に配置*/
  background-position: 0%, calc(100% / 3), calc(100% / 3 * 2), 100%;
  /*2枚の画像をいずれも繰り返さないよう指定*/
  background-repeat: no-repeat;
  background-color: var(--black);

  color: var(--white);
}
.flow .section-inner {
  position: relative;
  margin: 90px auto;
  padding: 0 0 0 250px;
}

.flow h2 {
  text-align: left;
}

.flow .flowbgimg.outer {
  position: relative;
  overflow: visible;
}

.flow .flowbgimg img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.flow .flowbgimg .inner {
  position: relative;
  overflow: hidden;
}

.flow .flowbgimg .inner::before {
  position: absolute;
  bottom: -60px;
  left: -104px;
  content: "FLOW";
  color: var(--white);
  font-family: "DIN 2014", sans-serif;
  font-size: 200px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  z-index: 10;
}

.flow .flowbgimg.outer::after {
  position: absolute;
  bottom: -60px;
  left: -104px;
  content: "FLOW";
  color: var(--lightblue);
  opacity: 0.5;
  font-family: "DIN 2014", sans-serif;
  font-size: 200px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  z-index: -1;
}

section.company {
  color: var(--white);
  background-image: url(../image/company.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 90px auto;
}

.company .section-inner {
  padding: 20px 250px;
}

section.concept h2,
section.service h2 {
  color: var(--white);
  text-align: left;
}

section.company h2 {
  color: var(--white);
  text-align: center;
  margin-bottom: 30px;
}

.contact .column_2 .right {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.contact .column_2 .right h2 {
  text-align: left;
}

.works {
  margin: 90px 0;
  text-align: center;
}

.works button {
  margin: 30px auto 0;
}

.event_container {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  flex-wrap: nowrap;
  overflow-x: scroll;
}

.event_container a {
  display: contents;
}

.event .section-inner {
  background: var(--black);
  padding: 20px 250px;
  margin-bottom: 90px;
}

.event_child {
  min-width: 200px;
  max-width: calc(100% / 3 - 10px);
  display: flex;
  gap: 10px;
  flex-direction: column;
  justify-items: center;
  color: var(--white);
}

.event_child img {
  width: 100%;
  height: auto;
  position: relative;
}

.end .event_child img::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.event_child p {
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.event_description {
  display: flex;
  gap: 5px;
  flex-direction: column;
  justify-items: center;
}

/* TOPのみのレスポンシブ */
@media screen and (max-width: 425px) {
  .topmessage .section-inner {
    padding: 0 30px;
    margin: 90px auto;
  }

  img.topmessage {
    width: 100%;
    height: auto;
  }

  .company .section-inner {
    padding: 20px 30px;
    margin: 40px auto;
  }

  section.company h2 {
    margin-bottom: 0;
  }

  section.service {
    margin: 0;
    text-align: left;

    background-image: url(../image/service01.png);
    /*2枚の画像の横幅を、いずれもcontainer幅の半分に指定*/
    background-size: cover;
    /*1枚目の画像を左上、2枚目の画像を右下に配置*/
    background-position: 0%;
    /*2枚の画像をいずれも繰り返さないよう指定*/
  }

  .event .section-inner {
    padding: 20px 30px;
  }

  .flow .section-inner {
    padding: 0 0 0 30px;
  }

  .flow img.flowbgimg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
  }
  .flow .section-inner::before {
    position: absolute;
    top: 130px;
    right: 0px;
    font-size: 80px;
  }
  .flow .flowbgimg .inner::before {
    bottom: -100px;
    left: -50px;
    font-size: 130px;
  }

  .flow .flowbgimg.outer::after {
    bottom: -100px;
    left: -50px;
    font-size: 130px;
  }

  .fv h2.site-title {
    text-align: center;
  }

  .contact .column_2 .right {
    padding: 0 30px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .topmessage .section-inner{
    padding: 0 60px;
    margin: 90px auto;
  }

  .flow .section-inner {
    padding: 0 0 0 60px;
  }

  .event .section-inner {
    padding: 20px 60px;
  }
}

@media screen and (max-width: 767px) {
  .topmessage .section-inner,
  .flow .section-inner {
    padding: 0 30px;
    margin: 90px auto;
  }

  .topmessage .column_2 div,
  .flow .column_2 div {
    flex: 1 1 100%;
  }

  .event .section-inner {
    padding-right: 0px;
  }
}

/* svgアニメーション */
/***************************************************
 * Generated by SVG Artista on 10/1/2024, 2:08:35 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 441.3673095703125px;
    stroke-dasharray: 441.3673095703125px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 441.3673095703125px;
  }
}

@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 441.3673095703125px;
    stroke-dasharray: 441.3673095703125px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 441.3673095703125px;
  }
}

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1s ease 0s both,
    animate-svg-fill-1 0.7s ease-in 3.5s both;
  animation: animate-svg-stroke-1 1s ease 0s both,
    animate-svg-fill-1 0.7s ease-in 3.5s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 59.82093048095703px;
    stroke-dasharray: 59.82093048095703px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 59.82093048095703px;
  }
}

@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 59.82093048095703px;
    stroke-dasharray: 59.82093048095703px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 59.82093048095703px;
  }
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1s ease 0.3s both,
    animate-svg-fill-2 0.7s ease-in 3.8s both;
  animation: animate-svg-stroke-2 1s ease 0.3s both,
    animate-svg-fill-2 0.7s ease-in 3.8s both;
}

@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 150.9890899658203px;
    stroke-dasharray: 150.9890899658203px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 150.9890899658203px;
  }
}

@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 150.9890899658203px;
    stroke-dasharray: 150.9890899658203px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 150.9890899658203px;
  }
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1s ease 0.6s both,
    animate-svg-fill-3 0.7s ease-in 4.1s both;
  animation: animate-svg-stroke-3 1s ease 0.6s both,
    animate-svg-fill-3 0.7s ease-in 4.1s both;
}

@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 58.811763763427734px;
    stroke-dasharray: 58.811763763427734px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 58.811763763427734px;
  }
}

@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 58.811763763427734px;
    stroke-dasharray: 58.811763763427734px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 58.811763763427734px;
  }
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1s ease 0.8999999999999999s both,
    animate-svg-fill-4 0.7s ease-in 4.4s both;
  animation: animate-svg-stroke-4 1s ease 0.8999999999999999s both,
    animate-svg-fill-4 0.7s ease-in 4.4s both;
}

@-webkit-keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 247.92294311523438px;
    stroke-dasharray: 247.92294311523438px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 247.92294311523438px;
  }
}

@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 247.92294311523438px;
    stroke-dasharray: 247.92294311523438px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 247.92294311523438px;
  }
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-stroke-5 1s ease 1.2s both,
    animate-svg-fill-5 0.7s ease-in 4.7s both;
  animation: animate-svg-stroke-5 1s ease 1.2s both,
    animate-svg-fill-5 0.7s ease-in 4.7s both;
}

@-webkit-keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 236.29953002929688px;
    stroke-dasharray: 236.29953002929688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.29953002929688px;
  }
}

@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 236.29953002929688px;
    stroke-dasharray: 236.29953002929688px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.29953002929688px;
  }
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-stroke-6 1s ease 1.5s both,
    animate-svg-fill-6 0.7s ease-in 5s both;
  animation: animate-svg-stroke-6 1s ease 1.5s both,
    animate-svg-fill-6 0.7s ease-in 5s both;
}

@-webkit-keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 255.74436950683594px;
    stroke-dasharray: 255.74436950683594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 255.74436950683594px;
  }
}

@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 255.74436950683594px;
    stroke-dasharray: 255.74436950683594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 255.74436950683594px;
  }
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-stroke-7 1s ease 1.7999999999999998s both,
    animate-svg-fill-7 0.7s ease-in 5.3s both;
  animation: animate-svg-stroke-7 1s ease 1.7999999999999998s both,
    animate-svg-fill-7 0.7s ease-in 5.3s both;
}

@-webkit-keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 197.71380615234375px;
    stroke-dasharray: 197.71380615234375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 197.71380615234375px;
  }
}

@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 197.71380615234375px;
    stroke-dasharray: 197.71380615234375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 197.71380615234375px;
  }
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-stroke-8 1s ease 2.1s both,
    animate-svg-fill-8 0.7s ease-in 5.6s both;
  animation: animate-svg-stroke-8 1s ease 2.1s both,
    animate-svg-fill-8 0.7s ease-in 5.6s both;
}

@-webkit-keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 167.28099060058594px;
    stroke-dasharray: 167.28099060058594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 167.28099060058594px;
  }
}

@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 167.28099060058594px;
    stroke-dasharray: 167.28099060058594px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 167.28099060058594px;
  }
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-stroke-9 1s ease 2.4s both,
    animate-svg-fill-9 0.7s ease-in 5.9s both;
  animation: animate-svg-stroke-9 1s ease 2.4s both,
    animate-svg-fill-9 0.7s ease-in 5.9s both;
}

@-webkit-keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 319.788818359375px;
    stroke-dasharray: 319.788818359375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 319.788818359375px;
  }
}

@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 319.788818359375px;
    stroke-dasharray: 319.788818359375px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 319.788818359375px;
  }
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(255, 255, 255);
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-stroke-10 1s ease 2.6999999999999997s both,
    animate-svg-fill-10 0.7s ease-in 6.199999999999999s both;
  animation: animate-svg-stroke-10 1s ease 2.6999999999999997s both,
    animate-svg-fill-10 0.7s ease-in 6.199999999999999s both;
}
