@charset "utf-8";
.statement_section {
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 5;
		padding-bottom: 200px;
}
.statement_section_inner p {
		font-size: 38px;
		font-family: YakuHanMP, "Noto Serif JP", serif;
		font-weight: 500;
		line-height: 2.0;
		letter-spacing: 0;
		color: #1e1e1e;
		opacity: 0;
		transition: opacity 1.5s;
}
.statement_section_inner p.statement_sign {
		transition: opacity 1s;
		transition-delay: 0.5s
}
.stateItem.stateActive {
		opacity: 1;
}
.statement_col {
		margin-bottom: 3.5em;
}
.statement_section_inner p.statement_sign {
		font-size: 30px;
}
@media(max-width: 1200px) {
		.statement_section_inner p {
				font-size: 34px;
		}
		.statement_section_inner p.statement_sign {
				font-size: 24px;
		}
}
@media(max-width: 960px) {
		.statement_section_inner p {
				font-size: 24px;
		}
		.statement_section_inner p.statement_sign {
				font-size: 20px;
		}
}
@media(max-width: 767px) {
		.statement_section {
				display: block;
				padding: 0 0 100px;
		}
		.statement_col {
				margin-bottom: 2.2em;
		}
		.statement_section_inner p {
				font-size: 4.6vw;
				line-height: 2.2;
		}
		.statement_section_inner p.statement_sign {
				font-size: 4.2vw;
		}
}
.about_catch {
		max-width: 875px;
		margin: 0 0 90px;
}
.about_catch img {
		width: 100%;
		height: auto
}
.about_hd {
		font-size: 40px;
		font-weight: 500;
		margin: 180px 0 35px;
		position: relative;
}
.about_hd::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -0.75em;
}
.about_sb {
		text-align: center;
		font-size: 24px;
		font-weight: 500;
		margin: 0 0 30px;
}
.about_lead {
		margin: 0 0 80px;
}
.about_lead p {
		line-height: 2.0;
		margin: 0 0 1.5em
}
@media(max-width: 767px) {
		.about_lead {
				margin: 0 0 60px;
		}
		.about_lead p {
				line-height: 1.8;
		}
}
.about_hd.first {
		margin-top: 0;
}
.about_figure {
		max-width: 1000px;
}
.about_figure img {
		width: 100%;
		height: auto;
}
.member_col {
		display: flex;
		margin: 0 0 40px;
		font-size: 20px;
}
.member_col dt {
		width: 150px;
}
.member_col dd {
		flex: 1
}
.member_flex {
		display: flex;
		align-items: center;
		margin: 0 0 10px;
}
.member_name {
		width: 160px;
}
.member_detail {
		flex: 1
}
.project_flex {
		display: flex;
		margin-top: 180px;
}
.project_flex .about_hd {
		margin: 0;
		margin-right: 120px;
}
.project_flex_cont {
		flex: 1;
}
.project_flex_cont ul {
		list-style: none;
		font-size: 30px;
}
.project_flex_cont li {
		margin: 0 0 25px;
}
.project_flex_cont li a {
		color: #000;
		text-decoration: none;
		display: inline-block;
		position: relative;
}
.project_flex_cont li a span {
		position: relative;
		padding-right: 20px;
}
.project_flex_cont li a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #000;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.project_flex_cont li a::before, .project_flex_cont li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 0px;
		width: 8px;
		height: 8px;
		border: 1px solid #000;
}
.project_flex_cont li a::after {
		top: calc(50% - 1px);
		right: 3px;
}
@media (hover: hover) {
		.project_flex_cont li a:hover span::after {
				background: none;
		}
}
@media(max-width: 840px) {
		.about_hd {
				font-size: 28px;
				margin: 120px 0 25px;
				padding-left: 0.75em;
		}
		.about_sb {
				font-size: 18px;
		}
		.about_hd::before {
				left: 0;
		}
		.about_lead p {
				text-align: justify;
		}
		.about_lead .pcbr {
				display: none
		}
		.member_col {
				margin: 0 0 40px;
		}
		.member_col dt {
				width: 120px;
		}
		.member_flex {
				display: block;
				margin: 0 0 20px;
		}
		.member_name {
				width: auto;
				margin: 0 0 5px;
		}
		.member_detail {
				line-height: 1.6;
				font-size: 16px;
		}
		.project_flex {
				margin-top: 120px;
		}
		.project_flex .about_hd {
				margin-right: 50px;
		}
		.project_flex_cont ul {
				font-size: 20px;
		}
		.project_flex_cont li {
				margin: 0 0 20px;
		}
}
@media(max-width: 767px) {
		.about_catch {
				margin: 0 0 60px
		}
		.about_hd {
				font-size: 22px;
				margin: 80px 0 20px;
		}
		.about_sb {
				font-size: 16px;
				margin: 0 0 15px;
		}
		.member_col {
				font-size: 15px;
				margin: 0 0 30px;
		}
		.member_col dt {
				width: 70px;
		}
		.member_detail {
				font-size: 13px;
		}
		.project_flex {
				display: block;
				margin-top: 80px;
		}
		.project_flex .about_hd {
				margin: 0 0 25px;
		}
		.project_flex_cont ul {
				font-size: 16px;
		}
		.project_flex_cont li {
				margin: 0 0 15px;
		}
		.project_flex_cont li a span::after {
				content: '';
				display: block;
				position: absolute;
				bottom: -2px;
				left: 0;
				width: 100%;
				height: 1px;
				background: #000;
				transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.project_flex_cont li a::before, .project_flex_cont li a::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 4px);
				right: 0px;
				width: 8px;
				height: 8px;
				border: 1px solid #000;
		}
		.project_flex_cont li a::after {
				top: calc(50% - 1px);
				right: 3px;
		}
}
@media(max-width: 390px) {
		.about_hd {
				font-size: 20px;
		}
		.member_detail {
				font-size: 11px;
		}
}
.member_linkbtn {
		width: 324px;
		margin: 80px auto 0;
}
.member_linkbtn a {
		text-decoration: none;
		color: #000;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		height: 72px;
		border: 1px solid #000;
		transition: background 0.4s;
		padding-left: 23px;
		position: relative;
}
.member_linkbtn a::before, .member_linkbtn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 25px;
		width: 8px;
		height: 8px;
		border: 1px solid #000;
}
.member_linkbtn a::after {
		top: calc(50% - 1px);
		right: 28px;
}
@media (hover: hover) {
		.member_linkbtn a:hover {
				background: #000;
				color: #fff;
		}
		.member_linkbtn a:hover::before, .member_linkbtn a:hover::after {
				border: 1px solid #fff;
		}
}
@media(max-width: 767px) {
		.member_linkbtn {
				width: 200px;
				margin: 50px auto 0;
				font-size: 15px;
		}
		.member_linkbtn span {
				transform: translateY(-1px)
		}
		.member_linkbtn a {
				height: 57px;
				padding-left: 15px;
		}
		.member_linkbtn a::before, .member_linkbtn a::after {
				right: 15px;
				top: calc(50% - 6px);
		}
		.member_linkbtn a::after {
				top: calc(50% - 3px);
				right: 18px;
		}
}