@charset "UTF-8";
/* CSS Document */

.image{ margin-bottom:20px; }

.image-r{ margin-right:5px; }

.box-shadow{ box-shadow:5px 5px 5px rgba(0,0,0,0.4); }

.content .tablecap{
	text-align:right;
	font-size:87%;
	margin-top:-35px;
}


/*------------------------------
  greeting
------------------------------*/

.bn-greeting{
	background: #bec3c7;
	height:220px;
	text-align:center;
}

.greeting.inner{
	width:820px;
}


/*------------------------------
  philosophy
------------------------------*/

.philosophy{
	background:url(../company/images/bg_philosophy.jpg) 0 0 no-repeat;
	background-size:cover;
	padding:80px 0 0;
	min-height:600px;
	color:#fff;
}

.philosophy .inner{
	width:820px;
}


/*------------------------------
  history
------------------------------*/

.history{
	width:980px;
	margin:0 auto;
	padding:0 0 20px;
	border-bottom:2px solid #999;
	overflow:hidden;
}

.history table {
	border-bottom:none;
}

.history h3{
	margin-bottom:5px;
}

.history-left{
	float:left;
	width:163px;
}

.history-center{
	float:left;
	width:554px;
	margin:0 20px;
}

.history-right{
	float:right;
	width:223px;
}


/*------------------------------
  overview
------------------------------*/

.overview{
	width:980px;
	margin:0 auto;
	padding:0 0 20px;
	overflow:hidden;
}

.wel-official,
.wel-unofficial{
	padding:0 2px;
	border:1px solid #000;
	background:#fcc;
	font-size:11px;
	display:inline-block;
	float:right;
	margin:0;
	line-height:2.0;
}

.wel-unofficial{ background:#cfc; }

.btn-overview{
	text-align:right;
}

dl.travel dt{
	float:left;
	clear:left;
	width:9em;
	padding:0;
}

dl.travel dd{
	padding:0 0 0 10em;
}

p.btn-overview{ margin:10px 0 0; }

p.btn-overview a{ padding: 0; }


/*------------------------------
  qualification, equipment
------------------------------*/

.qualification h3,
.equipment h3{
	margin-bottom:0;
}


/*------------------------------
  challenging
------------------------------*/

@media screen and (min-width: 1700px){
.challenging,
.challenging01,
.challenging02,
.challenging03,
.challenging04,
.challenging05,
.challenging06{
	background-size:cover !important;
}
}

.challenging,
.challenging01,
.challenging02,
.challenging03,
.challenging04,
.challenging05,
.challenging06{
	text-align:center;
	color:#fff;
	padding:0;
	text-shadow:2px 2px 2px #000;
}

.challenging01 h3,
.challenging02 h3,
.challenging03 h3,
.challenging04 h3,
.challenging05 h3{
	padding:0;
	margin:0;
	/*background:url(../company/images/bg_challenging_title.png) 0 0 repeat;*/
	border:none;
}

.challenging p,
.challenging01 p,
.challenging02 p,
.challenging03 p,
.challenging04 p,
.challenging05 p,
.challenging06 p{
	line-height:1.8em !important;
	margin:30px 0 0;
}

.challenging{
	background:url(../company/images/bg_challenging.jpg) top center no-repeat;
	padding:20px 0 0;
	height:723px;
}

.challenging p{
	margin:0 0 0 300px;
}

.challenging01{
	background:url(../company/images/bg_challenging01.jpg) top center no-repeat;
	background-size:cover;
	height:444px;
}

.challenging02{
	background:url(../company/images/bg_challenging02.jpg) top center no-repeat;
	background-size:cover;
	/*height:348px;*/
	height:444px;
}

.challenging03{
	background:url(../company/images/bg_challenging03.jpg) top center no-repeat;
	background-size:cover;
	/*height:390px;*/
	height:444px;
}

.challenging04{
	background:url(../company/images/bg_challenging04.jpg) top center no-repeat;
	background-size:cover;
	/*height:347px;*/
	height:444px;
}

.challenging05{
	background:url(../company/images/bg_challenging05.jpg) top center no-repeat;
	background-size:cover;
	/*height:430px;*/
	height:444px;
}

.challenging06{
	background:#000;
	padding:20px 0 100px;
}


/*------------------------------
  production
------------------------------*/
.production h3{
	padding:0;
	margin:60px 0 0;
	background:none;
	border:none;
	text-align:center;
}

.production.inner{
	width:820px;
}

.production-area{
	background:url(../business/images/img_production01.jpg) no-repeat 50% 50%;
	width:100%;
	height:568px;
	margin-top:20px;
}


/*------------------------------
  customers
------------------------------*/
.customers table{
	margin-top:0;
}

.customers .date{
	margin-top:0;
}



/*------------------------------
  business line
------------------------------*/
.table-inner{
	padding:0 0 40px 20px;
	/*font-size:87%;*/
}

.table-inner table{
	border-top:2px solid #d5d5d5;
	border-bottom:2px solid #d5d5d5;
	margin:0;
}

.table-inner table th,
.table-inner table td {
	padding: 2px 10px;
}

.table-inner table th{
	background:#eee;
	font-weight:normal;
	white-space: nowrap;
}


.original-products .table-inner table{
	border-top:1px solid #bfbfbf;
	border-bottom:1px solid #bfbfbf;
}



/*------------------------------
  livecam
------------------------------*/
.livecam{
	padding:0 0 40px;
}

.livecam p{
	font-size:18px;
	line-height:1.2;
}

.livecam p span{
	font-family:'Titillium Web', sans-serif;
	font-size:14px;
	line-height:1;
}

.livecam-block,
.location-block,
.weather-block,
.rain-block,
.almanac-block{
	border-top:4px solid #00009f;
	padding:0 0 60px;
	overflow:hidden;
}

.almanac-block{
	margin:0 0 40px;
}

.livecam-block{
	background:url(../livecam/images/bg_livecam.jpg) center no-repeat;
	background-size:100% auto;
}

.livecam-block input{
	opacity:1;
	-webkit-transition:.2s linear;
    -moz-transition:.2s linear;
	transition:.2s linear;
}

.livecam-block input:hover{
	opacity:.5;
}

@media screen and (min-width: 1600px){
.livecam-block{
	background-size:cover;
}
}

p.livecam-block-title{
	margin:0 0 40px;
}


/*------------------------------
  location
------------------------------*/
.location{
	width:780px;
	margin:0 auto 30px;
	overflow:hidden;
}

.location p{
	padding:0;
}

.location-l{
	float:left;
	width:380px;
	margin:0 20px 0 0;
}

.location-r{
	float:left;
	width:380px;
}

.location .company-name{
	font-size:22px;
}

.directions .sb-area{
	margin:60px 0 0;
	overflow:hidden;
}

.directions .sb-block{
	float:left;
	width:32.653061%;
	margin:0 1.0204082% 0 0;
}

.directions .sb-block p{
	margin:0 0 5px;
}

.directions .sb-block.last{
	margin:0;
}


/*------------------------------
  recruitment
------------------------------*/
.message{
	background:url(../recruitment/images/bg_recruitment.jpg) center top no-repeat;
	background-size:auto 400px;
	margin-bottom:40px;
}

.message .txt-message{
	padding:40px 0;
	width:430px;
}

.message .txt-message h3{
	margin:0;
}

.message .txt-message p{
	margin-left:20px;
	color:#000;
}
.message .txt-message p span{
	color:#e6e6e6;
}
/*
.message .txt-message.background--light{
	color:#000;
}
.message .txt-message.background--dark{
	color:#E6E6E6;
}

*/

.wanted{
	width:480px;
	margin:0 auto 80px;
}

.wanted .select p{
	background:url(../recruitment/images/btn_select.png) no-repeat right center;
	font-size:17px;
	padding:5px 10px;
	border:2px solid #ccc;
	border-radius:5px;
	margin:40px 0 0;
	cursor:pointer;
}

.wanted .job-list{
	border:2px solid #ccc;
	border-top:none;
	border-radius:0 0 5px 5px;
	margin:10px 0 0;
	padding:0 10px 10px;
}

.wanted .job-list li a{
	font-size:17px;
	padding:1px 5px;
	display:block;
	text-decoration:none;
}

.wanted .job-list li a:hover{
	background:#000;
	color:#fff;
}

.adoption {
	margin-top:40px;
	margin-bottom:40px;
}

.adoption table{
	border-top:1px solid #bfbfbf;
	margin:0 0 40px;
}

.adoption th{
	background:#eee;
	font-weight:normal;
}

.adoption td{
	padding:5px 0;
}

.conditions h3 .jobs{
	float:none;
	font-size:22px;
	font-weight:bold;
	margin:0 0 0 10px;
	padding:0 0 0 10px;
	border-left:5px solid #036;
	line-height:1.0;
}

.conditions h3 .deadline,
.conditions h3 .d-date{
	font-size:22px;
	font-weight:bold;
	margin:0;
}

.conditions h3 .d-date{
	float:none;
	margin:0 0 0 10px;
	padding:0 0 0 10px;
	border-left:5px solid #036;
	line-height:1.0;
}

.conditions.pagenavi{
	background:#fff;
	margin:0;
}


/*------------------------------
  link
------------------------------*/

.link{
	margin-bottom:100px;
}

.link .center{
	text-align:center;
	margin:20px 0;
}

.link .center img{
	width:300px;
}

.link .caption{
	text-align:right;
	font-size:14px;
	margin-top:-50px;
}


.link ul{
	clear:both;
	margin:30px 0 0 20px;
}

.link ul li{
	float:left;
	width:220px;
	overflow:hidden;
	margin:0 20px 0 0;
	padding:0;
}

.link ul li dl, 
.link ul li dl dt, 
.link ul li dl dd{
	margin:0;
	padding:0;
	text-align:center;
	/*font-size:87%;*/
}

.link ul li dl a:link, 
.link ul li dl a:hover, 
.link ul li dl a:visited, 
.link ul li dl a:active{
	color:#333;
	text-decoration:none;
}

.link ul li dl dd{
	margin-top:10px;
	line-height:1.5em;
}

.link ul li dl dt img{
	width:218px;
	height:150px;
	border:1px solid #eee;
}

.link ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .link ul             { zoom:1; } /* IE6 */
*:first-child+html .link ul { zoom:1; } /* IE7 */



/*------------------------------
  news
------------------------------*/

.news-list ul{
	border-bottom:2px solid #999;
	clear:both;
	margin-top:0;
}

.news-list li{
	text-align:center;
	border-bottom:1px solid #bfbfbf;
	padding:5px;
}

.news-list li:last-child{
	border-bottom:none;
}

.news-list dl dt{
	background:#000;
	color:#fff;
	padding:1px 5px;
	font-size:78%;
	display:inline;
}

.news-list ul a:link, 
.news-list ul a:hover, 
.news-list ul a:visited, 
.news-list ul a:active{
	color:#000;
	text-decoration:underline;
}

.news-list ul a:hover, 
.news-list ul a:active{
	text-decoration:none;
}

.news-list .pager-navigation{
	clear:both;
	margin:-45px 0 0;
	float:right;
}

.news-list .pagenavi-bottom .pager-navigation{
	margin:5px 0 0;
}

.news-list .pager-navigation ul, 
.news-list .pager-navigation li{
	border:0;
	margin:0;
}

.news-list .pager-navigation ul li span.cur, 
.news-list .pager-navigation ul li a:hover, 
.news-list .pager-navigation ul li a:active{
	border:1px solid #666;
	background:#999;
	color:#fff;
	text-decoration:none;
}

.news-list .pager-navigation ul li a:link, 
.news-list .pager-navigation ul li a:visited{
	border:1px solid #666;
	text-decoration:none;
}

.news-list .pager-navigation:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .news-list .pager-navigation             { zoom:1; } /* IE6 */
*:first-child+html .news-list .pager-navigation { zoom:1; } /* IE7 */

.pagenavi-bottom{
	margin-bottom:100px;
}


/*------------------------------
  policies
------------------------------*/

.policies{
	margin-bottom:100px;
}

.policies ol li{
	margin-bottom:20px;
}

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

.policies .contact .btn{
	border:1px solid #333;
	padding:1px 15px;
}

.policies .contact .btn:link, 
.policies .contact .btn:visited, 
.policies .contact .btn:active{
	color:#333;
	text-decoration:none;
	-webkit-transition: .2s linear;
    -moz-transition: .2s linear;
	transition: .2s linear;
}

.policies .contact .btn:hover{
	color:#fff;
	background:#000;
	border:1px solid #000;
	text-decoration:none;
}


/*------------------------------
  sitemap
------------------------------*/

.sitemap-frame{
	margin-bottom:100px;
}

ul.sitemap li{
	background:#eee;
	/*padding:14px 0 10px 15px;*/
	padding:9px 0 6px 15px;
	margin-bottom:10px;
	display:block;
}

ul.sitemap li.company,
ul.sitemap li.business{
	padding:6px 0 0 15px;
}

ul.sitemap a:link, 
ul.sitemap a:hover, 
ul.sitemap a:visited, 
ul.sitemap a:active{
	color:#333;
	text-decoration:none;
}

ul.sitemap a:hover{
	text-decoration:underline;
}

ul.sitemap li dl{
	margin:0;
	padding:0;
}

ul.sitemap li dt{
	float:left;
	padding:10px 0;
	margin:0;
	font-weight:normal;
	width:100px;
}

ul.sitemap li dd{
	padding:0 0 0 120px;
}

ul.sitemap li li{
	float:left;
	margin-right:10px;
	margin-bottom:10px;
}

ul.sitemap li .column2 li{ width:392px; }
ul.sitemap li .column3 li{ width:251px; }

ul.sitemap li li{
	background:#ddd;
	padding:6px 10px;
}

ul.sitemap li.recruit span.main{
	float:left;
	clear:left;
	display:block;
}

ul.sitemap li.recruit span.sub{
	padding:0 0 0 110px;
	display:block;
	line-height:1em;
}

li.recruit{
	position:relative;
}

li.recruit a span:hover{
	text-decoration:underline !important;
}

li.recruit:hover > li.recruit a span{
	text-decoration:underline !important;
}

.model-number{
	text-align: center;
}
.text-right{
	text-align: right;
}

.flexbox{
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 0 5px;
}
.flexbox__item{
	width: 49%;
	text-align: center;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.flexbox__item img{
	height: auto;
	max-height: 120px;
	width: 100%;
	margin-bottom: 2px;
}
.flexbox__item p{
	width: 100%;
		text-align: center;
}