@charset "utf-8";
/* CSS Document */

.casestudy_header {
	background:#fff;
	text-align: center;
	padding: 13% 0;
}
.casestudy_header_strong {
	display: block;
	font-size: 2.5em;
	font-weight: 600;
	line-height: 1;
	overflow: hidden;
	letter-spacing: 0.1em;
	margin:0 auto 1em auto;
}
.casestudy_header_strong span {
	display: block;
}
.casestudy_header_h1 {
	color:#000;
	font-size: 3.7em;
	line-height: 1;
	letter-spacing: 0.1em;
	position: relative;
	font-weight: 600;
	display: inline-block;
	padding-bottom:0.5em;
	overflow: hidden;
}
.casestudy_header_h1:after {
	content:'';
	width:100%;
	height: 3px;
	background:#000;
	position: absolute;
	left:0;
	bottom:0;
}
.casestudy_header_h1 span {
	display: block;
}
.casestudy_wrapper {
	width:100%;
	background:#fff;
}
.casestudy_box {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	height: 75em;
	background: #f4f3f5;
	margin-bottom:20em;
}
.casestudy_box_number {
	width:20%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.casestudy_box_number img,
.casestudy_box_number svg {
	display: block;
	width:30%;
	height: 80%;
}
.casestudy_box_imgwarp {
	width:30%;
	overflow: hidden;
	position: relative;
}
.casestudy_box_imgwarp img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 1s;
}
.casestudy_box_imgwarp:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background:rgba(255,255,255,.2);
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.casestudy_box:hover .casestudy_box_imgwarp:before{
	transform-origin:left top;
	transform:scale(1, 1);
}
.casestudy_box:hover .casestudy_box_imgwarp>img {
	transform-origin: center;
}



.casestudy_box_contents_wrap {
	width:50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.casestudy_box_contents {
	width:50%;
}
.casestudy_box_contents_h3 {
	font-size: 4em;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
}
.casestudy_box_contents_h3 span {
	display: block;
	font-weight: 600;
	margin:0.2em 0;
	overflow: hidden;
}
.casestudy_box_contents_h3 span b {
	display: block;
	font-weight: 600;
}
.casestudy_box_contents_h4 {
	margin:2em 0;
	font-size: 2em;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
}
.casestudy_box_contents_h4 span {
	display: block;
	margin:0.4em 0;
	overflow: hidden;
}
.casestudy_box_contents_h4 span b {
	display: block;
}
.casestudy_box_contents_p {
	font-size: 1.6em;
	line-height: 1.7;
	letter-spacing: 0.2em;
}
.casestudy_box_contents_more {
	position: relative;
	border:0.2em solid #000;
	display: inline-block;
	margin:1.5em 0 0 0;
	border-radius: 1em;
	font-weight: 600;
	font-size: 1.7em;
	width:12em;
	height: 3em;
	position: relative;
	overflow: hidden;
	transition: .5s;
}
.casestudy_box_contents_more span {
	position: absolute;
	left:0;right:0;
	top:0;bottom:0;margin:auto;
	line-height: 2.8em;
	text-align: center;
	z-index: 2;
}
.casestudy_box:hover .casestudy_box_contents_more {
	color:#fff;
	background:#000;
}
.casestudy_box_contents_more:after {
	content:'';
	width:100%;
	height: 100%;
	background: #000;
	position: absolute;
	left:0;top:0;
	transform: translateX(-105%);
	z-index: 1;
	transition: .5s;
}
.casestudy_box:hover .casestudy_box_contents_more:after {
	transform: translateX(0)
}


.casestudy_page_wrap {
	width: 100%;
	height: auto;
	background:#f4f3f5;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.casestudy_page__imgbox {
	width: 45%;
	height: 100vh;
	position: sticky;
	top:0;left:0;
}
.casestudy_page__imgbox_wrap {
	position: relative;
	width:100%;
	height: 100%;
}
.casestudy_page__imgbox_normal,
.casestudy_page__imgbox_zoom{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top:0;left:0;
}
.casestudy_page__imgbox_normal {
	z-index: 2;
	transition: .5s;
}
.casestudy_page__imgbox_zoom {
	z-index: 1;
}
.casestudy_page__imgbox:hover .casestudy_page__imgbox_normal {
	opacity: 0;
}
.casestudy_page__imgbox_icon {
	position: absolute;
	right:2.4em;
	bottom:2.2em;
	z-index: 3;
	width:3em;
	height: 3em;
}
.casestudy_page__contents {
	width:50%;
	overflow: hidden;
}
.casestudy_page__contents_inner {
	width:90%;
}
.casestudy_page__contents_fv_image {
	display: block;
	width:15%;
	height: auto;
	margin: 40% auto 15% auto;
}
.casestudy_page__contents_h3 {
	font-size: 4em;
	line-height: 1;
	letter-spacing: 0.1em;
}
.casestudy_page__contents_h3 span {
	display: block;
	margin:0.4em 0;
	overflow: hidden;
}
.casestudy_page__contents_h3 span b {
	display: block;
	font-weight: 600;
}
.casestudy_page__contents_strong {
	display: block;
	font-weight: normal;
	margin:2em 0;
	font-size: 2em;
	line-height: 1;
	letter-spacing: 0.1em;
}
.casestudy_page__contents_strong span {
	display: block;
	margin:0.5em 0;
	overflow: hidden;
}
.casestudy_page__contents_strong span b {
	display: block;
}
.casestudy_page__contents_p {
	font-size: 1.8em;
	letter-spacing: 0.2em;
	line-height: 2;
}
.casestudy_page__contents_before {
	width:40em;
	max-width:100%;
	margin:15% 0;
}
.casestudy_page__contents_before_imgwrap {
	width:100%;
}
.casestudy_page__contents_before_imgwrap img {
	display: block;
	width:100%;
	height: auto;
}
.casestudy_page__contents_before_p {
	font-size: 2em;
	font-weight: 600;
	line-height: 1;
	overflow: hidden;
	margin:1.5em 0 0 0;
}
.casestudy_page__contents_before_p span {
	display: block;
}
.casestudy_page__contents_box {
	position: relative;
	width:100%;
	max-width:60em;
	padding:10% 0;
}
.casestudy_page__contents_box:before {
	content:'';
	width:100%;
	height: 1px;
	background:rgba(0,0,0,.5);
	position: absolute;
	top:0;left:0;
}
.title-border-in:before {
	transform: scale(0);
	transform-origin: top left;
	transition: transform 1s;
}
.title-border-in.active:before {
	transform: scale(1);
}
.casestudy_page__contents_box_p {
	font-size: 2em;
	line-height: 2;
}
.casestudy_page__contents_box_img_min {
	display: block;
	width:45%;
	height: auto;
	margin:10% auto 0 auto;
}
.casestudy_page__contents_box_table {
	width:100%;
	margin:12% 0;
	border-spacing: 0;
	padding-left:1%;
}
.casestudy_page__contents_box_table th {
	position: relative;
	vertical-align: top;
	font-size: 1.8em;
	width:13%;
	line-height: 1;
	font-weight: 600;
}
.casestudy_page__contents_box_table th:before {
	content:'';
	width:1px;
	height: 100%;
	position: absolute;
	top:0;left:0;
	background:rgba(0,0,0,.7);
}
.casestudy_page__contents_box_table tr:nth-of-type(1) th:before {
	top:.5em;
}
.casestudy_page__contents_box_table tr:nth-last-of-type(1) th:before {
	height: 50%;
}
.casestudy_page__contents_box_table th:after {
	content:'';
	width:0.5em;
	height: 0.5em;
	position: absolute;
	top:0.2em;left:-0.2em;
	background:#000;
	border-radius: 100%;
}
.casestudy_page__contents_box_table td {
	width:87%;
	font-size: 1.8em;
	line-height: 1.5;
	vertical-align: top;
	padding-bottom:3em;
	transform: translateY(-0.1em)
}
.casestudy_page__contents_box_table tr:nth-last-of-type(1) td {
	padding-bottom:0;
}
.casestudy_page__contents_box_table td img {
	display: block;
	width:100%;
	height: auto;
	margin:5% 0 0 0;
}
.casestudy_page__contents_bleach_imgbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width:190%;
}
.casestudy_page__contents_bleach_imgwrap {
	width:50%;
}
.casestudy_page__contents_bleach_imgwrap img {
	display: block;
	width:100%;
	height: auto;
}
.other_casestudy {
	margin-bottom:10%;
}
.other_casestudy_wrapper {
	background:#fff;
	padding:10% 0;
}
.other_casestudy_inner {
	width:70%;
	max-width:100em;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.other_casestudy_box {
	display: block;
	width:35%;
	text-align: center;
}
.other_casestudy_box_imgwrap {
	width:100%;
	position: relative;
	overflow: hidden;
}
.other_casestudy_box_imgwrap img {
	display: block;
	width:100%;
	height: auto;
}
.other_casestudy_box_titlewrap span {
	display: block;
	font-weight: 600;
	font-size: 6em;
	line-height: 1;
	overflow: hidden;
	letter-spacing: 0.1em;
	margin:0.7em 0 0.4em 0;
}
.other_casestudy_box_titlewrap span c {
	display: block;
}
.other_casestudy_box_titlewrap strong {
	display: block;
	font-size: 3em;
}
.other_casestudy_box_titlewrap strong b {
	display:block; 
	overflow: hidden;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
	margin:0.3em 0;
}
.other_casestudy_box_titlewrap strong b c {
	display: block;
}


.other_casestudy_box_imgwrap:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background:rgba(255,255,255,.2);
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.other_casestudy_box:hover .other_casestudy_box_imgwrap:before{
	transform-origin:left top;
	transform:scale(1, 1);
}
.other_casestudy_box:hover .other_casestudy_box_imgwrap>img {
	transform: scale(1.05);
	transform-origin: center;
}
.other_casestudy_back {
	background:#f4f3f5;
	padding:8em 0;
}

.other_casestudy_back_btn {
	position: relative;
	border:0.2em solid #000;
	display: block;
	margin:0 auto;
	border-radius: 1em;
	font-weight: 600;
	font-size: 1.7em;
	width:12em;
	height: 3em;
	position: relative;
	overflow: hidden;
	transition: .5s;
}
.other_casestudy_back_btn span {
	position: absolute;
	left:0;right:0;
	top:0;bottom:0;margin:auto;
	line-height: 2.7em;
	text-align: center;
	z-index: 2;
}
.other_casestudy_back_btn:hover {
	color:#fff;
	background:#000;
}
.other_casestudy_back_btn:after {
	content:'';
	width:100%;
	height: 100%;
	background: #000;
	position: absolute;
	left:0;top:0;
	transform: translateX(-105%);
	z-index: 1;
	transition: .5s;
}
.other_casestudy_back_btn:hover:after {
	transform: translateX(0)
}


@media screen and (max-width:1000px) {
	.casestudy_header {
		padding:12em 0 13em 0;
	}
	.casestudy_box {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		height: auto;
		margin-bottom:15em;
	}
	.casestudy_box_number {
		width:30%;
	}
	.casestudy_box_imgwarp {
		width:70%;
	}
	.casestudy_box_contents_wrap {
		justify-content: flex-end;
		padding:8em 0 10em 0;
		width:100%;
	}
	.casestudy_box_contents {
		width:70%;
	}
	.casestudy_page__imgbox {
		position: static;
		width: 100%;
		height: auto;
	}
	.casestudy_page__imgbox_wrap {
		padding-top:130%;
	}
	.casestudy_page__contents {
		width:80%;
		margin: 0 auto;
	}
	.casestudy_page__contents_inner {
		width:100%;
	}
	.casestudy_page__contents_fv_image {
		width:20%;
		margin: 20% auto;
	}
	.casestudy_page__contents_bleach_imgbox {
		width:180%;
	}
	.casestudy_page__imgbox_zoom {
		opacity: 1;
	}
	.casestudy_page__imgbox:hover .casestudy_page__imgbox_normal {
		opacity: 1;
	}
	.casestudy_page__imgbox_zoom {
		transition: .5s;
	}
	.casestudy_page__imgbox.selected .casestudy_page__imgbox_normal{
		opacity: 0;
	}
}

@media screen and (max-width:500px) {
	.casestudy_page__contents_fv_image {
		width:30%;
	}
	.casestudy_page__contents_p {
		text-align: justify
	}
	.casestudy_page__contents_p br {
		display: none
	}
	.casestudy_page__contents_box_table td br {
		display: none
	}
	.other_casestudy_inner {
		width:80%;
		justify-content: space-between;
	}
	.other_casestudy_box {
		width:43%;
	}
	.other_casestudy_box_titlewrap span {
		font-size: 5em;
	}
	.other_casestudy_box_titlewrap strong {
		font-size: 2em;
	}
	.casestudy_page__contents_bleach_imgbox {
		width:125%;
	}
	.casestudy_page__contents_before {
		width:60%;
	}
	.other_casestudy {
		margin-bottom:15%;
	}
	.other_casestudy_wrapper {
		padding:15% 0;
	}

}