@charset "utf-8";

/* 共通
----------------------------------------------------------------------*/
.left { float: left; }
.right { float: right; }
.center { text-align: center; }
.none { display: none; }
.small { font-size: 12px !important; }
.bold { font-weight: bold; }
.txt_right { text-align: right; }

/* マウスオーバー */
.hover a img {
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
.hover a:hover img {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: .60;
}

/* クリッカブル */
.clickable li {
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
.clickable li:hover,
.clickable div:hover {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: .60;
}

/* リンク無効 */
a[href^="tel:"] { pointer-events: none; }

/* スマートフォン用 */
@media only screen and (max-width: 736px) {
/* リンク無効 */
a[href^="tel:"] { pointer-events: auto; }

/* マウスオーバー処理無効 */
.hover a:hover img,
.clickable li:hover,
.clickable div:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
}


/* タイトル
----------------------------------------------------------------------*/
#main h2 {
	color: #221815;
	font-size: 28px;
	margin-bottom: 35px;
	text-align: center;
}
#main h2 span {
	border-bottom: 5px solid #00428E;
	padding-bottom: 10px;
}

/* 左右ラインあり */
#main h2.line {
	display: table;
	line-height: 1.5;
	white-space: nowrap;
}
#main h2.line span {
	font-size: 18px;
	font-weight: normal;
	border-bottom: none;
}
#main h2.line:before, #main h2.line:after {
	content: '';
	display: table-cell;
	width: 50%;
	background: url(../images/common/bg_title.png) left center repeat-x;
/*	background: -webkit-linear-gradient(transparent 50%, currentColor 50%, currentColor -webkit-calc(50% + 2px), transparent -webkit-calc(50% + 2px));
	background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, currentColor), color-stop(currentColor calc(50% + 2px)), to(transparent calc(50% + 2px)));
	background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 2px), transparent calc(50% + 2px));*/
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
}
#main h2.line:before { border-right: 50px solid transparent; }
#main h2.line:after { border-left: 50px solid transparent; }


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
#main h2 { font-size: 22px; }

/* 左右ラインあり */
#main h2.line span { font-size: 16px; }
#main h2.line:before { border-right: 20px solid transparent; }
#main h2.line:after { border-left: 20px solid transparent; }
}


/* ページ
----------------------------------------------------------------------*/
.bg_gray { background-color: #F7F4F4; }

.txt_lead {
	font-size: 18px;
	margin-bottom: 50px !important;
	text-align: center;
}
.txt_lead span { font-size: 14px; }

.notes { font-size: 14px; }


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
.txt_lead {
	font-size: 16px;
	margin-bottom: 35px !important;
}
.txt_lead span { font-size: 13px; }

.notes { font-size: 13px; }
}


/* シマダグループの総合力
----------------------------------------------------------------------*/
.group {
	position: relative;
	width: 820px;
	margin: 0 auto;
}
.group a { position: absolute; }
.group a.dev01 { top: 36px; left: 165px; }
.group a.dev02 { top: 170px; left: 37px; }
.group a.dev03 { top: 332px; left: 0; }
.group a.operation01 { top: 0; left: 327px; }
.group a.operation02 { top: 603px; right: 166px; }
.group a.operation03 { top: 41px; right: 168px; }
.group a.operation04 { top: 491px; right: 52px; }
.group a.operation05 { top: 333px; right: 0; }
.group a.operation06 { top: 163px; right: 46px; }
.group a.other01 { top: 490px; left: 48px; }
.group a.other02 { top: 611px; left: 158px; }
.group a.other03 { top: 651px; left: 327px; }


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
.group {
	width: 100%;
	margin: 0 auto;
}
.group a {
	display: block;
	width: 19%;
}
.group a.dev01 { top: 4.7%; left: 20%; }
.group a.dev02 { top: 22.4%; left: 4.5%; }
.group a.dev03 { top: 43.8%; left: 0; }
.group a.operation01 { top: 0; left: 39.8%; }
.group a.operation02 { top: 79.6%; right: 20.2%; }
.group a.operation03 { top: 5.4%; right: 20.4%; }
.group a.operation04 { top: 64.8%; right: 6.3%; }
.group a.operation05 { top: 43.9%; right: 0; }
.group a.operation06 { top: 21.5%; right: 5.6%; }
.group a.other01 { top: 64.7%; left: 5.8%; }
.group a.other02 { top: 80.7%; left: 19.2%; }
.group a.other03 { top: 85.9%; left: 39.8%; }
}


/* スペシャリストたちの思考
----------------------------------------------------------------------*/
.sp_link {
	min-width: 960px;
	margin: 0 auto;
	padding: 0;
}
.sp_link figure {
	position: relative;
	float: left;
	min-width: 320px;
	min-height: 213px;
	width: 33.333%;
	height: auto;
	margin: 0;
	text-align: center;
	cursor: pointer;
	overflow: hidden;
}
.sp_link figure:before {
    content: "";
    display: block;
}
.sp_link figure.coming-soon { cursor: default; }

.sp_link figure img {
	position: relative;
	display: block;
	width: 100%;
/*	max-width: 100%;
	min-height: 100%;*/
}

.sp_link figure figcaption {
	color: #FFF;
	text-transform: uppercase;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.sp_link figure figcaption::before,
.sp_link figure figcaption::after { pointer-events: none; }

.sp_link figure figcaption,
.sp_link figure figcaption > a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.sp_link figure figcaption > a {
	font-size: 0;
	text-indent: 200%;
	white-space: nowrap;
	z-index: 1000;
	opacity: 0;
}
.sp_link figure h4, .sp_link figure p { margin: 0; }
.sp_link figure p { padding-top: 15px; }

figure.effect-sadie figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}

figure.effect-sadie h4 {
	position: absolute;
	width: 100%;
	margin:0 !important;
	left: 0;
	bottom: 0;
	-webkit-transition: -webkit-transform 0.35s, color 0.35s;
	transition: transform 0.35s, color 0.35s;
	background-color: rgba(0,0,0,0.6);
}
figure.effect-sadie figcaption::before,
figure.effect-sadie p {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}
figure.effect-sadie p {
	position: absolute;
	bottom: 0%;
	left: 0;
	width: 100%;
	opacity: 0;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
}
figure.effect-sadie.select h4,
figure.effect-sadie:hover h4 {
	-webkit-transform: translate3d(0,-120%,0);
	transform: translate3d(0,-120%,0);
	background-color: rgba(0,0,0,0);
}
figure.effect-sadie.select figcaption::before ,
figure.effect-sadie.select p,
figure.effect-sadie:hover figcaption::before ,
figure.effect-sadie:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/* Index */
figure.effect-oscar figcaption::before {
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border: 1px solid #fff;
	content: '';
}
figure.effect-oscar h4 {
	position: absolute;
	width: 100%;
	margin:0 !important;
	top: 35%;
	left: 0;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: scale(1);
	transform: scale(1);
}
figure.effect-oscar figcaption::before {
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(0);
	transform: scale(0);
}

figure.effect-oscar:hover h4 {
	-webkit-transform: scale(0.85);
	transform: scale(0.85);
}
figure.effect-oscar:hover figcaption::before {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
.sp_link { min-width: 100%; }
.sp_link figure {
	float: none;
	width: 100%;
}

figure.effect-sadie:hover h4 {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	background-color: rgba(0,0,0,0.6);
}
figure.effect-sadie:hover figcaption::before ,
figure.effect-sadie:hover p {
	opacity: 0;
}

figure.effect-sadie.select:hover h4 {
	-webkit-transform: translate3d(0,-120%,0);
	transform: translate3d(0,-120%,0);
	background-color: rgba(0,0,0,0);
}
figure.effect-sadie.select:hover figcaption::before ,
figure.effect-sadie.select:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/* Index */
figure.effect-oscar h4 {
	-webkit-transform: scale(0.85);
	transform: scale(0.85);
}
figure.effect-oscar figcaption::before {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
}


/* 賃料・稼働率UP事例
----------------------------------------------------------------------*/
ul.case { margin-bottom: 50px; }
ul.case li {
	position: relative;
	float: left;
	width: 290px;
	background-color: #F7F4F4;
	margin-left: 37px;
	text-align: left;
}
ul.case li:first-child { margin-left: 7px; }
ul.case li span {
	position: absolute;
	color: #FFF;
	width: 124px;
	height: 32px;
	font-size: 12px;
	font-weight: bold;
	line-height: 26px;
	background: url(../images/top/bg_price.png) left top no-repeat;
	top: 157px;
	left: -7px;
	text-align: center;
}
ul.case li img { margin-bottom: 30px; }
ul.case li h3 {
	width: 250px;
	font-size: 16px !important;
	margin: 0 auto 15px auto !important;
}
ul.case li table {
	width: 250px;
	font-size: 13px;
	border-collapse: collapse;
	margin: 0 auto 20px auto;
}
ul.case li table th {
	width: 65px;
	font-weight: normal;
	border-top: 1px dotted #A8A8A8;
	padding: 3px 0;
	text-align: left;
	vertical-align: middle;
}
ul.case li table td {
	border-top: 1px dotted #A8A8A8;
	padding: 3px 0;
}
ul.case li table tr:first-child th,
ul.case li table tr:first-child td {
	font-size: 18px;
	font-weight: bold;
	border-top: none;
}


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
ul.case { margin-bottom: 8%; }
ul.case li {
	float: none;
	width: 98%;
	margin: 0 7px 5% 0;
	padding-bottom: 1px;
}
ul.case li img { width: 100%; margin-bottom: 8%; }
ul.case li span {
	top: 46%;
}
ul.case li h3 { width: 90%; margin-bottom: 3% !important; }
ul.case li table { width: 90%; margin-bottom: 3%; }
}


/* NEWS
----------------------------------------------------------------------*/
ul.news {
	width: 810px;
	margin: 0 auto;
}
ul.news li {
	position: relative;
	font-size: 14px;
	margin-bottom: 5px;
	padding-left: 6em;
	text-align: left;
}
ul.news li span {
	position: absolute;
	top: 0;
	left: 0;
}

.latest h3 {
	float: left;
	width: 110px;
	height: 75px;
	font-size: 18px !important;
	line-height: 75px;
	border: 2px solid #000;
	margin-bottom: 0 !important;
	text-align: center;
}
.latest ul.news {
	float: right;
	width: 810px;
}


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
ul.news {
	width: 100%;
	margin: 0 auto;
}
ul.news li { font-size: 13px; }

.latest h3 {
	float: none;
	width: 100%;
	height: 40px;
	font-size: 16px !important;
	line-height: 40px;
	border: 2px solid #000;
	margin-bottom: 20px !important;
}
.latest ul.news {
	float: none;
	width: 100%;
}
}


/* スペース
----------------------------------------------------------------------*/
.mb0 { margin-bottom: 0!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }

.mt0 { margin-top: 0!important; }

.pt0 { padding-top: 0!important; }
.pb5 { padding-bottom: 5px!important; }


/* スマートフォン用 */
@media only screen and (max-width: 736px) {
.mb30 { margin-bottom: 8%!important; }
.mb70 { margin-bottom: 11%!important; }
.mb80 { margin-bottom: 12%!important; }
}


/* スマホメニュー
----------------------------------------------------------------------*/
#trigger {
	position: absolute;
	display: inline-block;
	width: 40px;
	height: 40px;
	top: 8px;
	right: 15px;
	cursor: pointer;
	z-index: 99999;
}
#trigger span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 35px;
	height: 2px;
	margin: -1px 0 0 -8px;
	background: #333;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}
#trigger span:before, 
#trigger span:after {
	content: " ";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 35px;
	height: 2px;
	background: #333;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#trigger span:before { margin-top: -10px; }
#trigger span:after { margin-top: 8px; }
#trigger.open span { background: transparent; }
#trigger.open span:before,
#trigger.open span:after { margin-top: 0; }
#trigger.open span:before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#trigger.open span:after {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

#spMenu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	z-index: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box; 
	overflow-y: auto;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: transform 0.5s ease;
	transition: transform 0.5s ease;
	z-index: 9998;
}
#spMenu.open { 
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}

/* -------------------------------- 
Main Components 
-------------------------------- */
.cd-accordion-menu {
	position: relative;
	width: 100%; 
	top: 55px;
}
.cd-accordion-menu ul { display: none; }
.cd-accordion-menu li {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.cd-accordion-menu input[type=checkbox] {
	position: absolute;
	opacity: 0;
}
.cd-accordion-menu label, .cd-accordion-menu a {
	position: relative;
	display: block;
	color: #000;
	font-size: 15px;
	background: #FFF;
	border-bottom: 1px solid #00428E;
	padding: 10px 20px;
	text-decoration: none;
}
.cd-accordion-menu a {
	background: #FFF url("../images/header/ico_link.png") 95% center no-repeat;
	background-size: 12px 12px;
}

.no-touch .cd-accordion-menu label:hover, .no-touch .cd-accordion-menu a:hover {
	background: #000;
}
.cd-accordion-menu label {
	background: #FFF url("../images/header/ico_closed.png") 95% center no-repeat;
	background-size: 12px 12px;
	cursor: pointer;
}
.cd-accordion-menu input[type=checkbox]:checked + label {
	background: #FFF url("../images/header/ico_opened.png") 95% center no-repeat;
	background-size: 12px 12px;
}
.cd-accordion-menu ul label,
.cd-accordion-menu ul a {
	padding-left: 30px;
	line-height: 1.8;
}

