@charset "UTF-8";

/* page-title
---------------------------------------------------------*/
#page-title {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 450px;
	padding: 0 5%;
}
#page-title h2 {
	font-size: 3.375rem;
	line-height: 1;
	letter-spacing: .075em;
	margin: 0;
}
#page-title h2 span {
	display: inline-block;
	margin-left: 1em;
	font-size: 1.125rem;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #0b308e;
}
/* responsive -----------------------------*/
@media screen and (max-width: 1200px) {
	#page-title {
		height: 350px;
	}
	#page-title h2 {
		font-size: 3rem;
	}
}
@media screen and (max-width: 800px) {
	#page-title {
		height: 300px;
		padding: 0 3%;
	}
}
@media screen and (max-width: 480px) {
	#page-title {
		height: 250px;
		text-align: center;
	}
	#page-title h2 {
		font-size: 2.25rem;
	}
	#page-title h2 span {
		display: block;
		margin: 1em 0 0;
	}
}


/* content-wrap
---------------------------------------------------------*/
.content-wrap {
	position: relative;
	max-width: 1800px;
	width: 90%;
	margin: 0 auto 160px;
	/* padding: 0 7% 100px; */
	padding: 0 5.5% 100px;
	background-color: #FFF;
}
.content-wrap h3 {
	position: relative;
	font-size: 2.22rem;
	line-height: 1.6;
	letter-spacing: .08em;
	border-left: 4px solid #0b308e;
	padding: 6.66rem 0 .5em .5em;
	margin-bottom: 1.5em
}
.content-wrap h4 {
	position: relative;
	font-size: 1.625rem;
	line-height: 1.6;
	letter-spacing: .05em;
	border-bottom: 2px solid #0b308e;
	padding: 0 0 .5em;
}
.content-wrap h5 {
	position: relative;
	font-size: 1.25rem;
	line-height: 1.6;
	letter-spacing: .05em;
	border-bottom: 1px solid #d4d4d4;
	padding: 0 0 .5em;
	margin-top: 1.5em;
}
.content-wrap a {
	color: #00aa83;
}
.content-wrap a:hover {
	opacity: .8;
}
.content-wrap table {
	width: 100%;
	border-top: 1px solid #d4d4d4;
	border-collapse: collapse;
}
.content-wrap th,
.content-wrap td {
	padding: 1.5em 1em;
	border-bottom: 1px solid #d4d4d4;
}
.content-wrap th {
	width: 21.3%;
	text-align: left;
	vertical-align: top;
}
.content-wrap td > table {
	width: auto;
	border-top: none;
}
.content-wrap td > table th,
.content-wrap td > table td {
	padding: 0 1em .5em 0;
	border-bottom: none;
	vertical-align: top;
	line-height: 1.6;
}
.content-wrap td > table td:last-of-type {
	padding-right: 0;
}
.content-wrap td > table th {
	width: auto;
}
.content-wrap ul li {
	position: relative;
	padding-left: 1.2em;
}
.content-wrap ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .75em;
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #0b308e;
}
.content-wrap td > table ul li::before {
	top: .5em;
}
.content-wrap .inner {
	margin-left: 2rem;
}
@media screen and (max-width: 1400px) {
	.content-wrap {
		padding: 0 5% 100px;
	}
}
@media screen and (max-width: 1200px) {
	.content-wrap {
		padding: 0 4% 100px;
	}
	.content-wrap h3 {
		font-size: 1.875rem;
	}
}
@media screen and (max-width: 800px) {
	.content-wrap {
		width: 94%;
		margin-bottom: 100px;
	}
	.content-wrap h3 {
		padding-top: 2.5em;
	}
	.content-wrap table {
		width: 100%;
	}
	.content-wrap th,
	.content-wrap td {
		display: block;
		width: 100%;
		padding: 1.5em 0;
	}
	.content-wrap th {
		border-bottom: unset;
		padding-bottom: 0;
	}
	.content-wrap td {
		padding-top: .5em;
	}
	.content-wrap td > table th,
	.content-wrap td > table td {
		display: table-cell;
		width: auto;
	}
	.content-wrap td > table th,
	.content-wrap td > table td {
		display: block;
		width: 100%;
		padding: .5em 0 0;
	}
	.content-wrap td > table td:last-of-type {
		border-bottom: 1px dotted #d4d4d4;
		padding-bottom: .5em;
	}
	.content-wrap td > table tr:first-of-type th:first-of-type,
	.content-wrap td > table tr:first-of-type td:first-of-type {
		padding-top: 0;
	}
	.content-wrap td > table tr:last-of-type th,
	.content-wrap td > table tr:last-of-type td {
		border-bottom: none;
		padding-bottom: 0;
	}
	.content-wrap .inner {
		margin-left: 0;
	}
}
@media screen and (max-width: 480px) {
	.content-wrap {
		margin-bottom: 80px;
		padding-bottom: 60px;
	}
	.content-wrap h3 {
		font-size: 1.5rem;
		padding-top: 2.5em;
	}
	.content-wrap h4 {
		font-size: 1.25rem;
	}
}

/* post-link
---------------------------------------------------------*/
.post-link {
	position: absolute;
	top: 405px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 800px;
	min-height: 88px;
	width: 90%;
	background: #FFF;
	z-index: 1;
	box-shadow: 0 2px #d4d4d4;
}
.post-link ul {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
	min-height: 88px;
}
.post-link li {
	display: inline-block;
	margin-right: 2em;
}
.post-link li:last-child {
	margin-right: 0;
}
.post-link a {
	position: relative;
	display: block;
	color: #202020;
	font-family: NotoSansJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .05em;
	padding: .5em calc( 22px + .3em ) .5em 0;
	overflow: hidden;
}
.post-link a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	width: 22px;
	height: 22px;
	border: 1px solid #666;
	border-radius: 50%;
	background: url(../img/arrow03-gr.svg) no-repeat center center;
	background-size: 6px;
	margin-left: .3em;
	transition: all .5s ease;
}
.post-link a::before {
	content: '';
	position: absolute;
	left: -100%;
	bottom: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: #0b308e;
	transition: all .5s ease;
}
.post-link a:hover::before {
	left: 0;
}
.post-link a.current::before {
	left: 0;
}
/* responsive -----------------------------*/
@media screen and (max-width: 1200px) {
	.post-link {
		top: 315px;
		min-height: 70px;
	}
	.post-link ul {
		min-height: 70px;
	}
}
@media screen and (max-width: 1000px) {
	.post-link {
		position: static;
		transform: unset;
		width: 90%;
		margin: 0 auto 50px;
	}
}
@media screen and (max-width: 800px) {
	.post-link {
		width: 94%;
	}
}
@media screen and (max-width: 700px) {
	.post-link ul {
		-webkit-box-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 1.5em 1em .5em;
	}
	.post-link li {
		width: 48.5%;
		margin-right: 3%;
		padding: 0 0 1em;
		border-bottom: 1px solid #d4d4d4;
		margin-bottom: 1em;
	}
	.post-link li:nth-child(2n) {
		margin-right: 0;
	}
	.post-link a {
		letter-spacing: normal;
	}
	.post-link a.current {
		color: #0b308e;
	}
	.post-link a::before {
		display: none;
	}
}
@media screen and (max-width: 480px) {
	.post-link {
		margin-bottom: 30px;
	}
	/* .post-link li {
		width: 100%;
		margin-right: 0;
	} */
	.post-link a::after {
		width: 18px;
		height: 18px;
		background-size: 4px;
	}
}

/*------------------------------------------
 pagination
--------------------------------------------*/
.pagination {
	width: 100%;
	margin: 0 auto 50px;
	font-size: 1.125rem;
}
.pagination ul {
	display:-webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	flex-wrap: wrap;
}
.pagination ul li {
	margin: 0 .5%;
	padding-left: 0;
}
.content-wrap .pagination ul li::before {
	display: none;
}
.pagination ul li span {
	display:-webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: center;
	color: #0b308e;
	width: 40px;
	height: 40px;
	line-height: 1;
}
.pagination ul li span.current {
	color: #FFF;
	border: 1px solid #0b308e;
	background-color: #0b308e;
}
.pagination ul li a {
	position: relative;
	display:-webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	line-height: 1;
	color: #0b308e;
	border: 1px solid #0b308e;
	background-color: #FFF;
	text-decoration: none;
}
.pagination ul li a:hover {
	border: 1px solid #0b308e;
	background: #0b308e;
	color: #FFF;
	opacity: 1;
}
.pagination a.next,
.pagination a.prev {
	width: auto;
	padding: 0 1em;
}
.pagination a.next::after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 16px;
	margin-left: .3em;
	background: url(../img/arrow03.svg) no-repeat center center;
	background-size: contain;
	transition: all .5s ease;
}
.pagination a.next:hover::after {
	background: url(../img/arrow03-w.svg) no-repeat center center;
	background-size: contain;
}
.pagination a.prev::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 16px;
	margin-right: .3em;
	background: url(../img/arrow03-rv.svg) no-repeat center center;
	background-size: contain;
	transition: all .5s ease;
}
.pagination a.prev:hover::before {
	background: url(../img/arrow03-w-rv.svg) no-repeat center center;
	background-size: contain;
}

/* company
---------------------------------------------------------*/
.content-wrap.company-archive h3 {
	letter-spacing: normal;
}
.company-archive .txt-wrap {
	width: 62%;
	margin-left: 2rem;
}
.company-archive .img-wrap {
	display:-webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: center;
	/* width: 38%; */
	width: 32%;
}
.company-archive .img-wrap figure {
	width: 70%;
	text-align: center;
}
.company-link {
	max-width: 1500px;
	width: 90%;
	margin: 0 auto 120px;
}
.company-link ul {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
	flex-wrap: wrap
}
.company-link li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 30px;
	border-bottom: 2px solid #d4d4d4;
}
.company-link li:nth-child(3n) {
	margin-right: 0;
}
.company-link li a {
	font-family: NotoSansJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-size: 1.375rem;
	line-height: 1;
	color: #202020;
}
.company-link li a em {
	position: relative;
	display: block;
	font-style: normal;
	font-weight: 500;
	letter-spacing: .05em;
	padding: 1.25em 0;
}
.company-link li a em::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid #00aa83;
	background: url(../img/arrow01-green.svg) no-repeat center center;
	background-size: 24px;
	transition: all .5s ease;
}
.company-link li a:hover {
	color: #00aa83;
}
.company-link li a:hover em::after {
	background: #00aa83 url(../img/arrow01-w.svg) no-repeat center center;
	background-size: 24px;
}
.company-link li a figure {
	overflow: hidden;
}
.company-link li a figure img {
	transition: all .5s ease;
}
.company-link li a:hover figure img {
	transform: scale(110%);
}
.symbol .txt-wrap {
	/* width: 50%; */
	width: 55%;
}
.symbol .txt-wrap.all {
	width: 100%;
}
.symbol .img-wrap {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
	align-items: center;
	/* width: 50%; */
	width: 42%;
}
.symbol .img-wrap figure {
	/* max-width: 380px; */
	max-width: 320px;
	width: 100%;
	text-align: center;
}
.greeting .txt-wrap {
	width: 61.3%;
	/* width: calc( 97% - 220px ); */
}
.greeting .img-wrap {
	/* display:-webkit-flex;
	display: flex;
	-webkit-justify-content: end;
	justify-content: flex-end;
	flex-direction: column; */
	width: 32%;
	padding-top: 2em;
	/* width: 220px; */
}
.greeting .img-wrap figure {
	/* width: 50%;
	min-width: 220px; */
	width: 60%;
	min-width: 280px;
	text-align: center;
}
.sign {
	text-align: right;
	font-weight: 700;
}

/* ページ内リンク -------------------------*/
.page-link {
	width: 250px;
}
.page-link ul {
	position: sticky;
	top: 120px;
	margin-left: 0;
}
.page-link.fixed {
	position: fixed;
	top: 40%;
	left: 10%;
	transform: translateY(-50%);
}
.page-link.fixed2 {
	position: absolute;
	bottom: 120px;
	left: 10%;
}
.content-wrap.access {
	padding-top: 11rem;
}
.content-wrap.access h4 {
	margin-bottom: 1.5em;
}
.content-wrap.access > div h5:first-of-type {
	margin-top: 0;
}
.content-wrap .page-link li {
	/* list-style-type: none; */
	padding-left: 0;
	margin-bottom: 1.2em;
}
.content-wrap .page-link li::before {
	display: none;
}
.content-wrap .page-link.fixed li {
	margin-bottom: .5em;
} 
.page-link li:last-child {
	margin-bottom: 0;
}
.page-link a {
	position: relative;
	display: inline-block;
	padding-left: 1em;
	font-family: NotoSansJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1;
	color: #666;
}
.page-link a:hover,
.page-link a.current {
	color: #202020;
}
.page-link a:hover::before,
.page-link a.current::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #00aa83;
	transition: all .5s ease;
}
.access-wrap {
	max-width: 1160px;
	width: 77.333%;
}
.access-wrap.fixed {
	margin-left: 22.667%;
}
.access-wrap .half-wrap {
	margin-bottom: 80px;
}
.access .txt-wrap {
	/* width: 50%; */
	width: 46.5%;
}
.access .img-wrap {
	/* width: 46.5%; */
	width: 51%;
}
.access-wrap .img-wrap figure {
	text-align: center;
}
.access .gmap a {
	position: relative;
	display: inline-block;
	font-family: NotoSansJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1;
	padding-right: calc( 14px + .5em );
	padding-bottom: .5em;
	border-bottom: 1px solid #d4d4d4;
	color: #202020;
}
.access .gmap a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 6px;
	background: url(../img/arrow01-green.svg) no-repeat center center;
	background-size: contain;
}
.access .gmap a:hover {
	color: #00aa83;
}

/* responsive -----------------------------*/
@media screen and (max-width: 1400px) {
	.company-archive .img-wrap {
		width: 33%;
	}
	.company-archive .img-wrap figure {
		width: 100%;
	}
}
@media screen and (max-width: 1200px) {
	.greeting .img-wrap figure {
		width: 100%;
		min-width: unset;
	}
	.content-wrap.profile th {
		width: 21%;
		padding-left: 0;
	}
	.content-wrap.profile td {
		padding-right: 0;
	}
	.content-wrap.profile td > table td {
		padding-right: 1em;
	}
	.content-wrap.access {
		padding: 100px 2% 100px;
	}
}
@media screen and (max-width: 1000px) {
	.company-archive .half-wrap {
		flex-wrap: wrap;
	}
	.company-archive .txt-wrap,
	.company-archive .img-wrap {
		width: 100%;
	}
	.company-archive .img-wrap figure {
		width: 70%;
	}
	.symbol .half-wrap {
		flex-wrap: wrap;
	}
	
	.access-wrap .half-wrap {
		flex-wrap: wrap;
	}
	.access-wrap .txt-wrap {
		width: 100%;
		margin-bottom: 40px;
	}
	.access-wrap .img-wrap {
		width: 100%;
	}
}
@media screen and (max-width: 800px) {

	.content-wrap.company-archive h3 br {
		display: none;
	}
	.content-wrap.profile th {
		width: 100%;
		border-bottom: unset;
		padding-bottom: 0;
	}
	.content-wrap.profile td {
		padding-left: 0;
		padding-top: .5em;
	}
	.company-link {
		width: 94%;
		margin-bottom: 70px;
	}
	.company-link li a {
		font-size: 1.25rem;
	}
	.company-link li a em::after {
		width: 34px;
		height: 34px;
		background-size: 18px;
	}
	.company-link li a:hover em::after {
		background-size: 18px;
	}
}
@media screen and (max-width: 700px) {
	.half-wrap {
		flex-wrap: wrap;
	}
	/* .company-archive .txt-wrap, */
	.symbol .txt-wrap {
		width: 100%;
		margin-bottom: 40px;
	}
	/* .company-archive .img-wrap, */
	.symbol .img-wrap {
		-webkit-box-pack: center;
		justify-content: center;
		width: 100%;
	}
	.company-link li {
		width: 49%;
	}
	.company-link li:nth-child(3n) {
		margin-right: 2%;
	}
	.company-link li:nth-child(2n) {
		margin-right: 0;
	}
	.greeting .txt-wrap {
		width: 100%;
		margin-bottom: 40px;
	}
	.greeting .img-wrap {
		width: 100%;
	}
	.greeting .img-wrap figure img {
		width: 50%;
	}
	.content-wrap.profile td.yakuin {
		padding-bottom: .5em;
	}
	.content-wrap.access {
		padding: 100px 4%;
	}
	.page-link {
		display: none;
	}
	.access-wrap {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.company-link li {
		width: 100%;
	}
	.company-link li:nth-child(3n) {
		margin-right: 0;
	}
	.greeting .img-wrap figure img {
		width: 80%;
	}
	.content-wrap.access {
		padding: 60px 4%;
	}
}

/* zeb
---------------------------------------------------------*/
.zeb1 .img-wrap {
	/* width: 150px; */
	width: 200px;
}
.zeb1 .img-wrap figure {
	text-align: right;
	padding-top: 1em;
}
.zeb1 .txt-wrap {
	width: calc( 95% - 150px );
}
.zeb2 table {
	border-top: 2px solid #a2a2a2;
	border-left: 2px solid #a2a2a2;
	margin: 2em 0 50px 0;
}
.zeb2 th,
.zeb2 td {
	border-bottom: 2px solid #a2a2a2;
	border-right: 2px solid #a2a2a2;
	text-align: center;
	vertical-align: middle;
}
.zeb2 thead th {
	background-color: #f4f4f4;
}
.tbl2 table {
	width: 50%;
}

/* responsive -----------------------------*/
@media screen and (max-width: 1200px) {
	.zeb2 table {
		min-width: 1200px;
		width: auto;
	}
	.zeb2 .tbl2 table {
		min-width: initial;
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	.content-wrap.zeb2 th,
	.content-wrap.zeb2 td {
		display: table-cell;
		width: auto;
		padding: 1.5em 0;
	}
}
@media screen and (max-width: 480px) {
	.zeb1 .half-wrap {
		flex-wrap: wrap;
	}
	.zeb1 .img-wrap {
		width: 100%;
		margin-bottom: 30px;
	}
	.zeb1 .img-wrap figure {
		text-align: center;
	}
	.zeb1 .txt-wrap {
		width: 100%;
	}
}

/* business
---------------------------------------------------------*/
#business .txt-wrap {
	width: 50%;
}
#business .img-wrap {
	display:-webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	width: 45%;
}
#business .img-wrap a {
	display: inline-block;
	width: 230px;
}
#business .img-wrap figure {
	text-align: center;
}
#business .txt-wrap p:first-of-type {
	margin-top: 0;
}
.top {
	padding-top: 120px;
}
/* responsive -----------------------------*/
@media screen and (max-width: 1200px) {
	.top {
		padding-top: 100px;
	}
}
@media screen and (max-width: 800px) {
	#business .half-wrap {
		flex-wrap: wrap;
	}
	#business .txt-wrap {
		width: 100%;
		margin-bottom: 40px;
	}
	#business .img-wrap {
		width: 100%;
	}
	#business .img-wrap a {
		display: block;
		width: 230px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 700px) {
}
@media screen and (max-width: 480px) {
	.top {
		padding-top: 60px;
	}
}

/* recruit
---------------------------------------------------------*/
#recruit table {
	margin-bottom: 80px;
}
#recruit .btn a::after {
	content: '';
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 36px;
	height: 16px;
	background: url(../img/arrow01-green.svg) no-repeat center center;
	background-size: contain;
	transition: all .5s ease;
}
#recruit .btn a:hover::after {
	background: url(../img/arrow01-w.svg) no-repeat center center;
	background-size: contain;
}

/* news
---------------------------------------------------------*/
#news .content-wrap {
	max-width: 1400px;
}
.news-list {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto 50px;
	padding-top: 120px;
}
.content-wrap .news-list li {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
	padding: 2em 1.2em;
	border-bottom: 1px solid #d4d4d4;
	font-family: NotoSansJP, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	letter-spacing: .03em;
}
.content-wrap .news-list li::before {
	display: none;
}
.news-list li:first-child {
	border-top: 1px solid #d4d4d4;
}
.news-list li time {
	color: #666666;
	margin-right: 2.2em;
}
.news-list a {
	color: #202020;
}
.news-list a:hover {
	color: #00aa83;
}
.news-wrap h3 time {
	display: block;
	font-size: 1.125rem;
	letter-spacing: .03em;
	color: #666;
} 
.news-wrap .btn {
	margin-top: 50px;
}
.news-wrap .btn a::after {
	content: '';
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 36px;
	height: 16px;
	background: url(../img/arrow01-green.svg) no-repeat center center;
	background-size: contain;
	transition: all .5s ease;
}
.news-wrap .btn a:hover::after {
	background: url(../img/arrow01-w.svg) no-repeat center center;
	background-size: contain;
}
@media screen and (max-width: 1200px) {
	.content-wrap .news-list li {
		padding: 1.5em 0;
	}
}
@media screen and (max-width: 700px) {
	.content-wrap .news-list li {
		flex-wrap: wrap;
	}
	.news-list li time {
		display: block;
	}
	.news-list li a {
		display: block;
		width: 100%;
	}
}

/* works
---------------------------------------------------------*/
#project .content-wrap .inner {
	margin-left: 0;
}
.category-link {
	/* width: 250px; */
	width: 280px;
}
.category-link ul {
	/* position: sticky; */
	top: 120px;
	margin-left: 0;
}
.content-wrap .category-link li {
	padding-left: 0;
	margin-bottom: .75em;
}
.content-wrap .category-link li::before {
	display: none;
}
.content-wrap .category-link.fixed li {
	margin-bottom: .5em;
} 
.category-link li:last-child {
	margin-bottom: 0;
}
.category-link a {
	position: relative;
	display: inline-block;
	padding-left: 1em;
	font-family: NotoSansJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1.5;
	color: #666;
}
.category-link a:hover,
.category-link a.current {
	color: #202020;
}
.category-link a::before {
	content: '';
	transition: all .5s ease;
}
.category-link a:hover::before,
.category-link a.current::before {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #00aa83;
}
.works-list {
	/* max-width: 1160px; */
	max-width: 1130px;
	width: 75.333%;
}
.works-list > ul {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.content-wrap .works-list li {
	padding-left: 0;
}
.content-wrap .works-list li::before {
	display: none;
}
.works-list > ul li {
	width: 31%;
	margin: 0 3.5% 60px 0;
}
.works-list > ul li:nth-child(3n) {
	margin-right: 0;
}
.works-list figure {
	position: relative;
	padding-top: 66.666%;
	margin-bottom: .5em;
	overflow: hidden;
	background-color: #f4f4f4;
}
.works-list figure img {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all .5s ease;
}
.works-list a:hover figure img {
	transform-origin: center;
    transform: scale(1.1) translateX(-45%);
}
.works-list > ul li a {
	font-family: NotoSansJP, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	font-size: 1.25rem;
	color: #202020;
}
.works-list > ul li a:hover {
	color: #00aa83;
}
.works-list > ul li a .cat {
	display: block;
	font-size: 1rem;
	color: #666666;
}
.works-list > ul li a em {
	font-style: normal;
}
.works-list > ul li a em br {
	display: none;
}
/* works詳細 -----------------------------*/
.works-wrap h3 span {
	display: block;
	font-size: 1.125rem;
	line-height: 2.5;
	letter-spacing: normal;
	color: #666;
}
.works-wrap .img-wrap {
	width: 46.666%;
}
.works-wrap .txt-wrap {
	width: 46.666%;
}
.works-wrap .half-wrap {
	margin-bottom: 80px;
}
.works-wrap .img-wrap figure {
	text-align: center;
}
.works-wrap dl {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin-bottom: 1em;
}
/* .works-wrap dl:first-of-type {
	margin-top: 2em;
} */
.works-wrap dl:last-of-type {
	margin-bottom: 0;
}
.works-wrap dt {
	width: 25%;
	padding-bottom: .5em;
	border-bottom: 2px solid #0b308e;
	font-weight: 700;
}
.works-wrap dd {
	width: 75%;
	padding: 0 0 .5em 1em;
	border-bottom: 2px solid #d4d4d4;
}
.content-wrap .gallery {
	margin-bottom: 80px;
}
.content-wrap .gallery ul li {
	padding-left: 0;
}
.content-wrap .gallery ul li::before {
	display: none;
}
.gallery ul {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.gallery li {
	width: calc( ( 100% - ( 30px * 3 ) ) / 4 );
	margin-right: 30px;
	line-height: 1.6;
}
.gallery li:last-child {
	margin-right: 0;
}
.related-links a {
	color: #202020;
}
.related-links a:hover {
	color: #00aa83;
}
.gallery figure {
	position: relative;
	padding-top: 66.666%;
	overflow: hidden;
	background-color: #f4f4f4;
	margin-bottom: .3em;
}
.gallery figure img {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all .5s ease;
}
.related-links {
	margin-bottom: 80px;
}
.related-links .slide {
	margin: 0 5px;
}
.related-links a em {
	font-style: normal;
}
.related-links a em br {
	display: none;
}
.related-links figure {
	position: relative;
	padding-top: 66.666%;
	margin-bottom: .5em;
	overflow: hidden;
	background-color: #f4f4f4;
}
.related-links figure img {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all .5s ease;
}
.related-links a:hover figure img {
	transform-origin: center;
    transform: scale(1.1) translateX(-45%);
}
.related-links .slider {
	position: relative;
}
.related-links .slick-track {
	margin-left: 0;
	margin-right: 0;
}
.related-links .slick-prev,
.related-links .slick-next {
	width: 50px;
	height: 50px;
	z-index: 1;
}
.related-links .slick-prev::before,
.related-links .slick-next::before {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-radius: 50%;
	border: 2px solid #00aa83;
	transition: all .5s ease;
	box-sizing: border-box;
}
.related-links .slick-prev::before {
	background: url(../img/arrow03-green-rv.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .slick-next::before {
	background: url(../img/arrow03-green.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .slick-prev:hover::before {
	background: #00aa83 url(../img/arrow03-w-rv.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .slick-next:hover::before {
	background: #00aa83 url(../img/arrow03-w.svg) no-repeat center center;
	background-size: 13px;
}
/* .related-links .swiper-button-prev,
.related-links .swiper-button-next {
	position: absolute;
	top: 45%;
	transform: translateY(-45%);
	cursor: pointer;
	z-index: 1;
}
.related-links .swiper-button-prev {
	left: -60px;
}
.related-links .swiper-button-next {
	right: -60px;
}
.related-links .swiper-button-prev::before,
.related-links .swiper-button-next::before {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 2px solid #00aa83;
	transition: all .5s ease;
}
.related-links .swiper-button-prev::before {
	background: url(../img/arrow03-green-rv.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .swiper-button-next::before {
	background: url(../img/arrow03-green.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .swiper-button-prev:hover::before {
	background: #00aa83 url(../img/arrow03-w-rv.svg) no-repeat center center;
	background-size: 13px;
}
.related-links .swiper-button-next:hover:before {
	background: #00aa83 url(../img/arrow03-w.svg) no-repeat center center;
	background-size: 13px;
} */
.works-wrap .btn a::after {
	content: '';
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 36px;
	height: 16px;
	background: url(../img/arrow01-green.svg) no-repeat center center;
	background-size: contain;
	transition: all .5s ease;
}
.works-wrap .btn a:hover::after {
	background: url(../img/arrow01-w.svg) no-repeat center center;
	background-size: contain;
}
/* responsive ----------------------------*/
@media screen and (max-width: 1200px) {
	.works-archive .half-wrap {
		flex-wrap: wrap;
	}
	.category-link {
		width: 100%;
		margin-bottom: 50px;
	}
	.category-link ul {
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: start;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.content-wrap .category-link li {
		margin-right: .5em;
		margin-bottom: 1.25em;
	}
	.category-link li a {
		display: inline-block;
		padding: .5em 1em;
		border: 1px solid #d4d4d4;
		border-radius: 20px;
		line-height: 1;
	}
	.category-link li a::before {
		display: none;
	}
	.works-list {
		width: 100%;
	}
	.category-link li a.current,
	.category-link li a:hover {
		border: 1px solid #00aa83;
		color: #00aa83;
	}
	.works-wrap h3 span {
		font-size: 1.125rem;
	}
	.gallery ul {
		flex-wrap: wrap;
	}
	.gallery li {
		width: calc( ( 100% - ( 20px * 2 ) ) / 3 );
		margin-right: 20px;
	}
	.gallery li:nth-child(3n) {
		margin-right: 0;
	}
	.related-links .swiper-button-prev {
		left: -40px;
	}
	.related-links .swiper-button-next {
		right: -40px;
	}
}
@media screen and (max-width: 800px) {
	.works-list > ul li {
		width: 49%;
		margin: 0 2% 40px 0;
	}
	.works-list > ul li:nth-child(3n) {
		margin-right: 2%;
	}
	.works-list > ul li:nth-child(2n) {
		margin-right: 0;
	}
	.works-list > ul li a {
		font-size: 1.125rem;
	}
	.works-list > ul li a .cat {
		font-size: .875rem;
	}
	.works-wrap .half-wrap {
		flex-wrap: wrap;
	}
	.works-wrap .img-wrap {
		width: 100%;
		margin-bottom: 40px;
	}
	.works-wrap .txt-wrap {
		width: 100%;
	}
	.gallery li {
		width: calc( ( 100% - 20px ) / 2 );
		margin-bottom: 30px;
	}
	.gallery li:nth-child(3n) {
		margin-right: 20px;
	}
	.gallery li:nth-child(2n) {
		margin-right: 0;
	}
	.gallery li:last-child {
		margin-bottom: 0;
	}
	.related-links .swiper-button-prev {
		left: -20px;
	}
	.related-links .swiper-button-next {
		right: -20px;
	}
}
@media screen and (max-width: 480px) {
	.category-link {
		margin-bottom: 30px;
	}
	.works-list > ul li {
		width: 100%;
		margin: 0 0 40px;
	}
	.works-list > ul li:nth-child(3n) {
		margin-right: 0;
	}
	.works-wrap .half-wrap,
	.gallery {
		margin-bottom: 60px;
	}
	.works-wrap h3 span {
		font-size: 1rem;
	}
	.works-wrap dt {
		width: 6em;
	}
	.gallery li {
		width: 100%;
		margin-right: 0;
	}
	.gallery li:nth-child(3n) {
		margin-right: 0;
	}
	.related-links .slide {
		margin: 0;
	}
}


/* sitemap
---------------------------------------------------------*/
#sitemap .half-wrap {
	flex-wrap: wrap;
}
#sitemap .content-wrap ul {
	width: 22%;
}
#sitemap .content-wrap ul.sub-menu {
	width: 100%;
	margin-top: 1em;
}
#sitemap .content-wrap li {
	font-size: 1.25rem;
	padding-left: 26px;
	margin-bottom: 1em;
}
#sitemap .content-wrap .sub-menu li {
	font-size: 1.125rem;
	padding-left: 12px;
}
#sitemap .content-wrap li::before {
	top: .4em;
	width: 20px;
	height: 20px;
	background: #00aa83 url(../img/arrow03-w.svg) no-repeat center center;
	background-size: 6px;
}
#sitemap .content-wrap .sub-menu li::before {
	top: .4em;
	width: 6px;
	height: 18px;
	background: url(../img/arrow03-green.svg) no-repeat center center;
	background-size: contain;
}
#sitemap .content-wrap a {
	color: #202020;
}
#sitemap .content-wrap a:hover {
	color: #00aa83;
}
@media screen and (max-width: 1200px) {
	#sitemap .content-wrap ul {
		width: 48%;
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 700px) {
	#sitemap .content-wrap ul {
		width: 100%;
		margin-bottom: 0;
	}
}

/* contact
-----------------------------------------------*/
#contact dl {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #ddcaca;
	padding: 1.5em 0;
}
#contact dt {
	width: 25%;
	padding-right: 1.5em;
}
#contact dd {
	width: 75%;
}
#contact dt p {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	align-items: center;
	margin: 0;
}
#contact dt span {
	display: inline-block;
	line-height: 1;
}
.need {
	display: inline-block;
	font-size: 1rem;
	color: #FFF;
	background-color: #0b308e;
	padding: .2em .3em;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 100%;
	padding: .5em;
	line-height: 2;
}
input[type="date"] {
	padding: .5em;
}
input[type="text"].zipcode {
	width: 10em;
}
input[type="text"].zipcode:first-of-type {
	margin-right: .5em;
}
#contact label {
	margin: 0 .5em 0 0;
}
::placeholder {
	color: #848484;
}
.privacy-box {
	width: 100%;
	padding: 1.5em 2em;
	background-color: #d7eef4;
	text-align: center;
	margin: 50px 0;
}
.privacy-box .need {
	margin-left: .5em;
	line-height: 1;
}
.btn-area p {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.wpcf7-submit {
	width: 300px;
	height: 60px;
	margin: 0 auto;
	border: 1px solid #0b308e;
	background-color: transparent;
	color: #0b308e;
	cursor: pointer;
	transition: all .5s ease;
}
.wpcf7-submit:hover {
	background-color: #0b308e;
	color: #FFF;
}
.wpcf7-submit:disabled {
	border: 1px solid #d6d6d6;
	background-color: #e4e4e4;
	color: #a2a2a2;
	cursor: default;
}
.wpcf7-form.sent .wpcf7-response-output {
	display: none;
}

@media screen and (max-width: 1200px) {
	#contact dl {
		flex-wrap: wrap;
	}
	#contact dt {
		width: 100%;
		padding-right: 0;
		padding-bottom: 1em;
	}
	#contact dd {
		width: 100%;
	}
	#contact dt p {
		-webkit-box-pack: start;
		justify-content: flex-start;
	}
	#contact dt span {
		margin-left: .5em;
	}
}

/* 物件マップ
-------------------------------------------*/
#projectmap {
	background: #f2f2f2;
	/* padding: 100px 14vw; */
}
#projectmap .map-wrap {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto 60px;
}
#projectmap .map {
    position: relative;
    width: 100%;
    padding-top: 66.666%;
	overflow: hidden;
}
#projectmap .map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#projectmap .area {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px 3.125vw;
}
#projectmap .area .btn {
	display: flex;
	justify-content: center;
	align-items: center; 
	width: 100%;
	height: 80px;
	background-color: #036eb7;
	color: #FFF;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .03em;
	transition: all .5s ease;
}
#projectmap .area .btn.open,
#projectmap .area .btn:hover {
	background-color: #37c4e4;
}
#projectmap .area .btn.open::after,
#projectmap .area .btn::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 11px;
	background: url(../img/arrow-down-w.svg) no-repeat center center;
	background-size: contain;
	margin-left: .3em;
	transition: all .5s ease;
}
#projectmap .area .btn:hover::after {
	transform: rotate(180deg);
}
 
#projectmap .project-list {
	display: none;
	padding: 0 0 30px;
}
#projectmap .project-list dt {
	font-weight: 500;
	font-size: 1.375rem;
	margin-top: 1.5em;
}
#projectmap .project-list dd {
	position: relative;
	padding-left: 1em;
}
#projectmap .project-list dd::before {
	content: '';
	position: absolute;
	left: 0;
	top: .8em;
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #37c4e4;
}
#projectmap .project-list dd br {
	display: none;
}
#projectmap .project-list dd a {
	color: #242424;
}
#projectmap .project-list dd a:hover {
	color: #00aa83;
}
#projectmap .project-list dd a[target="_blank"]::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../img/newtab-k.svg) no-repeat center center;
	background-size: contain;
	margin-left: .3em;
	margin-top: .3em;
	transition: all .5s ease;
}
#projectmap .project-list dd a[target="_blank"]:hover::after {
	background: url(../img/newtab-gr.svg) no-repeat center center;
	background-size: contain;
}
.hanrei {
	padding: 1em 1.5em;
	font-size: 1rem;
	border: 1px solid #d4d4d4;
}
.hanrei p {
	margin: 0 0 .5em;
	font-weight: 500;
}
.hanrei ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 15px 2%;
	line-height: 1.5;
}
.content-wrap .hanrei li {
	position: relative;
	padding-left: 1.3em;
}
.content-wrap .hanrei li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .25em;
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 0;
}
.hanrei li.theaters::before {
	background-color: #0097a7;
}
.hanrei li.museums::before {
	background-color: #ffd600;
}
.hanrei li.physical-education::before {
	background-color: #795548;
}
.hanrei li.school-research::before {
	background-color: #ff5252;
}
.hanrei li.welfare-medical::before {
	background-color: #0288d1;
}
.hanrei li.industrial-transportation::before {
	background-color: #e65100;
}
.hanrei li.hotels::before {
	background-color: #7cb342;
}
.hanrei li.office-buildings::before {
	background-color: #0f9d58;
}
.hanrei li.housing-dormitory::before {
	background-color: #c2185b;
}
.hanrei li.others::before {
	background-color: #9c27b0;
}

/* responsive --------------------------------------*/

@media screen and (max-width: 1400px) {
	#projectmap {
		padding: 100px 10vw;
	}
}

@media screen and (max-width: 1200px) {
	#projectmap {
		padding: 80px 5vw;
	}
	#projectmap .area .btn,
	#projectmap .project-list dt {
		font-size: 1.25rem;
	}
}

@media screen and (max-width: 800px) {
	#projectmap .area .btn {
		height: 70px;
	}
}

@media screen and (max-width: 700px) {
	#projectmap .map {
		padding-top: 100%;
	}
	#projectmap .area {
		grid-template-columns: 1fr 1fr;
	}
	#projectmap .area .btn, .project-list dt {
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 480px) {
	#projectmap .area {
		grid-template-columns: 1fr;
		gap: 3.125vw;
	}
}