@charset "UTF-8";


html {
  font-size: 100%;
}

*{
  margin:0;
  padding:0;
}

body{
    font-family: "Noto Sans JP", sans-serif!important;
    font-weight: 500;
    word-break: break-word;
    color: #333;
    font-size: 1rem;
    letter-spacing:0.1em;
    line-height:1.8em;
    margin:0!important;
    padding:0;
  }

.wrapper {
    width:100%;
    max-width:1200px;
    padding:0 16px;
    margin:0 auto;
  }
  
a{
    text-decoration: none;
    color: #000;
}

.header-nav-pc-menu a:hover{
   color:#2898B5!important;
}

ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
    }

img {
  max-width: 100%;
  vertical-align:top;
}


/*-------------------------------------------

header

-------------------------------------------*/

.header-nav-pc{
  position: fixed; 
  top:50px;
  right: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border-radius: 7px;
  height: 65px;
  font-size: .875rem;
  font-weight: 800;
  z-index: 11; 
}


.header-logo{
  position: fixed; 
  width:280px;
  height: 115px;
  background-color: #fff;
  border-bottom-right-radius: 7px;
  text-align: center;
  padding:10px 15px 10px 15px;
  z-index: 11; 
  top:0;
  left: 0;
  transition: transform 0.3s 0.3s; 
}

.header-logo.hidden {
  transform: translateY(-100%); 
}

.header-logo img{
  margin-top: 25px;
  max-width:220px;
}

.header-nav-pc-menu{
  display: flex;
  align-items: center;
}

ul.header-nav-pc-menulist{
  display: flex;
  padding-left: 25px;
}

ul.header-nav-pc-menulist li{
  padding-right: 20px;
}

ul.header-nav-pc-menupr{
  display: flex;
  align-items: center;
  background: linear-gradient(to right, #0F6A81 50%, #2898B5 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
  background-color: #2898B5;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
  width: 120px;
  height: 65px;
}

ul.header-nav-pc-menupr li{
    width: 120px;
    height: 65px;
}

ul.header-nav-pc-menupr a{
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  opacity: 1!important;
}

ul.header-nav-pc-menupr:hover{
 background-position: 0 100%;
  transition: 0.5s;
  opacity: 1!important;
  color: #fff!important;
}

ul.header-nav-pc-menupr a:hover{
  color: #fff!important;
  opacity: 1!important;
}

ul.header-nav-pc-menulist li {
    line-height: 0;
}

li.recruitlink{
  color: #2898B5;
  font-size: 1.25rem;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  margin-top: 2px;
}

li.recruitlink a{
    color: #2898B5;
}

.animeleft-link.current a {
  color: #2898B5!important;
}

a.animeleft-link.current {
color: #7ec1d2!important;
}

.header-nav-pc-menupr a.current {
background: #000;
}

/*-------------------------------------------

sp-menu

-------------------------------------------*/

.nav-sp-recruit{
  position: fixed;
  top: 20px;
  right: 70px;
  height: 50px;
  color: #fff;
  background: #2898B5;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  z-index: 1000;
  padding: 13px 15px 0 15px;
  border-right: 1px solid #fff;
  border-radius: 3px 0px 0px 3px;
}

.nav-sp-recruit.is-hidden {
  display: none;
}

.hamburger-fade {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  width: 50px;
  height: 50px;
  padding: 0;
  border: none;
  background: #2898B5;
  cursor: pointer;
  border-radius: 0px 3px 3px 0px;
}

.hamburger-fade-wrapper {
  position: relative;
  width: 17px;
  height: 17px;
  margin: 10px auto;
}

.hamburger-fade-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.hamburger-fade-line:nth-child(1) { top: 0; }
.hamburger-fade-line:nth-child(2) { top: 7px; }
.hamburger-fade-line:nth-child(3) { top: 14px; }

.hamburger-fade.active .hamburger-fade-line {
  background-color: #fff;
}

.hamburger-fade.active .hamburger-fade-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.hamburger-fade.active .hamburger-fade-line:nth-child(2) {
  opacity: 0;
}

.hamburger-fade.active .hamburger-fade-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.nav-fade {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  visibility: hidden;
  z-index: 900;
}

.nav-fade-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(40, 152, 181, 0.98);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.nav-fade.active {
  visibility: visible;
}

.nav-fade.active .nav-fade-bg {
  opacity: 1;
}

.nav-fade-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 5vh 10vw;
  font-weight: bold;
}

.nav-fade-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-fade-list li a {
    color: #fff!important;
}

.nav-fade-item {
  position: relative;
  margin-bottom: 2vh;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.nav-fade.active .nav-fade-item {
  opacity: 1;
  transform: translateY(0);
}

.nav-fade.active .nav-fade-item:nth-child(1) { transition-delay: 0.2s; }
.nav-fade.active .nav-fade-item:nth-child(2) { transition-delay: 0.3s; }
.nav-fade.active .nav-fade-item:nth-child(3) { transition-delay: 0.4s; }
.nav-fade.active .nav-fade-item:nth-child(4) { transition-delay: 0.5s; }
.nav-fade.active .nav-fade-item:nth-child(5) { transition-delay: 0.6s; }
.nav-fade.active .nav-fade-item:nth-child(6) { transition-delay: 0.7s; }
.nav-fade.active .nav-fade-item:nth-child(7) { transition-delay: 0.8s; }
.nav-fade.active .nav-fade-item:nth-child(8) { transition-delay: 0.9s; }
.nav-fade.active .sub-menu  { transition-delay:  0.95s; }

.nav-fade-number {
  position: absolute;
  left: 0;
  color: #fff;
  font-size: 14px;
  font-family: "Bebas Neue", sans-serif;
}

.nav-fade-link {
  display: inline-block;
  color: #fff;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.3s ease;
}

.nav-fade-link:hover {
  color: #93cbda;
}

.nav-fade-info {
  margin-top: auto;
  padding-left: 60px;
  color: #fff;
  font-size: 14px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
}

.nav-fade.active .nav-fade-info {
  opacity: 1;
  transform: translateY(0);
}

.nav-fade-address,
.nav-fade-tel {
  margin: 5px 0;
}

.layered-menu {
  margin-top: 5px;
}

.layered-menu li{
  color: #fff;
  padding-left: 20px;
  padding-bottom: 5px;
}

.layered-menu li:before {
  content: "-";
  padding-right: 5px;
}

.sub-menu {
  color: #fff;
  font-size: 0.8rem;
  margin-top: 30px;
}

.sub-menu li a {
    color: #fff;
    padding-bottom: 10px;
}

/*-------------------------------------------

main

-------------------------------------------*/

#main{
   position: relative;
   height: 100vh;
}

.main-bg-inner{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   clip-path: inset(0);
}

.main-bg{
  position: fixed;  
  width: 100%;
  min-height: 100dvh;
  background: url(/images/top/main-bg03.png) no-repeat center center / cover;
  top:0;
  left:0;
  transition: margin-top 1s ease-out;
}


.main-copy{
  position: absolute;
  left: clamp(50px, 15vw, 200px);
  bottom: 150px;
  animation: maincopy 4s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes maincopy {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.main-bg p{
  color: #fff;
  font-size:  1.5rem;
  font-weight: 500;
  letter-spacing: .2rem;
}

.main-copy-txt{
  font-family: "Bebas Neue", sans-serif;
  font-size:  5rem!important;
  font-style: normal;
  letter-spacing: .4rem!important;
  line-height: 1.2;
  margin-bottom: 20px;
}

.main-subcopy{
  font-weight: bold;
}

.revotechimg{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-0%, -50%);
  margin: auto 0;
  padding-left: 40px;
  opacity: 0;
  animation: revotechimg 1s ease-out 3s forwards; 
}

@keyframes revotechimg {
 to {
    opacity: 1; 
  }
}

.scrollimg{
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0 40px 40px 0;
  opacity: 0;
  animation: scrollimg 1s ease-out 3s forwards; 
}

@keyframes scrollimg {
 to {
    opacity: 1; 
  }
}

.scroll-border {
  position: relative;
  top: 10px;
  width: 100%;
  height: 80px;
  overflow: hidden;
}
.scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 40px;
  top: 0;
  left: 5px;
  right: 0;
  background: #fff;
  animation: scrollbar 2.0s ease-in-out infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    top: 100%;
  }
}



/*-------------------------------------------

main-動画

-------------------------------------------*/


.main-movie {
  position: relative;
}


/* video */

.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}



.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  object-fit: cover; 
}

/* overlay */

.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 211, 221, 0.3);
  background-image: radial-gradient(black 20%, transparent 20%),
  radial-gradient(black 20%, transparent 20%);
  background-size: 5px 5px;
  background-position: 0 0, 3px 3px;
  pointer-events: none;
}

.movie-copy {
    color: #fff;
}


/*-------------------------------------------

ボタン

-------------------------------------------*/

a.viewmorebtn{
  display: block;
  width: 210px;
  color: #000;
  background: linear-gradient(to right, #2898B5 50%, #fff 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
  border-radius: 3px;
  opacity: 1;
}

.viewmorebtn:hover {
  background-position: 0 100%;
  background-color: #fff;
  color: #fff!important;
  opacity: 1;
}

a:hover .viewmore-arrow .triangle {
  border-left: 10px solid #fff;
}

a:hover .viewmore .viewmore-txt {
  border-right: 1px solid #fff;
}

.viewmore{
  display: flex;
  align-items: center;
}

.viewmore-txt{
  display: flex;
  justify-content: center;
  align-items: center;
  width:160px;
  height: 50px;
  border-right: 1px solid #000;
  font-size:  1.5rem;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  padding-top: 3px;
}

.triangle{
  width: 0;
  height: 0;
  border-left: 10px solid black;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  margin: 20px;
}

.viewmore-txt-bluegreen{
  display: flex;
  justify-content: center;
  align-items: center;
  width:160px;
  height: 50px;
  border-right: 1px solid #fff;
  font-size:  1.5rem;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  padding-top: 3px;
}

.triangle-bluegreen{
  width: 0;
  height: 0;
  border-left: 10px solid #fff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  margin:20px;
}

a.viewmorebtn-bluegreen{
  display: block;
  width: 210px;
  color: #fff;
  background: linear-gradient(to right, #000 50%, #2898B5 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
  border-radius: 3px;
  margin-top: 15px;
  opacity: 1;
}

a.viewmorebtn-bluegreen:hover {
  background-position: 0 100%;
  color: #fff!important;
  opacity: 1;
}

a.triangle-bluegreen:hover{
  border-left: 10px solid #fff!important;
}

.dl-txt-bluegreen{
  display: flex;
  justify-content: center;
  align-items: center;
  width:270px;
  height: 50px;
  border-right: 1px solid #fff;
  font-size:  1rem;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-style: normal;
  padding-top: 3px;
}

a.dl-btn-bluegreen{
  display: block;
  width: 320px;
  color: #fff!important;
  background: linear-gradient(to right, #000 50%, #2898B5 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
  border-radius: 3px;
  margin-top: 15px;
}

a.dl-btn-bluegreen:hover {
  background-position: 0 100%;
  color: #fff!important;
}



/*-------------------------------------------

私たちの想い

-------------------------------------------*/

.ourthoughts {
  height: 650px;
  color: #fff;
  background: url(/images/top/ourthoughts-bg.png) no-repeat center center / cover;
  display: grid;
  place-items: center;
  position: relative; 
  z-index: 1; 

}

.ourthoughts::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  
  z-index: -1; 
  opacity: 0; 
  transition: opacity 0.3s ease-in-out;
}

.ourthoughts.transform::before {
  opacity: 1; 
}


.top-cont-maincopy {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:  4.3rem;
  line-height:4.8rem;
  letter-spacing: .4rem;
  text-align: left;
}


.top-cont-title-right{
  font-size:  1rem;
  font-weight: bold;
  margin-bottom: 7px;
  text-align: right!important;
}


.top-cont-title{
  font-size:  1rem;
  font-weight: bold;
  margin-bottom: 7px;
  text-align: left!important;
}

.top-cont-right{
  max-width: 500px;
  width: 100%;
  margin-left: auto;
}

.top-cont-copy{
  font-size: 2rem;
  font-weight: bold;
  margin-top: 15px;
}

.txtbox{
  margin: 40px 0;
}

.btn-right{
  display: flex;
  justify-content: flex-end;
}

.ot-anime{
    max-width: 636px !important;
    height: auto !important;
    margin-bottom: 30px;
    width: 100% !important;
}

/***************************************************
 * Generated by SVG Artista on 12/17/2025, 9:46:37 AM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

svg .svg-ot-1 {
  stroke-dashoffset: 204.02572631835938px;
  stroke-dasharray: 204.02572631835938px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

svg.active .svg-ot-1 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-2 {
  stroke-dashoffset: 211.25308227539062px;
  stroke-dasharray: 211.25308227539062px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

svg.active .svg-ot-2 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-3 {
  stroke-dashoffset: 215.90000915527344px;
  stroke-dasharray: 215.90000915527344px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

svg.active .svg-ot-3 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-4 {
  stroke-dashoffset: 141.39999389648438px;
  stroke-dasharray: 141.39999389648438px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

svg.active .svg-ot-4 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-5 {
  stroke-dashoffset: 221.59994506835938px;
  stroke-dasharray: 221.59994506835938px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
}

svg.active .svg-ot-5 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-6 {
  stroke-dashoffset: 204.0259552001953px;
  stroke-dasharray: 204.0259552001953px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

svg.active .svg-ot-6 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-7 {
  stroke-dashoffset: 211.29525756835938px;
  stroke-dasharray: 211.29525756835938px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
}

svg.active .svg-ot-7 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-8 {
  stroke-dashoffset: 214.34857177734375px;
  stroke-dasharray: 214.34857177734375px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}

svg.active .svg-ot-8 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-9 {
  stroke-dashoffset: 221.59994506835938px;
  stroke-dasharray: 221.59994506835938px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}

svg.active .svg-ot-9 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-10 {
  stroke-dashoffset: 141.4000244140625px;
  stroke-dasharray: 141.4000244140625px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
}

svg.active .svg-ot-10 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-ot-11 {
  stroke-dashoffset: 187.46511840820312px;
  stroke-dasharray: 187.46511840820312px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}

svg.active .svg-ot-11 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}





/*-------------------------------------------

企業情報

-------------------------------------------*/

.company {
    position: relative;
    z-index: 0;
  height:650px;
  color:#fff;
  background: url(/images/top/company-bg.png) no-repeat center center / cover;
  display: grid;
  place-items: center;
}

.company::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); 
  opacity: 0;          
  transition: opacity 0.3s ease; 
  z-index: -1;
}

.company.transform::before {
  opacity: 1;
}

.top-cont-left{
  max-width: 500px;
  width: 100%;
  margin-right: auto;
}

.btn-left{
  display: flex;
  justify-content: flex-start;
}



/*-------------------------------------------

実績紹介

-------------------------------------------*/

.works{
  position: relative;
  height:500px;
  background: url(/images/top/works-bg02.png) no-repeat center center / cover;
}

.inner-bg {
    width: 100%;
    max-width: 1200px;
    position: absolute;
    background: #fff;
    top: 250px;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding: 80px 100px;
}

.works-flex{
  display: flex;
  justify-content: space-between;
}

.white-txt{
  width: 60%;
}

.white-txt-link{
  width: 35%;
  text-align: right;
}

.white-txt-link h2{
  text-align: right!important; 
}

.bluegreen{
  color:#2898B5;
}

.carousel-container{
  margin-top: 20px;
}

.movietxt-flex{
  display: flex;
  margin-top: 30px;
  align-items: center;
}

.movietxt-flex p {
    line-height: normal!important;
    margin-bottom: 0px;
}


.movietxt{
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:  2rem;
  padding-right: 20px;
}

.movietxt-j{
  font-weight: bold;
  align-items: center;
}




/* ----------------------*
 * カルーセル
 * ----------------------*/
.carousel {
  --height: 100%;
  height: var(--height);
  display: grid;
  grid-auto-columns: 100%;
  /* アイテムを横並びにする */
  grid-auto-flow: column;
  overflow-x: auto;
  /* X方向にスナップ */
  scroll-snap-type: x mandatory;
  /* 1度に1枚ずつ移動 */
  scroll-snap-stop: always;
  /* スムーズにスクロールさせる */
  scroll-behavior: smooth;
  /* インジケーターの表示 */
  scrollbar-width: none;
  overflow: hidden;

  /* スクロールバー非表示（Chrome、Safari） */
  &::-webkit-scrollbar {
    display: none;
  }


  /* ホバー時スタイル */
  &::scroll-button(*):not(:disabled):hover {
    color: #2898B5;
    cursor: pointer;
  }

  &::scroll-button(*):disabled {
    color: lightgray;
  }

.carousel-container {
    position: relative;
}

/* ----------------------*
 * カルーセルの画像アイテム
 * ----------------------*/
.item {
  position: relative;
  width: 100%;
  height: var(--height);
  scroll-snap-align: center;
  transition: 0.3s ease-out;
  }

.item::before{
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  }
  
.item-txt{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 600;
  font-size: 2.5rem;
  color: #fff;
  }
  
 .item-txt::before{ 
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 12px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  left: -17px;
  bottom: 0;
  margin: auto;
 }
  
  
  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (any-hover: hover) {
    &:hover {
      filter: brightness(60%);
    }
  }
}

@media (width < 950px) {
  .carousel {
    &::scroll-button(*) {
      top: calc(anchor(bottom) - -20px);
    }
  }
}



/* ----------------------*
 * ナビゲーションボタン
 * ----------------------*/
/* ボタンの共通スタイル */

.carousel-nav-buttons {
    position: relative;
}


.carousel-prev-btn,
.carousel-next-btn {
    position: absolute;
    bottom: -55px;
    right: 0;
    transform: translateY(-50%);
    width: 70px;
    height: 70px;
    border: 1px solid #2898B5;
    background-color: #fff;
    padding: 0;
    transition: color 0.2s;
    z-index: 10; /* カルーセルアイテムより手前に表示 */
    color: black;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    border-radius: 100px;
}

/* 左ボタン（前へ） */
.carousel-prev-btn {
     right: 100px;
}

/* 右ボタン（次へ） */
.carousel-next-btn {
    right: 20px;
}

/* ホバー時のスタイル */
.carousel-prev-btn:not(:disabled):hover,
.carousel-next-btn:not(:disabled):hover {
    color: #2898B5;
}

/* 非活性時のスタイル（最初/最後尾にいるとき） */
.carousel-prev-btn:disabled,
.carousel-next-btn:disabled {
    color: lightgray;
    cursor: default;
}

/* ----------------------*
 * レスポンシブ対応 (950px未満)
 * ----------------------*/
@media (width < 950px) {
    .carousel-prev-btn,
    .carousel-next-btn {
        top: auto; 
        bottom: 50px;
        right: 0;
        transform: none;
    }

    .carousel-prev-btn {
       right: 150px; 
    }

    .carousel-next-btn {
       right: 60px; 
    }
}


/*-------------------------------------------

EQUIPMENT

-------------------------------------------*/

.equipment{
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.equipment-txt {
  width: 42%;
}

.equipment-img {
  position: absolute;
  width: min(53.75vw, 925px);
  height: 400px;
  right: 0;
}

.equipment-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  height:100vh;
  overflow: hidden;
}


.equipment-anime-space{
    width: 15vw;
  
  /* 最大で300pxまでしか広がらないようにする */
  max-width: 300px;
  background: red;
}


.equipment-left{
  width: 50%;
  padding: 90px;
}

.equipment-right{
  width: 69%;
}

.scrollwrapper {
  display: flex; /* 要素を横並び */
  height: 600px; /* 要素の高さを画面いっぱい */
  width: 300%; /* 要素の数×100% */
  overflow: hidden;
}
.side-scroll {
  align-items: center;
  background-position: center center;
  background-size: cover;
  display: flex;
  justify-content: center;
  width: 100%;
}
.side-scroll::before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.side-scroll-01 {
  background-image: url("img/equipment-img.png");
}
.side-scroll-02 {
  background-image: url("img/equipment-img.png");
}
.side-scroll-03 {
  background-image: url("img/equipment-img.png");
}

.equipment-animeflex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.equipment-animeleft{
  width: 50%;
  padding: 90px;
}

.equipment-animeright{
  width: 50%;
}

/* スライダー全体 */
.slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
}
/* スライド3枚のグループ */
.loop-slider {
  animation: scroll-left 20s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide {
  width: calc(100vw / 3); /* 3はスライドの枚数 */
}
/* スライドの画像 */
.slide img {
  display: block;
  width: 100%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*-------------------------------------------

RECRUIT

-------------------------------------------*/

.recruit {
    width: 100vw; 
    position: relative;
    height: 700px;
    background: url(/images/top/recruit-bokashi.png) no-repeat center center / cover;
    display: grid;
    place-items: center;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.recruit-anime {
  max-width: 636px!important; 
  height: auto!important; 
  margin-bottom: 30px;
  width: 100%!important;
}

.recruit-anime svg {
  width: 100%!important;
  height: auto!important; 
  display: block;
}

.recruit h2 {
    font-family: barlow, sans-serif;
    font-weight: 800;
    font-style: italic;
    font-size: 6.5rem;
    letter-spacing: 1rem;
    color: #fff;
}

.recruit h3 {
    font-weight: bold;
    color: #fff;
    text-align: left!important;
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}

.recruit p {
    font-weight: bold;
    color: #fff;
    padding-top: 30px;
}

.recruit-inner {
  padding-top: 90px;

}

.entry-btn-flex {
  height: 110px;
  display: flex;
  background: linear-gradient(to right, #2898B5 50%, #fff 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
  margin: 40px 0;
  align-items: center;
  justify-content: space-between;
  padding: 40px;
}

.entry-btn-flex:hover {
  background-position: 0 100%;
  color: #fff!important;
}

.entry-btn-left {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.entry-btn-ttl {
    font-family: barlow, sans-serif;
    font-weight: 800;
    font-style: italic;
    font-size: 3.8rem;
    letter-spacing: 0.6rem;
}

.entry-btn-txt{
  font-size: 1.2rem;
  font-weight: bold;
  padding-top: 10px;
  padding-left: 10px;
}

.entry-btn-right{
  background-color: #2898B5;
  border-radius: 3px;
  padding: 15px 20px;
}

.entrybtn-triangle{
  width: 0;
  height: 0;
  border-left: 10px solid #fff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.entrybtn-viewmore-arrow{
  position: relative; 
  transition: transform 0.3s ease-out; 
}

.entry-btn-flex:hover .entrybtn-viewmore-arrow {
 transform: translateX(7px); 
}

.entry-btn-flex:hover .entrybtn-triangle{
  border-left: 10px solid #2898B5;
}

.entry-btn-flex:hover .entry-btn-right{
  background-color: #fff;
}


/***************************************************
 * Generated by SVG Artista on 9/24/2025, 11:27:00 AM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

svg .svg-elem-1 {
  stroke-dashoffset: 449.7109069824219px;
  stroke-dasharray: 449.7109069824219px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

svg.active .svg-elem-1 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-2 {
  stroke-dashoffset: 438.9246520996094px;
  stroke-dasharray: 438.9246520996094px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

svg.active .svg-elem-2 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-3 {
  stroke-dashoffset: 394.95526123046875px;
  stroke-dasharray: 394.95526123046875px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

svg.active .svg-elem-3 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-4 {
  stroke-dashoffset: 449.69244384765625px;
  stroke-dasharray: 449.69244384765625px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

svg.active .svg-elem-4 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-5 {
  stroke-dashoffset: 426.4901123046875px;
  stroke-dasharray: 426.4901123046875px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
}

svg.active .svg-elem-5 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-6 {
  stroke-dashoffset: 222.72213745117188px;
  stroke-dasharray: 222.72213745117188px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

svg.active .svg-elem-6 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

svg .svg-elem-7 {
  stroke-dashoffset: 315.5079040527344px;
  stroke-dasharray: 315.5079040527344px;
  fill: transparent;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
}

svg.active .svg-elem-7 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}




.inner-bg-recruit {
    width: 100%;
    max-width: 1200px;
    position: absolute;
    background: #fff;
    bottom: 0px;
    right: 0;
    left: 0;
    margin: 0 auto;
    padding: 80px 100px;
}

.white-txt-link-left {
    text-align: left;
}




/*-------------------------------------------

CONTACT

-------------------------------------------*/

.ctc{
  width: 100vw; 
  background:linear-gradient(0deg,rgba(0, 0, 0, 0.4) 100%, rgba(40, 152, 181, 0) 100%),url(/images/top/footer-bg.png) no-repeat center center / cover;
 position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
}

.ctc p{
    margin-bottom: 0px!important;
}

.ctc li{
    margin-top:  0px!important;
    line-height:  normal!important;
}

.top-ctc-title{
  color: #fff;
  font-size:  1rem;
  font-weight: bold;
  margin-bottom: 7px;
  text-align: center;
}

.top-ctc-maincopy {
  color: #fff;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:  4.3rem;
  line-height:4.8rem;
  letter-spacing: .4rem;
  text-align: center;
}

.ctc-contents{
  padding: 90px 0px;
}

.ctc-contents a{
  color: #fff;
}

.ctc-flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 50px;
}


.ctc-tel{
  width: 49%;
  height:255px;
  background:#2898B5;
  color: #fff;
  text-align: center;
  padding: 40px 30px;
}

.ctc-tel h3{
  color: #fff!important;
  margin: 20px 0;
}

.ctc-mail h3{
  color: #fff!important;
  margin-top: 20px;
}

.ctc-mail{
  width: 49%;
  height:255px;
  background:#2898B5;
  color: #fff;
  text-align: center;
}

.ctc-tel-addr-inner{
  display: inline-block;
  text-align: left;
}

.ctc-tel-addr{
  display: flex;
}

.ctc-tel-addr-left{
  padding-right: 10px;
}

.download-contents{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  background: #fff;
  padding: 30px;
}

.download-contents>li:nth-of-type(2){
    margin-right: auto;
}

.circle{
  width:80px;
  height: 80px;
  color: #fff;
  background-color: #2898B5;
  border-radius: 100px;
  text-align:center;
  font-weight: bold;
  padding-top: 25px;
  margin-right: 20px;
}

.dl-copy{
  font-size: 1.1rem;
  font-weight: bold;
}

.catchcopy{
    background: #fff;
    margin-top: 30px;
    padding-top: 30px;
}

.catchcopy-txt{
    font-size: 1.2em;
    text-align: center;
    font-weight: bold;
}

.sns-contents{
  display: flex;
  justify-content: space-between;
  background: #fff;
  padding: 30px;
}

.sns-contents h3{
  font-family: "bebas-neue-pro", sans-serif!important;
  font-size: 2.5rem;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .3rem;
  margin-bottom: 0px;
  color: #2898B5;
}

.sns-contents li:nth-of-type(1){
  width: 12%;
  text-align: center;
}

.sns-contents li{
  width: 29.2%;
  text-align: center;
  font-family: "bebas-neue-pro", sans-serif;
  font-size: 1.5rem;
}

.facebookicon::before {
  content:" "; 
  background-image: url('/images/top/sns-facebook.png');
  background-size: cover;
  background-repeat:no-repeat;
  display: inline-block; 
  width: 22px;
  height: 22px;
  margin-right: 8px;
  vertical-align: -3px;
}

.instaicon::before  {
  content:" "; 
  background-image: url('/images/top/snsicon-insta.png');
  background-size: cover;
  background-repeat:no-repeat;
  display: inline-block; 
  width: 22px;
  height: 22px;
  margin-right: 8px;
  vertical-align: -5px;
}

.tiktokicon::before  {
  content:" "; 
  background-image: url('/images/top/snsicon-tiktok.png');
  background-size: cover;
  background-repeat:no-repeat;
  display: inline-block; 
  width: 19px;
  height: 22px;
  margin-right: 8px;
  vertical-align: -5px;
}



.sns-banner {
  display: block;
  color: #fff!important;
  font-size: 16px;
  font-weight: bold;
  background: #2898B5;
  padding: 18px 30px;
  position: relative;
  z-index: 1;
  transition: .3s;
}

.sns-banner::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.sns-banner:hover {
  color: #fff;
}
.sns-banner:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.ctc-mail-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  color: #fff!important;
  background: linear-gradient(to right, #000 50%, #2898B5 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}

.ctc-mail-btn:a{
  color: #fff!important;
}

.ctc-mail-btn:hover{
  background-position: 0 100%;
  color: #fff!important;
}

/*-------------------------------------------

FOOTER

-------------------------------------------*/

.footer-contents{
  background-color: #fff;
  margin: 80px 0 60px 0;
  text-align: center;
  font-weight: bold;
}

.footer-flex{
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

.footer-copyright{
  font-size: 1rem;
  font-family: "bebas-neue-pro", sans-serif;
  font-weight: bold;
}

.footer-addr{
  text-align: left;
  font-size: 0.8rem;
  line-height: 23px;
  letter-spacing: 0.02rem;
}

.footer-addr p{
    margin-bottom: 4px;
}

.footer-addr img{
  max-width:320px;
  width: 100%;
  margin-bottom: 10px;
}

.footer-nav-list{
  display: flex;
  justify-content: space-between;
  text-align: left;
  align-items: start;
}


.footer-nav-list ul{
    margin-top: 0px;
}

.footer-nav-list li{
  padding-right: 20px;
  font-size: 0.9rem;
  padding-bottom: 5px;
}

.footer-nav-list li:last-child{
  padding-right: 0px;
}

.footer-nav-layered:before {
  content: "-";
  padding-right: 5px;
}


.footer-nav-list-our-ul{
    margin-top: 5px!important;
}


.logo-icon ul{
    display: flex;
    justify-content: space-between;
}

.logo-icon li{
    width: calc((100% - (10px * 7)) / 8);
}

/*-------------------------------------------

loading

-------------------------------------------*/
@charset "utf-8";
.loading {
  display: none;
  width: 100vw;
  height: 100vh;
  /*ローディング画面の表示位置を固定*/
  position: fixed;
  top: 0;
  left: 0;
  background: #2898B5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  /*ローディング画面を0.5秒かけて非表示にする*/
  transition: all 0.5s linear;
  z-index: 100000;
  font-family: "bebas-neue-pro", sans-serif;
  line-height: 1.2;
}

/*ローディング画面を非表示にする*/
.loading.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loading-text {
  color: #FFF;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}

.loading-svg {
    text-align: center;
}

.loading-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.content {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-text {
  color:#333;
}

.loading-line{
    position: relative;
    border: 1px solid #fff;
    width: calc(100vw - 150px);
    height: calc(100vh - 150px);
 }
 




/*-------------------------------------------

sp

-------------------------------------------*/

@media screen and (max-width: 1450px) {
  .wrapper {
    max-width: 950px;
}

.ctc-tel-addr-inner {
    font-size: 0.9em;
}

.footer-addr {
    font-size: 0.7rem;
    line-height: 20px;
}
.footer-nav-list li {
    font-size: 0.8rem;
    padding-right: 15px;
}
}

@media screen and (min-width: 951px) {
  .header-nav-sp{
  display: none;
  }
  }


@media screen and (max-width: 1200px) {
.equipment-animeleft {
    padding: 20px;
}
}

@media screen and (max-width: 1100px) {
.header-logo {
    width: 200px;
}

.header-nav-pc {
    font-size: .8rem;
    right: 30px;
}

ul.header-nav-pc-menulist li {
    padding-right: 15px;
}

.header-logo img {
    margin-top: 35px;
    max-width: 160px;
}

}

@media screen and (max-width: 950px) {

/*-------------------------------------------
全体
-------------------------------------------*/  
.wrapper {
  padding-left: 50px;
  padding-right: 50px;
}

.br-sp {
  display: none;
}

.siteblock-upper {
    padding-top: 0px;
}

.siteblock-opt2 {
        padding-bottom: 0px;
}

/*-------------------------------------------
header
-------------------------------------------*/  
.header-nav-pc{
  display: none;
}
.header-nav-sp{
  display: block;
}


/*-------------------------------------------
OURTHOUGHTS
-------------------------------------------*/  

.top-cont-right{
    margin-right: auto!important;
    margin-left: 0!important;
}

.top-cont-title-right{
    text-align: left!important;
    padding-bottom: 5px;
}

.top-cont-maincopy,
.top-cont-copy{
    text-align: left!important;
}

/*-------------------------------------------
works
-------------------------------------------*/  

.white-txt-link h2{
    text-align: left !important;
}

.inner-bg  {
  padding: 60px 0px;
  top:150px;
  bottom: 0;
}

.works {
    background: url(/images/top/works-bg02.png) no-repeat 25% 75%; / cover;
}

.works-flex {
  flex-direction: column;
}

.white-txt {
    width: 100%;
    order: 2;
}

.white-txt p {
  padding: 0 25px;
}

.white-txt-link {
    width: 100%;
    order: 1;
    margin-bottom: 30px;
}

.white-txt-link{
    text-align: left;
    padding: 0 50px;
}

.btn-right {
  justify-content: flex-start;
}

.carousel-container {
    margin-bottom: 80px;
}

.movietxt-j{
    padding-left: 0px!important;
}

/*-------------------------------------------
equipment
-------------------------------------------*/  


.equipment-img {
  position: static;
  width: 100%;
  height: auto;
}

.equipment-txt {
  width: 100%;
}

.equipment-flex {
  flex-direction: column;
}

.equipment-left {
  width: 100%;
  padding: 50px;
}

.equipment-right {
    width: 100%;
}

.equipment-animeflex{
  flex-direction: column;
}

.equipment-animeleft {
    width: 100%;
    padding: 0px 50px 50px 50px;
    margin-top: 0px;
}

.equipment-animeright {
    width: 100%;
}


/*-------------------------------------------
recruit
-------------------------------------------*/  

.entry-btn-ttl{
 font-size: 2rem;
}

.entry-btn-left {
  flex-direction: column;
  align-items: stretch;
}

.entry-btn-txt {
  font-size: 0.8rem;
  text-align: left;
  padding-top: 0px;
  padding-left: 0px;
}


/*-------------------------------------------
contact
-------------------------------------------*/  
.ctc-flex  {
  flex-direction: column;
}
.ctc-tel{
  width: 100%;
  margin-bottom: 30px;
  height: auto;
}
.ctc-tel-addr{
  flex-direction: column;
}

.ctc-tel-addr-left {
    padding-right: 0px;
    text-align: center;
}


.ctc-mail{
  width: 100%;
}

.ctc-tel img,
.ctc-mail img{
    margin-bottom: 15px;
}

.circle{
  margin-right: 0px;
  margin-bottom: 20px;
}

.download-contents>li:nth-of-type(2) {
    margin-right: 0;
}

.download-contents{
  flex-direction: column;
}

.sns-contents h3{
  margin-bottom: 20px;
}

.sns-contents{
  flex-direction: column;
}
.sns-contents li {
  width: 100%;
  margin-bottom: 10px;
}
.sns-contents li:nth-of-type(1) {
  width: 100%;
  margin-bottom: 5px;
}




/*-------------------------------------------
footer
-------------------------------------------*/ 

.footer-contents{
  margin: 50px 0 60px 0;
}
.footer-flex {
  flex-direction: column;
}
.footer-nav-list{
  flex-direction: column;
}
.footer-addr{
  margin-bottom: 20px;
}
}

@media screen and (max-width: 768px) {
.header-logo {
  width: 220px;
  height: 70px;
  }

.header-logo img{
  margin-top: 6px;
  max-width:180px;
  }

.main-copy{
  left: clamp(50px, 10vw, 200px);
  bottom: 100px;
}

.main-copy-txt{
  font-size: 2.5rem !important;
  margin-bottom: 7px;
  }

.revotechimg {
  padding-left: 20px;
  }

.scrollimg {
  padding: 0 20px 0px 0;
  }

.main-bg p {  
  font-size: 1rem;
  }

.top-cont-maincopy {
  font-size: 2.8rem!important;
  line-height: 3rem;
  }

.top-cont-maincopy.lh{
  font-size: 3rem;
  line-height: 1.2em!important;
  }

.top-cont-title {
    margin-bottom: 12px!important;
}

.top-cont-copy {
  font-size: 1rem!important;
  margin-top: 10px!important; 
}


.equipment-txt{
  padding-top: 60px;
}
.txtbox {
    margin: 10px 0 20px;
}


.recruit h3 {
    padding-top: 20px;
}

.recruit p {
    font-size: 0.9rem;
    padding-top: 20px;
}

.ctc-flex h3 {
    font-size: 1rem;
}

.dl-txt-bluegreen {
    font-size: 0.8rem;
    padding: 20px;
}

a.dl-btn-bluegreen {
    display: block;
    width: 220px;
    color: #fff !important;
    background: linear-gradient(to right, #000 50%, #2898B5 50%) 100%;
    background-size: 200% 100%;
    transition: background-position 0.3s;
    border-radius: 3px;
    margin-top: 15px;
}

.triangle-bluegreen {
    width: 0;
    height: 0;
    border-left: 8px solid #fff;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}


.loading-line {
    width: calc(100vw - 70px);
    height: calc(100vh - 70px);
}

}



