@charset "utf-8";

/* タイトル
-------------------------------- */
.ttl {
width:100%;
overflow: hidden;
margin:0px auto;
text-align:center;
padding:30px 0px;
}
.secom{ background:#3e3e57 url(../images/secom/ttl_bg.jpg) no-repeat 50% 50%; }
.security-guard{ background:#3e3e57 url(../images/security-guard/ttl_bg.jpg) no-repeat 50% 50%; }
.architecture{ background:#3e3e57 url(../images/architecture/ttl_bg.jpg) no-repeat 50% 50%; }
.about{ background:#3e3e57 url(../images/about/ttl_bg.jpg) no-repeat 50% 50%; }
.entry{ background:#3e3e57 url(../images/entry/ttl_bg.jpg) no-repeat 50% 50%; }
.secom,.security-guard,.architecture,.about,.entry{
background-size: 100% auto;
max-width:1920px;
}
@media only screen and (max-width:859px){
	.ttl img { width:90%;max-width:460px; }
}
@media only screen and (max-width:650px){
	.ttl  { padding:20px 0px; }
}
@media print {
	.secom,.security-guard,.architecture,.about,.entry{ -webkit-print-color-adjust: exact; }
}

/* contents
-------------------------------- */
@media print, screen and (min-width:801px){
	.min-height{ min-height:500px; }
}
@media only screen and (max-width:800px){
	.min-height{ min-height:300px; }
}
@media print, screen and (min-width:1295px){
	.contents{ width:1295px; margin:0px auto; }
}
@media only screen and (max-width:1294px){
	.contents{ width:95%; margin:0px auto;padding:0;overflow: hidden; }
}
.contents h2{ font-size:1.8em;line-height:1.4em;margin:20px auto; }
.contents h2.sub_ttl{ border-left:10px solid #2c2c41;padding-left:15px;}
.contents h3{ font-size:1.4em;line-height:1.3em;margin:10px auto; }
.contents p,.contents h4{ margin:10px auto; }
.contents .img{
margin:30px auto 80px;
text-align:center;
overflow:hidden;
height:250px;
}
.contents .img img{
display:inline-block;
width:32.8%;
}
@media only screen and (max-width:1330px){
	.contents h2,.contents h3,.contents h4,.contents p,.contents .img,.contents .decimal_list,.contents .disc_list,.contents .inline_list,.contents .point_list{ width:95%; }
}
@media only screen and (max-width:950px){
	.contents .img{ margin:20px auto; }
}
@media only screen and (max-width:800px){
	.contents h3{ font-size:1.24em;line-height:1.3em; }
}
@media only screen and (max-width:640px){
	.contents h2{ font-size:1.6em;line-height:1.3em; }
	.contents .img{ height:200px; margin:20px auto 50px; }
	.contents .img img:first-child{ display:none; }
	.contents .img img:last-child{ display:none; }
	.contents .img img{width: 100%;margin:-10px auto 0px;}
}

.b_box1{background:#4a4a5e;color:#fff;padding:25px 0px;}
.b_box2{background:#404058;color:#fff;padding:25px 0px;}
.point_box{background:#56566c;padding:15px 1%;border:1px solid #fff;width:97%;margin:20px auto;}
.point_box h3{ color:#ffec82;font-size:1.1em;}

/* 中メニュー
-------------------------------- */
.side_menu{
width: 100%;
display:table;
table-layout: fixed;
border-collapse: separate;
border-spacing: 3px 0;
text-align: center;
}
.side_menu li{
display:table-cell;
vertical-align:middle;
text-align:center;
border:1px solid #2c2c41;
position: relative;
padding: 8px 25px 8px 0px;
margin:0px 10px;
line-height:1em;
}
.side_menu li span{
display:inline-block;
}
@media print, screen and (min-width:1295px){
	.side_menu{ margin:40px auto 80px; }
}
@media only screen and (max-width:1294px){
	.side_menu{ margin:30px auto 40px; }
}
@media only screen and (max-width:640px){
	.side_menu{ 
	width:100%;
	margin:5px auto 50px;
	display:block;
	}
	.side_menu li{
	width:97.5%;
	margin:0px auto;
	display:block;
	padding: 0px 1%;
	}
}
.side_menu li a{
display:block;
color:#2c2c41;
font-weight:bold;
width:100%;
padding:10px;
text-decoration:none;
}
.side_menu li:after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 10px;
width: 7px;
height: 7px;
margin: -4px 0 0 0;
border-top: solid 2px #585876;
border-right: solid 2px #585876;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
}
.side_menu li:hover{ background:#2c2c41; }
.side_menu li:hover > a{ color:#fff; }
.side_menu li.on{ background:#2c2c41; }
.side_menu li.on a{ color:#fff; }

/* staff_message
-------------------------------- */
.staff_messagee{
width:100%;
margin:10px auto 60px;
}
@media print, screen and (min-width:640px){
	.staff_message a:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	}
}
.movie,.staff_message .txt{ vertical-align:top; }
.movie{
position:relative;
z-index:0;
}
.movie span{
display:block;
position:absolute;
left:10px;
bottom:10px;
}
.staff_message .txt span{
display:inline-block;
font-weight:bold;
font-size:1em;
line-height:1.4em;
margin:5px;
}
.staff_message .b_link{
font-size:1em;
padding:0px 20px 0px 10px;
}
.staff_message .name{
font-weight:bold;
margin-right:10px;
}
@media print, screen and (min-width:601px){
	.movie,.staff_message .txt{
	display:inline-block;
	}
	.movie,.staff_message .txt{ width:49%; }
}
@media only screen and (max-width:600px){
	.movie,.staff_message .txt{
	display:block;
	width:100%;
	margin:10px auto;
	}
	.staff_message {
	margin:10px auto 50px;
	}
}

/* float_box
-------------------------------- */
.float_box .img_box,.float_box .txt_box{ display:inline-block;vertical-align:top; }
.float_box .img_box img{ width:48%;display:inline-block; }
@media print, screen and (min-width:761px){
	.float_box{ width:100%; margin:10px auto; }
	.float_box .img_box{ width:60%; }
	.float_box .txt_box{ width:37%;padding:1%; }
}
@media only screen and (max-width:760px){
	.float_box{ width:95%; margin:10px auto; }
}

/* float_right_img / float_left_img
-------------------------------- */
@media print, screen and (min-width:761px){
	.float_right_img{
	float:right;
	margin:0px 15px 15px;
	width:49%;
	max-width:400px;
	}
	.float_left_img{
	float:left;
	margin:0px 15px 15px;
	width:49%;
	}
	.float_left_img:not(.movie){
	max-width:400px;
	}
}
@media only screen and (max-width:760px){
	.float_right_img,.float_left_img{
	display:block;
	vertical-align:middle;
	width:100%;
	text-align:center;
	margin:15px auto;
	}
	.movie{
	max-width:600px;
	}
	.float_right_img{
	overflow:hidden;
	max-height:220px;
	}
	.float_left_img:not(.movie){
	overflow:hidden;
	max-height:220px;
	}
}

/* table_box
-------------------------------- */
.table_box{ width: 100%; }
.table_box_in span{
display:block;
text-align:left;
}
@media only screen and (max-width:760px){
	.table_box{ width: 95%;margin:10px auto; }
}
@media print, screen and (min-width:561px){
	.table_box{
	display:table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 1px 0;
	text-align: center;
	}
	.table_box_in{
	display:table-cell;
	vertical-align:top;
	}
	.table_box_in span{
	width:95%;
	margin:0px;
	}
}
@media only screen and (max-width:560px){
	.table_box_in{
	margin:15px auto;
	}
	.table_box_in img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
	}
	.table_box_in div{
	overflow:hidden;
	height:200px;
	position: relative;
	}
	.table_box_in span{
	width:100%;
	margin:0px;
	}
}
.img_border{
width:100%;
max-width:700px;
}
.img_border img{
border:1px solid #b4b4b4;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.img_border a{
text-align:right;
color:#000;
}
@media print, screen and (min-width:521px){
	.img_border{margin:60px 0 0;}
	.img_border img{padding:15px;}
}
@media print, screen and (max-width:520px){
	.img_border{margin:auto;}
		.img_border img{padding:10px 3px;}
}