@charset "UTF-8";
/* 長堂 */
/*------------------------------------------------------------------------------*/
/*############　PC系　##############################################*/
/*------------------------------------------------------------------------------*/
/************************
画面の横幅が769px以上（PC用）
************************/
@media print, screen and (min-width: 769px){
	.menu {
	    min-width: 960px;
	}
	.rec_footer_in{
		width: 960px;
	}

	.contact {

	}
	.item form{
		display:inline-block;
		width:32%;
		margin-bottom:30px;
		text-align: center;
	}
	.items{
		width:90%;
		display:inline-block;
		text-align:center;
	}
	.items img{
		width:100%;
	}
	.items h5,.items div,.items img{
		width:95%;
		margin:0 auto;
		font-weight:bold;
	}
	.items h5{
		color:#B93E35;
		font-size:105%;
		font-weight:bold;
		margin:10px 0px;
	}
	.texts{
		color:#5D1C00;
		text-align:center;
	}
	
	.items .btn-primary , .items .btn-primary:active , .items .btn-primary:hover , .items .btn-primary:active{
		border-color:#FF9999;
		background-color:#FF9999;
		color:#B93E35;
	}
	.item_mo{
		margin:10px auto;
	}
	.items .btn{
		margin:10px auto;
	}
}

/*------------------------------------------------------------------------------*/
/*############　タブレット系　##############################################*/
/*------------------------------------------------------------------------------*/
/************************
画面の横幅がpxまで（タブレット用）
************************/
@media screen and (min-width: 641px) and (max-width: 768px){
	.contact table {
		display: block;
	}
	.contacts table th,
	.contacts table td {
		display: block;
		text-align: left;
	}
	.contacts table th {
		margin-bottom: 10px;
	}
	.contacts table th .caution {
		font-size: 12px;
		color: red;
		margin-right:5px;
	}
	.contacts table td {
		margin-bottom: 30px;
	}
	.contacts table td input:not([class=form_tel]),
	.contacts table td textarea {
		width: 95%;
	}
	/*############　biew　############*/
	.br-sp{ display:none; }
	.br-tb{ display:inline-block; }
	.br-pc{ display:none; }

	.tb_hidden{display:none;overflow: hidden ; margin:0px !important;height:1px;}
		.tb_hidden img{display:none;overflow: hidden ; margin:0px !important;height:1px;}
	.tb_view { display: block; }

	/*############　header　############*/
	header{
		width: 100%;
		background:none;
	}
	header .head_logo{
		width:49%;
	}
	header .head_logo img{
		width:95%;
	}
	header .head_addr{
		display:inline-block;
		width:49%;
	}
	/*############　menu　############*/
	#gmenu .menu{
		width:100%;
	}
	#gmenu .menu li{
		width:16%;
		height:60px;
		display:inline-block;
		font-weight:bold;
		font-size:108%;
	}

	/*############　contents　############*/
	
	
	/*############　見出し　############*/
	.contents .content_main h2,
	.contents .content_main h3,
	.page2nd h2{
		margin:10px 0px 20px 0px !important;
	}
	/*############　foot　############*/
	.footer_in{
		width:90% !important;
		margin:5% !important;
	}

	#page-top {
	    bottom: 165px !important;
	    right: 10px;
	    font-size: 77%;
	}

	/*############　table　############*/

	.tbl { width:90%;border-top:none;}
	.tbl th , .tbl td{
		width:100%;
		text-align: left;
		display: block;
		float:left;/*IE9対策*/
	}
	.tbl th{
		width:100% !important;
		display: block;
		float:left;/*IE9対策*/
		border-top: none;
		border-bottom: none;
	}
	tbody {
		display:block;
	}
	.tbl td{
		width:100%;
		display: block;
		float:left;/*IE9対策*/
		text-align: left;
	}
	.tbl th {
		width:100% !important;
		display: block;
		float:left;/*IE9対策*/
		border-top: none;
		border-bottom: none;
	}

	.tbl2 { border-left: 1px solid #ccc; width:100%;}
	.tbl2 th , .tbl2 td{
		text-align: left;
		display: block;
		float:left;/*IE9対策*/
	}
	.tbl2 th{
		display: block;
		float:left;/*IE9対策*/
		width:90%;
	}

	.tbl3 { 
		display: block; 
		float:left;/*IE9対策*/
		margin: 0px 0px;
		border-left: 1px solid #ccc; 
		width:100%;
	}
	.tbl3 thead{ 
		display: block; 
		float: left;
	}
	.tbl3 tbody{ 
		display: block; 
		width: auto; 
		overflow-x: auto; 
		white-space: nowrap;
	}
	.tbl3 th{ 
		display: block;
		width:auto;
	}
	.tbl3 tbody tr{ 
		display: inline-block; 
		margin: 0 -3px;
	}
	.tbl3 td{ 
		border-top: 1px solid #fff;
		display: block;
		float:left;/*IE9対策*/
	}

	.all_table{
		display: block;
		overflow-x: auto;
	}
	
	.all_table th, .all_table td{
		width: 100%;
		white-space: nowrap;
	}
	/* スクロールバー全体 */
		.all_table::-webkit-scrollbar{
		height: 10px;
		height: 1rem;
		background-color: #F1F1F1;
	}
	
	/* スクロールバーのつまみ(可動部分) */
	.all_table::-webkit-scrollbar-thumb{
		background-color: #BCBCBC;
		border-radius: 12px;
		border-radius: 1.2rem;
	}
	.all_table::-webkit-scrollbar-thumb:hover{
		background-color: #A9A9AA;
	}
	/*############　採用　############*/
	/*############　ぱんくず　############*/


}

/*------------------------------------------------------------------------------*/
/*############　スマホ系　##############################################*/
/*------------------------------------------------------------------------------*/
/************************
画面の横幅が640pxまで（スマホ用）
************************/
@media screen and (max-width: 640px){
	#wrapper{float:none;display:block;}
	#leftmain{float:none; overflow: hidden ;display:block;}
	#rightmenu{
		float:none;
		margin-top:40px;
		max-width:100%;
		height:auto;
		text-align:center;
	}
	#wrap img{height:auto;}
	#left_menu{display:none;overflow: hidden ;}
	
	#main{float:none;width:100%;display:block;}
	
	body{padding: 0px 0px;}
	.sp_img{
		max-width:100%;
		height:auto;
		margin-right:0px;
		margin-left:0px;
	}
	#logo img{
		max-width:100%;
	}
	.float_l{float:none;display:block;}
	.float_r{float:none;display:block;}
	
	.margin_t25{margin-top:0px;}
	
	.sp_marginb10{margin-bottom:10px;}
	.sp_disp-inb{display:inline-block;vertical-align:top;align-content:flex-end;}
	.sp_disp-inl{display:inline;vertical-align:top;}
	.sp_disp-cel{display:table-cell;vertical-align:top;}
	.sp-img98{width:98%;}

	.sp_50_cont{
		margin-bottom:10px;
		display:inline-block;
		width:48%;
	}
	.sp_100_cont{
		margin-bottom:10px;
		display:inline-block;
		width:100%;
	}
	.sp_50_cont img{
		width:98%;
	}
	.sp_100_cont img{
		width:98%;
	}
	#page-top {
		line-height:100%;
	}
	
	#page-top a {
		width: 70px;
		padding: 25px 0;
		border-radius: 36px;
	}

	.br-pc{ display:none; }
	.br-tb{ display:none; }
	.br-sp{ display:inline-block; }

	.secondcell{
		border-top: 1px solid #999;
	}
	.contents .content_main_one_column .w90{
		text-align:left;
	}
	ul{margin:0px; padding:0px;}

	.dis_inl{display:block;}
	.dis_inb{display:block;}

	.sp_disp-inb{display:inline-block;vertical-align:top;align-content:flex-end;}
	.sp_disp-inl{display:inline;vertical-align:top;}
	.sp_disp-cel{display:table-cell;vertical-align:top;}

	/*############　content　############*/
	.contents .content_main {
	  padding-bottom:20px;
	}
	.cont{
		padding: 0px 0px;
	}
	.banners .saiyo {
		display:inline-block;
		margin-right:5px;
		width:75%;
	}
	.b_banner{
		display:inline-block;
		 width:90%;
	}
	.banners li img:first-child{
		 width:90%;
	}
	.blank_ico{
		background-position:90% 90%;
		bottom: 5px;
		right: 25px;
		width: 15px;
		height: 10px;
		background-color: white;
	}
	.pickup_content_box.blank img{
		width:90%;
	}
	/*############　table　############*/
	.tbl { width:90%;border-top:none;}
	.tbl th , .tbl td{
		width:100%;
		text-align: left;
		display: block;
		float:left;/*IE9対策*/
	}
	.tbl th{
		width:100% !important;
		display: block;
		float:left;/*IE9対策*/
		border-top: none;
		border-bottom: none;
	}
	tbody {
		/*display:block;*/
	}
	.tbl td{
		width:100%;
		display: block;
		float:left;/*IE9対策*/
		text-align: left;
	}
	.tbl th {
		width:100% !important;
		display: block;
		float:left;/*IE9対策*/
		border-top: none;
		border-bottom: none;
	}

	.tbl2 { border-left: 1px solid #ccc; width:100%;}
	.tbl2 th , .tbl2 td{
		text-align: left;
		display: block;
		float:left;/*IE9対策*/
	}
	.tbl2 th{
		display: block;
		width:90%;
	}

	.tbl3 { 
		display: block; 
		margin: 0px 0px;
		border-left: 1px solid #ccc; 
		width:100%;
	}
	.tbl3 thead{ 
		display: block; 
float:left;
		width: 25%\9;/*IE9対策*/

	}
	.tbl3 tbody{ 
		display: block; 
		width: auto; 
		overflow-x: auto; 
		white-space: nowrap;
float:left\9;/*IE9対策*/
		width: 75%\9;/*IE9対策*/
	}
	.tbl3 th{ 
		display: block;
		float:left\9;/*IE9対策*/
		width:auto;
		width:100%\9;/*IE9対策*/
	}
	.tbl3 tbody tr{ 
		display: inline-block; 
		margin: 0 -3px;
	}
	.tbl3 td{ 
		border-top: 1px solid #fff;
		display: block;
		float:left\9;/*IE9対策*/
		width:80%\9;/*IE9対策*/
	}

	.all_table{
		display: block;
		overflow-x: auto;
	}
	
	.all_table th, .all_table td{
		width: 100%;
		white-space: nowrap;
	}
	/* スクロールバー全体 */
		.all_table::-webkit-scrollbar{
		height: 10px;
		height: 1rem;
		background-color: #F1F1F1;
	}
	
	/* スクロールバーのつまみ(可動部分) */
	.all_table::-webkit-scrollbar-thumb{
		background-color: #BCBCBC;
		border-radius: 12px;
		border-radius: 1.2rem;
	}
	.all_table::-webkit-scrollbar-thumb:hover{
		background-color: #A9A9AA;
	}
	/*############　form　############*/
	input[type=text]  , input[type=email]  , textarea{
		max-width: 280px;
		box-sizing: border-box;
	}
	input[type=submit] {
		margin-left: 10px;
	}





	.sp_img img , .sp_img{
		width:100%;
	}
	.sp_block{display:block;}
	.main_img{
		margin:20px auto;
	}
	.main_img img{
		width:100%;
	}

	/*############　slide　############*/
	.slide-back{
		width:100%;
		height:auto;
	}
	/*############　カラム　############*/
	.contents {
		width: 100%; 
	}
	.contents .content_main {
		float: none;
		width: 100%; 
		display:block;
	}
	.contents .content_right {
		float: none;
		width: 100%; 
		display:block;
	}
	.main_ph img{
		width:100%;
	}

	/*############　見出し　############*/
	.contents .content_main h2,
	.contents .content_main h3, 
	.page2nd h2{
		margin:10px 0px 10px 0px !important;
	}
	/*------------------------------------------------------------------------------*/
	/*　スマホ用メニュー */
	/*------------------------------------------------------------------------------*/
	.drawer-nav{
		padding-top:20px;
	}
	#wrapper .t_clear{
		text-align:left;
		text-justify:auto;
	}
	.drawer-nav .drawer-menu li{
		margin:0px 0px 0px 10px;
		padding:1px 10px;
		text-align:left;
		width:90%;
	}
	.drawer-nav .drawer-menu li a{
		border-bottom:1px solid gray;
		padding: 10px 0px;
	
	}
	.drawer-nav .drawer-menu li ul li{
		width:90%;
		margin:0px 10px 0px 10px;
		padding:1px 10px;
		text-align:left;
	}	
	.drawer-menu-item{
		width:90%;
	}
	.drawer-hamburger{
		background-color: #1B7ECC;
	}
	.sp_logo{
		position: fixed;
		z-index: 2;
		top: 0;
		right:0px;
		display: block;
		box-sizing: content-box;
		width: 2rem;
		padding: 0;
		width: 100%;
		background-color: white;
		width:100%;
	}
	.sp_logo h1 img{
		width:70%;
		margin-left:10px;
	}
	.sp_back{
		width:100%;
		background-color:#fff;
		right: 0;
		position: absolute;
	}


	header{
		width:100%;
		height:0px;
	}
	.drawer-nav{
		padding-top:20px;
box-shadow: 0 7px 4px -5px #dadada inset;
	}
	#wrapper .t_clear{
		text-align:left;
		text-justify:auto;
	}
	.drawer-nav .drawer-menu li{
		margin:0px 0px 0px 10px;
		padding:1px 10px;
		text-align:left;
		width:90%;
	}
	.drawer-nav .drawer-menu li a{
		border-bottom:1px solid gray;
		padding: 10px 0px;
	
	}
	.drawer-nav .drawer-menu li ul li{
		width:90%;
		margin:0px 10px 0px 10px;
		padding:1px 10px;
		text-align:left;
	}	
	.drawer-menu-item{
		width:90%;
	}
	.drawer-hamburger{
		background-color: #1B7ECC;
	}
	/*=============================================
	 * footer
	 =============================================*/
	.footer_in{
		width:100% !important;
		margin:2% !important;
	}
	.footer_in .copy {
		display:block;
		font-size:smol;
	}
	#page-top {
	    bottom: 115px;
	    right: 10px;
	    font-size: 77%;
	}
	#page-top a {
	    padding: 15px 0;
	    border-radius: 5px;
	}
	/*=============================================
	 * top
	 =============================================*/


	/*------------------------------------------------------------------------------*/
	/*　各ページ　*/
	/*------------------------------------------------------------------------------*/
 	/*############　banner　############*/

	/*############　特定信書便　############*/


	/*------------------------------------------------------------------------------*/
	/*　hidden系最後に読み込ませたい　*/
	/*------------------------------------------------------------------------------*/
	.pc_hidden{overflow: hidden ;display:block;}
		.pc_hidden img{display:block;overflow: hidden ; }
	.sp_hidden{display:none;overflow: hidden ; margin:0px !important;height:1px;}
		.sp_hidden img{display:none;overflow: hidden ; margin:0px !important;height:1px;}
	.tb_view { display: none !important; }

}