* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

body {
	font-size: 14px;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

/****************************
  nav
*****************************/

#nav {
	width: auto;
}

ul#ul_nav_global {
	text-align: center;
}

ul#ul_nav_global > li > a {
	padding-right: 10px;
	padding-left:  10px;
}

@media (max-width: 767px) {
	ul#ul_nav_global {
		text-align: left;
	}

	ul#ul_nav_global > li > a {
		padding-right: 0;
		padding-left:  20px;
	}
}

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

#footer > .container {
	display: block;
}
#footer > .container > div {
	display: block;
	padding-right: 0;
}
#footer > .container > div.footer_nav {
	text-align: left;
}

#footer div.footer_nav > ul > li {
	padding-right: 1em;
	padding-left: 0;
}

/****************************
  home
*****************************/

#visual_top {
	height: 160px;
	width: auto;
}
#visual_top div {
	height: 160px;
	width: auto;
}
#visual_top img {
	height: 160px;
	width: auto;
}

#visual_top div span {
	display: none;
}

h1.h1_shaping span {
	display: block;
	padding: .5em 0 0;
}

ul.grid_column_home {
	margin:  0 -10px;
	padding: 0;
}
ul.grid_column_home li {
	width: 50%;
	margin:  0;
	padding: 0 10px 2em;
	vertical-align: top;
}
ul.grid_column_home li.left {
	clear: both;
}

.grid_column_home_left {
	float: none;
	width: auto;
}

.grid_column_home_right {
	float: none;
	width: auto;
	padding-top: 3em;
}

#map_home {
	width:  100%;
	height: 300px;
}

@media (max-width: 500px) {
	ul.grid_column_home li {
		width: 100%;
	}
}
@media (max-width: 380px) {
	a#logo > img {
		padding-top: 7px;
	}
	a#logo > img {
		width: 180px;
		height: auto;
	}
	a#logo:before {
		font-size: 40px;
	}
	#menu-trigger {
		margin-left: 12px;
	}
}
@media (max-width: 320px) {
	a#logo {
		margin-left: 0px;
	}
	a#logo > img {
		width: 150px;
	}
	a#logo:before {
		font-size: 35px;
	}
	a#nav_lang {
		margin-left: 5px;
		padding-right: 2px;
		padding-left:  2px;
	}
}

/****************************
  contents
*****************************/

#contents {
	width: auto;
}

.content-wrapper {
	padding-right: 5px;
	padding-left:  5px;
}

.left_side {
	clear: both;
	float: none;
	width: 100%;
	margin-top: 2em;
	padding-bottom: 12px;
}
.right_side {
	clear: both;
	float: none;
	width: 100%;
	margin-top: 1em;
}

dl.localnavi {
	width: auto;
}

/****************************
  article
*****************************/

.thumb_article, 
.thumb_article.left {
	clear: both;
	float: none;
	width: 100%;
	margin: 20px 0 30px;
	text-align: center;
}
.thumb_article img {
	vertical-align: top;
}

/****************************
  product table
*****************************/

.grid_table_common {
	width: auto;
}

/****************************
  company
*****************************/

.right_side_right {
	width: calc(100% - 220px);
}

.right_side_column {
	width: 100%;
}

@media (max-width: 600px) {
	.right_side_left, 
	.right_side_right {
		clear: both;
		float: none;
		width: auto;
	}

	.thumb_company p.cap_company {
		padding-top: .8em;
		font-size: 1em;
		text-align: left;
	}
}

dl.dl_company dt, 
dl.dl_company dd, 
dl.dl_history dt, 
dl.dl_history dd {
	clear: both;
	float: none;
	width: auto;
}

/****************************
  recruit
*****************************/

.wrapper_recruit {
	width: 100%;
}

/****************************
  search
*****************************/

#wrapper_result li a .pic {
	float: none;
	width: 100%;
	margin: 1em 0;
	text-align: center;
}
#wrapper_result li a .pic img {
	width: 100%;
	height: auto;
}

/****************************
  access
*****************************/

.wrapper_access img {
	max-width: 100%;
}

/****************************
  magnesium/product
*****************************/

ul.ul_product li .img_product {
	float: none;
	max-width: 100%;
	margin: 0 0 2em;
}
ul.ul_product li .img_product img {
	vertical-align: top;
}

/****************************
  catalog std
*****************************/

dl.dl_product_std dt, 
dl.dl_product_std dd {
	display: block;
	width: auto;
}
dl.dl_product_std dt {
	padding-bottom: .5em;
}

h2.h2_catalog, 
p.p_catalog_alert {
	float: none;
}
p.p_catalog_alert {
	padding-top: 1em;
}
