@charset "utf-8";

@media only screen and (max-width: 600px) {
/* 600px以下用（スマートフォン用）の記述 */

/* common
=================================*/
*, *::before, *::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	background: #ffffff;
	font-size: 91%!important;
	word-wrap: break-word;
}

img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

#pageWrapper {
	width: 100%;
	margin: 0 auto;
	background: none;
	overflow: hidden;
}

#pageContainer {
	width: 100%;
}

#headContainer {
	width: 100%;
}

#headContainer #header {
	width: 100%;
	height: 55px;
}
#headContainer #header #ci {
	top: 14px;
	left: 10px;
	position: relative!important;
}

.utilityLink,
#sizeSwitcher {
	display: none;
}

#mainContainer {
	width: 96%!important;
	margin: 0 auto!important;
}
#pageWrapper #mainContainer .index {
    width: 100%!important;
    float: none!important;
}
body#home #mainContainer #contents {
  width: 100%!important;
  float: none!important;
  margin-bottom: 10px;
}

body#home #mainContainer #sideContainer {
  width: 100%!important;
  float: none!important;
}

#headerNavi {
	display: none;
}

/* globalNavi */
#menuSp {
	display: block;
	position: absolute;
	top: 10px;
	right: 12px;
	width: 30px;
	z-index: 999999;
}
#menuSp img {
  width: 100%;
  cursor: pointer;
}
#menuSpWrapper {
	display: none;
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
}
#headContainer #globalNavi {
  width: 100%!important;
  height: 100%!important;
  margin-top: 0!important;
  margin-left: 0!important;
  position: relative!important;
  top: 50px!important;
}
#headContainer #globalNavi ul {
	padding: 0;
}
#headContainer #globalNavi ul li {
  float: none;
  background-color: #058bd3;
  border-bottom: 1px solid #006297;
}
#headContainer #globalNavi ul li a {
	height: auto;
	position: relative;
}
#headContainer #globalNavi ul li.on a {
	background-image: none!important;
}
#headContainer #globalNavi ul li a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 0;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#headContainer #globalNavi ul li#glCompany a,
#headContainer #globalNavi ul li#glIr a,
#headContainer #globalNavi ul li#glBusiness a,
#headContainer #globalNavi ul li#glProject a,
#headContainer #globalNavi ul.globalNavi02 li#glCompany a,
#headContainer #globalNavi ul.globalNavi02 li#glIr a,
#headContainer #globalNavi ul.globalNavi02 li#glBusiness a,
#headContainer #globalNavi ul.globalNavi02 li#glCsr a {
  width: 100%;
  background: none;
	color: #ffffff;
	text-decoration: none;
	font-size: 16px;
}
#headContainer #globalNavi ul.globalNavi02 li#glCompany a,
#headContainer #globalNavi ul.globalNavi02 li#glIr a,
#headContainer #globalNavi ul.globalNavi02 li#glBusiness a,
#headContainer #globalNavi ul.globalNavi02 li#glCsr a {
	display: block;
	text-align: left;
	font-weight: normal;
	height: auto;
}
#headContainer #globalNavi ul li#glCompany a:hover,
#headContainer #globalNavi ul li#glIr a:hover,
#headContainer #globalNavi ul li#glBusiness a:hover,
#headContainer #globalNavi ul li#glProject a:hover,
#headContainer #globalNavi ul.globalNavi02 li#glCompany a:hover,
#headContainer #globalNavi ul.globalNavi02 li#glIr a:hover,
#headContainer #globalNavi ul.globalNavi02 li#glBusiness a:hover,
#headContainer #globalNavi ul.globalNavi02 li#glCsr a:hover {
  width: 100%;
  background: #0d9ae6;
	color: #ffffff;
	text-decoration: none;
}
#headContainer #globalNavi ul li a span,
#subNavi.utility ul li a span,
#headContainer #globalNavi ul.globalNavi02 li a span,
#subNavi.utility ul.utility02 li a span {
  display: block;
	padding: 10px;
}

#subNavi.utility ul li {
	float: none;
  background-color: #ffffff;
  border-bottom: 1px solid #dddddd;
}
#subNavi.utility ul li a,
#subNavi.utility ul li a:visited {
	color: #0066cc;
	height: auto;
	position: relative;
}
#subNavi.utility ul li a:hover {
	color: #0d9ae6;
}
#subNavi.utility ul li a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #058bd3;
	border-right: solid 2px #058bd3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#subNavi.utility ul li#hdHome a,
#subNavi.utility ul li#hdSitemap a,
#subNavi.utility ul li#hdContact a,
#subNavi.utility ul li#hdEnglish a,
#subNavi.utility ul li#hdHomeSP a,
#subNavi.utility ul li#hdSitemapSP a,
#subNavi.utility ul li#hdContactSP a,
#subNavi.utility ul li#hdEnglishSP a {
  width: 100%;
  background: none;
	text-decoration: none;
}
#subNavi.utility {
	display: block;
	position: relative;
	background: none;
	right: 0;
	top: 50px;
}
#subNavi.utility ul {
	float: none;
}

#subNavi.utility fieldset {
  background: none;
	padding: 15px 5%;
	background-color: #ececec;
  width: 100%;
  text-align: center;
	box-shadow:0px 5px 16px -4px #9c9c9c;
	-moz-box-shadow:0px 5px 16px -4px #9c9c9c;
	-webkit-box-shadow:0px 5px 16px -4px #9c9c9c;
}
input[type=text] {
	font-size : 16px;
	border : 1px solid #ccc;
	border-radius: 5px;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
}
#subNavi.utility fieldset input {
  width: 80%;
  font-size: 16px;
  height: 35px;
	padding: 0 5px;
	vertical-align: middle;
}
#subNavi.utility fieldset button {
	box-sizing: border-box;
	width: 18%;
	height: 35px;
	line-height: 2.4;
	font-size: 14px;
	margin-left: 2%;
	background: none;
	border: 1px solid #058bd3;
	border-radius: 4px;
	background-color: #39ACEB;
}
#subNavi.utility fieldset button span {
	display: block;
	color: #ffffff;
}

/* footer */
#footContainer {
	width: 100%;
	padding: 0;
	margin-top: 20px!important;
}
body#home #footContainer #footer .utility,
#footContainer #footer .utility {
	top: 0!important;
	left: 0;
	position: relative;
	margin: 10px 5px;
	overflow: hidden;
	clear: both;
}
body#home #footContainer #footer .utility ul li#ftPrivacy a,
body#home #footContainer #footer .utility ul li#ftSiteuse a,
body#home #footContainer #footer .utility ul li#ftTrade a,
#footContainer #footer .utility ul li#ftPrivacy a,
#footContainer #footer .utility ul li#ftSiteuse a,
#footContainer #footer .utility ul li#ftTrade a {
  background: none!important;
  width: auto!important;
}
#footContainer #footer .utility ul {
	text-align: center;
}
#footContainer #footer .utility ul li a {
	height: auto;
	font-size: 11px;
}
#footContainer #footer .utility ul li a,
#footContainer #footer .utility ul li a:visited,
#footContainer #footer .utility ul.utility02 li a,
#footContainer #footer .utility ul.utility02 li a:visited,
body#home #footContainer #footer .utility ul.utility02 li a,
body#home #footContainer #footer .utility ul.utility02 li a:visited {
	color: #666666;
}
#footContainer #footer .utility ul li a:hover,
#footContainer #footer .utility ul.utility02 li a:hover,
body#home #footContainer #footer .utility ul.utility02 li a:hover {
	color: #999999;
}
#footContainer #footer .utility ul li a span {
  display: inline;
}
#footContainer #footer .utility ul li {
	background: none;
	margin-bottom: 5px;
	border-right: 1px solid #ddd;
	padding-right: 5px!important;
	margin-right: 5px;
	letter-spacing: -1px;
	display: inline-block;
	float: none;
}
#footContainer #footer .utility ul.utility02 li a,
body#home #footContainer #footer .utility ul.utility02 li a {
	color: inherit !important;
	text-decoration: underline !important;
	font-size: 11px !important;
}
#footContainer #footer .utility ul li#ftTrade {
	border-right: none;
	padding-right: 0!important;
	margin-right: 0;
}
body#home #footContainer #footer,
#footContainer #footer {
  height: auto!important;
  background-size: 150% auto!important;
	background-position-y: bottom!important;
}
body#home #footContainer #footer #copyright,
#footContainer #footer #copyright {
	top: 0!important;
	background: none!important;
	position: relative;
	right: 0;
	width: 100%;
	height: auto;
	clear: both;
	padding: 5% 2% 3%;
}
#footContainer #footer #copyright span {
	display: block;
	font-size: 10px;
	line-height: 1.3;
	color: #ffffff;
}

#footContainer #footer .supplierNavi {
  position: static;
  width: 100%;
  background: none;
}
#footContainer #footer .supplierNavi ul li#ftCompany a,
#footContainer #footer .supplierNavi ul li#ftIr a,
#footContainer #footer .supplierNavi ul li#ftBusiness a,
#footContainer #footer .supplierNavi ul li#ftProject a {
  width: auto;
  background: none;
}
#footContainer .supplierNavi ul li {
	float: none!important;
	background-color: #058bd3;
	border-bottom: 1px solid #006297;
	margin-right: 0!important;
}
#footContainer #footer .supplierNavi ul li a {
  display: block;
  height: auto;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li a {
  display: block;
  height: auto;
}
#footContainer #footer .supplierNavi ul li a span {
  display: block;
	padding: 10px;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li a span {
  display: block;
	padding: 10px;
}
#footContainer .supplierNavi ul li a {
	height: auto;
	position: relative;
	width: 100%;
  background: none;
	color: #ffffff;
	text-decoration: none;
	font-size: 16px;
}
#footContainer .supplierNavi ul.supplierNavi02 li a {
	height: auto;
	position: relative;
	width: 100%;
  background: none;
	color: #ffffff;
	text-decoration: none;
	font-size: 16px;
}
#footContainer .supplierNavi ul li a:hover {
	width: 100%;
  background: #0d9ae6!important;
	color: #ffffff;
	text-decoration: none;
}
#footContainer .supplierNavi ul li a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 0;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li a {
	padding-left: 0;
	font-size: 16px;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li#ftCompany a {
	background-image: none;
	width: auto;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li#ftIr a {
	background-image: none;
	width: auto;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li#ftBusiness a {
	background-image: none;
	width: auto;
}
#footContainer #footer .supplierNavi ul.supplierNavi02 li#ftCsr a {
	background-image: none;
	width: auto;
}

/* contents
=================================*/
#contentContainer::after, #pageWrapper::after, #mainContainer #contents .subSection::after {
	content: "";
}
/* mainVisual */
#mainWrapper {
	width: 100%!important;
	border-bottom: 1px solid #ddd;
	padding: 5px 0 0!important;
  overflow: hidden;
}
#mainVisual {
	width: 100%!important;
	height: 100%!important;
	padding-top: 35%;
}
#mainWrapper .copy {
	right: 40px!important;
}
#mainWrapper .copy {
	width: 9%!important;
}
#naviWrapper {
	width: 100%!important;
}
#naviList {
	padding: 4px 0 8px!important;
}
#naviList li {
	width: 30px!important;
}
#naviList li a {
	display: block;
	width: 30px!important;
}
#imgCaption {
	width: 100%!important;
}
#subArea {
	height: auto!important;
	z-index: 99999!important;
	position: relative;
}

body#ir div.coverBox001 .fLeft,
body#ir div.coverBox001 .fRight,
body#company div.coverBox002 .fLeft,
body#company div.coverBox002 .fRight,
div.coverBtBox .thirdFrame {
	width: 100%!important;
	margin-bottom: 10px;
	border: 2px solid #DDDDDD;
}
body#ir div.coverBox001 div.subBox002 .fLeft,
body#ir div.coverBox001 div.subBox002 .fRight {
	border: none!important;
}
div.coverBtBox .thirdFrame {
	border: none!important;
}
div.coverBox001 div.subBox002 .fLeft,
div.coverBox001 div.subBox002 .fRight {
	padding-bottom: 0!important;
	margin-bottom: 0!important;
}
body#ir div.coverBox001 .subBox001,
body#ir div.coverBox001 .subBox001 .bottomFrame,
body#company div.coverBox002 .subBox,
body#company div.coverBox002 .bottomFrame,
div.coverBtBox div.subBox02,
div.coverBtBox div.subBox02 ul {
	background: none!important;
	margin-bottom: 0!important;
}
div.coverBox001 .subBox001 {
	margin-bottom: 0!important;
}
div.coverBox001 .subBox001 .bottomFrame {
	padding-bottom: 0!important;
}
body#ir div.coverBox001 .subBox001 p {
	padding: 10px 15px 10px 15px!important;
}
body#ir div.coverBox001 .subBox001 p a span {
	position: relative;
	padding: 0 0 5px 15px!important;
}
body#ir div.coverBox001 .subBox001 dl dt,
body#company div.coverBox002 dl dt {
	position: relative;
	padding: 0 0 10px 15px!important;
}
body#company div.coverBox002 dl {
	padding: 10px 15px 15px 15px!important;
}
div.coverBtBox div.subBox02 dl dt,
div.coverBtBox div.subBox02 .nobg {
	position: relative;
}
div.coverBtBox div.subBox02 dl {
  padding: 10px 15px 10px 15px!important;
}
div.coverBtBox div.subBox02 dl dt {
	padding: 3px 0 10px 15px!important;
}
div.coverBtBox div.subBox02 dl dd {
	padding: 4px 0 0 0!important;
}
body#ir div.coverBox001 .subBox001 p img {
	width: 100%!important;
	height: auto!important;
}
body#ir div.coverBox001 .subBox001 p img.tailIcon01 {
	width: auto!important;
	height: auto!important;
}
body#ir div.coverBox001 .subBox001 .irregularBox,
body#ir div.coverBox001 .subBox001 .irregularLayout {
	background: none!important;
}
body#ir div.coverBox001 .subBox001 .irregularBox dl,
body#ir div.coverBox001 .subBox001 .irregularLayout dl,
body#ir div.coverBox001 .subBox001 dl {
	padding-bottom: 10px!important;
}
body#ir div.coverBox001 .subBox002 .topFrame {
	border: 2px solid #DDDDDD;
}
body#ir div.coverBox001 .subBox002 .topFrame,
body#company div.coverBox002 .subBox .topFrame,
body#company div.coverBox002 .subBox p {
	background: none!important;
}
body#ir div.coverBox001 .subBox002 p,
body#company div.coverBox002 .subBox p {
	padding: 10px 15px 10px 31px!important;
}
body#ir div.coverBox001 .subBox002 p a {
	display: block;
}
body#ir div.coverBox001 .subBox002 p,
body#company div.coverBox002 .subBox p {
	background: none!important;
	position: relative;
}
body#ir div.coverBox001 .subBox001 .irregularText {
	margin: 0!important;
}
body#ir div.coverBox001 .subBox001 dl dd {
	padding-left: 5px!important;
}
body#company div.coverBox001 dl dd,
body#company div.coverBox002 dl dd ul li {
	background-position: 0 0.3em!important;
}
div.coverBtBox div.subBox02 ul li {
	float: none;
	width: 100%;
	margin-bottom: 10px;
}
body#ir div.coverBox001 .subBox001 p a span::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	margin-top: -7px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
body#ir div.coverBox001 .subBox001 .irregularText p a::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	margin-top: 0;
	border: 0 solid transparent;
	border-top-width: 0;
	border-bottom-width: 0;
}
body#ir div.coverBox001 .subBox001 dl dt::before,
body#company div.coverBox002 dl dt::before,
div.coverBtBox div.subBox02 dl dt::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	margin-top: -10px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
div.coverBtBox div.subBox02 dl dt::before {
	left: 0;
}
body#ir div.coverBox001 .subBox002 p::before,
body#company div.coverBox002 .subBox p::before {
	position: absolute;
	top: 50%;
	left: 1em;
	content: "";
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
div.coverBtBox div.subBox02 .nobg::before {
	position: absolute;
	top: 50%;
	left: 0.8em;
	content: "";
	margin-top: -2px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}

div.newsListBox dl dt span {
  top: 10px!important;
}
body#ir.irIndex div.newsListBox dl dd span {
	margin-left: 0!important;
}
div.newsListBox dl dt {
	margin-bottom: 0!important;
}

p.lead {
	margin-left: 0!important;
}

div.plugBox p img {
  margin-right: 10px;
}
div.plugBox p span {
  padding-left: 0;
}

.Tab span,
.CPTab span {
	padding-left: 25px!important;
}

/* home
-------------*/
body div.newsListBox dl dd span {
  margin-top: 0!important;
  margin-left: 0!important;
}
div.newsListBox dl dd span {
  margin-left: 0;
  padding-bottom: 10px;
  padding-right: 10px;
}

body#home div.newsListBox dl dt {
	margin-left: 0!important;
	margin-bottom: 5px;
	padding-top: 55px;
}
body#home div.newsListBox {
  background: url(../../images/index_ti001_sp.gif) 0 top repeat-x;
}
body#home div.newsListBox dl dt.ttl {
	background: url(../../images/index_ti001_sp.gif) 0 bottom repeat-x;
}
body#home div.newsListBox dl dt img.ttl {
	display: none;
}
div.newsListBox dl dd {
	margin: 0!important;
	border-bottom: 1px dotted #999999;
	padding-top: 15px;
}
body#business div.newsListBox dl dd span {
	margin-left: 0!important;
}
body#home div.newsListBox dl dt span.listLink {
	left: 95px;
	top: 6px!important;
}

body#home div.newsListBox dl dt span {
	top: 40px!important;
}


/* project
-------------*/
table {
	font-size: 87%!important;
	width: 100%;
	word-break: break-all;
}
body#project div.tableBox001 table {
  width: 100%!important;
}
body#project div.tableBox001 table td.nest table {
  width: auto!important;
}

body#project div.pjStoryBox .floatBox {
  margin: 0!important;
}

body#project div.pjStoryBox p.photo001 {
  width: 260px!important;
  margin: 0 auto!important;
}

body#project div.pjStoryBox .onePhoto p {
	width: 100%!important;
  height: auto;
}
body#project div.pjStoryBox .onePhoto p.wide405 {
  margin-left: 0!important;
  margin: 0 auto!important;
  max-width: 405px!important;
  text-align: center;
}
body#project div.pjStoryBox .onePhoto p.photo005 {
  margin-left: 0!important;
  margin: 0 auto 10px!important;
}

#mainContainer #contents .subSection {
  margin: 0 0 20px 0!important;
}

body#project div.pjStoryBox .twoPhoto ul li {
  float: none!important;
  padding-right: 0!important;
  margin: 0 auto 10px!important;
}

body#project div.pjStoryBox .twoPhoto {
	text-align: center;
}

body#home div.projectBox p {
  text-align: center;
}

body#project div.pjStoryBox .threePhoto ul {
  display: table!important;
}
body#project div.pjStoryBox .threePhoto ul li {
  float: none!important;
  display: table-cell!important;
}

div.textImageBox .photoRight p.photo,
div.textImageBox .photoLeft p.photo {
  float: none!important;
  margin: 0 auto 10px!important;
  text-align: center;
  width: 100%!important;
}
p.photo,
p.photo.imageCaptionBox span.alignLeft {
	text-align: center!important;
}

body#project div.pjStoryBox p.photo span, body#project div.pjStoryBox p.photo001 span, body#project div.pjStoryBox p.photo002 span, body#project div.pjStoryBox p.photo003 span, body#project div.pjStoryBox .onePhoto p span, body#project div.pjStoryBox .twoPhoto ul li span, body#project div.pjStoryBox .threePhoto ul li span, body#project div.pjStoryBox .imageCaptionType001 ul li span, div.imageCaptionType002 ul li span, body#project div.columFrameBox p.photo-l span,body#project div.pjStoryBox p.photo004 span, body#project div.pjStoryBox .twoPhoto002 .left span, body#project div.pjStoryBox .twoPhoto002 .right span, body#project div.pjStoryBox p.photo004 span, body#project div.pjStoryBox p.photo005 span {
    background: #fff!important;
    color: #333!important;
}

dl.dlNumber dt {
	width: auto!important;
}
body#project div.tableBox001 .subBox {
  padding: 0!important;
}
body#project div.tableBox001 .subBox p {
  float: none!important;
  width: 100%!important;
	text-align: center;
	margin-bottom: 10px;
}
body#project div.tableBox001 .subBox dl {
  float: none!important;
  width: 100%!important;
  margin: 0 0 10px 0!important;
}
body#project div.tableBox001 .subBox dl dt {
  margin-left: 10px!important;
}

body#home div.pickUpBox dl dt.ttl {
	background: url(../../images/index_ti002_sp.gif) 0 0 repeat-x;
}

body#home div.pickUpBox dl dd span {
  width: 13%!important;
  margin-right: 2%!important;
}
body#home div.pickUpBox dl dd dl {
  width: 85%!important;
}
body#home div.announceBox dl dt {
  height: auto!important;
}

#mainContainer #contents {
  width: 100%;
  float: none!important;
  margin-bottom: 10px;
}

body#home div.bannerBox001 dl dd ul li {
	padding: 0 10px 10px 0;
  width: 50%;
  text-align: center;
}

body#home div.bannerBox002 dl dd ul li {
  float: left;
  margin: 0 1%;
  width: 31.3%;
}

#mainContainer #contentContainer {
  background: none;
}

.alt_sp::after {
	content:attr(data-label);
}
.alt_sp img { 
	display:none;
}

body#project div.coverBox002 ul,
body#project div.coverBox002 .subBox {
	background: none!important;
	margin: 0!important;
	padding: 0!important;
}
body#project div.coverBox002 ul li {
  float: none!important;
  width: 100%!important;
  margin-right: 0!important;
}

body#project div.coverBox002 ul li {
	border: 2px solid #dddddd;
	padding-bottom: 10px;
	min-height: 120px!important;
	margin: 0 0 10px 0!important;
}
body#project div.coverBox001 .title, body#project div.coverBox002 .title, body#project div.coverBox003 .title, body#project div.coverBox004 .title {
	margin-bottom: 20px;
}
body#project div.coverBox003 ul li {
  float: none!important;
  margin-right: 0!important;
  margin-bottom:  10px;
  text-align: center;
}
body#project div.coverBox002 dl {
	padding-top: 15px!important;
}

body#project div.coverBox004 ul {
  width: 100%!important;
}
body#project div.coverBox004 ul li {
  float: none!important;
  width: 100%!important;
  margin-right: 0!important;
  margin-top: 10px;
}
body#project div.coverBox004 div.subBox {
	margin-top: 0!important;
}
body#project div.coverBox004 div.subBox ul li p img {
	width: 100%;
	height: auto;
}

.threePhoto ul li span {
	font-size: 12px;
}

body#project div.pjStoryBox p.photo004 {
  float: none!important;
  text-align: center;
  margin: 0 auto 15px!important;
}
body#project div.pjStoryBox p.photo005 {
	width: 100%!important;
  margin-left: 0!important;
}
body#project div.pjStoryBox.tableBox001 .textImageBox {
	float: none!important;
}
body#project div.pjStoryBox.tableBox001 .textImageBox p {
	margin: 0 auto 15px;
}

div.coverBox002 .halfFrame {
  width: 100%!important;
}

body#project div.pjStoryBox .twoPhoto002 {
	width: 100%!important;
}
body#project div.pjStoryBox .twoPhoto002 .left,
body#project div.pjStoryBox .twoPhoto002 .right {
	float: none!important;
	margin: 0 auto 10px!important;
	max-width: 100%;
}

.listCenter {
	text-align: center;
}

body#project div.floatBox .pj006 {
	margin-right: 0!important;
}
body#project div.pjStoryBox p.photo003 {
  width: 30%!important;
  margin: 0 5px 10px 5px!important;
}

body#project div.pjStoryBox p.photo002 {
	margin: 0 auto 10px 5px!important;
}
body#project div.pjStoryBox .photoRight p.photo002 {
	float: none!important;
	margin: 0 auto 10px!important;
}

div.coverBtBox ul li span {
  position: relative!important;
  float: left;
  margin-bottom: 10px;
}
div.coverBtBox ul li p strong {
	background: none!important;
}

body#project div.workBox001 table {
	width: 100%!important;
	margin-left: 0!important;
}
.buttonLinkBox001 {
	margin-bottom: 20px;
}
body#project div.buttonLinkBox001 .subBox02 {
	float: none!important;
	margin-left: 0!important;
}
body#project div.buttonLinkBox001 p {
  margin: 0!important;
}
body#project .buttonWide200,
body#project .buttonWide200 a {
  width: 100%!important;
}
div.coverBtBox .halfFrame {
	width: 100%!important;
}

#progress01 .mainList {
  float: none!important;
  display: table!important;
  margin: 0 auto!important;
}
#progress01sub {
	width: 100%!important;
}
#progress01sub .leftcontent {
  width: 100%!important;
  margin: 0 auto 10px!important;
  float: none!important;
  text-align: center!important;
}
#progress01sub .rightcontent {
  float: none!important;
  width: 100%!important;
  min-height: auto!important;
  padding-left: 0!important;
  border-left: none!important;
}
body#progress h2 span {
	padding-left: 20px!important;
}
body#progress h2.headLv01 span {
	padding-left: 10px!important;
}
body#progress .subSection ul#outline_ill {
	width: 100%!important;
	height: auto!important;
	background-size: cover!important;
	min-height: 340px;
}
ul#outline_ill li {
  position: static!important;
}
#mainContainer #sideContainer #progresslocalNavi dl dd a {
  width: 100%!important;
  background: none!important;
}
#mainContainer #sideContainer #progresslocalNavi dl dd.on {
  background-color: #ffe4e4!important;
}
#mainContainer .suez #sideContainer #progresslocalNavi dl dd.on {
  background-color: #e0e0e0!important;
}
.float-r {
  margin: 0 0 20px 0!important;
  float: none!important;
  text-align: center!important;
}

/* business
-------------*/
body#business #contentTopContainer {
	margin-bottom: 30px;
}
body#business #contentTopContainer div.coverNaviBox ul li {
	font-size: 14px!important;
  line-height: 1.3!important;
  background: url("../../business/images/index_menu_bg.png") repeat-x 0 0;
}
body#business #contentTopContainer div.coverNaviBox ul li a {
	display: block;
	padding: 7px 7px 7px 20px;
	position: relative;
}
body#business #contentTopContainer div.coverNaviBox ul li a::after {
	content:attr(data-label);
}
body#business #contentTopContainer div.coverNaviBox ul li a::before {
	position: absolute;
	top: 50%;
	left: 7px;
	content: "";
	margin-top: -3px;
	border: 5px solid transparent;
	border-top-width: 3px;
	border-bottom-width: 3px;
	border-left-color: #048AD4;
}
body#business #contentTopContainer div.coverNaviBox ul li a img {
	display:none;
}

body#business #contentTopContainer div.coverNaviBox .illust {
	display: none;
}

body#business #contentTopContainer div.coverNaviBox ul,
body#business #contentTopContainer div.coverNaviBox .menu {
	width: 100%!important;
}

body#business div.coverBox001 ul li {
	float: none!important;
	margin-right: 0!important;
	text-align: center;
}

.imageCaptionBox {
	width: 100%!important;
	height: auto;
	margin-left: 0!important;
	text-align: center;
}

.listImageLeft {
	float: none!important;
	width: 100%!important;
}

div.coverBtBox .secondFrame,
div#dir table {
	width: 100%!important;
}

div.imageCaptionType002 ul li {
	width: 100%!important;
}

body#business #mainContainer #contents .subSection-b {
	margin-left: 0!important;
}
body#business #mainContainer #contents div.threeListBox ul {
	width: 100%!important;
}

body#business #mainContainer #contents div.threeListBox ul li {
	width: 100%!important;
	float: none!important;
	margin-bottom: 10px!important;
}
div.threeListBox ul {
	margin-bottom: 0!important;
}

body#business #chart dl dd div.subSection {
	width: 100%!important;
  padding: 10px 0 0 30px!important;
}
body#business #chart dl dd div.subSection h4,
body#business #chart dl dd div.subSection p,
body#business #chart dl dd div.subSection li {
	background-color: #ffffff;
}
body#business #chart dl dd {
  float: none!important;
  clear: both!important;
}
body#business #chart dl dd div.subSection div.normalList ul.twocolList li {
  width: 100%!important;
}

div.colTwo .colLeft {
  float: none!important;
  width: 100%!important;
  margin-bottom: 20px;
}
div.colTwo .colRight {
  float: none!important;
  width: 100%!important;
}
div.colTwo .colLeft .photo,
div.colTwo .colRight .photo {
	text-align: center;
}
body#business #chart2 dl dd div.subSection {
  width: 100%!important;
  padding-left: 75px;
  padding-top: 15px;
}
div.imageCaptionCenter p.phSize382 {
  width: 100%!important;
}
body#business .colRight210 {
  float: none!important;
  width: 100%!important;
  text-align: center;
   margin-bottom: 10px;
}

body#business.qadbIndex div.columFrameBox table.question {
	width: 98%!important;
	margin-left: 2%!important;
}
body#business.qadbIndex div.columFrameBox ol {
	margin-left: 20px!important;	
}

.sol11Img img.img03 {
  margin-left: 0%!important;
  width: 24%;
}
.sol11Img img.img05 {
  width: 24%;
}

div.colTwo .listImageRight {
  float: none!important;
  width: 100%!important;
  text-align: center;
}

div.columnBlock2-01 .rightContents {
	text-align: center;
}

body#business .colLeft420 {
	float: none!important;
  width: 100%!important;
}

.buttonWide250 {
	width: 100%!important;
}
.buttonWide250 a {
	width: 100%!important;
}

#business div.rchsList {
	width: 300px!important;
	padding: 15px 5px!important;
	font-size: 13px;
}

h2 span.detail2 {
	left: 6em!important;
	font-size: 75%!important;
	text-align: right!important;
}

div.normalList ol {
	margin-left: 	1.8em;
}

body#business div.coverBox002 .subBox {
	background-image: none!important;
	margin-bottom: 0!important;
}
body#business div.coverBox002 ul li {
	
}
body#business div.coverBox002 ul {
	background-image: none!important;
	padding-bottom: 0!important;
}
body#business div.coverBox002 .fLeft {
	width: 100%!important;
}
body#business div.coverBox002 .subBox002 .topFrame {
	background: none!important;
}
body#business div.coverBox002 .subBox002 p {
	background: none!important;
	padding: 10px 15px 10px 31px!important;
}
body#business div.coverBox002 .subBox002 .topFrame {
	border: 2px solid #dddddd;
}

body#business div.coverBox002 dl dt span {
	position: relative;
	padding:  0 0 5px 15px!important;
}
body#business div.coverBox002 .subBox002 p a,
body#business div.coverBox002 dl dt a span {
	position: relative;
	margin-bottom: 5px;
}
body#business div.coverBox002 .subBox002 p a::before {
	position: absolute;
	top: 50%;
	left: -1em;
	content: "";
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
body#business div.coverBox002 dl dt span::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	margin-top: -7px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
body#business div.coverBox002 dl {
	padding: 0!important;
}
body#business div.coverBox002 ul li {
	width: 100%!important;
	margin-right: 0!important;
	padding: 10px 15px!important;
	border: 2px solid #dddddd;
	margin-bottom:  10px;
}
body#business div.coverBox002 .subBox img {
	width: 100%!important;
	height: auto!important;
}

/* company
-------------*/
h1 span {
	padding-left: 10px!important;
}
h2 span {
	padding-left: 0!important;
}
body#company div.coverBox001 .subBox {
	background-image: none!important;
	margin-bottom: 0!important;
}
body#company div.coverBox001 ul li {
	
}
body#company div.coverBox001 ul {
	background-image: none!important;
	padding-bottom: 0!important;
}
body#company div.coverBox001 .fLeft {
	width: 100%!important;
}
body#company div.coverBox001 .subBox002 .topFrame {
	background: none!important;
}
body#company div.coverBox001 .subBox002 p {
	background: none!important;
	padding: 10px 15px 10px 31px!important;
}
body#company div.coverBox001 .subBox002 .topFrame {
	border: 2px solid #dddddd;
}
div.textImageBox .photoLeft .message {
	float: none;
	width: 100%;
}

body#company div#net_top {
	background-size: contain!important;
  height: 200px!important;
}

body#company div.textImageBox .photoLeft p.photo .social {
	margin-bottom: 20px!important;
}
.subBox.float-l,
.subBox.float-l h2 {
	width: 100%!important;
}

.buttonWide120 a {
	width: auto;
}

table.nocol {
	width: 100%;
}

body#company.network div.section div.subSection dl {
	padding-left: 10px!important;
}

body#company .subSection strong.width450 {
	width: 100%!important;
  margin-left: 0!important;
}
body#company .phSize450 {
	width: 100%!important;
}

h2.detailbox, h3.detailbox {
	margin-top: 37px;
}
h2 span.detail {
	font-size: 13px!important;
	top: -18px!important;
}

body#company .phSize630 {
  width: 100%!important;
}

div.imageCaptionBox ul li {
  float: none!important;
  margin-right: 0!important;
  text-align: center;
  margin-bottom: 10px;
}

div.columFrameBox dl {
	float: none!important;
	width: 100%!important;
}
div.columFrameBox .subBox .imgRight {
	text-align: center;
	margin: 15px 0 10px;
}

/* news
-------------*/
body#news div.newsListBox dl dd {
	margin-left: 0!important;
}
body#news div.newsListBox dl dd span {
	margin-left: 0!important;
	padding-right: 0!important;
}

body#news table {
	width: 100%;
}

div.imageCaptionType001 ul li {
	width: 100%;
}

.tdSp td {
	display: block;
	width: 100%;
}
.centerSp {
	text-align: center;
	margin-bottom: 10px;
}

body#news div.threePhoto ul li,
body#news div.threePhoto ul li.listEnd {
    float: none!important;
    width: 100%!important;
    padding-right: 0!important;
    margin-bottom: 15px;
}
body#news div.threePhoto ul li span {
	background: #fff!important;
	color: #333!important;
}

/* ir
-------------*/
body#ir div.othernewsListBox dl dd span {
	margin-left: 0!important;
	padding-left: 0!important;
	padding-bottom: 15px!important;
	padding-top: 1.3em;
}

body#ir table.size-s {
  width: 100%!important;
}

p.attention003 {
  width: 100%!important;
}

.CPContent {
  margin-left: 0!important;
}

div.columnBlock2-01 .leftContents,
div.columnBlock2-01 .rightContents {
	float: none!important;
	width: 100%!important;
}

.col3List li {
  width: 50%!important;
}

body#ir div.columnBlock2-01 .rightContents {
	text-align: left;
}

body#ir.form .lead,
body#gray_sideContainer.form .lead {
	text-align: left;
}

/* recruit
-------------*/
div.coverBtBox .subBox,
div.coverBtBox ul {
	background: none!important;
	margin-bottom: 0!important;
}
div.coverBtBox ul {
	padding-bottom: 0!important;
}
div.coverBtBox ul li {
	float: none;
	width: 100%;
	min-height: auto!important;
	margin-bottom: 10px!important;
	border: 2px solid #dddddd;
	padding-bottom: 10px;
	overflow: hidden;
}
div.coverBtBox ul li ul.tobira li {
	float: none;
	width: 100%!important;
	min-height: auto!important;
	margin-bottom: 0!important;
	border: none!important;
	padding-bottom: 10px;
}

/* sitemap
-------------*/
div.colThree .colLeft {
	float: none!important;
	width: 100%!important;
	margin-right: 0!important;
}
div.colThree_2 .colLeft {
	float: none!important;
	width: 100%!important;
	margin-right: 0!important;
}

/* alt txt
-------------*/
body#project div.pjStoryBox h2::after {
	content:attr(data-label);
}
body#project div.pjStoryBox h2 img {
  display:none;
}
body#project div.pjStoryBox h2 {
  padding: 20px 0 10px 0!important;
  border-bottom: 2px solid #ccc!important;
  color: #003f80;
}
#mainContainer #sideContainer #localNavi dl dt a::after,
#mainContainer #sideContainer #progresslocalNavi dl dt a::after {
	content:attr(data-label);
}
#mainContainer #sideContainer #localNavi dl dt a img,
#mainContainer #sideContainer #progresslocalNavi dl dt a img {
	display:none;
}
#mainContainer #sideContainer #localNavi dl dt a,
#mainContainer #sideContainer #localNavi dl dt a:visited,
#mainContainer #sideContainer #progresslocalNavi dl dt a,
#mainContainer #sideContainer #progresslocalNavi dl dt a:visited {
	color: #fff;
	text-decoration: none;
}
body#company div.coverBox001 dl dt span {
	padding:  0 0 5px 15px!important;
}
body#company div.coverBox001 .subBox002 p a,
body#company div.coverBox001 dl dt a span {
	position: relative;
	margin-bottom: 5px;
}
body#company div.coverBox001 .subBox002 p a::before {
	position: absolute;
	top: 50%;
	left: -1em;
	content: "";
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
body#company div.coverBox001 dl dt a span::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	margin-top: -7px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #048AD4;
}
body#company div.coverBox001 dl {
	padding: 0!important;
}
body#company div.coverBox001 ul li {
	width: 100%!important;
	margin-right: 0!important;
	padding: 10px 15px!important;
	border: 2px solid #dddddd;
	margin-bottom:  10px;
}
body#company div.coverBox001 .subBox img {
	width: 100%!important;
	height: auto!important;
}


div.anchorBox ul li, div.pageLinkBox ul li {
	width: 30%!important;
	text-align: center;
	font-size: 13px;
	margin-bottom: 5px;
}
div.anchorBox ul, div.pageLinkBox ul {
  padding: 3px 0px 3px 8px!important;
}

/* thickbox
-------------*/
#TB_window {
	margin-left: 0!important;
	width: 100%!important;
	height: auto!important;
	margin-top: 0!important;
	top: 50%!important;
  left: 0%!important;
  margin-top: -50%!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch!important;
}

#TB_window img#TB_Image {
	padding: 10px 10px 10px 10px;
	margin: 0!important;
	border: none!important;
}
#TB_closeWindow {
  padding: 0px 10px 10px 0!important;
}
.photo a {
	display: block;
}

.photo a[href$=".pdf"] {
	display: inline-block;
}

/* table
-------------*/
.scrollSp {
	margin-bottom: 15px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.scrollSp::-webkit-scrollbar{
	height: 5px;
}
.scrollSp::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.scrollSp::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}
.scrollSp table {
	width: 645px!important;
}

/* video
-------------*/
.video001 {
	max-width: 100%;
	height: auto!important;
}
.video002 {
	max-width: 100%;
	height: auto!important;
	margin: 0 auto!important;
	float: none!important;
	display: table;
}

/* sideContainer
-------------*/
#mainContainer #sideContainer {
  float: none;
  width: 100%!important;
  clear: both;
  overflow: hidden;
}
#mainContainer #sideContainer #localNavi dl dd a {
  width: 100%;
}

body#project .buttonWide210 {
  width: auto!important;
}
body#project .buttonWide210 a {
	width: auto!important;
}

body#project div.buttonLinkBox001 .subBox {
  margin-bottom: 30px;
}

#mainContainer #sideContainer #localNavi dl dt {
  font-size: 17px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  background-color: #999;
  color: #fff;
}

#mainContainer #sideContainer #progresslocalNavi dl dt {
  font-size: 17px!important;
  line-height: 1!important;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  background-color: #999;
  color: #fff;
}

#mainContainer #sideContainer #bannerNavi {
  width: 100%;
  margin: 0 0 20px 0;
  overflow: hidden;
}
#mainContainer #sideContainer #bannerNavi p {
  margin-bottom: 5px;
  width: 48%;
  float: left;
  margin: 1%;
}
#mainContainer #sideContainer #bannerNavi p.bnHr {
	clear: both;
	background: none;
	padding-top: 0;
}
#mainContainer #sideContainer #bannerNavi p img {
	margin: 0 auto;
	display: table;
}
#mainContainer #sideContainer #localNavi dl dd ul {
	width: 100%!important;
	margin-left: 0!important;
}

#topicPath {
	padding: 7px 0;
	font-size: 12px;
}

.element-b300 {
	margin-bottom: 30px!important;
}

div.imageCaptionType004 ul li {
	width: 100%!important;
	margin-left: 0!important;
}
	
#mainContainer #sideContainer #localNavi dl dd ul li ul li.on ul li a {
	font-size: 13px;
}
	
/* error
-------------*/
p.attention001, p.attention001 a {
    word-break: break-all!important;
}
p.attention, p.attention001 {
  margin-left: 0!important;
	text-indent: 0!important;
}

/* contact
-------------*/
.form table,
.form table tbody,
.form table thead,
.form table tr,
.form table td,
.form table th {
	display: block;
	overflow: hidden;
} 
.form table th {
	width: auto;
	text-align: left;
	font-weight: bold;
}

.form input[type=text],
.form textarea {
	width: 100%;
	font-size: 16px;
	padding: 5px;
}
.form select {
	font-size: 16px;
	padding: 5px;
}

body.form div.subBox dd div {
	margin-left: 0!important;
	margin: 10px auto!important;
}

body.form #section ul li {
	float: none!important;
	margin: 0 auto 20px!important;
}

body.form table td .techText {
	margin-left: 0!important;
}
body.form table td .mrl {
	margin-left: -0.1em!important;

}
body.form .correct {
  width: 240px!important;
  text-align: center;
  margin: 0 auto!important;
}
body.form .erroragree {
	float: none!important;
	width: 100%!important;
}

div.columnBlock2-02 .leftContents {
	float: none!important;
	margin: 0 auto 10px!important;
	text-align: center;
}

.nowrap {
	white-space: nowrap;
}

.colL40 {
	float: none;
	width: 100%;
}
.colR60 {
	float: none;
	width: 100%;
}

}


@media only screen and (max-width: 480px) {
/* 480px以下用（スマートフォン用）の記述 */
.sol8Img img,
.sol5Img img,
.sol9Img img,
.sol11Img img {
	width: 45%;
}
.sol8Img img.img04,
.sol5Img img.img04,
.sol9Img img.img04,
.sol11Img img.img03,.sol11Img img.img05 {
	width: 20%;
}

body#progress .subSection ul#outline_ill {
	min-height: 280px;
}

.messageTxt {
	text-align: left!important;	
}
br.sp {
	display: none!important;
}

}

@media only screen and (max-width: 450px) {
/* 450px以下用（スマートフォン用）の記述 */

body#project div.pjStoryBox .onePhoto p.wide405 {
	width: 100%!important;
}

.corporateMessage p.style2 {
	text-align: left!important;	
}

}

@media only screen and (max-width: 420px) {
/* 420px以下用（スマートフォン用）の記述 */

#headContainer #header #ci img {
	width: 40%;
	vertical-align: middle;
}

body#project div.pjStoryBox p.photo001 {
  width: 180px!important;
}

body#project div.pjStoryBox p.photo002 {
  width: 180px!important;
}

div.textImageBox .photoSmall p.photo {
	width: 200px!important;
}

body#progress .subSection ul#outline_ill {
	min-height: 220px;
}

}