@charset "UTF-8";

/* -----------------------------------------------------------
	cases_wrap main_image
----------------------------------------------------------- */
.cases_wrap .main_image {
	max-width: 1920px;
	height: 604px;
	margin: 0 auto 180px;
	position: relative;
}
.cases_wrap .main_image .inner {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto;
	padding-top: 120px;
}
.cases_wrap .main_image .picbox {
	background-image: url("../img/cases_bg.jpg");
	background-position: center;
	background-size: cover;
	width: 55%;
	height: 604px;
	float: right;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
.cases_wrap .main_image .catwrap {
	background: #e6e6e6;
	padding: 28px 0 0 40px;
	height: 362px;
}
.cases_wrap .main_image .catwrap .ttl {
	font-size: 32px;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 0.02em;
	width: 40%;
}

@media screen and (min-width: 1051px) and (max-width: 1200px) {
.cases_wrap .main_image {
	height: 500px;
}
.cases_wrap .main_image .picbox {
	height: 500px;
}
.cases_wrap .main_image .inner {
	padding-top: 100px;
}
.cases_wrap .main_image .catwrap {
	height: 300px;
}
.cases_wrap .main_image .catwrap .ttl {
	font-size: 28px;
}
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
.cases_wrap .main_image {
	height: 400px;
	margin-bottom: 80px;
}
.cases_wrap .main_image .picbox {
	height: 400px;
}
.cases_wrap .main_image .inner {
	padding-top: 75px;
}
.cases_wrap .main_image .catwrap {
	height: 260px;
	padding: 18px 24px;
}
.cases_wrap .main_image .catwrap .ttl {
	font-size: 22px;
}

}
@media screen and (max-width: 767px) {
.cases_wrap .main_image {
	height: 400px;
	margin-bottom: 40px;
}
.cases_wrap .main_image .picbox {
	height: 320px;
	width: 86%;
	max-width: 540px;
	z-index: -1;
}
.cases_wrap .main_image .inner {
	padding-top: 0;
}
.cases_wrap .main_image .catwrap {
	height: 160px;
	width: 100%;
	max-width: 300px;
	padding: 16px 20px;
	position: absolute;
	left: 4%;
	bottom: 0;
}
.cases_wrap .main_image .catwrap .ttl {
	font-size: 20px;
	line-height: 1.4;
	width: 100%;
}

@media screen and (max-width: 450px) {
.cases_wrap .main_image {
	height: 380px;
}
.cases_wrap .main_image .picbox {
	height: 250px;
}
}
}




/* -----------------------------------------------------------
	caselist_wrap
----------------------------------------------------------- */
.caselist_wrap {
	margin-bottom: 50px;
}
.caselist_wrap .caselist li {
	width: calc(84% / 3);
	float: left;
	margin-left: 8%;
	margin-top: 8%;
}
.caselist_wrap .caselist li:nth-child(3n + 1) {
	margin-left: 0;
	clear: left;
}
.caselist_wrap .caselist li:nth-child(-n + 3) {
	margin-top: 0;
}
.caselist_wrap .caselist li a {
	color: #333;
	display: block;
}
.caselist_wrap .caselist li .num {
	margin-bottom: 6px;
}
.caselist_wrap .caselist li .ttl {
	font-size: 22px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	font-weight: normal;
	margin-bottom: 20px;
}
.caselist_wrap .caselist li:nth-child(3) .ttl {
	letter-spacing: 0;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
.caselist_wrap .caselist li {
	width: calc(90% / 2);
	margin-left: 10%;
}
.caselist_wrap .caselist li:nth-child(3n + 1) {
	margin-left: 10%;
	clear: none;
}
.caselist_wrap .caselist li:nth-child(2n + 1) {
	margin-left: 0;
	clear: left;
}
.caselist_wrap .caselist li:nth-child(-n + 3) {
	margin-top: 8%;
}
.caselist_wrap .caselist li:nth-child(-n + 2) {
	margin-top: 0;
}
.caselist_wrap .caselist li .ttl {
	font-size: 20px;
}
}
@media screen and (max-width: 767px) {
.caselist_wrap .caselist li {
	width: 100%;
	margin-left: 0;
	float: none;
}
.caselist_wrap .caselist li:nth-child(3n + 1) {
	clear: none;
}
.caselist_wrap .caselist li:nth-child(-n + 3) {
	margin-top: 8%;
}
.caselist_wrap .caselist li:nth-child(-n + 1) {
	margin-top: 0;
}
.caselist_wrap .caselist li .ttl {
	font-size: 18px;
}
}





/* -----------------------------------------------------------
	cases_under_wrap firpara_wrap
----------------------------------------------------------- */
.cases_under_wrap .firpara_wrap {
	position: relative;
	margin-bottom: 220px;
}
.cases_under_wrap .firpara_wrap::before {
	display: block;
    content: '';
    width: 60vw;
    height: 100%;
    position: absolute;
    top: 70px;
    right: 0;
    background: #e6e6e6;
    z-index: -1;
}
.cases_under_wrap .firpara_wrap .pic_box {
	width: 53%;
	float: left;
}
.cases_under_wrap .firpara_wrap .text_box {
	width: 41%;
	float: right;
	margin-top: 140px;
}
.cases_under_wrap .firpara_wrap .text_box .num {
	margin-bottom: 7px;
}
.cases_under_wrap .firpara_wrap .text_box .ttl {
	font-size: 28px;
	line-height: 1.5;
	font-weight: normal;
	letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
.cases_under_wrap .firpara_wrap {
	margin-bottom: 150px;
}
.cases_under_wrap .firpara_wrap::before {
	width: 74vw;
	height: 70%;
	top: auto;
	bottom: -40px;
}
.cases_under_wrap .firpara_wrap .pic_box {
	width: 75%;
	margin-bottom: 50px;
}
.cases_under_wrap .firpara_wrap .text_box {
	width: 70%;
	float: none;
	clear: left;
	margin-left: 30%;
}
.cases_under_wrap .firpara_wrap .text_box .ttl {
	font-size: 22px;
}
}
@media screen and (max-width: 767px) {
.cases_under_wrap .firpara_wrap {
	margin-bottom: 100px;
}
.cases_under_wrap .firpara_wrap::before {
	width: 90%;
	height: 70%;
	top: auto;
	bottom: -30px;
}
.cases_under_wrap .firpara_wrap .pic_box {
	width: 100%;
	margin-bottom: 20px;
}
.cases_under_wrap .firpara_wrap .text_box {
	width: 100%;
	float: none;
	clear: left;
	padding-left: 15%;
}
.cases_under_wrap .firpara_wrap .text_box .ttl {
	font-size: 18px;
}
}



/* -----------------------------------------------------------
	cases_under_wrap summary_wrap
----------------------------------------------------------- */
.cases_under_wrap .summary_wrap {
	max-width: 1000px;
	margin: 0 auto;
	padding: 15px 0 0;
	background: #e6e6e6;
	box-shadow: 0px 2px 13px 2px rgba(0,0,0,0.2);
}
.cases_under_wrap .summary_wrap .item {
	padding: 5% 5% 5% 7.5%;
	position: relative;
}
.cases_under_wrap .summary_wrap .item::after {
	content: "";
    position: absolute;
    bottom: -24px;
    left: 50%;
    width: 0px;
    height: 0px;
	margin-left: -24px;
    border-style: solid;
    border-color: #e6e6e6 transparent transparent transparent;
    border-width: 24px 24px 0 24px;
	z-index: 1;
}
.cases_under_wrap .summary_wrap .item:nth-child(2n) {
	background: #fff;
}.cases_under_wrap .summary_wrap .item:nth-child(2n)::after {
	border-color: #fff transparent transparent transparent;
}
.cases_under_wrap .summary_wrap .item:last-child::after {
	display: none;
}
.cases_under_wrap .summary_wrap .item .num {
	font-family: Helvetica, Arial, sans-serif;
    font-size: 73px;
    line-height: 1;
    font-weight: normal;
    color: #999;
    margin-top: -0.1em;
    margin-bottom: 14px;
    position: relative;
}
.cases_under_wrap .summary_wrap .item .num::before {
	display: block;
    content: '';
    position: absolute;
    width: 200px;
    height: 2px;
    top: 50%;
    left: 75px;
    background: linear-gradient(90deg, rgba(35, 126, 193, 1) 0%, rgba(34, 122, 188, 1) 18.27%, rgba(32, 110, 173, 1) 40.67%, rgba(28, 91, 148, 1) 65.23%, rgba(23, 64, 113, 1) 91.17%, rgba(21, 54, 100, 1) 99.97%);
}
.cases_under_wrap .summary_wrap .item .ttl_box {
	width: 24%;
	float: left;
}
.cases_under_wrap .summary_wrap .item .ttl_box h2 {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
}
.cases_under_wrap .summary_wrap .item .text_box {
	width: 75%;
	float: right;
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 1.6;
}

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

.cases_under_wrap .summary_wrap .item {
	padding: 5% 5% 5% 5%;
}
.cases_under_wrap .summary_wrap .item .ttl_box h2 {
	font-size: 22px;
}
.cases_under_wrap .summary_wrap .item .text_box {
	font-size: 15px;
	letter-spacing: 0.08em;
}
}
@media screen and (max-width: 767px) {
.cases_under_wrap .summary_wrap {
	padding-top: 10px;
}
.cases_under_wrap .summary_wrap .item {
	padding: 8%;
}
.cases_under_wrap .summary_wrap .item::after {
    bottom: -18px;
	margin-left: -18px;
    border-width: 18px 18px 0 18px;
}
.cases_under_wrap .summary_wrap .item .num {
	font-size: 45px;
}
.cases_under_wrap .summary_wrap .item .num::before {
	left: 40px;
	width: calc(100% - 40px);
}
.cases_under_wrap .summary_wrap .item .ttl_box {
	width: 100%;
	float: none;
	margin-bottom: 20px;
}
.cases_under_wrap .summary_wrap .item .ttl_box h2 {
	font-size: 18px;
}
.cases_under_wrap .summary_wrap .item .text_box {
	width: 100%;
	float: none;
	font-size: 14px;
	letter-spacing: 0.02em;
}
}


