/*
Theme Name: 神原汽船テーマ2026
Author: 株式会社ドリームネッツ
Description: 
Version: 2026
Requires at least: 5.0
Tested up to: 5.8
Requires PHP: 7.0
Base Theme URI: https://github.com/tidythemes/blankslate
Base Theme Author: TidyThemes
Base Theme Author URI: http://tidythemes.com/
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html

BlankSlate WordPress Theme © 2011-2021 TidyThemes
BlankSlate is distributed under the terms of the GNU GPL
*/

/* @import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Abel&family=Oswald:wght@300;600&display=swap');

* {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	list-style: none;
	vertical-align: bottom;
	}
	*/


	
input[type=radio] {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-right: 0;
	min-width: 16px;
	width: 16px;
	height: 16px;
	border: none;
	background: #fff;
	border: 1px solid #000;
	border-radius: 50%;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	outline: none;
}
/* .input-radio {
  flex-basis: calc(100% - 105px);
} */
label.label-radio {
	font-size: 12px;
	min-width: 130px;
  width: calc(100% - 25px);
  display: inline-block;
}
#forms th {
	position: relative;
}
#forms .recruit-marine dt {
	clear: left;
	float: left;
	width: 11em;
    line-height: 1.3;
	padding: 0;
	border-top: none;
	font-weight: bold;
	}
	#forms .recruit-marine dd {
		border-top: none;
	}
	input[type=radio]:checked {
	    background-color: #fff;
	    }
	
	input[type=radio]:checked::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    background-color: #000;
    border-radius: 50%;
	}

#contents .eyecatch {
	position: relative;
	margin-top: -96px;
	width: 100%;
	height: 480px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 40%;
	z-index: 1;
	}

#contents .eyecatch .wave {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 96px;
	z-index: 1;
	}

#contents .eyecatch .wave + .wave {
	z-index: 2;
	}

body:not(.home):not(.search) #contents .body {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	}

#contents .entry-contents {
	flex-grow: 1;
	padding: 48px 80px;
	box-sizing: border-box;
	}

	body.home #contents .entry-contents {
		padding: 0;
		}

#contents .block {
	margin-top: 72px;
	}

#contents .block:first-of-type {
	margin-top: 0;
	}

#contents .block h1 {
	margin-bottom: 24px;
	font-size: 32px;
	font-weight: normal;
	line-height: 40px;
	}


.pager {
	display: block;
	margin-top: 32px;
	padding: 1rem 0;
	overflow: hidden;
	}

.pager a {
	float: left;
	padding: 0 40px 0 0;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 40px;
	text-decoration: none;
	position: relative;
	}
.pager a:after {
	content: '';
	background-image: url('images/common/pager-right.svg');
	background-size: cover;
	width: 32px;
	height: 32px;
	position: absolute;
	right: 0;
	top: calc(50% - 16px);
}
.pager a.older {
	float: right;
	}
.pager a.newer {
	padding: 0 0 0 40px;
}
.pager a.newer:after {
	background-image: url('images/common/pager-right.svg');
	right: auto;
	left: 0;
	rotate: 180deg;
}
#sidebar {
	position: relative;
	width: 360px;
	z-index: 3;
	}

body.home #sidebar {
	display: none;
	}

#sidebar::before {
	content: "";
	position: absolute;
	top: -47px;
	right: 0;
	bottom: 0;
	left: 0;
	border: 1px solid rgba(0,0,0,.1);
	border-bottom: none;
	border-radius: 16px 0 0 0;
	background-color: #fff;
	z-index: 1;
	}

	#contents.has-eyecatch #sidebar::before {
		top: -96px;
		}

#sidebar .container {
	position: relative;
	margin-top: -47px;
	width: 360px;
	z-index: 2;
	}

	#contents.has-eyecatch #sidebar .container {
		margin-top: -96px;
		}

#sidebar .sticky {
		}

#quick-menu {
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(0,0,0,.1);
	font-family: 'Oswald', 'Noto Sans JP', sans-serif;
	}
	
#quick-menu-switch {
	display: none;
	position: relative;
	padding: 0 16px;
	background-color: #eee;
	line-height: 40px;
	}

	#quick-menu-switch::after {
		content: "";
		position: absolute;
		top: 5px;
		right: 8px;
		width: 32px;
		height: 32px;
		background: url(/images/arrow_down.svg) no-repeat 0 0;
		background-size: 32px;
		vertical-align: middle;
		transform-origin: 50% 45%;
		transition: transform 0.2s ease-in-out;
		}
	
	#quick-menu.open #quick-menu-switch::after {
		transform: rotate(-180deg);
		}

#quick-menu .content {
	border-top: 1px solid rgba(0,0,0,.1);
	}

	#quick-menu .content:first-of-type {
		border-top: none;
		}

#quick-menu header {
	margin-bottom: 8px;
	padding: 24px 32px 0 32px;
	}

#quick-menu h1 {
	margin-bottom: 16px;
	line-height: 130%;
	}

#quick-menu .switch {
	font-size: 90%;
	}

#quick-menu #schedules form {
	display: none;
	padding: 0 32px 24px 32px;
	font-size: 90%;
	}

	#quick-menu #trackings form {
		margin: 0 32px;
		padding: 8px 0 16px 0;
		border-top: 1px dashed rgba(0,0,0,.1);
		font-size: 90%;
		}

		#quick-menu #trackings form:first-of-type {
			padding: 0 0 16px 0;
			border-top: none;
			}

	#quick-menu #schedules,
	#quick-menu #trackings {
		overflow: hidden;
		zoom: 1;
		}

	#quick-menu #schedules.schedule #form-schedule,
	#quick-menu #schedules.port #form-port,
	#quick-menu #schedules.more #form-more {
		display: block;
		}

#quick-menu dl {
	position: relative;
	min-width: 216px;
	}

#quick-menu dt {
	color: #000;
	line-height: 24px;
	}

	#quick-menu #schedules dt {
		float: left;
		clear: left;
		padding-top: 8px;
		width: 4em;
		line-height: 32px;
		}

	#quick-menu #trackings dt {
		color: #86ade8;
		}

#quick-menu dd {
	padding-top: 8px;
	min-height: 32px;
	}

	#quick-menu #schedules dd {
		margin-left: 4em;
		}

#quick-menu dd label {
	margin-right: 1ex;
	line-height: 34px;
	}

#quick-menu dd input[type=radio] {
	margin-bottom: 8px;
	}

#quick-menu dd input.search {
	margin-left: 8px;
	}

#quick-menu dd.period {
	display: flex;
	}

#quick-menu dd div.input-period {
	display: flex;
	width: 100%;
	padding: 3px 3px 0 3px;
	height: 32px;
	border-radius: 4px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	}

#quick-menu dd div.input-period input {
	min-width: 64px;
	height: 24px;
	min-height: auto;
	padding: 0 4px;
	border-radius: 3px;
	border: none;
	background-color: #eee;
	line-height: 24px;
	font-size: 90%;
	color: #000;
	text-align: center;
	vertical-align: top;
	}

#quick-menu dd div.input-period span {
	display: block;
	padding: 0 4px;
	text-align: center;
	line-height: 24px;
	font-size: 12px;
	color: #999;
	}

#quick-menu dd div.search-group {
	display: flex;
	}

#quick-menu #form-more li {
	padding: 6px 0 0 8px;
	}

#quick-menu #form-more li a {
	display: inline-block;
	line-height: 24px;
	vertical-align: top;
	}

#quick-menu #form-more li a.link::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 8px;
	background: url(/images/icon-eservice.png) no-repeat 0 0/cover;
	vertical-align: top;
	}

#quick-menu #form-more li a.guide {
	position: relative;
	display: inline-block;
	margin-left: 8px;
	padding-left: 12px;
	font-size: 80%;
	line-height: 24px;
	}

#quick-menu #form-more li a.guide::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 24px;
	margin-right: 6px;
	background: url(/images/arrow_next.svg) no-repeat center center;
	background-size: 6px 12px;
	opacity: .4;
	vertical-align: top;
	}

#trakNoTpCdParam {
	margin-bottom: 8px;
	}

#recruit-banner {
	padding: 0;
	border-bottom: 1px solid rgba(0,0,0,.1);
	}

#recruit-banner img {
	border-radius: 15px 0 0 0;
	overflow: hidden;
	}

#submenu a {
	display: block;
	position: relative;
	padding: 9px 32px 9px 56px;
	box-shadow: 0 1px 0 rgba(0,0,0,.1);
	line-height: 28px;
	font-weight: bold;
	text-decoration: none;
	}

	#submenu dt {
		padding: 11px 32px 11px 32px;
		box-shadow: 0 1px 0 rgba(0,0,0,.1);
		font-size: 90%;
		color: #999;
		font-weight: bold;
		}

	#submenu dd a:hover {
		color: #999;
		}

	#submenu dd a.selected {
		background: url(/images/selected_bg.png) repeat 0 0;
		background-size: 16px;
		}

	#submenu dd a::before {
		content: "";
		position: absolute;
		top: 18px;
		left: 32px;
		width: 12px;
		height: 12px;
		border-radius: 6px;
		background-color: #86ade8;
		}

	#submenu a.selected::before {
		background-color: #e60012;
		}




/* ////////////////////////////////////////////////////////////////////////////////
///
/// under 1440
///
//////////////////////////////////////////////////////////////////////////////// */

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

#container {
	margin-top: 124px;
	}

#contents .entry-contents {
	padding: 48px;
	}

#contents .post-contents {
	padding: 48px 10%;
	line-height: 1.8em;
	overflow: hidden;
	}

#contents .post-contents p {
	margin-bottom: 1.8em;
	}

#contents .post-contents a {
	color: #e60012;
	}

#contents .post-contents .eyecatch {
	position: static;
	float: right;
	width: 40%;
	height: auto;
	margin: 0 0 48px 48px;
	padding: 8px;
	border: 1px solid #eee;
	}

.switch li {
	flex: auto;
	}


}





/** 定期コンテナ船30周年記念ロゴ **/
.anniv {
	max-width: 30%;
	width: 180px;
	background-color: #fff;
	border-radius: 0 0 8px 8px;
	padding: 1.5rem;
	position: absolute;
	right: 2.5rem;
	top: 0;
	z-index: 100;
	box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.1);
}

/** 定期コンテナ船30周年記念バナー **/
.anniv_wrap {
	margin-top: -96px;
	height: calc(100vh - 120px);
}
.anniv_bnr {
	background-image: url(https://ai1433gof0.smartrelease.jp/images/liner/30th_anniversary_main_bnr.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	height: calc(100% - 120px);
}
.anniv_bnr_catch h2 {
	background: rgb(236,44,39);
	background: radial-gradient(circle, rgba(236,44,39,1) 0%, rgba(230,25,19,1) 100%);
	text-align: center;
	font-size: 26px;
	color: #fff;
	padding: 1.5rem 0.5rem;
	line-height: 1.4;
}
#contents .eyecatch.liner {
	margin-top: 0;
}


@media only screen and (min-width: 768px) and (max-width: 1120px) {
  footer .c-footer_menu {
    flex-basis: 30%!important;
  }
}






/** SP menu simple **/
:root {
  --txt-color: #000;
  --accent-color: #E60012;
  --red-color: #D40015;
  --gray-color: #9D9D9D;
}


/* reset.css */
/*
- :where()は簡単に上書きできるように詳細度を低くするために使用しています。
*/
* {
  margin: 0;
  padding: 0;
  line-height: calc(0.35rem + 1em + 0.35rem);
}

/* より直感的なボックスサイズのモデルを使用 */
*,
::before,
::after {
  box-sizing: border-box;
}

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  height: 100%;
  block-size: 100%;
  -webkit-text-size-adjust: none;
}

/* 減速を好まないユーザーのためにスムーズなスクロールを実現 */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  height: 100%;
  margin: 0;
  /* テキストのレンダリングを改善 */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
  /* scrollbar-gutter: stable both-edges; バグが修正されるまで削除: https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2 */
  color: #000;
  text-align: inherit;
  font-family: "helvetica-lt-pro", "MFW-PMidashiGoMB31Pr6N-Bold", "BIZ UDPGothic", "Meiryo", sans-serif;
  font-weight: 600;
  /* user-select: none;
  -webkit-user-select: none; */
  caret-color: transparent;
  font-feature-settings: "palt";
  letter-spacing: 0.05rem;
	overflow-x: hidden;
}

@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}
/* 各メディア要素のデフォルトを改善 */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

/* ストロークを削除し、fillの塗りつぶしカラーはフォントカラーを継承 */
:where(svg) {
  stroke: none;
  fill: currentColor;
}

/* fill属性のないSVG */
:where(svg):where(:not([fill])) {
  /* fillを取り除き、ストロークのカラーはフォントカラーを継承 */
  stroke: currentColor;
  fill: none;
  /* 丸みを帯びたストローク */
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* width属性のないSVGのサイズを設定 */
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

/* フォーム内のタイポグラフィのスタイルを削除 */
:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button,
[contenteditable="true"] {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;user-select: auto;
    -webkit-user-select: auto;
    caret-color: auto;
}

/* textareaのサイズ変更は垂直のみにし、ブラウザがサポートしている場合にのみblockにします */
:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
/* テキストのオーバーフローを回避 */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* article、aside、nav、section内のh1フォントサイズを修正 */
h1 {
  font-size: 2em;
}

/* リストの役割をするul、ol要素のリストスタイルを削除。デフォルトのスタイルが削除されることを示唆しています */
:where(ul, ol)[role=list] {
  list-style: none;
}

/* クラスを持たないアンカータグに、より読みやすい下線スタイルを設定。アンカータグに設定することもできますが、コンフリクトを引き起こす可能性があります */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* インタラクティブな要素は適切なカーソルを設定して操作できることを明確にする */
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

/* フォーカスのアウトラインをアニメーション化 */
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

/* ユーザーがボタンのテキストを選択できないようにする */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  text-align: center;
}

/* 無効化されたボタンには無効化されたカーソルを表示 */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

/*===================================================================
//  共通設定
//=================================================================*/
.u-txt {
  font-style: normal;
  /*transform: rotate(0.05deg);*/
}

a {
  text-decoration: none;
  color: #000;
}

a:hover,
a:hover img,
button:hover {
  opacity: 0.7 !important;
  transition: all 0.3s;
  cursor: pointer;
}

.u-left {
  float: left;
}

.u-right {
  float: right;
}

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

.u-alignl {
  text-align: left;
}

.u-alignr {
  text-align: right;
}

.u-none {
  display: none;
}

.u-border-none {
	border: none!important;
}

.u-block {
  display: block;
}

.u-inline-block {
  display: inline-block;
}

.u-inline {
  display: inline;
}

.u-flex {
  display: flex;
  width: 100%;
}

.u-hidden {
  overflow: hidden;
}

.u-visible {
  overflow: visible;
}

.u-vertical-t {
  vertical-align: top;
}

.u-vertical-m {
  vertical-align: middle;
}

.u-vertical-b {
  vertical-align: bottom;
}

.u-font-bold {
  font-weight: bold;
}

.u-font-normal {
  font-weight: normal;
}



.u-radius-5 {
  border-radius: 5px;
}

.u-box {
  box-sizing: border-box;
}

.u-relative {
  position: relative;
}

.u-anime {
  transition: all 0.3s;
}

a:hover img.alpha {
  opacity: 0.7;
}

.u-wide {
  width: 100%;
  height: auto;
}

.u-no-margin-t {
  margin-top: 0 !important;
}

.u-no-margin-b {
  margin-bottom: 0 !important;
}

.u-no-margin-l {
  margin-left: 0 !important;
}

.u-no-margin-r {
  margin-right: 0 !important;
}

.u-no-padding-t {
  padding-top: 0 !important;
}

.u-no-padding-b {
  padding-bottom: 0 !important;
}

.u-no-padding-l {
  padding-left: 0 !important;
}

.u-no-padding-r {
  padding-right: 0 !important;
}

.u-space-top {
  padding-top: 2.5em;
}

.u-space-btm {
  padding-bottom: 2em;
}

.u-contents-space-top {
  padding-top: 5em;
}

.u-contents-space-btm {
  padding-bottom: 4.5em;
}

.u-contents-most-top {
  padding-top: 10em;
}

.u-contents-most-btm {
  padding-bottom: 10em;
}

.u-after-arrow:after {
  content: " ≫";
}

.u-after-endmark:not(:last-child):after {
  content: " / ";
}

.u-ellipsis {
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  display: block;
}

.u-noscroll {
  position: fixed;
  overflow-y: scroll;
}

.u-bg-c {
  background-position: center top;
  background-repeat: no-repeat;
}

ul, ol {
  list-style: none;
}

.u-appear-contents,
.u-appear-delay > li {
  position: relative;
  opacity: 0;
  top: 20px;
  -webkit-transform: translate3d(0, 0, 0);
}

table.u-base-table {
  width: 100%;
  border-collapse: collapse;
}

.u-clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*===================================================================
//  基本設定
//=================================================================*/


body.fixed {
  overflow: hidden;
}

#content {
  overflow: hidden;
}

#pagetop,
#pagebottom {
  word-break: break-all; /*min-width: 1080px;*/
  position: relative;
}

.l-contents {
  /* max-width: 1400px; */
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  margin: 0 auto;
}
.l-contents-narrow {
  max-width: 710px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto;
}

.u-tb {
  display: none !important;
}

.u-sp {
  display: none !important;
}

a:focus {
  outline: none;
}

table.u-base-table thead,
table.u-base-table tbody {
  display: block;
}
table.u-base-table tr {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: stretch;
  /* border-bottom: 1px solid #000; */
}
/* table.u-base-table tr:last-child {
  border-bottom: 1px solid #000;
} */
table.u-base-table th {
  flex-basis: 200px;
  position: relative;
  display: table-cell;
  vertical-align: top;
  /* padding: 10px 0.5rem 10px 0rem; */
  text-align: left;
  color: #222;
  font-weight: 600;
  line-height: 1.5;
	border-bottom: 1px solid #000;
}
table.u-base-table th .u-txt {
  font-size: 12px;
  padding: 6px 0;
  line-height: normal;
  min-height: 39px;
  font-weight: 700;
  display: block;
}
table.u-base-table th .u-txt.height100 {
  height: 100%;
}
table.u-base-table td {
  /* display: table-cell;
  vertical-align: middle; */
  /* padding: 1.2rem 1rem 1.3rem; */
  flex-grow: 1;
  flex-basis: calc(100% - 290px);
	border-bottom: 1px solid #000;
}
table.u-base-table td ul.list,
table.u-base-table td ol.list {
  margin-left: 1.8em;
}
table.u-base-table td > .u-txt {
  font-size: 12px;
  padding: 6px 0;
  /* line-height: 2.2; */
  min-height: 39px;
  align-items: center;
  display: flex;
  font-weight: 600;
	gap: 0.5rem;
	text-align: left;
}
table.u-base-table th > .u-txt:not(:first-child),
table.u-base-table td > .u-txt:not(:first-child) {
  border-top: 1px solid #000;
}
table.u-base-table th > .u-txt span,
table.u-base-table td > .u-txt a {
  line-height: 1.5;
	display: inline-block;
}
table.u-base-table td > .u-txt.pdf::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url('images/common/icon-pdf.png') no-repeat center center;
	background-size: cover;
	vertical-align: middle;
}

dl.u-base-dl {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 25px 10px;
}
dl.u-base-dl:after {
  content: "";
  display: block;
  clear: both;
}
dl.u-base-dl:last-child {
}
dl.u-base-dl dt {
  display: block;
  float: left;
  /* padding: 0.5rem 0.5rem; */
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  flex-basis: 160px;
  text-align: left;
}
dl.u-base-dl dt i {
  display: inline-block;
  vertical-align: middle;
}
dl.u-base-dl dd {
  /* padding: 0.5rem 0.5rem; */
  flex-basis: calc(100% - 170px);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
dl.u-base-dl dd ul.list,
dl.u-base-dl dd ol.list {
  margin-left: 1.8em;
}
dl.u-base-dl dd p {
  padding-bottom: 0.5em;
}

.u-bg_b {
  background-color: #F5F7FA;
  position: relative;
  /*&:before {
      content: '';
      border-top: dotted 5px #fff;
      width: 100%;
      height: 5px;
      position: absolute;
      top: -1px;
      right: 0;
      left: 0;
  }
  &:after {
      content: '';
      border-bottom: dotted 5px #fff;
      width: 100%;
      height: 5px;
      position: absolute;
      bottom: -1px;
      right: 0;
      left: 0;
  }*/
}

.u-red {
  color: #FF004A;
}
.u-anchor {
  margin-top: -7rem;
  padding-top: 7rem;
}
.u-link {
  text-decoration: underline !important;
  vertical-align: middle;
  line-height: 1.5;
  display: inline-block;
}
.u-link-border {
  font-size: 13px;
  border: 1px solid #000;
  padding: 0.6rem 1rem;
  text-decoration: underline;
  display: inline-block;
}
.icon-openinnew {
  margin-left: 0.5rem;
  font-size: 0.6rem;
  vertical-align: middle;
}

.u-small {
  font-size: 12px;
}

.u-marker {
  background: linear-gradient(transparent 55%, #ffeb5d 55%);
  font-weight: bold;
  display: inline;
  padding: 0 0.15em;
}

.u-margin-b {
  margin-bottom: 2em;
}

.u-grid_layout {
  display: grid;
  grid-gap: 0 32px;
  gap: 0 32px;
  grid-auto-flow: row;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.c-btn_wrap .c-btn {
  display: inline-block;
  width: 250px;
  border-radius: 50px;
  padding: 0.5rem 1rem 0.6rem;
  margin: 0.4rem 1%;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  text-align: center;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1);
}
.c-btn_wrap .c-btn.c-demo_btn {
  background-color: #fff;
  color: #00095C;
  border: 2px solid #B7CDEA;
}
.c-btn_wrap .c-btn.c-contact_btn {
  color: #FF004A;
  background-color: #fff;
  border: 2px solid #FF004A;
}

.u-section_txt {
  display: inline-block;
  font-size: 4rem;
  color: #1d1d1d;
  font-weight: bold;
  position: relative;
  padding: 1.5rem;
  text-align: center;
}

.u-section_ttl.gothic {
  font-size: 24px;
}

.u-section_ttl .small {
  display: block;
  font-size: 13px;
}

.u-txt {
  display: inline-block;
  vertical-align: middle;
}

.u-desc_txt {
  font-size: 14px;
  max-width: 750px;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;
  padding-bottom: 3em;
  font-weight: bold;
}

i {
  display: inline-block;
  vertical-align: middle;
}

.u-icon {
  display: inline-block;
  vertical-align: middle;
  width: 50px;
}

/*.icon::after {
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 17px;
    height: 17px;
}*/



select {
  -webkit-appearance: none;
  appearance: none;

  cursor: pointer;
  position: relative;
  background-image: url('images/common/arrow_select.svg');
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 6px;
}



/*===================================================================
//  ヘッダー
//=================================================================*/
header .l-outer {
  background: #fff;
  z-index: 100;
  max-width: 100%;
  width: 100%;
  border-radius: 10px;
  -webkit-backdrop-filter: blur(16px) brightness(1.1) saturate(60%);
  backdrop-filter: blur(16px) brightness(1.1) saturate(60%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.8rem;
}
header .l-contents {
  position: relative;
  padding: 46px 35px 85px;
}
header .c-header_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between  ;
  align-items: center;
  row-gap: 6rem;
}
header .c-logo_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8.3vw;
  /* flex-basis: 60%; */
  flex-grow: 1;
	align-items: center;
}
header .c-logo_item {
  /* flex-basis: 47.5%; */
  display: block;
}
header .c-logo_img_group {
  width: 100%;
  max-width: 253px;
  display: inline-block;
  vertical-align: middle;
  /* padding: 10px 10px; */
}
header .c-logo_img_kambarakisen {
  width: 178px;
  max-width: 100%;
  display: block;
  /* padding: 2rem 0; */
}
header .c-action_wrap {
  /* flex-basis:  40%; */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
	gap: 2vw;
}
header .c-switch_lang {
  /* flex-basis: 100px; */
  font-size: 12px;
  font-weight: 700;
}

/* bogoのテキスト表示変更 */
.bogo-language-switcher {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: hidden;
	flex-direction: row-reverse;
	justify-content: center;
}
.bogo-language-switcher .ja a {
    font-size: 0;
}
.bogo-language-switcher .ja a::before {
    content: "JP";
    font-size: 12px;
}
.bogo-language-switcher .ja a::after {
    content: "/";
    font-size: 12px;
    margin: 0 8px 0 5px;
}
.bogo-language-switcher .en a {
    font-size: 0;
}
.bogo-language-switcher .en a::before {
    content: "EN";
    font-size: 12px;
}
.bogo-language-switcher .current a::before {
	color: var(--gray-color);
}


header .c-search {
  /* flex-basis: 100px; */
  font-size: 12px;
  font-weight: 600;
}
header .c-head_contact {
  /* flex-basis: 100px; */
  font-size: 12px;
  font-weight: 600;
}
header .c-head_eservice {
  /* flex-basis: 100px; */
	padding: 0 0.5rem;
}
header .c-head_eservice a {
	border: 1px solid #000;
	display: block;
	width: 100%;
}
header .c-head_eservice a img {
	width: 70px;
  background-color: #fff;
}
header .c-btn_wrap {
  display: inline-block;
  vertical-align: middle;
  max-width: 400px;
  width: 20%;
}
header .c-btn_wrap .c-btn {
  display: inline-block;
  padding: 0.5rem 2.5% 0.6rem;
  width: 100%;
  max-width: 170px;
  margin: 0.4rem 1%;
}
header .c-contents_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  width: 100%;
    gap: 40px;
}
header .c-contents_menu_item {
  text-align: center;
}
header .c-contents_menu_item:hover .c-contents_child_menu_list {
  opacity: 1;
  visibility: visible;
  transform: translateY(-5px);
}
header .c-contents_menu_item.home .c-contents_child_menu_list {
	padding-left: 35px;
}
header .c-contents_menu_item.about .c-contents_child_menu_list {
	padding-left: 113px;
}
header .c-contents_menu_item.service .c-contents_child_menu_list {
	padding-left: 209px;
}
header .c-contents_menu_item.liner .c-contents_child_menu_list {
	padding-left: 304px;
}
header .c-contents_menu_item.about-en .c-contents_child_menu_list {
	padding-left: 115px;
}
header .c-contents_menu_item.service-en .c-contents_child_menu_list {
	padding-left: 255px;
}
header .c-contents_menu_item.liner-en .c-contents_child_menu_list {
	padding-left: 417px;
}
header .c-contents_menu_item.openinnew .u-txt:after {
	font-family: 'icomoon' !important;
	content: '\e900';
	display: inline-block;
	margin-left: 5px;
	font-size: 10px;
	color: var(--gray-color);
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
header .c-contents_parent_menu {
  display: block;
  /* padding: 0.8rem 2rem; */
  cursor: pointer;
}
header .c-contents_parent_menu.is-active {
  opacity: 0.6;
}
header .c-contents_child_menu_list {
  position: absolute;
  left: 0px;
  width: 100vw;
  background: #fff;
  z-index: 10;
  padding: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: translateY(10px); /* 少し下から浮き上がる演出 */
}
header .c-contents_parent_menu .u-txt {
  font-size: 13px;
  font-weight: 600;
}
header .c-contents_parent_menu .u-txt:hover {
  opacity: .6;
  transition: .3s all ease;
}
header .c-contents_parent_menu:hover {
  opacity: 1 !important;
}

header .c-contents_child_menu_item {
  text-align: left;
}
header .c-contents_child_menu_link {
  font-size: 12px;
  display: block;
}




header .c-sp-icon {
  display: none;
}

.c-sp-icon {
  display: table-cell;
  vertical-align: middle;
  position: absolute;
  right: 30px;
}
#g-nav .c-nav_caption {
  font-size: 14px;
  display: block;
  margin: 0 2% 1rem;
  color: #fff;
}
#g-nav .c-nav_sns {
  width: 96%;
  text-align: left;
  margin: 0 2% 3rem;
  border-bottom: 1px solid;
}
#g-nav .c-nav_sns .c-nav_caption {
  font-size: 14px;
  display: inline-block;
  padding-right: 1rem;
  margin: 0;
}
#g-nav .c-nav_sns a {
  display: inline-block;
  padding: 0.5rem 0.5rem;
  font-size: min(7vw, 24px);
}
#g-nav .c-logo_item {
  padding-bottom: 77px;
}
#g-nav .c-nav_list .c-header_logo {
  background: transparent;
  float: none;
  width: 200px;
  padding-bottom: 0;
}
#g-nav .c-nav_item {
  text-align: left;
}
#g-nav .c-nav_item_inner {
  cursor: pointer;
  font-weight: 700;
  padding: 0.5rem 0.5rem 0.5rem 0rem;
  display: flex;
  width: 100%;
  align-items: center;
}
#g-nav .c-nav_item_inner .u-txt {
  flex-grow: 1;
  font-size: 1rem;
}
#g-nav .c-nav_item_inner .icon-remove,
#g-nav .c-nav_item_inner .icon-add {
  font-size: 2rem;
}
#g-nav .c-nav_child_list {
  display: none;
  margin-left: 1.3rem;
}
#g-nav .c-nav_child_item {
}
#g-nav .c-nav_child_item_inner {
  font-weight: 700;
  padding: 0.5rem 3rem 0.5rem 0rem;
  display: block;
}
#g-nav .c-nav_child_item_inner .u-txt {
  font-size: 0.9rem;
}




#g-nav .c-nav_btm {
  margin-top: 3rem;
}
#g-nav .c-nav_btm .u-mv_copy {
  font-size: 14px;
}
#g-nav .c-nav_btm .u-nav_link {
  padding-left: 1rem;
  font-size: 14px;
}
#g-nav .c-switch_lang {
    font-size: 16px;
    margin-bottom: 1.5rem;
} 
#g-nav .c-head_eservice {
    width: 30%;
}



/**追従ヘッダー**/
.c-sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  
  /* 初期状態は透明で上に少しずらしておく */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
  pointer-events: none;
}
.c-sticky-header.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.c-sticky-header .l-contents {
  width: 100vw;
  padding: 46px 35px 85px;
}

.c-sticky-header .c-logo_item,
.c-sticky-header .c-action_wrap,
.c-sticky-header .c-sp-icon {
  pointer-events: auto;
}
body.fixed .c-sticky-header.is-show .c-logo_wrap,
body.fixed .c-sticky-header.is-show .c-action_wrap {
  opacity: 0;
  transition: all 0.3s;
}



/* -- ul#menu -------------------------------------------------------------------------------- */
/* #g-nav {
  list-style-type: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  opacity: 0;
  display: none;
} */

/* -- #l-sp-icon -------------------------------------------------------------------------------- */
.c-sp-icon {
  width: 60px;
  height: 60px;
  max-width: 85px;
  position: absolute;
  right: 20px;
  top: 15px;
  z-index: 1000;
}

.c-sp-icon.c-sp-open {
  position: fixed;
}

.c-sp-icon:hover {
  cursor: pointer;
  opacity: 1;
}

.c-sp-icon span.c-menubar,
.c-sp-icon span.c-menubar:before,
.c-sp-icon span.c-menubar:after {
  display: inline-block;
  width: 29px;
  height: 3px;
  background: var(--txt-color);
  position: absolute;
  transition-property: transform;
  transition-duration: 0.3s;
}

.c-sp-icon span.c-menubar {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
}

.c-sp-icon span.c-menubar:before {
  content: "";
  transform: translateY(-5px) rotate(0deg);
}

.c-sp-icon span.c-menubar:after {
  content: "";
  transform: translateY(5px) rotate(0deg);
}

div.c-sp-open span.c-menubar {
  background: transparent !important;
}

div.c-sp-open span.c-menubar:before {
  background: #000;
  transform: rotate(45deg) !important;
}

div.c-sp-open span.c-menubar:after {
  background: #000;
  transform: rotate(-45deg) !important;
}

.c-sp-icon {

}
.c-sp-icon span.text {
  position: absolute;
  bottom: 7px;
  right: 18px;
  font-size: 10px;
  display: none;
}

div.c-sp-open span.text {
  color: #fff;
}

#g-nav {
	padding: 0 !important;
	min-height: unset !important;
	bottom: 0;	
	width: 100%;
	height: 0;
	z-index: 999;
	overflow-y: scroll;

	opacity: 0;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}
#g-nav.panelactive {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
	left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: block;
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: 0.2s; /*0.2 秒遅らせて出現*/
  animation-fill-mode: forwards;
  overflow-y: scroll;
	padding: 30px 30px 50px !important;
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*メニュー用背景拡大*/

.c-bottomup-bg {
  position: fixed;
  z-index: 3;
  width: 100%;
  background: #fff;
  transform: translateY(100%);
  left: 0;
  bottom: 0;
  transition: transform 0.4s ease-out;
  height: 100vh;
}
.c-bottomup-bg.active {
  transform: translateY(0%);
  top: 0;
}

/*===================================================================
//  TOP - セクション
//=================================================================*/
main {
  width: 100%;
  margin: 0 auto 0;
}
main .c-home-main {
  position: relative;
}
main .c-home-main-wrap {
  width: 100%;
  position: relative;
  height: 100%;
  margin: 0 auto 0;
  overflow: hidden;
  z-index: 0;
}
main .c-home-main-wrap img {
  width: 100%;
}
main .c-home-main .l-contents {
}
main .c-home-main_catchcopy {
    text-align: center;
    font-size: min(2.6vw, 36px);
    font-weight: 700;
    padding-top: 4rem;
    padding-bottom: 1.5rem;
    line-height: 1.5;
}
main .c-home-main_subcatch {
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 5rem;
  text-align: center;
}



/** HOME BUSINESS **/

#home-business .c-home-business__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5%;
}
#home-business .c-home-business__item {
  flex-basis: 31.5%;
  flex-grow: 1;
  margin-bottom: 3rem;
}
#home-business .c-home-business {
  display: block;
}
#home-business .c-home-business_img {
  padding-bottom: 1rem;
}
#home-business .c-home-business__name {
  font-weight: 700;
  font-size: 16px;
  padding-bottom: 0.8rem;
}
#home-business .c-home-business__name .alpha {
  font-size: 13px;
  display: block;
    /* padding-bottom: 0.3rem; */
}
#home-business .c-home-business__description {
  font-size: 14px;
  padding-bottom: 0.8rem;
}
#home-business .c-home-business__more {
  text-decoration: underline;
  font-size: 14px;
}




/*===================================================================
//  フッター
//=================================================================*/
footer {
  width: 100%;
  /* background-color: #fff;
  border-top: 1px solid #F5F7FA; */
  position: relative;
}
footer .l-contents {
  padding-bottom: 5rem;
  padding-left: 0;
  padding-right: 0;
}
footer .c-footer_logo_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between  ;
  align-items: center;
  row-gap: 6rem;
  padding: 5rem 35px;
}
footer .c-logo_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8.3vw;
  flex-basis: 100%;
  align-items: center;
  flex-grow: 1;
  max-width: 580px;
}
footer .c-logo_item {
  /* flex-basis: 45%; */
  display: block;
}
footer .c-logo_img_group {
  width: 100%;
  max-width: 253px;
  display: inline-block;
  vertical-align: middle;
  /* padding: 10px 10px; */
}
footer .c-logo_img_kambarakisen {
  width: 178px;
  max-width: 100%;
  display: block;
}

footer .c-footer_nav_wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
	gap: 40px 20px;
  padding: 0 20px;
}
footer .c-footer_menu {
  flex-basis: 18%;
  min-width: 200px;
  padding: 0rem 0 2rem;
  flex-grow: 1;
}
footer .c-footer_menu_category {
  font-weight: 600;
  font-size: 12px;
  border-bottom: 1px solid #000;
  padding-bottom: 0.8rem;
  margin-bottom: 0.8rem;
}
footer .c-footer_menu_link {
  display: block;
  line-height: 1.1;
  padding: 0.15rem 0;
	letter-spacing: 0rem;
}

footer .c-footer_menu_item.openinnew .c-footer_menu_txt:after {
	font-family: 'icomoon' !important;
	content: '\e900';
	display: inline-block;
	margin-left: 5px;
	font-size: 10px;
	color: var(--gray-color);
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
footer .c-footer_menu_txt {
  font-weight: 600;
  font-size: 12px;
}
footer .c-footer_btm {
  text-align: center;
}
footer .c-footer_btm .c-copy {
  font-size: 14px;
  padding: 0.8rem 0;
  font-size: 9px;
  display: block;
  font-weight: 400;
}


/*===================================================================
//  固定ページ
//
=================================================================*/
/** 共通 **/

main .c-page-main {
  position: relative;
}
main .c-page-main-wrap {
  width: 100%;
  position: relative;
  height: 100%;
  margin: 0 auto 0;
  overflow: hidden;
  z-index: 0;
}
main .c-page-main-wrap_img {
  width: 100%;
}

.c-page-ttl-wrap {
  padding: 7rem 0;
  text-align: center;
  position: relative;
}
.c-page-ttl {
  font-size: 32px;
  line-height: 1.5;
}
.c-page-ttl-small {
  font-size: 16px;
}
.c-page-ttl-wrap strong {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 3rem;
  font-size: 20px;
  font-weight: 700;
}
.c-page-ttl-wrap .u-alpha {
    font-size: 20px;
}

.p-page-head-wrap {
  text-align: center;
}
.p-page-head-wrap .p-page-main-txt {
  font-size: 46px;
  padding: 3rem 0;
}
.p-page-sub-txt {
  font-size: 14px;
}
.p-page-head-wrap .p-page-paragraph-wrap {
  text-align: center;
  padding: 6rem 0;
  letter-spacing: inherit;
}


.p-page-headding {
  text-align: center;
	font-size: 24px;
}
.p-page-headding-ttl {
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  padding-bottom: 3.5rem;
}
.p-page-headding-ttl .u-alpha {
  font-size: 20px;
}
.p-page-headding-ttl-child {
  font-size: 20px;
  padding-bottom: 3rem;
}


.p-page-paragraph-wrap {
  text-align: center;
  margin: auto;
  text-align: left;
}
.p-page-paragraph-wrap:not(:last-child) {
  padding-bottom: 2rem;
}
.p-page-img-wrap {
  margin-bottom: 1.8rem;
}
.p-page-paragraph-img {
  margin: auto;
}


.p-page-paragraph-wrap .p-page-child-headding {
  font-size: 16px;
  padding-bottom: 1.5rem;
}
.p-page-paragraph-wrap .p-page-main-txt {
  font-size: 14px;
  padding: 0 0 4rem;
  text-align: center;
}
.p-page-paragraph-wrap .p-page-txt {
  font-size: 14px;
  padding-bottom: 1rem;
  line-height: 2;
}
.p-page-paragraph-wrap .u-link {
  font-size: 13px;
}
.p-page-paragraph-wrap .p-link-wrapper {
  padding: 1rem 0;
}
.p-page-paragraph-wrap .p-link-border-wrapper {
  padding: 1rem 0;
}

.p-page-paragraph-wrap ol.decimal {
  list-style: decimal;
  margin-left: 1.3rem;
  font-size: 12px;
}
.p-page-paragraph-wrap ol.lower-roman {
  list-style: lower-roman;
  margin-left: 1.3rem;
  font-size: 12px;
}
.p-page-paragraph-wrap ol.circle-number {
  list-style: none;
  counter-reset: number;
}
.p-page-paragraph-wrap ol.circle-number > li {
  counter-increment: number;
  /* display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px; */
  padding-bottom: 0.3rem;
  position: relative;
  margin-left: 1.3rem;
}
.p-page-paragraph-wrap ol.circle-number > li::before {
  content: counter(number);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 14px;
  height: 14px;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 9px;
  flex-shrink: 0;
  letter-spacing: -0.02rem;
  text-indent: -0.02rem;
  position: absolute;
  left: -1.3rem;
  top: 6px;
}
.p-page-paragraph-wrap ul.disc {
  list-style: disc;
  margin-left: 1.3rem;
  font-size: 12px;
}


.c-twocolumn-cont {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5%;
  height: 100%;
}

.c-sidebar {
  flex-basis: 264px;
  position: sticky;
  top: 120px;
  background: #fff;
}
.c-sidebar-ttl {
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
}
.c-sidebar-ttl .u-txt {
  font-size: 12px;
    padding: 0 0 15px;
}
.c-sidebar-item a {
  font-size: 12px;
  display: block;
}

.c-twocolumn-cont .c-detail {
  flex-basis: calc(95% - 264px);
} 
.c-twocolumn-cont .c-detail-ttl {
  font-size: 12px;
  padding: 8rem 0 10px 0;
  line-height: 1.5;
  min-height: 39px;
  font-weight: 700;
  display: block;
  border-bottom: 1px solid #000;
} 


/* .pager {
	display: block;
	padding: 4rem 0 0;
	overflow: hidden;
	}

.pager a {
	float: left;
	padding: 0.5rem 1.8rem;
	border: 1px solid #000;
	font-size: 14px;
	text-decoration: underline;
	}

.pager a.older {
	float: right;
	} */


	.nav-links {
    display: flex;
		flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
	}
	.page-numbers {
    float: left;
    padding: 0.5rem 1.8rem;
    border: 1px solid #000;
    font-size: 14px;
    text-decoration: underline;
	}
	.page-numbers.current {
    float: left;
    padding: 0.5rem 1.8rem;
    border: none;
    font-size: 14px;
    text-decoration: none;
	}
	.page-numbers.dots {
		border: none;
    text-decoration: none;
	}


.file-icon {
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
}





/** ごあいさつ **/
#greetings .p-page-main-txt {
  text-align: center;
  font-size: 14px;
  padding-bottom: 3rem;
  font-weight: 600;
}
#greetings .p-page-main-txt em {
	display: block;
	font-style: normal;
}
#greetings .p-page-main-txt strong {
	display: block;
	font-weight: 600;
}



/** 企業理念 **/
#philosophy .p-page-paragraph-wrap {
  padding-bottom: 2rem;
  text-align: center;
  max-width: 500px;
  margin: auto;
}
#philosophy .p-page-headding {
  font-size: 20px;
  border-bottom: 1px solid #000;
  padding-bottom: 0.2rem;
  line-height: 1.2;
}
#philosophy .p-page-headding .u-small {
  font-size: 14px;
}
#philosophy .p-page-headding .u-text {
  font-size: 14px;
}
#philosophy .p-page-main-txt {
  font-size: 20px;
  padding: 1.2rem 0;
  letter-spacing: 0.05rem;
}
#philosophy .p-page-sub-txt {
  font-size: 14px;
  padding-bottom: 1rem;
}

#philosophy .p-page-paragraph-inner {
  padding-bottom: 0.5rem;
}
#philosophy .p-page-inner-txt {
  font-size: 20px;
  padding: 0.7rem 0;
  line-height: 1;
}
#philosophy .p-page-inner-sub-txt {
  font-size: 14px;
}


/** 会社概要 **/
#about .l-contents {
	max-width: 1400px;
}
#about .p-about-post {
  display: inline-block;
  line-height: 1.5;
  flex-basis: 180px;
}
#about .p-about-name {
  display: inline-block;
  line-height: 1.5;
  flex-basis: 120px;
}
#about .p-about-incharge {
  display: inline-block;
  line-height: 1.5;
  flex-basis: calc(100% - 340px);
}
#about table.u-base-table th .u-txt {
	min-height: 39px;
  line-height: 2.2;
	/* border-bottom: 1px solid #000; */
	/* margin-bottom: -1px; */
}

/** 沿革 **/

#history table.u-base-table tr.p-table-inner {
	/* border-bottom: 1px solid #000; */
}
#history table.u-base-table th > .u-txt {
	border-bottom: none;
}
#history table.u-base-table td > .u-txt {
	border-bottom: none;
}




/** 組織図 **/
#organization figure img {
	margin: auto;
}

/** 支店・事務所 **/
#office .l-contents {
	max-width: 1400px;
}

#office table.u-base-table tr {
    align-items: end;
}
/* #office table.u-base-table .p-office-table-inner:first-child th .u-txt {
	border-bottom: 1px solid #000;
	margin-bottom: 1px;
	min-height: 40px;
} */
.p-office-table-inner .u-txt a {
  line-height: 1;
}



/** 各事業部門・グループ会社 **/
table.p-department-table .p-department-table-inner {
  gap: 1.5%;
}
table.p-department-table .p-department-table-inner td {
  flex-basis: 32.3333%;
  flex-grow: unset;
}



/** サステナビリティ **/
#sustainable .p-page-head-wrap .p-page-main-txt {
  /* color: var(--accent-color); */
}

/** 定期コンテナ船サービス **/

#service_liner .c-home-main-wrap {

}
#service_liner .c-home-main-wrap_img {
  
}

/* モーダル表示 */
#port-modal.c-modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9999;
	align-items: center;
	justify-content: center;
}
#port-modal.c-modal-overlay.is-show {
    display: flex;
}
#port-modal .c-modal-content {
	background: #fff;
	max-height: 50vh;
	min-height: 385px;
	padding: 40px;
	position: relative;
	overflow: hidden;
}
#port-modal .c-modal-content .u-ttl {
	font-size: 14px;
	padding-bottom: 0.5rem;
}
#port-modal .c-modal-list {
	display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  font-size: 14px;
  row-gap: 0.5rem;
}
#port-modal .c-modal-inner-scroll {
	max-height: 250px;
	min-height: calc(50vh - 164px);
	overflow: hidden;
	border: 1px solid #000;
	padding: 0.8rem;
}
#port-modal .c-modal-inner-scroll .u-small {
	padding-top: 0.5rem;
}
#port-modal .c-modal-close {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 24px !important;
	background: none;
	border: none;
	cursor: pointer;
	max-width: unset;
	width: auto;
}

#port-modal .c-modal-content-panel {
    display: none;
}
#port-modal .c-modal-content-panel.is-show {
    display: block;
}
#port-modal .c-modal-item.is-active a {
	font-weight: bold;
	border-bottom: 4px solid #000;
	color: #000;
  padding: 0px 0 2px 0;
}
#port-modal .c-modal-item a {
    display: block;
		color: var(--gray-color);
    padding: 0px 0 10px 0;
    text-decoration: none;
    transition: background 0.3s;
}

#port-modal table.u-base-table tbody {
	overflow-y: scroll;
	max-height: calc(50vh - 276px);
	min-height: 200px;
}
#port-modal table.u-base-table th {
	flex-basis: 33.333%;
}
#port-modal table.u-base-table th > .u-txt {
	font-size: 14px;
}
#port-modal table.u-base-table td {
	flex-basis: 33.333%;
}
#port-modal table.u-base-table td > .u-txt {
	
}







.p-page-service-features-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
	justify-content: center;
}
.p-page-service-features {
  flex-basis: 49%;
	max-width: 690px;
}




/** 傭船・貨物輸送 **/

#service_charter .p-page-head-wrap .p-page-txt {
  font-size: 20px;
}



/** タグボート **/


#service_tagboat .p-page-table-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
#service_tagboat .p-page-table-inner {
  flex-basis: 49%;
}
table.p-boatlist-table {

}
.p-page-table-wrap .p-page-child-headding {
  font-size: 16px;
  padding-bottom: 1.5rem;
}
/* table.p-boatlist-table .p-boatlist-table-inner th {
  border-bottom: 1px solid #000;
} */
table.p-boatlist-table .p-boatlist-table-inner th > .u-txt {
  padding: 10px 0;
  font-size: 12px;
}
table.p-boatlist-table .p-boatlist-table-inner th,
table.p-boatlist-table .p-boatlist-table-inner td {
  flex-basis: 33.333%;
  font-size: 12px;
}
table.p-boatlist-table .p-boatlist-table-inner td > .u-txt {
  font-size: 12px;
}


.c-cta-wrap {
  /* max-width: 450px; */
}
.c-cta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2%;
}
.c-cta-btn {
  /* flex-grow: 1; */
  flex-basis: 50%;
  max-width: 290px;
  /* margin: auto; */
}




/** ロジスティクス **/
#service_logi .u-super-small {
  font-size: 10px;
}
#service_logi .p-page-warehouse_info {
}
#service_logi table.u-base-table {
	margin-top: 2rem;
}
#service_logi table.u-base-table tr {
	display: table;
}
#service_logi table.u-base-table th,
#service_logi table.u-base-table td {
	width: 16.65%;
	vertical-align: middle;
	display: table-cell;
	padding-left: 0.2rem;
	padding-right: 0.2rem;
}
#service_logi table.u-base-table td > .u-txt {
	font-size: 11px;
}



/** クイックスケジュール検索 **/

.c-tab-group {
  width: 100%;
  display: flex;
  justify-content: space-around;
  border-bottom: 1px solid #000;
	align-items: end;
}
.c-tab {
  cursor: pointer;
  padding: 0.5rem 0.5rem;
  display: inline-block;
  font-size: 14px;
  /* margin: 0 4rem -2px; */
  color: var(--gray-color);
}
.c-tab.is-active { 
  border-bottom: 3px solid #000;
  color: #000;
}
.c-panel {
  display: none;
  padding: 20px 0;
  /* max-width: 1300px; */
  margin: auto;
}
.c-panel.is-show {
  display: block;
}
.c-panel-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1%;
  justify-content: space-between;
}
.c-panel-item {
  /* flex-grow: 1; */
  display: flex;
	flex-wrap: wrap;
  align-items: center;
  gap: 0 0.5rem;
	/* flex-basis: calc(25% - 2rem); */
  /* flex-basis: 25%; */
  justify-content: center;
}
.c-panel-item .main-label {
  font-size: 14px;
  /* width: 95px; */
  text-align: center;
}
.c-panel-item input[type="text"] {
  font-size: 12px;
  font-weight: 400;
  border: 1px solid #000;
  padding: 0.3rem 1rem;
  /* flex-basis: calc(100% - 65px); */
  /* flex-basis: 220px; */
  height: 36px;
  border-radius: 0;
}
.c-panel-item input::placeholder  {
  color: var(--gray-color);
}

.c-panel-item .date-inputs {
  border: 1px solid #000;
  padding: 0.3rem 0.4rem;
  /* flex-basis: calc(100% - 50px); */
  flex-basis: 220px;
  display: flex;
  gap: 10px;
  height: 36px;
	font-size: 12px;
	font-weight: 400;
}
.c-panel-item .date-inputs input { 
  background: #E5E5E5;
  border: none;
  padding: 0;
  line-height: 1.7;
  text-align: center;
  vertical-align: text-top;
  height: unset;
	max-width: 90px;
}
.c-panel-item .date-inputs .separator {
  font-size: 14px;
}


.c-panel-item .year_month_select {
  border: 1px solid #000;
  padding: 0.3rem 0.4rem;
  /* flex-basis: 220px; */
  display: flex;
  gap: 10px;
  height: 36px;
	font-size: 12px;
	font-weight: 400;
}
.c-panel-item .year_month_select select {
  background: #E5E5E5;
  border: none;
  padding: 0;
  line-height: 1.7;
  text-align: center;
  vertical-align: text-top;
  height: unset;
	max-width: 90px;
}
.c-panel-item .year_month_select select.year-select {
    flex-basis: 80px;
}
.c-panel-item .year_month_select select.month-select {
    flex-basis: 50px;
}


.c-panel-item select {
  font-size: 12px;
  font-weight: 400;
  border: 1px solid #000;
  padding: 0.3rem 1rem;
  /* flex-basis: calc(100% - 50px); */
  /* flex-basis: 220px; */
	/* min-width: 200px; */
  height: 39px;
}
.c-switch-item {
  display: flex;
  align-items: center;
  gap: 0 0.5rem;
  /* flex-basis: 22%; */
  justify-content: center;
}
.c-switch-item .main-label {
  font-size: 14px;
  letter-spacing: 0.01rem;
  /* min-width: 143px; */
	text-align: right;
}
.c-switch-item-inner {
  padding: 0.3rem;
  border: 1px solid #000;
  display: flex;
  gap: 0.3rem;
  justify-content: center;
  height: 39px;
  background-color: #fff;
}
.c-switch-item-inner label {
  display: flex;
  gap: 0.3rem;
  justify-content: center;
}
.c-switch-item input[type="radio"] {
  display: none;
}
.c-switch-item .switch-button {
  display: inline-block;
  padding: 0.3rem 0.5rem;
  vertical-align: middle;
  position: relative;
  border: none;
  font-size: 12px;
  line-height: 1.4;
  /* min-width: 60px; */
  text-align: center;
}
.c-switch-item input:checked + .switch-button {
  background-color: #E5E5E5;
	cursor: pointer;
}


.c-panel-item.c-btn-wrap {
  flex-basis: 134px;
}
.c-panel-item input[type=submit] {
  color: #fff;
  background-color: #000;
  flex-basis: 100%;
  font-size: 14px!important;
  max-width: 134px;
  border-radius: 0;
}
/* カレンダーアイコンを消す */
.c-panel-item input[type="date"]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
}

.c-category-label {
    font-size: 10px;
    line-height: 1.5;
    font-weight: 500;
    margin-left: 0.8rem;
    color: var(--gray-color);
}

.c-panel-item.more {
	flex-basis: 40%;
}
.c-panel-item.more .u-txt {
	display: flex;
	justify-content: space-between;
	width: 100%;
	border-bottom: 1px solid #000;
	padding: 0.5rem 0.2rem;
}
.c-panel-item.more a {
}
.c-panel-item.more img {
	margin-right: 0.8rem;
	display: inline-block;
}
.c-panel-item.more em {
	display: inline-block;
	font-style: normal;
	font-size: 12px;
}
.c-panel-item.more .u-small {
}

.c-panel-item .mode-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 1%;
}
.c-panel-item input[type="radio"] {
		margin-right: 0.5rem;
}




#schedule .l-contents {
	max-width: 1400px;
}
#schedule .c-panel-inner {
    justify-content: space-evenly;
  }
#schedule .c-panel-item .main-label {
    min-width: 67px;
    flex-basis: auto;
}





/** フォーム **/
#form .l-contents-narrow {
	max-width: 1040px;
	margin: auto;
	gap: 5%;
}

#form .c-sidebar-item {
	padding: 0 0  0.5rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid #000;
}

#form dl {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 25px 10px;
}
#form dl:after {
  content: "";
  display: block;
  clear: both;
}
#form dl:last-child {
}
#form dl dt {
  display: block;
  float: left;
  /* padding: 0.5rem 0.5rem; */
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  flex-basis: 160px;
  text-align: left;
}
#form dl dt i {
  display: inline-block;
  vertical-align: middle;
}
#form dl dd {
  /* padding: 0.5rem 0.5rem; */
  flex-basis: calc(100% - 170px);
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
#form dl dd .item {
	flex-basis: 100%;
}
#form dl dd ul.list,
#form dl dd ol.list {
  margin-left: 1.8em;
}
#form dl dd p,
#form dl dd em {
	flex-basis: 100%;
  padding-bottom: 0.5em;
	font-size: 12px;
	color: var(--gray-color);
	font-weight: normal;
  font-style: normal;
	text-align: left;
  display: block;
}
#form dl dd i {
	font-weight: normal;
	font-style: normal;
}
#form input {
  font-size: 12px;
  font-weight: 400;
  border: 1px solid #000;
  padding: 0.3rem 0.5rem;
  height: 36px;
  width: 100%; 
	line-height: inherit;
	border-radius: inherit;
}
#form textarea {
	font-size: 12px;
	font-weight: 400;
	border: 1px solid #000;
	padding: 0.3rem 0.5rem;
	height: 180px;
	width: 100%;
	line-height: inherit;
	border-radius: inherit;
}

#form dt.required:after {
	content: "必須";
  font-size: 10px;
  color: var(--red-color);
  display: block;
  line-height: 1.2;
}
.en-US #form dt.required:after {
	content: "Required";
  font-size: 10px;
  color: var(--red-color);
  display: block;
  line-height: 1.2;
}
#form dt.optional:after {
  font-size: 10px;
  color: var(--gray-color);
  display: block;
  line-height: 1.2;
}
#form .p-page-paragraph-wrap {
  font-size: 12px;
  text-align: center;
}
#form .wpcf7-not-valid-tip {
	text-align: left;
}
#form .wpcf7-spinner {
    display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
	text-align: center;
}
#form .wpcf7 form.invalid .wpcf7-response-output, 
#form .wpcf7 form.unaccepted .wpcf7-response-output, 
#form .wpcf7 form.payment-required .wpcf7-response-output {
	border: none;
	color: var(--red-color);
	text-align: center;
}

/*フォーム確認画面*/
#form table {
    width: 100%;
	}
#form tr {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#form th {
  flex-basis: 290px;
  font-size: 12px;
  padding: 10px 0;
  line-height: 1.5;
  min-height: 39px;
  font-weight: 700;
  display: block;
  border-bottom: 1px solid #000;
}
#form td {
  font-size: 12px;
  padding: 10px 0;
  line-height: 1.5;
  min-height: 39px;
  font-weight: 600;
  flex-grow: 1;
  flex-basis: calc(100% - 290px);
  border-bottom: 1px solid #000;
}
#form .wpcf7cp-btns {
	display: flex;
	justify-content: center;
}
input[type=submit], 
button {
	color: #fff;
	background-color: #000;
	flex-basis: 100%;
	font-size: 14px !important;
	max-width: 134px;
	font-weight: 600;
	border: 1px solid #000;
	padding: 0.3rem 1rem;
	width: 100%;
}





/** プライバシーポリシー **/

#privacy table.u-base-table tr {
  /* border-bottom: 1px solid #000; */
}
#privacy .p-page-paragraph-wrap:not(:last-child) {
  padding-bottom: 1rem;
}
#privacy .p-page-paragraph-wrap .p-page-headding {
  font-size: 12px;
  text-align: left;
  padding-bottom: 0.4em;
}
#privacy .p-page-paragraph-wrap .p-page-child-headding {
  font-size: 12px;
  padding-bottom: 0.4rem;
}
#privacy .p-page-paragraph-wrap .p-page-txt,
#privacy .p-page-paragraph-wrap .u-link {
  font-size: 12px;
  padding-bottom: 0;
}
#privacy table.u-base-table th {
  flex-basis: 165px;
}
#privacy table.u-base-table td {
  flex-basis: calc(100% - 165px);
}
#privacy table.u-base-table th > .u-txt, 
#privacy table.u-base-table td > .u-txt {
  border-bottom: none;
  display: block;
}


/** 探す **/

#search .l-contents {
  max-width: 1400px;
}
#search .c-panel-item {
  flex-basis: 100%;
}
#search .c-panel-item form {
  width: 100%;
  display: flex;
}
#search #searchform {
  flex-basis: 100%;
}
#search #searchsubmit {
  background-image: url('images/common/search.svg');
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  padding: 0;
  background-color: transparent;
  border: none;
  font-size: 0 !important;
  flex-basis: 40px;
  margin-left: -40px;
}
#search table.u-base-table tr {
    /* border-bottom: 1px solid #000;  */
}
#search table.u-base-table th > .u-txt, 
#search table.u-base-table td > .u-txt {
  border-bottom: none;
}
#search table.u-base-table th .u-txt .title.pdf::after,
#search table.u-base-table td .u-txt .title.pdf::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url('images/common/icon-pdf.png') no-repeat center center;
	background-size: cover;
	vertical-align: middle;
	}
#search table.u-base-table th .u-txt{
  padding: 17px 0 0px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 17px;
}
#search table.u-base-table td .u-txt{
  padding: 17px 0 0px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 17px;
}



/** 定期コンテナ船サービストップ **/
#service_liner_top .l-contents {
max-width: 1400px;
}
#service_liner_top .u-base-table tr {
    /* border-bottom: 1px solid #000; */
}
#service_liner_top table.u-base-table th > .u-txt, 
#service_liner_top table.u-base-table td > .u-txt {
  border-bottom: none;
  display: block;
}

.c-cta-wrap .p-page-txt {
	text-align: center;
	padding-bottom: 1.5rem;
}
.c-cta {
  display: flex;
  gap: 1rem 2%;
}
.c-app-btn {
  flex-basis: 49%;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0.2rem;
	margin: auto;
}
.c-app-btn .app_icon {
  width: 72px;
}
.c-calculator-btn {
  flex-basis: 49%;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0.2rem;
  min-height: 100px;
}
.u-read-more {
  text-align: right;
  font-size: 13px;
  display: block;
  margin-top: 0.5rem;
}



/** お知らせ **/

#information .l-contents {
	max-width: 1400px;
}

/** マニュアル **/
#manual .l-contents {
	max-width: 1400px;
}
#manual .u-link span {
  line-height: 1.5;
}
#manual .u-txt-description {
  display: inline-block;
  margin: 0 1rem;
}
#manual .p-manual-table-inner {
  padding-bottom: 2rem;
}
#manual table.u-base-table td > .u-txt {
    flex-wrap: wrap;
}
#manual .u-txt-description {
  margin: 0;
}
#manual table.u-base-table th,
#manual table.u-base-table td {
	border-bottom: none;
}
#manual table.u-base-table th > .u-txt,
#manual table.u-base-table td > .u-txt {
	border-bottom: 1px solid #000;
	border-top: none;
}




/** 輸送手続きに関する情報 **/
#transportation .l-contents {
	max-width: 1400px;
}
#transportation .u-txt span {
  line-height: 1.5;
}
#transportation .u-txt-description {
  display: inline-block;
  margin-right: 1rem;
}
#transportation .note {
  font-size: 8px;
  display: block;
}
#transportation table.u-base-table th, 
#transportation table.u-base-table td {
    border-bottom: 1px solid #000;
    align-items: center;
}
#transportation table.u-base-table th > .u-txt.no-border, 
#transportation table.u-base-table td > .u-txt.no-border {
  border: none;
}


#transportation table.u-base-table td > .u-txt .p-branch-item {
  flex-basis: 100px;
}
#transportation table.u-base-table td > .u-txt .p-branch-details {
  flex-basis: calc(100% - 100px);
}



/** emission calculator **/

#calculator {
}
#calculator .bg {
  background-image: url('images/calculator_bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
#calculator .p-page-schedule-wrap {
  padding: 7rem 5%;
  background-color: rgba(255,255,255,0.4);
  
}
#calculator .calculator_inner {
  margin: 40px auto 8px auto;
  padding: 6rem 5%;
  background-color: rgba(255, 255, 255, .6);
  border: 1px solid rgba(0, 0, 0, .1);
}
#lane {
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
  margin: 0 0;
  background-size: auto 56px;
  text-align: center;
  border-bottom: 1px solid #000;
	justify-content: space-between;
}
#lane li.headding {
  /* opacity: .6; */
}
#lane li {
  position: relative;
  /* flex-basis: 16.6%; */
  margin: 0;
  padding: 0.6rem 0;
}
#lane li.is-active {
  border-bottom: 4px solid #000;
}
/* #lane li {
  padding: 0.6rem 0;
  display: block;
} */
#lane li em {
  font-size: 14px;
  display: block;
  line-height: 1.4;
  font-style: normal;
}
#lane li i {
  font-size: 10px;
  display: block;
  line-height: 1.4;
  font-style: normal;
	letter-spacing: 0;
	font-weight: 400;
}
#lane li i .from,
#lane li i .to {
  line-height: 1.4;
}

#result {
  display: flex;
  flex-wrap: wrap;
	margin-top: 8rem;
}
.result-contents-wrap {
  flex-basis: 50%;
}
#result-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-grow: 1;
  gap: 1rem 2%;
  border-bottom: 1px solid #000;
  padding: 0.6rem 0 0;
  margin-bottom: 0.6rem;
  flex-basis: 50%;
}
#result-detail dt {
  flex-basis: 35%;
  font-size: 14px;
}
#result-detail dd {
  flex-basis: 62%;
  font-size: 12px;
}
.result-contents-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  justify-content: center;
  align-items: center;
}
#result figcaption {
  font-size: 14px;
  display: inline-block;
  letter-spacing: 0.01rem;
}
#total-distance {
  flex-basis: 48%;
  text-align: right;

}
#total-emission {
  flex-basis: 48%;
  text-align: right;

}
#result-distance::after, 
#result-emission::after {
  content: "km";
  display: inline-block;
  margin-top: 24px;
  font-size: 20px;
  line-height: 20px;
}
#result-emission::after {
  content: "kg";
}
#result var {
  display: inline-block;
  margin: 4px 0 4px 10px;
  font-size: 48px;
  line-height: 56px;
  font-weight: bold;
  color: #000;
  font-style: normal;
}



#access .p-page-headding .p-page-txt {
	font-size: 14px;
}
#access .p-page-paragraph-wrap:not(:last-child) {
	padding-bottom: 4rem;
}











/* ////////////////////////////////////////////////////////////////////////////////
///
/// under 960
///
//////////////////////////////////////////////////////////////////////////////// */

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




/*===================================================================
//  基本設定
//=================================================================*/
.u-sp-non {
  display: none !important;
}

.u-pc {
  display: none !important;
}

.u-tb {
  display: none !important;
}

.u-sp {
  display: block !important;
}

body {
  font-size: 16px;
}

/* .l-contents-wrapper {
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
} */
.l-contents {
  padding-left: 1.5%;
  padding-right: 1.5%;
}
.l-contents-narrow {
  padding-left: 0;
  padding-right: 0;
}


.u-space-btm {
  padding-bottom: 4.5em;
}

.u-contents-space-btm {
  padding-bottom: 5.5em;
}

.u-contents-most-btm {
  padding-bottom: 7.5em;
}

.u-margin-b-sp {
  margin-bottom: 1.5em !important;
}

.l-wide90 {
  padding-left: 5%;
  padding-right: 5%;
  margin: 0 auto;
}

.l-flex-container {
  display: flex;
  flex-wrap: wrap;
}

.l-grid_layout {
  display: grid;
  grid-gap: 0 16px;
  gap: 0 16px;
  grid-auto-flow: row;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
table.u-base-table thead,
table.u-base-table tbody {
  display: block;
}
table.u-base-table tr:not(:last-child) {
  padding-bottom: 3.5rem;
}
table.u-base-table th {
  flex-basis: 100%;
  display: block;
  font-size: 14px;
  /* padding: 1.2rem 3.5rem 1.3rem 1rem; */
}
table.u-base-table th .u-txt {
  font-size: 14px;
  min-height: 42px;
  padding: 15px 0;
}
table.u-base-table td {
  display: block;
  flex-basis: 100%;
  font-size: 14px;
  /* padding: 0.2rem 1rem 0.8rem; */
}
table.u-base-table td > .u-txt {
  font-size: 12px;
  min-height: 42px;
  padding: 15px 0;
}
table.u-base-table td ul.list,
table.u-base-table td ol.list {
  margin-left: 1.8em;
}

table.u-base-table .u-no-btm-line {
  border-bottom: none!important;
}



#form dl {
  gap: 5px 10px;
}

#form dl dt {
  flex-basis: 100%;
}
#form dl dd {
  flex-basis: 100%;
}
#form dl dd:not(:last-child) {
  padding-bottom: 1.3rem;
}





#office table.u-base-table td > .u-txt {
  font-size: 12px;
  min-height: 38px;
  padding: 15px 0;
  display: block;
}









.c-section_txt {
  display: inline-block;
  font-size: 3rem;
  color: #1d1d1d;
  line-height: 1.3;
}

.c-section_txt .u-small {
  padding-top: 0.8em;
}

.c-txt_accent {
  width: 140px;
}

.c-scroll_box {
  padding-left: 0;
}

.c-section_ttl {
  padding-bottom: 1.2em;
  font-size: min(5vw, 22px);
  display: block;
  text-align: center;
}
.c-section_ttl .u-alpha {
  font-size: min(15vw, 48px);
}

.c-section_ttl_wrap {
  padding: 0 1rem 2rem;
}
.c-section_ttl_wrap .u-txt {
  text-align: left;
}

.c-sub_ttl {
  font-size: 26px;
  padding-bottom: 2rem;
}

.c-child_ttl {
  padding-left: 33px;
}
.c-child_ttl:before {
  width: 26px;
}

.c-more_btn {
  width: 100%;
}
.breadcrumb {
  font-size: 12px;
}

	
/*===================================================================
//  ヘッダー
//=================================================================*/

header {
  z-index: 1000;
  position: relative;
}
header .c-sp-icon {
  display: block;
}
header .l-contents {
	padding: 30px 30px 50px;
  min-height: 190px;
}
header .c-header_inner {
  align-items: flex-start;
}




.c-header_inner.is-sticky-active {
}
.is-sticky-active .c-logo_item:first-child {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 9999;
}
.is-sticky-active .c-sp-icon {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
}
.is-sticky-active .c-logo_item:first-child img {
    background: rgba(255,255,255,0.8);
    padding: 5px;
    border-radius: 4px;
}
/* --- スクロール固定時のスタイル追加 --- */

/* 1. 常石ロゴを左上に固定 */
.c-header_inner.is-sticky-active .c-logo_item:first-child {
    position: fixed !important;
    top: 15px;
    left: 20px;
    z-index: 99999; /* 既存要素より高く設定 */
    width: 130px;   /* 固定時は少し小さく */
    transition: all 0.3s;
}

/* 2. ハンバーガーメニューを右上に固定 */
.c-sp-icon.is-sticky-active {
    position: fixed !important;
    top: 15px;
    right: 20px;
    z-index: 99999;
}

/* 3. 背景が白などでロゴが見えにくい場合、透過背景を追加 */
.c-header_inner.is-sticky-active .c-logo_item:first-child::before {
    content: "";
    position: absolute;
    top: -5px; left: -5px; right: -5px; bottom: -5px;
    background: rgba(255, 255, 255, 0.8);
    z-index: -1;
    border-radius: 4px;
}


header .c-logo_item {
  flex-basis: 100%;
  display: block;
}

header .c-logo_wrap {
  flex-basis: 55%;
	row-gap: 45px;
}
header .c-action_wrap {
  /* flex-basis: 45%; */
	margin-right: 70px;
}
header .c-logo_img_group {
  max-width: 168px;
  max-height: 36px;
}
header .c-logo_img_kambarakisen {
  width: 90%;
  max-width: 100%;
  max-width: 168px;
  max-height: 34px;
}
header .c-search {
	margin-top: 2px;
	font-size: 12px;
}

.bogo-language-switcher {
	justify-content: left;
}

#g-nav .c-nav_item_inner {
  font-size: min(4vw, 20px);
}

.c-sp-icon {
  width: 65px;
  top: 13px;
  right: 15px;
}
.c-sp-icon.sp-open {
  position: fixed;
}



/*追従ヘッダー*/
.c-sticky-header .l-contents {
  padding: 30px 30px 50px;
}



/*===================================================================
//  TOP - セクション
//=================================================================*/
main {
  width: 100%;
  margin: 0 auto 0;
}
/* main .l-home_fv {
  position: relative;
  height: 100vh;
  min-height: 750px;
  background-color: #fff;
} */
main .c-home-main-wrap {
}
main .c-home-main-wrap_img {
}
main .c-home-main_catchcopy {
  font-size: min(8vw, 33px);
  padding-bottom: 1.5rem;
  max-height: 800px;
  text-align: center;
  line-height: 1.5;
}
main .c-home-main_subcatch {
  font-size: min(3.9vw, 1.1rem);
  padding-bottom: 1.5rem;
  font-weight: 500;
}


/** HOME BUSINESS **/


#home-business .c-home-business__list {
}
#home-business .c-home-business__item {
  flex-basis: 100%;
}

#home-business .c-home-business__name {
  font-size: min(5vw, 1.3rem);
}
#home-business .c-home-business__name .alpha {
  /* font-size: min(4vw, 1.1rem); */
	font-size: 12px;
}
#home-business .c-home-business__description {
  font-size: min(4vw, 1.1rem);
}
#home-business .c-home-business__more {
  font-size: min(4vw, 1.1rem);
}




/* footer .c-footer_logo_inner {
	padding: 60px 20px 50px 20px;
}
footer .c-footer_nav_wrap {
	gap: 0;
	padding-left: 20px;
	padding-right: 20px;
}
footer .c-logo_wrap {
    display: flex;
		flex-wrap: wrap;
        gap: 36px;

}
footer .c-logo_item { 
	display: block;
	width: 100%;
}
footer .c-logo_img_group {
	max-width: 123px;
}
footer .c-logo_img_kambarakisen {
	max-width: 133px;
	padding: 0;
}


footer .c-footer_menu {
  flex-basis: 100%;
  padding: 1.5rem 1% 2rem;
  display: flex;
  border-top: 1px solid #000;
}
footer .c-footer_menu:last-child {
  border-bottom: 1px solid #000;
}
footer .c-footer_menu_category {
  flex-basis: 50%;
  border-bottom: none;
  font-size: 11px;
}
footer .c-footer_menu_list {
  flex-basis: 50%;
}
footer .c-footer_menu_link {
  padding: 0.2rem 0;
}
footer .c-footer_menu_txt {
  font-size: 11px;
}
footer .l-contents {
  padding-bottom: 2rem;
	padding-left: 0;
	padding-right: 0;
} */

/*===================================================================
//  固定ページ
//
=================================================================*/
/** 共通 **/

.c-page-ttl-wrap {
}
.c-page-ttl {
  font-size: min(9vw, 40px);
}

.c-page-ttl-wrap .u-alpha {
  font-size: min(4.2vw, 20px);
}


.p-page-headding {
  font-size: min(5vw, 20px);
  line-height: 2;
  padding-bottom: 1.5rem;
}
.p-page-head-wrap .p-page-main-txt {
  font-size: min(12vw, 46px);
}
.p-page-sub-txt {
  font-size: min(3.6vw, 14px);
}
.p-page-headding-ttl {
  font-size: min(8vw, 32px);
}
.p-page-headding-ttl-child {
  font-size: min(5vw, 20px);
  padding-bottom: 1.5rem;
}


.p-page-paragraph-wrap .p-link-border-wrapper {
  text-align: center;
}



.c-sidebar {
  flex-basis: 100%;
  width: 100%;
  background-color: #fff;
  z-index: 1;
  top: 0;
	padding-bottom: 3rem;
}
.c-sidebar-ttl .u-txt {
  font-size: 14px;
  padding: 20px 0 15px;
}
.c-sidebar-list {
  display: flex;
  gap: 1rem;
  overflow-x: scroll;
  white-space: nowrap;
  width: 100%;
  flex-wrap: nowrap;
  padding: 0 0 15px;
  -ms-overflow-style: none; /* IE, Edge用 */
  scrollbar-width: none;    /* Firefox用 */
}
.c-sidebar-list::-webkit-scrollbar {
  display: none; /* Chrome, Safari用 */
}
.c-sidebar-item {
  flex-shrink: 0;
}
.c-sidebar-item a {
  font-size: 14px;
}

.c-twocolumn-cont .c-detail {
  flex-basis: 100%;
} 
.c-twocolumn-cont .u-base-table .p-table-inner {
  margin-bottom: 0;
  margin-top: -8rem;
  padding-top: 8rem;
}
.c-twocolumn-cont .u-base-table th .u-txt {
  padding: 15px 0px;
}
.c-twocolumn-cont .u-base-table td .u-txt {
  border-bottom: none;
  padding: 17px 0 10px;
}








/** ごあいさつ **/






/** 企業理念 **/
#philosophy .p-page-paragraph-wrap {
  padding-bottom: 6rem;
}
#philosophy .p-page-paragraph-wrap:last-child {
  padding-bottom: 0;
}
#philosophy .p-page-headding {
  font-size: min(6vw, 25px);
  line-height: 1.3;
  padding-bottom: 0.8rem;
}
#philosophy .p-page-headding .u-small {
  font-size: min(4vw, 17px);
}
#philosophy .p-page-main-txt {
  font-size: min(6vw, 25px);
  padding: 1.2rem 0;
}
#philosophy .p-page-sub-txt {
  font-size: min(4vw, 17px);
}

#philosophy .p-page-paragraph-inner {
  padding-bottom: 2.5rem;
}
#philosophy .p-page-paragraph-inner:last-child {
  padding-bottom: 0;
}
#philosophy .p-page-inner-txt {
  font-size: min(6vw, 25px);
  padding: 1.2rem 0;
}
#philosophy .p-page-inner-sub-txt {
  font-size: min(4vw, 17px);
}



/** 会社概要 **/
#about .p-about-post {
  display: inline-block;
  line-height: 1.5;
  flex-basis: 30%;
}
#about .p-about-name {
  display: inline-block;
  line-height: 1.5;
  flex-basis: 30%;
}
#about .p-about-incharge {
  display: inline-block;
  line-height: 1.5;
  flex-basis: 35%;
}
#about table.u-base-table th .u-txt {
	border-bottom: none;
}
#about table.u-base-table td {
	border-bottom: none;
}
#about table.u-base-table td > .u-txt	{
	border-top: none;
	border-bottom: 1px solid #000;
}



/** 沿革 **/

#history table.u-base-table tr.p-table-inner {
	border-bottom: none;
}
#history table.u-base-table th > .u-txt {
	/* border-bottom: 1px solid #000; */
}

/** 構成図 **/
/** 支店・事務所 **/
table.p-office-table .p-office-table-inner {
  margin-bottom: 1.5rem;
}
.p-office-table-inner .u-txt a {
  padding-top: 0.5rem;
}



/** 各事業部門・グループ会社 **/
table.p-department-table .p-department-table-inner td {
  flex-basis: 100%;
}





/** サステナビリティ **/

#sustainable .p-page-headding {
	font-size: 20px;
}


/** 定期コンテナ船サービス **/
.p-page-service-features {
  flex-basis: 100%;
}
.p-page-service-features {
  padding-bottom: 5rem;
}
#port-modal .c-modal-content {
  padding: 40px 10px;
  max-height: 80vh;
}
#port-modal .c-modal-inner-scroll {
  min-height: calc(80vh - 164px);
}
#port-modal .c-modal-list {
  overflow-y: scroll;
  white-space: nowrap;
  flex-wrap: nowrap;
}
#port-modal .c-modal-item {

}
#port-modal table.u-base-table tbody {
  max-height: calc(80vh - 276px);
}
#port-modal table.u-base-table th > .u-txt {
  padding: 6px 0;
}
#port-modal table.u-base-table tr:not(:last-child) {
  padding-bottom: 0;
}


/** 傭船・貨物輸送 **/

#service_charter .p-page-head-wrap .p-page-txt {
  font-size: min(4.5vw, 20px);
}



/** タグボート **/
#service_tagboat .p-page-table-wrap {
  gap: 2%;
}
#service_tagboat .p-page-table-inner {
  flex-basis: 100%;
}
#service_tagboat .p-boatlist-table-inner {
  margin-bottom: 0;
  padding-bottom: 0;
}
table.p-boatlist-table .p-boatlist-table-inner th > .u-txt {
  padding: 15px 0;
}

.c-cta-wrap {

}
.c-cta {
  gap: 1rem;
}
.c-cta-btn {
  flex-grow: 1;
  flex-basis: 100%;
  max-width: unset;
}

/*ロジスティクス*/
#service_logi .p-page-warehouse_info {
	overflow-y: scroll;
}
#service_logi table.u-base-table {
	width: 850px;
}


/*マニュアル*/



/** クイックスケジュール検索 **/
.c-tab-group {
}
#calculator	.c-tab {
  margin: 0 2% -2px;
	padding-left: 0;
	padding-right: 0;
	width: 33%;
	text-align: center;
}
.c-tab.is-active { 
}
.c-panel {
}
.c-panel.is-show {
}
.c-panel-inner {
}






#schedule	.c-tab {
  margin: 0 2% -2px;
	padding-left: 0;
	padding-right: 0;
	width: 33%;
	text-align: center;
}

#schedule .c-panel-inner {
  display: block;
}

#schedule .c-panel-item {
  flex-basis: 100%;
  gap: 10px;
	max-width: 100%;
  padding-bottom: 0.5rem;
  display: blcok;
}
#schedule .c-panel-item .main-label {
  width: 95px;
  display: inline-block;
}
#schedule .c-panel-item input[type="text"] {        
  width: calc(100% - 105px);
  display: inline-block;
}
#schedule .c-panel-item .year_month_select {      
  width: calc(100% - 105px);
  display: inline-block;
}
.c-panel-item .year_month_select select.year-select {
  width: 50%;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}
.c-panel-item .year_month_select select.month-select {
  width: 30%;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}
.c-panel-item .year_month_select .unit-label {
  display: inline-block;
}
#schedule	.c-panel-item .main-label {
  text-align: left;
  width: 95px;
}
#schedule	.c-panel-item input {
  flex-grow: 1;
  flex-basis: calc(100% - 105px);
}
#schedule	.c-panel-item input::placeholder {
}
#schedule	.c-panel-item .date-inputs {
  flex-basis: calc(100% - 105px);
	width: calc(100% - 105px);
}
#schedule	.c-panel-item .date-inputs input {
	max-width: calc(50% - 15px); 
}
.c-panel-item .date-inputs .separator {
}
#schedule	.c-panel-item select {
  flex-grow: 1; 
  flex-basis: calc(100% - 105px);
}
#schedule	.c-panel-item.noheadding {
  flex-basis: calc(100% - 105px);
  flex-grow: inherit;
  margin-left: 105px;
}
#schedule	.c-panel-item input[type="text"] {
  flex-grow: 1; 
  flex-basis: calc(100% - 105px);
}
#schedule	.c-panel-item .year_month_select {
  flex-grow: 1; 
  flex-basis: calc(100% - 105px);
}
#schedule	.c-panel-item .mode-radio {
  flex-grow: 1; 
  flex-basis: calc(100% - 105px);
	display: flex;
	flex-wrap: wrap;
	gap: 1%;
}
#schedule	.c-panel-item input[type="radio"] {        
	margin-right: 0.5rem;
  flex-grow: unset;
  flex-basis: 15px;
}
#schedule	.c-panel-item.c-btn-wrap {
  justify-content: center;
}
#schedule	.c-switch-item {
  flex-basis: 100%;
  gap: 10px;
}
#schedule	.c-switch-item .main-label {
  width: 95px;
  min-width: unset;
  line-height: 1.4;
}
#schedule	.c-switch-item .c-switch-item-inner {
  flex-basis: calc(100% - 105px);
}
#schedule	.c-panel-item.more {
	flex-basis: 100%;
}

/** フォーム **/
#form .c-sidebar {
	position: inherit;
}
#form .c-sidebar-list {
	overflow-x: inherit;
	flex-wrap: wrap;
	row-gap: 0.3rem;
}

#form dl {
  gap: 5px 10px;
}

#form dl dt {
  flex-basis: 100%;
}
#form dl dd {
  flex-basis: 100%;
}
#form dl dd:not(:last-child) {
  padding-bottom: 1.3rem;
}
#form dt.required:after {
  display: inline-block;
  margin-left: 0.5rem;
}
#form dt.optional:after {
  display: inline-block;
  margin-left: 0.5rem;
}


#form table {
	width: 100%;
}
#form th {
  flex-basis: 100%;
  display: block;
  font-size: 14px;
  min-height: 42px;
  padding: 15px 0;
}
#form td {
  display: block;
  flex-basis: 100%;
  font-size: 14px;
  min-height: 42px;
  padding: 15px 0;
	border-bottom: none;
}






/** プライバシーポリシー **/

#privacy table.u-base-table tr {
  margin-bottom: 0;
  padding-bottom: 0;
  flex-wrap: nowrap;
}
#privacy table.u-base-table th {
  flex-basis: 80px;
  border-bottom: 1px solid #000;
}
#privacy table.u-base-table th .u-txt {
  font-size: 12px;
  border-bottom: none;
}
#privacy table.u-base-table td {
  flex-basis: calc(100% - 80px);
}





/** 探す **/

#search .u-base-table th {
    border-bottom: 1px solid #000;
}




/** 定期コンテナ船サービストップ **/
#service_liner_top .u-base-table th {
    border-bottom: 1px solid #000;
}


#service_liner_top .p-page-headding-ttl-child {
  font-size: min(4vw, 20px);
  padding-bottom: 1.5rem;
}
.c-app-btn {
  flex-basis: 100%;
}
.c-calculator-btn {
  flex-basis: 100%;
}
#service_liner_top table.u-base-table td:not(:last-child) {
  border-bottom: 1px solid #000;
}


#transportation .c-sidebar {
	position: inherit;
}
#transportation .c-sidebar-list {
	column-gap: 1.3rem;
	row-gap: 0.3rem;
	flex-wrap: wrap;
}
#transportation table.u-base-table tr:not(:last-child) {
  padding-bottom: 0.5rem;
}
#transportation table.u-base-table th > .u-txt {
	width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
  align-items: center;
  border-bottom: 1px solid #000;
  padding: 10px 0px;
  margin-bottom: 10px;
}
#transportation table.u-base-table th > .u-txt a {
  flex-basis: 48%;
  flex-grow: 1;
}
#transportation table.u-base-table th, #transportation table.u-base-table td {
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.5rem;
  border: none;
}

#transportation .c-twocolumn-cont .u-base-table td .u-txt {
  flex-wrap: wrap;
	padding: 0px 0 10px 0;
	border-top: none;
	row-gap: 0;
	column-gap: 0.5rem;
	flex-grow: 1;
}
#transportation .c-twocolumn-cont .c-detail-ttl {
  font-size: 20px;
	border-bottom: none;
}
#transportation table.u-base-table tr.border-b {
  border-bottom: 1px solid #000;
}
#transportation table.u-base-table td:last-child {
  border: none;
}
#transportation table.u-base-table td > .u-txt .p-branch-item {
  flex-basis: 100%;
  border-bottom: 1px solid #000;
  padding: 10px 0 10px;
  display: block;
}
#transportation table.u-base-table td > .u-txt .p-branch-details {
  flex-basis: unset;
  padding: 15px 0px 5px;
	display: inline-block;
}




/** emission calculator **/
#calculator .p-page-schedule-wrap {
    padding: 2rem 2%;
}

#lane {
  overflow-x: scroll;
  white-space: nowrap;
  width: 100%;
  flex-wrap: nowrap;
  padding: 0 0 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#result-detail {
  flex-basis: 100%;
  padding: 0;
  gap: 0.5rem;
}

.result-contents-wrap {
  flex-basis: 100%;
}
#result-detail dt {
  flex-basis: 100%;
  border-bottom: 1px solid #000;
  padding-bottom: 0.5rem;
}
#result-detail dd {
  flex-basis: 100%;
  padding-bottom: 0.5rem;
}
#total-distance {
  flex-basis: 100%;
  text-align: left;
}
#total-emission {
  flex-basis: 100%;
  text-align: left;
}
#result figcaption {
  width: 55%;
}




#calculator	.c-panel-inner {
    justify-content: center;
	}
#calculator	.c-panel-item,
#calculator	.c-switch-item {
		flex-basis: calc(50% - 1rem);
	}
#calculator	.c-panel-item select {
			flex-grow: 1;
			flex-basis: calc(50% - 105px);
	}
#calculator	.c-switch-item .c-switch-item-inner {
			flex-grow: 1;
			flex-basis: calc(50% - 105px);
	}


	#container {
	margin-top: 72px;
	}

#contents .header {
	padding: 16px 24px;
	font-size: 20px;
	line-height: 32px;
	}

body:not(.home) #contents .body {
	flex-direction: column-reverse;
	}

#contents .entry-contents {
	padding: 32px;
	}

#contents .block {
	margin-top: 48px;
	}


#calculator .c-tab {
  white-space: break-spaces;
}
#calculator .c-panel-item {
  flex-basis: 100%;
  gap: 10px;
	max-width: 100%;
}
#calculator	.c-panel-item .main-label {
  text-align: left;
  width: 95px;
}
#calculator	.c-panel-item input {
  flex-grow: 1;
  flex-basis: calc(100% - 105px);
}
#calculator	.c-panel-item input::placeholder {
}
#calculator	.c-panel-item .date-inputs {
  flex-basis: calc(100% - 105px);
	width: calc(100% - 105px);
}
#calculator	.c-panel-item .date-inputs input {
	max-width: calc(50% - 15px); 
}
.c-panel-item .date-inputs .separator {
}
#calculator	.c-panel-item select {
  flex-grow: 1; 
  flex-basis: calc(100% - 105px);
}
#calculator	.c-panel-item.noheadding {
  flex-basis: calc(100% - 105px);
  flex-grow: inherit;
  margin-left: 105px;
}
#calculator	.c-panel-item input[type="text"] {
  flex-basis: calc(100% - 105px);
}
#calculator	.c-panel-item .year_month_select {
  flex-basis: calc(100% - 105px);
}
#calculator	.c-panel-item .mode-radio {
  flex-basis: calc(100% - 105px);
	display: flex;
	flex-wrap: wrap;
	gap: 1%;
}
#calculator	.c-panel-item input[type="radio"] {        
	margin-right: 0.5rem;
}
#calculator	.c-panel-item.c-btn-wrap {
  justify-content: center;
}
#calculator	.c-switch-item {
  flex-basis: 100%;
  gap: 10px;
}
#calculator	.c-switch-item .main-label {
  width: 95px;
  min-width: unset;
  line-height: 1.4;
  text-align: left;
}
#calculator	.c-switch-item .c-switch-item-inner {
  flex-basis: calc(100% - 105px);
}
#calculator	.c-panel-item.more {
	flex-basis: 100%;
}


#access .p-page-headding .p-page-txt {
	text-align: left;
}















}







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


  .pc-non {
    display: none !important;
  }


  
  #g-nav.panelactive {
    display: none;
  }

  /*メニュー用背景拡大*/

  .c-bottomup-bg {
    display: none;
  }
}



/* ////////////////////////////////////////////////////////////////////////////////
///
/// under 768
///
//////////////////////////////////////////////////////////////////////////////// */

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



footer .c-footer_logo_inner {
	padding: 60px 20px 50px 20px;
}
footer .c-footer_nav_wrap {
	gap: 0;
	padding-left: 20px;
	padding-right: 20px;
}
footer .c-logo_wrap {
    display: flex;
		flex-wrap: wrap;
        gap: 36px;

}
footer .c-logo_item { 
	display: block;
	width: 100%;
}
footer .c-logo_img_group {
	max-width: 123px;
}
footer .c-logo_img_kambarakisen {
	max-width: 133px;
	padding: 0;
}


footer .c-footer_menu {
  flex-basis: 100%;
  padding: 1.5rem 1% 2rem;
  display: flex;
  border-top: 1px solid #000;
}
footer .c-footer_menu:last-child {
  border-bottom: 1px solid #000;
}
footer .c-footer_menu_category {
  flex-basis: 50%;
  border-bottom: none;
  font-size: 11px;
}
footer .c-footer_menu_list {
  flex-basis: 50%;
}
footer .c-footer_menu_link {
  padding: 0.2rem 0;
}
footer .c-footer_menu_txt {
  font-size: 11px;
}
footer .l-contents {
  padding-bottom: 2rem;
	padding-left: 0;
	padding-right: 0;
}



}



/* ////////////////////////////////////////////////////////////////////////////////
///
/// under 640
///
//////////////////////////////////////////////////////////////////////////////// */

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



#container {
	margin-top: 64px;
	}
	
	#quick-menu-switch {
		display: block;
		}

#contents .entry-contents {
	padding: 16px;
	}

#contents .header {
	padding: 8px 16px;
	font-size: 20px;
	line-height: 32px;
	z-index: 10;
	}

#contents .eyecatch {
	padding-top: 85%;
	}

#contents.has-eyecatch .body {
	margin-top: -32px;
	}

#contents .block h1 {
	font-size: 24px;
	font-weight: normal;
	line-height: 32px;
	}

#news-list .news {
	margin-top: 24px;
	}

.search-form {
	display: block;
	padding: 16px;
	overflow: hidden;
	}

.search-form::before {
	display: block;
	width: 100%;
	padding-bottom: 8px;
	line-height: 100%;
	}

.search-form label {
	float: left;
	padding: 0;
	width: 70%;
	}

.search-form input {
	font-size: 18px;
	line-height: 32px;
	}

.search-form input.search-submit {
	width: 28%;
	float: right;
	}

.search-result  {
	margin: 16px auto 0 auto;
	width: auto;
	}

.nav-links {
	width: auto;
	}

#sidebar {
	display: none;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(0,0,0,.1);
	background-color: #fafafa;
	}

#sidebar.liner {
	display: block;
	}

#contents.has-eyecatch #sidebar::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 64px;
	background: linear-gradient(#fff, #fafafa);
	z-index: 1;
	}

#sidebar #quick-menu {
	flex-direction: column;
	width: auto;
	margin: 16px 16px 0 16px;
	padding-bottom: 0;
	border-radius: 8px;
	border: 1px solid rgba(0,0,0,.1);
	background-color: #fff;
	overflow: hidden;
	}

#quick-menu .content {
	display: none;
	border-top: 1px solid rgba(0,0,0,.1);
	}

#quick-menu.open .content {
	display: block;
	}

#quick-menu header {
	padding: 16px 16px 0 16px;
	}

#quick-menu form {
	margin: 0 16px !important;
	padding: 0 0 16px 0 !important;
	}

#quick-menu #trackings {
	border: none;
	}

#quick-menu #trackings dt {
	line-height: 24px;
	}

#footer #footer-mobile-link li {
	padding-left: 16px;
	}

#footer #footer-other {
	padding: 16px;
	}

	#forms .recruit-marine th {
		width: 100%;
		padding: 8px 0;
		border-top: 1px dashed #ddd;
		display: block;
	}
	#forms .recruit-marine td {
		display: block;
		width: 100%;
		margin-left: 0;
		padding: 0 0 16px 0;
		border: none;
	}
	
	#forms th::after {
		position: absolute;
		right: 7px;
		top: 13px;
	}
	input[type="date"] {
		width: 100%;
	}
	
	/** 定期コンテナ船30周年記念ロゴ **/
	.anniv {
		max-width: 25vw;
		padding: 1rem;
		right: 3%;
	}
	.anniv_wrap {
    height: calc(100vh - 112px);
		margin-top: -48px;
	}
	.anniv_bnr {
		background-size: cover;
		height: calc(100% - 112px);
	}
	.anniv_bnr_catch h2 {
    font-size: 22px;
	}
	#contents .eyecatch.liner {
	}

}



/* ////////////////////////////////////////////////////////////////////////////////
///
/// under 340
///
//////////////////////////////////////////////////////////////////////////////// */

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

body.en-US .switch li a {
	padding: 4px;
	font-size: 12px;
	}

#quick-menu header {
	padding: 16px 12px 0 12px;
	}

#quick-menu form {
	margin: 0 12px !important;
	}

#quick-menu #schedules dt {
	font-size: 90%;
	width: 3.5em;
	}

	body.en-US #quick-menu #schedules dt {
		font-size: 80%;
		width: 5em;
		}

#quick-menu #schedules dd {
	font-size: 90%;
	margin-left: 3.5em;
	}

	body.en-US #quick-menu #schedules dd {
		font-size: 80%;
		margin-left: 5em;
		}

body.en-US #quick-menu dd div.input-period input {
	min-width: 48px;
	padding: 0;
	}

body.en-US #quick-menu #form-more li a.guide {
	margin-left: 0;
	}

#ui-datepicker-div {
	position: fixed !important;
	top: auto !important;
	left: 50% !important;
	bottom: 8px;
	transform: translateX(-50%);
	}

body.en-US #liner-news .switch li a {
	padding: 4px;
	font-size: 80%;
	}

}



