@charset "utf-8";
/**************
works
******** ********/
#page_works_group h1 {
	font-size: 3.8rem;
	text-align: left;
}
#page_works_group .works_none p{font-size: 1.8rem;}
#page_works_group .aside_box {
	text-align: left;
}
#page_works_group .aside_box p {
	line-height: 1.7;
	margin-bottom:4rem;
}
#page_works_group .aside_box h2 {
	text-align:left;
	font-size: 1.6rem;
}
#page_works_group .aside_box select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	width: 260px;
	height: 50px;
	border-radius: 5px;
	border: var(--border-1);
	padding-left: 18px;
	font-size: 1.6rem;
}
#page_works_group .aside_box .works_cate_select {
	margin-bottom: 3rem;
}

#page_works_group  .main_box>div {
	display: flex;
	flex-direction: row;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;	
}

#page_works_group .works_archive_box {
	position:relative;
	width:360px;
	height:auto;
	margin-bottom: 4rem;
	aspect-ratio: 360/240;
}

#page_works_group .works_archive_box .thumbnail_box {
	width: 100%;
	height:100%;
	position:relative;
}
#page_works_group .works_archive_box .thumbnail_box::after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-color: #0A0C14;
	opacity:0;
	transition: opacity 0.34s ;
}
#page_works_group .works_archive_box:hover .thumbnail_box::after {
	opacity: 0.7;
}
#page_works_group .works_archive_box .thumbnail_box.thumbnail_none {
	background-color: var(--color-sub-5);
	opacity: 0.7;
}
#page_works_group .works_archive_box .thumbnail_box img{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1;
}
#page_works_group .works_archive_box .works_detail{
	position:absolute;
	top:0;
	left: 0;
	width:100%;
	height: 100%;
	color: white;
	font-family: Hiragino Kaku Gothic Pro sans-serif;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 700;
	line-height: 16px;
	letter-spacing: 0em;
	text-align: center;
	display: flex;
	align-items:center;
	justify-content: center;
	flex-direction: column;
	opacity:0;
	transition: opacity 0.37s;
	transition-delay: 0.06s;
}
#page_works_group .works_archive_box:hover .works_detail {
	opacity: 1;
}
#page_works_group .works_archive_box a:hover {
	opacity: 1;
}
#page_works_group .works_archive_box .works_detail h2 {
	font-size: 1.6rem;
	margin:1.4rem auto;
	position:relative;
	line-height: 1.4;
}
#page_works_group .works_archive_box .works_detail h2:last-of-type {
	margin-bottom: 1.8rem;
}
#page_works_group .works_archive_box .works_detail h2:first-of-type::after {
	content:"";
	position:absolute;
	bottom: -1.4rem;
	left: 50%;
	-webkit-transform:translatex(-50%);
	transform:translatex(-50%);
	width:190px;
	height:0;
	border-top: var(--border-1);
}
#page_works_group .works_archive_box .works_detail .works_more_btn {
	font-family: 'Barlow', sans-serif;
	position:relative;
	font-size:16px;
	text-align: left;
	padding: 6px 10px 8px;
	width: 120px;
	height: 30px;
	box-sizing: border-box;
	background-color: var(--color-main-3);	
}
#page_works_group .works_archive_box .works_detail .works_more_btn::after {
	content: "";
	position:absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translatey(-50%);
	transform: translatey(-50%);
	width: 42px;
	height: 6px;
	background-image:url("../img/works/works_more_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
}



#page_works_group .page_works_single .main_box section {
	width:100%;
}
#page_works_group .page_works_single .main_box div {
	width: 100%;
}
#page_works_group .page_works_single .main_box .contents_box {
	margin-top: 1rem;
}
#page_works_group .page_works_single .main_box .contents_img {
	margin-bottom: 2rem;
	text-align: left;
}
#page_works_group .page_works_single .main_box h2 {
	text-align:left;
	font-size: 1.6rem;
	margin-bottom: 2.4rem;
	font-weight: 400;
}
#page_works_group .page_works_single .main_box h2.project_name {
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1rem;
}
#page_works_group .works_archive_box:hover .works_more_btn {
	opacity: 0.85;
}
#page_works_group .page_works_single .main_box .btn_base_3 {
	margin-top: 4rem;
}

/***************
レスポンシブ
***************/
/************** sp 768 *****************/
@media print, screen and (max-width : 768px) {
	#page_works_group .aside_box {
		max-width: 300px;
		width: 100%;
		margin-left:auto;
		margin-right:auto;
	}
	#page_works_group .aside_box  {
		margin-bottom:3rem;
	}
	#page_works_group h1 {
		text-align: center;
		font-size: 3.2rem;
	}
	#page_works_group .aside_box p {
		text-align: center;
		margin-bottom: 2.6rem;
		line-height: 1.3;
	}
	#page_works_group .works_archive_box {
		width: 48.1%;
		margin-bottom: 1.2rem;
	}
	#page_works_group .works_archive_box .works_detail{
		font-size:clamp(10px,2.8vw,16px);
	}
	#page_works_group .works_archive_box .works_detail h2 {
		font-size: 1em;
		margin:0.8em auto;
		line-height: 1.2;
	}
	#page_works_group .works_archive_box .works_detail h2:first-of-type::after {
		width: 90%;
		bottom: -0.8em;
	}
	#page_works_group .works_archive_box .works_detail h2:last-of-type {
		margin-bottom: 0.8em;
	}
	#page_works_group .works_archive_box .works_detail .works_more_btn {
		font-size:1.1em;
		height: 1.9em;
		display: flex;
		align-items:center;
		justify-content:flex-start;
		max-width: 80%;
	}

	#page_works_group .page_works_single .main_box .contents_box {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	#page_works_group .page_works_single.page_have_aside_nav > .flex_base {
		flex-direction: column-reverse;
	}
	#page_works_group .page_works_single.page_have_aside_nav .aside_box {
		margin-top: 5rem;
	}
}

/************** pc 768 *****************/
@media print, screen and (min-width : 768px) {
	#page_works_group .aside_box {
		width: 260px;
	}
	#page_works_group .main_box {
		width:760px;
	}
	#page_works_group .page_works_single .main_box{
		width:600px;
		margin-right: 160px;
	}
}