@charset "UTF-8";

/* ------------------------------------------------------------ */
/* Responsive */
/* ------------------------------------------------------------ */
@media screen and (max-width: 640px){
	
	/* --------- */
	/* header */
	/* --------- */
	#header{
		width: 100%;
		height: auto;
		background-color: #fff;
		opacity: 0.9;
	}
		.header_strong{
			display: none;
		}
		#header .header_inner_topline{
			float: none;
			width: 100%;
			top: 0;
		}
			#header .header_inner_topline h1{
				box-sizing: border-box;
				width: 100%;
				height: 60px;
				position: inherit;
				top: auto;
				left: auto;
				text-align: center;
				padding: 10px;
			}
				#header .header_inner_topline h1 a img{
					width: auto;
					height: 40px;
				}
			
			#header .header_inner_topline div.mailform{
				width: 25%;
				position: inherit;
				top: auto;
				right: auto;
				display: none;
			}
				#header .header_inner_topline div.mailform a{
				}
				#header .header_inner_topline div.mailform a:hover{
				}
			
			#header .header_inner_topline p.tel{
				width: 50%;
				top: auto;
				right: auto;
				position: inherit;
				display: none;
			}
				#header .header_inner_topline p.tel img{
				}
		
			#header .header_inner_bottomline{
				display: none;
			}
	
	#contents_title{
	}
		#contents_title h2{
			height: auto;
			padding: 10px 0;
		}
			#contents_title h2 img{
				width: 100%;
				height: 100%;
			}
	
	/* --------- */
	/* グローバルメニュー */
	/* --------- */
	p.spmenu{
		position: fixed;
		top: 14px;
		left: 10px;
		z-index: 200;
	}
		p.spmenu a{
			text-indent: -9999px;
			width: 30px;
			height: 30px;
			background: url(../images/common/bg_menuicon.png) no-repeat 0 0;
			background-size: contain;
			display: block;
		}
	#globalmenu{
		display: block;
		height: auto;
		position: absolute;
		z-index: 300;
		background: none;
		box-shadow: none;
	}
		#globalmenu ul.gmul{
			width: 90%;
			position: absolute;
			top: 20px;
			left: 5%;
			z-index: 302;
			display: none;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			-ms-border-radius: 5px;
			border-radius: 5px;
			overflow: hidden;
		}
			#globalmenu ul.gmul li{
				float: none;
			}
				#globalmenu ul.gmul li a.gma{
					width: auto;
					height: auto;
					background: none;
					text-indent: inherit;
					text-decoration: none;
					padding: 15px 10px;
					border-bottom: 1px solid #00264d;
					color: #fff;
					background-color: #0054a9;
					font-weight: bold;
				}
				#globalmenu ul.gmul li a.gma:hover{
					background-color: #0064c9;
				}
		.gm_fragilediagnosis a.gma,
		.gm_consulting a.gma,
		.gm_cybersecurityservice a.gma{
			background-image: url(../images/common/icn_spicn_down.png) !important;
			background-repeat: no-repeat !important;
			background-position: right center !important;
		}
		.gm_fragilediagnosis a.gmaover,
		.gm_consulting a.gmaover,
		.gm_cybersecurityservice a.gmaover{
			background-image: url(../images/common/icn_spicn_up.png) !important;
			background-repeat: no-repeat !important;
			background-position: right center !important;
		}
		.gm_fragilediagnosis #gm_submenu_im,
		.gm_consulting #gm_submenu_im,
		.gm_cybersecurityservice #gm_submenu_im{
			width: 100%;
			position: relative;
			top: 0;
			left: 0;
			padding: 0;
			height: 154px;
			overflow-x: hidden;
			overflow-y: scroll;
		}
		#gm_submenu_im::-webkit-scrollbar{ 
			width: 10px;
		}
		#gm_submenu_im::-webkit-scrollbar-thumb{ 
			background: #3e82c6;
			border-radius: 10px;
		}
		#gm_submenu_im::-webkit-scrollbar-track-piece:start{
			background: #fff;
		}
		#gm_submenu_im::-webkit-scrollbar-track-piece:end{
			background: #fff;
		}
			.gm_fragilediagnosis #gm_submenu_im .gmsi_top,
			.gm_consulting #gm_submenu_im .gmsi_top,
			.gm_cybersecurityservice #gm_submenu_im .gmsi_top{
				display: none;
			}
			.gm_fragilediagnosis #gm_submenu_im .gmsi_middle,
			.gm_consulting #gm_submenu_im .gmsi_middle,
			.gm_cybersecurityservice #gm_submenu_im .gmsi_middle{
				width: 100%;
				padding: 0;
				background: none;
			}
				.gm_fragilediagnosis #gm_submenu_im .gmsi_middle .gmsi_middle_in,
				.gm_consulting #gm_submenu_im .gmsi_middle .gmsi_middle_in,
				.gm_cybersecurityservice #gm_submenu_im .gmsi_middle .gmsi_middle_in{
					margin: 0;
					padding: 0;
				}
					.gm_fragilediagnosis #gm_submenu_im .gmsi_middle dl,
					.gm_consulting #gm_submenu_im .gmsi_middle dl,
					.gm_cybersecurityservice #gm_submenu_im .gmsi_middle dl{
						width: 100%;
						float: none;
					}
						.gm_fragilediagnosis #gm_submenu_im .gmsi_middle dl dd,
						.gm_consulting #gm_submenu_im .gmsi_middle dl dd,
						.gm_cybersecurityservice #gm_submenu_im .gmsi_middle dl dd{
							background: none;
							padding: 0;
							margin: 0;
						}
							.gm_fragilediagnosis #gm_submenu_im .gmsi_middle dl dd a,
							.gm_consulting #gm_submenu_im .gmsi_middle dl dd a,
							.gm_cybersecurityservice #gm_submenu_im .gmsi_middle dl dd a{
									display: block;
									background-color: #6b95bf;
									padding: 15px 10px;
									border-bottom: 1px solid #50708f;
									color: #fff !important;
							}
							.gm_fragilediagnosis #gm_submenu_im .gmsi_middle dl dd a:hover,
							.gm_consulting #gm_submenu_im .gmsi_middle dl dd a:hover,
							.gm_cybersecurityservice #gm_submenu_im .gmsi_middle dl dd a:hover{
								background-color: #79a8d7;
								text-decoration: none !important;
							}
			.gm_fragilediagnosis #gm_submenu_im .gmsi_bottom,
			.gm_consulting #gm_submenu_im .gmsi_bottom,
			.gm_cybersecurityservice #gm_submenu_im .gmsi_bottom{
				display: none;
			}
	
	/* --------- */
	/* パンくずメニュー */
	/* --------- */
	#breadcrumb{
		height: auto;
	}
		#breadcrumb .breadcrumb_inner{
			box-sizing: border-box;
			padding: 5px 10px;
			width: 100%;
		}
	
	/* --------- */
	/* コンテンツ */
	/* --------- */
	#contents{
	}
		#contents .contents_inner{
			box-sizing: border-box;
			padding: 10px;
		}
			#contents .contents_inner h3{
				background: none;
				margin: 0 0 10px;
				padding: 0 0 7px;
				width: 100%;
				height: auto;
				border-bottom: 1px solid #0054a9;
			}
			#contents .cicolorblue h3{
				margin-top: 0;
			}
				#contents .contents_inner h3 span{
					font-size: 100%;
				}
			#contents .contents_inner h3.threeline{
				background: none !important;
				height: auto !important;
			}
			#contents .contents_inner h3.fourline{
				background: none !important;
				height: auto !important;
			}
			#contents .contents_inner p.inner_read{
				box-sizing: border-box;
				width: 100%;
				padding: 20px 10px 0;
			}
			#contents .contents_inner:first-child h3{
				margin-top: 10px;
			}
			#contents .contents_inner hr{
				box-sizing: border-box;
				width: 100%;
				margin: 10px 0 0;
			}
			#contents .contents_inner dl.form_wrapper,
			#contents .contents_inner dl.form_wrapper2,
			#contents .contents_inner dl.form_wrapper_towrows{
				box-sizing: border-box;
				width: 100%;
				margin: 10px auto 0;
				padding: 0 10px;
			}
			#contents .contents_inner dl.form_wrapper2{
				padding: 10px;
			}
			#contents .contents_inner dl.form_wrapper_towrows{
				margin: 10px auto;
			}
				#contents .contents_inner dl.form_wrapper dt,
				#contents .contents_inner dl.form_wrapper2 dt,
				#contents .contents_inner dl.form_wrapper_towrows dt{
					box-sizing: border-box;
					width: 100%;
					float: none;
				}
				#contents .contents_inner dl.form_wrapper_towrows dt{
					margin-bottom: 10px;
				}
				#contents .contents_inner dl.form_wrapper dd,
				#contents .contents_inner dl.form_wrapper2 dd,
				#contents .contents_inner dl.form_wrapper_towrows dd{
					box-sizing: border-box;
					width: 100%;
					float: none;
					margin-bottom: 0;
				}
					#contents .contents_inner dl.form_wrapper dd select,
					#contents .contents_inner dl.form_wrapper2 dd select,
					#contents .contents_inner dl.form_wrapper dd textarea,
					#contents .contents_inner dl.form_wrapper2 dd textarea,
					#contents .contents_inner dl.form_wrapper_towrows dd input[type="text"],
					#contents .contents_inner dl.form_wrapper_towrows dd input[type="text"]{
						box-sizing: border-box;
						width: 100%;
					}
						#contents .contents_inner dl.form_wrapper_towrows dd span.fe_caption{
							margin: 10px 0 0;
						}
			#contents .contents_inner p.inner_readcontact{
				box-sizing: border-box;
				width: 100%;
				margin-bottom: 20px;
			}
			#contents .contents_inner p.inner_febutton{
				width: 100%;
				height: 110px;
				margin: 30px 0 10px;
			}
				#contents .contents_inner p.inner_febutton input,
				#contents .contents_inner p.inner_febutton button#inquiry_p4_btn1,
				#contents .contents_inner p.inner_febutton button#inquiry_p4_btn2,
				#contents .contents_inner p.inner_febutton a#inquiry_p4_btn2{
					box-sizing: border-box;
					width: 100%;
					height: 50px;
					background: none;
					font-size: 14px;
					font-weight: bold;
					color: #fff;
					text-indent: inherit;
					-webkit-border-radius: 5px;
					-moz-border-radius: 5px;
					-ms-border-radius: 5px;
					border-radius: 5px;
					float: none;
				}
				#contents .contents_inner p.inner_febutton a#inquiry_p4_btn2,
				#contents .contents_inner p.inner_febutton button#inquiry_p4_btn2{
					text-align: center;
					padding-top: 12px;
					text-decoration: none;
				}
				#contents .contents_inner p.inner_febutton input:hover,
				#contents .contents_inner p.inner_febutton a#inquiry_p4_btn2:hover,
				#contents .contents_inner p.inner_febutton button#inquiry_p4_btn2:hover{
					opacity: 0.8;
				}
				#contents .contents_inner p.inner_febutton input.input_btn1,
				#contents .contents_inner p.inner_febutton input.inquiry_p4_btn3,
				#contents .contents_inner p.inner_febutton button.inquiry_p4_btn3{
					background-color: #0054a9 !important;
					position: absolute;
					top: 0;
				}
				#contents .contents_inner p.inner_febutton input.input_btn2,
				#contents .contents_inner p.inner_febutton a#inquiry_p4_btn2,
				#contents .contents_inner p.inner_febutton button#inquiry_p4_btn2{
					background-color: #444 !important;
					position: absolute;
					bottom: 0;
				}
			#contents .contents_inner p.inner_ntitle{
				width: 100%;
				margin: 14px 0;
				padding:  7px;
				font-size: 100%;
				box-sizing: border-box;
				text-align: left;
			}
			#contents .contents_inner p.inner_read{
				width: 100%;
				padding: 0 !important;
			}
				#contents .contents_inner p.inner_read img{
					width: 100% !important;
					height: auto !important;
					position: relative !important;
					top: auto !important;
					left: auto !important;
					padding: 10px 0 0;
				}
			#contents .contents_inner p.inner_images{
				width: 100% !important;
				padding: 0 !important;
			}
				#contents .contents_inner p.inner_images img{
					width: 100% !important;
					height: auto !important;
					position: relative !important;
					top: auto !important;
					left: auto !important;
				}
				#contents .contents_inner p.inner_images span.image{
					position: inherit;
					display: block;
					overflow: visible;
					width: auto !important;
					height: auto !important;
				}
		#contents .contents_inner p.inner_question,
		#contents .contents_inner p.inner_question2{
			width: 100%;
			height: auto;
			background: none;
			background-color: #0054a9;
			color: #fff;
			font-weight: bold;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			-ms-border-radius: 5px;
			border-radius: 5px;
			margin: 20px 0 0;
			padding: 7px 10px;
			box-sizing: border-box;
		}
			#contents .contents_inner p.inner_question span.read,
			#contents .contents_inner p.inner_question2 span.read{
				display: inline-block;
				float: none;
				width: auto;
			}
		#contents .contents_inner p.inner_answer{
			width: 100%;
			padding: 10px 0 0;
		}
			#contents .contents_inner p.inner_answer span.read{
				width: 100%;
			}
	#contents .contents_button{
		padding: 20px 0;
	}
		#contents .contents_button ul{
			width: auto;
		}
			#contents .contents_button ul li.btn_left,
			#contents .contents_button ul li.btn_left a,
			#contents .contents_button ul li.btn_right,
			#contents .contents_button ul li.btn_right a{
				float: none !important;
				background: none !important;
				width: auto !important;
				height: 90px !important;
			}
			#contents .contents_button ul li.btn_left{
				background: url(../images/pages/btn_tel.png) no-repeat center 0 !important;
				background-size: contain !important;
			}
			#contents .contents_button ul li.btn_right a{
				margin-top: 10px !important;
				background: url(../images/pages/btn_mailform.png) no-repeat center 0 !important;
				background-size: contain !important;
			}
			#contents .contents_button ul li.btn_right a:hover{
				opacity: 0.8;
			}
	#contents .contents_inner .settingPD{
		margin-top: 30px !important;
	}

	
	
	/* --------- */
	/* 会社概要 */
	/* --------- */
	.company .about_table{
		width: 100% !important;
		margin-top: 15px !important;
	}
		.company .about_table th,
		.company .about_table td{
			border: none !important;
			box-sizing: border-box;
			display: block !important;
			width: 100% !important;
		}
			.company .contents_inner table.about_table td dl{
				margin-bottom: 10px;
			}
			.company .contents_inner table.about_table td img{
				max-width: 50%;
			}
			.company .contents_inner table.about_table td dl:last-child{
				margin-bottom: 0;
			}
				.company .contents_inner table.about_table td dl dt{
					width: 100%;
					float: none;
					font-weight: bold;
				}
				.company .contents_inner table.about_table td dl dd{
					width: 100%;
					float: none;
					text-align: left;
				}
			#gsx_tokyomap_canvas,
			#gsx_hyogomap_canvas{
				width: 100%;
				height: 250px;
			}
		.company .contents_inner dl.seminar_dltable{
			width: 100%;
			box-sizing: border-box;
			padding: 0 10px 10px;
		}
		.company .contents_inner dl.seminar_dltable:first-of-type{
			margin-top: 15px !important;
		}
			.company .contents_inner dl.seminar_dltable dt{
				float: none;
				width: 100%;
				margin-bottom: 5px;
			}
			.company .contents_inner dl.seminar_dltable dd{
				float: none;
				width: 100%;
			}
		.company #contents .gsx_enkaku .inner_read{
			padding: 10px 10px 0 !important;
		}
	
	
	
	/* --------- */
	/* ページトップ */
	/* --------- */
	#pagetop{
		padding: 0 0 10px;
	}
		#pagetop .inner_wrap{
			width: auto;
		}
			#pagetop .inner_wrap a{
				width: 120px;
				height: 50px;
				float: right;
				transform: scale(0.8, 0.8);
			}
			#pagetop .inner_wrap a:hover{
				background-position: 0 -50px;
			}
	
	/* --------- */
	/* フッターメニュー */
	/* --------- */
	#fottertopline,
	#fotterbottomline{
		display: none;
	}
		#fotterbottomline .fotterbottomline_inner{
			width: auto;
		}
	
	/* --------- */
	/* コピーライト */
	/* --------- */
	#copyright{
		background-color: #00376e;
		font-size: 10px;
		padding: 10px 0;
	}
	
	/* --------- */
	/* モーダル */
	/* --------- */
	.modal{
		width: 100%;
		background-color: #000f1e;
		opacity: 0.9;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 200;
	}
	.modalclose{
		position: fixed;
		bottom: 10px;
		width: 100%;
		z-index: 400;
	}
		.modalclose a{
			display: block;
			text-align: center;
			text-decoration: none;
			font-weight: bold;
			color: #333;
			background-color: #fff;
			margin: 0 10px;
			padding: 15px 10px;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			-ms-border-radius: 5px;
			border-radius: 5px;
		}
}