@charset "utf-8";
/* CSS Document */
.top__main {
	width: 100%;
	height: 90vh;
}
.video-box{
	position: relative;
  overflow: hidden;
  width: 90%;
  height: 80vh;
	margin: 0 auto ;
	border-radius: 20px;
	opacity: 0.9;
}
.video {
  	object-fit: cover;
  	position: absolute;
  	height: 100%;
  	width: 100%;
  	top: 0;
  	left: 0;
	margin: 0 auto;
  	filter: drop-shadow(0px 0px rgba(0,0,0,0));
  	outline: none;
  	border: none;
}
.top__copy {
	font-size: clamp(4rem, 10vw, 9rem);
	position: absolute;
	color: #325030;
	bottom: 0%;
	left: 10%;
	text-align: left;
	z-index: 2;
}
.top__copy-en {
	font-family: "Jost", sans-serif;
	font-size: 2.2rem;
	display: block;
	margin: 0 0 0.5rem 0 ;
}
.top__main-copyright {
	font-family: "Jost", sans-serif;
	font-size: 1.2rem;
	letter-spacing: 1px;
	position: absolute;
	color: #325030;
	top: 0;
  	bottom: 0;
  	margin: auto 0;
	right: 1.5%;
	z-index: 1;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

/*top__about*/
.top__about {
	width: 100%;
	margin: 0 auto ;
	background-image :url("../images/top/top_about_back-01.png"), url("../images/top/top_about_back-02.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 20%, 20%;
	background-position: 10% 20vw, 90% 0%;
}
.top__about-box {
	text-align: left;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: auto;
	max-width: 1200px;
	margin: 0 auto;
	padding: 5% 0 ;
}
.top__about-box-img {
	width: 45%;
	height: 70vh;
	min-height: 650px;
	border-radius: 20px;
	overflow: hidden;
	margin: 0 auto ;
	object-fit: cover;
}
.top__about-box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__about-box-text {
	width: 50%;
	margin: 10rem auto ;
}
.top__about-box-text .tit-en, .top__about-box-text .tit-jp-L {
	margin: 0 0 0 -100px;
}
.top__about-text {
	margin: 3rem 0 ;
}

/* スライダー全体 */
.slider-wrapper {
	width: 100%;
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
	margin: 0;
}
/* スライド3枚のグループ */
.slider {
  animation: scroll-left 30s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide {
	margin-left: 20px;
}
/* スライドの画像 */
.slide-01 img, .slide-02 img, .slide-03 img, .slide-04 img, .slide-05 img {
	display: block;
  	height: 25vw;
	min-height: 300px;
}
.slide-01 img {
	margin: 70px 0 0 0;
}
.slide-02 img {
  margin: 35px 0 0 0;
}
.slide-03 img {
  margin: 0px 0 0 0;
}
.slide-04 img {
  margin: 70px 0 0 0;
}
.slide-05 img {
  margin: 35px 0 0 0;
}

/*top__business*/
.top__business {
	width: 100%;
	background-image: url("../images/top/top_business_backimage.jpg") ;
	background-repeat: no-repeat;
	background-position: top center ;
	background-size: cover;
	padding: 10rem 0 ;
}
.top__business-box {
	display: flex;
}
.top__business-text {
	width: 40%;
	min-width: 400px;
	margin: 5rem 10rem ;
}
.top__business-p {
	text-align: left;
	margin: 5rem 0 ;
}
.top__business-img01, .top__business-img02 {
	width: 30%;
	overflow: hidden;
	margin: 0 auto ;
	object-fit: cover;
}
.top__business-img01 {
	border-radius: 0px 20px 20px 0px;
}
.top__business-img02 {
	border-radius: 20px 0px 0px 20px;
}
.top__business-img01 img, .top__business-img02 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__business-spimg {
	display: none;
}

/*top__rakunou*/
.top__rakunou {
	text-align: center;
	position: sticky;
      top: 102px;/*自分が固定したい位置*/
	overflow: hidden;
	margin: 0 auto ;
	object-fit: cover;
	height: 100vh;
	background-image: url("../images/top/top_rakunou_backimage.jpg");
  background-size: cover;
  background-position: center;
z-index: -1;
}
.top__rakunou img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__rakunou-copy {
	font-size: 2.0rem;
	font-weight: 700;
	position: absolute;
	top: 10%;
	left: 50%;
  	transform: translateX(-50%);
	letter-spacing: 10px;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	line-height: 0;
	padding: 0;
	margin: 0;
}

/*top__recruit*/
.top__recruit-wrapper {
	overflow: hidden;
}
.top__recruit {
	background-color: #f8f6f0;
	border-radius: 2000px 2000px 0 0 / 300px 300px 0 0;
    margin: 75px -200px 0 -200px;
    padding: 65px 280px 0 280px;
    min-height: 300px;
    text-align: center;
}
.top__recruit-logo {
	width: 150px;
	margin: -150px 0 0 0;
	z-index: 2;
}
.top__recruit-box {
	text-align: left;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: auto;
	max-width: 1200px;
	margin: 0 auto;
	padding: 5% 0 ;
}
.top__recruit-box-img {
	width: 50%;
	border-radius: 20px;
	overflow: hidden;
	margin: 0 auto ;
	object-fit: cover;
}
.top__recruit-box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__recruit-box-text {
	width: 40%;
	margin: 5rem auto ;
}
.top__recruit-text {
	margin: 3rem 0 ;
}

/*動く文字*/
article{
  overflow: hidden;
}
.loop_wrap {
	background-color: #f8f6f0;
    display: flex;
    width: 100%;
    overflow: hidden;
	margin: 0;
	padding: 0;
	line-height: 0;
  }

.loop_wrap div {
	color: #fff;
	font-family: "Jost", sans-serif;
	font-weight: 600;
	font-size: min(30vw, 150px);
	line-height: 75%;
	letter-spacing: 2px;
    flex: 0 0 auto;
    white-space: nowrap;
    overflow: hidden;
  }

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

.loop_wrap div:nth-child(even) {
animation: loop2 50s linear infinite;
}

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



@media screen and (max-width: 768px) {
.video-box{
  height: 75vh;
}
.top__copy {
	bottom: 2%;
}
.top__main-copyright {
	right: 7%;
}

/*top__about*/
.top__about {
	background-image :url("../images/top/top_about_back-01.png"), url("../images/top/top_about_back-02.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 50%, 40%;
	background-position: 5% 0%, 90% 80vw;
}
.top__about-box {
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	height: auto;
}
.top__about-box-img {
	width: 70%;
	height: 50vh;
	min-height: 50px;
	border-radius: 20px;
	overflow: hidden;
	margin: 0 auto ;
	object-fit: cover;
}
.top__about-box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top__about-box-text {
	width: 100%;
	margin: 5rem auto ;
}
.top__about-box-text .tit-en, .top__about-box-text .tit-jp-L {
	margin: 0 0 0 0;
}
.top__about-text {
	margin: 3rem 0 ;
}

/* スライドの画像 */
.slide-01 img, .slide-02 img, .slide-03 img, .slide-04 img, .slide-05 img {
	display: block;
  	height: 20vw;
	min-height: 250px;
}

/*top__business*/
.top__business {
	padding: 2rem 0 0 0 ;
}
.top__business-box {
	display: block;
}
.top__business-text {
	width: 90%;
	min-width: 200px;
	margin: 5rem 5% ;
	padding: 0;
}
.top__business-spimg {
	display: block;
	width: 100%;
	margin: 0 auto;
	
}
.top__business-spimg img {
	width: 100%;
}

/*top__rakunou*/
.top__rakunou {
	background-image: url("../images/top/top_rakunou_backimage-sp.jpg");
}
.top__rakunou-copy {
	top: 20%;
}

/*recruit*/
.top__recruit {
	border-radius: 2000px 2000px 0 0 / 300px 300px 0 0;
    margin: 75px -200px 0 -200px;
    padding: 65px 240px;
    min-height: 300px;
}
.top__recruit-box {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 5% 0 0 0 ;
}
.top__recruit-box-img {
	width: 100%;
}
.top__recruit-box-text {
	width: 100%;
	margin: 5rem auto ;
}
.top__recruit-text {
	margin: 3rem 0 ;
}
	
}


/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}