@charset "UTF-8";

/* loading
------------------------------------------------------------ */
#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 1;
	z-index: 9999;
	transition: all 1s ease-out;
}
#loading.load-off {
	opacity: 0;
	z-index: -1;
}
#loading #loading-inner {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
}
.loader {
  color: #0aa951;
  position: relative;
  width: 10em;
  height: 10em;
  box-shadow: inset 0 0 0 1em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before,
.loader:after {
  position: absolute;
  content: '';
}
.loader:before {
  width: 5.2em;
  height: 10.2em;
  background: #fff;
  border-radius: 10.2em 0 0 10.2em;
  top: -0.1em;
  left: -0.1em;
  -webkit-transform-origin: 5.1em 5.1em;
  transform-origin: 5.1em 5.1em;
  -webkit-animation: load2 2s infinite ease 1.5s;
  animation: load2 2s infinite ease 1.5s;
}
.loader:after {
  width: 5.2em;
  height: 10.2em;
  background: #fff;
  border-radius: 0 10.2em 10.2em 0;
  top: -0.1em;
  left: 4.9em;
  -webkit-transform-origin: 0.1em 5.1em;
  transform-origin: 0.1em 5.1em;
  -webkit-animation: load2 2s infinite ease;
  animation: load2 2s infinite ease;
}
@-webkit-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* body
------------------------------------------------------------ */
body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../img/home/bg_graph.gif);
	background-position-y: 9px;
}

/* mv
------------------------------------------------------------ */
#mv {
	position: relative;
	height: 56.25vw;
	min-height: 768px;
	box-sizing: border-box;
	z-index: 1;
}
/* -- mv-video -- */
#mv #mv-video {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100%;
	height: auto;
	transform: translate(-50%, -50%);
	z-index: 1;
}
#mv #mv-video video {
	width: 100%;
	height: auto;
}
#mv #mv-video.browser-height {
	width: auto;
	height: 100%;
}
#mv #mv-video.browser-height video {
	width: auto;
	height: 100%;
}
/* -- mv-slide -- */
#mv .mv-slide {
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	min-width: 1280px;
	height: auto;
	transform: translate(-50%, 0);
	z-index: 1;
}
#mv .mv-slide .slide-bg {
	content: "";
	position: absolute;
	bottom: -500px;
	right: 0;
	display: block;
	width: 100%;
	height: 500px;
	transform: skewY(-5deg);
	overflow: hidden;
	z-index: 1;
}
#mv .mv-slide .slide-bg::before {
	content: "";
	position: absolute;
	bottom: -250px;
	right: 0;
	display: block;
	width: 100%;
	height: 1000px;
	background-image: url(../img/home/bg_graph.gif);
	transform: skewY(5deg);
	z-index: 1;
}
#mv .mv-slide .slide-bg::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 70px;
	background-color: #dbdbdb;
	transform: skewY(-5deg);
	opacity: 0.5;
	z-index: 2;
}
#mv .mv-slide .mv-slide-wrap {
	width: 100%;
	height: auto;
}
#mv .mv-slide .mv-slide-wrap img {
	width: 100%;
	height: auto;
}
#mv .mv-slide .mv-slide-wrap .bari_ship-mv {
	position: relative;
}
#mv .mv-slide .mv-slide-wrap .bari_ship-mv .link-btn {
    position: absolute;
    top: 25vw;
    left: 34vw;
    display: block;
    width: 16vw;
    padding: 1vw;
    font-size: 1.2vw;
    color: #fff;
    font-weight: bold;
    box-sizing: border-box;
    text-align: center;
    background-color: #e10000;
    border-radius: 0.5vw;
    z-index: 1;
    box-shadow: 0.2vw 0.2vw 0.2vw 0px rgba(0, 0, 0, 0.2);
}
#mv .mv-slide .mv-slide-wrap .bari_ship-mv .link-btn:hover {
    background-color: #0aa951;
}
#mv #mv-bnr {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	min-width: 1280px;
	height: 180%;
	transform: translate(-50%, 0);
	background: url(../img/home/mv_bari_ship_2023.jpg) no-repeat top center;
	background-size: cover;
	z-index: 1;
}
#mv #mv-bnr a {
	position: absolute;
	top: 35vw;
	left: 12.6vw;
	display: block;
	width: 14.625vw;
	z-index: 1;
}
#mv #mv-bnr a:hover {
	transform: scale(1.1);
}
#mv h2 {
	position: absolute;
	top: 170px;
	left: 90px;
	font-family: 'Open Sans', sans-serif;
	font-size: 10rem;
	font-weight: bold;
	color: #fff;
	font-style: italic;
	z-index: 2;
}
#mv #news {
	position: absolute;
	top: 438px;
	right: 0;
	width: 552px;
	z-index: 2;
}
#mv #news #news-inner {
	position: relative;
	padding: 90px 40px 0;
}
#mv #news #news-inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.85;
	transform: skewY(-15deg);
}
#mv #news #news-inner h3 {
	position: relative;
	font-family: 'Open Sans', sans-serif;
	font-size: 4.2rem;
	font-weight: bold;
	color: #fff;
	font-style: italic;
}
#mv #news #news-inner h3::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 20px;
	margin-left: 9px;
	margin-right: 18px;
	margin-bottom: 4px;
	background-color: #0aa951;
	transform: skewX(-45deg);
}
#mv #news #news-inner ul {
	position: relative;
	margin-top: 25px;
}
#mv #news #news-inner ul li {
	display: flex;
	margin-top: 7px;
}
#mv #news #news-inner ul li time {
	width: 56px;
	margin-right: 25px;
	font-size: 1.4rem;
	color: #97d75a;
}
#mv #news #news-inner ul li a {
	display: inline-block;
	font-size: 1.6rem;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,0);
}
#mv #news #news-inner ul li a:hover {
	border-bottom: 1px solid rgba(255,255,255,1);
}
#mv #news #news-inner #news-more {
	margin-top: 40px;
}
#mv #news #news-inner #news-more a {
	position: relative;
	display: inline-block;
	padding: 2px 50px 4px;
	font-family: 'Open Sans', sans-serif;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	font-style: italic;
	border: 1px solid #fff;
}
#mv #news #news-inner #news-more a::before {
	content: "";
	position: absolute;
	top: 12px;
	right: -30px;
	display: block;
	width: 42px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: skewX(45deg);
}

/* content
------------------------------------------------------------ */
/* ------- == about_us == ------- */
section#about_us {
	position: relative;
	padding-top: 425px;
	box-sizing: border-box;
}
section#about_us #about_us-bg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 970px;
	overflow: hidden;
	transform: skewY(15deg);
	z-index: 1;
}
section#about_us #about_us-bg .img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
	width: 0;
    height: 200%;
	transform: skewY(-15deg);
	overflow: hidden;
	transform-origin: top left;
	transition: all 1s ease-out;
}
section#about_us #about_us-bg.scroll-on .img {
	width: 100%;
}
section#about_us #about_us-bg .img i {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    background: url(../img/home/bg_about_us.jpg) no-repeat top center;
	background-size: cover;
}
section#about_us #about_us-bg.scroll-on .img i {
	width: 100% !important;
	transition-delay: 1s;
}
section#about_us #about_us-obi {
    position: absolute;
    top: 244px;
    right: 0;
    display: block;
	width: 100%;
	height: 508px;
	opacity: 0.8;
	transform: skewY(-15deg);
	overflow: hidden;
	z-index: 2;
}
section#about_us #about_us-obi::before {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
	width: 0;
	height: 200%;
	background-color: #0aa951;
	transform-origin: top left;
	transition: all 1s ease-out;
}
section#about_us #about_us-obi.scroll-on::before {
	width: 100%;
}
section#about_us h3 {
	position: relative;
	margin-bottom: 40px;
	font-size: 5.8rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.3em;
	text-indent: 1em;
	text-align: center;
	opacity: 0;
	transition: all 0.3s ease-out;
	z-index: 3;
}
section#about_us h3:lang(en) {
	letter-spacing: 0.05em;
	text-indent: 0.5em;
}
section#about_us h3.scroll-on {
	opacity: 1;
}
section#about_us .more-btn-a {
	opacity: 0;
	transition: all 0.3s ease-out;
	z-index: 3;
}
section#about_us .more-btn-a.scroll-on {
	opacity: 1;
}

/* ------- == link == ------- */
section#link {
	position: relative;
	padding-top: 420px;
	padding-bottom: 260px;
	background: url(../img/home/bg_link.jpg) no-repeat center top;
	background-size: cover;
	box-sizing: border-box;
}
section#link #link-inner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
section#link #link-inner .link-item {
	position: relative;
	width: 100%;
	max-width: 580px;
	margin: 0 20px;
	z-index: 4;
}
section#link #link-inner #recruit.link-item {
	max-width: 1200px;
	margin: 110px 0 0;
}
section#link #link-inner .link-item .item-bg {
	position: relative;
	width: 100%;
	height: 390px;
	overflow: hidden;
	transform: skewY(-15deg) translateY(80px);
	opacity: 0;
	transition: all 0.5s ease-out;
}
section#link #link-inner #recruit.link-item .item-bg {
	width: 704px;
	height: 480px;
	margin-left: 496px;
}
section#link #link-inner .link-item.scroll-on .item-bg {
	transform: skewY(-15deg) translateY(0);
	opacity: 1;
}
section#link #link-inner .link-item .item-bg::before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
	height: 550px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
    transform: skewY(15deg);
	transform-origin: top right;
	transition: all 0.5s ease-out;
}
section#link #link-inner #products.link-item .item-bg::before {
    background-image: url(../img/home/img_products.jpg);
}
section#link #link-inner #csr.link-item .item-bg::before {
    background-image: url(../img/home/img_csr.jpg);
}
section#link #link-inner #recruit.link-item .item-bg::before {
    background-image: url(../img/home/img_recruit.jpg);
}
section#link #link-inner #recruit.link-item .item-bg::before {
	height: 667px;
}
section#link #link-inner .link-item .more-btn-a {
	margin-top: -50px;
	transform: translateY(40px);
	opacity: 0;
	transition: all 0.3s ease-out;
}
section#link #link-inner .link-item.scroll-on .more-btn-a {
	transition-delay: 0.5s;
	transform: translateY(0);
	opacity: 1;
}
section#link #link-inner .link-item .more-btn-a a {
	width: 300px;
	padding: 8px 30px;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	text-indent: -0.2em;
	box-sizing: border-box;
}
section#link #link-inner .link-item .more-btn-a a:lang(en) {
	letter-spacing: 0.1em;
	text-indent: -0.1em;
	line-height: 1.2;
}
section#link #link-inner .link-item .more-btn-a a::before {
	left: 20px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform:rotate(-45deg)
}
section#link #link-inner .link-item .more-btn-a a span {
	font-size: 1.4rem;
}
section#link #link-inner .link-item .more-btn-a a span:lang(en) {
	margin-top: 10px;
}
section#link #link-inner .link-item .more-btn-a a:hover::before {
	border-right: 2px solid #0aa951;
	border-bottom: 2px solid #0aa951;
}
section#link #link-inner #recruit.link-item .more-btn {
	position: absolute;
	top: 230px;
	left: 0;
	transform: translateY(80px);
	opacity: 0;
	transition: all 0.3s ease-out;
	z-index: 5;
}
section#link #link-inner #recruit.link-item.scroll-on .more-btn {
	transition-delay: 0.5s;
	transform: translateY(0);
	opacity: 1;
}
section#link #link-inner #recruit.link-item .more-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 574px;
	height: 316px;
	overflow: hidden;
	transform: skewY(-15deg);
	background-color: #0aa951;
	transition: all 0.3s ease-out;
}
section#link #link-inner #recruit.link-item .more-btn a span {
	font-size: 2.4rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.4em;
	text-indent: -0.4em;
	text-align: center;
	transform: skewY(15deg);
}
section#link #link-inner #recruit.link-item .more-btn a span:lang(en) {
	letter-spacing: 0.1em;
	text-indent: -0.1em;
}
section#link #link-inner #recruit.link-item .more-btn a span b {
	display: block;
	font-family: 'Open Sans', sans-serif;
	font-size: 6.2rem;
	font-weight: bold;
	letter-spacing: 0.06em;
	text-indent: -0.06em;
	font-style: italic;
	text-align: center;
}
section#link #link-inner #recruit.link-item .more-btn a span i::before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 15px;
	margin-right: 16px;
	background: url(../img/icon_blank.png) no-repeat center;
	background-size: contain;
}
section#link #link-inner #recruit.link-item .more-btn a:hover {
	background-color: #099849;
}

@media only screen and (min-width:769px) {

	/* mv
	------------------------------------------------------------ */
	#mv #mv-video {
		min-width: 1280px;
	}

}

@media only screen and (min-width:769px) and (max-width:1280px) {

	/* mv
	------------------------------------------------------------ */
	#mv #mv-bnr a {
		top: 448px;
		left: 161px;
		width: 187px;
	}
	
	#mv .mv-slide .mv-slide-wrap .bari_ship-mv .link-btn {
		top: 320px;
		left: calc(50% - 205px);
		display: block;
		width: 205px;
		padding: 13px;
		font-size: 15.4px;
		border-radius: 5px;
		box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.2);
	}

}

@media only screen and (max-width:768px) {

	/* body
	------------------------------------------------------------ */
	body::before {
		background-size: 7%;
	}

	/* mv
	------------------------------------------------------------ */
	#mv {
		height: calc(177.866vw + 400px);
		min-height: auto;
	}
	/* -- mv-video -- */
	#mv #mv-video {
		height: 100%;
		overflow: hidden;
	}
	#mv #mv-video #sp-mv {
		position: absolute;
		width: auto;
		height: 100%;
	}
	#mv #mv-video #sp-mv #sp-mv-inner {
		position: relative;
		width: auto;
		height: 100%;
	}
	#mv #mv-video #sp-mv.sp-height #sp-mv-inner {
		top: -100px;
	}
	#mv #mv-video #sp-mv .img-item {
		position: absolute;
		top: 0;
		left: 0;
		width: auto;
		height: 100%;
	}
	#mv #mv-video #sp-mv .img-item-end {
		width: auto;
		height: 100%;
	}
	#mv #mv-video #sp-mv .img-item-grad {
		position: absolute;
		top: 0;
		right: 0;
		width: auto;
		height: 100%;
	}
	#mv #mv-video #sp-mv .img-item img,
	#mv #mv-video #sp-mv .img-item-end img,
	#mv #mv-video #sp-mv .img-item-grad img {
		max-width: initial;
		height: 100%;
	}
	/* -- mv-slide -- */
	#mv .mv-slide {
		position: fixed;
		top: 0;
		left: 50%;
		width: 100%;
		height: auto;
		min-width: auto;
		transform: translate(-50%, 0);
		z-index: 1;
	}
	#mv .mv-slide .slide-bg {
		bottom: -470px;
	}
	#mv .mv-slide .slide-bg::before {
		background-size: 7%;
	}
	#mv .mv-slide .slide-bg::after {
		display: none;
	}
	#mv .mv-slide .mv-slide-wrap {
		width: 100%;
		height: auto;
	}
	#mv .mv-slide .mv-slide-wrap img {
		width: 100%;
		height: auto;
	}
	#mv .mv-slide .mv-slide-wrap .bari_ship-mv .link-btn {
		top: 67vw;
        left: 30.4vw;
        width: 41vw;
        padding: 2vw;
        font-size: 3.2vw;
        border-radius: 1vw;
        box-shadow: 0.5vw 0.5vw 0.5vw 0px rgba(0, 0, 0, 0.2);
	}
	#mv .mv-slide .mv-slide-wrap .bari_ship-mv .link-btn:hover {
		background-color: #e10000;
	}
	#mv #mv-bnr {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		min-width: auto;
		height: 300%;
		transform: translate(0, 0);
		background: url(../img/home/mv_bari_ship_2023_sp.jpg) no-repeat top center;
		background-size: 100%;
		z-index: 1;
	}
	#mv #mv-bnr a {
		position: absolute;
		top: 110.5vw;
		left: calc(50% - 25.8vw);
		display: block;
		width: 30vw;
		z-index: 1;
	}
	#mv #scroll {
		position: absolute;
		top: 150vw;
		left: 50%;
		transform: translateX(-50%);
		z-index: 9;
	}
	#mv #scroll span {
		position: relative;
		display: block;
		padding-right: 80px;
		font-family: 'Open Sans', sans-serif;
		font-size: 1.6rem;
		color: #fff;
		transform: rotate(90deg);
	}
	#mv #scroll span::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 60px;
		height: 1px;
		background-color: #fff;
		animation: scroll 1s infinite;
	}
	@keyframes scroll {
		0% {
			right: 60px;
			width: 0;
		}
		50% {
			right: 0;
			width: 60px;
		}
		100% {
			right: 0;
			width: 0;
		}
	}
	#mv h2 {
		position: absolute;
		top: 107px;
		left: 20px;
		font-size: 4rem;
	}
	#mv #news {
		position: relative;
		top: 177.866vw;
		width: 90%;
		margin-left: 10%;
		z-index: 2;
	}
	#mv #news #news-inner {
		position: relative;
		padding: 60px 20px 40px;
	}
	#mv #news #news-inner::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background-color: #000;
		opacity: 0.85;
		transform: skewY(-15deg);
	}
	#mv #news #news-inner h3 {
		font-size: 2.8rem;
	}
	#mv #news #news-inner h3::before {
		width: 10px;
		height: 16px;
		margin-left: 6px;
		margin-right: 14px;
		margin-bottom: 2px;
	}
	#mv #news #news-inner ul {
		margin-top: 10px;
	}
	#mv #news #news-inner ul li {
		display: block;
		margin-top: 20px;
	}
	#mv #news #news-inner ul li time {
		width: auto;
		margin-right: 0;
	}
	#mv #news #news-inner ul li a {
		display: block;
		font-size: 1.4rem;
	}
	#mv #news #news-inner #news-more {
		margin-top: 40px;
	}
	#mv #news #news-inner #news-more a {
		padding: 2px 50px 4px;
		font-size: 1.8rem;
	}
	
	/* content
	------------------------------------------------------------ */
	/* ------- == about_us == ------- */
	section#about_us {
		margin-top: 40px;
		padding-top: 170px;
	}
	section#about_us #about_us-bg {
		width: 100%;
		height: 525px;
	}
	section#about_us #about_us-bg .img {
		height: 140%;
	}
	section#about_us #about_us-obi {
		top: 115px;
		height: 290px;
	}
	section#about_us h3 {
		margin-bottom: 20px;
		padding-left: 0.8em;
		font-size: 3rem;
		text-indent: 0;
	}
	section#about_us h3:lang(en) {
		padding: 0 0.4em;
		letter-spacing: 0;
		text-indent: 0;
	}
	
	/* ------- == link == ------- */
	section#link {
		margin-top: 110px;
		padding-top: 130px;
		padding-bottom: 120px;
		background: url(../img/home/bg_link_sp.jpg) no-repeat center top;
		background-size: cover;
	}
	section#link #link-inner {
		display: block;
		padding: 0 20px;
	}
	section#link #link-inner .link-item {
		max-width: 350px;
		margin: 0 auto 80px;
	}
	section#link #link-inner #recruit.link-item {
		max-width: 350px;
		margin: 0 auto;
	}
	section#link #link-inner .link-item .item-bg {
		height: 225px;
	}
	section#link #link-inner #recruit.link-item .item-bg {
		width: 100%;
		height: 225px;
		margin-left: 0;
	}
	section#link #link-inner .link-item .item-bg::before {
		height: 320px;
		background-size: cover;
	}
	section#link #link-inner #recruit.link-item .item-bg::before {
		height: 320px;
	}
	section#link #link-inner .link-item .more-btn-a {
		margin-top: -40px;
	}
	section#link #link-inner .link-item .more-btn-a a {
		width: 260px;
		padding: 4px 30px;
		font-size: 2rem;
		box-sizing: border-box;
	}
	section#link #link-inner .link-item .more-btn-a a span {
		font-size: 1rem;
	}
	section#link #link-inner #recruit.link-item .more-btn {
		position: relative;
		top: 0;
	}
	section#link #link-inner #recruit.link-item .more-btn a {
		height: 170px;
		margin: -40px auto 0;
	}
	section#link #link-inner #recruit.link-item.scroll-on .more-btn a {
		width: 260px;
	}
	section#link #link-inner #recruit.link-item .more-btn a span {
		font-size: 1.8rem;
	}
	section#link #link-inner #recruit.link-item .more-btn a span b {
		font-size: 4.6rem;
	}
	section#link #link-inner #recruit.link-item .more-btn a span i::before {
		width: 20px;
		height: 12px;
		margin-right: 10px;
	}

}
