#page_title {
	background: #000 url('../images/pagetitle_saru.svg') no-repeat right 30px center;
	background-size: 46.7% auto;
}

#section1 {
	margin-bottom: 90px;
}

#section1 h3 {
	font-size: 80px;
	text-align: center;
	margin-bottom: 175px;
}

#section1 article {
	max-width: 880px;
	margin: 0 auto;
}

#section1 h4 {
	font-size: 36px;
	line-height: 1.5em;
	margin-bottom: 40px;
}

#section2 {
	background: #000;
	border-radius: 50px 50px 0 0;
	padding: 180px 5.2dvw;
}

#section2 article {
	border-radius: 10px;
	margin-bottom: 80px;
	padding: 80px 0 45px;
	background: #fff url('../images/arrow_black.svg') no-repeat center right 4.1666dvw;
}

#section2 article h3 {
	font-size: 100px;
	margin-bottom: 80px;
	text-align: center;
}

#section2-1 h3 {
	line-height: 183px;
	background: url('../images/shape_web.svg') no-repeat center center;
}

#section2-2 h3 {
	line-height: 244px;
	background: url('../images/shape_dtp.svg') no-repeat center center;
}

#section2-3 h3 {
	line-height: 170px;
	background: url('../images/shape_logo.svg') no-repeat center center;
}

#section2 article ul {
	display: flex;
	justify-content: center;
	padding: 0;
	list-style: none;
	gap: 3.64dvw;
}

#section2 article ul li {
	width: 15.625dvw;
	min-width: 223px;
}

#section2 article ul li a {
	position: relative;
	display: block;
	line-height: 50px;
	border: 1px solid #000;
	color: #000;
	text-decoration: none;
	text-align: center;
	border-radius: 5px;
	font-weight: bold;
	white-space: nowrap;
}

#section2 article ul li a span {
    position: relative;
    z-index: 1;
}

#section2 article ul li a:hover {
	/* background: #000; */
	color: #fff;
	transition: color 0.2s ease;
}

#section2 article ul li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
	z-index: 0;
}

#section2 article ul li a:hover::before {
	transform: scaleX(1);
}


#section3 {
	background: #000;
}

#section3 .wrap {
	background: #f9f9f9;
	border-radius: 50px 50px 0 0;
	padding: 115px 10.4dvw 145px;
}

#section3 h3 {
	font-size: 34px;
	display: flex;
	gap: 60px;
	margin-bottom: 60px;
}

#section3 ul {
	list-style: none;
	padding: 0;
	display: flex;
	gap: 3.645dvw;
}

#section3 ul li {
	flex: none;
	width: calc((100% - 7.29dvw) / 3);
}

#section3 ul li a {
	color: #666666;
	text-decoration: none;
}

#section3 ul li a strong {
	font-size: 28px;
	display: block;
	color: #000;
}

#section3 ul li a strong img {
	vertical-align: middle;
}

.works_img {
	display: block;
	width: 100%;
	height: 285px;
	object-fit: cover;
	margin-bottom: 20px;
	object-position: top center;
}

#section3 .more {
	padding: 50px 0 0;
}

#section4 {
	padding: 250px 0;
}

#section4 h3 {
	background: url('../images/shape_remort.svg') no-repeat center center;
	background-size: contain;
	height: 201px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 40px;
}

#section4 h3 .eng {
	font-size: 80px;
	margin-bottom: 30px;
}

#section4 article {
	max-width: 1100px;
	padding: 0 40px;
	box-sizing: border-box;
	margin: 0 auto;
}

#section4 article h4 {
	font-size: 36px;
	margin-bottom: 40px;
	line-height: 1.5em;
}