
/* ------------------------------------------------------------ */
/* 960px 以下の場合 */
/* ------------------------------------------------------------ */

@media screen and (max-width:960px) {

body {
	font-size: 16px;
}

img {
	max-width: 100% !important;
	height: auto;
	width /***/: auto;
	margin-left: auto;
	margin-right: auto;
}

.content h4 {
	margin-right: 10px;
	margin-left: 10px;
}

ul.works_list li {
	width: 31%;
}

ul.labo_list li.box {
	width: 32%;
}

ul.point_list li {
	width: 32%;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - メニューボタン */

.menu_btn {
	display: block;
	height: 30px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 5px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

.menu_btn:hover {
	cursor: pointer;
}

.menu_btn span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #555;
}

.menu_btn span {
	transition: all 0.3s;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
}

.menu_btn span.top {
	transform: translateY(-8px);
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
}

.menu_btn span.bottom {
	transform: translateY(8px);
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
}

.menu_btn:hover span.top {
	transform: translateY(-10px);
	-webkit-transform: translateY(-10px);
	-moz-transform: translateY(-10px);
}

.menu_btn:hover span.bottom {
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
}

.menu_btn.opened span.middle {
	background: rgba(255, 255, 255, 0);
	transform: translateX(30px);
	-webkit-transform: translateX(30px);
	-moz-transform: translateX(30px);
}

.menu_btn.opened span.top {
	transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);
	-moz-transform: rotate(-45deg) translateY(0px);
}

.menu_btn.opened span.bottom {
	transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);
	-moz-transform: rotate(45deg) translateY(0px);
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - グローバルナビ */

#g_navi {
	position: fixed;
	width: 80%;
	height: 100%;
	top: 0px;
	left: 100%;
	padding-top: 50px;
	overflow: auto;
	z-index: 3000;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	font-size: 14px;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#g_navi ul {
	display: block;
	margin: 0px;
	padding: 0px;
	clear: both;
}

#g_navi ul li:first-child {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #EEE;
}

#g_navi ul li {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EEE;
}

#g_navi ul li a {
	color: #111;
	text-decoration: none;
	display: block;
	padding-top: 16px;
	padding-right: 30px;
	padding-bottom: 14px;
	padding-left: 20px;
	line-height: 22px;
	vertical-align: middle;
}

#g_navi ul li a:hover {
	color: #999;
}

.fixed {
	overflow: hidden;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - アコーディオン */

#g_navi ul li a.ac_menu {
	position: relative;
	background-image: none;
}

#g_navi ul li a.ac_menu::after {
	font-size: 11px;
	display: block;
	height: 20px;
	width: 20px;
	content: "▼";
	text-align: center;
	line-height: 20px;
	position: absolute;
	top: 16px;
	right: 10px;
	color: #555;
}

#g_navi ul li a.ac_menu.active {
	color: #999;
}

#g_navi ul li a.ac_menu.active::after {
	content: "▲";
}

#g_navi div.ac_list {
	display: none;
}

#g_navi ul li ul li {
	border-bottom: none;
}

#g_navi ul li li:first-child {
	border-top: none;
}

#g_navi ul li ul li a {
	border-bottom: none;
}

#g_navi ul li ul li a::before {
	content: "・";
	padding-right: 5px;
	color: #999;
}

#g_navi ul li ul li a:hover {
	color: #999;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - アコーディオンメニューの背景シャドウ */

.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	display: block;
	position: fixed;
	z-index: 2000;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - ヘッダー */

.sm-slider, .sm-slider::after {
	top: 50px !important;
}

header {
	height: 52px;
}

header h1 a img {
	top: 5px;
	left: 5px;
	height: 40px;
}

header .h_btn1 a {
	width: 120px;
	top: 10px;
	right: 50px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}

header .h_btn2 a {
	width: 120px;
	top: 10px;
	right: 170px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}

header .h_btn3 a {
	width: 120px;
	top: 10px;
	right: 290px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}

header .h_btn4 a {
	width: 120px;
	top: 10px;
	right: 410px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}

header .h_menu {
	display: none;
}

header #info {
	display: none;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - メインビジュアル */

#index_top #top_catch h2 {
	font-size: 34px;
}

#sub_top {
	height: 190px;
	line-height: 30px;
	padding-top: 230px;
}


/* ------------------------------------------------------------ */
/* 960px 以下の場合 - フッター */

footer {
	padding-top: 28px;
}

address {
	text-align: center;
	padding-top: 20px;
	display: block;
	clear: both;
}

footer ul.f_bn {
	float: none;
	text-align: center;
	margin-top: 3px;
}

.no_sp {
	display: none;
}

.content .float-half {
	float: none;
	display: block;
	width: 100%;
}

}


/* ------------------------------------------------------------ */
/* 740px 以下の場合 */
/* ------------------------------------------------------------ */

@media screen and (max-width:740px) {

/* ------------------------------------------------------------ */
/* 740px 以下の場合 - ヘッダー */

header h1 a img {
	top: 5px;
	height: 40px;
}

header .h_btn1 a {
	width: 50px;
	font-size: 18px;
}

header .h_btn2 a {
	width: 50px;
	font-size: 18px;
	right: 100px;
}

header .h_btn3 a {
	width: 50px;
	font-size: 18px;
	right: 150px;
}

header .h_btn4 a {
	width: 50px;
	font-size: 18px;
	right: 200px;
}

header .h_btn1 a span,
header .h_btn2 a span,
header .h_btn3 a span,
header .h_btn4 a span {
	display: none;
}

#mailform table.m_form th,
#mailform table.m_form td {
		width: 100% !important;
		display: block;
		text-align: center;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

#mailform table.m_form th {
	border-right-style: none;
	padding-bottom: 5px;
}

#index_top #top_catch h2 {
	font-size: 26px;
}

#index_top #top_catch p {
	font-size: 18px;
}

#sub_top {
	height: 145px;
	line-height: 145px;
	padding-top: 55px;
	background-position: center 50px;
}


/* ------------------------------------------------------------ */
/* 740px 以下の場合 - メインコンテンツ */

.content {
	padding-top: 20px;
	padding-bottom: 20px;
}

.content p {
	margin-bottom: 20px;
	margin-top: 0px;
	margin-right: 20px;
	margin-left: 20px;
}

ul.works_list li {
	width: 47%;
}

ul.labo_list li.box {
	width: 49%;
}

ul.point_list li {
	width: 98%;
}

.img_left,
.img_right {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.img_left40 {
	float: none;
	display: block;
	width: 80%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.content .img-auto,
.content .img-l25,
.content .img-r25,
.content .img-l40,
.content .img-l40st,
.content .img-r40 {
	float: none;
	display: block;
	width: 80%;
	max-width: 640px;
	margin: 0px auto 15px auto;
	padding: 0px;
}

.pick_up ul {
	padding: 15px;
}
.pick_up ul li {
	width: 31%;
}

.balloon {
	top: -35px;
	margin-left: -25px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 14px;
}

a .btn_check {
	border: 0px;
	width: 96%;
	margin-left: -48%;
}


/* ------------------------------------------------------------ */
/* 740px 以下の場合 - フッター */

footer .box_pr {
	font-size: 10px;
}

}

