

/*****************************************
 共通
******************************************/


/*** grid ***/
.mc_2-4 { grid-column: 2 / 4; }

span.pdf,
span.xls,
span.doc {
	margin-left: 8px;
	padding: 2px 5px 1px;
	background-color: transparent;
	color: #fff;
	font-size: 0.6em;
	vertical-align: middle;
}
span.pdf { background-color: #b30019; }
span.xls { background-color: green; }
span.doc { background-color: blue; }

i.fas.fa-external-link-alt {
	margin: 0px 3px;
}


/*** nomal ***/
dl.nomal_dl {
	margin: 5px;
}
dl.nomal_dl > dt {
	min-width: 200px;
	padding: 5px;
	background-color: #ddd;
}
dl.nomal_dl > dd {
	margin-left: 20px;
}


/****** table ******/
/*** rows3(3列以上のテーブル) ***/
.rows3 {
	display: block;
	width: auto;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
	color: #333;
	font-size: 0.9em;
	border-collapse: collapse;
}
.rows3 thead tr th {
	padding: 1px 5px;
	background-color: #043d93;
	color: #fff;
	border-right: 1px solid #fff;
}
.rows3 thead tr th.bc_t {
	background-color: transparent;
	border-bottom: 1px solid navy;
}
.rows3 tbody tr {
	border-bottom: 1px dotted #043d93;
}
.rows3 tbody tr:last-of-type {
	border-bottom: 1px solid #043d93;
}
.rows3 tbody tr th {
	padding: 8px 15px;
	background-color: #e4efff;
	color: #333;
	font-weight: 400;
}
.rows3 tbody tr th,
.rows3 tbody tr td {
	border-right: 1px solid #fff;
}
.rows3 tbody tr td {
	padding: 10px;
	background-color: #f9f9f9;
	color: #333;
	border-right: 1px solid #fff;
}
.rows3 tbody tr td:nth-of-type(2n) {
	background-color: #f1f1f1;
}
.rows3 thead tr th:last-of-type,
.rows3 tbody tr td:last-of-type {
	border-right: 0;
}

/*** span ***/
dd span:nth-of-type(n+2) {
	margin-left: 2em;
}


/*** manual ***/
.manual {
	margin-left: .5rem;
	padding: 2px 10px;
	background: #f86d00;
	color: #fff;
	font-size: .85rem;
	border-radius: 5px;
	text-decoration: none;
	font-weight: 600;
}
.manual:hover {
	color: #fff;
	background-color: darkblue;
}


/***************************************************
 index.php(top)
****************************************************/
#top-iframe-slide {
	 width: 100%/*100vw*/;
	 height: 450px/*350px*/;
	 margin-top: 60px;
	 border: 0;
}


/****** top_header ******
#top_header {
	position: relative;
	height: 350px;
	padding-top: 60px;
	z-index: 0;
}

#top_header .top.schedule {
	position: absolute;
	width: 1200px;
	height: 250px;
	margin: 0 auto;
	top: 150px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
#top_header .top.schedule > div {
	position: absolute;
	width: 519px;
	height: 175px;
	right: 0;
	bottom: 20px;
	z-index: 2;
}
#top_header .top.schedule p {
	position: absolute;
	margin: 0;
	padding: 3px 15px 0px;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 0.8em;
	font-weight: 700;
	border-radius: 8px 8px 0 0;
	z-index: 2;
}

#top_header .top.schedule #searchbox {
	position: absolute;
	right: 0;
	bottom: 7px;
	font-size: 0.75em;
	background-color: rgba(0,0,0,0.5);
	z-index: 2;
}
#top_header .top.schedule p,
#top_header .top.schedule #searchbox {
	margin-top: .4em/*.01em*/;
	background-color: rgba(0, 0, 0, 0.7);
}

#topset {
	height: 450px;
	padding-top: 60px;
	z-index: 0;
	background: url(./assets/img/top/slide/2.jpg) no-repeat right 50%;
}
#top-waku {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 5em;
	height: 200px;
	padding: 1.5em 0;
}


/*** E-SERVICES ***/
#top_e {
	position: static;
	display: grid;
	gap: 1em;
	grid-template-columns: 1fr;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 6.5em;
}
#top_e a {
	position: relative;
	width: 11em;
	height: 2em;
	margin: 0 auto;
	padding: .3em;
	padding-bottom: .5em;
	padding-left: 0;
	text-decoration: none;
	font-size: 1.6em;
	font-weight: 700;
	text-align: center;
	background-color: #fff;
	border: 3px solid;
	border-radius: 5px;
	box-shadow: 0 0 0 3px #fff;
	transition: .3s;
	z-index: 2;
}
#top_e a#services {
	color: #ff6a00;
}
#top_e a#booking {
}
#top_e a:after {
	position: absolute;
	top: .5em;
	right: 1em;
	content: '\f138';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: .85em;
	margin-left: 5px;
}
#top_e a:hover,
#top_e a#services:hover {
	background-color: #00c36b;
	background-color: #fff;
	color: #d5004d;
	transition: .1s;
}

#top_e .notice {
	position: absolute;
	top: 1em;
	left: 50%;
	transform: translateX(-50%);
	font-size: .5em;
}


main#top,
main#top section  {
	margin-top: 0;
}
main#top section  {
	margin-bottom: 0;
}


/*** top notice ***/
#top #notice {
	display: grid;
	grid-template-columns: 3fr 1fr;
	gap: 3em;
	margin: 1em 0;
	padding: 0;
	border: none;
}
#top #notice > ul {
	padding: 10px 15px;
	border: 1px solid #aaa;
}
#top #notice > ul > li {
	padding-left: 1.3em;
	text-indent: -1.4em;
}
#top #notice > ul > li:before {
	content: '\f05a';
	margin-right: .5em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: crimson;
}
#top #notice > ul > li a {
	font-weight: bold;
	color: crimson;
}

#pv {
	background-color: #000;
}


/*** imp_exp ***/
#top_imp-exp,
#imp_exp,
#exp_notice {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1em;
	margin: 0;
	text-align: center;
}
#imp_exp li {}
#imp_exp #imp a,
#imp_exp #exp a,
#exp_notice li a {
	display: block;
	padding: .5em 0;
	font-size: 1.3rem;
	text-decoration: none;
	color: #fff
}
#exp_notice li a {
	font-size: 1rem;
	padding: .8em 0;
	border: 2px solid;
	box-sizing: border-box;
}
#exp_notice li a {
	color: #409dff;
	background-color: #fff;
}
#exp_notice li a:hover {
	background-color: #409dff;
	color: #fff;
}

#imp_exp #imp a {
	background-color: #ff5f5f;
}
#imp_exp #exp > a {
	background-color: #409dff;
}
#imp_exp #imp a:hover,
#imp_exp #exp > a:hover {
	background-color: #ccc;
}


/*** top_menu ***/
.top_menu {}
.top_menu .nav_menu {
	display: grid;
/*	margin: 150px 0 50px;*/
	margin: 20px 0;
	grid-template-columns: repeat(8, 1fr);
	gap: 5px;
	font-size: 0.85em;
}
.top_menu .nav_menu > li {
	display: block;
	margin: 0;
}
.top_menu .nav_menu > li > a {
	display: block;
	padding: 10px 5px;
	text-decoration: none;
	text-align: center;
	border: 2px solid;
}
.top_menu .nav_menu > li > a i {
	padding-top: 10px;
	font-size: 2em;
	color: #003897;
}
.top_menu .nav_menu > li > a:hover i {
	color: #DF0615;
}


/****** news / topics ******/
#news_topics h3 {
	width: auto/*255px*/;
}
#news_topics ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}
#news_topics p {
	margin: 0;
	font-size: 0.88em;;
}

#news_topics .news {
	width: 100%;
	height: 150px;
	padding: 15px;
	overflow-y: scroll;
	border: 1px #999 solid;
	font-size: 0.9em;
}
#news_topics .news::-webkit-scrollsidebar,
#news_topics .topics::-webkit-scrollsidebar {
	display: none;
}
#news_topics .news:hover::-webkit-scrollsidebar,
#news_topics .topics:hover::-webkit-scrollsidebar {
	display: block;
	width: 5px;
	height: 5px;
	background-color: #eee;
}


#top #news_topics {
	font-size: .95rem;
}


/*** link ***/
#top #link {
	margin: 3em 0;
}
#top #link ul li {
	text-align: center;
}
#top #link ul li a .jjs_china {
	width: 200px;
	height: auto;
	padding: 5px;
}


/***************************************************
 news/
****************************************************/
.news dd > a	{
	color: #003897;
}
.news dd >a:hover {
	color: #DF0615;
}

.news {
	padding: 5px;
	font-size: 0.93em;
	line-height: 1.8em;
	box-sizing: border-box;
}
.news > dt {
	float: left;
	width: 90px;
	padding: 5px;
	color: #79072c;
	line-height: 1.8em;
}
.news > dd {
	margin-left: 0px;
	padding: 5px 0px 5px 110px;
	letter-spacing: 0.5px;
	border-bottom: 1px dotted #c2ced3;
	line-height: 1.8em;
}
.news > dd.not-last {
	padding-bottom: 0;
	border: none;
}
.news > dd a {
	margin: 0 2px;
}

/****** 記事 ******/

.news h2 {
	height: auto;
	margin-bottom: 50px;
	padding-bottom: 20px;
}
.news h2.h1x {}
.news h2 .date {
	float: right;
	width: 100%;
	padding: 5px 0;
	text-align: right;
	color: #666;
	font-size: 0.75em;
	clear: both;
	border-top: 1px dotted #990015;
}

.news .atesaki {
	margin-bottom: 2em;
}
.news .ki {
	margin: 50px 0;
	text-align: center;
}
.news .ijo {
	margin: 50px 0;
	text-align: right;
}
.news section > ul,
.news section > ol {
	margin-bottom: 40px;
	margin-left: 30px;
}
.news .kome {
	margin-left: 5px;
}

.news .print {
	padding-top: 5px;
	border-top: 1px dotted #aaa;
}
.news .print:before {
	margin-right: 8px;
	content: '\f02f';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.9em;
	border: none;
}

/*** img ***/
.news > section > img {
	display: flex;
	max-width: 500px;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
}
.news > section .comment dt {
	padding: 5px 10px;
	background-color: #0449a3;
	color: #fff;
	border-radius: 5px 5px 0 0;
}
.news > section .comment dd {
	padding: 10px;
	border: 2px solid #0449a3;
}

/****** dl ******/
.notice {
	margin: 30px 0;
}
.notice > dt {
	padding: 2px 8px;
	border-left: 5px double #94e37b;
	font-weight: 700;
	box-shadow: -3px 0 0 #5b8cd1;
}
.notice > dd {
	padding: 5px 0 30px 15px;
	font-size: 0.95em;
	line-height: 1.5em;
}




/***************************************************
 contacts/
****************************************************/
#contacts li {
	padding-left: 0;
	text-indent: 0;
}
#contacts .kome li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}

#contacts dl {
	text-indent: 0;
	font-size: .9em;
}
#contacts dl.row2 > dt,
#contacts dl.row2 > dd {
	padding: 5px 8px;
}

.contacts section > dl .tel:before { content: 'TEL'; }
.contacts section > dl .fax:before { content: 'FAX'; }
.contacts section > dl .weekday:before { content: '\6708\FF5E\91D1'; }
.contacts section > dl .sat:before { content: '\571F'; }
.contacts section > dl .dry:before { content: 'DRY'; }
.contacts section > dl .rf:before { content: 'R/F'; }


/****** index ******/
/*** home page ***/
#contact {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.7rem;
}
#contact li,
#contact li a {
	display: block;
}
#contact li{
	margin-top: 0;
	margin-bottom: 0;
}
#contact li a {
	padding: 1rem .7rem;
	text-align: center;
	text-decoration: none;
	font-size: .95em;
	color: #2082ff;
	border: 1px solid;
	line-height: 1.3em;
}
#contact li a:hover {
	color: #ff5592;
}

/*** nav ***/
#nav_index ul.contact {
	gap: 0 1em;
}


/****** cy ******/
#cy .tablink {
	border-right: 1px solid #fff;
	font-size: .97rem;
}
#cy .tabcontent {
	padding: 1rem 0;
	border-top: 3px solid crimson;
	border-bottom: 3px solid crimson;
}

#cy h4 {
	margin-top: 0;
}

#cy .rows3 {
	margin: .1rem 0 .3rem;
	font-size: .83rem;
	line-height: 1.3em;
}
#cy .rows3 thead th {
	font-size: .8rem;
	font-weight: 400;
	line-height: 1.3rem;
}
#cy .rows3 thead th:nth-of-type(1) {
	min-width: 130px;
}
#cy .rows3 thead th:nth-of-type(2) {
	min-width: 235px;
}
#cy .rows3 thead th:nth-of-type(3) {
	min-width: 280px;
}
#cy .rows3 thead th:nth-of-type(4) {
	width: 35%;
	min-width: 200px;
}
#cy .rows3 tbody td {
	padding: 2px 10px;
	background-color: #fff;
	line-height: 1.5em;
}
#cy .rows3 tbody td:nth-of-type(2),
#cy .rows3 tbody td:nth-of-type(4),
#cy .rows3 tbody td:nth-of-type(5) {
	border-right: 1px dotted;
}
#cy .rows3 tbody td:nth-of-type(1),
#cy .rows3 tbody td:nth-of-type(3) {
	padding-right: 2px;
}
cy .rows3 tbody td:nth-of-type(3) {
	width: 72px;
}
#cy .rows3 tbody td:nth-of-type(2),
#cy .rows3 tbody td:nth-of-type(4) {
	padding-left: 2px;
}
#cy .rows3 tbody td:nth-of-type(4) {
	text-align: right;
}
#cy .rows3 tbody td span {
	display: inline-block;
	width: 50px;
	text-align: center;
	color: #333;
}
#cy .rows3 tbody td span.dry {
	background-color: #f3e1e1;
}
#cy .rows3 tbody td span.rf {
	background-color: #e1f0f3;
}
#cy .rows3 tbody td span.dg_rf {
	background-color: #e4f3d7;
}

#cy .row2 {
	font-size: .87rem;
	line-height: 1.35rem;
}
#cy #japan .tabcontent > .row2 {
	margin-bottom: 2rem;
}
#cy .row2 .row2 {
	margin-bottom: .3em;
}
#cy .row2 dt,
#cy .row2 dd {
	padding: .3em .8em;
}
#cy .row2 dd .info {
	margin-bottom: .8em;
	line-height: 1.4rem;
	font-size: .95em;
	border-bottom: none;
}
#cy .row2 dd .info dt,
#cy .row2 dd .info dd {
	padding: .1rem;
}
#cy .row2 dd .info dt {
	color: #fff;
	background-color: #62769a;
	text-align: center;
}
#cy dl.row2 > dd .info dd {
	border-top: 1px solid #fff;
}
#cy .row2 dd .info dd {
	padding-left: 1em;
	background-color: #f0f3f9;
}
#cy .row2 dd.acl .span {
	width: 5em;
	background-color: #5180c7;
}
#cy .row2 dd .week {
	display: inline-block;
	width: 50px;
	margin-right: .3em;
	padding: 0 .3em;
	line-height: 1.3rem;
	font-size: .8rem;
	background-color: #f5eee0;
	text-align: center;
}

#cy h5 {
	margin-bottom: .5em;
	border-color: #000def;
}

/****** bl_sur ******/
#bl_sur {}
#bl_sur .row2,
#empty_pick .row2,
#dr_acl .row2,
#an_do .row2,
#customer .row2 {
	font-size: .87em;
	line-height: 1.45em;
}

#bl_sur .row2 {
	font-size: .87em;
	line-height: 1.45em;
}
#bl_sur .rows3 p {
	margin: 0;
	line-height: 1.4em;
}

#bl_sur dd span {
	width: 2em;
}
#bl_sur .fax {
	margin-left: 2em;
}
#bl_sur .mail {
	margin-left: 0;
}


/****** an_do ******/
#an_do .mail {
	margin-left: 0;
}


/****** dr_acl ******/
#dr_acl .rows3 {
}
#contacts #dr_acl .rows3 thead tr th:nth-of-type(3),
#dr_acl .rows3 thead th:nth-of-type(4),
#dr_acl .rows3 thead th:nth-of-type(5) {
	width: auto;
}
#dr_acl .rows3 tbody th {
	line-height: 1.1rem;
}
#dr_acl .rows3 tbody td:nth-of-type(1) span {
	display: block;
	font-size: .93em;
	color: #636363;
	line-height: 1.2rem;
}
#dr_acl .rows3 tbody td p {
	margin: .3em 0 0;
	line-height: 1.3em;
}
#dr_acl .rows3 tbody td p.t_name {
	font-weight: 500;
	font-size: 1.05em;
	color: #353d6f;
}
#dr_acl .rows3 tbody td:nth-of-type(1) p {
	margin: .5em 0;
	font-size: 1em;
	line-height: .95em;
}
#dr_acl .rows3 tbody td p.acl span {
	width: 4rem;
	background-color: #5180c7/*#ac7373*/;
}
#dr_acl .rows3 tbody td p.acl span.terminal {
	margin-left: 3em;
}


/****** customer ******/
#customer .row2 {
	grid-template-columns: .4fr 1.5fr;
}

#customer .notice {
	margin-left: 1em;
	font-size: .9em;
}
#customer .notice li {
	margin-top: 0;
	margin-bottom: .3em;
	line-height: 1.3em;
}
#customer .notice .route {
	margin: 1em;
}

#contacts h3 {
	margin-top: 2em;
}
#contacts #customer .rows3 {
	margin: 0;
}
#contacts #customer .rows3 thead tr th:nth-of-type(3) {
	width: 50%;
}
#contacts #customer dd .rows3 span:nth-of-type(n+2) {
	margin-left: 0;
}

/****** freetime ******/
#freetime .row2.dd2 {
	grid-template-columns: .3fr .5fr 1fr;
}
#freetime .row2.dd2 dd:nth-of-type(2) {
	    border-top: 1px solid #999;
}
#freetime .row2.dd2 dd .tel {
	margin-left: 0;
}


/***************************************************
 e-services/
****************************************************/
/****** index.php ******/
#e-services {}
#e-services > div > section > p {
	padding: 0 0 30px;
	line-height: 1.5em;
}

#e-services .login {
	width: 300px;
	margin: 0 auto;
	margin-bottom: 5em;
	font-size: 0.95em;
	border: 1px solid #999;
}

#e-services .login ul {
	padding: 30px 30px 10px;
}
#e-services .login input {
	width: 100%;
	padding: 3px 8px;
	box-sizing: border-box;
}

#e-services .login .submit {
	display: block;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 5px;
	background-color: #b30019;
	color: #fff;
	border: none;
	border-radius: 50px;
	cursor: pointer;
}
#e-services .login .submit:hover {
	background-color: #003897;
}

#e-services .login p {
	padding: 15px;
	font-size: 0.9em;
	line-height: 1.5em;
}
#new_id {}
#new_id ul {
	display: grid;
	gap: 3em;
	margin-top: -1rem;
	text-align: center;
}
#new_id a {
	display: block;
	height: 71px;
	text-decoration: none;
	border-radius: 10px;
	border: 3px solid #003897;
	font-weight: 500;
}
#new_id a p,
#new_id a p span {
	line-height: 1.5rem;
	color: #003897;
}
#new_id a:hover {
	background-color: #003897;
}
#new_id a:hover p,
#new_id a:hover span {
	color: #fff;
}

#e-services .notice .decimal {
	margin: 1em 1em 1em 3em;
	font-size: .95em;
}
#e-services .notice .row2 {
	margin: 1.5em;
	font-size: .9em;
}


/****** kiyaku_.php ******/
.kiyaku {
}
.kiyaku dl {
	margin: 1em 1em 3em;
	font-size: .9em;
}
.kiyaku dt {
	margin-top: 1.5em;
	font-weight: 600;
}
.kiyaku dt:first-of-type {
	margin-top: 0;
}
.kiyaku dd {
	margin-left: 2em;
}

#agree {
	margin: 2em;
	padding: 1.5em;
	text-align: center;
}
#agree label {
	font-size: .9em;
}

#proceedBtn {
	display: block;
	max-width: 200px;
	margin: 0 auto;
	margin-top: .5em;
	padding: .5em 1.5em;
	pointer-events: none;
	opacity: 0.5;
	background-color: crimson;
	color: #fff;
	font-weight: 700;
	border-radius: 10px;
	text-decoration: none;
}
#agreeCheckbox:checked ~ #proceedBtn {
	pointer-events: auto;
	opacity: 1;
}


/****** manual.php *****/
#manual .notice {
	padding: .5em 1.5em;
	border: 1px solid;
	box-sizing: border-box;
}



/***************************************************
 contacts/
****************************************************/
#contacts .rows3 {
	font-size: .85rem;
}
#contacts .rows3 thead th {
	line-height: 1.5em;
}
/*#contacts .rows3 thead tr th:nth-of-type(3) {
	width: 33%;
}*/
#contacts .rows3 tbody th {
	padding: 8px;
}
#contacts .rows3 tbody td {
	background-color: #fff;
	border-color: #ccc;
	line-height: 1.4rem;
}
#contacts .rows3 tbody td .fax {
	margin-left: 1.5em;
}


/****** contacts/cy ******/
#cy_cfs .terminal {}

.terminal .info {
	display: grid;
	margin-bottom: 15px;
	grid-template-columns: 0.3fr 1fr;
	background-color: #ddebff;
	font-size: 0.87em;
}
.terminal .info dt,
.terminal .info dd {
	padding: 6px 8px;
	border-bottom: 1px solid #c9d2df;
	line-height: 1.3em;
}
.terminal .info dt {
	border-color: #fff;
}
.terminal .info dt:first-of-type,
.terminal .info dd:first-of-type {
	border-top: 1px solid;
}
.terminal .info dt:last-of-type,
.terminal .info dd:last-of-type {
	border-bottom-color: #000;
}
.terminal .info dd {
	background-color: #fff;
}
.terminal .info dd span.tel,
.terminal .info dd span.fax,
.terminal .info dd span.mail {
	margin-right: 5px;
	padding: 0 5px;
	background-color: #434343;
	color: #fff;
	font-size: 0.7em;
	border-radius: 3px;
}
.terminal .info dd span.fax,
.terminal .info dd span.mail {
	margin-left: 30px;
}
.terminal .info dd dl.row2 {
	background-color: #ffecec;
	border-bottom: none;
}
.terminal .info dd dl dt,
.terminal .info dd dl dd {
	padding: 4px 8px;
	border: none;
	line-height: 1.3em;
}
.terminal .info dd dl dd {
	background-color: #edecec;
}
.terminal .info dd dl dt:first-of-type,
.terminal .info dd dl dd:first-of-type {
	border: none;
}

.terminal.japan .info dd dl dt,
.terminal.japan .info dd dl dd {
	border-top: 2px solid #fff;
}


/****** contacts/cfs ******/
#contacts #cfs .rows3 thead th:first-of-type {
	min-width: 4rem;
}
#contacts #cfs .rows3 thead tr th:nth-of-type(3) {
	width: 35%;
}
#contacts #cfs .rows3 thead th:last-of-type {
	line-height: 1rem;
}
#contacts #cfs .tel, 
#contacts #cfs .fax {
	width: 1.5rem;
}


/****** contacts/bl_sur ******/
#contacts #bl_sur .rows3 thead th:first-of-type {
	min-width: 4rem;
}
#contacts #bl_sur .rows3 thead tr th:nth-of-type(3) {
	width: 31%;
}



/****** contacts/an_do ******/
#contacts #an_do .rows3 thead tr th:nth-of-type(1) {
	width: 10%;
}
#contacts #an_do .rows3 thead tr th:nth-of-type(2) {
	width: 40%;
}
#contacts #an_do .rows3 thead tr th:nth-of-type(3) {
	width: 50%;
}
#contacts #an_do .rows3 tbody td {
	padding: 7px 10px;
	line-height: 1.4em;
}
#contacts #an_do .rows3 tbody td p {
	margin: 5px 0;
	line-height: 1.4em;
}


/****** contacts/empty_pick ******/
#contacts #empty_pick .rows3 thead tr th:nth-of-type(1) {
	min-width: 4em;
}
#contacts #empty_pick .rows3 thead tr th:last-of-type {
	min-width: 11rem;
}
#contacts #empty_pick .rows3 .out {
	display: block;
}
#contacts #empty_pick .rows3 p {
	margin: 5px 0;
	line-height: 1.45em;;
}


/****** contacts/dr_acl ******/
#contacts #dr_acl .rows3 thead th:nth-of-type(2) {
	width: 15%;
}
#contacts #dr_acl .rows3 td {
	padding: 0 10px 5px;
}

/****** contacts/freetime ******/
#contacts #freetime .rows3 tbody td:last-of-type {
	width: 50%;
}


/***************************************************
 schedule/
****************************************************/
#schedule {}

#schedule .update,
#schedule dd span.update:nth-of-type(n+2) {
	margin-left: .5em;
	font-size: .9em;
}


/****** route.php ******/

#searchbox {
	width: auto;
	max-width: 600px;
	margin: 0 auto;
	padding: 15px;
	background-color: #f0f6ff;
	font-size: 0.9em;
}
#searchbox > dl {
	display: grid;
	grid-template-columns: 0.2fr 1fr 0.2fr 1fr;
	gap: 5px;
}
#searchbox > dl dt {
	width: 40px;
	background-color: #fde0dd;
	color: #000;
	text-align: center;
	border-radius: 3px;
}
#searchbox > dl dd {
}
#searchbox .searchbtn {
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-top: 20px;
	padding: 5px 30px;
	background-color: #df0615;
	color: #fff;
	font-weight: 700;
	border-radius: 50px;
	border: none;
	cursor: pointer;
}
#searchbox .searchbtn:hover {
	background-color: #ffe4e4;
	color: #df0615;
}


.schedule-route {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 15px;
}
main ul.schedule-route li {
	margin: 0;
}
.schedule-route li a {
	display: block;
	width: auto;
	height: 110px;
	padding-top: 20px;
	background-color: #31608f;
	border: 2px solid #31608f;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition-duration: 0.15s;
}
.schedule-route li a:hover {
	background-color: #fff;
	color: #31608f;
}
.schedule-route li a p {
	margin: 0;
	padding: 0;
}
.schedule-route li a p:before {
	content: '\f338';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
}
.schedule-route li a:hover p:before {
	color: #31608f;
}
/* リボン追加 /
/*.schedule-route li.ribon {/
.schedule-route li:nth-child(5),
.schedule-route li:nth-child(6),
.schedule-route li:nth-child(7) {
	position: relative;
}
/*.schedule-route li.ribon a {/
.schedule-route li:nth-child(5) a,
.schedule-route li:nth-child(6) a,
.schedule-route li:nth-child(7) a {
	position: absolute;
	display: block;
	width: calc(100% - 4px);
	z-index: 1;
}
.schedule-route li a p.down:before,
.schedule-route li a p.sita:before {
	content: '\f309';
}
/*.schedule-route li.ribon > div {/
.schedule-route li:nth-child(5)::before,
.schedule-route li:nth-child(6)::before,
.schedule-route li:nth-child(7)::before {
	position: absolute;
	width: 75px;
	padding: 2px;
	top: 8px;
	left: -5px;
	font-size: 0.8em;
	font-weight: 400;
	color: #fff;
	line-height: 1.3em;
	background-color: #ff7a00;
	text-align: center;
	z-index: 2;
	
}
.schedule-route li:nth-child(5)::before {
	content: '\76F4\884C\8239\a0\8F38\51FA';
}
.schedule-route li:nth-child(6)::before {
	content: '\76F4\884C\8239\a0\8F38\5165';
}
.schedule-route li:nth-child(7)::before {
	content: '\30C8\30E9\30F3\30B7\30C3\30D7\76F4\884C\8239\a0\8F38\51FA';
}

/* ●テスト環境(beta)でのみ使用css /

.schedule-route li.ribon {
	position: relative;
}
.schedule-route li.ribon a {
	position: absolute;
	display: block;
	width: calc(100% - 4px);
	z-index: 1;
}
.schedule-route li.ribon a p:before {
	content: '\f309';
}
.schedule-route li.ribon > div {
	position: absolute;
	width: 100px;
	padding: 2px;
	top: 8px;
	left: -5px;
	font-size: 0.87em;
	font-weight: 400;
	color: #fff;
	line-height: 1.3em;
	background-color: #ff7a00;
	text-align: center;
	z-index: 2;
	
}


/***************************************************
 movement/
****************************************************/
#movement {}
#movement iframe {
	width: 100%;
	border: 1px solid #eee;
}
#movement #shanghai iframe {
	height: 940px;
}
#movement #qingdao_dalian iframe {
	height: 770px;
}
#movement #southeast_asia iframe {
	height: 770px;
}
#movement #search iframe {
	height: 700px;
}


/***************************************************
 tracking/
****************************************************/
/*** nav ***/
#nav_index ul.tracking {
	gap: 0 1em;
}


/***************************************************
 freetime/
****************************************************/
#demarage {}
#demarage .charge-item {
	padding: 5px;
	box-sizing: border-box;
}
#demarage .rows3 {
	font-size: .8em;
	border-spacing: 1px;
	border-collapse: collapse;
}
#demarage .rows3 thead th {
	width: 100px;
}
#demarage .rows3 thead th:first-of-type {
	width: 50px;
	background-color: transparent;
}
#demarage table tbody td {
	padding: 5px 10px 5px 5px;
	text-align: right;
}

#freetime .rows3 .free {
	text-align: center;
}


/***************************************************
 charge/
****************************************************/
#charge {}

.tabcontent {
	display: none;
	margin-bottom: 50px;
}
.tablink {
	padding: 3px 8px;
	border-radius: 5px 5px 0 0;
	border: none;
	cursor: pointer;
}
.tablink.active {
	background-color: #d23e3e/*#e4efff*/;
	color: #fff;
}

#charge section {
	margin: 0;
}
#charge section div {
	font-size: 0.95em;
}

#charge .list {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
}
#charge .list thead {
	border-top: 1px solid #fff;
}
#charge .list thead th {
	padding: 1px;
	font-weight: 400;
	background-color: #eee;
	border-right: 1px solid;
}
#charge .list thead th:first-of-type {
	width: 12%;
	background-color: #104798;
	color: #fff;
}
#charge .list tbody th {
	padding: 1px 8px;
	background-color: #e4efff;
	border-top: 1px solid #fff;
	line-height: 1.6em;
	place-content: center;
	text-align: left;
	font-weight: 400;
}
#charge .list tbody td {
	width: 20%;
	padding: 3px 8px;
	border-right: 1px solid;
	border-bottom: 1px solid #ddd;
	text-align: right;
}
#charge .list tbody td.tac {
	text-align: center;
}
#charge .list tbody td:last-of-type {
	width: 40%;
	text-align: left;
}
/*
#charge div div section dl{
	display: grid;
	grid-template-columns: 0.6fr 1fr 1fr 2fr;
	font-size: 0.9em;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
#charge div div section dl dt {
	padding: 3px 8px;
	background-color: #e4efff;
	border-top: 1px solid #fff;
	line-height: 1.6em;
	place-content: center;
}
#charge div div section dl dt.title {
	padding: 1px;
	text-align: center;
	background-color: #104798;
	color: #fff;
}
#charge div div section dl dd {
	padding: 3px 8px;
	border-top: 1px solid #ddd;
	border-right: 1px solid #666;
	text-align: right;
	line-height: 1.6em;
	place-content: center;
}
#charge div div section dl dd.title {
	padding: 1px;
	background-color: #eee;
	text-align: center !important;
}
#charge div div section dl dd.tal {
	text-align: left;
	border-right: none;
}
#charge div div section dl dd.mc_2-4 {
	text-align: center;
}
*/


/***************************************************
 naccs/
****************************************************/
#naccs {}
#naccs section {
	font-size: 0.9em;
}

#naccs .terminal {
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	gap: 5px;
}
#naccs .terminal li {}
#naccs .terminal li a {
	display: block;
	padding: 5px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background-color: #003897;
	border-radius: 5px;
}
#naccs .terminal li a:hover {
	background-color:  #990015;
}


/***************************************************
 detail/
****************************************************/
#detail {}

#detail table {
	margin-bottom: 80px;
	font-size: 0.85em;
	border-spacing: 0;
}
#detail table tr:first-of-type th {
	font-size: .95em;
}
#detail table thead tr:nth-of-type(2) th {
	font-size: .86em;
}
#detail table th,
#detail table td {
	padding: 5px;
	line-height: 1.3em;
	border-left: 1px solid #fff;
}
#detail table thead th {
	background-color: #557cbe;
	color: #fff;
	font-weight: 400;
}
#detail table thead tr:nth-of-type(1) th {
	background-color: #143c75;
}
#detail table thead tr:nth-of-type(n+2) th {
	font-weight: normal;
}
#detail tbody th {
	line-height: 1.2em;
	background-color: #e8e8e8;
	border-bottom: 1px solid #fff;
	font-weight: 400;
}
#detail tbody tr:nth-child(odd) {
	background-color: #e9f5ff;
}
#detail tbody tr:nth-child(even) {
	background-color: #fff4f6;
}

/*** vessel ***/
#detail .scrolltable table {
	margin-bottom: 0;
}
#vessel .scrolltable {
	overflow-y: scroll;
	max-height: 500px;
}
#vessel .scrolltable table thead th:first-of-type {
	position: flex;
	z-index: 4;
}
#vessel .scrolltable table thead th {
	position: sticky;
	top: 0;
	z-index: 3;
}

#detail #vessel tbody td:nth-of-type(n+2)~td:nth-of-type(-n+5) {
	text-align: center;
}
#detail #vessel tbody td:nth-of-type(n+4) {
	text-align: right;
}


/*** containar ***/
#detail #container thead tr:first-of-type th {
	background-color: #143c75;
}
#detail #container tbody th {
	background-color: #e8e8e8;
}
#detail tbody tr.type20 {
	background-color: #e8f1f9;
}
#detail tbody tr.type40 {
	background-color: #fff4f6;
}
#detail tbody tr.type40hc {
	background-color: #f2e1ff/*#edffd4*/;
}
#detail #container tbody td:nth-of-type(n+2) {
	text-align: right;
}
#detail #container tbody td.fff {
	background-color: #fff;
	text-align: left;
}

/*** hanger ***/
#detail #hanger_container table thead th {
	line-height: 1.3em;
	font-size: .95em;
}
#detail #hanger_container table tbody td {
	text-align: center;
}
#detail .hanger-image {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
	margin: 1em 0;
	font-size: .9em;
}


/***************************************************
 about/
****************************************************/
dl.office {
	background-color: #ffecec;
	border-bottom: none;
}
dl.office dt,
dl.office dd {
	padding: 8px 10px;
	border: none;
	border-top: 1px solid #fff;
	line-height: 1.5em;
}
dl.office dd {
	background-color: #edecec;
}
dl.office dt:first-of-type,
dl.office dd:first-of-type {
	border: none;
}
dl.office dd span,
.office span {
	margin-right: 5px;
	margin-left: 3px;
	padding: 0 5px;
	background-color: #434343;
	color: #fff;
	font-size: 0.7em;
	border-radius: 3px;
}
dl.office dd span.fax,
.office span.fax {
	margin-left: 30px;
}
#about div.office {
	margin: 20px 0;
}
#about div.office > p {
	margin-left: 20px;
}

/*** map ***/
#access .map {
	display: block;
	width: 100%;
	height: 250px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 50px;
	padding: 5px;
	box-shadow: 1px 1px 3px;
	border: 0;
}


/***************************************************
 sitemap/
****************************************************/
#sitemap section {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3em 2em;
}
#sitemap section > dl {
	width: 100%;
	font-size: .95rem;
}
#sitemap section > dl > dt {
	margin-bottom: .3rem;
	font-weight: 700;
	border-bottom: 1px solid #e1e1e1;
}
#sitemap section > dl > dt > a {
	font-size: 1.05em;
	font-weight: 500;
}
#sitemap section > dl > dt:before {
	margin-right: 5px;
	content: '\f04b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: .7em;
	color: #c4d1df;
}
#sitemap section > dl > dd {
	margin-left: .7rem;
	font-size: .9em;
}
#sitemap section > dl > dd li {
	margin: .2em 0;
}
#sitemap section > dl > dd a {
	line-height: 1.4em;
}

#sitemap section#imp-exp {
	grid-template-columns: repeat(2, 1fr);
}
#sitemap section#imp-exp > dl {
	padding: 1em;
	box-sizing: border-box; 
}
#sitemap section#imp-exp > dl > dd dt {
	font-weight: 600;
	margin-top: .3em;
}
#sitemap section#imp-exp > dl {
	border: 2px solid #edd9d9;
    border-radius: 10px;
}
#sitemap section#imp-exp > dl:last-of-type {
	border-color: #cfddeb;
}
#sitemap section#imp-exp > dl > dd a {
	margin-left: .7em;
}


/***************************************************
 recruitment/
****************************************************/
#recruitment section {
	font-size: .95em;
}
#recruitment dl {
	margin-bottom: 2em;
	font-size: .9em;
}
#recruitment dd > h3 {
	line-height: 1em;
}

main#recruitment .disc.hitsuyojiko {
	margin-bottom: 1.5em;
}
main#recruitment .main ul li {
	margin: 0;
}

/***************************************************
 import/ , export/
****************************************************/
#imp-exp {}
#imp-exp #import ul,
#imp-exp #export ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 1em;
	width: 100%;
	font-size: .9em;
}
#imp-exp #import ul li,
#imp-exp #export ul li {
	margin: 0;
	padding-left: 1.5em;
	text-indent: -1.5em;
	line-height: 1.5em;
}
#imp-exp #import ul li:before,
#imp-exp #export ul li:before {
	margin: 5px;
	content: '\f04b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.1em;
	color: #31608f;}


/***************************************************
 privacy.php
****************************************************/
#privacy .list dt {}
#privacy .list dd {
	margin: 0 2em 1em;
	font-size: .95em;
}


/***************************************************
 service_map/
****************************************************/
#service_map .map {
	width: 100%;
	border: 1px solid;
}



