@charset "utf-8";

.inner p span {
	display: block;
}
@media screen and (max-width:786px){
	.inner p span {
		display: inline;
	}
}

.container {
	margin: 30px auto 0;
	max-width: 500px;
	width: 100%;
}

/* slide (keyvisual) */
.slide_container {
	height: 58vw;
	width: 100%;
	overflow: hidden;
	position: relative;
	margin-bottom: -6%;
  }

.slide_container .title {
	position: absolute;
	z-index: 50;
	color: var(--white);
	font-size: 5.1vw;
	width: 1380px;
	left: 0;
	right: 0;
	margin: auto;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
	height: 200px;
	top: 32%;
	max-width: 98%;
	margin: 0 auto;
}
@media screen and (max-width:786px){
 	.slide_container .title {
		width: 80%;
		height: 60px;
		top: 15%;
		text-align: center;
	}
	.slide_container .title br{
		display: none;
	}
 }

.slide_container .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 58vw;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0;
	animation-name: fade;
	animation-duration: 14s;
	animation-iteration-count: infinite;
}

@keyframes fade {
	0%{
		opacity: 0;
	}
	20%{
		opacity: 1;
	}
	80%{
		opacity: 1;
		/*transform: scale(1.2);*/
	}
	100%{
		opacity: 0;
		z-index: 0;
	}
}

.slide_container .image.src1 {
	background-image: url(../images/index/keyvisual_image01.webp);
}
.slide_container .image.src2 {
	background-image: url(../images/index/keyvisual_image02_02.webp);
	animation-delay: 5s;
}
.slide_container .image.src3 {
	background-image: url(../images/index/keyvisual_image03.webp);
	animation-delay: 9s;
}

/* kawakin_pride */
#kawakin_pride {
	position: relative;
	z-index: 15;
	padding: 0 0 80px;
}

#kawakin_pride h2 {
	display: flex;
	width: 100%;
	justify-content: center;
	padding: 80px 0;
}
@media screen and (max-width:786px){
	#kawakin_pride {
		padding: 0 0 35px;
	}
	#kawakin_pride h2 {
		padding: 40px 0 45px;
	}
	#kawakin_pride h2 img {
		width: 90%;
		height: auto;
		max-height: 32px;
	}
}
.kawakin_pride_read {
	width: 100%;
	position: relative;
	min-height: 450px;
}
@media screen and (max-width:1299px){
	.kawakin_pride_read {
		min-height: 380px;
	}
}
.kawakin_pride_read .inner{
	display: flex;
	align-items: center;
	min-height: 450px;
}
@media screen and (max-width:1299px){
	.kawakin_pride_read .inner{
		min-height: 380px;
	}
}
@media screen and (max-width:786px){
	.kawakin_pride_read .inner{
		flex-wrap: wrap;
		min-height: auto;
	}
}
.kawakin_pride_read p,
.kawakin_pride_read p * {
	line-height: 2;
	font-size: min(1.45vw, 22px);
}
.kawakin_pride_read p {
	width: 50%;	
}
.kawakin_pride_read p span {
	display: block;
}
@media screen and (max-width:786px){
	.kawakin_pride_read p,
	.kawakin_pride_read p * {
		font-size: 16px;
		letter-spacing: .1em;
	}
	.kawakin_pride_read p {
		width: 90%;
		margin: 0 auto 40px;
	}
	.kawakin_pride_read p span {
		display: inline;
	}
}
.kawakin_pride_read .img01{
	position: absolute;
	right: 0;
	width: 48%;
	top: 0;
	display: flex;
	align-items: center;
	min-height: 450px;
}
@media screen and (max-width:1299px){
	.kawakin_pride_read .img01{
		min-height: 380px;
	}
}
@media screen and (max-width:786px){
	.kawakin_pride_read .img01{
		position: relative;
		width: 90%;
		margin: 0 auto;
		min-height: auto;
	}
}
.kawakin_pride_read .img01 img{
	width: 100%;
	height: auto;
}

/* ships */
#ships{
	padding: 80px 0;
}
@media screen and (max-width:786px){
	#ships{
		padding: 35px 0 0;
	}
}
#ships .inner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 80px;
}
@media screen and (max-width:786px){
	#ships .inner {
		gap: 0 40px;
	}
}
#ships .inner h2 {
	width: 25%;
}
@media screen and (max-width:786px){
	#ships .inner h2 {
		width: 100%;
		text-align: center;
	}
	#ships .inner h2 img{
		margin: auto;
	}
}
#ships .inner h2 span {
	color: var(--red);
	margin: 20px 0;
	display: block;
}
@media screen and (max-width:786px){
	#ships .inner h2 span {
		margin: 10px 0;
	}
}
#ships .inner .read {
	width: 60%;
}
@media screen and (max-width:786px){
	#ships .inner .read {
		width: 90%;
	}
}
#ships .inner p {
	line-height: 2;
	font-size: min(1.21vw, 18px);
}
@media screen and (max-width:786px){
	#ships .inner p {
		font-size: 14px;
		text-align: center;
		letter-spacing: .05em;
	}
}

/* business */
#business {
	padding: 80px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 120px;
}
@media screen and (max-width:786px){
	#business {
		padding: 35px 0 0;
		margin-bottom: 0px;
	}
}
#business h2 img {
	max-width: 70%;
}
@media screen and (max-width:786px){
	#business h2 img {
	  max-width: 100%;
	}
}
#business .img_area {
	width: 50%;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:786px){
	#business .img_area {
		width: 100%;
	}
}

#business .img_area picture {
	/*display: inline;*/
}
#business .img_area picture:nth-child(1){
	width: 100%;
	margin-bottom: 5px;
}
#business .img_area picture:nth-child(2){
	margin-left: 20%;
}
@media screen and (max-width:786px){
	#business .img_area picture:nth-child(2){
		width: 100%;
		margin: 10px 0 0;
	}
}
#business .img_area picture img {
	width: 100%;
	height: auto;
}
#business .inner {
	width: 50%;
	padding: 8% 5% 7% 5%;
	margin: 9% 0;
	position: relative;
	z-index: 0;
}
#business .inner:before {
	background: var(--gray);
	content: "";
	width: 120%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
}
@media screen and (max-width:1099px){
	#business .inner {
		padding: 6% 4% 5% 4%;
		margin: 2% 0;
	}
}
@media screen and (max-width:786px){
	#business .inner {
		width: 100%;
		padding: 35px 20px 0;
		margin: 0;
		max-width: 100%;
		background: var(--white);
	}
	#business .inner:before {
		display: none;
	}
}
#business .inner p {
	line-height: 2;
	font-size: min(1.21vw, 18px);
}
@media screen and (max-width:786px){
	#business .inner p {
		font-size: 14px;
		text-align: center;
		letter-spacing: .05em;
	}
}
#business h2 span {
	color: var(--red);
	margin: .667em 0;
	display: block;
	font-size: min(3vw, 30px);
}
@media screen and (max-width:786px){
	#business h2 img{
		margin: auto;
	}
	#business h2 span {
		font-size: 15px;
		text-align: center;
		margin: 10px 0;
		display: block;
	}
}

/* company */
#company {
	position: relative;
	padding: 25% 0 0;
}
@media screen and (max-width:786px) {
	#company {
		position: relative;
		margin: 35px 0 0;
		padding: 0;
	}
}
#company picture{
	position: absolute;
	width: 1380px;
	max-width: 90%;
	right: 0;
	left: 0;
	margin: auto;
	top: -100px;
}
@media screen and (max-width:786px) {
	#company picture {
		position: relative;
		width: 100%;
		max-width: 100%;
		top: -1px;
	}
}
#company picture img {
	width: 100%;
	height: auto;
}

#company .inner {
	display: flex;
	justify-content: center;
	gap: 0 80px;
	padding: 80px 0 120px;
}
@media screen and (max-width:786px) {
	#company .inner {
		gap: 0 35px;
		padding: 40px 0 25px;
		flex-wrap: wrap;
	}
}
#company .inner h2 {
	width: 25%;
}
@media screen and (max-width:1379px) {
	#company .inner h2 {
		min-width: 375px;
	}
}
@media screen and (max-width:786px) {
	#company .inner h2 {
		width: 100%;
		min-width: auto;
	}
	#company .inner h2 img {
		margin: auto;
	}
}
#company .inner h2 span {
	color: var(--white);
	margin: 20px 0;
	display: block;
}
@media screen and (max-width:786px){
	#company .inner h2 span {
		margin: 10px 0;
		text-align: center;
	}
}
#company .inner .read {
	width: 60%;
}
@media screen and (max-width:1379px){
	#company .inner .read {
		width: auto;
	}
}
@media screen and (max-width:786px){
	#company .inner .read {
		width: 90%;
		margin: 0 auto;
	}
}
#company .inner p,
#company .inner p * {
	line-height: 2;
	font-size: min(1.21vw, 18px);
}
@media screen and (max-width:786px){
	#company .inner p,
	#company .inner p * {
		font-size: 14px;
		text-align: center;
		letter-spacing: .05em;
	}
}

/* recruit */
#recruit {
	position: relative;
}
#recruit .recruit_img {
	position: absolute;
	left: 0;
	width: 55%;
	min-height: 320px;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 80px 0;
}
@media screen and (max-width:786px){
	#recruit .recruit_img {
		position: relative;
		width: 100%;
		min-height: auto;
		padding: 35px 0 0;
		margin: 0 auto;
	}
	#recruit .recruit_img img {
		width: 100%;
		height: auto;
	}
}
#recruit .recruit_img img {
	height: auto;
	max-width: 100%;
}
#recruit .inner {
	padding: 80px 0 120px;
	display: flex;
	justify-content: flex-end;
}
@media screen and (max-width:786px){
	#recruit .inner {
		padding: 22px 0 37px;
		flex-wrap: wrap;
		justify-content: center;
	}
}
#recruit .inner .cnt {
	margin: 0 5% 0 0;
}
@media screen and (max-width:786px) {
	#recruit .inner .cnt {
		margin: 0;
	}
}

#recruit .inner .cnt .link_btn {
	width: 100%;
}
@media screen and (max-width:786px){
	#recruit .inner .cnt .link_btn {
		width: 80%;
	}
}
#recruit h2 {
	text-align: right;
	width: 293px;
}
@media screen and (max-width:786px){
	#recruit h2 {
		text-align: center;
		width: 100%x;
	}
	#recruit h2 img {
		margin: auto;
	}
}
#recruit .inner h2 span {
	margin: 20px 0;
	display: block;
}
@media screen and (max-width:786px){
	#recruit .inner h2 span {
		margin: 10px 0;
		text-align: center;
	}
}

/* slide (ships) */
.slider {
	width:100%;
	margin:0 auto 80px;
}
@media screen and (max-width:786px){
	.slider {
		margin:0 auto 40px;
	}
}
.slider img {
	width: 80vw;
	height:auto;
}

.slider .slick-slide {
	transform: scale(0.8);
	transition: all .5s;
	opacity: 0.5;
}
/* 中央以外のスライド */
.slick-img img {
	height: auto;
	opacity: .3;
	transform: scale(.8);
	transition: opacity .5s, transform .5s;
	width: 100%;
}
/* 中央のスライド */
.slider .slick-center img {
	opacity: 1;
	transform: scale(1);
}
.slider .slick-slide.slick-center{
	transform: scale(1);
	opacity: 1;
}
/*矢印の設定*/
.slick-prev, 
.slick-next {
	position: absolute;
	top: 42%;
	cursor: pointer;
	outline: none;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	height: 15px;
	width: 15px;
}
.slick-prev {
	left: -1.5%;
	transform: rotate(-135deg);
}
.slick-next {
	right: -1.5%;
	transform: rotate(45deg);
}
.slick-dots {
	text-align:center;
	margin:20px 0 0 0;
}
.slick-dots li {
	display:inline-block;
	margin:0 5px;
}
.slick-dots button {
	color: transparent;
	outline: none;
	width: 12px!important;
	height: 12px!important;
	display:block;
	border-radius:50%;
	background:#ccc;
	border: none;
}
.dots-name{
	text-align:center;
	margin:20px 0 0 0;
	display: flex;
	justify-content: center;
	gap: 0 10px;
}
.dots-name li {
	width: 12px;
	line-height: 1;
}
.dots-name li button {
	color: transparent;
	outline: none;
	width: 12px!important;
	height: 12px!important;
	display: block;
	border-radius:50%;
	background:#ccc;
	border: none;
	padding: 0;
	margin: 0;
}
.dots-name .slick-active button{
	background:#333;
}
