/* トップ汎用パーツ
------------------------- */

/* fade-in
--------------------------------------------- */
.js-fadein {
  transition: all .6s ease-in-out;
  opacity: 0;
}
.js-fadein.is-show {
  opacity: 1;
}

/* カラム */

.top_col_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
}

.top_col_set > {
	display: block;
}

.top_col_set.ltr .top_col_inner {
	padding-left: 8.3vw;
	padding-right: 5.5vw;
}

.top_col_set.rtl .top_col_head {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
}

.top_col_set.rtl .top_col_inner {
	padding-left: 5.5vw;
	padding-right: 8.3vw;
}

.top_col_set.rtl .top_col_img {
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.top_col_head {
	width: 42.84722%;
}

.top_col_img {
	height: 580px;
	overflow: hidden;
	width: 57.15278%;
}

.top_lead {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 40px;
}

.top_txt {
	line-height: 2;
	margin-bottom: 32px;
}

/* メインビジュアル
------------------------- */

.top_mv {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100vh;
	padding: 60px;
	width: 100%;
}

.top_mv > {
	display: block;
}

/* キャッチコピー */

.top_mv_h {
  font-size: 4vw;
	font-weight: 400;
	line-height: 1;
	width: 40%;
  margin-left: 3vw;
	z-index: 2;
}

.top_mv_h strong {
	display: block;
	font-family: 'Fredoka One', cursive;
	font-size: 10.416vw;
	font-weight: 400;
	margin: 2vh 0;
}

.top_mv_h > span {
	display: block;
	font-weight: 400;
}

.top_mv_h > span span {
	display: block;
	margin-right: 1em;
  margin-top: 1.5vh;
}

/* 背景 */

.bg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	overflow: hidden;
	-webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
	width: 100%;
	z-index: 0;
}

.bg_mask {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 70%;
}

.bg_mask svg {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.bg_mask svg image {
	opacity: 0;
	-webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.bg_img {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 70%;
	z-index: 1;
}

.bg_img span {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 100%;
	opacity: 0;
	width: 100%;
}

.bg_img span.bg_img-0 {
	-webkit-transition: opacity 400ms ease-in-out;
	transition: opacity 400ms ease-in-out;
}

.bg_img span.bg_img-1 {
	-webkit-transition: opacity 300ms ease-in-out;
	transition: opacity 300ms ease-in-out;
}

.bg_img span.bg_img-2 {
	-webkit-transition: opacity 200ms ease-in-out;
	transition: opacity 200ms ease-in-out;
}

.bg_img span.bg_img-3 {
	-webkit-transition: opacity 100ms ease-in-out;
	transition: opacity 100ms ease-in-out;
}

/* アニメーション */

.bg.bg-0 svg image.ph-0 {
	opacity: 1;
}

.bg.bg-0 .bg_img .bg_img-0 {
	opacity: 1;
	-webkit-transition-delay: 200ms;
	transition-delay: 200ms;
}

.bg.bg-1 svg image.ph-1 {
	opacity: 1;
}

.bg.bg-1 .bg_img .bg_img-1 {
	opacity: 1;
	-webkit-transition-delay: 100ms;
	transition-delay: 100ms;
}

.bg.bg-2 svg image.ph-2 {
	opacity: 1;
}

.bg.bg-2 .bg_img .bg_img-2 {
	opacity: 1;
	-webkit-transition-delay: 300ms;
	transition-delay: 300ms;
}


/* 調整中　*/
.bg.bg-3 svg image.ph-3 {
	opacity: 1;
}

.bg.bg-3 .bg_img .bg_img-3 {
	opacity: 1;
	-webkit-transition-delay: 400ms;
	transition-delay: 400ms;
}




/* kawaii × nakayoku
------------------------- */

.top_kawaii {
	margin-bottom: 11.1vw;
	padding-top: 10vw;
}

.top_kawaii .h_section {
	font-size: 9.5rem;
	text-align: center;
}

.top_kawaii .h_section span {
	margin: 0 0.5em;
}

.top_kawaii .h_section span img {
	width: 58px;
}

.top_kawaii_txt {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
	margin-bottom: 2.5vw;
	text-align: center;
}

.top_kawaii_slider {
	overflow: hidden;
}

/* Company
------------------------- */

.top_company {
	margin-bottom: 7.986vw;
}

/* About us
------------------------- */

.top_about {
	margin-bottom: 10vw;
}

/* what We Do
------------------------- */

.top_what {
	margin-bottom: 10vw;
}

.top_what .h_section {
	text-align: center;
}

.top_what .top_lead {
	text-align: center;
}

.top_what .top_txt {
	text-align: center;
}

.top_what .top_btn {
	margin-bottom: 60px;
}

.top_what .top_btn .btn {
	margin: 0 auto;
}

.top_what_col_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.top_what_col {
	height: 420px;
	overflow: hidden;
	width: calc(50% - 18px);
}

/* Recruit
------------------------- */

.top_recruit {
	margin-bottom: 6.597vw;
}

.top_recruit .h_section {
	font-size: 10rem;
}

.top_recruit_bg {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 30px;
	height: 604px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	overflow: hidden;
	padding: 20px;
	width: 100%;
}

.top_recruit_bg > {
	display: block;
}

.top_recruit_bg::before,
.top_recruit_bg::after {
	position: absolute;
	top: 0;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 30px;
	content: '';
	height: 100%;
	overflow: hidden;
	-webkit-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	width: 100%;
}

.top_recruit_bg::before {
	background-image: url(../images/top/bg_recruit.jpg);
}

.top_recruit_bg::after {
	background-image: url(../images/top/bg_recruit_on.png);
	z-index: -1;
}

.top_recruit_bg.on::before {
	opacity: 0;
}

.top_recruit_bg.on::after {
	opacity: 1;
}

.top_recruit_box {
	position: relative;
	color: #fff;
	text-align: center;
}

.top_recruit_box .top_btn .btn {
	margin: 0 auto;
}

/* News
------------------------- */

.top_news {
	margin-bottom: 6.041vw;
}

.top_news .h_section,
.top_news .top_lead {
	text-align: center;
}

.top_news .h_section {
	font-size: 8rem;
}

.top_news .top_btn .btn {
	margin: 0 auto;
}

@media only screen and (min-width: 1440px) {
.top_mv_h {
  font-size: 6rem;
}
.top_mv_h strong {
	font-size: 15rem;
}
.top_mv_h > span {
	font-size: 6rem;
}

.top_col_set.ltr .top_col_inner {
	padding-left: 120px;
	padding-right: 80px;
}

.top_col_set.rtl .top_col_inner {
	padding-left: 80px;
	padding-right: 120px;
}

.top_kawaii {
	margin-bottom: 160px;
	padding-top: 145px;
}

.top_kawaii_txt {
	margin-bottom: 36px;
}

.top_company {
	margin-bottom: 115px;
}

.top_about {
	margin-bottom: 145px;
}

.top_what {
	margin-bottom: 145px;
}

.top_what_col {
	height: 520px;
}

.top_recruit {
	margin-bottom: 95px;
}

.top_news {
	margin-bottom: 87px;
}

}

@media only screen and (max-width: 1439px) {

	.bg {
		left: 5%;
	}

}

@media only screen and (max-width: 1030px) {

.top_mv {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	overflow: hidden;
	padding: 65px 20px 6.5vh;
}

.top_mv_h {
	/* font-size: 2.9rem; */
  font-size: 3.3rem;
	text-align: left;
	width: 100%;
}

.top_mv_h strong {
	font-size: 8.5rem;
	margin: 1vh 1vh 1vh 0;
	/* text-indent: 10px; */
}

.top_mv_h > span {
	/* font-size: 2.9rem; */
	width: 40%;
}

.bg {
	top: -10%;
	left: -10%;
	width: 130%;
}

.bg_mask {
	width: 100%;
}

.bg_img {
	width: 100%;
}

.top_kawaii .h_section {
	margin-bottom: 40px;
	line-height: 1.2;
}

}

@media only screen and (max-width: 767px) {
.bg {
	left: -8%;
	width: 120%;
}

.top_col_set {
	display: block;
	padding: 0 20px;
}

.top_col_set.ltr .top_col_inner {
	padding-left: 0;
	padding-right: 0;
}

.top_col_set.rtl .top_col_inner {
	padding-left: 0;
	padding-right: 0;
}

.top_col_head {
	margin-bottom: 40px;
	width: 100%;
}

.top_col_img {
	border-radius: 20px;
	height: 235px;
	width: 100%;
}

.top_col_img span,
.top_col_img div {
	-webkit-animation: imgChange 10s infinite;
	animation: imgChange 10s infinite;
	border-radius: 20px;
}

.top_col_img div {
	-webkit-animation-delay: 5s;
	animation-delay: 5s;
}

.top_lead {
	font-size: 1.5rem;
	margin-bottom: 20px;
	text-align: center;
}

.top_txt {
	line-height: 1.6;
	margin-bottom: 25px;
	text-align: center;
}

.top_mv_h > span {
	width: 80%;
}
.top_mv_h .text_shadow {
  text-shadow:  #fff 1px 1px 50px, #fff  -1px 1px 50px,
    #fff  1px -1px 50px, #fff -1px -1px 50px;
}

.top_kawaii {
	margin-bottom: 75px;
	padding-top: 75px;
}

.top_kawaii .h_section {
	position: relative;
	font-size: 5rem;
	/* margin-bottom: 15px; */
	margin-bottom: 25px;
}

.top_kawaii .h_section span {
	display: none;
}

.top_kawaii .h_section::before,
.top_kawaii .h_section::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: inline-block;
	background: linear-gradient(30deg, #86c8e7, #7d96c8);
	border-radius: 100px;
	content: '';
	height: 3px;
	margin: auto;
	width: 30px;
}

.top_kawaii .h_section::before {
	top: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.top_kawaii .h_section::after {
	bottom: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.top_kawaii_txt {
	font-size: 1.5rem;
	line-height: 1.6;
	margin-bottom: 0;
}

.top_company {
	margin-bottom: 80px;
}

.top_about {
	margin-bottom: 75px;
}

.top_what {
	margin-bottom: 92.5px;
}

.top_what_col_set {
	position: relative;
	display: block;
	height: 235px;
	margin: 0 20px;
	width: calc(100% - 40px);
}

.top_what_col {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-animation: imgChange 10s infinite;
	animation: imgChange 10s infinite;
	border-radius: 20px;
	height: 235px;
	opacity: 0;
	width: 100%;
}

.top_what_col:nth-child(2) {
	-webkit-animation-delay: 5s;
	animation-delay: 5s;
}

.top_recruit {
	margin-bottom: 55px;
}

.top_recruit .inner {
	padding: 0;
}

.top_recruit .h_section {
	font-size: 5rem;
}

.top_recruit_bg {
	border-radius: 0;
	height: 500px;
  padding: 20px 15px;
}

.top_recruit_bg::before,
.top_recruit_bg::after {
	-webkit-animation: imgChange 10s infinite;
	animation: imgChange 10s infinite;
	border-radius: 0;
}

.top_recruit_bg::before {
  background-image: url(../images/top/bg_recruit_sp.png);
}
.top_recruit_bg::after {
	background-image: url(../images/top/bg_recruit_sp_on.png);
}

.top_recruit_bg::after {
	-webkit-animation-delay: 5s;
	animation-delay: 5s;
}

.top_recruit_bg.on::before {
	opacity: 1;
}

.top_news {
	margin-bottom: 80px;
}

.top_news .h_section {
	font-size: 4rem;
}

}

@media only screen and (max-width: 320px) {
  .top_mv_h {
    font-size: 3rem;
  }
  .top_mv_h strong {
    font-size: 7.5rem;
  }
  .bg {
    top: -15%;
  }

}
