@charset "utf-8";

/* CSS Document */

/* ==============================================
 横向きAndroid対応
=============================================== */
@media screen and (orientation:landscape) {
header {
	width: 100%;
}
header h1 {
	width: 100%;
}
}

/* ==============================================
 共通設定の980px以下
=============================================== */
@media only screen and (max-width : 980px) {
header h1 a img {
	width: 70%;
	height: auto;
}
.news dl dt {
	width: 20%;
}
.news dl dd {
	width: 80%;
}
.inquiry .tbl_responsive_block > table > tbody > tr:nth-child(1) > td > div:nth-child(1){
	width:100%;
}
.inquiry_block div.fl_l {
	width: 100%;
	border-right: none;
}
.inquiry_block div.fl_r {
	width: 100%;
	padding-left: 0;
}

}

/* ==============================================
 共通設定の768px以下
=============================================== */
@media only screen and (max-width : 768px) {
.pc {
	display: none!important;
}
.sp {
	display: block;
}
.path {
	display: none;
}
#page_top{
	display: none;
}
a.return_top {
	z-index: 99;
	text-indent: -9999px;
	bottom: 10px;
	right: 10px;
	position: fixed;
	width: 50px;
	height: 50px;
	border: solid 2px #fff;
	border-radius: 60px;
	background: url(../img/common/icon_arrow_tw.png) no-repeat center center;
	background-size: 14px 14px;
	background-color: #005eae;
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
}
	input[type="text"],
	input[type="password"],
	input[type="submit"],
	input[type="search"],
	textarea{
		font-size:100%;
		-webkit-appearance:none;
		border-radius: 0;
		border:solid 1px #ccc;
		background-color:#fff;
	}
	select{
		-webkit-appearance:none;
		border:solid 1px #ccc;
		padding-right:30px;
		background:url(../img/common/icon_arrow_b.png) no-repeat 98% center;
		background-size:14px 14px;
		background-color:#fff;
		border-radius:0;
		font-size:100%;
	}
#tab_menu li {
	font-size: 92%;
}
#tab_box ul li a {
	padding: 5px 5px;
}
#tab_box ul li a {
	font-size: 86%;
}
.top_main div.fl_r {
	display: none;
}
section.pc {
	display: none;
}
section.smp {
	display: block;
}
section h2 a {
	text-indent: -9999px;
	border-radius: 0;
	background: url(../img/common/icon_list_w.png) no-repeat center center;
	background-size: 40px 40px;
	background-color: transparent;
	border: solid 1px #fff;
	width: 40px;
	height: 40px;
}
.news .more_button {
	padding: 20px 0 0 0;
	text-align: center;
}
.news .more_button a {
	font-size:88%;
	display: inline-block;
	text-align: center;
	color: #008ee8;
	padding: 10px 24px 10px 7px;
	border: solid 1px #008ee6;
	background: url(../img/common/icon_arrow_rb.png) no-repeat 97% center;
	background-color: #fff;
	background-size: 14px 14px;
	margin:0 3px;
	width:48%;
}
footer {
	padding: 15px 0 0 0;
}
footer ul.fl_l {
	margin: 0 0 20px 0;
	padding: 0 0 0 0;
}
footer ul.fl_l li {
	width: 48%;
	display: inline-block;
}
footer ul.fl_l li a {
	padding-left: 15px;
	background: url(../img/common/icon_arrow_r.png) no-repeat 0 center;
	background-size: 14px 14px;
}
footer ul.fl_l li.pc {
	display: none;
}
footer div.fl_r a {
	width: 45%;
	padding: 0 10px 0 25px;
	font-size: 86%;
	line-height: 44px;
	height: 44px;
}
footer div.fl_r a.download {
	background: url(../img/common/icon_pamph_w.png) no-repeat 10px center;
	background-color: #005eae;
	background-size: 20px 20px;
	margin: 0 2%;
}
footer div.fl_r a.inquiry {
	background: url(../img/common/icon_mail_w.png) no-repeat 10px center;
	background-color: #005eae;
	background-size: 20px 20px;
	margin: 0 2%;
}
footer p {
	font-size: 74%;
	line-height: 70px;
}
.menu_list {
	width: 100%;
}
.menu_list li:nth-child(odd){
	clear:none;
	width: 49%;
	margin: 0 1% 10px 0!important;
}
.menu_list li:nth-child(even) {
	clear:none;
	float:right;
	width:49%;
	margin:0 0 10px 1%!important;
}
.menu_list li a:hover{
	background:url(../img/common/icon_arrow_rw.png) no-repeat 97% center;
	background-size:14px 14px;
	background-color:#efefef;
	color:#000;
}
.menu_list.cat li a:hover{
	color:#fff;
	background-color:#005eae;
}
.tbl_common td a.btn_pdf{
	width:100%;
}
figure.img{
	max-width:585px;
}
figure img{
	max-width:585px;
	width:100%;
	height:auto;
}
	.develop div.txt{
		width:100%;
		margin-bottom:30px;
	}
	.develop div.img{
		width:100%;
		text-align: center;
		margin-bottom:15px;
	}
	.develop div.img img{
		width:100%;
		max-width:250px;
	}
.map{
	width:86%;
	margin:0 auto 20px auto;
}
	.recruit section{
		max-width:100%;
	}
	.recruit_faq dl{
		width:100%;
		float:none;
	}
	.recruit_faq dl:nth-child(odd),
	.recruit_faq dl:nth-child(even){
		margin:0 0 10px 0;

	
}
	.info_box select{
		width:100%;
	}
	.info_box a.btn_tel{
		clear:left;
		display: inline-block;
		border:solid 1px #005eae;
		color:#005eae;
		background:url(../img/common/icon_tel_b.png) no-repeat 10px center;
		background-size:25px 25px;
		padding:0 20px 0 40px ;
		margin:10px 0;
	}
	.msg_box{
		margin:10px auto 30px auto;
	}
	.topics .msg_box{
		margin:10px auto 0 auto ;
	}

}


/* ==============================================
 共通設定の690px以下
=============================================== */
@media only screen and (max-width : 690px) {
.news_list li a>span:first-child,
.news_list li a>span:last-child,
.news_list li.no_icon>span:first-child,
.news_list li.no_icon>span:last-child,
.ir .news_list li a>span:first-child,
.topics .news_list li a>span:first-child,
.topics .news_list li.no_icon>span:first-child{
	display: block;
	width:100%;
}
.news_list li a>span:first-child,
.news_list li.no_icon span:first-child{
	font-weight:bold;
}
.home .news_list li a>span:first-child,
.home .news_list li a>span:last-child,
.home .news_list li.no_icon>span:first-child,
.home .news_list li.no_icon>span:last-child{
	width:100%;
	display: block;
}
.dl_history dt{
	width:40%;
}
.dl_history dd{
	width:60%;
}
.dl_calender_block{
	margin-bottom:0;
}
.dl_calender{
	width:100%;
	display: block;
	text-align: center;
	border:solid 1px #ccc;
	margin-bottom:5px;
}
.dl_calender:after{
	content: "";
	display: block;
	clear: both;
}
.dl_calender dt{
	padding:15px 0;
	width:100%;
	border-bottom:solid 1px #ccc;
}
.dl_calender dd{
	padding:15px 0;
	display: inline-block;
	width:32%;
	position:relative;
	vertical-align: middle;
}
.dl_calender dd:nth-child(3){
	border-left:solid 1px #ccc;
	border-right:solid 1px #ccc;
}
.dl_calender dd span{
	white-space: normal;
	position:static;
	padding:0 0 0 0!important;
	display: block;
	line-height:1.2;
}
.dl_calender dd span:before{
	content:"(";
	border:none;
	border-radius: 3px;
	position:static;
	top:0;
	left:0;
}
.dl_calender dd span:after{
	content:")";
	border:none;
	position:static;
	height:1em;
	top:0;
	left:0;
}

div.calender .dl_common{
	margin:0 0 30px 0;
}
div.calender .tbl_common th{
	white-space: nowrap;
}
.develop_link{
	width:100%;
	display: block;
	table-layout:fixed;
	margin-bottom:30px;
}
.develop_link li{
	display:block;
	width:100%;
	vertical-align: middle;
	text-align:left;
	padding:10px 0;
}
.develop_link a{
	display: inline-block;
	vertical-align: middle;
}
.develop_link li a img{
	display: inline-block;
	vertical-align: middle;
	max-width:70px;
}
	.develop_list li{
		width:100%;
		margin:0 0 10px 0!important;
	}
	.develop_list li img{
		margin:0 auto;
	}
	.develop div.img_block02 img{
		width:100%;
		height:auto;
	}
	.develop div.img_block03 img{
		width:48%;
		height:auto;
	}
	.sitemap_list li{
		margin-bottom:10px;
	}
	.sitemap_list li ul li a{
		margin-bottom:10px;
	}
	.ol_common,
	.ul_common{
		margin-left:0;
	}
	.recruit_faq dt{
	    padding: 10px 10px 10px 0;
	}
	.recruit_faq dd{
		padding:10px 10px;
	}
	.inquiry .tbl_responsive_block table th{
		padding:7px 15px;
	}
	.inquiry .tbl_responsive_block table td div.fl_l{
		float:none;
	}
	.inquiry .tbl_responsive_block table td input[type="text"]{	
		width:100%;
	}
	.inquiry .tbl_responsive_block table td label.w30p,
	.inquiry .tbl_responsive_block table td label.w50p{
		width:100%;
		float:none;
		display: inline-block;
	}
	.inquiry_block div.fl_l select {
		display: block;
	}
	.menu_list_recruit{
		font-size:86%;
		line-height:1.2;
	}
	.menu_list_recruit li a{
		padding:10px 7px;
	}
	.stock_info .w60p,
	.stock_info .stock_holder_01{
		width:100%;
	}
	.branch .dl_common dd p.access{
		width:100%;
	}
	.branch .dl_common dd p.access a.btn{
		clear:left;
		position:static;
		bottom:0;
		left:0;
		display: inline-block;
	}
.goal_wrap {
  max-width: 100%;
  }	
}

/* ==============================================
 共通設定の414px以下
=============================================== */
@media only screen and (max-width : 414px) {
#tab_box ul li {
	width: 48%!important;
	display: block!important;
	float: left;
	padding-bottom: 5px;
	margin: 0 1% 10px 1%!important;
	background-color: #f3f1eb;
}
#tab_box ul li a{
	display: block;
}
#tab_box ul li a img {
	max-width: 60px;
	max-height: 60px;
	width: 50%;
	height: auto;
}
#tab_box ul li:nth-child(3n+1),
#tab_box ul li:nth-child(3n+2),
#tab_box ul li:nth-child(3n+3){
	clear: none;
	margin:0 0 0 0;
	float:left;
}
#tab_box ul li a span.category{
	padding-bottom:0;
}
.products_list {
	width: 100%;
}
.products_list li:nth-child(odd),  .products_list li:nth-child(even) {
	width: 100%;
	margin: 0 0 10px 0;
}
.search_block {
	padding: 10px 10px 10px 10px;
	background: url(../img/common/icon_loupe.png) no-repeat 15px 15px;
	background-color:#f4f2f2;
	background-size:30px 30px;
}
.search_block h3.trigger {
	border-bottom: none;
	background: url(../img/common/icon_arrow_b.png) no-repeat 95% center;
	background-size: 20px 20px;
	
}
.search_block h3.trigger.open {
	background: url(../img/common/icon_arrow_t.png) no-repeat 95% center;
	background-size: 20px 20px;
}
.search_block div.clearfix {
	display: none;
}
.search_block div.clearfix label {
	width: 100%;
	margin: 0 0 0 0;
	padding: 10px;
	display: block;
	text-align: left;
}
.search_block div.clearfix label:last-child {
	margin-bottom: 20px;
}
.search_block label span {
	display: block;
}
.search_block div.clearfix label select {
	width: 100%;
}
.search_block p {
	padding: 20px 10px 0 10px;
}
.search_block div.clearfix input[type="search"] {
	width: 100%;
}
.search_block .btn_area{
	margin:20px 0;	
}
.search_block input[type="submit"]{
	width:50%;
}
.item_list {
	margin-bottom: 30px;
}
.item_list li {
	width: 48%;
}
.item_list li:nth-child(odd) {
	margin: 0 4% 20px 0;
}
.item_list li:nth-child(even) {
	margin: 0 0 20px 0;
}
div.fl_r.ac_menu h3 {
	padding-left: 10px;
	background: url(../img/common/icon_arrow_b.png) no-repeat 95% center;
	background-size: 14px 14px;
}
div.fl_r.ac_menu h3.side_ttl:before {
	content: "他の";
	border-left: none;
	margin-right: 0;
}
div.fl_r.ac_menu h3.open {
	background: url(../img/common/icon_arrow_t.png) no-repeat 95% center;
	background-size: 14px 14px;
}
div.fl_r.ac_menu ul {
	display: none;
}
.detail_block.clearfix div.txt,	
.detail_block div.img,
.detail_block div.txt{
	width:100%;
	float:none;
	margin-bottom: 20px;
}
.sub_block p.img{
	width:40%;
}
.faq_list {
	width: 100%;
	margin: 0 auto 30px auto;
}
.faq_list li:nth-child(odd), .faq_list li:nth-child(even) {
	width: 48%;
	margin: 0 1% 5px 1%;
}
.faq_list li a {
	padding: 5px 20px 5px 5px;
}
a.btn_download {
	height: 70px;
	background: url(../img/common/img_download.jpg) no-repeat right center;
	background-size: 70px 70px;
	background-color: #005eae;
	line-height: 70px;
	text-align: left;
	font-size: 100%;
	padding-left: 15px;
}
.inquiry_block div.fl_l select {
	margin: 0;
	width: 100%;
}
.inquiry_block div.fl_l a.btn_tel {
	padding: 10px 0;
	margin:10px auto;
	font-size: 138%;
	border:solid 1px #fff;
	display: block;
}

#faq05 div.inquiry_block{/*section以外で使用*/
	margin-bottom:0!important;
}
div.inquiry_block a.btn_tel{/*section以外で使用*/
	text-align: center;
}
.inquiry_block div.fl_l a.btn_tel img {
	width: 18px;
	height: 18px;
}
.inquiry_block div.fl_r a.btn_mail {
    background: url(../img/common/icon_mail.png) no-repeat 8% center;
	background-size:24px 24px;
    background-color: #fff;
    width: 100%;
    padding: 20px 0 20px 30px;
}
/*　---スクロールさせる---　*/
.tbl_scroll_block table{
 width:100%;
 margin-bottom: .5em;
}
.tbl_scroll_block{
 overflow: auto;
 margin-bottom: 2em;
}
.tbl_scroll_block::-webkit-scrollbar{
 height: 5px;
}
.tbl_scroll_block::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.tbl_scroll_block::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
.tbl_scroll_block .tbl_common th{
	white-space: nowrap;
}
.tbl_scroll_block .tbl_common th,
.tbl_scroll_block .tbl_common td{
	word-break: normal;
}	
.dl_common dd{
	padding:10px;
}
div.branch .dl_common dd img{
	float:none;
	display: block;
	margin:0 10px 10px 0;
	width:100%;
	height:auto;
}
	.li_result{
		margin:0 0 0 0;
		padding:0 0 0 0;
	}	
.li_result li:nth-child(odd),
.li_result li:nth-child(even){
	width:100%;
	margin:0 0;
	list-style-type:none;
}
.li_result li img{
	padding:0 0 10px 0;
	width:90%;
	height:auto;
}
	.dl_history dt{
		background-color:#f7f7f7;
	}
.dl_history dt,
.dl_history dd{
	width:100%;
	padding:10px 0;
	float:none;
}
.branch .dl_common .btn_area a{
	width:90%;
}
	.library .ul_common{
		margin:0 0 0 0;
	}
	.library .ul_common li{
		list-style-type: none;
		border-bottom:dotted 1px #ccc;
		padding:10px 0;
		margin:0 0 0 0;
	}
.library .ul_common li a span{
	display: block;
	margin-right:0;
}
.library .ul_common li a{
	display: block;
	background: url(../img/common/icon_pdf.png) no-repeat 98% center;
	background-size:24px 24px;
	padding-right:40px;
}
	.develop .img_block01 img{
		height:80px;
	}
.recruit .tbl_responsive_block .tbl_common th{
	width:100%;
}
.goal_wrap .goal_img {
  width: 100%;
}
.goal_wrap .goal_img:first-child,
.goal_wrap .goal_img:last-child {
  float:none;
  margin-left: auto;
  margin-right: auto;
}
.goal_wrap .goal_img:first-child {
  float: left;
  margin-bottom: 17px;
}
	
	
}

/* ==============================================
 共通設定の320px以下
=============================================== */
@media only screen and (max-width : 375px) {
:not.branch .menu_list li:nth-child(3n+1),
:not.branch .menu_list li:nth-child(3n+2),
:not.branch .menu_list li:nth-child(3n+3),
.menu_list li:nth-child(3n+1),
.menu_list li:nth-child(3n+2),
.menu_list li:nth-child(3n+3) {
	width: 100%;
	margin: 0 0 10px 0;
}
	.sitemap_list,
	.sitemap_list li ul,
	.sitemap_list li ul li ul,
	.sitemap_list li ul li ul li ul{
		margin-left:5px;
	}
	.news .more_button a{
		padding: 10px 15px 10px 7px;
	}
	.li_flow span:first-child{
		position:absolute;
		left:10px;
	}

}



