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


/****************************************

          General Setting

*****************************************/

html, body {
	margin:0;
	padding:0;
}

body {
 color: #333;
 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 line-height:1.8em;
}


h1,h2,h3,h4,h5,ul,ol,p,dl{
	margin:0;
	padding:0;
}

ul{
	list-style: none;
}

img{
  max-width: 100%;
}




/****************************************

          common

*****************************************/


/* リンク関連 */

a{ 
  color: #008F5B;
	text-decoration:none;
}

a:hover {
 text-decoration: underline;
}

a img{
	border:none;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

a.ico_link{
 background: url("../images/ico_right.png") no-repeat right center;
 background-size: 8px;
 padding-right: 15px;
}

@media (min-width: 768px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}



/* テキスト関連 */

.txtCenter{
	text-align: center !important;
}

.txtLeft{
	text-align: left !important;
}

.txtRight{
	text-align: right !important;
}

.txtCenterAndLeft{
	text-align: center !important;
}

.green{
 color: #008F5B;
}

.font_1-2{
 font-size: 1.2em;
}



/* レイアウト関連 */

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

.marginT60{
	margin-top: 60px !important;
}

.marginT50{
	margin-top: 50px !important;
}

.marginT40{
	margin-top: 40px !important;
}

.marginT30{
	margin-top: 30px !important;
}

.marginT20{
	margin-top: 20px !important;
}

.marginT10{
	margin-top: 10px !important;
}

.marginT05{
	margin-top: 5px !important;
}

.marginB40{
	margin-bottom: 40px !important;
}

.marginB30{
	margin-bottom: 20px !important;
}

.marginB20{
	margin-bottom: 20px !important;
}

.marginB10{
	margin-bottom: 10px !important;
}

.paddingLR20{
	padding: 0 20px;
}

/* パーツ */

.sp{
  display: none !important;
}

hr{
	border: 0;
	height: 3px;
    background: #aaa;
	clear:both;
}

ul.disc{
	list-style:disc;
	margin-left:1.5em;
}

ol.number{
	list-style:decimal;
	margin-left:1.5em;
}

h2{
 color: #fff;
 letter-spacing: 2px;
 font-size: 20pt;
 background: #008F5B;
 padding: 10px 20px;
}


h3{
  border-top: 5px solid #008F5B;
  padding: 15px 0 0 0 ;
  letter-spacing: 1px;
 font-size: 18pt;
 color: #666;
}

h2 span.en::before,
h3 span.en::before{
 content:' / ';
}

h4{
 font-weight: bold;
 background: #eee;
 padding: 5px 10px;
}

h5{
 font-weight: bold;
 font-size: 1em; 
}

h5::before{
 content: '■ ';
 color: #008F5C;
}

iframe{
 width: 100%;
}

table.line{
 width: 100%;
}

table.line{
 border-collapse: collapse;
 border-top: 1px solid #666;
}

table.line td,
table.line th{
 border-bottom: 1px solid #666;
 padding: 10px;
 text-align: left;
 vertical-align: top;
}

table.line th{
 white-space: nowrap;
 width: 170px;
 font-weight: normal;
}


/****************************************

          Layout
		  
*****************************************/

#wrapper{
	width:100%;
	overflow:hidden;
}

@media print {
#wrapper{width:1000px;}
}


header{
 width: 90%;
	max-width:1200px;
	margin:0 auto;
}

.bg_color{
 background: #eee;
 padding: 50px 0;
}

.contents{
 width: 90%;
	max-width:1200px;
	margin:0 auto;
	clear:both;
}


.inner{
 width: 90%;
	max-width: 1000px;
	margin:0 auto;
}

.col_area{
	display: table;
	width: calc(100% + 80px);
	margin-left: -40px;
	table-layout: fixed;
	border-spacing: 40px 0;
}

.col_item{
	display: table-cell;
	vertical-align: top;
}

footer{
	width:100%
}





/****************************************

          header
		  
*****************************************/

header h1{
	margin:20px 0;
	padding:0;
	float:left;
}

header h1 img{
  width: 350px;
}

header .header_right{
 float: right;
 text-align: right;
}

header .language a{
 margin: 0;
 padding: 5px 10px;
 background: #018F5B;
 color: #fff;
 transition: 0.3s;
}

header .language a:hover{
 background: rgba(2,143,92,0.7);
 text-decoration: none;
}

header .header_right .tel{
background: url("../images/ico_tel.png") no-repeat left center;
 background-size: 25px;
 padding-left: 30px;
 margin: 12px 0 0 0;
}

header .header_right .tel a{ 
 font-size: 20pt;
 letter-spacing: 2px;
 line-height: 33px;
}
header .header_right .tel a:hover{
 text-decoration: none;
}


/*Navi*/

.menu_btn{
  display: none;
}

.GlobalNavi{
	letter-spacing: 1px;
 background: #eee;
}

.GlobalNavi ul{
 display: table;
 width: 100%;
 table-layout: fixed;
 border-collapse: collapse;
}

.GlobalNavi ul li{
	display: table-cell;
 border-left: 2px solid #fff;
 border-right: 2px solid #fff;
 text-align: center;
}

.GlobalNavi ul li a{
	display: block;
	padding: 10px 0;
 color: #666;
 transition: 0.3s;
}

.GlobalNavi ul li a:hover{
 background: #028F5C;
 color: #fff;
 text-decoration: none;
}


/****************************************

         footer
		  
*****************************************/	

footer{
	background: #eee;
	padding:30px 0;
}

footer .footer_logo{
 line-height: 45px;
 font-size: 16pt;
 color: #666;
 font-weight: bold;
 letter-spacing: 2px;
 background: url("../images/footer_logo.png") no-repeat left center;
 background-size: 45px;
 padding: 0 0 0 55px;
}

footer ul{
 margin: 10px 0;
}


footer ul li{
display: inline-block;
 margin: 0 10px 0 0;
}

footer ul li a{
 color: #666;
}

footer .privacy a{
 color: #666;
 font-size: 9pt;
}

footer .copy{
 font-size: 8pt;
 line-height: 1.4em;
}

/****************************************

         TOPへ
		  
*****************************************/	
#page-top {
    position: fixed;
    bottom: 20px;
    right: 50px;
}

/****************************************

          news
		  
*****************************************/

#newsList{
  border-top: 1px solid #aaa;
}

#newsList li{
  border-bottom: 1px solid #aaa;
  padding: 20px;
}

#newsList .newMark{
	display:inline-block;
	padding:3px 8px;
	font-size:11px;
 letter-spacing: 1px;
	line-height:100%;
	background: #FF0004;
	color:#fff;
 margin-right: 5px;
}
 
#newsList .title{
  display:inline-block;
 }

#newsList .up_ymd{
  float: right;
 }
 
#newsList .comment{
	overflow:hidden;
}

#toppage #newsList .thumbNailWrap{
	display:none;
}

#news-detail #up_ymd{
 margin-top: 20px;
 }

#news-detail .detailUpfile.machine_photo {
 float: left;
 width: calc(25% - 20px);
 margin: 40px 10px 40px 10px;
 text-align: center;
}

#news-detail .detailText.youtube{
 position: relative;
 width: 100%;
 padding-top: 56.25%;
 clear: both;
 margin-top: 20px;
}

#news-detail .detailText.youtube iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100%;
}

#news-detail .contact_btn{
 background: #E0F3EB;
 padding: 40px 20px;
}

#news-detail .contact_btn a{
 margin: 0;
 padding: 20px 25px;
 background: #F39800;
 color: #fff;
}

#news-detail .contact_btn a:hover{
 background: #F37D00;
 text-decoration: none;
}

/* Pager style（外部化可） */
.pager{
	text-align:center;
	padding:30px 0;
	clear:both;
}
/*ページャーボタン*/
.pager a{
	border: 1px solid #008F5A;
	color: #008F5A;
	font-size: 12px;
	padding: 9px 12px;
	text-decoration: none;
	margin:0 5px;
}

/*現在のページのボタン*/
.pager a.current{
	background: #008F5A;
	border: 1px solid #008F5A;
	color: #fff;
	font-size: 12px;
	padding: 9px 12px;
	margin:0 5px;
	text-decoration: none;
}

.pager a:hover{
    background:#008F5A;
    color: #fff;
}

.overPagerPattern{
	padding:0 2px ;	
}

@media (max-width: 768px) {
	
.pager a{
	padding: 9px;
	margin:0 2px;
}
	
.pager a.current{
	padding: 9px;
	margin:0 2px;
}
	
}

/* /Pager style */

/*デジタルカタログ*/
.degital_catalog_en_btn{
	margin-bottom: 20px;
}

.degital_catalog_en_btn a{
	padding: 10px 30px 10px 10px;
	border: 1px solid #008F5A;
	background:url("../images/ico_right.png") no-repeat right 10px center rgba(0,143,90,0.1);
 background-size: 8px;
}

.degital_catalog_en_btn a:hover{
	text-decoration: none;
	background:url("../images/ico_right.png") no-repeat right 10px center rgba(0,143,90,0.15);
	background-size: 8px;
}

/****************************************

          toppage
		  
*****************************************/

#toppage h2{
 text-align: center;
 color: #666;
 background: none;
}

#toppage h2 span{
 border-bottom: 5px solid #008F5B;
 padding: 10px;
}

#toppage .main{
 background: url("../images/main.jpg") no-repeat top center;
 background-size: cover;
 width: 100%;
	height:420px; 
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 5px 0 0 0;
}

#toppage .main p{
 background: rgba(255,255,255,0.5);
 display: inline;
}

#toppage .komatsu{
 margin-top: 20px;
 margin-bottom: 10px;
 text-align: right;
}

#toppage .komatsu span{
 display: inline-block;
 height: 30px;
 line-height: 30px;
 vertical-align: top;
 font-weight: bold;
 padding-top: 2px;
}

#toppage .komatsu img{
 display: inline-block;
 height: 30px;
 margin-right: 10px;
 line-height: 0;
}

#toppage .message{
 background: #018E5B;
 text-align: center;
 letter-spacing: 1px;  
}

#toppage .message p{
 display: inline-block;
 padding: 7px 10px;
 font-size: 20pt;
 font-weight: bold;
 margin: 10px 0;
 line-height: 1.6em;
}

#toppage .message p.message-1{
 background: #E60312;
 color: #fff;
 border: 3px solid #fff;
}

#toppage .message p.message-2{
 color: #fff;
}

#toppage .message p.message-2 span{
 color: #F4FF00;
}

#toppage .message p.message-3{
 border: 1px solid #fff;
 color: #fff; 
}

#toppage .message p.message-3 span{
 border-right: 1px solid #fff;
 padding-right: 10px;
 margin-right: 10px;
 font-size: 0.8em;
}

#toppage .pagelink{
 display: inline-block;
 position: relative;
 width: calc(25% - 25px);
 margin: 0 10px;
}

#toppage .pagelink a{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 color: #fff;
 transition: 0.3s;
}

#toppage .pagelink a:hover{
 background: rgba(255,255,255,0.3);
}

#toppage .pagelink a span{
 background: #018E5B;
 display: block;
 width: calc(100% - 30px);
 position: absolute;
 bottom: 0;
 left: 0;
 padding: 7px 15px;
 letter-spacing: 1px;
 transition: 0.3s;
}

#toppage .pagelink a:hover span{
 background: #4CA887;
}

#toppage .oksg a{
 margin: 0;
 padding: 20px 25px;
 background: #018F5B;
 color: #fff;
}

#toppage .oksg a:hover{
 background: rgba(2,143,92,0.7);
 text-decoration: none;
}

#toppage .oksg h3{
  border-top: none;
  padding: 0;
}

#toppage .sdgs h2{
 padding: 0;
 line-height: 1.6em; 
 font-size: 16pt;
}

#toppage .sdgs img{
 display: block;
 margin: auto;
 width: 100%;
 max-width: 900px;
}


#toppage.english .machine_info a{
 margin: 0;
 padding: 20px 25px;
 background: #018F5B;
 color: #fff;
}

#toppage.english .machine_info a:hover{
 background: rgba(2,143,92,0.7);
 text-decoration: none;
}

#toppage.english .google_map{
position:relative;
}
#toppage.english .google_map iframe{
position:absolute;
top:0;
left:0;
height:100%;
}

/****************************************

          works
		  
*****************************************/

 .works_komatsu img{
  height: 24px; 
  margin: 0 20px -5px 0;
}


/****************************************

          contact
		  
*****************************************/
#contact .btn{
 display: inline-block;
 text-align: center; 
 cursor: pointer;
 padding: 15px 10px;
 color: #ffffff;
 transition: .3s;
 border:none;
 width: 45%;
 max-width: 350px;
 font-size: 13pt;
 -webkit-appearance: none;
 border-radius: 0; 
}

#contact .btn_green {
 background: #008F5C;
}
#contact .btn_green:hover {
 background:rgba(2,143,92,0.7);
}

#contact .btn_gray {
 background: #666;
}
#contact .btn_gray:hover {
  background:#999;
}

#contact table td input{
 width: calc(100% - 30px);
 max-width: 300px;
 font-size: 16px;
 padding: 5px 7px;
 border: 1px solid #ccc;
}

#contact table td textarea{
 width: calc(100% - 30px);
 height: 200px;
 margin-top: 5px;
 font-size: 16px;
 padding: 5px 7px;
 border: 1px solid #ccc;
}

#contact table th{
 position: relative;
 padding-right: 40px;
}

#contact table th span{
 display: block;
 background: #008F5C;
 color: #fff;
 font-size: 12px;
 padding: 3px 5px;
 position: absolute;
 line-height: 20px;
 right: 0;
 top:12px;
}

#contact .error_messe{
 margin-bottom: 20px;
}



/* ==========================================
	mediaQuery
========================================== */

@media only screen and (max-width: 768px){
	
	img{
		max-width: 100%;
	}
	
	.txtCenterAndLeft{
	text-align: left !important;
	}

 
 .marginT60{
	margin-top: 40px !important;
}

.marginT50{
	margin-top: 40px !important;
}
 
 h2{
  margin: 20px 0 0 0;
 }
 
 h2 span,
 h3{
 font-size: 16pt;
}

 h2{
 color: #fff;
 letter-spacing: 2px;
 font-size: 20pt;
 background: #008F5B;
 padding: 10px 20px;
}


h3{
  border-top: 5px solid #008F5B;
  padding: 15px 0 0 0 ;
  letter-spacing: 1px;
 font-size: 18pt;
 color: #666;
}

h2 span.en::before,
h3 span.en::before{
 content:'';
}
 
h2 span.en,
 h3 span.en{
  display: block;
  margin-top: 5px;
 }
 
 table.line{
 border-top:none;
}

table.line td,
table.line th{
 border-bottom:none;
 display: block;
 width: auto;
}
 
table.line td{
  padding: 0 10px 10px 10px;
 }

table.line th{
 border-top:1px solid #666;
 padding: 10px 10px 0 10px;
 font-weight: bold;
}
/****************************************

          Layout
		  
*****************************************/
.pc{
  display: none !important;
}
.sp{
  display: block!important;
}
header{
	width:auto;
	height: auto;
	padding: 0 0 20px 0;
}

.inner{
	width:auto;
	margin:0 auto;
}

.col_area{
	display: block;
	width:auto;
	margin: 0;
}

.col_item{
	display: block;
 margin-bottom: 20px;
}
/****************************************

          header
		  
*****************************************/

header h1{
	margin:10px 20px;
	float:none;
 text-align: center;
}

header .header_right{
 float: none;
 text-align: center;
}
 
 header .header_right .language{
  display: none;
 }


header .header_right .tel{
background: #eee;;
 padding-left: 0;
}

header .header_right .tel a{
 background: url("../images/ico_tel.png") no-repeat left center;
 background-size: contain;
 padding-left: 25px;
 font-size: 14pt;
 line-height: 2em;
}


/*Navi*/

.menu_btn{
  display: block;
}
  
.menu_btn a{
  display: block;
  color: #fff;
  text-align: center;
  padding: 10px;
  border-radius: 10px;
  background: url(../images/btn_G_Menu.png) no-repeat right #008F5C;
	background-size: contain;
}
  
.menu_on a{
  background: url(../images/btn_G_Menu_close.png) no-repeat right #008F5C;
	background-size: contain;
	border-radius:10px 10px 0px 0px ;
  }
  
.menu_btn a:hover{
  text-decoration: none;
}

.GlobalNavi{
 display: none;
 background: none;
 margin: 0 0 20px 0;
}

.GlobalNavi ul{  
	display: block;
 width: 90%;
 margin: 0 auto;
 text-align: center;
}
	
.GlobalNavi ul li{
 background: #eee;
	display: block;
 border-left: none;
 border-right: none;
	border-top: 1px solid #fff;
}
  
.GlobalNavi ul li:last-child,
.GlobalNavi ul li:last-child a:hover  {
   border-radius:0px 0px 10px 10px ;
}
  
/****************************************

         footer
		  
*****************************************/	

footer{
	padding:20px 0;
}
 
 footer .footer_logo{
  background-size: 30px;
  line-height: 30px;
  padding: 0 0 0 40px;
  margin: 0 0 10px 0;
  font-size: 14pt;
  letter-spacing: 0;
 }

	
/****************************************

         TOPへ
		  
*****************************************/	
#page-top {
    bottom: 20px;
    right: 20px;
}
 
/****************************************

          news
		  
*****************************************/

#newsWrap{
 box-shadow: none;
 padding: 0;
 border-radius: 0;
}

#newsList li{
 padding: 10px;
}

#news-detail .detailText,
#news-detail .detailUpfile{
 width: auto;
 float: none;
}
 
 #news-detail #up_ymd{
  margin-top: 10px;
 }
 
 #news-detail .detailUpfile.machine_photo {
 float: none;
 width: auto;
 margin: 20px 0 0 0; 
}
 
#news-detail .contact_btn{
 background: none;
 padding: 0;
}

#news-detail .contact_btn a{
 display: block;
}

/****************************************

          toppage
		  
*****************************************/
#toppage .main{
	height:230px; 
 margin: 20px 0 0 0;
}
 
#toppage.english .main{
 margin: 0;
}

#toppage .main p{
 min-width: 80%; 
 max-width: 80%;
 text-align: center;
}
 
#toppage .komatsu{
 text-align: center;
}

#toppage .komatsu span{
 display: inline;
 height: auto;
 line-height: normal;
 padding-top: 0;
 font-weight: bold;
}
 
 #toppage .komatsu span.dealer{
 margin-right: 0;
}

#toppage .komatsu span.dealer::after{
 content: '';
}


#toppage .komatsu img{
 display: block;
 width: 143px;
 margin: 15px auto 5px auto;
}
 
#toppage .message p{
 display: block;
 font-size: 14pt;
 margin: 0;
 line-height: 1.6em; 
 padding: 0;
}

#toppage .message p.message-1{
 background: #E60312;
 color: #fff;
 border: none;
 padding: 7px 0;
 border-bottom: 5px solid #fff;
}

#toppage .message p.message-2{
 color: #fff;
 padding: 7px 10px 0 10px;
}

#toppage .message p.message-3{
 border:none;
 padding: 0 10px 7px 10px;
}

#toppage .pagelink{
 width: calc(50% - 14px);
 margin: 5px;
}
 
#toppage .pagelink a span{
 width: calc(100% - 14px);
 padding: 3px 7px;
}
 
/****************************************

          works
		  
*****************************************/

 .works_komatsu img{
  height: 24px; 
  margin: 0 0 10px 0;
  display: block;
    }

 
 /****************************************

          contact
		  
*****************************************/
 
#contact .btn{
 display: block;
 width: 100%;
 max-width: 100%;
}
 
#contact table th span{
 display: inline;
 position: relative;
 margin: 0 0 0 10px;
 top:0;
}



}




	