/*# sourceURL=top.css */
/*@ sourceURL=top.css */
/* Scss Document */
#left-side {
	position: relative;

	z-index: 2;
}
#left-side .ParallaxVideo {
	object-fit: cover;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;

}
#left-side .responsive-video {
	height: 460px;
	width: 100%;
	object-fit: cover;
}

@media only screen and (min-width: 961px) {
#left-side {
	position: fixed;
	top: 0;
	left: 0;
	width: 50%;
}
#left-side .ParallaxVideo {
	position: fixed;
	top: 0;
	left: 0;
	width: 50%;
	height: 100vh;
	overflow: hidden;
}
#left-side .responsive-video {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	min-width: 10%;
	height: auto;
	min-height: 100%;
}
}
#right-side {
	width: 100%;
}
.wrap-t {
	position: relative;
	padding-left: 0;
	padding-right: 0;
}

@media only screen and (min-width: 961px) {
#right-side {
	width: 50%;
	margin-left: auto;
}
.wrap-t {
	padding-left: 0;
	padding-right: 0;
}
}
#sec1 .wrap-t {
	display: flex;
	align-items: center;
	text-align: right;
	justify-content: end;
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#sec1 h2 {
	line-height: 1.3;
	text-align: right;
	font-weight: 900;
}


#sec1 h2 span {
	overflow: hidden;
	display: block;
}
#sec1 h2 span small {
	font-size: 15vw;
}

#sec1 h2 span small {
	position: relative;
	max-width: unset;
	transform: translateY(-110%);
	display: block;
	height: 100%;
	animation: slideText .3s cubic-bezier(0.46, 1.18, 0.74, 0.94) forwards, fade .3s ease-out forwards;
}


#sec1 h2 span:nth-of-type(2) small {
  animation-delay: .4s;
}

.photoin {
	width: 100%;
	height: 100%;
}

@keyframes slideText {
  from {
    transform: translateY(110%);
  }
  to {
    transform: translateY(0%);
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


@keyframes zoomIn {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}


.img-wrap {
  animation: clipImg 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}



@keyframes clipImg {
  0% {
    clip-path: inset(0% 100% 0% 0%);
	transform: scale(1.2);
  }
  100% {
    clip-path: inset(0%);
	transform: scale(1);
  }
}

@-moz-keyframes clipImg {
  0% {
    clip-path: inset(0% 100% 0% 0%);
	transform: scale(1.2);
  }
  100% {
    clip-path: inset(0%);
	transform: scale(1);
  }
}

.img-wrap02 {
  animation: clipImg02 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes clipImg02 {
  0% {
    clip-path: inset(0% 0% 0% 100%);
	transform: scale(1.2);
  }
  100% {
    clip-path: inset(0%);
	transform: scale(1);
  }
}
@-moz-keyframes clipImg02 {
  0% {
    clip-path: inset(0% 0% 0% 100%);
	transform: scale(1.2);
  }
  100% {
    clip-path: inset(0%);
	transform: scale(1);
  }
}


/*
.img-wrap img,
.img-wrap02 img {
	animation: zoomIn 0.8s ease 0.2s forwards;
}
*/


@media only screen and (min-width: 961px) {
#sec1 {
	margin-bottom: 0;
}
#sec1 .wrap-t {
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	height: 100vh;
}
#sec1 h2 {
	line-height: 148px;
}
#sec1 h2 span small {
	font-size: 120px;
}	
	
}


#sec2 {
	position: relative;
	padding: 10vw 5vw 25vw;
	width: auto;
}
#sec2 .layout-c {
	padding: 0;
}
#sec2 .title {
	font-size: 4.5vw;
	line-height: 1.5;
	margin-bottom: 10vw;
	font-weight: 900;
}
#sec2 .title span {
	display: block;
}
#sec2 .logos {
	text-align: center;
	font-weight: 600;
}
#sec2 .logos .logo {
	width: 50%;
	max-width: 319px;
	margin: 0 auto 5vw;
}
#sec2 .logos p {
	font-size: 4.6vw;
	font-weight: 600;
}

@media only screen and (min-width: 961px) {
	#sec2 {
    padding: 0;
}
#sec2 .layout-c {
	padding: 19px 50px 149px;
}
#sec2 .title {
	font-size: 24px;
	line-height: 46px;
	margin-bottom: 77px;
}
#sec2 .logos {
	text-align: center;
}
#sec2 .logos .logo {
	width: 60%;
	max-width: 319px;
	margin: 0 auto 32px;
}
#sec2 .logos p {
	font-size: 26px;
	letter-spacing: 1px;
}
}
#news {
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	display: flex;
	justify-content: space-between;
	line-height: 55px;
}
#news h2 {
	width: 20%;
	text-align: center;
	position: relative;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 46px;
}
#news h2::after {
	content: "";
	border-right: 1px solid #000;
	width: 1px;
	position: absolute;
	top: 12px;
	right: 0;
	height: 18px;
}
#news .news-list {
	width: 59%;
	padding-left: 3%;
}
#news .news-list dl {line-height: 1;padding-top: 13px;padding-bottom: 5px;font-size: 15px;}
#news .news-list dl dt {
}
#news .news-list dl dd {line-height: 2rem;font-weight: 500;overflow: hidden;display: block;max-height: 4rem;-webkit-line-clamp: 1;display: -webkit-box;display: -webkit-box;-webkit-box-orient: vertical;text-overflow: ellipsis;white-space: normal;}
#news .news-list dl dd a {
	text-decoration: underline;
}
#news .btn {
	width: 15%;
	line-height: 65px;
}
#news .btn a {
	display: block;
	background: #004185;
	color: #fff;
	font-size: 14px;
	position: relative;
	text-align: center;
	padding-right: 15px;
}
#news .btn a::before {
	content: "";
	background: url("../img/shared/arrow_r.svg") no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 10px;
	height: 10px;
	position: absolute;
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	top: 50%;
	transform: translateY(-50%);
	right: 6px;
	transition: all .4s ease;
}

@media only screen and (min-width: 961px) {
#news {
	line-height: 55px;
	align-items: center;
}
#news h2 {
	width: 12%;
	font-size: 18px;
	margin-right: 2%;
}
#news h2::after {
	width: 1px;
	top: 9px;
	right: 0;
	height: 25px;
}
#news .news-list {
	width: 76%;
	padding-left: 0%;
}
#news .news-list dl {
	display: flex;
	justify-content: space-between;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 55px;
	font-size: 16px;
}
#news .news-list dl dt {
	width: 20%;
}
#news .news-list dl dd {
	width: 80%;
	line-height: 55px;
}
#news .news-list dl dd a {
	text-decoration: underline;
}
#news .news-list dl dd a:hover {
	text-decoration: none;
}
#news .btn {
	width: 10%;
	line-height: 55px;
}
#news .btn a {
	font-size: 16px;
}
#news .btn a::before {
	width: 10px;
	height: 10px;
	transform: translateY(-50%);
	right: 12px;
}
#news .btn a:hover {
	text-decoration: none;
}
#news .btn a:hover::before {
	top: 40%;
}
}
.lead-heading {
	position: relative;
	z-index: 2;
}
.lead-heading p {
	font-size: 4vw;
	font-weight: 500;
	line-height: 1;
}
.lead-heading h2 {
	font-size: 13.2vw;
	line-height: 1;
	letter-spacing: 0.03em;
	font-weight: 900;
	font-family: Arial, Helvetica, sans-serif;
}

@media only screen and (min-width: 961px) {
.lead-heading {
	position: relative;
}
.lead-heading p {
	font-size: 24px;
}
.lead-heading h2 {
	font-size: 100px;
	line-height: 92px;
	letter-spacing: 0px;
}
}

.vision-text {
	position: relative;
}
.vision-text .txt {
	font-size: 4vw;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 9vw;
}

@media only screen and (min-width: 961px) {
.vision-text .txt {
	font-size: 20px;
	line-height: 32px;
	margin-bottom: 52px;
}
	
.vision-text .btn-top {
    margin-left: 6px;
}	
	
}
#business-top {
	background: #8cc63f;
	padding: 20vw 0;
}
#business-top .layout-c {
	position: relative;
}
#business-top .photo {
	width: 66%;
	margin-left: auto;
	margin-bottom: -24vw;
	padding-top: 0;
	overflow:hidden;
}

#business-top .photo  .photoin {
	padding-top: 65vw;
	height: auto;
}

#business-top .lead-heading {
	padding-left: 5%;
	margin-bottom: 10vw;
}
#business-top .lead-heading p {
	margin-bottom: 2vw;
}
#business-top .lead-heading h2 {
	padding-left: 2vw;
	color: #fff;
	    width: 84vw;
}
#business-top .vision-text {
	width: 61%;
	margin-left: auto;
	padding-right: 5%;
}

@media only screen and (min-width: 961px) {
	#business-top {
    padding: 88px 0 109px;
}
#business-top .layout-c {
	position: relative;
}
#business-top .photo {
	width: 60%;
	height: 400px;
	margin-left: auto;
	margin-bottom: -158px;
	padding-top: 0;
}


#business-top .photo  .photoin {
	padding-top: 0;
	height: 100%;
}

#business-top .lead-heading {
	padding-left: 12%;
	margin-bottom: 56px;
}
#business-top .lead-heading p {
	margin-bottom: 9px;
}
#business-top .lead-heading h2 {
	padding-left: 14px;
	color: #fff;
	width: 567px;
}
#business-top .vision-text {width: 75%;padding-right: 20px;}
	

	
}



#company-top {
	background: #f7931d;
	padding: 20vw 0;
}
#company-top .layout-c {
}
#company-top .photo {
	width: 66%;
	margin-bottom: 13vw;
	/*padding-top: 65vw;*/
	overflow:hidden;
}

#company-top .photo  .photoin {
	padding-top: 65vw;
	height: auto;
}


#company-top .lead-heading {
	position: absolute;
	width: 8vw;
	height: 100vw;
	left: 72vw;
	top: -10vw;
}
#company-top .lead-heading > * {
	cursor: vertical-text;
	direction: rtl;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: sideways-right;
	-o-text-orientation: sideways-right;
	-ms-text-orientation: upright;
	-ms-text-orientation: sideways-right;
	-moz-text-orientation: sideways-right;
	-webkit-text-orientation: sideways-right;
	letter-spacing: .25em;
}
#company-top .lead-heading p {
	margin-bottom: 0;
	width: 30px;
	height: 160px;
	margin-left: auto;
	letter-spacing: 0;
	text-align: left;
}
#company-top .lead-heading h2 {
    color: #fff;
    width: 12.5vw;
    height: 87vw;
    position: absolute;
    top: 0;
    right: 6vw;
    letter-spacing: 0.04em;
    text-align: left;
    line-height: 1;
}
#company-top .vision-text {width: 61%;margin-left: auto;padding-right: 5%;}

@media only screen and (min-width: 961px) {
	#company-top {
    padding: 163px 0 100px;
}
#company-top .layout-c {
	margin-bottom: 0;
}
#company-top .photo {
	width: 63%;
	height: 470px;
	margin-bottom: 62px;
	padding-top: 0;
}

#company-top .photo  .photoin {
	padding-top: 0;
	height: 100%;
}


#company-top .lead-heading {
        width: 33px;
        height: 585px;
        left: calc(50% + 180px);
        top: -72px;
}
#company-top .lead-heading p {
	margin-bottom: 0;
	width: 30px;
	height: 160px;
	letter-spacing: 0;
}
#company-top .lead-heading h2 {
	width: 100px;
	max-width: 100px;
	height: 600px;
	right: 43px;
	letter-spacing: 0px;
}
#company-top .vision-text {width: 75%;padding-right: 20px;}
}
#reruit-top {
	background: #00aeef;
	padding: 20vw 0;
}
#reruit-top .layout-c {
}
#reruit-top .photo {
	width: 66%;
margin-bottom: -13vw;
/*padding-top: 65vw;*/
margin-left: auto;
 overflow:hidden;}

#reruit-top .photo  .photoin {
	padding-top: 65vw;
	height: auto;
}



#reruit-top .lead-heading {
	padding-left: 5%;
	margin-bottom: 10vw;
}
#reruit-top .lead-heading p {
	margin-bottom: 10px;
}
#reruit-top .lead-heading h2 {
	padding-left: 20px;
	color: #fff;
	width: 83vw;
}
#reruit-top .vision-text {
	width: 61%;
	margin-left: auto;
	padding-right: 5%;
}



@media only screen and (min-width: 961px) {
	#reruit-top {
    padding: 90px 0 113px;
}
#reruit-top .layout-c {
	margin-bottom: 0;
}
#reruit-top .photo {
	width: 60%;
	height: 400px;
	margin-left: auto;
	margin-bottom: -80px;
	padding-top: 0;
}

#reruit-top .photo  .photoin {
	padding-top: 0;
	height: 100%;
}


#reruit-top .lead-heading {
	padding-left: 11%;
	margin-bottom: 64px;
}
#reruit-top .lead-heading p {
	margin-bottom: 14px;
}
#reruit-top .lead-heading h2 {
	padding-left: 20px;
	width: 493px;
}
#reruit-top .vision-text {width: 75%;padding-right: 20px;}
}
#voice-top {
	position: relative;
	color: #fff;
}
#voice-top::before {
	content: "";
	background: #004185;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 14vw;
}
#voice-top .wrap-t {
	padding: 20vw 0;
}
#voice-top h2 {
    font-size: 15vw;
    line-height: 1;
    font-weight: 900;
    text-align: right;
    padding-right: 5%;
    margin-bottom: -1vw;
    position: relative;
    z-index: 2;
    font-family: Arial, Helvetica, sans-serif;
    width: 46vw;
    margin-left: auto
}
#voice-top .set-c .photo {
	position: relative;
	overflow: hidden;
	width: 80%;
	/*padding-top: 56vw;*/
	margin-bottom: -15vw;
	overflow:hidden;
}

#voice-top .set-c .photo  .photoin {
	padding-top: 56vw;
	height: auto;
}


#voice-top .set-c .photo::before {
	content: "";
	background: #004185;
	position: absolute;
	width: 41vw;
	height: 19vw;
	bottom: -1px;
	right: -1px;
	z-index: 1;
	display: none;
}
#voice-top .set-c .front-title {
	width: 50vw;
	margin-left: auto;
	position: relative;
	z-index: 2;
	padding: 5% 5% 0;
	background: #004185;
}
#voice-top .set-c .front-title h3 {
    font-size: 3.8vw;
    position: relative;
    line-height: 1.8;
    margin-bottom: 2vw;
}
#voice-top .set-c .front-title h3 img {
    display: block;
    width: 100px;
    position: absolute;
    left: 111px;
    top: -16px;
}
#voice-top .set-c .front-title h3 span {
	font-size: 15vw;
	line-height: 1;
	display: block;
	width: 20vw;
	text-align: center;
	color: rgba(255, 255, 255, 0.08);
	position: absolute;
	top: -4vw;
	right: 0;
	font-weight: 900;
	font-family: Arial, Helvetica, sans-serif;
}
#voice-top .set-c .front-title h4 {
	font-size: 4.8vw;
	line-height: 1.5;
	font-weight: 600;
	margin-bottom: 5vw;
	letter-spacing: 0.01em;
}
#voice-top .btn-top a {
	color: #004185;
	background: #d5dce1;
}
#voice-top .btn-top a span::after {
    filter: brightness(0) saturate(100%) invert(12%) sepia(81%) saturate(3434%) hue-rotate(198deg) brightness(101%) contrast(102%);
}
#voice-top .set1 {
    margin-bottom: 15vw;
	z-index: 3;
    position: relative;
}
#voice-top .set2 {
    margin-bottom: 15vw;

}
#voice-top .set3 {
    margin-bottom: 15vw;
}
#voice-top .set4 {}
#voice-top .set1 .front-title {}
#voice-top .set2 .front-title {
    width: 56vw;
}
#voice-top .set3 .front-title {
    width: 60vw;
}
#voice-top .set4 .front-title {}
#voice-top .set3 .photo,  #voice-top .set1 .photo {
	border-top-right-radius: 20px;
}
#voice-top .set4.set-c .photo,  #voice-top .set2.set-c .photo {
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	margin-left: auto;
}
#voice-top .set4.set-c .photo::before,  #voice-top .set2.set-c .photo::before {
	width: 63vw;
	height: 85px;
}

@media only screen and (min-width: 961px) {
#voice-top {
	position: relative;
}
#voice-top::before {
	left: 12%;
}
#voice-top .wrap-t {
	padding: 120px 0 158px;
}
#voice-top h2 {
	font-size: 100px;
	text-align: right;
	padding-right: 60px;
	margin-bottom: -8px;
	width: 344px;
}
#voice-top .set-c .photo {
	height: 360px;
	width: 71.5%;
	position: relative;
	overflow: hidden;
	margin-bottom: -80px;
	padding-top: 0;
}

#voice-top .set-c .photo  .photoin {
	padding-top: 0;
	height: 100%;
}



#voice-top .set-c .photo::before {
	width: 185px;
	height: 85px;
	bottom: -1px;
	right: -1px;
}
#voice-top .set-c .front-title {
	width: 43%;
	position: relative;
	z-index: 2;
	padding: 25px 20px 0 33px;
}
#voice-top .set-c .front-title h3 {
	font-size: 18px;
	line-height: 28px;
	margin-bottom: 10px;
	display: inline-block;
}
#voice-top .set-c .front-title h3 img {
        width: 113px;
        left: 160px;
		top:-25px;
}
#voice-top .set-c .front-title h3 span {
	font-size: 86px;
	top: -43px;
	right: -117px;
	letter-spacing: 0;
	width: 98px;
}
#voice-top .set-c .front-title h4 {
	font-size: 24px;
	line-height: 38px;
	margin-bottom: 20px;
	letter-spacing: 0;
}
#voice-top .btn-top a:hover {
	background: #fff;
	color: #004185;
}
#voice-top .btn-top a:hover span::after {
	width: 11px;
	height: 12px;
}

#voice-top .set1 {
    margin-bottom: 72px;
}
#voice-top .set2  {
    margin-bottom: 72px;

}
#voice-top .set3 {
    margin-bottom: 63px;
}
#voice-top .set4 {}
#voice-top .set1 .front-title {}
#voice-top .set2 .front-title {}
#voice-top .set3 .front-title {}
#voice-top .set4 .front-title {}
	
	
#voice-top .set3 .photo,  #voice-top .set1 .photo {
	border-top-right-radius: 30px;
}
#voice-top .set4.set-c .photo,  #voice-top .set2.set-c .photo {
	border-top-left-radius: 25px;
	border-bottom-left-radius: 25px;
	margin-left: auto;
}
#voice-top .set4.set-c .photo::before,  #voice-top .set2.set-c .photo::before {
	width: 50%;
	height: 85px;
}
}


@media only screen and (max-width: 1199px) and (min-width: 768px) {
	#sec1 h2 span small {
		font-size: 100px;
	}
    #sec2 .layout-c {
        padding: 19px 0px 150px 50px;
    }
	
	#company-top .layout-c {
		padding-left: 0;
	}
	#business-top .layout-c,
	#reruit-top .layout-c {
		padding-right: 0;
	}
}