@charset "UTF-8";

/* casestudy
----------------------------------------*/
.local_nav{ display:none;}
.casestudy_nav {
	overflow: hidden;
	max-width: 1280px;
	margin: 65px auto 64px;
}
.casestudy_nav li {
	float: left;
	width: 20%;
}
.casestudy_nav li a {
	display: block;
}
.casestudy_nav img {
	vertical-align: bottom;
	width: 100%;
}
.casestudy_nav li a::before,
.casestudy_nav li.current::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(84,84,84,.4);
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.casestudy_nav li a:hover::before {
	opacity: 0;
}
.casestudy_nav li span {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin-top: -31px;
	padding: 0 0 20px 10px;
	text-align: center;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	height: 4em;
	background: url(../img/index/icon_arrow02.png) no-repeat center bottom;
	background-size: 20px 20px;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.casestudy_nav li a:hover span {
	color: #000;
	text-shadow: 0 0 20px #fff;
}
.casestudy_nav li.current::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	z-index: 10;
	border: solid 8px #d1dddd;
}
.casestudy_list {
	max-width: 1114px;
	margin: 37px auto 0;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.casestudy_list li {
	width: 16.248%;
	margin: 0 0 0 4.69%;
	text-align: left;
	color: #333;
	font-size: 1.5rem;
}
.casestudy_list li:nth-child(5n+1) {
	margin: 0;
}
.casestudy_list li figcaption {
	font-size: 1.4rem;
	margin: 6px 0 18px;
	
}
.casestudy_type {
	background: #f7f7f7;
	padding: 31px 0 43px;
}
.casestudy_type ul {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 1169px;
	margin: 0 auto;
}
.casestudy_type li {
	width: 13.345%;
	margin-left: 3.986%;
	text-align: center;
	color: #333;
}
.casestudy_type li:nth-child(6n+1) {
	margin-left: 0;
}
.casestudy_type li p {
	font-size: 1.5rem;
	text-align: left;
}
.casestudy_type li .txt_type {
	font-size: 1.6rem;
	margin: 24px 0 22px;
	line-height: 1.4;
	letter-spacing: 1.2px;
	text-align: center;
}
.casestudy_type li .label_yellow + .txt_type {
	margin: 16px 0 10px;
}
.img_flow {
	text-align: center;
	padding: 0 0 120px;
	max-width: 880px;
	margin: 0 auto;
	width: 88%;
}
.ttl_example {
	max-width: 880px;
	margin: 0 auto 13px;
	width: 88%;
	background: #b2b1b1;
	color: #fff;
	letter-spacing: 2.5px;
	font-weight: 500;
	padding: 7px 15px;
	font-size: 1.7rem;
}
.list_example {
	max-width: 880px;
	margin: 0 auto 60px;
	width: 88%;
	color: #333;
	font-weight: 500;
}

.list_example li a {
	background: url(../img/common/icon_arrow02.png) no-repeat left top;
	background-size: 20px 20px;
	padding: 0 0 0 28px;
	margin: 0 0 10px 2px;
	letter-spacing: .7px;
	font-size: 1.5rem;
	display: inline-block;
}
.list_example li a:hover {
	text-decoration: underline;
}

.list_pageanchor {
	max-width: 880px;
	margin: 0 auto 60px;
	width: 100%;
}
.list_pageanchor li{
	background-color:#A09B98;
	text-align:center;
	letter-spacing: .7px;
	font-size: 1.5rem;
	display:inline-block;
	margin-left:5%;
	padding:10px;
	width:30%;
}
.list_pageanchor li:first-child{
	margin-left:0;
}
.list_pageanchor li a{
	color:#FFFFFF;
	display:block;
}
.list_pageanchor li a:hover {
	text-decoration: underline;
}

.casestudy_list li figure img { 
	margin-top: 1.4rem;
	}

@media only screen and (max-width: 1280px) {
	.casestudy_nav {
		margin: 5.078vw auto 8.437vw;
	}
	.casestudy_nav span {
		margin-top: -2.422vw;
		padding: 0 0 1.562vw .781vw;
		letter-spacing: .781vw;
		background-size: 1.562vw 1.562vw;
	}
	.casestudy_nav li span {
		height: 4.2em;
	}
	.casestudy_list {
		padding: 0 15px;
	}
		
	.list_example li a {
		background-size: 1.562vw 1.562vw;
		padding: 0 0 0 2.187vw;
	}
}
@media only screen and (max-width: 736px) {
	.casestudy_nav {
		margin: 30px auto;
	}
	.casestudy_nav li {
		width: 50%;
		overflow: hidden;
	}
	.casestudy_nav li span {
		margin-top: -20px;
		padding: 0 0 22px 7px;
		font-size: 1.6rem;
		letter-spacing: 7px;
		height: auto;
		background-size: 20px 20px;
	}
	.casestudy_list {
		margin: 20px 5.333% 0;
		display: block;
	}
	.casestudy_list li {
		width: 100%;
		margin: 0;
		padding-bottom: 10px;
		overflow: hidden;
	}
	.casestudy_detail figure::before {
		width: 20px;
		height: 20px;
		top: -10px;
		margin: 24.687% 0 0 -10px;
		background-size: 20px 20px;
	}
	.casestudy_list li figure img {
		float: left;
		width: 45%;
		margin-right: 15px;
	}
	.casestudy_list li figcaption {
    	overflow: hidden;
	}
	.casestudy_list li p br {
		display: none;
	}
	.casestudy_list li figure img { 
	margin-top: 0;
	}	
	.casestudy_type {
		padding: 31px 5.333%;
	}
	.casestudy_type li {
		width: 47%;
		margin-left: 6%;
		margin-bottom: 20px;
	}
	.casestudy_type li:nth-child(2n+1) {
		margin-left: 0;
	}
	.casestudy_type li .txt_type {
		margin: 18px 0 19px;
	}
	.casestudy_type li .label_yellow + .txt_type {
		margin: 10px 0;
	}
	.img_flow {
		text-align: center;
		padding: 0 5.333% 40px;
		width: auto;
	}

	.list_example li a{
		background-size: 1.5em 1.5em;
		padding: 0 0 0 2em;
	}

	.list_pageanchor {
		margin: 0 auto 60px;
		width: 88%;
	}
	.list_pageanchor li{
		text-align:center;
		display:block;
		margin:0 0 15px 0;
		width:100%;
	}
}

/*relation_block
----------------------------------------*/
.relation_block {
	background: #fafafa;
	margin-top: 106px;
	padding: 33.5px 0 53px;
}
.ttl_page.sub + section > .relation_block::before {
	content: "";
	position: absolute;
	top: 0;
	right: -10px;
	bottom: 0;
	left: -9999px;
	display: block;
	background: #fafafa;
}
.relation_block h3 {
	text-align: center;
	font-size: 1.8rem;
	color: #333;
	font-weight: 500;
	padding: 0 0 10px 3px;
	letter-spacing: 3.2px;
	border-bottom: solid 1px #333;
	width: 88%;
	max-width: 880px;
	margin: 0 auto 25px;
}
.relation_block h4 {
	font-size: 1.6rem;
	color: #333;
	text-align: center;
	width: 88%;
	max-width: 880px;
	margin: 0 auto 25px;
}
.relation_block .relation_inner + h4 {
	margin: 30px auto 25px;
}
.relation_block .relation_inner {
	width: 88%;
	max-width: 880px;
	margin: 0 auto;
	background: #ebebeb;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: space-between;
}
.relation_block .relation_inner + .relation_inner {
	margin-top: 24px;
}
.relation_block .relation_inner .txt {
	width: 54.617%;
	text-align: left;
	padding: 16px 14px 10px 14px;
	color: #333;
	font-size: 1.4rem;
}
.relation_block .relation_inner .txt p + p {
	margin-top: 10px;
}
.relation_block .relation_inner .txt p a {
	margin-top: 10px;
}
.relation_block .relation_inner .txt p a {
	background: url(../img/common/icon_arrow02.png) no-repeat right top;
	background-size: 20px 20px;
	padding: 0 25px 0 0;
	margin: 0 0 10px 2px;
	letter-spacing: .7px;
	display: inline-block;
}
.relation_block .relation_inner .txt p a:hover {
	text-decoration: underline;
}
.relation_block .relation_inner .txt h5 {
	font-weight: 500;
	margin-bottom: 11px;
	font-size: 1.9rem;
}
.relation_block .relation_inner .txt h5 img {
	display: block;
	margin-bottom: 5px;
}
.relation_block .relation_inner figure {
	width: 45.383%;
	background: #fff;
	text-align: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.relation_block .relation_inner figure img {
	vertical-align: bottom;
}
@media only screen and (max-width: 1280px) {
	.relation_block .relation_inner .txt p a {
		background-size: 1.562vw 1.562vw;
		padding: 0 1.953vw 0 0;
	}
}
@media only screen and (max-width: 736px) {
	.relation_block {
		margin-top: 50px;
		padding: 20px 5.333% 53px;
	}
	.ttl_page.sub + section > .relation_block::before {
		display: none;
	}
	.relation_block h3 {
		margin-bottom: 15px;
	}
	.relation_block h4 {
		margin: 0 auto 15px;
	}
	.relation_block .relation_inner + h4 {
		margin: 20px auto 15px;
	}
	.relation_block .relation_inner {
		width: auto;
		display: block;
	}
	.relation_block .relation_inner .txt {
		width: 100%;
		padding: 16px 14px;
		font-size: 1.3rem;
	}
	.relation_block .relation_inner figure {
		width: 100%;
	}
	.relation_block .relation_inner .txt p a {
		background-size: 1.5em 1.5em;
		padding: 0 2em 0 0;
	}
	.relation_block .relation_inner .txt p a:hover {
		text-decoration: none;
	}
}

/*option_block
----------------------------------------*/
.option_block {
	background: #e0e0e0;
	padding: 50px 0 15px;
}
.option_block::before {
    content: "";
    position: absolute;
    top: 0;
    right: -10px;
    bottom: 0;
    left: -9999px;
    display: block;
    background: #e0e0e0;
}
.img_float_l,
.img_float_r {
	max-width: 100%;
	padding-bottom: 30px;
}
.img_float_l + p,
.img_float_r + p {
	overflow: hidden;
}
@media only screen and (max-width: 900px) {
	.img_float_l,
	.img_float_r {
    	float: none;
	}
}
@media only screen and (max-width: 736px) {
	.option_block {
		padding: 30px 0 15px;
	}
	.option_block::before {
    	display: none;
	}
	.img_float_l,
	.img_float_r {
		text-align: center;
    	float: none;
    	margin-left: 0;
    	margin-right: 0;
    	padding-bottom: 10px;
	}
}

.txtarea a[target="_blank"] {
	display: inline-block;
	padding-right: 20px;
	background: url(../img/common/icon_external02.png) no-repeat right 0.5em;
}

@media only screen and (max-width: 736px) {
	.txtarea a[target="_blank"] {
		padding-right: 20px;
		background: url(../img/common/icon_external02.png) no-repeat right 0.5em;
	}
}

.casestudies {
	max-width: 1114px;
	margin: 24px auto;
	padding-bottom: 16px;
	background: #fafafa;
}
.casestudies li {
	float: left;
	width: 45%;
	margin: 24px 2.5% 8px;
	text-align: left;
	color: #333;
	font-size: 1.5rem;
	background: #fff;
}
.casestudies li img {
	float: left;
	padding: 0 16px 0 0;
}
.casestudies li a {
	display: block;
	height: 100%;
}
.casestudies p {
	padding: 1em;
}
.casestudies li a p {
	color: #009fe6;
}
.casestudies li a:hover {
	color: #009fe6;
	text-decoration: underline;
}
@media only screen and (max-width: 736px) {
	.casestudies {
		width: 100%;
	}
	.casestudies li {
		float: none;
		width: 96%;
		margin: 24px 2% 8px;
	}
	.casestudies li:after {
		content: "";
		display: block;
		visibility: hidden;
		clear: both;
		height: 0;
		font-size: 0.1em;
		line-height: 0;
	}
	.casestudies p {
		padding: 1em 0.5em;
	}
}
@media only screen and (max-width: 480px) {
	.casestudies li img {
		float: none;
		display: block;
		margin: 0 auto;
		padding: 8px 0 0 0;
		width: auto;
	}
}
