@charset "utf-8";
/* CSS Document */
.page_header { background-image: url(../img/works/main.jpg); }
.page_header .page_header_title h1::before {
	content: 'WORKS';
	font-family:'PT Sans';
}
@media screen and (max-width: 760px) {
	.page_header { background-image: url(../img/works/main_sp.jpg); }
}

main {
	background-image: url(../img/global/grid_bg.png);
	background-position: top 5px center;
}

section li {
	list-style: none;
}

.pc_dot{
    display: block;
    margin-left: 10px;
    margin-right: 10px;
}

@media screen and (max-width: 850px) {
    .pc_dot{
        display: none;
    }
}

/* -------------------------------- */
/* works */
/* -------------------------------- */
.works {
	padding: 80px 20px 90px;
}
.works h2 {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	font-size: 16px;
}
.works h2 .en {
	font-size: 30px;
	margin-right: 10px;
	letter-spacing: 5px;
	font-family:'PT Sans';
}
.works h2 .en span {
	color: #aa1f24;
}
.works ul {
	display: flex;
	flex-wrap: wrap;
}
.works ul:not(:last-of-type) {
	margin-bottom: 50px;
}
.works li {
	width: 23.3%;
}
.works li:not(:last-of-type) {
	margin-right: 2.266666666666667%;
}
.works a {
	display: block;
	color: #333333;
	opacity: 1;
	transition: .3s ease;
}
.works a:hover {
	opacity: .8;
}
.works figure {
	margin-bottom: 10px;
}
.works dl {
	line-height: 1.4;
}
.works dt {
	font-size: 12px;
	color: #6f6f6f;
	margin-bottom: 5px;
}
.works dd {
	font-weight: bold;
}

@media screen and (max-width: 1040px) {
    .works .double {
        white-space: nowrap;
        width: min-content;
        margin-right: 30px;
    }
    .works .double .en {
        white-space: break-spaces;
    }
}



@media screen and (max-width: 850px) {
	.works li {
		width: 48%;
		margin-bottom: 4%;
	}
	.works li:nth-of-type(odd) {
		margin-right: 4%;
	}
	.works li:nth-of-type(even) {
		margin-right: 0;
	}
    .works .double {
        white-space: initial;
        width: auto;
        flex-wrap: wrap;
        line-height: 1.5;
    }
    .works .double .en {
        white-space: initial;
    }
}

@media screen and (max-width: 767px) {
	.works {
		padding: 10% 20px;
	}
	.works ul:not(:last-of-type) {
		margin-bottom: 12%;
	}
	.works h2 {
		margin-bottom: 8%;
	}
}
@media screen and (max-width: 500px) {
	.works h2 {
		display: block;
		font-size: 5vw;
	}
	.works h2 .en {
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
		font-size: 8vw;
	}
	.works li {
		margin-bottom: 6%;
	}
	.works figure {
		margin-bottom: 5px;
	}
	.works dt {
		margin-bottom: 0;
	}
	.works dd {
		font-size: 3.8vw;
	}
}
@media screen and (max-width: 374px) {
	.works li {
		width: 100%;
	}
	.works li:nth-of-type(odd) {
		margin-right: 0;
	}
	.works dd {
		font-size: 4.7vw;
	}
}



/* -------------------------------- */
/* 工事経歴書 */
/* -------------------------------- */
.history {
	padding-top: 90px;
	padding-bottom: 100px;
	background-color: #f7f7f7;
}
.history h2 {
	margin-bottom: 50px;
}
.history h2::before {
	content: 'HISTORY';
	font-family:'PT Sans';
}
@media screen  and (max-width: 767px) {
	.history {
		padding-top: 15%;
		padding-bottom: 15%;
	}
	.history h2 {
		margin-bottom: 30px;
	}
}

.history ul {
	display: flex;
	flex-wrap: wrap;
	width: 725px;
	max-width: 100%;
	margin: auto;
}
.history li:not(:nth-of-type(4n)) {
	margin-right: 14px;
	margin-bottom: 14px;
}
.history a {
	width: 170px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background-color: #1d1d1d;
	border-style: solid;
	border-width: 2px;
	border-color: #1d1d1d;
	font-weight: bold;
	transition: background-color ease 0.3s, color ease 0.3s;
}
.history a:hover {
	background-color: #ffffff;
	color: #1d1d1d;
}
.history a::after {
	content: '';
	width: 16px;
	height: 13px;
	background-image: url(../img/works/icon_01.svg);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	margin-left: 10px;
}
@media screen and (max-width: 800px) {
	.history li {
		width: 23.3%;
	}
	.history li:not(:nth-of-type(4n)) {
		margin-right: 2.266666666666667%;
	}
	.history a {
		width: 100%;
	}
}

@media screen  and (max-width: 650px) {
	.history li {
		width: 48%;
	}
	.history li:nth-of-type(odd) {
		margin-right: 4%;
		margin-bottom: 4%;
	}
	.history li:nth-of-type(even) {
		margin-right: 0;
	}
}
@media screen and (max-width: 500px) {
	.history a {
		font-size: 4.4vw;
	}
}