@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2006 Sketches of Design
     version 2006-09-01
------------------------------------- */
@media screen and (max-width: 1300px) {


}
/*--------------------------------------*/
@media screen and (max-width: 1040px) {

}

/* 960 */
/*--------------------------------------*/
@media screen and (max-width: 960px) {
* ul li{
  box-sizing: border-box;
}
img{
  max-width: 100%;
  height: auto;
  width /***/:auto;
}
body{
  background-color: lime;
}

body{
  background-color: #fff !important;
}

#header{
/*  height: 72px;*/
}
#header .inner{
  width: auto;
  padding: 0 20px;
}
#header p#b-logo{
  margin: 36px 0 0 10px;
}
/*
#header p#b-logo img{
  width: auto;
  height: 20px;
}
*/
#header p#b-tagline{
  position: absolute;
  float: none;
  display: block;
  top: 13px;
  margin: 0;
  font-size: 89%;
}
#header p#b-tagline span{
  margin: 0 0 0 10px;
}
/*
#header #gnavi{
  display: none;
}

#header #header-menu{
  background: none !important;
  padding: 0;
  width: auto;
  height: auto;
}
*/
#header .menu a.menu-mobile{
  position: absolute;
  top: 14px;
  right: 10px;
  display: block;
  background-image: url("/en/assets/img/menu-btn.png");
	background-size: 44px 44px !important;
	-webkit-background-size: 44px 44px !important;
	-moz-background-size: 44px 44px !important;
	-ms-background-size: 44px 44px !important;
	-o-background-size: 44px 44px !important;
	width: 44px;
	height: 44px;
	text-indent: -10000px;
}
#header .menu .show-on-mobile{
  top: 0;
}
#header .menu-container ul li ul.normal-sub{
  clear: both;
}
#header .menu-container ul li ul.normal-sub li{
  float: left;
  display: inline;
  width: 50%;
}
#header .menu-container ul li.sp{
  float: left;
  display: inline;
  border-left: 1px solid #ccc;
  width: 50%;
  text-align: center;
}
#header .menu-container ul li.sitemap{
  float: none;
  display: block;
  width: 100%;
  text-align: left;
}
#header .menu-container ul li.lang{
  width: 25%;
}
.en #header .menu-container ul li.lang{
  width: 50%;
}
#header .menu-container ul li.sp a{
  width: auto;
}
#header .menu-container ul li.search{
  float: none;
  display: block;
  margin: 0;
  width: auto;
}
#header .menu-container ul li.search a{
  background: none;
}
#header .menu > ul > li.search > ul.normal-sub{
  display: block !important;
  margin: -60px 0 0px 0px;
  background: transparent;
  padding: 0 0 1px 0px;
  width: 100%;
}
#header .menu > ul > li.search ul::before,
#header .menu > ul > li.search.menu-dropdown-icon::before{
  display: none !important;
}

#header div#search{
  position: relative;
  float: none;
  display: block;
  margin: 0;
  border-bottom: 1px solid #ccc !important;
  background-color: rgba(224,224,224,0.8);
  padding: 15px;
  width: 100% !important;
  min-height: 60px;
  box-sizing: border-box;
}
#header div#search #cse-search-box input[type="text"]{
  width: 90% !important;
height: 26px;
}
#header div#search #cse-search-box input[type="submit"]{
  right: 13px;
  width: 15%;
  height: 28px;
}

/**/
#header div#search{
  height: 100%;
}
#header .gsc-control-cse{
  padding: 0;
}
#header .gsc-control-cse{
  background: none;
}
#header table.gsc-search-box input.gsc-input{
  padding: 6px !important;
}
#header .gsc-search-button-v2{
  padding: 13px 6px;
}
#header .gs-image{
  margin-bottom: 0;
  padding: 0;
}
#header a.gs-title{
  text-align: left;
  padding: 5px 0;
}


/**/
#header ul#hdnavigation{
  display: none;
}
#content div div.inner{
  padding: 20px 20px 40px 20px !important;
  width: auto;
}
#main div#kv{
  background-attachment: scroll !important;
}
#main ol.bc{
  margin-right: 10px !important;
  width: auto;
}
body#home #main .main-inner{
  z-index: 1;
}
#main .navi{
  margin-top: -120px !important;
  padding: 100px 0 80px 0;
	background-size: 1220px 610px !important;
	-webkit-background-size: 1220px 610px !important;
	-moz-background-size: 1220px 610px !important;
	-ms-background-size: 1220px 610px !important;
	-o-background-size: 1220px 610px !important;
}
#main .navi,
#main .navi .navi-inner{
  position: static;
  margin: 0;
  width: auto;
  height: auto;
}
#main div.navi-01 ul{
  margin-left: 120px;
}
#main div.navi-01 ul li{
  margin: 0;
  padding: 0 1px 0 0;
}
.dl-subviewopen .dl-submenu li{
  float: left;
  display: inline;
  width: 50%;
}
.dl-menuwrapper li a{
  border-left: 1px solid #e5e5e5;
}
#main div.navi-01 h2{
  left: 0;
}
#footer div.fmenu ul,
#footer .inner{
  width: auto;
}
#footer .inner{
  padding: 15px 10px;
}
#footer .inner ul li.first {
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
}
#footer p.copy {
  margin: 25px 0 0 0;
}
/*
body#home #main .main-inner .bxslider{
  z-index: -1;
}*/
body#home #main .main-inner ul.bxslider li p.ban{
  bottom: 10%;
}
body#home #main .main-inner ul.bxslider li p.ban a{
  padding: 10px 20px;
}
body#home #main .main-inner .navi{
  position: static;
  margin-top: -10px !important;
  padding: 40px 0 0 0;
}
body#home #main .main-inner .navi h2,
body#home #main .main-inner div.navi-02 ul li{
  text-align: center;
}
body#home #main .main-inner .navi h2{
  margin: 0 0 10px 0;
  background: none !important;
  height: auto;
  text-indent: 0 !important;
  font-size: 150%;
  font-weight: bold;
  color: #1e1f1e;
}
body#home #main .main-inner .navi h2 span{
  font-size: 60%;
}
#main .navi .navi-inner{
  padding: 0 20px;
}
#main .navi .navi-inner div{
  float: none !important;
  display: block;
  margin-bottom: 15px;
}
/*
#main div.navi-01 ul li,
body#home #main div.navi-01 #dl-menu{
  width: 33.333%;
  text-align: center;
}*/
body #main .navi div.navi-01 .dl-menuwrapper,
body #main .navi div.navi-01 .banners{
  float: left !important;
  display: inline;
  margin: 0;
  width: 33.333%;
  height: auto;
  text-align: center;
}
body#home #main div.navi-01{
  width: auto;
}
.dl-menuwrapper .dl-menu{
  width: 300% !important;
}
div#dl-menu-02 .dl-menu{
  left: -100% !important;
}
div .dl-subview li.dl-subviewopen{
  width: auto !important;
}

#main div.navi-02 ul li{
  float: left;
  display: inline;
  width: 50%;
  height: auto;
}
#main div.navi-02 ul li img{
  width: auto;
}
body#home #content{
  padding-top: 30px;
}
body#home #content #news{
  clear: both;
  margin: 0;
  padding: 20px 0 0 0;
  width: auto;
}
body#home #content #news h2{
  position: static;
  margin: 0;
}
body#home #content #news dl{
  margin: 0;
  padding: 10px;
}
body#home #content #lv02-01 .inner div{
  width: 50%;
  box-sizing: border-box;
}
body#home #content #lv02-01 .inner div.lv03-02,
body#home #content #lv02-01 .inner div.lv03-04,
body#home #content #lv02-01 .inner div.lv03-06{
  margin-left: 0;
  padding-left: 20px;
}
body#home #content #lv02-01 .inner div p.image{
  width: 120px;
  height: auto;
}
body#home #content #lv02-01 .inner div h3,
body#home #content #lv02-01 .inner div p.outline{
  margin-left: 130px;
}
body#home #content #lv02-02 .inner ul li{
  border-left: none !important;
  width: 33.333% !important;
}
body#home #content #lv02-04 .inner{
	background-size: 305px 225px !important;
	-webkit-background-size: 305px 225px !important;
	-moz-background-size: 305px 225px !important;
	-ms-background-size: 305px 225px !important;
	-o-background-size: 305px 225px !important;
  padding-bottom: 120px !important;
  width: auto;
}


body#home #content #lv02-05{
  padding-bottom: 120px;
}
body#home #content #lv02-05 #corporate,
body#home #content #lv02-05 #recruit,
body#home #content #lv02-05 #hd{
  float: none;
  display: block;
  border: none;
  border-top: 1px solid #c6c9c6;
  padding: 0;
  width: 100%;
}
body#home #content #lv02-05 div .inner{
	background-size: 81px 54px !important;
	-webkit-background-size: 81px 54px !important;
	-moz-background-size: 81px 54px !important;
	-ms-background-size: 81px 54px !important;
	-o-background-size: 81px 54px !important;
  padding: 0 !important;
  height: 54px;
}
body#home #content #lv02-05 #corporate .inner{
  background: url("/en/assets/img/bg-home-corporate-sp.jpg") left center no-repeat;
}
body#home #content #lv02-05 #recruit .inner{
  background: url("/en/assets/img/bg-home-recruit-sp.jpg") left center no-repeat;
}
body#home #content #lv02-05 #hd .inner{
  background: url("/en/assets/img/bg-home-hd-sp.jpg") left center no-repeat;
}
body#home #content #lv02-05 h2{
  margin: 0;
  background: url("/en/assets/img/nav-home-product-arrow.png") right center no-repeat;
	background-size: 18px 14px !important;
	-webkit-background-size: 18px 14px !important;
	-moz-background-size: 18px 14px !important;
	-ms-background-size: 18px 14px !important;
	-o-background-size: 18px 14px !important;
  padding: 0 0 0 90px;
  line-height: 54px;
  text-align: left;
  color: #1e1f1e !important;
}
body#home #content #lv02-05 .backstretch,
body#home #content #lv02-05 .nav{
  display: none;
}
body.en #content #lv02-05 .nav{
  display: block !important;
}
body.en #content #lv02-05 .nav br{
  display: none;
}
body.en #header p#b-tagline {
    margin: -5px 0 0 10px;
    font-size: 88%;
}


p.ban-60th{
  top: auto;
  bottom: 0;
  left: 10px;
  width: 154px;
  height: 56px;
}
p.ban-60th a{
  background: url("/en/assets/img/ban-home-60th_sp.png");
	background-size: 154px 56px;
	-webkit-background-size: 154px 56px;
	-moz-background-size: 154px 56px;
	-ms-background-size: 154px 56px;
	-o-background-size: 154px 56px;
}
p.ban-youtube{
  top: auto;
  bottom: 0;
  left: 172px;
  width: 154px;
  height: 52px;
}
p.ban-youtube a{
  background: url("/en/assets/img/ban-home-yt_sp.jpg");
	background-size: 154px 52px !important;
	-webkit-background-size: 154px 52px !important;
	-moz-background-size: 154px 52px !important;
	-ms-background-size: 154px 52px !important;
	-o-background-size: 154px 52px !important;
}
p.ban-mp{
  top: auto;
  bottom: 0;
  left: 336px;
  width: 154px;
  height: 52px;
}
p.ban-mp a{
  background: url("/en/assets/img/ban-home-mp_sp.png");
	background-size: 154px 52px !important;
	-webkit-background-size: 154px 52px !important;
	-moz-background-size: 154px 52px !important;
	-ms-background-size: 154px 52px !important;
	-o-background-size: 154px 52px !important;
}
.ban-list.fixed > *{
  bottom: 85px;
}
#home #footer{
  background-color: #d6d6d6;
}
#home #footer .fmenu{
  padding: 0 0 40px 0;
  background: #fff;
}
#home #footer .inner{
  background: #fff;
}



/* leaf */
body#csr-idx #content div#lv02-02 .inner div{
  box-sizing: border-box;
  width: 48%;
}

body#company-branch #content div.branch-01 div.map,
body#company-branch #content div.branch-02 div.map,
body.field #main .map{
  margin: 0 auto;
  width: 480px;
}
body#company-branch #content .map ul li{
  width: 150px;
  height: 41.25px;
}
body#company-branch #content .map ul li a{
	background-size: 150px 41.25px !important;
	-webkit-background-size: 150px 41.25px !important;
	-moz-background-size: 150px 41.25px !important;
	-ms-background-size: 150px 41.25px !important;
	-o-background-size: 150px 41.25px !important;
}
body#company-branch #content .map ul li.branch-01-01{
  top: 28.5%;
  left: 67%;
}
body#company-branch #content .map ul li.branch-01-02{
  top: 53%;
  left: 67%;
}
body#company-branch #content .map ul li.branch-01-03{
  top: 75%;
  left: 43%;
}
body#company-branch #content .map ul li.branch-01-04{
  top: 38%;
  left: 16%;
}
body#company-branch #content .map ul li.branch-01-05{
  top: 51%;
  left: 6%;
}
body#company-branch #content .map ul li.branch-02-01{
  top: 46%;
  left: 66%;
}
body#company-branch #content .map ul li.branch-02-02{
  top: 46%;
  left: 3%;
}
body#company-branch #content table br.pc{
  display: none;
}

body#institute-access #content #lv02-01 iframe{
  width: 100%;
}

body.institute #content .map .map-inner{
  position: absolute;
  left: 50%;
  margin-left: -200px;
}
body.institute #content .map .map-inner,
body.institute #content .map .map-inner p.image img{
  width: 400px;
}
body.institute #content .map ul li img{
  height: 29px;
}
body.institute #content .map{
  padding-bottom: 220px;
}
body.institute #content .map ul li.facility-01{
  top: 0;
  left: 10%;
}
body.institute #content .map ul li.facility-03{
  top: 18%;
  left: 34%;
}
body.institute #content .map ul li.facility-07{
  top: 29%;
  right: 8%;
}
body.institute #content div.facility #lv02-01 p.image{
  float: none;
  display: block;
  margin: 0 0 1em 0 !important;
  width: 100% !important;
  max-width: none;
  text-align: center;
}
body.institute #content div.facility #lv02-01 p.image img{
  max-width: 240px !important;
}
body#contact-thanks div#lv02-01,
body#contact-form div#lv02-01,
body#contact-idx div#lv02-01{
  width: auto;
}
body#contact-thanks div#lv02-01 section{
  padding: 0 20px;
}
div#method-area div#kv h1{
  margin-left: 10px;
}
body#method-01 #main .navi-inner{
  background: url("/en/assets/img/navi-dummy-sp.png") top center no-repeat;
	background-size: 300px auto !important;
	-webkit-background-size: 300px auto !important;
	-moz-background-size: 300px auto !important;
	-ms-background-size: 300px auto !important;
	-o-background-size: 300px auto !important;
	height: 262px;
}
body#method-01 #main .navi{
  margin: -180px 0 0 0;
  padding: 220px 0 40px 0;
}
div#method-area ul#cat-nav,
div#method-area div#kv h1{
  width: auto !important;
}
body#method-01 #main .navi-inner div{
  display: none;
}

div#method-area div#content .body_image_right p.image{
  width: 33.333%;
}
div#method-area div#content .body_image_right p.image img{
  max-width: 100%;
}
body#method-01 #footer{
  margin: 0;
  background: none;
  padding: 0;
}
#content ul.method-menu,
.method #content .catalog{
  margin: 0 10px;
  width: auto;
}
body#method-field-idx #content ul.method-navi-list li,
body#method-field-civil-idx #content ul.method-navi-list li{
  padding: 0 10px;
  width: 33.333%;
}
body#method-field-idx #main .map{
  width: auto;
}
body.field #main #lv02-01{
  padding-bottom: 50px;
}
body.field #main div#method-area  .map p.image,
body.field #main div#method-area  .map p.image img{
  max-width: 100%;
}
body.field #main .map ul li{
  width: 60px;
}

body.civil #main #kv ol.bc,
body.archi #main #kv ol.bc{
  right: 10px;
  margin: 55px 0 0 0;
}
body#method-field-civil-idx #main #kv ol.bc,
body#method-field-archi-idx #main #kv ol.bc{
  margin-top: 0;
}
div#search-results div.content-nav,
div#search-results div.search-results-container{
  width: auto;
}
div#search-results div.content-nav{
  padding: 0 10px 90px 10px;
}
div#search-results div.search-results-container{
  padding: 20px 10px 10px 10px;
}



/* padding */
.method #note-area{
  padding-bottom: 40px;
}
body#contact-idx #content div#lv02-01,
body#company-csr-idx #content div#lv02-02,
.method #content .catalog{
  padding-bottom: 90px;
}
body#method-field-idx #content .catalog{
  padding-bottom: 0;
}

body#sitemap-idx #content .navi,
body#privacy-idx #content .navi,
body#company-about #content .navi{
  margin-top: 0 !important;
}
body.institute #content .navi{
  margin-top: -60px !important;
}



}


/*  768
--------------------------------------*/
@media screen and (max-width: 768px) {

body{
  background-color: pink;
}
body{
  font-size: 93%;
}
#content h2{
  margin: 30px 0 15px 0;
}
#content h3,
div#method-area h3{
  margin: 20px 0 10px 0;
}
.navi .dl-menuwrapper li a{
  padding: 6px 5px;
  height: 100% !important;
  box-sizing: border-box;
  font-size: 93%;
}
.dl-menuwrapper li.dl-back:after,
.dl-menuwrapper li > a:not(:only-child):after{
  line-height: 36px !important;
}
.navi .dl-menuwrapper li.wide{
  height: 52px;
}
.navi .dl-menuwrapper li.wide a{
  line-height: 15px;
}
.navi .dl-menuwrapper li.narrow a{
  padding: 6px 2px;
}
div#main ul#cat-nav li{
  font-size: 93%;
}
div#main ul#cat-nav li a{
  padding: 1em 0;
}
div#main ul#cat-nav li a span{
  padding: 0 25px;
}
/*
#content div div.block{
  padding: 0;
}*/


/* diagram */
div.diagram a.sp{
  display: block !important;
}
body.people div#profile p.pic-01,
div.diagram p.image{
  display: none !important;
}
div.diagram{
  position: relative;
}
div.diagram span{
  display: block;
  position: absolute;
  width: 30px !important;
  height: 30px !important;
  right: 0;
  margin: -30px 0 0 0;
}


#main h1{
  padding: 50px 0;
}
/*#main ol{
  display: none;
}*/
#content div div.inner{
  padding: 10px 10px 30px 10px !important;
}

#footer{
  margin-top: -60px;
	background-size: 732px 72px !important;
	-webkit-background-size: 732px 72px !important;
	-moz-background-size: 732px 72px !important;
	-ms-background-size: 732px 72px !important;
	-o-background-size: 732px 72px !important;
	background-position: top right;
	background-color: #d6d6d6;
	padding-top: 72px;
}
#footer .inner{
  background-color: #fff;
}
#footer .fmenu{
  display: none;
}
#main div.navi-01 div.CFX{
  margin-left: 90px;
}

body#home #content h2{
  background: none;
  padding: 15px 0 15px 10px;
}
body#home #content p.nav-sp{
  position: absolute;
  display: block;
  cursor: pointer;
  top: 0;
  right: 10px;
  margin: 0;
  background: url("/en/assets/img/nav-home-open.png") right center no-repeat;
	background-size: 32px 32px !important;
	-webkit-background-size: 32px 32px !important;
	-moz-background-size: 32px 32px !important;
	-ms-background-size: 32px 32px !important;
	-o-background-size: 32px 32px !important;
	width: 32px;
	height: 68px;
	box-sizing: border-box;
	padding-left: 100%;
}
/*
body#home #content #lv02-01 h2,
body#home #content #lv02-02 h2,
body#home #content #lv02-03 h2,
body#home #content #lv02-04 h2{
  cursor: pointer;
}*/
body#home #content p.active{
  background-image: url("/en/assets/img/nav-home-close.png");
}

body#home #content #news{
  background-color: #ebf0f7;
  padding: 10px;
}
body#home #content #news h2{
  margin-bottom: 10px;
  color: #004097;
}
body#home #content #news dl{
  background-color: transparent;
  padding: 0;
}
body#home #content #news p.more{
  top: 20px;
  bottom: auto;
}


body#home #content h2{
  text-align: left;
}
body#home #content #lv02-01,
body#home #content #lv02-02,
body#home #content #lv02-03,
body#home #content #lv02-04,
body#home #content #lv02-01 h2,
body#home #content #lv02-02 h2,
body#home #content #lv02-03 h2,
body#home #content #lv02-04 h2{
  margin: 0;
}
body#home #content #lv02-01 .inner,
body#home #content #lv02-02 .inner,
body#home #content #lv02-03 .inner,
body#home #content #lv02-04 .inner{
  display: none;
}

body#home #content #lv02-02,
body#home #content #lv02-04{
  background-color: #f2f2f2 !important;
}

body#home #content #lv02-01 .inner div,
body#home #content #lv02-02 .inner ul li{
  float: none;
  display: block;
  width: auto !important;
}
body#home #content #lv02-01 .inner div{
  margin: 0 0 10px 0 !important;
  border-top: 1px solid #c6c9c6;
  padding-left: 0 !important;
  padding-top: 10px;
  min-height: auto;
}
body#home #content #lv02-02 .inner ul li a{
  padding: 8px 0 12px 15px;
}
body#home #content #lv02-01 .inner div p.image{
  top: 10px;
}
body#home #content #lv02-01 .inner div p.outline{
  height: auto !important;
}
body#home #content #lv02-03 .inner{
  padding: 10px 0 30px 0 !important;
}
body#home #content #lv02-03 .bx-wrapper div.bx-viewport{
  width: 5000% !important;
}



body#home.en #content div#kv{
  height: 300px;
}
body#home.en #content div#kv p{
  padding: 0 10px;
  font-size: 200%;
}
body#home.en #content div#news{
  margin-top: 0;
}
body#home.en #content div#lv02-01 h2{
  padding: 15px 0 15px 10px;
}
body#home.en #content div#lv02-01 div.backstretch{
  display: block;
}
body#home.en #content div#lv02-01 h3{
  height: auto !important;
}
body#home.en #content div#lv02-01 .inner{
  border-bottom: 1px solid #c6c9c6;
}
body#home.en #content div h2{
  padding: 15px 60px 15px 10px !important;
  font-size: 128% !important;
}


#footer p.copy{
  font-size: 79%;
}



/* leaf */

table tr th{
  padding: 10px 10px 10px 0;
}
table tr td{
  padding: 10px 0 10px 10px;
}
#content div div.inner,
body#company-history div#content-inner div.block dl,
body#csr-others #content #lv02-01 ul,
body#institute-idx #content #lv02-01 div.lv03-01,
body#institute-access #lv02-01 .lv03-01,
body#news-idx #content #lv02-01,
body#privacy-idx #content #lv02-01,
body#contact-faq div#lv02-01 div.lv03-02 dl,
body.news #content .news-inner{
  width: auto !important;
}
body#news-idx #content #lv02-01 dl dt{
  position: static;
}
body#news-idx #content #lv02-01 dl dd{
  padding-left: 0;
}
body#privacy-idx #content #lv02-01,
body#contact-faq div#lv02-01 div.lv03-02 dl,
body.news #content .news-inner{
  padding: 10px;
}
body#contact-idx div#lv02-01{
  padding: 30px 10px 10px 10px;
}
body#contact-idx #content div.lv03-01 ul li{
  float: none;
  display: block;
  margin: 15px 0 0 0;
  width: 100%;
}
body#contact-idx #content div.lv03-01 ul li ul li{
  float: left;
  display: block;
  margin: 0 0 0 2%;
}
body#contact-idx #content div.item{
  padding: 0 10px 5px 10px;
  height: auto !important;
}
body#contact-idx #content div.item .inner{
  padding: 0 !important;
}
body#invoice-idx div#lv02-01 div.inner p.box{
  margin-bottom: 30px !important;
}
body#invoice-idx div#lv02-01 div.item,
body#contact-idx #content div.half{
  width: 100%;
}
body#invoice-idx div#lv02-01 div.item{
  padding: 0 10px 10px 10px;
}
body#invoice-idx div#lv02-01 div.item,
body#invoice-idx div#lv02-01 div.item h3,
body#contact-idx #content div.item h3{
  margin: 15px 0 10px 0;
}
body#invoice-idx div#lv02-01 .lv03-02 .wrap{
  display: block;
}
body#invoice-idx div#lv02-01 .lv03-02 p.image{
  width: 100%;
}

body#contact-idx div#lv02-01 p.posted{
  text-align: left;
}

body#company-message #content div#lv02-00 .inner{
  margin: 0 10px !important;
}
body#company-message #content div#lv02-00 .inner p{
  text-align: left;
}
body#company-message #content div#lv02-00 .inner br{
  display: none;
}
body#company-message #content div#lv02-01 .CFX p.image{
  float: none;
  display: block;
  margin: 0 auto;
  max-width: 66.666%;
}
body#company-about #content div#lv02-01 div.inner div{
  float: none !important;
  display: block;
  width: auto !important;
}
body#company-about #content div#lv02-01 div.inner div table{
  margin: 10px;
  height: auto !important;
}
body#company-about #content div#lv02-01 div.inner div.corporate table th{
  width: 6em;
}
body#company-history div#content-inner div.block .inner{
  padding-bottom: 20px !important;
}
body#company-history div#content-inner div.block h2{
  margin-top: 20px;
}
body#company-history div#content-inner div.block h2 em{
  font-size: 150%;
}
body#company-history div#content-inner div.block dl{
  margin-bottom: 30px;
}
body#csr-idx #content div#lv02-01 .inner p.image{
  float: none;
  display: block;
  margin: 0 0 1em 0;
  text-align: center;
}
body#csr-idx #content div#lv02-01 .inner p.image img{
  max-width: 66%;
}
body#csr-idx #content div#lv02-02 .inner div{
  padding: 20px 10px 5px 10px;
  height: auto !important;
}
body#csr-idx #content div#lv02-02 .inner div ol{
  margin-left: 20px;
}
body#csr-idx #content div#lv02-02 .inner div,
body#csr-others #content #lv02-01 ul li{
  display: block;
  float: none !important;
  width: auto;
}
body#csr-environment #content #lv02-01 .lv03-01{
  padding: 15px 15px 30px 15px;
}
body#csr-iso #content #lv02-01 .lv03-01{
  padding: 15px 15px 10px 15px;
}
body#csr-iso #content #lv02-01 .lv03-02 ul{
  position: static;
  margin: 0 auto 10px auto;
}
body#csr-iso #content #lv02-01 .lv03-02 dl{
  padding: 0 1em;
}
body#csr-iso #content #lv02-01 .lv03-02 dl,
body#csr-iso #content #lv02-01 .lv03-02 p.posted{
  margin-left: 0;
}
body#csr-others #content #lv02-01 ul li.first{
  margin-right: 0;
}
body#csr-social #content #lv02-01 h3{
  border-top: 1px solid #b2b2b2;
  padding-top: 20px;
}
body#csr-social #content #lv02-01 p.date{
  margin-top: 0 !important;
}
body#csr-environment #content .inner div p.fRight,
body#csr-environment #content .inner div p.fLeft,
body#csr-social #content #lv02-01 .inner div p.fRight,
body#csr-social #content #lv02-01 .inner div p.fLeft{
  max-width: 33.333%;
}


body#company-branch #content .branch-menu{
  margin-bottom: 0;
  border: none;
  padding: 0 10px 40px 10px;
}
body#company-branch #content .tabs{
  margin: 0 0 0 -45%;
  left: 50%;
  border-right: 1px solid #b2b2b2;
  width: 90%;
}
body#company-branch #content .tabs li{
  margin: 0;
  width: 33.333%;
  height: auto;
}
body#company-branch #content .tabs li a{
  display: block;
  border-left: 1px solid #b2b2b2;
  background: none !important;
  text-indent: 0 !important;
}
body#company-branch #content .tabs li a.is_active{
  font-weight: bold;
}
body#company-branch .branch-inner{
  padding: 10px;
}

body#company-branch .branch-inner h4{
  width: auto !important;
  max-width: 100% !important;
}
body#company-branch .branch-inner iframe{
  position: static;
  margin: 0 0 20px 0;
  width: 100%;
}
#cboxContent #cboxClose{
  top: -40px;
  right: 0;
}
body#product-idx #content #lv02-01 ul.menu{
  margin: 0;
  border-right: none;
}
body#product-idx #content #lv02-01 ul.menu li{
  margin: 0 0 10px 0;
  width: 20%;
}

body#product-idx #content #lv03-01 .table_wrap,
body#product-idx #content #lv03-02 .table_wrap,
body#product-idx #content #lv03-04 .table_wrap,
body#product-idx #content #lv03-05 .table_wrap,
body#product-idx #content #lv03-07 .table_wrap,
body#product-idx #content #lv03-10 .table_wrap{
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  height: 320px;
}

/*
body#product-idx #content table tr th,
body#product-idx #content table tr td{
  float: left;
  display: block;
  margin: 0;
  box-sizing: border-box;
}
body#product-idx #content table tr .name{
  width: 33%;
  font-weight: bold;
}
body#product-idx #content table tr .system,
body#product-idx #content table tr .use{
  width: 67%;
}
body#product-idx #content table tbody tr .name,
body#product-idx #content table tbody tr .use{
  border-top: 1px solid #b2b2b2;
}
body#product-idx #content table tr th.pdf{
  width: 25%;
}
body#product-idx #content table tr td.pdf{
  padding: 10px 5px 10px 0;
  width: 25%;
  height: auto !important;
}
*/
body#product-idx #content #lv02-01 ul.menu li a{
  padding: 0 10px 0 0;
}
body.institute #content div.facility #lv02-01 .inner{
  padding: 10px 10px 30px 10px !important;
}
body.institute #content div.facility #lv02-01 p.image{
  width: 25%;
}
body.institute #content div.facility #lv02-01 p.image img{
  max-width: 100%;
}
body#institute-facility-01 #content #lv02-01 .lv03-01 div.pic{
/*
  min-height: 250px;
*/
  float: none;
  display: inline;
  width: auto;
}
body#institute-facility-01 #content #lv02-01 ul.fasility-menu li{
  width: 33.333%;
}
body#institute-facility-02 #content #lv02-01 div.pic{
  float: none;
  display: block;
  width: auto;
}
body#institute-facility-08 #content #facility-08-10 .spec table tr th,
body#institute-facility-08 #content #facility-08-10 .spec table tr td,
body#institute-facility-08 #content #facility-08-08 .spec table tr th,
body#institute-facility-08 #content #facility-08-08 .spec table tr td,
body#institute-facility-08 #content #facility-08-07 .spec table tr th,
body#institute-facility-08 #content #facility-08-07 .spec table tr td,
body#institute-facility-08 #content #facility-08-06 .spec table tr th,
body#institute-facility-08 #content #facility-08-06 .spec table tr td,
body#institute-facility-08 #content #facility-08-01 .spec table tr th,
body#institute-facility-08 #content #facility-08-01 .spec table tr td{
  display: block;
  text-align: left;
}
body.institute #content div.facility #lv02-01 p.image,
body.institute #content div.facility #lv02-01 img{
  max-width: 100%;
}
body.institute #content .table_wrap{
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  height: 320px;
}
body.institute #content .table_wrap table{
  width: 100%;
}
body.institute #content .table_wrap::-webkit-scrollbar {
  height: 10px;
}
body.institute #content .table_wrap::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
  border-radius: 5px;
}
body.institute #content .table_wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}

body.institute #content table#la_bunken tr th,
body.institute #content table#la_bunken tr td{
  border-left: none;
  border-right: none;
  display: block;
  padding: 10px;
}
body.institute #content table#la_bunken tr th{
  margin-top: 1em;
  border-top: 1px solid #b2b2b2;
  padding-top: 1.5em;
}
body.institute #content table#la_bunken tr td{
  border-top: 1px solid #e3e6e3;
}

.method #content .catalog ul.menu li{
  margin-bottom: 5px;
  width: 20%;
}
div.method-list h2{
  padding-top: 30px;
}
div#method-area div#content p.image{
  max-width: 33.333%;
}
div#method-area div#content p.image.single{
  max-width: 100%;
}
div#method-area div#content p.image img{
  max-width: 100%;
}
div#method-area #content table td.pdf{
  width: auto;
}
body#method-netis div#method-area #content table th.num{
  text-align: center;
}
body#method-netis div#method-area #content table td.num{
  letter-spacing: -0.04em;
  padding-left: 0.5em;
}
body#method-netis div#method-area #content table td.pdf{
  min-width: 4.5em;
}
body#method-01 #content .inner .inner{
	background-size: 300px auto !important;
	-webkit-background-size: 300px auto !important;
	-moz-background-size: 300px auto !important;
	-ms-background-size: 300px auto !important;
	-o-background-size: 300px auto !important;
}
body#method-01 #content #lv02-01 .inner{
  background: url("/en/assets/img/leaf-01-dummy-sp.png") top center no-repeat;
  height: 359px;
}
body#method-01 #content #lv02-02 .inner{
  background: url("/en/assets/img/leaf-02-dummy-sp.png") top center no-repeat;
  height: 825px;
}
body#method-01 #content #lv02-03 .inner{
  background: url("/en/assets/img/leaf-03-dummy-sp.png") top center no-repeat;
  height: 1653px;
}
body#method-01 #content #lv02-04 .inner{
  background: url("/en/assets/img/leaf-04-dummy-sp.png") top center no-repeat;
  height: 269px;
}
body#method-01 #content #lv02-05 .inner{
  background: url("/en/assets/img/leaf-05-dummy-sp.png") top center no-repeat;
  height: 563px;
}
body#method-01 #content #contact .inner{
  background: url("/en/assets/img/leaf-06-dummy-sp.png") top center no-repeat;
  height: 436px;
}

#content ul.method-menu{
  padding: 10px 10px 0 10px;
}
#content ul.method-menu li{
  float: none;
  display: block;
  margin: 0;
  border-bottom: 1px solid #c6c9c6;
  width: 100%;
  text-align: left;
}
#method-072 #content ul.method-menu li{
  width: 100%;
}
#content ul.method-menu li a{
  display: block;
  padding: 10px 0 10px 16px;
}
div.method-menu #lv02-01 h2{
  border: none;
}
div.method-menu h2{
  margin-top: 0;
  padding-top: 30px;
}
div.method-menu #content div .inner{
  padding-bottom: 0 !important;
}

.method #content .catalog div table{
  width: 100%;
}
div#method-area #material-area{
  padding-bottom: 50px;
}
div#method-area #catalogue-area{
  padding: 0 0 20px 0;
}
/*
body.field #main #kv h1{
  margin-left: 0;
  padding: 30px 0;
}
body#method-field-civil-idx #main #kv h1,
body#method-field-archi-idx #main #kv h1{
  padding: 30px 0 40px 0;
}*/
body.method #main.lv02 #kv{
padding-bottom: 60px;
}

body.field #content ul.method-navi-list,
body.elongation #content ul.method-navi-list{
  width: auto !important;
}
/*
body#method-field-archi-idx #content ul.method-navi-list li{
  padding: 0 10px;
  width: 50%;
  text-align: center;
}
body#method-field-civil-idx #content ul.method-navi-list li h3,
body#method-field-archi-idx #content ul.method-navi-list li h3{
  height: auto !important;
  font-size: 122%;
}*/
body.field #content ul.method-navi-list li,
body.elongation #content ul.method-navi-list li{
  padding: 0 10px;
  width: 33.333%;
  text-align: center;
}

body.netis #content .inner,
body.aric #content .inner{
  padding-bottom: 60px !important;
}

body#hrd-idx #content #lv02-01 #ban-mov{
  width: auto;
  height: auto;
}


#cse-search-results iframe{
  width: auto !important;
}




}



/*  480px
--------------------------------------*/
@media screen and (max-width: 480px) {

body{
  background-color: skyblue;
}
body{
  font-size: 85%;
}
#btt {
  right: 10px;
  bottom: 10px;
}
#header .inner{
  padding: 0;
}
#header p#b-logo img{
  width: auto;
  height: 22px;
}
#header .menu > ul > li > ul.normal-sub{
  padding: 0 10px;
}
#main h1{
  padding: 30px 0;
}


#main h1 br{
  display: block;
}


#main .navi{
  padding-bottom: 0;
}

#main .navi .navi-inner{
  padding: 0 10px;
}
#main div.navi-01 ul{
  margin-left: 80px;
}
body#home #main .main-inner .navi h2{
  margin: 0 0 5px 0;
  font-size: 115%;
}
body.csr div#main ul#cat-nav li.csr ul li a{
  padding: 10px 0;
}
div#main ul#cat-nav li a span{
  padding: 0 15px;
}
body#home #main .main-inner .navi{
  padding-top: 20px;
}
/*
#main div.navi ul li ul li ul.dl-submenu li{
  height: 40px;
}
#main div.navi ul li ul li ul.dl-submenu li a{
  line-height: 1em;
}*/
#main .navi .dl-menuwrapper .dl-menu{
  bottom: 103%;
}
#main .navi .navi-inner div.dl-menuwrapper{
  height: auto;

}
/*
#main div.navi div#dl-menu-02 ul li{
  float: left;
  display: inline;
  width: 50%;
}
#main div.navi div#dl-menu-02 ul li li{
  width: 100%;
}*/
.navi .dl-menuwrapper li{
  height: 32px;
  letter-spacing: -0.04em;
}
.navi .dl-menuwrapper li.wide{
  height: 42px;
}
.navi .dl-menuwrapper li small{
  font-size: 65%;
}
.dl-menuwrapper li a{
  line-height: 14px;
}
#main div.navi-01 h2{
  position: static;
  left: auto;
}
#main div.navi-01 div.CFX{
  margin-left: 0;
}

body#home #content h2{
  font-size: 113%;
}
body#home #content h3{
  font-size: 107%;
}
body#home #content #lv02-05 #hd h2{
  letter-spacing: -0.1em;
}
body#home #content p.nav-sp{
	height: 53px;
}
body#home #content #news{
  font-size: 86%;
}
body#home #content #news h2{
  margin-top: 5px;
}
body#home #content #news p.more{
  top: 10px;
  right: 10px;
}
body#home #content #news p.more a{
  padding: 7px 11px 6px 35px;
}

body#home #content #news dl dt{
  position: static;
}
body#home #content #news dl dd{
  padding: 0 !important;
}
body#home #content #lv02-01 .inner div{
  background: url("/en/assets/img/nav-home-product-arrow.png") right 34px no-repeat;
	background-size: 18px 14px !important;
	-webkit-background-size: 18px 14px !important;
	-moz-background-size: 18px 14px !important;
	-ms-background-size: 18px 14px !important;
	-o-background-size: 18px 14px !important;
}
body#home.en #content #lv02-01 .inner div{
  background: none;
}
body#home #content #lv02-01 .inner div p.image{
  width: 80px;
  height: 54px;
}
body#home #content #lv02-01 .inner div h3,
body#home #content #lv02-01 .inner div p.outline,
body#home.en #content #lv02-01 .inner div p.outline,
body#home.en #content #lv02-01 .inner div h3{
  margin-left: 90px;
}

#main .ban-list{
  position: fixed;
  display: flex;
  justify-content: space-between;
  bottom: 0;
  padding: 0 10px;
  width: 100%;
  box-sizing: border-box;
}
p.ban-60th,
p.ban-youtube,
p.ban-mp{
  display: block;
  position: static;
  width: 32%;
  height: auto;
  min-height: 52px;
}

p.ban-60th a,
p.ban-youtube a,
p.ban-mp a{
  background-size: 100% auto !important;
  background-position: bottom center;
  background-repeat: no-repeat;
  
  aspect-ratio: 16/6;
}



#footer{
  margin: 0;
  font-size: 75%;
}
#footer .inner{
  padding: 5px 10px;
}

#footer .inner ul,
#footer .inner ul li{
  float: none;
  display: block;
}
#footer .inner ul li{
  border: none;
  margin-right: 0;
  padding-right: 0;
}
#footer .inner ul li a{
  display: inline-block;
  padding: 2px 15px 2px 0;
}
#footer p.copy{
  margin-top: 10px;
  text-align: center;
}
body#home.en #header p#b-tagline{
  margin: 0 0 0 10px;
  font-size: 72%;
  letter-spacing: -0.05em;
}
body#home.en #header p#b-logo img{
  width: 240px;
  height: auto;
}
body#home.en #content div#kv{
  height: 160px;
}
body#home.en #content div#kv p{
  font-size: 150%;
}

.table_wrap {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.table_wrap table{
  width: 200%;
}
.table_wrap::-webkit-scrollbar {
  height: 10px;
}
.table_wrap::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
  border-radius: 5px;
}
.table_wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}





/* leaf */
body#institute-about #content #lv02-01 dl{
  float: none;
  display: block;
  width: 100%;
  height: auto !important;
}
body#institute-access #content #lv02-01 iframe{
  height: 200px;
}

body#institute-facility-01 #content br.sp{
  display: block;
}
body#institute-facility-08 #content #lv02-01 ul.fasility-menu li,
body#institute-facility-01 #content #lv02-01 ul.fasility-menu li,
body#institute-facility-05 #content #lv02-01 ul.fasility-menu li{
  width: 50% !important;
}
body#institute-facility-04 #content #lv02-01 ul.fasility-menu li{
  width: 100%;
}
body.institute #content #lv02-01 ul.fasility-menu li a{
  padding: 5px 10px 5px 0;
  height: 2em;
}
body#institute-facility-04 #content #lv02-01 ul.fasility-menu li a{
  border-right: none;
  border-bottom: 1px solid #b2b2b2;
}



/*
body#institute-facility-01 #content #lv02-01 ul.fasility-menu li a{
  border-right: none;
  border-bottom: 1px solid #b2b2b2;
}*/
body#company-branch #content div.branch-01 div.map,
body#company-branch #content div.branch-02 div.map,
body#method-field-idx #main .map,
body#method-field-building #main .map{
  left: 50%;
  margin-left: -170px;
  width: 340px;
}
body#company-branch #content .map ul li{
  width: 66.6px;
  height: 18.3px;
}
body#company-branch #content .map ul li a{
	background-size: 66.6px 18.3px !important;
	-webkit-background-size: 66.6px 18.3px !important;
	-moz-background-size: 66.6px 18.3px !important;
	-ms-background-size: 66.6px 18.3px !important;
	-o-background-size: 66.6px 18.3px !important;
}
body#company-branch #content .map ul li.branch-01-01 a{
  background: url("/en/assets/img/nav-company-branch-map-01-01_sp.png");
}
body#company-branch #content .map ul li.branch-01-02 a{
  background: url("/en/assets/img/nav-company-branch-map-01-02_sp.png");
}
body#company-branch #content .map ul li.branch-01-03 a{
  background: url("/en/assets/img/nav-company-branch-map-01-03_sp.png");
}
body#company-branch #content .map ul li.branch-01-04 a{
  background: url("/en/assets/img/nav-company-branch-map-01-04_sp.png");
}
body#company-branch #content .map ul li.branch-01-05 a{
  background: url("/en/assets/img/nav-company-branch-map-01-05_sp.png");
}
body#company-branch #content .map ul li.branch-01-03{
  top: 73%;
}
body#company-branch #content .map ul li.branch-01-04{
  top: 42%;
  left: 26%;
}
body#company-branch #content .map ul li.branch-01-05{
  top: 54%;
  left: 7%;
}

body#company-branch #content .map ul li.branch-02-01 a{
  background: url("/en/assets/img/nav-company-branch-map-02-01_sp.png");
}
body#company-branch #content .map ul li.branch-02-02 a{
  background: url("/en/assets/img/nav-company-branch-map-02-02_sp.png");
}
body#company-branch #content .map ul li.branch-02-02{
  top: 46%;
  left: 13%;
}
body#company-branch #content table{
}
body#company-branch #content table tr th,
body#company-branch #content table tr td{
  padding: 8px;
  box-sizing: border-box;
}
body#company-branch #content table tr th.tel{
  width: 15em !important;
}
body#company-branch #content .branch-01 .lv03-01 table th.office,
body#company-branch #content .branch-02 .lv03-01 table th.office{
  width: 20%;
}

body#company-branch #content .branch-01 .lv03-02 table,
body#company-branch #content .branch-01 .lv03-03 table,
body#company-branch #content .branch-01 .lv03-04 table,
body#company-branch #content .branch-01 .lv03-05 table,
body#company-branch #content .branch-01 .lv03-06 table{
  width: 250%;
}
body#company-branch #content .branch-02 .lv03-02 table,
body#company-branch #content .branch-03 .lv03-02 table,
body#company-branch #content .branch-03 .lv03-03 table{
  width: 210%;
}
body#company-branch #content .branch-02 .lv03-02 table th.office{
  width: 8em;
}
body#company-branch #content .branch-02 .lv03-02 table th.name{
  width: 9em;
}
body#company-branch #content .branch-03 .lv03-02 table th.office,
body#company-branch #content .branch-03 .lv03-03 table th.office{
  width: 10em;
}


body#csr-environment #content p.image,
div#method-area div#content .body_image_right p.image,
div#method-area div#content p.image{
  float: none;
  display: block;
  margin: 0 0 0.5em 0;
  width: auto;
  max-width: 100%;
  text-align: center;
}

body#csr-environment #content .inner div p.fRight,
body#csr-environment #content .inner div p.fLeft{
  max-width: 100%;
}
body#csr-environment #content p.image img,
div#method-area div#img-area ul li img,
div#method-area div#content .body_image_right p.image img,
div#method-area div#content p.image img{
  max-width: 66.666%;
}
body#method-003 div#method-area div#content p.image.single:first-of-type img,
body#method-085 div#method-area div#content p.image.single img{
  max-width: 100%;
}
div#method-area div#catalogue-area ul li{
  width: 50%;
}
div#method-area .body_image_right{
  position: relative;
}
div#method-area h4.top{
  position: absolute;
  top: 0;
  margin-top: 0;
}
div#method-area p.image.top{
  padding-top: 35px;
}

div#method-area div#content .image-sp{
  display: block;
}
div#method-area div#content .body_image_right .image-pc{
  display: none !important;
}
body#method-050 div#method-area div#img-area ul li:nth-of-type(2),
div#method-area div#img-area ul li{
  margin-bottom: 20px;
  font-size: 85%;
  width: 100%;
}

.method #content .catalog ul.menu li{
  margin-bottom: 5px;
  width: 33.333%;
}
body#method-093 div#method-area #content #img-area li p{
  padding-left: 25px;
}
div#method-area #content #img-area span.number{
  width: 20px;
  line-height: 20px;
}


/*
body.elongation #main .map ul li{
  width: 50px;
}*/


body#sitemap-idx #content div#lv02-01 ul li,
body#sitemap-idx #content div.inner div.block,
body#sitemap-idx #content div#lv02-04 ul,
body#sitemap-idx #content div#lv02-03,
body#sitemap-idx #content div#lv02-06{
  float: none;
  display: block;
}
body#sitemap-idx #content div#lv02-01 ul li,
body#sitemap-idx #content div.inner div.block,
body#sitemap-idx #content div#lv02-04 ul{
  width: 100%;
}
body#sitemap-idx #content h2{
  margin: 0 0 20px 0 !important;
}
body#sitemap-idx #content .inner{
  padding-bottom: 0 !important;
}
body#sitemap-idx #content .navi{
  margin-top: -60px !important;
}

body#hrd-idx #content p.image{
  float: none !important;
  display: block;
  margin: 0 0 1em 0 !important;
  width: auto !important;
}
body#hrd-idx #content #lv02-01 ul.pic li{
  width: calc(50% - 20px);
}
body#hrd-idx #content #lv02-01 #ban-mov p.nav{
  bottom: 20px;
}

}



/*  320
--------------------------------------*/
@media screen and (max-width: 360px) {

p.ban-60th,
p.ban-youtube,
p.ban-mp{
  min-height: 35px;
}

}
