@charset"UTF-8";

:root {
	--color-base-bg: #003fa3;
	--color-base-text: #1a1a1a;  
}

/**************************************
 * Common Styles
 **************************************/
html {
	font-size: 62.5%; /* 62.5%を指定すると「1.0 rem = 10px」 */
	box-sizing: border-box;
	scroll-padding-top: 200px;
	scroll-behavior: smooth;
	height: 100%;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	html {
		scroll-padding-top: 170px;
	}
}
@media screen and (max-width: 767px) {
	html {
		scroll-padding-top: 130px;
	}
}
body{
	font-family: 'Hiragino Kaku Gothic ProN','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ',Arial ,sans-serif;
	background-color: white;
	color: var(--color-base-text);
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	font-weight: 400;
	font-style: normal;
	line-height: 1.7;
	letter-spacing: 0.03em;
}
p{
	word-break:break-all;
	letter-spacing: 0.03em;
	line-height: 1.6;
}
hr {
	margin: 0;
	border-top:1px solid white;
	color: inherit;
}
img{
	vertical-align: bottom;
}
img.full{
	width:100%;
	height: auto;
}
a {
	text-decoration: none;
	cursor: pointer;
	color: inherit;
	background: 0 0;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	letter-spacing: 0.03em;
}
a:link{
	color: inherit;
	text-decoration: none;
	outline: none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}
a:focus,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
	outline: none;
}
a:hover{
	cursor: pointer;
	opacity: 0.8;
}
a.decoration{
	display: inline-block;
	border-bottom: 1px dashed #663333;
}
a img {
	border: none;
	text-decoration: none;
}
a.img-wrap{
	display: inline-block;
	line-height: 1;
	vertical-align: bottom;
}
a.img-wrap img,
a.img-wrap svg
{
	display: block;
	margin: 0;
	padding: 0;	
	vertical-align: bottom;
}

.container-full {
	position: relative;
	display: block;
	width:100%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.container-full {
	padding-right: 0px;
	}
}
.sr-text{
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* common font
============================================== */
strong {
	font-weight: bold;
	font-weight: 700;
}

/* common width
============================================== */
.wd960{width:100%;max-width:960px;margin-right: auto;margin-left: auto;}
.wd820{width:100%;max-width:820px;margin-right: auto;margin-left: auto;}
@media screen and (max-width: 767px) {
	.wd960{max-width:600px}
	.wd820{max-width:600px}
}

/* site
============================================== */
h1, h2, h3, h4, h5, h6{
	font-weight: normal;
	font-weight: 400;
}
.site-wrapper {
	height: 100%;
	width: 100%;
}
.site-container {
	display:block;
	margin: 0 auto;
	min-height: 100vh;
	width: 100%;
}
.site-content--wrapper {
	display:block;
	height: 100%;
	width: 100%;
}
.site-content--container {
	height: 100%;
	margin: 0 auto;
	position: relative;
	width: 100%;
	min-height:500px;
}

/* 
.top-bar
============================================== */
.top-bar{
	height:26px;
	background-color: white;
}
.top-bar p{
	height:100%;
}
.top-bar .txt{
	position: relative;
	font-size: 14px;
	line-height: 1;
	display: inline-block;
	padding-left:25px;
}
.top-bar .txt::before{
	position: absolute;
	display: inline-block;
	content: '';
	top:0;
	left:0;
	width:20px;
	height:13px;
	background-image: url("../img/icon-ship-small.svg");
	background-position: left top;
	background-size: 100%px auto;
}

/* header
============================================== */
header.site-header {
	position: sticky;
	background-color: var(--color-base-bg);
	color: white;
	height:72px;
	top: 0px;
	left: 0px;
	z-index: 99999;
}
.header-wrapper{
	position: relative;
	height:100%;
	width:100%;
	padding-bottom: 0px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	header.site-header {
		height:60px;
	}
}
@media screen and (max-width: 767px) {
	header.site-header {
		height:85px;
	}
}
header.site-header a {
	color: white;
}
.site-logo{
	display: inline-flex;
	position: relative;
	margin-bottom:16px;
	z-index: 2;
}
.site-logo a{
	display: inline-flex;
}
.site-logo img{
	width: 260px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.site-logo img{
		width: 200px;
	}
}
@media (max-width: 767px){
	.site-logo{
		width: 160px;
		top:15px;
		margin-bottom:0px;
	}
	.site-logo img{
		width: 160px;
	}
}

/* nav
============================================== */
.g_nav{
	margin-top: 13px;
	z-index: 1
}
.g_nav-items {
	border-bottom: none;
	height: 60px;
	overflow: visible;
	font-size: 1.7rem;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.g_nav-items {
		height: 50px;
		font-size: 1.5rem;
	}
}
.g_nav-item{
	overflow: visible;
	position: relative;
	height:100%;
	display: -ms-inline-flexbox;
	display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
	padding-left:20px;
	padding-right:20px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.g_nav-item{
		padding-left:14px;
		padding-right:14px;
	}
}
.g_nav-item .g_nav-label {
	display: inline-flex;
	position: relative;
	/*padding: 0 20px 0;*/
	cursor: pointer;
	line-height: 1.5;
}
.g_nav-sub-menu{
	position: relative;
	display: block;
	width:100%;
}
.g_nav-item.has-child .g_nav-label{
	width:100%;
	text-align: center;
	padding-right:30px;
}
.g_nav-item.has-child .g_nav-label::before {
	position: absolute;
	right: 0px;
	top: 3px;
	content: '';
	background-color: white;
	width:20px;
	height:20px;
	z-index: 3;
	cursor: pointer;
	border-radius: 50%;
}
.g_nav-item.has-child .g_nav-label::after {
	position: absolute;
	right: 6px;
	top:8px;
	border-bottom: 1px solid var(--color-base-bg);
	border-left: 1px solid var(--color-base-bg);
	content: '';
	display: block;
	height: 0.7rem;
	width: 0.7rem;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: .2s;
	transition: .2s;
	z-index: 3;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.g_nav-item.has-child .g_nav-label::before {
		width:17px;
		height:17px;
		top: 3px;
	}
	.g_nav-item.has-child .g_nav-label::after {
		height: 0.65rem;
		width: 0.65rem;
		right: 0.5rem;
		top:7px;
	}
}
.g_nav-item.has-child .g_nav-sub-items .g_nav-label::before,
.g_nav-item.has-child .g_nav-sub-items .g_nav-label::after {
	content:none;	
}
.g_nav-sub-items {
	padding:0 0 3px;
	position:absolute;
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	width: calc(100% + 40px);
	display: none;
	overflow: hidden;
	background-color: var(--color-base-bg);
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	text-align: left;
	top:59px;
	left:-20px;
	font-size: 15px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.g_nav-sub-items {
		top:49px;
		font-size: 13px;
	}
}
.g_nav-sub-items .g_nav-label{
	padding: 11px 0 13px;
	width:100%;
	text-align: left;
}
.g_nav-sub-item{
	position: relative;
	padding: 0 20px;
}
.g_nav-item .g_nav-sub-item::after{
	display: block;
	content: '';
	border-bottom: 1px solid white;
}
.g_nav-item .g_nav-sub-item:last-child::after{
	content: none;
}
.g_nav-item.has-child.hover ul.g_nav-sub-items{
	display: block;
	visibility:visible;
	opacity: 1;
}
.g_nav-btn-entry{
	background-color: #1a1a1a;
	height:72px;
	top:-12px;
	margin-left:2em;
}
.g_nav-btn-entry .g_nav-label{
	height:100%;
	display: flex;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.g_nav-btn-entry{
		background-color: #1a1a1a;
		height:60px;
		top:-10px;
	}
}
@media (max-width: 767px){
	.g_nav{
		margin-top: 17px;
	}
	.g_nav-items{
		-ms-flex-pack: center !important;
		justify-content: center !important;
		height: 42px;
		font-size: 1.5rem;
	}
	.g_nav-item{
		padding-left:12px;
		padding-right:12px;
	}
	.g_nav-item.has-child .g_nav-label{
		padding-right:0px;
	}
	.g_nav-item.has-child .g_nav-label::before,
	.g_nav-item.has-child .g_nav-label::after {
		content: none;
	}
	.g_nav-sub-items {
		display: none;
	}
	.g_nav-item.has-child.hover ul.g_nav-sub-items {
		display: none;
		visibility:hidden;
		opacity: 0;
	}
	.g_nav-btn-entry {
		position: absolute;
		top:12px;
		right:17px;
		height: 33px;
		z-index: 2;
		width: 158px;
		padding-left:0px;
		padding-right:0px;
		margin-left: 0px;
		text-align: center;
	}	
	.g_nav-btn-entry .g_nav-label {
		position: relative;
		width:100%;
		justify-content: center;
		padding-top: 0.2em;
		line-height: 1;
	}
}
@media (max-width: 374px){
	.g_nav-btn-entry {
		width: 114px;
	}
}

/* footer
============================================== */
footer{
	border-top:1px solid #333333;
	background-color: var(--color-base-bg);
	color: white;
	padding-top:52px;
	padding-bottom:20px;
}
footer a {
	color: white;
}
.footer-inner{
	width:100%;
}
.footer-nav-items{
	font-size: 17px;
}
.footer-nav-item{
	padding-left:17px;
	padding-right:7px;
	position: relative;
}
.footer-nav-item::before{
	position: absolute;
	display: inline-block;
	content: '';
	top:7px;
	left:0;
	width:10px;
	height:18px;
	background-image: url("../img/icon-nav-slash-white.svg");
	background-position: left top;
	background-size: 10px 18px;
}
.footer-nav-item:first-child{
	padding-left:0px;
}
.footer-nav-item:first-child::before{
	content: none;
}
.footer-content-wrapper{
	margin-top:62px;
}
.footer-logo{
	display: inline-block;
}
.footer-logo img{
	width: 268px;
}
.footer-sns-link{
	display: inline-block;
}
.footer-sns-link img{
	width: 30px;
}
.footer-content{
	width:100%;
}
.footer-copyright{
	margin-top:2em;
	width: 100%;
	font-size: 1.0rem;	
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	.footer-logo img{
		width: 200px;
	}
}
@media screen and (max-width: 767px) {
	footer{
		height: auto;
	}
	.footer-nav-items{
		width:100%;max-width:600px;margin-right: auto;margin-left: auto;
		font-size: 15px;
	}
	.footer-nav-item{
		display: inline-flex;
		width: 100%;
		padding-left: 0px;
		padding-right: 0px;
		border-bottom:1px solid white;
	}
	.footer-nav-item:first-child{
		border-top:1px solid white;
	}
	.footer-nav-item::before{
		content: none;
	}
	.footer-nav-label{
		display: inline-block;
		width:100%;
		line-height: 40px;
	}
	.footer-content-wrapper {
    margin-top: 38px;
	}
	.footer-logo{
		width: 100%;
		text-align: center;
	}
	.footer-logo a{
		display: inline-block;
	}
	.footer-logo img{
		width: 200px;
	}
	.footer-sns-links{
		width:100%;
		text-align: center;
	}
	.footer-sns-link{
		display: inline-block;
	}
	.site-footer .copyright{
		height:5.6em;
	}
}

/* main-visual
============================================== */
#main-visual,
#main-visual .main-visual--container{
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
}
#main-visual img{
	max-width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	-o-object-position: center;
	object-position: center;
	-o-object-fit: cover;
	object-fit: cover;
}
@media screen and (min-width: 1281px) {
	#main-visual img{
		aspect-ratio: 2 / 1;
	}
}
@media screen and (min-width: 961px) and (max-width: 1280px) {
	#main-visual img{
		aspect-ratio: 3 / 2;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#main-visual img{
		aspect-ratio: 3 / 2.5;
	}
}
@media screen and (max-width: 767px) {
	#main-visual img{
		aspect-ratio: 3 / 2.5;
	}
}

/* wave
============================================== */
[class*="bg-wave-"]{
	position: relative;
	padding-bottom: 182px;
	padding-top:87px;
}
[class*="bg-wave-"]::before{
	display: block;
	position: absolute;
	width:100%;
	height:182px;
	background-position: center 0;
	background-repeat: repeat-x;
	background-size: 2400px 428px;
	content: '';
	top:-180px;
	left:0px;
	z-index: 2;
}
#company[class*="bg-wave-"]{
	padding-bottom: 150px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	[class*="bg-wave-"]{
		position: relative;
		padding-bottom: 170px;
		padding-top:66px;
	}
	[class*="bg-wave-"]::before{
		height:128px;
		background-size: 1680px 286px;
		top:-126px;
	}
/*
	[class*="bg-wave-"]{
		position: relative;
		padding-bottom: 170px;
		padding-top:66px;
	}
	[class*="bg-wave-"]::before{
		height:121px;
		background-size: 1600px 300px;
		top:-119px;
	}
	[class*="bg-wave-"]{
		position: relative;
		padding-bottom: 170px;
		padding-top:66px;
	}
	[class*="bg-wave-"]::before{
		height:114px;
		background-size: 1500px 268px;
		top:-114px;
	}
*/
	#company[class*="bg-wave-"]{
		padding-bottom: 120px;
	}
}
@media screen and (max-width: 767px) {
/*	
	[class*="bg-wave-"]{
		position: relative;
		padding-bottom: 160px;
		padding-top:42px;
	}
	[class*="bg-wave-"]::before{
		height:70px;
		background-size: 900px 160px;
		top:-70px;
	}
*/
	[class*="bg-wave-"]{
		position: relative;
		padding-bottom: 126px;
		padding-top:45px;
	}
	[class*="bg-wave-"]::before{
		height:66px;
		background-size: 780px 140px;
		top:-64px;
	}
	#company[class*="bg-wave-"]{
		padding-bottom: 100px;
	}
}
.bg-wave-intro{
	background-color: white;
}
.bg-wave-intro::before{
	background-image:url("../img/bg-wave-intro.svg?ver=4");
}
.bg-wave-blue{
	background-color: #cfe4fa;
}
.bg-wave-blue::before{
	background-image:url("../img/bg-wave-blue.svg?ver=4");
}
.bg-wave-white{
	background-color: white;
}
.bg-wave-white::before{
	background-image:url("../img/bg-wave-white.svg?ver=4");
}

/* animation
============================================== */
.cover,
.cover_fast{
  position: relative;
}
.cover::after,
.cover_fast::after{
  content: "";
  display: block;
  position: absolute;
  background: white;
  width: 100%;
  height: 103%;
  top:-1%;
  right:0;
  transition-property: width;
  transition-duration: 1.1s;
  transition-delay: .5s;
}
.cover_fast::after{
  transition-duration: .8s;
  transition-delay: 0;
}
.cover.show::after,
.cover_fast.show::after{
  width: 0;
}
.fade_fast-list .fade-list-item,
.fade_fast,
.fade-list .fade-list-item,
.fade{
  opacity: 0;
  transition-duration: 0.26s;
  transition-property: opacity;
}
.fade-list .fade-list-item,
.fade{
  transition-duration: 1s;
}
.fade_fast-list .fade-list-item.show,
.fade-list .fade-list-item.show,
.fade_fast.show,
.fade.show{
  opacity: 1;
}

/* headding
============================================== */
[class*="h-type-"] .txt{
	display: inline-block;
}
.h-type-1{
	display: block;
	width: 100%;
	text-align: center;
}
.h-type-1 img{
	height: 69px;
	width:auto;
}
.h-type-2 img{
	height: 52px;
	width:auto;
}
#photo-gallary .h-type-2{
	position: relative;
	padding-bottom:21px;
	width:100%;
}
#photo-gallary .h-type-2::after{
	display: block;
	position: absolute;
	width:102px;
	height:7px;
	background-position: top left;
	background-repeat:no-repeat;
	background-size: 100% auto;
	background-image:url("../img/icon-dot-line.svg");
	content: '';
	bottom:0px;
	left:calc(50% - 51px);
	z-index: 2;
}
.h-type-3{
	width:100%;
	font-size: 35px;
	text-align: center;
	padding-bottom:64px;
}
.header-title{
	margin-top: 1.2em;
	font-size: 19px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.header-lead{
	margin-top: 0.8em;
}
@media screen and (max-width: 767px) {
	.h-type-1 img{
		height: 47px;
	}
	.h-type-2 img{
		height: 34px;
	}
	.h-type-2 .txt:last-child{
		margin-top:6px;
	}
	#faq .h-type-2 img {
		height: 43px;
	}
	.h-type-3{
		font-size: 25px;
    font-weight: bold;
		padding-bottom:40px;
	}
	#schedule .header-lead {
    margin-top: 0.1em;
	}
}

/* link-btn
============================================== */
[class*="link-btn-"]{
	position: relative;
	display: inline-block;
	width: 187px;
	line-height :50px;
	padding-left:20px;
}
[class*="link-btn-"]::after{
	display: block;
	position: absolute;
	width:36px;
	height:8px;
	background-position: top left;
	background-repeat:no-repeat;
	background-size: 36px 8px;
	content: '';
	top:calc(50% - 4px);
	right:1em;
	z-index: 2;
}
.link-btn-blue{
	border:2px solid #003fa3;
	background-color: white;
	color: #003fa3;
}
.link-btn-blue .txt{
	color: #003fa3;
}
.link-btn-black{
	border:none;
	background-color: black;
}
.link-btn-black .txt{
	color: white;
}
.link-btn-blue::after{
	background-image:url("../img/icon-arrow-r-blue.svg");
}
.link-btn-black::after{
	background-image:url("../img/icon-arrow-r-white.svg");
}

/* table
============================================== */
.table{
	width:100%;
	font-size: 1.5rem;
}
.table .tr{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	border-bottom: 1px solid #cfe4fa;
  min-height: 65px;
}
.table .tr:first-child{
	border-top: 1px solid #cfe4fa;
}
.table .th{
  display: -ms-flexbox;
  display: flex;
	width: 200px;
	max-width: 200px;
	-ms-flex: 0 0 200px;
	flex: 0 0 200px;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-pack: center;
  justify-content: center;  
  align-items: center;
  font-weight: bold;
  font-weight: 700;
  padding:1em;
  background-color: #b7d2ef;
}
.table .td{
  display: -ms-flexbox;
  display: flex;
	-ms-flex: 0 0 calc(100% - 200px);
	flex: 0 0 calc(100% - 200px);
	width: calc(100% - 200px);
	max-width: calc(100% - 200px);
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  align-items: center;
  padding:1em;
  background-color: white;
}
.table .tr{
	border-bottom: 1px solid #a5cdfa;
}
.table .tr:first-child{
	border-top: none;
}
@media screen and (max-width: 767px) {
  .table .tr{
    border-bottom: none;
  }
  .table .tr:first-child{
    border-top: none;
  }
  .table .th{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .table .td{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}

/* intro
============================================== */
#intro .text-become-fisherman{
	position: relative;
	height:0px;
}
#intro .text-become-fisherman h2{
	display: inline-block;
	position: absolute;
	top: -180px;
	left: 16px;
	z-index: 3;
}
#intro .text-become-fisherman img{
	width: 664px;
	/*transform: rotate(-1deg);*/
}
@media screen and (min-width: 961px) and (max-width: 1280px) {
	#intro .text-become-fisherman img{
		width: 664px;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#intro .text-become-fisherman{
		height:20px;
	}	
	#intro .text-become-fisherman h2{
		top: -131px;
		margin-left:10px;
	}
	#intro .text-become-fisherman img{
		width: 580px;
	}
}
@media screen and (max-width: 767px) {
	#intro .text-become-fisherman{
		height:auto;
	}
	#intro .text-become-fisherman h2{
		top: -80px;
	}
	#intro .text-become-fisherman img{
		width: 100%;
		max-width:300px;
	}
	/* transform: translate(0%, -7%); */
}
#intro .desc-text p{
	font-size: 1.7rem;
	line-height: 2.5;
	padding-left: 1.3em;
}
#intro .summary{
	position: relative;
}
#intro .summary::before{
	display: block;
	aspect-ratio: 400 / 80;
	width:100%;
	height: auto;
	content: '';
}
#intro .summary h3{
	display: inline-block;
	width:100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;	
}
#intro .summary ul{
	background-color: #eeeff1;
	padding:28px 30px 50px;
}
#intro .summary li{
	width:100%;
	position: relative;
	padding-left:1.1em;
}
#intro .summary li::before{
	position: absolute;
	content: '';
	width:11px;
	height:11px;
	background-color: black;
	border-radius: 50%;
	left:0px;
	top: 0.47em;
	z-index: 1;
}
#intro .summary li:first-child::before{
	top: 0.7em;
}
#intro .summary strong.marker{
	font-weight: normal;
	font-size:19px;
	background:linear-gradient(transparent 75%, #fff349 0%);
}
#intro .summary .link-btn-blue{
	position: absolute;
	bottom:-25px;
	right:16px;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	#intro .desc-text p{
		font-size: 1.5rem;
		line-height: 2;
		padding-left: 0;
	}
}

/* about
============================================== */
#about .fleet{
	margin-top: 65px;
	position: relative;
	border: 2px solid black;
	padding:40px 36px;
}
#about .fleet-title{
	position: absolute;
	display: inline-block;
	font-size:19px;
	font-weight: bold;
	top:-12px;
	line-height: 24px;
	letter-spacing: 0.3em;
	background-color: #cfe4fa;
}
#about .fleet-title .txt{
	display: inline-block;
	position: relative;
	text-align: center;
	padding-left:calc(0.3em + 20px);
	padding-right:calc(20px);
	width: 100%;
	height: 100%;
}
#about .fleet-title .txt::before,
#about .fleet-title .txt::after{
	position: absolute;
	content: '';
	display: block;
	width:18px;
	height: 24px;
	background-position: top left;
	background-repeat:no-repeat;
	background-size: 18px 24px;
	top:0;
}
#about .fleet-title .txt::before{
	background-image:url("../img/icon-brackets-l.svg");
	left:0;
}
#about .fleet-title .txt::after{
	background-image:url("../img/icon-brackets-r.svg");
	right:0;
}
#about .ship-type.row{
	margin-right: -36px;
	margin-left: -36px;
}
#about .ship-type > li{
	padding-right: 18px;
	padding-left: 18px;
	display: -ms-flexbox !important;
	display: flex !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}
#about .ship-type > li .ship-type-container{
	text-align: center;
	width:130px;
}
#about .ship-type figure{
	display: inline-block;
}
#about .ship-type h5{
	text-align:center;
	font-size:16px;
	font-weight: bold;
	margin-top: 0.2em;
}
#about .ship-type p{
	margin-top: 0.2em;
	text-align:left;
	line-height: 1.4;
}
#about .method-list li{
	margin-top:70px;
}
#about .method-list li [class*="c-wrapper-"] {
}
#about .method-list li .c-wrapper-2{
	padding-top:23px;
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-pack: center !important;
	justify-content: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}
#about .method-image-wapper{
	padding-top:23px;
	padding-left:30px;
	position: relative;
	display: inline-block;
	width:100%;
	justify-content: flex-end;
	overflow: visible;
}
#about .method-image-wapper .number{
	position: absolute;
	display: inline-block;
	width:90px;
	top:0;
	left:0;
}
#about .method-image-wapper .schema{
}
#about .method-image-wapper .schema img{
	/*width:380px;*/
}
#about .method-text-wapper{
	display: inline-block;
	width:100%;
	max-width:350px;
}
#about .method-text-wapper h4{
	font-size:23px;
	font-weight: bold;
}
#about .method-text-wapper p{
	margin-top:1.5em;
	font-size:17px;
	line-height: 1.64;
}
@media screen and (max-width: 767px) {
	#about .method-list li {
		margin-top: 60px;
	}
	#about .method-image-wapper .number{
		width:90px;
	}	
	#about .method-image-wapper{
		padding-right:30px;
	}	
	#about .method-text-wapper{
		padding-left:8px;
		padding-right:12px;
	}
	#about .method-text-wapper p {
		margin-top: 0.8em;
		font-size: 16px;
	}
}


/* instagram
============================================== */
#instagram .section-head .lead{
	margin-top:16px;
}
#instagram .last-update{
	font-size: 12px;
	padding :0.55em 1.2em 0.55em;
	border: 1px solid black;
	display: inline-block;
	border-radius: 100vh;
	line-height: 1;
}
#instagram .last-update .label{
	display: inline-block;
	position: relative;
	padding-right:19px;
}
#instagram .last-update .label::after{
	content: '';
	position: absolute;
	right:2px;
	top:-1px;
	display: block;
	width:15px;
	height: 15px;
	background-position: top left;
	background-repeat:no-repeat;
	background-size: 15px auto;	
	background-image:url("../img/icon-arrow-r-circle.svg");
}
#instagram .slide-container {
	display: block;
	position: relative;
	width: calc(100% - 100px);
	margin: 0 auto;
}
#instagram .slider-sns img{
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	-o-object-position: center;
	object-position: center;
	-o-object-fit: cover;
	object-fit: cover;
}
#instagram .slider-sns .slick-slide{
	padding-left:27px;
	padding-right:27px;
}
#instagram .slide-wrap{
	position: relative;
}
#instagram .slider-arrows .button-arrow{
	cursor: pointer;
	position: absolute;
	width:40px;
	height:52px;
	top: calc(50% - 26px);
	background-position: top center;
	background-repeat:no-repeat;
	background-size: 17px 52px;
}
#instagram .slider-arrows .button-arrow:hover {
	opacity: 0.8;
}
#instagram .slider-arrows .button-arrow.prev {
	left:-50px;
	background-image:url("../img/icon-arrow-l-border.svg");
}
#instagram .slider-arrows .button-arrow.next {
	right:-50px;
	background-image:url("../img/icon-arrow-r-border.svg");
}
@media screen and (min-width: 1071px) {
	#instagram .slide-container {
		width: 100%;
	}
}
@media screen and (min-width: 768px) and (max-width: 1070px) {
	#instagram .slider-sns .slick-slide{
		padding-left:12px;
		padding-right:12px;
	}
}
@media screen and (max-width: 767px) {
	#instagram .slider-sns .slick-slide{
		padding-left:0px;
		padding-right:0px;
	}
}

/* schedule
============================================== */
#schedule .days > .day{
	margin-top:37px;
}
#schedule .days .day-title{
	font-size: 26px;
	line-height: 1;
}
#schedule .timeline {
  position: relative;
  margin-top: 36px;
	padding-bottom: 26px;
  width: 100%;
  overflow: hidden;
  height: auto;
  padding: 0px;
  list-style-type: none;
}
#schedule .timeline::after {
	position: absolute;
	left: calc(50% - 1px);
	top:10px;
	display: block;
	height: calc(100% - 20px);
	width:2px;
	background-color: #1a1a1a;
	content: '';
	z-index: 1;
}
#schedule .event {
	position:relative;
	text-align:center;
	float: right;
	clear: right; 
	width: 50%;
	/*margin: 1em 2.5%;*/
	margin-top:50px;
	list-style-type: none;
	display: block;
	/*padding: .4em;*/
	padding-top:32px;
	z-index: 15;    
	text-decoration: none;
	background-color: transparent;
	-webkit-transition: background .15s linear;
	-moz-transition: background .15s linear;
	-ms-transition: background .15s linear;
	-o-transition: background .15s linear;
	transition: background .15s linear;
	padding-left:5%;
}
#schedule .event:first-child{
	margin-top:0!important;
}
#schedule .event.left{
	padding-right:5%;
	padding-left:0px;
}
#schedule .event img {
	margin-top: 10px;
	max-width: 100%;
}
#schedule .event:after {
	display: block;
	content: '';
	height: 20px;
	width: 20px;
	background-color: #1a1a1a;
	border-radius: 50%;
	position:absolute;
	left: -10px;
	top: 0;
	z-index: 3;
}
#schedule .event.left:after {
	right: -10px;
	left: auto;
}
#schedule .event:before {
	display: block;
	content: '';
	height: 1px;
	width: 5%;
	border-bottom: 1px dashed #1a1a1a;
	position:absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
}
#schedule .event.left:before {
	right: 10px;
	left: auto;
}
#schedule .event-inner{
	position: relative;
	display: inline-block;
	width:100%;
	height:100%;
	text-align: left;
}
#schedule .event-items > li{
	position: relative;
	display: inline-block;
	width:100%;
	height:100%;
	background-color: white;
	padding:26px 34px;
	margin-top:11px;
}
#schedule .event-items > li:first-child{
	margin-top:0px;
}
#schedule .event-items h4{
	font-weight: bold;
	color:#003fa3;
	font-size: 19px;
}
#schedule .event-items p{
	
}
#schedule .event .time{
	display: inline-block;
	position: absolute;
	left: calc(10% - 3px);
	top: -7px;
	font-size: 21px;
}
#schedule .event.left .time{
	right:calc(10% - 3px);
	left: auto;
}
#schedule .event.left {
	float: left;
	clear: left;
	margin-top:2em;
}
#schedule .event:last-child .omission{
	position: absolute;
	left:-10px;
	top:20px;
	display: block;
	width:20px;
	height: 100%;
	background-color: #cfe4fa;
	z-index: 4;
}
#schedule .event.left:last-child .omission{
	right:-10px;
}
#schedule .day:last-child .timeline{
	padding-bottom:50px;
}
#schedule .day:last-child .event:last-child .omission{
	position: absolute;
	left:-100px;
	top:0px;
	display: block;
	width:200px;
	height: 100%;
	background-color:transparent;
	z-index: 4;
}
#schedule .day:last-child .event.left:last-child .omission{
	right:-100px;
}
#schedule .day:last-child .event:last-child .omission .inner{
	text-align: left;
	content: '';
	position: relative;
	display: block;
	height:calc(100% + 50px);
	width:100%;
	background-position-x: center;
	background-position-y: bottom;
	background-repeat:no-repeat;
	background-size: 46px 22px;	
	background-image:url("../img/icon-omission.svg");
	z-index: 5;
}
#schedule .day:last-child .event:last-child .omission .inner .txt{
	position: absolute;
	left:0;
	bottom:1px;
	display: inline-block;
	width:100%;
	height: auto;
	background-color:transparent;
	z-index: 6;
	font-size: 21px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	#schedule .days > .day {
		margin-top: 50px;
	}
	#schedule .days .day-title {
    font-size: 20px;
		font-weight: bold;
	}
	#schedule .timeline::after {
		left: 20px;
	}	
	#schedule .event{
		float: none;
		width: 100%;
		padding-left: 15%;
	}
	#schedule .event.left {
		float: none;
		padding-right: 0px;
    padding-left: 15%;
	}
	#schedule .event:after {
		left: 10px;
	}	
	#schedule .event.left:after {
		left: 10px;
		right: auto;
	}	
	#schedule .event:before {
		left: 30px;
	}	
	#schedule .event.left:before {
		left: 30px;
		right: auto;
	}
	#schedule .event .time {
		left: calc(15% - 3px);
	}
	#schedule .event.left .time {
		left: calc(15% - 3px);
		right: auto;
	}
	#schedule .event:last-child .omission {
		left: 0px;
		width: 40px;
	}
	#schedule .day:last-child .event:last-child .omission {
		left: 0px;
	}
	#schedule .day:last-child .event:last-child .omission .inner{
		padding:20px;
		height:calc(100% + 50px);
		background-position-x: left;
		background-size: 42px 23px;	
	}
	#schedule .day:last-child .event:last-child .omission .inner .txt {
		left: 50px;
	}
}

/* faq
============================================== */
#faq .section-head .title{
	font-size: 19px;
	font-weight: bold;
	color:#003fa3;
	margin-top:4px;
	line-height: 1.46;
}
#faq .section-head .lead{
	margin-top:15px;
	line-height: 1.46;
}
#faq .photo-wrapper{
	position: relative;
	display:flex;
	aspect-ratio: 365 / 193;
	width:100%;
	height: auto;
	max-height:193px;
}
#faq .photo-wrapper img{
	position: absolute;
	left:0;
	display: inline-flex;
	z-index: 3;
	height:100%;
	width: auto;
	border-radius: 50%;
}
#faq .photo-wrapper .name-circle{
	/*margin-left:-21px;*/
	position: absolute;
	right:0;
	z-index: 2;
	aspect-ratio: 1 / 1;
	height:100%;
	width:auto;
	background-image: url("../img/bg-ships-captain-profile@2x.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;	
}
#faq .accordion-head{
	margin-top:34px;
	line-height: 58px;
	position: relative;
	display: inline-block;
	font-size: 23px;
	text-align: center;
	color: white;
	width:100%;
	background-color: #003fa3;
	cursor: pointer;
}
#faq .accordion-head::after{
	content: '';
	display: block;
	position: absolute;
	top:calc(50% - 13px);
	right:22px;
	height:26px;
	width:26px;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;	
	z-index: 1;
	background-image: url("../img/icon-arrow-circle.svg");
	transform: rotate(180deg);
}
#faq .accordion-head.active::after{
	transform: rotate(0deg);
}
#faq .accordion-body{
	padding-top:14px;
	display: block;
	max-width:714px;
	margin-left:auto;
	margin-right:auto;
}
#faq .accordion-body li{
	padding: 21px 8px 21px 17px;
	border-bottom: 1px solid #5f5f5f;
}
#faq .accordion-body li:last-child{
	border-bottom: none;
}
#faq .question{
	position: relative;
	min-height:76px;
	padding-left:53px;
	display: -ms-flexbox !important;
	display: flex !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
	-ms-flex-align: center !important;
	align-items: center !important;
	line-height: 1.46;
	font-size: 19px;
	font-weight: bold;
	color:#003fa3;
}
#faq .question::before{
	content: '';
	display: block;
	position: absolute;
	top:calc(50% - 17px);
	left:0;
	height:32px;
	width:28px;
	background-image: url("../img/icon-question.svg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;	
	z-index: 1;
}
#faq .answer{
	padding-left:53px;
}
@media screen and (max-width: 767px) {
	#faq .section-head .title{
		margin-top:13px;
	}
	#faq .photo-wrapper {
		display: inline-flex;
		aspect-ratio: 365 / 193;
		width: 280px;
		padding-bottom: 30px;
	}
	#faq .photo-wrapper img{
		height:145px;
	}
	#faq .photo-wrapper .name-circle {
		font-size: 13px;
    padding-left: 0.5em;
		height:145px;
		width:145px;
		aspect-ratio: auto;

	}
	#faq .accordion-head {
		margin-top: 30px;
		line-height: 50px;
		font-size: 20px;
		font-weight: bold;
	}
	#faq .question{
		padding-left: 47px;
	}
	#faq .answer {
    padding-left: 47px;
	}
}

/* voice
============================================== */
#staff-voice .wd960.container-fluid{
	padding-right: 20px;
	padding-left: 20px;
}
#staff-voice .staff-list{
	margin-right: -20px;
	margin-left: -20px;
}
#staff-voice .staff-list > li{
	margin-top:49px;
	padding-right: 20px;
	padding-left: 20px;
}
@media screen and (max-width: 959px) {
	#staff-voice .wd960.container-fluid{
		padding-right: 16px;
		padding-left: 16px;
	}
	#staff-voice .staff-list{
		margin-right: -16px;
		margin-left: -16px;
	}
	#staff-voice .staff-list > li {
		padding-right: 16px;
		padding-left: 16px;
	}
}

#staff-voice .staff-list > li > .row{
	height:100%;
}
#staff-voice .staff-list .staff-container{
	position: relative;
	height:100%;
	background-color:white;
  -webkit-filter:drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
  -ms-filter:bodropx-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
	overflow: visible;
	padding-bottom:30px;
}
#staff-voice .staff-list .staff-container::after {
  content: "";
	position: absolute;
	bottom:-28px;
	right:14%;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 35px 28px 0 0px;
	border-color: #fff transparent transparent transparent;
	z-index: 3;
	transform: rotate(11deg);
}
#staff-voice .profile{
	padding: 50px 30px 0px 25px;
}
#staff-voice .profile ul{
	line-height: 1.46;
}
#staff-voice .profile ul li{
	border-bottom:1px solid #5f5f5f;
	padding-top:14px;
	padding-bottom:11px;
}
#staff-voice .profile ul li span.space{
	display: inline-block;
	width: 10em;
}
#staff-voice .profile ul li:last-child{
	border-bottom:none;
	padding-bottom:7px;
}
#staff-voice .profile .name{
	margin-top:0.2em;
	line-height: 1.2;
	font-size: 19px;
}
#staff-voice .profile .age{
	font-size: 0.85em;
}
#staff-voice .profile .ruby{
	font-size: 13px;
	font-style: italic;
	color: #5f5f5f;
}
#staff-voice .voice{
	padding:29px 33px 0px;
}
#staff-voice .voice h4{
	width:100%;
	color: #003fa3;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.4;
}
#staff-voice .voice p{
	width:100%;
	margin-top:1em;
}
@media screen and (max-width: 767px) {
	#staff-voice .profile{
		padding: 31px 12px 0px;
		font-size: 1.4rem;
	}
	#staff-voice .profile ul li{
		padding-top:8px;
		padding-bottom:6px;
	}
	#staff-voice .profile .name{
		font-size: 15px;
	}
	#staff-voice .profile .ruby{
		font-size: 10px;
	}
	#staff-voice .voice {
		padding: 25px 20px 0px;
	}
}

/* photo gallery
============================================== */
#photo-gallary .wd960.container-fluid{
	padding-right: 22px;
	padding-left: 22px;
}
#photo-gallary .galleries{
	margin-top:56px;
	margin-right: -22px;
	margin-left: -22px;
}
#photo-gallary .galleries li{
	padding-bottom:44px;
	padding-right: 22px;
	padding-left: 22px;
}
@media screen and (max-width: 959px) {
	#photo-gallary .wd960.container-fluid{
		padding-right: 16px;
		padding-left: 16px;
	}
	#photo-gallary .galleries{
		margin-top:45px;
		margin-right: -16px;
		margin-left: -16px;
	}
	#photo-gallary .galleries li{
		padding-bottom:32px;
		padding-right: 16px;
		padding-left: 16px;
	}
}
@media screen and (max-width: 767px) {
	#photo-gallary .galleries{
		margin-top:45px;
		margin-right: -4px;
		margin-left: -4px;
	}
	#photo-gallary .galleries li{
		padding-bottom:8px;
		padding-right: 4px;
		padding-left: 4px;
	}
}

/* recruit
============================================== */
#recruit .not-recruiting{
	font-weight: bold;
	color:#e8383d;
}
#recruit .recruit_link{
	margin-top:85px;
}
#recruit .recruit_link li{
	width:190px;
}
#recruit .recruit_link li a{
	display: inline-block;
}
#recruit .recruit_link li img{
	width:190px;
}
@media screen and (max-width: 767px) {
	#recruit .recruit_link{
		margin-top:40px;
	}
}

/* entry
============================================== */
#entry{
	padding-top:140px;
}
#entry .table .th{
	width: 240px;
	max-width: 240px;
	-ms-flex: 0 0 240px;
	flex: 0 0 240px;
  background-color:transparent;
  justify-content: flex-start;  
}
#entry .table .td{
	-ms-flex: 0 0 calc(100% - 240px);
	flex: 0 0 calc(100% - 240px);
	width: calc(100% - 240px);
	max-width: calc(100% - 240px);
  background-color:transparent;
}
@media screen and (max-width: 767px) {
	#entry{
		padding-top:100px;
	}
	#entry .table .th{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		font-weight: 600;
	}
	#entry .table .td{
		border-left: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;	
	}	
}
#entry .table .tr:last-child{
	border-bottom: none;
}
#entry .table .td .wpcf7-form-control-wrap {
	width:100%;
}
#entry .table .td input{
	width:100%;
	height: 44px;
	box-sizing: border-box;
	border: none;
	padding-left: 1em;
	padding-right: 1em;
	font-size: 14px;
	-webkit-appearance: none;
}
#entry .table .td textarea{
	width:100%;
	font-size: 16px;
	box-sizing: border-box;
	border: none;
	padding:1em;
	-webkit-appearance: none;
}
#entry .table .td select{
  width:100%;
  height: 44px;
	font-size: 16px;
  background-color: #fff;
  border-width: 0px;
  border-style:none;
  border-color:transparent;
  outline: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
	padding-left: 1em;
	padding-right: 1em;
}
#entry .table .td .wpcf7-form-control-wrap > option{
  background-color: #fff;
  border-width: 0px;
  border-style:none;
  border-color:transparent;
  border-radius: 0;
}
#entry .submit-btn{
	padding-top:36px; 
}
#entry .submit-btn input[type="submit"] {
	width: 200px;
	position: relative;
	display: inline-block;
	background-color: black;
	color: #fff;
	font-size: 16px;
	line-height: 54px;
	text-align: center;
	appearance: none;
	-webkit-appearance: none;
	font-weight: 500;
	letter-spacing: 0.5em;
	border-width: initial;
	border-style: none;
	border-color: initial;
	border-image: initial;
	padding:0;
	cursor: pointer;
}
#entry .txt-required{
	display:inline-block;
	margin-left:0.3em;
}
@media screen and (max-width: 767px) {
	#entry .table .th{
		padding:0.5em;
		padding-bottom:0;
	}
	#entry .table .td{
		padding:0.5em;
		padding-bottom:0.8em;
	}
	#entry .submit-btn{
		padding-top:30px; 
	}
}
#entry .wpcf7-spinner{
	display: none;
}

/* company
============================================== */
#company .table-wrapper{
	display: inline-block;
	width:100%;
	max-width:360px;
}
#company .table-wrapper .name{
	font-size: 19px;
	padding-left:0.8em;
	font-weight: bold;
	text-align: left;
}
#company .gmap{
	display: inline-block;
	width:100%;
	max-width:340px;
	height:340px;
}
#company table{
	margin-top:8px;
	border-spacing: 0;
	width:100%;
	line-height: 1.6;
}
#company table th{
	font-weight: normal;
}
#company table th,
#company table td{
	vertical-align: middle;
	border-bottom: 1px solid #5f5f5f;
	padding: 8px 1em;
	text-align: left;
}
@media screen and (max-width: 767px) {
	#company .table-wrapper{
		width:100%;
		max-width:none;
	}
	#company .gmap{
		width:100%;
		max-width:none;
	}	
	#company table th{
		width: 6.5em;
	}
}





