@charset "utf-8";

/**
 *
 *  実績紹介
 *
 */

/*--------------------------------------------------------------------------
   overwrite  - 共通CSSの上書き -
---------------------------------------------------------------------------*/
#pageHeader .lead{
	margin-bottom: 0;
	font-size: 124%;
	font-weight: normal;
}
#pageHeader .lead br{
	display: block;
}


/*--------------------------------------------------------------------------
  #works
---------------------------------------------------------------------------*/
#works{
	padding: 60px 0 40px 0;
	background: #fafafa;
}
/* #works > .list-group */
.list-group{
	padding: 0 0 40px 0;
	
}
.list-group .list-block .list-inner{
	overflow: hidden;
	letter-spacing: -0.4em;
	margin-right: -30px;
	text-align:center;
}
.list-group .list-block .unit{
	display: inline-block;
	letter-spacing: 0;
	width: 500px;
	margin-right: 30px;
	vertical-align: top;
	/display: inline;
	/zoom: 1;
}
.list-group .list-block .unit-detail{
	display: none;
	overflow: hidden;
}


/* #works > .list-group > .card */
.list-group .card{
	position: relative;
	display: block;
	border: 1px solid #e7e7e7;
	background: #fff;
	transition: color 0.3s ease-out;
}
.list-group .card.active{
	color: #e28414;
}
.list-group .card .frame{
	border-bottom: 1px solid #c1c1c1;
	height: 450px;
}
.list-group .card .thumb{
	padding: 20px 20px 0;
	position: relative;
	text-align:center;
}
.list-group .card .thumb p{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	filter: alpha(opacity=0);
	transition: all 0.4s ease-in-out;
	background: url(../images/bg_card_on.png) repeat 0 0;
}
.list-group .card:hover .thumb p{
	opacity: 1;
	filter: alpha(opacity=100);
}
.list-group .card .thumb p span{
	position: absolute;
	bottom: -30%;
	right: 10%;
	width: 48px;
	height: 70px;
	margin: -34px 0 0 -46px;
	text-indent: -9999px;
	opacity: 0;
	filter: alpha(opacity=0);
	transition: opacity 0.4s 0s ease-in-out;
	background: url(../images/icon_detail.png) no-repeat 50% 50%;
}
.list-group .card:hover .thumb p span{
	opacity: 1;
	filter: alpha(opacity=100);
	transition-delay: 0.3s;
}

.list-group .card .hdg{
	padding: 23px 18px 0;
	font-weight: normal;
	line-height: 1.5;
	font-family: 'Noto Sans Japanese',"メイリオ","Meiryo", serif;
	word-wrap: break-word;
}
.list-group .card .btn{
	display: none;
}

/* #works > .list-group > .detail */
.list-group .unit-detail{
	padding: 50px 0 50px;
}
.list-group .unit-detail .photo-box{
	width: 410px;
	float: left;
}
.list-group .unit-detail .photo-box .pic01{
	padding: 0 0 17px;
}
.list-group .unit-detail .photo-box .pic02,
.list-group .unit-detail .photo-box .pic03{
	width: 195px;
	height: 128px;
	background-color: #444;
}
.list-group .unit-detail .photo-box .pic02{
	float: left;
}
.list-group .unit-detail .photo-box .pic03{
	float: right;
}
.list-group .unit-detail .photo-box li img{
	box-shadow: 0 2px 1px #3c3c3c;
	display: block;
}
.list-group .unit-detail .data-box{
	width: 95%;
	float: left;
	color: #fff;
}
.list-group .unit-detail .detail-header dl{
	padding: 5px 0 0 0;
	letter-spacing: -0.4em;
}
.list-group .unit-detail .detail-header dt,
.list-group .unit-detail .detail-header dd{
	display: inline-block;
	letter-spacing: 0;
	/display: inline;
	/zoom: 1;
}
.list-group .unit-detail .detail-header dt{
	color: #a9a9a4;
	font-size: 85%;
}
.list-group .unit-detail .detail-header dd{
	font-weight: bold;
	padding: 0 10px 0 5px;
	word-wrap: break-word;
}
.list-group .unit-detail .detail-header .hdg{
	padding: 20px 0;
	font-size: 147%;
	line-height: 1.5;
	font-family: 'Noto Sans Japanese',"メイリオ","Meiryo", serif;
	word-wrap: break-word;
}
.list-group .unit-detail .note{
	line-height: 1.7;
	word-wrap: break-word;
}
.list-group .unit-detail .solution{
	margin: 25px 0 30px;
	padding: 16px 0;
	background-color: #c13c45;
	letter-spacing: -0.4em;
}
.list-group .unit-detail .solution dt,
.list-group .unit-detail .solution dd,
.list-group .unit-detail .solution li{
	display: inline-block;
	letter-spacing: 0;
	vertical-align: middle;
	/display: inline;
	/zoom: 1;
}
.list-group .unit-detail .solution dt{
	width: 86px;
	text-align: center;
	font-family: 'Noto Serif', serif;
}
.list-group .unit-detail .solution dd{
	border-left: 1px solid #393939;
	width: 410px;
}
.list-group .unit-detail .solution ul{
	padding: 0 20px;
	letter-spacing: -0.4em;
	font-size: 85%;
	color: #a9a9a4;
}
.list-group .unit-detail .solution li span{
	color: #a9a9a4;
	padding: 0 5px;
	font-weight: normal;
}
.list-group .unit-detail .solution li.active,
.list-group .unit-detail .solution li.active a{
	color: #f69600;
	font-weight: bold;
}
.list-group .unit-detail .solution li.active a:hover{
	color: #fab633;
}
.list-group .unit-detail .nav{
	margin-right: -13px;
}
.list-group .unit-detail .nav li{
	float: left;
	width: 115px;
	padding: 0 13px 0 0;
}
.list-group .unit-detail .nav li span{
	padding: 8px 13px 9px 0;
}
/* IE9・10 */
.list-group .unit-detail .nav li span:not(:target){
	padding: 11px 13px 6px 0\9;
}
/* IE11 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .list-group .unit-detail .nav li span {
		padding: 11px 13px 6px 0;
	}
}

/* #works > .list-block */
.detail-block{
	overflow: hidden;
	height: 0;
}
.detail-block .detail-cursor{
	padding: 40px 0 0 0;
	background: url(../images/bg_arrow.png) no-repeat 0 40px;
}
.detail-block.active .detail-cursor{
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.detail-block.cursor1 .detail-cursor{
	background-position: 120px 20px;
}
.detail-block.cursor2 .detail-cursor{
	background-position: 460px 20px;
}
.detail-block.cursor3 .detail-cursor{
	background-position: 780px 20px;
}

.detail-block .detail-inner{
	position: relative;
	background: #c13c45; /* 4e4e4e → c13c45 */
}
.detail-block .detail-inner .close{
	position: absolute;
	top: 15px;
	right: 15px;
	display: block;
	width: 35px;
	height: 35px;
	border-radius: 2px;
	background: #e89028 url(../../common/images/ico_close03.png) no-repeat 50% 50%;
	cursor: pointer;
	transition: background 0.3s ease-out;
}
.detail-block .detail-inner .close:hover{
	background: #e8b51b url(../../common/images/ico_close03.png) no-repeat 50% 50%;
	animation: ssAnimate 300ms  ease-out;
	
}
@keyframes ssAnimate{
	0%   {width: 39px; height: 39px; top: 13px; right: 13px;}
	100% {width: 35px; height: 35px; top: 15px; right: 15px;}
}


#moreBtn{
	width: 960px;
	margin: auto;
	padding: 12px 0;
	text-align: center;
	border: 1px solid #d2d2d2;
	border-radius: 2px;
	background: #fefefe url(../../common/images/ico_loading.gif) no-repeat 50% 250%;
	cursor: pointer;
	transition: color 0.2s ease-out;
	font-family: 'Noto Sans Japanese',"メイリオ","Meiryo", serif;
}
/* IE9・10 */
#moreBtn:not(:target){
	padding: 15px 0 9px\9;
}
/* IE11 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, #moreBtn {
		padding: 15px 0 9px;
	}
}
#moreBtn:hover{
	color: #f69600;
	background-color: #fff;
}
#moreBtn.error,
#moreBtn.error:hover{
	color: #f33;
}
#moreBtn.loading{
	text-indent: -9999px;
	background-position: 50% 50%;
}


/** -----------------------------------------------------------------
 *
 *  [sp]レスポンシブ 740px　→　768
 *
 ----------------------------------------------------------------- */

@media screen and (max-width:768px) {

	/*--------------------------------------------------------------------------
	   overwrite  - 共通CSSの上書き -
	---------------------------------------------------------------------------*/
	#pageHeader .lead{
		font-size: 93%;
	}
	#pageHeader .lead br{
		display: none;
	}


/*--------------------------------------------------------------------------
  #works
---------------------------------------------------------------------------*/
	#works{
		padding: 20px 0 25px;
	}
	.list-group{
		padding: 0;
	}
	/* #works > .list-group */
	#Main .list-group .list-block{
		margin: 0;
	}
	.list-group .list-block .list-inner{
		margin-right: 0;
	}
	.list-group .list-block .unit{
		display: block;
		margin: 0 auto;
		padding: 0 0 20px;
		width: auto;
	}

	.list-group .list-block .unit-detail.active{
		display: block;
	}

	/* #works > .list-group > .card */
	.list-group .card{
		border: 0;
		margin: 0 auto 5px;
		max-width: 480px;
	}
	.list-group .card .frame{
		height: auto;
		width: 100%;
		border: 1px solid #e7e7e7;
	}
	.list-group .card .thumb p{
		display: none;
	}
	.list-group .card .thumb img{
		width: 100%;
		height: auto;
	}

	.list-group .card .hdg{
		padding: 10px 10px 10px;
		min-height: 30px;
		font-weight: bold;
	}
	.list-group .card .btn{
		display: block;
		text-align: center;
		border-top: 1px solid #e7e7e7;
		border-bottom: 1px solid #c1c1c1;
	}
	.list-group .card .btn .open,
	.list-group .card .btn .close{
		padding: 10px 0 10px 17px;
		font-size: 93%;
	}

	.list-group .card .btn .open{
		display: inline-block;
		background: url(../../common/images/ico_open02.png) no-repeat 0 50%;
		background-size: 13px;
	}
	.list-group .card .btn .close{
		display: none;
		background: url(../../common/images/ico_close02.png) no-repeat 0 50%;
		background-size: 13px;
	}
	.list-group .card.active .btn .open{
		display: none;
	}
	.list-group .card.active .btn .close{
		display: inline-block;
		color: #494949;
	}

	/* #works > .list-group > .detail */
	.list-group .unit-detail{
		padding: 0;
	}
	.list-group .unit-detail .detail-outside{
		padding: 15px 0 0;
		background: url(../images/bg_arrow.png) no-repeat 50% 3px;
		background-size: 25px 12px;
	}

	.list-group .unit-detail .detail-inside{
		padding: 30px 0 20px;
		background:  #c13c45; /* 4e4e4e → c13c45 */
	}
	.list-group .unit-detail .photo-box{
		display: none;
	}
	.list-group .unit-detail .data-box{
		width: auto;
		float: none;
	}

	.list-group .unit-detail .detail-header dl{
		overflow: hidden;
		padding: 0 20px;
	}
	.list-group .unit-detail .detail-header dt,
	.list-group .unit-detail .detail-header dd{
		display: block;
		float: left;
		font-weight: bold;
		font-size: 85%;
	}
	.list-group .unit-detail .detail-header dt{
		clear: both;
	}
	.list-group .unit-detail .detail-header .hdg{
		padding: 10px 20px;
		font-size: 131%;
	}
	.list-group .unit-detail .note{
		padding: 0 20px;
	}
	
	 .note{
	 	text-align: left;
	 }
	
	.list-group .unit-detail .solution{
		margin: 15px 0;
		padding: 0;
	}
	.list-group .unit-detail .solution dt{
		width: auto;
		display: block;
		text-align: left;
		font-size: 85%;
		padding: 7px 20px;
		border-bottom: 1px solid #393939;
	}
	.list-group .unit-detail .solution dd{
		border-left: 0;
		width: auto;
	}
	.list-group .unit-detail .solution ul{
		padding: 20px;
	}

	.list-group .unit-detail .nav{
		margin-right: 0;
		padding: 0 15px;
	}
	.list-group .unit-detail .nav li{
		float: left;
		width: 50%;
		padding: 5px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.list-group .unit-detail .nav li span{
		padding: 8px 10px 9px 0;
	}

	/* #works > .list-block */
	.detail-block{
		display: none;
	}

	#moreBtn{
		width: auto;
		margin: 0 20px;
		padding: 10px 0;
	}
	#moreBtn span{
		display: block;
	}
}



/** -----------------------------------------------------------------
 *
 *  [sp]レスポンシブ 520px
 *
 ----------------------------------------------------------------- */
@media screen and (max-width:520px) {
.list-group .card{
		margin: 0 20px 5px;
		max-width: auto;
}