#page_title{
	width:100%;
	height: calc(100dvh / 3);
	padding:0 0 0 calc(100dvh / 3);
	box-sizing:border-box;
	position:relative;
	margin:0 auto 4.6874dvw;
	background-size:cover !important;
}
#page_title h2{
	color:#fff;
	height:100%;
	position:relative;
}
#page_title h2 .jp{
	font-size:30px;
	display:block;
	padding:calc(100dvh / 20) 0 0 180px;
}
#page_title h2 .eng{
	display:block;
	font-size:180px;
	position:absolute;
	bottom:0;
	left:-10px;
	line-height:0.6em;
}
#page_title_sub{
	position:absolute;
	z-index:5;
	max-width:calc(33.98dvh + 508px);
	margin:auto;
	display:flex;
	justify-content:flex-end;
	align-items:flex-end;
	gap:10px;
	top:120px;
	left:0;
	right:0;
}
#page_title_sub figure{
	width:33.98dvh;
	height:33.98dvh;
	max-width:340px;
	max-height:340px;
}
#page_title_sub figure p{
	display:flex;
	width:100%;
	height:100%;
	padding:0 0 10px;
	box-sizing:border-box;
	position:relative;
	color:#000;
	text-decoration:none;
	flex-direction:column;
	justify-content:flex-end;
}
#page_title_sub figure p .icon{
	display:flex;
	width:100%;
	height:100%;
	position:absolute;
	justify-content:center;
	align-items:center;
}
#page_title_sub figure p .icon img{
	display:block;
	width:auto;
	max-height:40%;
	object-fit:contain;
	height:auto;
}
#page_title_sub figure p strong{
	display:block;
	width:100%;
	text-align:center;
}
#page_title_sub figure p strong .eng{
	display:block;
	font-size:36px;
}
#page_title_sub .list_icon{
	gap:5px;
	display:flex;
	margin:0;
	width:254px;
}
#page_title_sub .list_icon li{
	list-style:none;
	width:32px;
	height:32px;
	flex:none;
}
#page_title_sub .list_icon li:nth-child(1){
	background:#0a5cc9;
}
#page_title_sub .list_icon li:nth-child(2){
	background:#dfdbd0;
}
#page_title_sub .list_icon li:nth-child(3){
	background:#f2ba42;
}
#page_title_sub .list_icon li:nth-child(4){
	background:#ec6332;
}
#page_title_sub .list_icon li:nth-child(5){
	background:#279562;
}
#page_title_sub .list_icon li:nth-child(6){
	background:#d0a2a0;
}
#page_title_sub .list_icon li:nth-child(7){
	background:#677ef6;
}
main{
}
main section{
	margin:0 auto 8.333dvw;
}
main article{
	max-width:1100px;
	margin:0 auto;
	font-size:18px;
}
main section h4{
	font-size:30px;
	display:inline-block;
	margin:0 0 40px;
	background: linear-gradient(135deg, rgba(47,186,213,1) 0%,rgba(49,38,134,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
main section h5{
	font-size:24px;
	margin:0 0 20px;
}
.service_wrap{
	display:flex;
	flex-wrap:wrap;
	gap:70px;
}
.service_wrap dl{
	width:calc((100% - 140px) / 3);
}
.service_wrap dl dt{
	margin-bottom:20px;
}
.service_wrap dl dt img{
	display:block;
	width:100%;
	height:214px;
	object-fit:cover;
}
#works_list{
	text-align:center;
}
#works_list .slick-slide{
	padding:0 5px !important;
}
#works_list .slick-slide img{
	display:block;
	max-width:initial !important;
	width:100%;
	height:220px;
	object-fit:cover;
}
#works_list .slick-prev{
	width:63px;
	height:63px;
	border:0;
	text-indent:-9999px;
	background:url('../images/common/arrow_l.svg') no-repeat center center;
	position:absolute;
	left:5%;
	top:0;
	bottom:0;
	margin:auto;
	z-index:10;
}
#works_list .slick-next{
	width:63px;
	height:63px;
	border:0;
	text-indent:-9999px;
	background:url('../images/common/arrow_r.svg') no-repeat center center;
	position:absolute;
	right:5%;
	top:0;
	bottom:0;
	margin:auto;
	z-index:10;
}

#works_list .more{
	padding:50px 0 0;
}
#works_list .more a{
	display:block;
	max-width:420px;
	text-decoration:none;
	text-align:center;
	border:1px solid #053f8d;
	border-radius:3px;
	line-height:30px;
	margin:0 auto;
	background:#fff url('../images/common/arrow1.webp') no-repeat left 10px center;
}

#works_list .more a:hover{
	background:#65e0e2 url('../images/common/arrow1.webp') no-repeat left 10px center;
}
main section article ul,
main section article ol{
	margin:0 auto;
	padding:0 0 0 30px;
	box-sizing:border-box;
}
main section article table{
	width:100%;
	margin:0 auto;
	border-top:1px solid #cccccc;
	box-sizing:border-box;
}
main section article th{
	white-space:nowrap;
	padding:10px 20px;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
	box-sizing:border-box;
	border-bottom:1px solid #cccccc;
}
main section article td{
	padding:10px 20px;
	box-sizing:border-box;
	border-bottom:1px solid #cccccc;
	word-break: break-all;
	vertical-align:top;
}
.pagination {
	max-width: 960px;
	margin: 0 auto;
	position:relative;
	z-index:30;
}

.page-numbers {
	text-align: center;
	margin: 40px 0;
}

.page-numbers li {
	display: inline-block;
	color: #404040;
	padding: 0 5px;
	vertical-align: middle;
}

.page-numbers li a {
	text-decoration: none;
	font-weight: bold;
	color: #404040;
	display: block;
	padding: 5px 12px;
	border: 1px solid #ccc;
}

.page-numbers li a:hover {
	color: #404040;
	background: #ccc;
}

.page-numbers li span {
	text-decoration: none;
	font-weight: bold;
	color: #404040;
	display: block;
	padding: 5px 12px;
	border: 1px solid #ccc;
	background: #fff;
}

.page-numbers li span.current {
	background: #ccc;
}
img.alignleft {
	float: left;
	margin: 0 40px 40px 0;
}

img.alignright {
	float: right;
	margin: 0 0 40px 40px;
}

img.aligncenter {
	display:block;
	margin: 0 auto 30px;
}