/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}



/*============================

	ブレイクポイント

============================*/

@media (max-width: 1100px) {}
@media (max-width: 991px) {}
@media (max-width: 767px) {}
@media (max-width: 479px) {}

@media (min-width: 480px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}


@media (min-width: 768px) {.hide-lg {display: none;}}
@media (max-width: 767px) {.hide-sm {display: none;}}


/*============================

	汎用クラス

============================*/

.mt-0  {margin-top: 0px!important;}
.mt-5  {margin-top: 5px!important;}
.mt-10 {margin-top: 10px!important;}
.mt-15 {margin-top: 15px!important;}
.mt-20 {margin-top: 20px!important;}
.mt-25 {margin-top: 25px!important;}
.mt-30 {margin-top: 30px!important;}
.mt-35 {margin-top: 35px!important;}
.mt-40 {margin-top: 40px!important;}
.mt-45 {margin-top: 45px!important;}
.mt-50 {margin-top: 50px!important;}
.mt-100 {margin-top: 100px!important;}
.mt-1em {margin-top: 1em!important;}
.mt-2em {margin-top: 2em!important;}
.mt-3em {margin-top: 3em!important;}

.mb-0  {margin-bottom: 0px!important;}
.mb-5  {margin-bottom: 5px!important;}
.mb-10 {margin-bottom: 10px!important;}
.mb-15 {margin-bottom: 15px!important;}
.mb-20 {margin-bottom: 20px!important;}
.mb-25 {margin-bottom: 25px!important;}
.mb-30 {margin-bottom: 30px!important;}
.mb-35 {margin-bottom: 35px!important;}
.mb-40 {margin-bottom: 40px!important;}
.mb-45 {margin-bottom: 45px!important;}
.mb-50 {margin-bottom: 50px!important;}
.mb-1em {margin-bottom: 1em!important;}
.mb-2em {margin-bottom: 2em!important;}
.mb-3em {margin-bottom: 3em!important;}


.mt-lg {
	margin-top: 80px;
}
@media (max-width: 767px) {
	.mt-lg {
		margin-top: 50px;
	}
}

.font-sans  {font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;}
.font-serif {font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;}

.text-center {text-align: center;}

.bg-water {
	background: #f5f8fa;
}


.btn-a {
	display: inline-block;
	margin: 0;
	border: 2px solid #0d2e8a;
	padding: 0 2em;
	border-radius: 2em;
	min-width: 13em;
	height: 2.1em;
	line-height: 2.1;
	background: #fff;
	font-size: 16px;
	font-weight: bold;
	color: #0d2e8a;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
.btn-a::before {
	content: "\f107";
	display: inline-block;
	font-family: FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-right: .2em;
	width: 1em;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
}
@media (max-width: 767px) {
	.btn-a {
		min-width: 8em;
	}
}


/*============================

	基本構造

============================*/

html {
	background: #fff;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	line-height: 1.428571429;
	font-size: 14px;
}

body {
}

a {
	color: #0d2e8a;
}

.my-container {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-left: 50px;
	padding-right: 50px;
	max-width: 1000px;
}
.my-container.type-full {
	max-width: 100%;
}
.my-container::before,
.my-container::after {
	content: "";
	display: table;
	clear: both;
}
@media (max-width: 767px) {
	.my-container {
		padding-left: 16px;
		padding-right: 16px;
	}
}



/*============================

	ヘッダー

============================*/

.header {
	position: relative;
	z-index: 10;
	padding: 40px 0;
}
@media (max-width: 767px) {
	.header {
		border-top: 7px solid #0d2e8a;
		padding: 20px 0;
	}
}

.header-logo {
	margin: 0;
	text-align: center;
}
.header-logo img {
	width: 125px;
	height: 65px;
}
@media (max-width: 767px) {
	.header-logo img {
		width: 90px;
		height: 46.8px;
	}
}


.header-menubtn {
	display: none;
}
@media (max-width: 767px) {
	.header-menubtn {
		display: block;
		position: absolute;
		right: 20px;
		top: 25px;
		margin: 0;
		border: none;
		padding: 0;
		width: 50px;
		height: 45px;
		background: #fff;
		outline: none;
	}
	.header-menubtn i {
		display: block;
		position: absolute;
		left: 11px;
		right: 11px;
		border-top: 2px solid #0d2e8a;
	}
	.header-menubtn i:nth-child(1) {top:  0px;}
	.header-menubtn i:nth-child(2) {top: 11px;}
	.header-menubtn i:nth-child(3) {top: 22px;}

	html.html-header-menu-opened .header-menubtn i:nth-child(1),
	html.html-header-menu-opened .header-menubtn i:nth-child(2),
	html.html-header-menu-opened .header-menubtn i:nth-child(3) {top: 11px;}
	html.html-header-menu-opened .header-menubtn i:nth-child(1) {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	html.html-header-menu-opened .header-menubtn i:nth-child(2) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	html.html-header-menu-opened .header-menubtn i:nth-child(3) {
		display: none;
	}

	.header-menubtn span {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		font-size: 11px;
		font-weight: bold;
	}
}


.header-menu {
	font-size: 14px;
	margin: 30px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.header-menu a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .3em;
	width: 10em;
	font-weight: bold;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.header-menu .el-ico {
	display: block;
	width: 4em;
	height: 2.2em;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.header-menu .el-ico.type-home {background-image: url(../img/shared/menu-home.png)}
.header-menu .el-ico.type-ship {background-image: url(../img/shared/menu-ship.png)}
.header-menu .el-ico.type-company {background-image: url(../img/shared/menu-company.png)}
.header-menu .el-ico.type-adoption {background-image: url(../img/shared/menu-adoption.png)}
.header-menu .el-ico.type-contact {background-image: url(../img/shared/menu-contact.png)}
.header-menu .el-ico.type-member {background-image: url(../img/shared/menu-member.png)}

@media (max-width: 767px) {
	.header-menu {
		display: none;
		position: absolute;
		left: 0;
		top: 100%;
		width: 100%;
		margin: 0;
		border-top: 1px solid #b5b5b5;
	}
	html.html-header-menu-opened .header-menu {
		display: flex;
		flex-wrap: wrap;
	}
	.header-menu a {
		box-sizing: border-box;
		margin: 0;
		border-right: 1px solid #b5b5b5;
		border-bottom: 1px solid #b5b5b5;
		padding: 20px 0;
		width: 50%;
		background: #fff;
	}
}



/*============================

	フッター

============================*/

.footer {}

.footer-anim {
	overflow: hidden;
	position: relative;
	height: 120px;
	background: url(../img/shared/footer-anim-bg.gif) repeat-x 50% bottom;
}
.footer-anim-wave {
	position: absolute;
	left: 0;
	bottom: 0;
	padding-right: 230px;
	width: 100%;
	height: 20px;
	background: url(../img/shared/footer-anim-wave.png) repeat-x;
	-webkit-animation: footer-anim-wave 20s linear 0s infinite;
	animation: footer-anim-wave 20s linear 0s infinite;
}
@-webkit-keyframes footer-anim-wave {
	from {
		-webkit-transform: translate3d(0px, 0, 0);
	}
	to {
		-webkit-transform: translate3d(-230px, 0, 0);
	}
}
@keyframes footer-anim-wave {
	from {
		transform: translate3d(0px, 0, 0);
	}
	to {
		transform: translate3d(-230px, 0, 0);
	}
}

.footer-anim-ship {
	position: absolute;
	left: 0;
	bottom: 13px;
	width: 100%;
	height: 50px;
	background: url(../img/shared/footer-anim-ship.png) no-repeat;
	-webkit-animation: footer-anim-ship 60s linear 0s infinite;
	animation: footer-anim-ship 60s linear 0s infinite;
}
@keyframes footer-anim-ship {
	from {
		transform: translate3d(-20%, 0, 0);
	}
	to {
		transform: translate3d(100%, 0, 0);
	}
}
@-webkit-keyframes footer-anim-ship {
	from {
		-webkit-transform: translate3d(-20%, 0, 0);
	}
	to {
		-webkit-transform: translate3d(100%, 0, 0);
	}
}

.footer-totop {
	display: block;
	position: relative;
	margin: 0 auto;
	max-width: 1000px;
	height: 0;
}
.footer-totop a {
	display: block;
	position: fixed;
	z-index: 10;
	right: 1em;
	bottom: 1em;
	width: 2.5em;
	height: 2.5em;
	border-radius: 1.25em;
	background: #0d2e8a;
	box-shadow: 0 0 7px 3px rgba(0,0,0,.2);
	line-height: 2.25;
	text-align: center;
	font-size: 24px;
	color: #fff;
	text-decoration: none;
}

.footer-menu {
	padding: 20px;
	text-align: center;
}
.footer-menu a {
	display: inline-block;
	margin: 2px .5em;
	text-decoration: none;
}
.footer-menu a .fa {
	font-size: 85%;
}

.footer-address {
	display: block;
	padding: 20px;
	background: #0d2e8a;
	color: #fff;
	text-align: center;
	font-style: normal;
}
.footer-address strong,
.footer-address span {
	display: inline-block;
	margin: 0 10px;
}

.footer-copyright {
	margin: 0;
	padding: 20px;
	text-align: center;
	font-size: 10px;
	color: #0d2e8a;
}

@media (max-width: 767px) {

	.footer-totop {}
	.footer-totop a {
		font-size: 18px;
	}

	.footer-menu {
		font-size: 12px;
	}

	.footer-address {
		font-size: 12px;
	}

}



/*============================

	バナー

============================*/

.bnr {
	margin: 50px auto 0;
}
.bnr::before,
.bnr::after {
	content: "";
	display: table;
	clear: both;
}
.bnr .el-inner {
	margin: -50px -25px 0;
}
.bnr .el-inner::before,
.bnr .el-inner::after {
	content: "";
	display: table;
	clear: both;
}
.bnr .el-col {
	float: left;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 50px 25px 0;
	width: 50%;
}
.bnr--first-right .el-col {
	float: right;
}

.bnr .el-col img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 767px) {
	.bnr {
		max-width: 475px;
	}
	.bnr .el-inner {
		margin: -16px -8px 0;
	}
	.bnr .el-col {
		float: none;
		padding: 8px;
		width: 100%;
	}
}


/*============================

	ホーム

============================*/

.home-movie {
	overflow: hidden;
	position: relative;
	height: 0;
	padding-bottom: 41.17%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.home-movie video,
.home-movie img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.home-movie .fa {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-size: 15vw;
	pointer-events: none;
	color: rgba(255,255,255,.7);
	-webkit-text-stroke-color: #ccc;
	-webkit-text-stroke-width: 1px;

	-webkit-transition: none;
	transition: none;

	opacity: 0;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.home-movie[data-state="paused"] .fa {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.home-movie[data-state="playing"] .fa {
	-webkit-transition: .3s ease;
	transition: .3s ease;
	opacity: 0;
	-webkit-transform: scale(3);
	transform: scale(3);
}

.home-about {
	margin-top: 80px;
	position: relative;
	font-size: 10px;
}
.home-about::before,
.home-about::after {
	content: "";
	display: table;
	clear: both;
}

.home-about .el-content {
	float: right;
	width: 52%;
}
.home-about .el-content h1 {
	margin: 0;
	padding: .5em 0 0;
	line-height: 1;
	font-size: 100%;
}
.home-about .el-content h1 img {
	vertical-align: middle;
	width: 25em;
	height: auto;
}
.home-about .el-content h1 span {
	display: block;
	margin: 0.5em 0 0 2.4em;
	font-size: 210%;
	font-weight: bold;
	color: #16358e;
}
.home-about .el-content p {
	margin: 1em 0 0;
	line-height: 2;
	font-size: 150%;
}

.home-about .el-img {
	width: 45%;
	height: auto;
}

@media (max-width: 1100px) {
	.home-about {
		font-size: 0.909vw;
	}
}

@media (max-width: 767px) {
	.home-about {
		margin-top: 50px;
		font-size: 10px;
	}
	.home-about .el-content {
		float: none;
		width: auto;
	}
	.home-about .el-content h1 {
		padding: 0;
	}
	.home-about .el-content h1 img {
		display: block;
	}
	.home-about .el-content h1 span {
		font-size: 21px;
	}
	.home-about .el-img {
		display: none;
	}
}


.home-ship {
	margin-top: 80px;
	overflow: hidden;
}
.home-ship-heading {
	padding: .4em 0;
	background: #0d2e8a;
	text-align: center;
	font-size: 26px;
	font-weight: normal;
	color: #fff;
}

.home-ship-list {
	--item-width: 200px;
	--item-gutter: 40px;
	position: relative;
	margin: 40px auto 0;
	font-size: 10px;
}
.home-ship-list > ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 30px var(--item-gutter);
}
.home-ship-list-item {
	flex-shrink: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	width: var(--item-width);
	text-align: center;
}
.home-ship-list-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	color: inherit;
	text-decoration: none;
}
.home-ship-list-item > a > img {
	display: block;
	aspect-ratio: 1 / 1;
	width: 100%;
	border-radius: 50%;
}
.home-ship-list-item > a > em {
	font-size: 200%;
	font-weight: bold;
	color: #0d2e8a;
	font-style: normal;
}
.home-ship-list-item > a > span {
	font-size: 130%;
}
.home-ship-list-prev, .home-ship-list-next {
	display: none;
}
.home-ship-cover-left,
.home-ship-cover-right {
	display: none;
}
@media (max-width: 767px) {
	.home-ship-list {
		margin-inline: auto;
		width: var(--item-width);
	}
	.home-ship-list > ul {
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
	.home-ship-list-prev,
	.home-ship-list-next {
		display: grid;
		place-content: center;
		position: absolute;
		top: calc(100px - 1em);
		border: none;
		margin: 0;
		padding: 0;
		width: 1em;
		height: 2em;
		background: none;
		font-size: 32px;
		color: #0d2e8a;
	}
	.home-ship-list-prev[aria-disabled="true"],
	.home-ship-list-next[aria-disabled="true"] {
		color: #ccc;
	}
	.home-ship-list-prev {
		left: -1.2em;
	}
	.home-ship-list-next {
		right: -1.2em;
	}
	.home-ship-cover-left,
	.home-ship-cover-right {
		display: block;
		position: absolute;
		top: 0;
		width: calc(50vw);
		height: 100%;
		/* background: rgba(255,255,255,.5); */
		pointer-events: none;
	}
	.home-ship-cover-left {
		right: calc(100% + 40px);
	}
	.home-ship-cover-right {
		left: calc(100% + 40px);
	}
}


.home-ocean {
	margin: 80px 0 2px;
	padding: 6% 0;
	overflow: hidden;
	position: relative;
	min-height: 500px;
	background: url(../img/home/ocean-photo.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.home-ocean::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -2px;
	width: 100%;
	padding-bottom: 1.829%;
	height: 0;
	background: url(../img/home/ocean-top.svg) no-repeat;
	background-size: 100% 100%;
}
.home-ocean::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	padding-bottom: 2.636%;
	height: 0;
	background: url(../img/home/ocean-bottom.svg) no-repeat;
	background-size: 100% 100%;
}


.home-news {}
.home-news-heading {
	text-align: center;
	color: #0d2e8a;
}
.home-news-heading h1 {
	margin: 0;
	font-size: 26px;
	font-weight: normal;
}
.home-news-heading p {
	margin: 1em 0 0;
	font-weight: bold;
}

.home-news-box {
	position: relative;
	margin: 20px auto 0;
	padding: 20px;
	border: 3px solid #0d2e8a;
	max-width: 780px;
	background: rgba(255,255,255,.7);
	border-radius: 10px;
}

.home-news-box-content {
	overflow-y: scroll;
	padding: 0 10px;
	height: 500px;
}
.home-news-box-content::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 8px;
}
.home-news-box-content::-webkit-scrollbar-thumb {
	background-color: rgba(0,0,0,.5);
	border-radius: 4px;
}


.home-news-article {
	margin: 0 0 2em;
}
.home-news-article-header {
	border-bottom: 2px solid #0d2e8a;
	padding: 0 30px .3em;
	text-align: center;
}
.home-news-article-header .el-date {
	color: #d67b19;
}
.home-news-article-header .el-title {
	margin: 0;
	font-size: 150%;
	font-weight: bold;
	color: #0d2e8a;
}

.home-news-article-body {
	margin: 30px 30px 0;
}
.home-news-article-body::after {
	content: "";
	display: table;
	clear: both;
}
.home-news-article-body .el-img {
	display: block;
	float: left;
	margin: 0 1.5em 0 0;
	width: 200px;
}
.home-news-article-body .el-img a {
	display: block;
	position: relative;
	width: 100%;
}
.home-news-article-body .el-img a img {
	display: block;
	width: 100%;
	height: auto;
}
.home-news-article-body .el-img a::after {
	content: "\f00e";
	font-family: FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,.8);
	text-align: center;
	line-height: 36px;
	font-size: 20px;
}

.home-news-article-body .el-txt {
	overflow: hidden;
	margin: 0;
}

.home-news-more {
	border-top: 1px solid #0d2e8a;
	padding: 15px 0 0;
	text-align: center;
}

@media (max-width: 767px) {

	.home-news-heading {}
	.home-news-heading h1 {}

	.home-news-box {
	}
	.home-news-box-content {
		height: 360px;
	}
	.home-news-article-header {
		padding-left: 10px;
		padding-right: 10px;
	}
	.home-news-article-header .el-date {
		color: #d67b19;
	}
	.home-news-article-header .el-title {
		font-size: 17px;
	}
	.home-news-article-body {
		margin: 20px 0 0;
	}
	.home-news-article-body .el-img {
		float: none;
		margin: 0 auto 1em;
		width: 100%;
		max-width: 200px;
	}
	.home-news-article-body .el-txt {
		margin-left: auto;
		margin-right: auto;
		max-width: 400px;
	}
}



/*============================

	ページ基本パーツ

============================*/

.page {}

.page-title {
	margin: 0;
	padding: 1em;
	background: #0d2e8a;
	text-align: center;
	line-height: 1.2;
	font-size: 200%;
	font-weight: normal;
	color: #fff;
}
@media (max-width: 480px) {
	.page-title {
		font-size: 180%;
	}
}

.topicpath {
	margin: 0 auto;
	padding: 2em 1em;
	max-width: 1000px;
	font-size: 85.71%;
}
.topicpath-item {
	display: inline;
}
.topicpath-item + .topicpath-item::before {
	content: "\f105";
	font-family: FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
	margin: 0 .1em;
	width: 1em;
	text-align: center;
}
@media (max-width: 767px) {
	.topicpath {
		padding: 1em 1em;
	}
}


.hero {
	margin: 0 auto;
	max-width: 1000px;
}
.hero img {
	display: block;
	width: 100%;
	height: auto;
}


.heading-a {
	position: relative;
	margin: 2em 0 1.5em;
	padding: 0 0 .3em;
	line-height: 1.3;
	font-size: 150%;
	font-weight: bold;
	color: #15338c;
}
.heading-a::before,
.heading-a::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: 2px solid;
}
.heading-a::before {
	width: 8em;
	border-color: #d2d2d2;
}
.heading-a::after {
	width: 4em;
	border-color: #15338c;
}
@media (max-width: 767px) {
	.heading-a {
		text-align: center;
		font-size: 130%;
	}
	.heading-a::before,
	.heading-a::after {
		left: 50%;
		margin-left: -4em;
	}
}



/*============================

	会社概要

============================*/

.company-message {}
.company-message h3 {
	font-size: 180%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;;
	color: #0d2e8a;
}
.company-message p {
	font-size: 17px;
	line-height: 1.7;
}
.company-message p:last-child {
	text-align: right;
}
.company-message p:last-child > span {
	margin-left: 1em;
	font-weight: bold;
	font-size: 150%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;
}

.company-outline {
}
.company-outline::after {
	content: "";
	display: table;
	clear: both;
}
.company-outline table {
	float: left;
	width: 50%;
}
.company-outline th,
.company-outline td {
	border-top: 1px solid #b5b5b5;
	border-bottom: 1px solid #b5b5b5;
	padding: 1em;
	text-align: left;
	vertical-align: top;
}
.company-outline th {
	width: 6.5em;
	background: #e8e5e5;
	color: #15338c;
}
.company-outline td {}

.company-outline .el-img {
	float: right;
	width: 45%;
}
.company-outline .el-img img {
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.company-outline {
	}
	.company-outline table,
	.company-outline tbody,
	.company-outline tr,
	.company-outline th,
	.company-outline td {
		display: block;
		width: auto;
	}
	.company-outline table {
		float: none;
	}
	.company-outline tr + tr {
		margin-top: -1px;
	}
	.company-outline th {
	}
	.company-outline td {
		border-top: none;
	}
	.company-outline .el-img {
		display: none;
	}
}

.company-history {
	width: 100%;
}
.company-history th,
.company-history td {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 1.2em;
	vertical-align: top;
}
.company-history th {
	width: 12em;
	text-align: right;
	font-weight: bold;
	color: #0d2e8a;
}
@media (max-width: 767px) {
	.company-history,
	.company-history tbody,
	.company-history tr,
	.company-history th,
	.company-history td {
		display: block;
		width: auto;
	}
	.company-history tr {
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		padding: 1em;
	}
	.company-history tr + tr {
		margin-top: -1px;
	}
	.company-history th,
	.company-history td {
		border-top: none;
		border-bottom: none;
		padding: 0;
		text-align: left;
	}
	.company-history td {
	}
}



/*============================

	採用情報

============================*/

.adoption-table {
	width: 100%;
}
.adoption-table th,
.adoption-table td {
	border-top: 1px solid #b5b5b5;
	border-bottom: 1px solid #b5b5b5;
	padding: 1em;
	text-align: left;
	vertical-align: top;
}
.adoption-table th {
	width: 8em;
	background: #e8e5e5;
	color: #15338c;
}
.adoption-table td {}


@media (max-width: 767px) {
	.adoption-table,
	.adoption-table tbody,
	.adoption-table tr,
	.adoption-table th,
	.adoption-table td {
		display: block;
		width: auto;
	}
	.adoption-table tr + tr {
		margin-top: -1px;
	}
	.adoption-table th {
	}
	.adoption-table td {
		border-top: none;
	}
}

.adoption-careerpath {
	margin: 60px auto 0;
}
.adoption-careerpath > h2 {
	font-size: min(28px, 100vw * 28 / 470);
	text-align: center;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;
}
.adoption-careerpath > h2 br {
	display: none;
}
.adoption-careerpath > p {
	font-size: 17px;
	line-height: 1.7;
}
.adoption-careerpath > a {
	margin-top: 30px;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	background: #0d2e8a;
	color: #fff;
	text-decoration: none;
	font-size: 40px;
	line-height: 1;
}
.adoption-careerpath > a > span {}
.adoption-careerpath > a > span > small {
	font-size: 60%;
}
.adoption-careerpath > a::after {
	content: "\f054";
	font-family: FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 36%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	width: 2.3em;
	height: 2.3em;
	padding-top: .1em;
	text-indent: .1em;
}
@media (max-width: 767px) {
	.adoption-careerpath {
		margin-top: 20px;
		max-width: 475px;
	}
	.adoption-careerpath > h2 br {
		display: block;
	}
	.adoption-careerpath > a {
		margin-top: 20px;
		font-size: 24px;
	}
}

.adoption-btn2 {
	margin: 1.25em auto 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25em;
	font-size: min(100vw * 40 / 1000, 40px);
	line-height: 1.1;
}
.adoption-btn2 > a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}
.adoption-btn2 > a > div:nth-child(1) {
	padding: 1em .5em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	background: #0d2e8a;
	color: #fff;
	text-decoration: none;
}
.adoption-btn2 > a > div:nth-child(1) > small {
	font-size: 60%;
}
.adoption-btn2 > a > div:nth-child(1)::after {
	content: "\f054";
	font-family: FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 36%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	width: 2.3em;
	height: 2.3em;
	padding-top: .1em;
	text-indent: .1em;
}
.adoption-btn2 > a > div:nth-child(2) {
	font-size: max(15px, 50%);
	border: 2px solid #0d2e8a;
	padding: .8em 1em;
	text-align: center;
	color: #555;
}
@media (max-width: 767px) {
	.adoption-btn2 {
		margin-top: 40px;
		gap: 20px;
		max-width: 475px;
		grid-template-columns: 100%;
		font-size: 24px;
	}
}


/*============================

	QA

============================*/

.qa-menu {
	display: table;
	margin: 0;
	padding: 0;
	width: 100%;
	background: #f5f8fa;
	font-size: 14px;
	font-weight: bold;
}
.qa-menu li {
	list-style: none;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	margin: 0;
	padding: 0;
}
.qa-menu li a {
	display: block;
	padding: 2em 0;
	color: inherit;
	text-decoration: none;
}
.qa-menu li a img {
	vertical-align: middle;
	margin-top: -.3em;
	margin-right: .2em;
	width: 2em;
	height: auto;
}

@media (max-width: 1100px) {
	.qa-menu {
		font-size: 1.27vw;
	}
}

@media (max-width: 767px) {
	.qa-menu {
		display: block;
		margin: 1em auto 0;
		width: auto;
		max-width: 400px;
		font-size: 14px;
	}
	.qa-menu li {
		display: block;
		text-align: left;
	}
	.qa-menu li a {
		padding: 1em 1.5em;
	}
	.qa-menu li a img {
		margin-right: .4em;
		width: 1.5em;
	}
}


.qa-list {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ccc;
}
.qa-list li {
	list-style: none;
	margin: 0;
	padding: 20px 0 20px;
	border-top: 1px solid #ccc;
}
.qa-list li .el-q,
.qa-list li .el-a {
	position: relative;
	padding: 5px 0 0 45px;
}
.qa-list li .el-q {
	min-height: 1.8em;
	font-size: 114.2%;
	font-weight: bold;
}
.qa-list li .el-a {
	margin: 5px 0 0;
}
.qa-list li .el-q::before,
.qa-list li .el-a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.qa-list li .el-q::before {background-image: url(../../adoption/img/qa/q.png);}
.qa-list li .el-a::before {background-image: url(../../adoption/img/qa/a.png);}



/*============================

	声

============================*/

.voice-sec {
	overflow: hidden;
	margin: 50px 0 0;
	border: 3px solid #0d2e8a;
	background: #fff;
	border-radius: 8px;
}

.voice-sec .el-header {
	padding: 5%;
	background: #f5f8fa;
	border-radius: 6px 6px 0 0;
}

.voice-sec .el-img {
	float: right;
	margin-left: 1em;
	width: 40%;
	max-width: 342px;
}
.voice-sec .el-img img {
	display: block;
	width: 100%;
	height: auto;
}

.voice-sec .el-title {
	margin: 0 0 1em;
	padding: 0;
	line-height: 1.3;
	font-size: 185%;
	font-weight: bold;
	color: #0d2e8a;
}
.voice-sec .el-title::after {
	content: "";
	display: block;
	padding-top: 1em;
	width: 1.75em;
	border-bottom: 2px solid #0d2e8a;
}

.voice-sec .el-name {
	display: inline;
	font-size: 150%;
	font-weight: bold;
}

.voice-sec .el-pos {
	display: inline;
	margin-left: .5em;
	font-weight: bold;
	color: #e77d0a;
}

.voice-sec .el-in {
	padding: .5em 0 0;
	color: #0d2e8a;
}

.voice-sec .el-interview {
	margin: 0;
	padding: 5% 5% 8%;
}
.voice-sec .el-interview dt {
	margin: 0;
	padding: 0;
	font-size: 114.28%;
	font-weight: bold;
	color: #0d2e8a;
}
.voice-sec .el-interview dd + dt {
	margin-top: 2em;
}
.voice-sec .el-interview dd {
	margin: .6em  0 0;
	padding: 0;
}

@media (max-width: 767px) {
	.voice-sec .el-interview dd + dt {
		margin-top: 1em;
	}
}

@media (max-width: 480px) {
	.voice-sec .el-img {
		float: none;
		margin: -6% 0 5% -6%;
		width: 112%;
		max-width: 112%;
	}
}




/*============================

	保有船舶 一覧

============================*/

.shop-menu {}

.shop-menu .el-item {
	display: table;
	margin: 0;
	width: 100%;
	color: inherit;
	text-decoration: none;
}
.shop-menu .el-item + .el-item {
	margin-top: 2em;
}

.shop-menu .el-img {
	display: table-cell;
	vertical-align: middle;
	vertical-align: middle;
	width: auto;
}
.shop-menu .el-img img {
	display: block;
	width: 100%;
	height: auto;
}

.shop-menu .el-content {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 0 15px;
	width: 300px;
}

.shop-menu .el-name {
	display: inline-block;
	vertical-align: middle;
	font-size: 240%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;;
}
.shop-menu .el-ruby {
	display: inline-block;
	vertical-align: middle;
	margin-left: 1em;
	font-size: 9px;
	font-weight: bold;
	color: #0d2e8a;
}
.shop-menu .el-desc {
	display: block;
	margin: .2em 0 2em;
}

.shop-menu .el-btn {
	display: inline-block;
	border: 2px solid #0d2e8a;
	padding: 0 2em;
	border-radius: 2em;
	min-width: 9em;
	height: 2.1em;
	line-height: 2.1;
	background: #fff;
	font-size: 16px;
	font-weight: bold;
	color: #0d2e8a;
	text-decoration: none;
}
.shop-menu .el-btn::before {
	content: "\f107";
	display: inline-block;
	font-family: FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-right: .2em;
	width: 1em;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
}

@media (max-width: 767px) {
	.shop-menu .el-item {
		display: block;
		margin-top: 2.5em;
	}
	.shop-menu .el-img {
		display: block;
	}
	.shop-menu .el-content {
		display: block;
		margin-top: 1em;
		width: auto;
	}
	.shop-menu .el-name {
		font-size: 180%;
	}
	.shop-menu .el-desc {
		margin-bottom: 1em;
	}
}



/*============================

	保有船舶 詳細

============================*/

.ship-name {
	margin: 0 auto;
	padding: 60px 0;
	max-width: 1000px;
	text-align: center;
	font-size: 100%;
}
.ship-name .el-main {
	display: block;
	font-size: 240%;
	font-weight: normal;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;;
}
.ship-name .el-ruby {
	display: block;
	font-size: 78%;
	font-weight: bold;
	color: #15338c;
}
@media (max-width: 1000px) {
	.ship-name {
		padding: 6% 0;
	}
}
@media (max-width: 767px) {
	.ship-name {
		padding: 25px 0;
	}
	.ship-name .el-main {
		font-size: 180%;
	}
	.ship-name .el-ruby {
		font-size: 64%;
	}
}


.ship-outline {
	margin: 3em 0 0;
}
.ship-outline::after {
	content: "";
	display: table;
	clear: both;
}

.ship-outline .heading-a {
	float: left;
	margin-top: 0;
}

.ship-outline-body {
	float: right;
	width: 66%;
	max-width: 620px;
}
.ship-outline-body p {
	margin-top: 0;
}
.ship-outline-body table {
	margin: 2em 0 0;
	width: 100%;
}
.ship-outline-body th,
.ship-outline-body td {
	border-top: 1px solid #b5b5b5;
	border-bottom: 1px solid #b5b5b5;
	padding: 1em 0 1em 1.5em;
	text-align: left;
}
.ship-outline-body th {
	width: 5em;
	color: #15338c;
}

@media (max-width: 767px) {
	.ship-outline .heading-a {
		float:none;
	}
	.ship-outline-body {
		float: none;
		width: auto;
	}
}

.shop-photos-wrap {
	overflow: hidden;
}
.shop-photos {
	position: relative;
	margin: 30px auto 0;
}
.shop-photos > ul {
	margin: 0 -10px;
	padding: 0;
}
.shop-photos > ul::after {
	content: "";
	display: table;
	clear: both;
}
.shop-photos > ul > li {
	list-style: none;
	float: left;
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 33.33%;
}
.shop-photos > ul > li .el-item {
	margin: 0 10px;
}
.shop-photos > ul > li > .el-item > img {
	display: block;
	width: 100%;
	height: auto;
}
.shop-photos > ul > li > .el-item > span {
	display: block;
	margin: .1em 0 0;
	font-size: 85%;
	color: #0d2e8a;
	text-align: right;
}

.shop-photos-left,
.shop-photos-right {
	display: none;
}
.shop-photos-cover-left,
.shop-photos-cover-right {
	display: none;
}

.shop-largephoto {
	margin: 50px 0 0;
	padding: 0 0 50px;
	border-bottom: 1px solid #d2d2d2;
}
.shop-largephoto img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {

	.shop-photos-wrap {
		margin-left: -16px;
		margin-right: -16px;
	}

	.shop-photos {
		width: 280px;
		font-size: 10px;
	}
	.shop-photos > ul {
		margin: 0;
		width: 840px;
	}

	.shop-photos-left,
	.shop-photos-right {
		display: block;
		position: absolute;
		top: 50px;
		border: none;
		margin: 0;
		padding: 0;
		background: none;
		font-size: 48px;
		color: #0d2e8a;
		outline: none;
	}
	.shop-photos-left {
		left: -13px;
	}
	.shop-photos-right {
		right: -13px;
	}
	.shop-photos-cover-left,
	.shop-photos-cover-right {
		display: block;
		position: absolute;
		top: 0;
		width: 200%;
		height: 100%;
		background: rgba(255,255,255,.5);
		pointer-events: none;
	}
	.shop-photos-cover-left {
		right: 100%;
	}
	.shop-photos-cover-right {
		left: 100%;
	}

}


/*============================

	お問い合わせ

============================*/

.contact-lead {
	margin: 2em 0 1em;
	font-size: 150%;
	font-weight: bold;
	color: #15338c;
}
@media (max-width: 767px) {
	.contact-lead {
		margin-top: 1em;
		text-align: center;
		font-size: 140%;
	}
}

.contact-tel {
	margin: 2em 0;
	padding: 1em;
	background: #f5f8fa;
	text-align: center;
}
.contact-tel .el-heading {
	margin: 0 0 1em;
	padding: 0 0 .3em;
	border-bottom: 1px solid #0d2e8a;
	font-size: 115%;
}
.contact-tel .el-tel {
	display: inline-block;
	vertical-align: middle;
	font-size: 150%;
	font-weight: bold;
}
.contact-tel .el-tel a {
	font-size: 135%;
	text-decoration: none;
}
.contact-tel .el-hours {
	display: inline-block;
	vertical-align: middle;
	margin-left: 1em;
}

@media (max-width: 767px) {
	.contact-tel .el-heading {
		margin-bottom: .5em;
	}
	.contact-tel .el-tel {
		display: block;
	}
	.contact-tel .el-hours {
		display: block;
		margin-left: 0;
	}
}

.contact-note {
	font-weight: bold;
}

.contact-error {
	margin: 0.5em 0 0;
	color: brown;
}

.contact-table {
	margin: 2em 0 0;
	width: 100%;
}
.contact-table th,
.contact-table td {
	vertical-align: top;
	text-align: left;
	border-top: 1px solid #b5b5b5;
	border-bottom: 1px solid #b5b5b5;
	padding: 1em 1.5em;
}
.contact-table th {
	width: 14em;
	background: #e8e5e5;
	font-weight: bold;
	color: #0d2e8a;
}
@media (max-width: 767px) {
	.contact-table,
	.contact-table tbody,
	.contact-table tr,
	.contact-table th,
	.contact-table td {
		display: block;
		width: auto;
	}
	.contact-table th {
		padding: .8em 1.2em;
	}
	.contact-table th::after {
		content: "";
		display: table;
		clear: both;
	}
	.contact-table td {
		border: none;
		padding: .8em 1.2em;
	}
}

.contact-req {
	display: inline-block;
	background: #ff9600;
	padding: 0 .3em;
	border-radius: 2px;
	line-height: 1.4;
	font-size: 11px;
	color: #fff;
}
.contact-table th .contact-req {
	float: right;
	margin-top: .2em;
}

.contact-input {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #949bac;
	padding: 0 .2em;
	width: 100%;
	line-height: 2;
	height: 2em;
}

.contact-textarea {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #949bac;
	padding: 0 .2em;
	width: 100%;
	line-height: 1.5;
	height: 10em;
	resize: vertical;
}

.contact-label {
}
.contact-label input {
	vertical-align: middle;
	margin-top: -.15em;
	margin-right: .3em;
}

.contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	margin: 0;
	border: none;
	padding: .8em 1em;
	min-width: 12em;
	background: #0d2e8a;
	border-radius: 1.6em;
	line-height: 1.2;
	font-size: 115%;
	font-weight: bold;
	color: #fff;
}
.contact-btn.type-back {
	background: #666;
	font-size: 95%;
}

.contact-submit {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 1em;
	@media screen and (max-width: 767px) {
		flex-direction: column;
	}
}

.contact-thanks {
	margin: 2em 0;
	padding: 1em;
	background: #f5f8fa;
	text-align: center;
	font-size: 150%;
	font-weight: bold;
	color: #0d2e8a;
}

.contact-systemError {
	margin: 2em 0;
	padding: 1em;
	background: #fbeaea;
	text-align: center;
	font-size: 150%;
	font-weight: bold;
	color: #d9534f;
}

.contact-attention {
	margin: 2em auto;
	padding: 1.5em 2em;
	width: fit-content;
	font-weight: bold;
	color: #0d2e8a;
	font-size: 90%;
	background-color: #d9e8fc;
	border: 1px solid #0d2e8a;
	border-radius: 5px;
	@media screen and (max-width: 767px) {
		padding: 1em 1.5em;
	}
}
.contact-attention > h2 {
	margin: 0;
	text-align: center;
	font-size: 120%;
}
.contact-attention > p {
	margin: .5em 0 0;
	font-size: 100%;
}

/*============================

	20170727追加修正

============================*/
.adoption-btn {
	display:flex;
	margin-top:60px;
}
.adoption-btn img {
		width:100%;
	}
.adoption-btn .adoption-btnL {
	margin-right:50px;
}
.adoption-tit {
	font-size: 240%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;;
}
.adoption-tit02 {
	font-size: 150%;
	font-weight: bold;
	color: #15338c;
}
.adoption-dl {
	margin: 1.5em 0;
}
.adoption-dl dt {
	margin: 1em 0 0;
	padding: 0;
	font-size: 180%;
	font-weight: normal;
}
.adoption-dl dd {
	margin: .3em 0 0;
	font-size: 110%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;
}
.adoption-txtR {
	text-align:right;
}
ul.adoption-list {
	background-color:#F5F8FA;
	border-radius: 10px;
	webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding:40px;
	margin:40px 0;
}
ul.adoption-list li {
	margin-bottom:10px;
	font-size: 140%;
	font-weight: bold;
	color:#333;
	list-style:none;
	background:url(../../adoption/img/icon01.gif) no-repeat left 7px;
	padding-left:30px;
}
ul.adoption-list li:last-child {
	margin-bottom:0;
}
ul.adoption-fresher {
	margin:0 0 0 15px;
	padding:0;
}

@media (max-width: 767px) {
	.adoption-btn {
		display:block;
		margin: 40px auto 0;
		max-width: 475px;
	}
	.adoption-btn .adoption-btnL {
		margin:0 0 10px 0;
	}
	.adoption-tit {
		font-size: 180%;
	}
	.adoption-tit02 {
		font-size: 130%;
	}
	ul.adoption-list {
		padding:20px;
		margin:0;
	}
	ul.adoption-list li {
		font-size: 120%;
	}
}

/*============================

	キャリアパス

============================*/

.careerpath-lead {}
.careerpath-lead > h3 {
	font-size: 240%;
	font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ明朝", "Times New Roman", serif;;
	color: #0d2e8a;
}
@media (max-width: 767px) {
	.careerpath-lead > h3 {
		font-size: 160%;
	}
}
.careerpath-lead > p {
	font-size: 17px;
	line-height: 1.7;
}
.careerpath-lead > p.note {
	margin-top: 2em;
	padding-left: 1.3em;
	text-indent: -1.3em;
	font-size: 14px;
}
.careerpath-lead > p.note::before {
	content: '※ ';
}

.careerpath-note {
	margin: 4em 0 3em;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.7;
	text-decoration: underline;
	text-decoration-thickness: .4em;
	text-decoration-color: #ffe3b1;
	text-underline-offset: -.2em;
}

.careerpath-chart {}
.careerpath-chart > img {
	display: block;
	max-width: 100%;
	height: auto;
}