@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Oswald:wght@200;300;400;600;700&display=swap');

html {
	font-family:'Noto Sans JP', sans-serif;
	font-size: 62.5%;
	color: #595757;
    -moz-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
/* 	scroll-behavior: smooth; */
}

body {
	width: 100%;
}

a, a:hover{
	text-decoration: none;
}
	
header{
	width: 100%;
	height: 60px;
	background-image: url(../images/navi_back.png);
	background-color: transparent;
	position: absolute;
	z-index: 100;
	top: 0;
	text-align: center;
	position: fixed;
}

header.change_color{
	background-color: #fff;
	transition-duration: 0.8s;
/* 	border-bottom: 1px solid #595757; */
	box-shadow: 0 5px 5px 2px #ccc;
}


#header_navi{
	width: 100%;
	max-width: 980px;
	height: 60px;
	z-index: 100;
	display: inline-flex;
	justify-content: space-between;
}

#header_navi .logo{
	width: 244px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#header_navi .logo img{
	width: 100%;
	height: auto;	
}

#header_navi .otf{
	width: 160px;
	padding: 0 10px;
	text-align: right;
}

#header_navi .otf a{
	width: 100px;
	height: auto;
	background-color: #005bac;
	display: inline-block;
	transition-duration: 0.3s;
}

#header_navi .otf img{
	width: 100%;
	height: auto;
}

#header_navi .otf a:hover{
	opacity: 1.0;
	background: #ff8000;
	transition-duration: 0.3s;
}

@media(max-width:900px) {
	#header_navi .otf{
		width: 100px;
	}
}


#header_navi .otf > img{
	width: 100%;
	height: auto;
	margin-top: 1.0rem;
}

#header_navi .logo img:hover, #header_navi .otf a:hover{
	opacity: 0.7;
}

#main_ttl{
	width: 100%;
	height: auto;
	margin: 0 auto;
	position: absolute;
	overflow: hidden;
	z-index: 10;
}

#main_ttl img{
	width: 100%;
	height: auto;
}

#main_v{
	width: 100%;
	height: auto;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

#main_v .slider{
	width: 100%;
	position: relative;
	z-index: 1;
}

#main_v .slider img, #main_v > img{
	width: 100%;
	height: auto;
}

#main_v .slick-dots{
	position: absolute;
	bottom: 53px;
	z-index: 20;
}

#main_v .slick-dots li{
	width: auto;
	height: auto;
	padding: 0;
}

#main_v .slick-dots li button{
	width: 8px;
	height: 8px;
	padding: 0;	
	border-radius: 4px;
	background: #fff;
	opacity: 0.5;
}
#main_v .slick-dots li.slick-active button, #main_v .slick-dots li button:hover{
	opacity: 1.0;
}

.slick-dots li button:before{
	font-size: 0;
}


#contents{
	width: 100%;
	max-width: 980px;
	height: auto;
	margin: 0 auto;
}

#contents.top h1{
	text-align: center;
	font-size: 3.0rem;
	letter-spacing: 0.1em;
	font-weight: 100;
	margin-top: 5.3rem;
}

#contents.top #slide{
	font-size: 0;
	width: 100%;
	margin-top: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#contents.top #slide img{
	width: 25%;
	height: auto;
}

#contents.top #read{
	text-align: center;
	width: 540px;
	margin: 0 auto;
}

#contents.top #read h2{
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	line-height: 1.8em;
	color: #005bac;
	margin-top: 5.0rem;
	padding: 4.0rem 0 0;
	border-bottom: 1px dashed #727171;
	background-image: url(../images/h2_mark.png);
	background-position: center top;
	background-repeat: no-repeat;
}

#contents.top #read .read{
	font-size: 2.0rem;
	letter-spacing: 0.1em;
	margin-top: 2.2rem;
}

#contents.top #read .txt{
	font-size: 1.3rem;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	margin-top: 1.6rem;
}

#contents.top h2.business_ttl{
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0.13em;
	line-height: 1.0em;
	color: #005bac;
	border-left: 45px solid #b5b5b6;
	margin-left: 48px;
	padding-left: 0.5em;
	margin-top: 56px;
}

#contents.top #business{
}

#contents.top #business section{
	position: relative;
	width: 100%;
	height: 392px;
	margin: 30px 0 60px;
}

#contents.top #business section:nth-child(1){
	background-image: url(../images/business_back_01.jpg);
	background-repeat: no-repeat;
	background-position: left center;
}

#contents.top #business section:nth-child(2){
	background-image: url(../images/business_back_02.jpg);
	background-repeat: no-repeat;
	background-position: right center;
}

#contents.top #business section:nth-child(3){
	background-image: url(../images/business_back_03.jpg);
	background-repeat: no-repeat;
	background-position: left center;
}

#contents.top #business section:nth-child(4){
	background-image: url(../images/business_back_04.jpg);
	background-repeat: no-repeat;
	background-position: right center;
}

#contents.top #business section .inner{
	position: absolute;
	width: 467px;
	right: 3%;
	top: 5px;
	padding: 10px;
}

#contents.top #business section:nth-child(even) .inner{
	width: 433px;
	left: 3%;
	top: 30px;
}

#contents.top #business section .inner .title{
	width: 341px;
	padding-left: 126px;
	border-bottom: 1px dashed #727171;
}

#contents.top #business section:nth-child(even) .inner .title{
	width: 403px;
	padding-left: 30px;
	border-bottom: 1px dashed #727171;
}


#contents.top #business section .inner .title h3{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	height: 46px;
	width: 100%;
	padding-left: 0.6rem;
	border-left: 5px solid #b5b5b6;
}

#contents.top #business section .inner .title h3 p{
	width: 100%;
	font-size: 2.6rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 0.7em;
	color: #005bac;
}

#contents.top #business section .inner .title h3 p.sub{
	font-size: 1.7rem;
	padding-top: 0.4em;
}

#contents.top #business section .inner .title > p{
	padding-left: 1.0rem;
	font-size: 1.2rem;
	margin: 1.3em 0 1.8em;
}

#contents.top #business section .inner .ver{
	width: 330px;
	padding-left: 137px;
}

#contents.top #business section:nth-child(even) .inner .ver{
	width: 392px;
	padding-left: 41px;
}

#contents.top #business section .inner .ver .read{
	font-size: 1.5rem;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	margin-top: 20px;
}

#contents.top #business section .inner .ver .txt{
	font-size: 1.3rem;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	margin-top: 10px;
}

#contents.top #business section .inner .detail{
	width: 330px;
	padding-left: 137px;
	margin-top: 22px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

#contents.top #business section:nth-child(even) .inner .detail{
	width: 392px;
	padding-left: 41px;
}

@media(min-width: 768px) and (max-width: 870px){
	#contents.top #business section .inner{
		background-image: url(../images/navi_back.png);
	}

	#contents.top #business section:nth-child(odd) .inner{
		width: 371px;
	}
	
	#contents.top #business section:nth-child(odd) .inner .title{
		width: 341px;
		padding-left: 30px;
	}

	#contents.top #business section:nth-child(odd) .inner .ver{
		padding-left: 41px;
	}
	
	#contents.top #business section:nth-child(odd) .inner .detail{
		padding-left: 41px;
	}
}

#contents.top #business section .inner .detail a{
	font-size: 1.2rem;
	line-height: 1.0em;
	padding: 0.7em 0;
	font-weight: 500;
	text-align: center;
	color: #fff;
	background: #005bac;
	width: 118px;
	display: block;
}

#contents.top #business section .inner .detail > div{
	width: 169px;
	padding: 8px;
	border: 1px solid #005bac;
}

#contents.top #business section .inner .detail > div > a{
	width: 100%;
}



#contents.top #business section .inner .detail a:hover{
	background: #ff8000;
}

#contents.top #page_link{
	width: 88%;
	max-width: 866px;
	margin: 75px auto 5px;
	display: flex;
	justify-content: space-between;
}

#contents.top #page_link a{
	width: 31%;
	height: auto;
}

/*
#contents.top #page_link a div:before{
  content: "";
  padding-top: 51.6%;
}
*/

#contents.top #page_link a div{
	width: 100%;
	height: auto;
	aspect-ratio: 767 / 396;
	overflow: hidden;
}


#contents.top #page_link a img{
	width: 100%;
	height: auto;
	transition-duration: 0.8s;
}

#contents.top #page_link a p{
	font-size: 1.8rem;
	line-height: 1.0em;
	font-weight: 500;
	color: #005bac;
	letter-spacing: 0.1em;
	border-left: 5px solid #b5b5b6;
	margin-top: 20px;
	padding-left: 10px;
}

#contents.top #page_link a p span{
	font-size: 1.2rem;
	color: #595757;
	letter-spacing: 0.2em;
}


#contents.top #page_link a:hover img{
	transform: scale(1.2);
	transition-duration: 0.8s;
}

/* 会社について */
#contents.about{
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0 auto;
}

#contents.about section{
    padding-top: 9.0rem;
    margin-top: -9.0rem;
}

#contents.about section .page_ttl{
	width: 100%;
	height: 95px;
	padding-top: 60px;
	background-image: url(../images/page_ttl_back.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	background-size: 100% 100%;
}

#contents.about section.ceo .page_ttl{
	height: 95px;
	padding-top: 130px;
}

#contents.about section .page_ttl h1{
	font-size: 2.2rem;
	width: 12.0em;
	line-height: 1.0em;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background-image: url(../images/page_ttl_h1_back.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#contents.about section.ceo .page_ttl h1, #contents.about section.history .page_ttl h1{
	width: 11.0em;
	background-image: url(../images/page_ttl_h1_back02.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#contents.about section .page_ttl p{
	font-size: 1.3rem;
	line-height: 1.0em;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	margin: 1.7em auto 0;
}

#contents.about section .contents{
	width: 100%;
	max-width: 980px;
	height: auto;
	margin: 0 auto;
	padding-top: 8.0rem;
}

#contents.about section.ceo .contents{
	padding-top: 3.0rem;
}

#contents.about section .contents h2{
	font-size: 1.8rem;
	line-height: 1.0em;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}

#contents.about section.ceo .ceo_img{
	width: 100%;
	text-align: center;
}

#contents.about section.ceo .ceo_img img{
	width: 100%;
	height: auto;
}

#contents.about section.ceo .txt{
	font-size: 1.5rem;
	line-height: 1.8em;
	text-align: left;
	width: 94%;
	max-width: 710px;
	margin: 5.0rem auto 12.0rem;
}

#contents.about section .contents table{
	width: 94%;
	max-width: 686px;
	margin: 4.0rem auto 2.0rem;
	font-size: 1.4rem;
	line-height: 1.5em;
}


#contents.about section .contents table th{
	width: 26%;
	font-weight: 400;
	background: #e6e6e6;
	border: 1px solid #595757;
	vertical-align: middle;
}

#contents.about section.profile .contents table th p{
	width: 6.5em;
	text-align-last: justify;
	text-justify: inter-ideograph;
	margin: 0 auto;
}


#contents.about section .contents table td{
	padding: 2.0em;
	padding-left: 3%;
	padding-right: 3%;
	border: 1px solid #595757;
	vertical-align: middle;
	width: auto;
}

#contents.about section .contents table td p{
	margin: 1.0em auto;
}

#contents.about section .contents > p{
	font-size: 1.2rem;
	line-height: 1.5em;
	text-align: center;
	width: 90%;
}

#contents.about section.profile .contents table td{
	padding: 1.5em;
	text-align: center;
}

#contents.about section.profile .contents table td div{
	width: auto;
	margin: 0 auto;
	text-align: center;
}

#contents.about section.profile .contents table td p{
	margin: 1.0em auto;
	display: inline-block;
	text-align: left!important;
	margin: 0 auto;
	vertical-align: top;
}

#contents.about section.profile .contents table td p{
	display: inline-block;
	text-align: left!important;
	margin: 0 auto;
	vertical-align: top;
}

#contents.about section.profile .contents table td .bank p:first-child{
	padding-right: 5.0em;
}

#contents.about section.member .contents{
	padding-top: 9.0rem;
}


#contents.about section.member .contents table tr > td{
	padding: 1.5em;
}

#contents.about section.member .contents table tr > td:first-child{
	width: 30%;
}

#contents.about section.member .contents table tr > td:last-child{
	text-align: center;
}

#contents.about section.member .contents table tr > td:last-child p{
	display: inline-block;
	text-align: left!important;
	width: 6.0em;
	margin: 0;
}

#contents.about section.profile .contents > p{
	font-size: 1.2rem;
	line-height: 1.5em;
	text-align: center;
	width: 90%;
}

#contents.about section.office table{
	margin-bottom: 5.0rem;	
}

#contents.about section.office table th{
	padding: 1.0em;
}

#contents.about section.office table td{
	padding: 1.0em;
}

#contents.about section.office table tr > th:nth-child(1){
	width: 20%;
}

#contents.about section.office table tr > th:nth-child(2){
	width: 39%;
}

#contents.about section.office table tr > th:nth-child(3){
	width: auto;
}

#contents.about section.office table td.name, #contents.about section.office table td.tel{
	text-align: center;
	padding: 1.0em 0;

}

#contents.about section.office table td.department{
	font-size: 90%;
	line-height: 1.4em;
	border-right: none;
}

#contents.about section.office table td.department_tel{
	text-align: center;
	border-left: none;
}

#contents.about section.chart{
	text-align: center;
	padding-bottom: 14.0rem;
}

#contents.about section.chart h2 span{
	font-size: 0.9rem;
	font-weight: 300;
}

#contents.about section.chart img{
	width: 94%;
	max-width: 686px;
	height: auto;
	margin: 8.0rem auto;	
}

#contents.about section.history .contents{
	padding-top: 3.0rem;
}

#contents.about section.history table{
	margin-bottom: 0;	
}

#contents.about section.history table th{
	border: none;
	width: 10%;
	margin: 0;
	text-align: right;
	padding: 0.2em 1.0em;
	vertical-align: top;
}

#contents.about section.history table td{
	margin: 0;
	padding: 0.2em 1.0em;
	border: none;
	line-height: 1.6em;	
	vertical-align: top;
}

#contents.about section.history table td p{
	margin: 0;
	margin-bottom: 0.6em;
	padding: 0;
}

#contents.about section.history table td.month{
	width: 12%;	
	margin: 0;
	text-align: right;
	padding-left: 0;
	border-left: 1px solid #595757;
	border-right: 1px solid #595757;
}

#contents.about section.history table .otf th, #contents.about section.history table .otf td{
	color: #7f4f21!important;
}


#contents.about section.history table .oji th, #contents.about section.history table .oji td{
	color: #005bac!important;
}

#contents.about section.history table .red th, #contents.about section.history table .red td{
	color: #c30d23!important;
}

#contents.about section.history table td.bold{
	font-weight: 900!important;
}

#contents.about section.history .contents > div{
	width: 90%;
	max-width: 680px;
	margin: 0 auto;
	position: relative;
	padding-bottom: 4.0rem;
}

#contents.about section.history .contents > div p{
	font-size: 1.2rem;
	line-height: 1.6em;
	position: absolute;
	right: 0;
	color: #7f4f21!important;
}

#contents.about section.history .contents > div p span{
	color: #005bac!important;
}

/* 事業案内 */
#contents.service{
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0 auto;
}

#contents.service section .page_ttl{
	width: 100%;
	height: 95px;
	padding-top: 130px;
	background-image: url(../images/page_ttl_back.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	background-size: 100% 100%;
}

#contents.service section .page_ttl h1{
	font-size: 2.2rem;
	width: 12.0em;
	line-height: 1.0em;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background-image: url(../images/page_ttl_h1_back.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#contents.service section .page_ttl p{
	font-size: 1.3rem;
	line-height: 1.0em;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	margin: 1.7em auto 0;
}

#contents.service section .contents{
	width: 100%;
	max-width: 980px;
	height: auto;
	margin: 0 auto;
	padding-top: 5.0rem;
}

#contents.service section .contents .division{
    padding-top: 9.0rem;
    margin-top: -9.0rem;
}

#contents.service section .contents .division .title h2{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	height: 64px;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	padding-left: 0.6rem;
	border-left: 8px solid #b5b5b6;
	position: relative;
}

#contents.service section .contents .division .title h2 p{
	width: 100%;
	font-size: 4.0rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 0.7em;
	color: #005bac;
}

#contents.service section .contents .division .title h2 p.sub{
	font-size: 2.8rem;
	padding-top: 0.4em;
}

#contents.service section .contents .division .title h2 p.sub2{
	color: #595757;
	font-size: 2.0rem;
	padding-top: 0.4em;
	position: absolute;
	right: 0;
	bottom: 1.0em;
	text-align: right;
}

#contents.service section .contents .division .article{
	width: 100%;
	max-width: 980px;
	display: flex;
	justify-content: flex-start;
	padding-top: 5.0rem;
}

#contents.service section .contents .division .article.passenger{
	padding-top: 3.0rem!important;
}


#contents.service section .contents .international .article{
	flex-direction: row-reverse;
}


#contents.service section .contents .division .article .image{
	width: 418px;
	padding-right: 58px;
}

#contents.service section .contents .international .article .image{
	width: 418px;
	padding-right: 0;
	padding-left: 58px;
}

#contents.service section .contents .division .article .image .box{
	width: 100%;
	max-width: 288px;
	float: right;
}

#contents.service section .contents .international .article .image .box{
	float: left;
}

#contents.service section .contents .spec{
	width: 100%;
	max-width: 290px;
	margin: 0 auto 2.0rem;
}


#contents.service section .contents .spec > div{
	width: 100%;
}

#contents.service section .contents .spec > div h3{
	font-size: 1.4rem;
	color: #005bac;
	left: 1.6em;
	margin: 3.0rem auto 0!important;
	text-align: left;
}

#contents.service section .contents .spec > div > p{
	font-size: 1.1rem;
	line-height: 1.5em;
	font-weight: 500;
	text-align: left;
}

#contents.service section .contents .spec table{
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4em;
	text-align: center;
	margin-bottom: 1.0rem;
}

#contents.service section .contents .spec table th{
	font-weight: 300;
	padding: 1.0em 0;
	border: 1px solid #595757;
	background: #eaedf7;
}


#contents.service section .contents .spec table td{
	font-weight: 300;
	padding: 1.0em 0;
	border: 1px solid #595757;
	vertical-align: middle;
}

#contents.service section .contents .spec table td.w{
	padding: 0.5em 0!important;
}

#contents.service section .contents .coastal .spec table th{
}

#contents.service section .contents .coastal .spec table td{
	padding: 0.5em 0!important;
}

#contents.service section .contents .coastal table tr > th:first-child{
	width: 6.0em!important;
}

@media(max-width:860px) {
	#contents.service section .contents .division .article .image{
		width: 43%;
		max-width: 418px;
		padding-right: 6%;
	}
	#contents.service section .contents .international .article .image{
		width: 43%;
		max-width: 418px;
		padding-right: 0;
		padding-left: 6%;
	}
}


#contents.service section .contents .division .article .image img{
	width: 100%;
	height: auto;
	margin-bottom: 0.5rem;
}

#contents.service section .contents .division .article .inner{
	width: 47%;
	max-width: 374px;
}

#contents.service section .contents .division .article .inner .txt{
    font-size: 1.3rem;
    line-height: 1.6em;
}

#contents.service section .contents .division .article h4{
	font-size: 1.4rem;
	line-height: 1.6em;
	margin: 4.0rem 0 0.3rem;
	color: #005bac;
}

#contents.service section .contents .division .article.passenger h4{
	margin: 0 0 0.3rem;
}


#contents.service section .contents .division .article h4 span{
	color: #b5b5b6;
}

#contents.service section .contents .division .article h3{
	font-size: 1.5rem;
	line-height: 1.6em;
	margin-bottom: 1.0rem;
}

#contents.service section .contents .division .article .inner img{
	width: 100%;
	height: auto;
	margin-top: 5.0rem;
}

#contents.service section .contents .division .map{
	width: 100%;
	max-width: 740px;
	margin: 0 auto;
	text-align: center;
}

#contents.service section .contents .ferry .map{
	margin-top: -15.0rem;
	margin-bottom: 10.0rem;
}

#contents.service section .contents .coastal .map{
	margin-top: -30.0rem;
	margin-bottom: 5.0rem;
}


#contents.service section .contents .division .map img{
	width: 100%;
	height: auto;
	margin-top: 3.0rem;
}

#contents.service section .contents .international_img{
	width: 100%;
	max-width: 720px;
	margin: 5.0rem auto 18.0rem;
}

#contents.service section .contents .international_img img{
	width: 100%;
	height: auto;
}

#contents.service section .contents .pdf{
	margin-top: 2.0em;
	text-align: left;
}

#contents.service section .contents .pdf a{
	font-size: 1.2rem;
	display: inline-block;
	color: #005bac;
}


#contents.service section .contents .pdf a:first-child{
	margin-right: 1.0em;
}


#contents.service section .contents .pdf a:hover{
	opacity: 0.6;
}

/* 所有船舶一覧 */
#contents.ships{
    width: 100%;
    max-width: 980px;
	margin: 0 auto;
}

#contents.ships .type{
    width: 100%;
    max-width: 710px;
    height: auto;
    margin: 0 auto;
    padding-top: 9.0rem;
    margin-top: -9.0rem;
}

#contents.ships .chips, #contents.ships .roro, #contents.ships .zairai{
    padding-top: 9.0rem;
    margin-top: 3.0rem;
}

#contents.ships .type .ttl{
	width: 100%;
	display: inline-flex;
	justify-content: space-between;
    padding-top: 9.0rem;
    margin-top: -9.0rem;
}


#contents.ships .type .ttl h2{
	position: relative;
	width: 48%;
}

#contents.ships .chips .ttl h2{
	position: relative;
	width: 70%;
}

#contents.ships .type .ttl h2 .name{
	display: inline-block;
	font-size: 2.1rem;
	line-height: 1.0em;
	color: #005bac;
	padding: 0.1em 1.6em 1.6em 0;
	margin: 0.3em 0 1.0em;
	background-image: url(../images/ships_h2_back.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
}

#contents.ships .type .ttl h2 .sub{
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1.0em;
	color: #005bac;
	margin-left: -0.8em;
	top: 1.8em;
	position: absolute;
}

#contents.ships .type .ttl > div{
	width: 50%;	
}

#contents.ships .chips .ttl > div{
	width: 27%;	
}


#contents.ships .type .ttl > div table{
	width: 100%;
	margin-bottom: 1.0rem;
	background-image: url(../images/ships_teble_back.png);
	background-position: center center;
	background-repeat: repeat-x;
	background-color: #fff;
}

#contents.ships .roro .ttl > div table{
	margin-top: 3.6rem;
}

#contents.ships .type .ttl > div table th{
	font-size: 1.0rem;
	font-weight: 400;
	text-align: center;
	padding: 0.2em 0 0.5em;
	border-left: 1px solid #595757;
	border-right: 1px solid #595757;
}

#contents.ships .type .ttl > div table td{
	font-size: 1.0rem;
	text-align: center;
	padding: 0.5em 0 0.2em;
	border-left: 1px solid #595757;
	border-right: 1px solid #595757;
}

#contents.ships .type .image{
	width: 100%;
	display: inline-flex;
	justify-content: space-between;
	margin-bottom: 4.5rem;
}

#contents.ships .type .image img{
	width: 49.6%;
	height: auto;
}


#contents.ships .type .space{
	height: 5.0rem;
}


#contents.ships .zairai{
	display: flex;
	justify-content: space-between;
	padding-bottom: 0;
}

#contents.ships .zairai_b{
	padding-top: 2.0rem;
	padding-bottom: 10.0rem;
}


#contents.ships .zairai .ttl{
	width: 50%;
	max-width: 300px;
	display: block;
    padding-top: 9.0rem;
    margin-top: -9.0rem;
}


#contents.ships .zairai .ttl img{
	width: 100%;
	height: auto;
}

#contents.ships .zairai .ttl h2{
	position: relative;
	width: 100%;
}

#contents.ships .zairai .ttl > div{
	width: 100%;
}


/* 募集要項 */
#contents.recruit{
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0 auto;
}

#contents.recruit section .page_ttl{
	width: 100%;
	height: 95px;
	padding-top: 130px;
	background-image: url(../images/page_ttl_back.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	background-size: 100% 100%;
}


#contents.recruit section .page_ttl h1{
	font-size: 2.2rem;
	width: 12.0em;
	line-height: 1.0em;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background-image: url(../images/page_ttl_h1_back.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#contents.recruit section .page_ttl p{
	font-size: 1.3rem;
	line-height: 1.0em;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	margin: 1.7em auto 0;
}

#contents.recruit section .contents{
	width: 100%;
	max-width: 980px;
	height: auto;
	margin: 0 auto;
	padding-top: 8.0rem;
}

#contents.recruit section .contents h2{
	font-size: 1.8rem;
	line-height: 1.0em;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}

#contents.recruit section .contents table{
	width: 94%;
	max-width: 686px;
	margin: 38px auto 22px;
	font-size: 1.4rem;
	line-height: 1.5em;
}

#contents.recruit section .contents table th{
	width: 26%;
	font-weight: 400;
	background: #e6e6e6;
	border: 1px solid #595757;
	vertical-align: middle;
}

#contents.recruit section .contents table td{
	padding: 2.0em;
	padding-left: 3%;
	padding-right: 3%;
	border: 1px solid #595757;
	background: #fff;
	vertical-align: middle;
	width: auto;
}

#contents.recruit section .contents table td p{
	margin: 1.0em auto;
}

#contents.recruit section .contents > p{
	font-size: 1.2rem;
	line-height: 1.5em;
	text-align: center;
	width: 90%;
}

/* 社員インタビュー */
#contents.interview h1{
	text-align: center;
	font-size: 3.5rem;
	line-height: 0.8em;
	letter-spacing: 0.1em;
	font-weight: 100;
	margin-top: 5.8rem;
}

#contents.interview h1 span{
	font-size: 1.4rem;
}

#contents.interview hr{
	width: 55%;
	max-width: 540px;
	margin: 3.0rem auto 4.6rem;
	border: 1px dashed #727171;
}

#contents.interview .interview_btn{
	list-style: none;
	text-align: center;
}

#contents.interview .interview_btn li{
	display: inline-block;
	border-left: 1px solid #595757;
}

#contents.interview .interview_btn li:last-child{
	border-right: 1px solid #595757;
}


#contents.interview .interview_btn li a{
	display: block;
	color: #595757;
	font-size: 1.7rem;
	line-height: 1.7em;
	text-align: center;
	width: 140px;
}

#contents.interview .interview_btn li a:hover{
	opacity: 0.5;
}

#contents.interview .interview_link{
	width: 100%;
	margin: 4.5rem auto 8.6rem;
	display: inline-flex;
	justify-content: space-between;
}

#contents.interview .interview_link a{
	display: block;
	text-align: center;
}

#contents.interview .interview_link a div{
	width: 100%;
	height: auto;
	overflow: hidden;
}

#contents.interview .interview_link a div img{
	width: 100%;
	height: auto;
	transition-duration: 0.8s;
}

#contents.interview .interview_link a p.position{
	font-size: 1.7rem;
	line-height: 1.6em;
	font-weight: 500;
	color: #595757;
	letter-spacing: 0.1em;
	padding-top: 1.6rem;
}

#contents.interview .interview_link a p.name{
	font-size: 2.0rem;
	line-height: 1.2em;
	font-weight: 500;
	color: #595757;
	letter-spacing: 0.1em;
	padding-top: 0.4rem;
}

#contents.interview .interview_link a p.name_e{
	font-size: 1.4rem;
	padding-top: 0.6em;
	color: #595757;
}

#contents.interview .interview_link a:hover img{
	transform: scale(1.1);
	transition-duration: 1.8s;
}

#contents.interview .interview_link a:hover > p{
	opacity: 0.5;
}

#contents.interview article{
    padding-top: 9.0rem;
    width: 100%;
}

#contents.interview article .profile_area{
	width: 100%;
	max-width: 980px;
	display: flex;
	justify-content: space-between;
}

#contents.interview article.pro02 .profile_area{
	flex-direction: row-reverse;
}

#contents.interview article .profile_area .ph{
	width: 66%;
}

#contents.interview article .profile_area .ph img{
	width: 100%;
	height: auto;
}

#contents.interview article .profile_area .profile{
	width: 186px;
	margin: 0 auto;	
	padding-right: 44px;
}

#contents.interview article .profile_area .profile .logo{
	text-align: center;
	margin: 28px auto 20px;
}


#contents.interview article .profile_area .profile .logo img{
	width: 82px;
	height: auto;
}

#contents.interview article .profile_area .profile h3{
	font-size: 2.0rem;
	font-weight: 300;
	line-height: 1.8em;
	color: #fff;
	background: #005bac;
	padding-left: 0.5em;
}

#contents.interview article .profile_area .profile .name{
	font-size: 2.5rem;
	line-height: 1.0em;
	font-weight: 300;
	letter-spacing: 0.1em;
	padding-top: 2.0rem;
}

#contents.interview article .profile_area .profile .name span{
	font-size: 1.4rem;
}

#contents.interview article .profile_area .profile .position{
	font-size: 1.5rem;
	line-height: 1.0em;
	margin: 2.0rem auto 3.5rem;
}

#contents.interview article .profile_area .profile h4{
	font-size: 1.6rem;
	line-height: 1.3em;
	font-weight: 300;
	border-bottom: 1px solid #595757;
}

#contents.interview article .profile_area .profile > div{
	padding-top: 1.0em;
}

#contents.interview article .profile_area .profile > div p{
	font-size: 1.4rem;
	line-height: 1.5em;
	padding-bottom: 0.3em;
}

#contents.interview article > div.article{
	width: 100%;
	max-width: 792px;
	margin: 5.0rem auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;	
}

#contents.interview article > div:nth-child(3){
	flex-direction: row-reverse;
}

#contents.interview article > div.article .ph{
	width: 47%;
	margin-right: 3%;
}

#contents.interview article > div:nth-child(3) .ph{
	margin-right: 0;
	margin-left: 3%;
}


#contents.interview article > div.article .ph img{
	width: 100%;
	height: auto;
}

#contents.interview article > div.article .txt{
	width: 384px;
	padding-top: 0.5em;
}

#contents.interview article > div.article .txt h2{
	font-size: 2.1rem;
	line-height: 1.5em;
	font-weight: 300;
	letter-spacing: 0.1em;
	padding-left: 2.8em;
	margin-bottom: 2.0rem;
	position: relative;
}

#contents.interview article > div.article .txt h2:after{
	content: "　　";
	border-bottom: 1px solid #595757;
	position: absolute;
	top: -0.7em;
	left: 0;
}

#contents.interview article > div.article .txt p{
	font-size: 1.3rem;
	line-height: 1.6em;
}



/* 安全情報 */
#contents.safety{
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0 auto;
}

#contents.safety section .page_ttl{
	width: 100%;
	height: 95px;
	padding-top: 130px;
	background-image: url(../images/page_ttl_back.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	background-size: 100% 100%;
}


#contents.safety section .page_ttl h1{
	font-size: 2.2rem;
	width: 12.0em;
	line-height: 1.0em;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 0 auto;
	background-image: url(../images/page_ttl_h1_back.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#contents.safety section .page_ttl p{
	font-size: 1.3rem;
	line-height: 1.0em;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	margin: 1.7em auto 0;
}

#contents.safety section .contents{
	width: 100%;
	max-width: 980px;
	height: auto;
	margin: 0 auto;
	padding-top: 8.0rem;
}

#contents.safety section .contents .txt{
	font-size: 1.5rem;
	line-height: 1.8em;
	text-align: left;
	width: 94%;
	max-width: 710px;
	margin: 0 auto;
}

#contents.safety section .contents .pdf{
	font-size: 1.5rem;
	line-height: 1.8em;
	text-align: left;
	width: 94%;
	max-width: 710px;
	margin: 1.0rem auto 0;
}

#contents.safety section .contents .pdf a{
	text-decoration: underline;
}

#contents.safety section .contents .pdf a:hover{
	opacity: 0.5;
}


#contents.safety section .contents h2{
	font-size: 1.8rem;
	line-height: 1.0em;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: left;
	width: 94%;
	max-width: 710px;
/* 	margin: 8.0rem auto 3.0rem; */
	margin: 6.0rem auto 3.0rem;
}

#contents.safety section .contents > h2:first-child{
	margin: 0 auto 3.0rem;
}

#contents.safety section .contents ul{
	font-size: 1.5rem;
	line-height: 1.8em;
	text-align: left;
	width: 94%;
	max-width: 710px;
	margin: 0 auto 3.0em;
	padding-left: 3.0em;
	list-style: decimal;
}


#contents.safety section .contents ul li{
	margin-bottom: 0.5em;
}

footer{
	width: 100%;
	max-width: 980px;
	height: 270px;
	margin: 0 auto;
	background:url(../images/footer.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
}

footer .fotter_inn{
	width: 96%;
	height: 130px;
	margin: 0 auto;
	padding-top: 90px;
	display: flex;
	justify-content: space-between;
}

footer .fotter_inn .link{
	width: 182px;
	padding-right: 50px;
}

footer .fotter_inn .link a:hover{
	opacity: 0.5;	
}

footer .fotter_inn .link .logo img{
	width: 185px;
	height: auto;
}

footer .fotter_inn .link .contact{
	width: 160px;
	height: auto;
	margin-left: 6px;
	margin-top: 20px;
	display: block;
	background-color: #005bac;
	display: inline-block;
	transition-duration: 0.3s;
}

footer .fotter_inn .link .contact img{
	width: 100%;
	height: auto;
}

footer .fotter_inn .link .contact:hover{
	opacity: 1.0;
	background: #ff8000;
	transition-duration: 0.3s;
}

footer .fotter_inn .link .otf img{
	width: 144px;
	height: auto;
	margin-left: 6px;
	margin-top: 10px;
}

footer .fotter_inn .link .lang img{
	width: 83px;
	height: auto;
	margin-left: 6px;
	margin-top: 10px;
}

footer .fotter_inn .site_map{
	width: 570px;
	height: 150px;
	margin-right: 3%;
	display: flex;
	justify-content: space-between;
}

footer .fotter_inn .site_map div a{
	color: #231815;
}

footer .fotter_inn .site_map div a:hover{
	opacity: 0.5;
}

footer .fotter_inn .site_map div a p{
	font-size: 1.3rem;
	line-height: 1.2em;
}

footer .fotter_inn .site_map div a p span{
	font-family: 'Oswald', sans-serif;
	color: #005bac;
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

footer .fotter_inn .site_map div a p:hover{
	opacity: 0.5;
}


footer .fotter_inn .site_map div ul{
	margin-top: 10px;
}

footer .fotter_inn .site_map div:last-child ul{
	margin-top: 96px;
	margin-left: -50px;
}

footer .fotter_inn .site_map div li{
	font-size: 1.2rem;
	line-height: 1.8em;
	color: #231815;
	padding: 0;
	margin: 0;
	list-style: none;
}

footer .copyright{
	font-size: 0.9rem;
	text-align: left;
	padding-top: 6px;
	margin-left: 3%;
}


/* グローバルナビ */
#gnav{
}

#nav_toggle{
	display: none;
}

.slicknav_menu{
	display: none;
}

.menu {
	display: flex;
	height: 60px;
	margin: 0 auto;
}

.menu > li {
	width: 124px;
	height: 50px;
	text-align: center;
	border-left: 1px solid #231815;
	
}

.menu > li:nth-child(4){
	border-right: 1px solid #231815;
}

.menu > li a.nav_menu {
	width: 100%;
	height: 40px;
	padding: 5px 0;
	text-decoration: none;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
}

.menu > li a.nav_menu .ttl{
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	color: #231815;
}

.menu > li a.nav_menu .sub_ttl{
	font-family: 'Oswald', sans-serif;
	color: #005bac;
	font-weight: 500;
	font-size: 0.85rem;
	line-height: 2.0em;
	letter-spacing: 0.2em;
}


.menu > li li {
	height: 0;
	overflow: hidden;
	line-height: 2.6rem;
}

.menu li > ul.d_menu{
	padding-top: 12px;
}

@media screen and (min-width : 767px) {
	.menu > li > a{
	  display: inline-block;
	  -webkit-transition-duration: 0.3s;
	  transition-duration: 0.3s;
	  -webkit-transition-timing-function: ease-out;
	  transition-timing-function: ease-out;
	}

	.menu > li > a:hover, .menu > li.current > a , .menu > li.sel > a {
		background-image: url(../images/current.png);
		background-position: center top;
		background-repeat: repeat-x;
	}

	.menu li > ul.d_menu{
		width: 124px;
		padding: 13px 0;
		display: none;
	}

	.menu li:nth-child(3) > ul.d_menu {
		width: 200px;
		margin-left: -38px;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		padding-bottom: 20px;
		display: none;
	}

	.menu li:nth-child(3):hover > ul.d_menu{
		display: flex;
	}

	.menu li:nth-child(3):hover > ul.d_menu > li{
		height: 2.0rem;
	}

	.menu > li:hover > ul.d_menu{
		background-image: url(../images/gnav_menu_back.png);
		background-repeat: no-repeat;
		background-position: center top;
		display: block;
	}
	
	
	.menu li > ul.d_menu > li {
		background: #103f60;
		color: #fff;
		text-align: left;
	}
	
	.menu li:hover > ul.d_menu > li {
		height: 2.6rem;
		transition: 0.5s;
	}
	
	.menu li > ul.d_menu > li a{
		padding: 0.5em 0 0.5em 1.5em;
		color: #fff;
		font-size: 1.1rem;
		margin-left: 10px;
		background-image: url(../images/d_menu_off.png);
		background-repeat: no-repeat;
		background-position: left center;
	}
	
	.menu li > ul.d_menu > li p{
		padding: 0.5em 0;
		color: #fff;
		margin-left: 24px;
		font-weight: 600;
	}
	
	.menu li:nth-child(3) > ul.d_menu > li a{
		margin-left: 0px;
	}

	.menu li:nth-child(3) > ul.d_menu > li{
		width: auto;
		text-align: left;
		width: 40%;
	}

	.menu li:nth-child(3) > ul.d_menu > li:nth-child(3), .menu li:nth-child(3) > ul.d_menu > li:nth-child(5), .menu li:nth-child(3) > ul.d_menu > li:nth-child(10), .menu li:nth-child(3) > ul.d_menu > li:nth-child(13){
/* 		padding-right: 10%; */
	}
	.menu li:nth-child(3) > ul.d_menu > li:nth-child(2), .menu li:nth-child(3) > ul.d_menu > li:nth-child(4), .menu li:nth-child(3) > ul.d_menu > li:nth-child(7), .menu li:nth-child(3) > ul.d_menu > li:nth-child(9), .menu li:nth-child(3) > ul.d_menu > li:nth-child(12), .menu li:nth-child(3) > ul.d_menu > li:nth-child(14){
		margin-left: 24px;
	}
	
	.menu li:nth-child(3) > ul.d_menu > li:nth-child(7){
		width: 100%;
	}
	
	.menu li:nth-child(3) > ul.d_menu > li.vessels{
		display: block;
		width: 100%;
		margin-top: 0.8em;
	}

	.menu li:nth-child(3) > ul.d_menu > li.vessels:first-child{
		margin-top: 0;
	}

	.menu li:nth-child(3):hover > ul.d_menu > li.vessels{
		height: 2.6rem;
	}
	
	.menu li > ul.d_menu > li.vessels a {
		padding: 0.5em 0;
		color: #fff;
		margin-left: 24px;
		font-weight: 600;
	}

	.menu li > ul.d_menu > li a:hover {
	/* 	opacity: 0.7; */
		color: #fff100;
		background-image: url(../images/d_menu_on.png);
		background-repeat: no-repeat;
		background-position: left center;
	}

	.menu li > ul.d_menu > li.vessels a:hover {
		background-image: none;
	}


}

@media(min-width: 768px) and (max-width: 850px){
	.menu > li {
		width: 100px;
	}
	.menu li > ul.d_menu{
		margin-left: -12px;
	}
	.menu li:nth-child(3) > ul.d_menu {
		margin-left: -50px;
	}
}




/*
header .logo{
	position: absolute;
	left: 50px;
	top: 45px;
}
*/

.pc{
	display: block;
}

.sp{
	display: none;
}


/* 非公開設定 */
.contact_sp, .privacy_sp, .lang_sp, footer .contact, footer .privacy, footer .lang{
	display: none!important;
}
