@charset "utf-8";
/*
Theme Name:   Custom for Dokai
Theme URI:    https://www.dokai.co.jp
Description:  洞海マリンシステムズ株式会社のためのカスタムテーマ。
Author:       Terra System Co., Ltd.
Author URI:   https://www.terra-system.jp
Template:     genesis_tcd103
Version:      1.13.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  tcd-genesis
*/

/* ヘッダー背景が透明の場合のナビゲーションの色調整 */

body.header_type2:not(.header_fixed):not(.active_header) #global_menu > ul > li.active > a,
body.header_type2:not(.header_fixed):not(.active_header) #global_menu > ul > li.current-menu-item > a {
	color: #ffffff !important;
	text-shadow: 1px 1px 3px #646464;
}

body.header_type2:not(.header_fixed):not(.active_header) #global_menu > ul > li.active > a:hover,
body.header_type2:not(.header_fixed):not(.active_header) #global_menu > ul > li.current-menu-item > a:hover {
	color: #000000 !important;
}

/* ヘッダー背景が透明の場合のナビゲーションの視認性アップ */

body.header_type2:not(.header_fixed):not(.active_header) #global_menu > ul > li a {
	text-shadow: 1px 1px 3px #646464;
}

/* ロゴ調整 */

#header_logo a {
	flex-direction: row;
}

#header_logo2 a {
	flex-direction: row;
}

.logo_companyname {
	display: block;
	font-size: 1.15em;
	margin: 0 0 0 0.5em;
	padding: 0;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-weight: 700 !important;
	font-style: normal;
	transition: all 0.25s ease;
}

#header_logo a:hover .logo_companyname {
	color: #000000;
	opacity:0.5;
}

.logo_companyname2 {
	display: block;
	font-size: 1.15em;
	margin: 0 0 0 0.5em;
	padding: 0;
	color: #ffffff;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-weight: 700 !important;
	font-style: normal;
	transition: all 0.25s ease;
}

a:hover .logo_companyname2 {
	opacity:0.5;
}

#header .logo_image {
	width: auto;
	height: 28px;
}

/* ナビゲーション調整 */

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

	#global_menu > ul > li {
		font-size:16px !important;
	}

	#global_menu > ul > li > a {
		padding:0 12px;
	}

	#global_menu .menu-item-home {
		display: none !important;
	}

	.logo_companyname {
		font-size: 1em;
	}

	.logo_companyname2 {
		font-size: 1em;
	}

	#header .logo_image {
		width: auto; height: 20px;
	}

}

/* メガメニュー調整 */

.megamenu_b .title {
	font-size: 36px;
}

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

	.megamenu_b .title {
		font-size: 30px;
	}


}

/* 行間 */

.post_content p {
	line-height: 2.2;
}

.post_row {
	line-height: 2.0;
}

:is(.design_header, .tcdce-body .design_header) .desc {
	line-height: 2.2;
}

/* コロンを揃える */

.colon-ml {
	margin-left: 1em;
}

/* 電話番号リンクの色 */

.link-tel {
	color: initial !important;
}

/* メインナビゲーションのSNSアイコン */

.icon-instagram a span {
	display: none;
}

.icon-instagram a::before {
	content: '\ea92';
}

.icon-x a span {
	display: none;
}

.icon-x a::before {
	content: '\e950';
}

/* 言語切り替え */

.icon-globe i {
	margin-right: 0.4em !important;
}

/* お知らせのアイキャッチ非表示 */

#single_post_header_image {
	display: none;
}

/* 更新日の非表示 */

.meta .update {
	display: none !important;
}

/* キャッチフレーズにテキストシャドウ */

#header_slider_content .catch {
	text-shadow: 1px 1px 3px #646464;
}

#single_service_header {
	text-shadow: 1px 1px 3px #646464;
}

/* 最新のお知らせ非表示 */

#recent_news {
	display: none;
}

/* アイコンの右マージン */

.post_content dt i {
	color: #7f7f7f;
	margin-right: 0.5em;
}

/* 青いキャッチフレーズ */

.catchphrase {
	color: #1464a0;
	margin-bottom: 0.25em !important;
}

/* テーブルの調整 */

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

	.rps_table {
		border: none !important;
	}

	.rps_table tr {
		display: block;
		margin-bottom: 1.5em;
	}

	.rps_table th, .rps_table td {
		display: list-item;
		list-style-type: none;
		border: 1px solid #dddddd;
	}

	.rps_table td {
		border-top: none;
	}

}

/* 運航船舶 */

.fleet-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

.fleet-thumbnails {
	width: calc((100% / 4) - 1em);
	display: block;
	text-align: center;
	font-size: 1em;
	line-height: 1.25;
	color: #ffffff !important;
	background: #1464a0;
	padding-bottom: 0.25em
}

.fleet-thumbnails:hover {
	text-decoration: none !important;
}

.fleet-detail h4 {
	overflow: hidden;
	margin: 0;
	padding: 0;
	line-height: 1.6;
	text-align: left;
}

.fleet-name {
	font-size: 36px !important;
}

.fleet-name span {
	margin-left: 0.5em;
	font-size: 24px !important;
	color: #1464a0 !important;
}

.fleet-name-small {
	font-size: 36px !important;
}

.fleet-name-small span {
	margin-left: 0.5em;
	font-size: 18px !important;
	color: #1464a0 !important;
}

@media (max-width: 800px) {

	.fleet-name {
		font-size: 24px !important;
	}

	.fleet-name span {
		font-size: 18px !important;
	}

	.fleet-name-small {
		font-size: 24px !important;
	}

	.fleet-name-small span {
		font-size: 12px !important;
	}

}

@media (max-width: 600px) {

	.fleet-thumbnails {
		font-size: 0.75em;
	}

}

.fleet-detail .fleet-pdf {
	font-size: 1.25em;
	text-align: left;
	font-weight: bold;
}

.fleet-detail .fleet-pdf a {
	color: #000000;
	text-decoration: none;
}

.fleet-detail .fleet-pdf a:hover {
	color: #000000;
}

.fleet-detail .fleet-pdf i {
	color: #b30c00;
	margin-right: 0.4em;
}

.fleet-detail dl {
	font-size: 0.85em;
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.5em 1.25em;
	margin: 0;
	padding: 0;
}

.fleet-detail dl dt {
	font-weight: bold;
	text-align: left;
}

.fleet-detail dl dd {
	margin: 0;
	border-bottom: 1px solid #dddddd;
}

.fleet-detail .fleet-smalltext {
	font-size: 0.75em;
	margin-left: 0.4em;
}

.fleet-detail-section {
	border-top: 1px solid #dddddd;
	margin-top: 3em;
	padding-top: 3em;
}

/* 認証・証明書 */

.certificates-img {
	border: 1px solid #dddddd;
	margin-bottom: 3em;
}

.certificates-img-last {
	border: 1px solid #dddddd;
	margin-bottom: 0;
}

/* 沿革 */

.history-dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	row-gap: 0.75em;
	column-gap: 1.5em;
	margin: 0;
	padding: 0;
}

.history-dl dt {
	font-weight: bold;
	text-align: left;
	margin: 0;
	padding: 0.5em 0 0 0;
	position: relative;
}

.history-dl dt::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0da";
	margin-left: 1.25em;
	color: #f59f14;
	font-size: 0.85em;
}

.history-dl dd {
	margin: 0;
	padding: 0.5em 0 0 0;
	border-bottom: 1px solid #e0e0e0;
}

/* トップメッセージ */

.signature {
	text-align: right;
}

.signature img {
	width: auto !important;
	height: 30px !important;
}

.official-position {
	font-size: 0.75em;
	margin-right: 1em;
}

/* 企業情報 */

.navigation-company {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

.navigation-company-link {
	width: calc((100% / 2) - 1em);
	display: block;
	text-decoration: none;
}

.navigation-company-link:hover {
	color: #000000 !important;
	text-decoration: none !important;
}

.navigation-company-inner {
	display: flex;
	align-items: center;
	border: 1px solid #dddddd;
	padding: 1em 2em 1em 2em;
}

.navigation-company-inner-left {
	font-size: 2em;
	margin: 0 1em 0 0;
	padding: 0;
}

.navigation-company-inner-right {
	flex-grow: 1;
}

.navigation-company-inner-right dl {
	margin: 0;
	padding: 0;
}

.navigation-company-inner-right dt {
	font-weight: bold; 
	margin: 0;
	padding: 0;
}

.navigation-company-inner-right dd {
	font-size: 0.85em;
	color: #000000;
	margin: 0;
	padding: 0;
}

@media (max-width: 1100px) {
	.navigation-company-link {
		width: 100%;
	}
}

/* 事業内容 */

.business-description {
	display: none;
}

#single_service_main_content .catchphrase {
	margin-top: 0 !important;
}

/* 採用情報 */

@media (min-width: 801px) {

	.recruit-header-section-top {
		margin-top: 150px;
	}

	.recruit-header-section {
		margin-top: 150px;
	}

}

@media (max-width: 800px) {

	.recruit-header-section-top {
		margin-top: 35px;
	}


	.recruit-header-section {
	border-top: 1px solid #dddddd;
	margin-top: 35px;
	padding-top: 35px;
	}

}

.flexbox-inframe {
	margin-top: 1em !important;
	display: flex;
	gap: 2em;
}

.flexbox-inframe dl {
	margin-bottom: 0 !important;
}

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

		.flexbox-inframe {
			gap: 1em;
			flex-wrap: wrap;
		}

}

.youtube {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.icon-link {
	margin-right: 0.4em;
}

.banner-recruit {
	margin: 3em 0 0 0;
}

.banner-recruit a {
	max-width: 660px;
	display: block;
	margin: 0 auto;
	padding: 2em;
	text-align: center;
	font-size: 1em;;
	font-weight: bold;
	color: #ffffff !important;
	background: #1464a0;
}

.banner-recruit a:hover {
	text-decoration: none !important;
	background: #f59f14;
}

.banner-recruit-tel {
	margin: 3em 0 0 0;
	text-align: center;
}

.banner-recruit-tel a {
	font-size: 3em;;
	font-weight: bold;
	color: #1464a0 !important;
}

.banner-recruit-tel a i {
	margin-right: 0.25em;
}

.banner-recruit-tel a:hover {
	text-decoration: none !important;
}

/* 経営理念 */

.philosophy-image {
	margin: 0;
	padding: 0 0 2em 0;
}

.philosophy-container {
	position: relative;
	width: 670px;
	height: 670px;
	margin: 0 auto;
}

.philosophy-circle {
	position: absolute;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	line-height: 1.6;
	padding: 10px;
	font-size: 18px;
	top: 50%;
	left: 50%;
	transform-origin: center center;
}

.philosophy-circle1,
.philosophy-circle3,
.philosophy-circle5 {
	background-color: rgba(53, 187, 235, 0.9);
}

.philosophy-circle2,
.philosophy-circle4,
.philosophy-circle6 {
	background-color: rgba(61, 215, 230, 0.9);
}

.philosophy-circle1 { transform: translate(-50%, -50%) rotate(-90deg) translate(210px) rotate(90deg); }
.philosophy-circle2 { transform: translate(-50%, -50%) rotate(-30deg) translate(210px) rotate(30deg); }
.philosophy-circle3 { transform: translate(-50%, -50%) rotate(30deg)  translate(210px) rotate(-30deg); }
.philosophy-circle4 { transform: translate(-50%, -50%) rotate(90deg)  translate(210px) rotate(-90deg); }
.philosophy-circle5 { transform: translate(-50%, -50%) rotate(150deg) translate(210px) rotate(-150deg); }
.philosophy-circle6 { transform: translate(-50%, -50%) rotate(210deg) translate(210px) rotate(-210deg); }

.philosophy-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.philosophy-logo img {
	width: 118px;
	height: auto;
}

@media (max-width: 800px) {

	.philosophy-container {
		width: 90vw;
		height: 90vw;
	}

	.philosophy-circle {
		width: 34vw;
	height: 34vw;
	font-size: 2.5vw;
	}

	.philosophy-circle1 { transform: translate(-50%, -50%) rotate(-90deg) translate(30vw) rotate(90deg); }
	.philosophy-circle2 { transform: translate(-50%, -50%) rotate(-30deg) translate(30vw) rotate(30deg); }
	.philosophy-circle3 { transform: translate(-50%, -50%) rotate(30deg)  translate(30vw) rotate(-30deg); }
	.philosophy-circle4 { transform: translate(-50%, -50%) rotate(90deg)  translate(30vw) rotate(-90deg); }
	.philosophy-circle5 { transform: translate(-50%, -50%) rotate(150deg) translate(30vw) rotate(-150deg); }
	.philosophy-circle6 { transform: translate(-50%, -50%) rotate(210deg) translate(30vw) rotate(-210deg); }

	.philosophy-logo img {
		width: 20vw;
	}
}

/* コンタクトフォーム */

.wpcf7 {
	background: #ffffff !important;
	border: none !important;
	box-sizing: border-box !important;
}

.wpcf7 form {
	margin: 0 !important;
}

.wpcf7-list-item {
	display: inline-block !important;
}

.wpcf7 .wpcf7-submit {
	background-color: #1464a0;
}

.wpcf7 .wpcf7-submit:hover {
	background-color: #f59f14;
}

.required {
	font-size: 0.75em;
	padding: 0.25em 0.5em 0.25em 0.5em;
	margin-left: 0.5em;
	background: #a02828;
	color: #ffffff;
}

.form-dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	row-gap: 1em;
	column-gap: 1em;
	margin: 0;
	padding: 0;
}

.form-dl dt {
	font-weight: bold;
	text-align: left;
	margin: 0;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #e0e0e0;
}

.form-dl dd {
	margin: 0;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #e0e0e0;
}

.form-dl dt:last-of-type {
	border-bottom:  none;
}

.form-dl dd:last-of-type {
	border-bottom:  none;
}

@media (max-width: 800px) {

	.form-dl {
		grid-template-columns: 1fr;
		row-gap: 0;
		column-gap: 0;
	}

	.form-dl dt {
		padding: 1em 0 1em 0;
		border-bottom: none;
	}

}

/* 募集要項 */

.jobdetails-dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	row-gap: 1em;
	column-gap: 1em;
	margin: 0;
	padding: 0;
}

.jobdetails-dl dt {
	font-weight: bold;
	text-align: left;
	margin: 0;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #e0e0e0;
}

.jobdetails-dl dd {
	margin: 0;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #e0e0e0;
}

.jobdetails-dl dt:last-of-type {
	border-bottom:  none;
}

.jobdetails-dl dd:last-of-type {
	border-bottom:  none;
}

@media (max-width: 800px) {

	.jobdetails-dl {
		grid-template-columns: 1fr;
		row-gap: 0;
		column-gap: 0;
	}

	.jobdetails-dl dt {
		padding: 1em 0 1em 0;
		border-bottom: none;
	}

}

/* 社員インタビュー */

.interview-list {
	margin: 0;
	padding: 0;
	list-style: none !important;
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

.interview-list li {
	width: calc((100% / 3) - 1em);
	height: auto;
	margin: 0;
	padding: 0;
	text-align: center;
}

.interview-list li a {
	font-size: 0.75em;
}

.interview-list li a:hover {
	text-decoration: none;
}

.interview-list li img {
	width: 180px;
	height: auto;
	border-radius: 50%;
}

.interview-header {
	margin: 3em 0 3em 0 !important;
}

.interview-header dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	row-gap: 1em;
	column-gap: 1em;
	margin: 0;
	padding: 0;
}

.interview-header dl dt img {
	width: 240px;
	height: auto;
	border-radius: 50%;
}

.interview-header dl dd h4 span {
	font-size: 0.5em;
}

.interview-header dl dd h4 br {
	display: none;
}

@media (max-width: 800px) {

	.interview-header dl {
		grid-template-columns: 1fr;
		row-gap: 0;
		column-gap: 0;
	}

	.interview-header dl dt {
		text-align: center;
	}

	.interview-header dl dd h4 {
		font-size: 1.25em;
		text-align: center;
	}

}

@media (max-width: 1100px) {

	.interview-header dl dd h4 br {
		display: inline;

	}

}

.interview-text {
	margin: 0 0 3em 0 !important;
}

.interview-text dl dd {
	background: #fafafa;
	padding: 1em 1.5em 1em 1.5em;
	border-radius: 1em;
}

.interview-name {
	font-weight: bold;
	color: #1464a0;
	margin-right: 1.2em;
}

.interview-image {
	margin-bottom: 1em;
	text-align: center;
}

.interview-image img {
	width: auto;
	max-height: 800px;
}

.interview-sep {
	margin: 1em 0 1em 0;
	text-align: right;
}

.interview-sep a {
	font-weight: bold;
}

.interview-sep a:hover {
	text-decoration: none;
}

.interview-sep a i {
	margin-right: 0.25em;
}

/* サイドバー表示 */

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

	#main_content {
		display: block;
		padding: 0 40px 110px;
	}

	#main_col {
		width: auto;
		max-width: 970px;
		margin: 0 auto;
	}

	#side_col {
		width: auto;
		max-width: 970px;
		display: none;
		flex-wrap: wrap;
		margin: 100px auto;
	}

}

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

	#main_content {
		display: block;
		padding: 0 40px 110px;
	}

	#main_col {
		width: auto;
		max-width: 850px;
		margin: 0 auto;
	}

	#side_col {
		width: auto;
		max-width: 850px;
		display: none;
		flex-wrap: wrap;
		margin: 100px auto;
	}

}

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

	#main_content {
		display: block;
		padding: 0 40px 110px;
	}

	#main_col {
		width: auto;
		max-width: 750px;
		margin: 0 auto;
	}

	#side_col {
		width: auto;
		max-width: 750px;
		display: none;
		flex-wrap: wrap;
		margin: 100px auto;
	}

}

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

	#main_content {
		padding: 0 20px;
	}

	#side_col {
		display: none;
		margin: 40px auto 40px;
	}

}

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

	#main_content {
		padding: 0 20px 40px;
	}

	#side_col {
		display: block;
		margin-bottom: 0;
	}

}
