.head_wrap{
	width: 100%;
	position: relative;
	margin: 0;
	overflow: hidden;
}
.head_wrap:before{
	padding-top: 32%;
	content: "";
	display: block;
}
.head_wrap .head_photo{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.head_wrap .head_photo img{
	width: auto;
	height: 100%;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.head_wrap .mask{
	width: 80%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.55 );
	display: block;
	z-index: 20;
}
.head_wrap .pagetitle{
	position: absolute;
	z-index: 30;
	width: 90%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: var(--color-lightText);
	padding-top: 120px;
}
.head_wrap .pagetitle h1.title{
	font-size: 2.5em;
	margin: 0;
}
.head_wrap .pagetitle .sub-title{
	font-size: 1.125em;
	margin: 0;
}
nav#breadcrumb{
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.45 );
	height: 60px;
	line-height: 60px;
	z-index: 40;
	color: var(--color-lightText);
	width: 100%;
	box-sizing: border-box;
	padding: 0 1em;
}
nav#breadcrumb ol{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
	margin: auto;
}
nav#breadcrumb ol li{
	line-height: 60px;
}
nav#breadcrumb ol li:after{
	content: ">";
	display: inline-block;
	vertical-align: middle;
	margin: 0 .5em;
	padding: 0;
}
nav#breadcrumb ol li:last-child:after{
	content: "";
	margin-right: 0;
}
nav#breadcrumb ol li a{
	color: var(--color-lightText);
	text-decoration: none;
}
@media screen and (max-width: 1024px){
/*smart phone*/
	nav#breadcrumb{
		display: none;
	}
}
@media screen and (max-width: 768px){
	.head_wrap:before{
		padding-top: 50%;
		content: "";
		display: block;
	}
}
@media screen and (max-width: 599px) {
	.head_wrap .pagetitle{
		padding-top: 80px;
	}
}

/*parts
************************************************************************************/
/*title
----------------------------------------------------------------------*/
main h1{
	font-size: 2.25em;
	background: url("../img/icon_title_bk.svg") no-repeat left top;
    padding: .3em 0 .3em 90px;
	display: inline-block;
	text-align: left;
	color: var(--color-baseText);
	margin-bottom: 1em;
}
main h1:first-letter{
	font-style: normal;
	color: var(--color-point);
}
main h1 span{
	font-size: 0.444em;
	display: block;
	margin-bottom: .0em;
	padding-left: .2em;
}

main h2{
	font-size: 1.875em;
	text-align: left;
	color: var(--color-baseText);
	margin-bottom: 1em;
}
main h2:before{
	content: "■";
	color: var(--color-point);
	font-size: 12px;
	display: inline-block;
	vertical-align: top;
	padding: .5em .7em 0;
}

main h3{
	font-size: 1.563em;
	text-align: left;
	color: var(--color-baseText);
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 15px;
	font-weight: 800;
}
main h3:first-letter{
	font-style: normal;
	color: var(--color-point);
}
main h3:before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1.5em;
	height: 1px;
	background: var(--color-point);
}

main h4{
	font-size: 1.313em;
	font-weight: 800;
	text-align: left;
	color: var(--color-baseText);
	position: relative;
	margin-bottom: 1em;
	padding-right: 2em;
	display: inline-block;
	width: auto !important;
}
main h4:after{
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
	width: 1.5em;
	height: 1px;
	background: var(--color-baseText);
}

.post-contents {
	margin-bottom: 70px;
}
.post-contents ul li{
	margin: 0 0 15px 0;
}
.post-contents ul li:before{
	content: "●";
	font-size: 13px;
	color: var(--color-point);
	padding-right: .5em;
}

.post-contents ol{
	margin: 1.5em 0;
	padding: 0;
	counter-reset:number;
	list-style:none;
}

.post-contents ol > li{
	margin: 0 0 1em 2.5em;
	background: none;
	list-style-type: none;
}
.post-contents ol > li:last-child{
	margin: 0 0 0 2.5em;
}
.post-contents ol > li:before {
	counter-increment: number;
	content: counter(number);
	margin: -.3em 7px 0 -2.5em;
	width: 2em;
	height: 2em;
	background: var(--color-point);
	color: var(--color-lightText);
	border-radius: 50%;
	text-align: center;
	line-height: 2em;
	float: left;
}
.post-contents ol > li p{
	margin: 0;
	padding: 0;
	zoom: 1;
	overflow: auto;
	text-indent: 0;
}

/*blockquote*/
.post-contents blockquote{
	max-width: 90%;
	position: relative;
	padding: 3em 2.5em 2em 3.5em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	margin: 1em auto 2em;
	color: #000000;
	background-color: #eef5f7;/*変更したい*/
}
.post-contents blockquote::before {
	display: inline-block;
	position: absolute;
	top: 1em;
	left: 1.5em;
	width: 1.5em;
	height: 1.5em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M21.8%2012H18V9c0-1.7%201.3-3%203-3h.4c.6%200%201.1-.5%201.1-1.1V2.6c0-.6-.5-1.1-1.1-1.1H21c-4.1%200-7.5%203.4-7.5%207.5v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6C24%2013%2023%2012%2021.8%2012zM8.2%2012H4.5V9c0-1.7%201.3-3%203-3h.4C8.5%206%209%205.5%209%204.9V2.6c0-.6-.5-1.1-1.1-1.1h-.4C3.4%201.5%200%204.9%200%209v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6c.1-1.2-.9-2.2-2.2-2.2z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	content: '';
	opacity: .4;
}
.post-contents blockquote p {
	margin-top: 0;
}
.post-contents blockquote cite {
	display: block;
	opacity: .9;
	font-size: .8em;
	text-align: right;
}
/*caption*/
.post-contents .wp-caption{
	margin-bottom: 2em;
	background: #fff;
	border: 1px solid #ddd;
	padding: 10px;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.post-contents .wp-caption-text{
	text-align: center;
	margin: 0 auto;
	padding: 10px 0 0;
	font-size: 0.933em;
}
.post-contents .wp-caption img[class*="wp-image-"]{
	display: block;
	margin: 0 auto;
	max-width: 100%;/*掲載時削除*/
	height: auto;/*掲載時削除*/
}

@media screen and (max-width: 599px) {
    main h1{
        font-size: 1.7em;
        min-height: 70px;
    }
	.post-contents blockquote{
		padding: 3.5em 1.5em 2em 1.5em;
	}
}



/*table
----------------------------------------------------------------------*/
table{
	margin: 5px auto 15px auto;
	width: 100%;
	border: 1px solid var(--table-border);
}

table thead th{
	padding: 15px;
	border: 1px solid var(--table-border);
	text-align: center;
	font-weight:bold;
	background-color: var(--table-thead-th-bg);
	color: var(--table-thead-th-color);
}
table thead th a{
	color: var(--table-thead-th-color);
}
table tbody th{
	padding: 1px 10px;
	text-align: center;
	background-color: var(--table-tbody-th-bg);
	border: 1px solid var(--table-border);
	color: var(--table-tbody-th-color);
}
table tbody td{
	padding: 15px;
	border: 1px solid var(--table-border);
	background: var(--table-td-bg);
	color: var(--table-td-color);
}


@media screen and (max-width: 620px) {
	table.smartphone{
		display: block;
		width: 100%;
		border: 0 !important;
	}
	table.smartphone thead{
		display: none;
	}
	table.smartphone tbody{
		display: block;
		width: 100%;
	}
	table.smartphone tr{
		display: block;
		width: 100%;
	}
	table.smartphone th,
	table.smartphone td{
		display: list-item;
		width: 100%;
		padding: 10px 10px !important;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}
	table.smartphone th{
		list-style-type: none;
		color: #000;
		display: block;
	}

	table.smartphone td{
		margin-left: 0;
		list-style-type: none;
		border: 0 !important;
	}
}



/*btn
----------------------------------------------------------------------*/
.btn_green a,
.btn_red a{
	display: inline-block;
	flex: 1 1 auto;
	padding: 1.2em 6em 1.2em 2em;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	color: var(--color-lightText);
	text-decoration: none;
	
	text-transform: uppercase;
	position: relative;
	overflow:hidden;
	transition: .3s;
	z-index: 100;
}
.btn_green a:before,
.btn_red a:before{
	content: "";
	display: block;
	position: absolute;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
	width: 50px;
	height: 30px;
}

.btn_green a{
	background: var(--color-point);
}
.btn_green a:before{
	background: url("../img/ar_white.svg") no-repeat right 25px center;
	background-size: 15px 15px;
}
.btn_red a{
	background: var(--color-important);
}
.btn_red a:before{
	background: url("../img/ar_circle.svg") no-repeat right 25px center;
	background-size: 20px 20px;
}

@media screen and (min-width: 1024px){
	.btn_green a:after,
	.btn_red a:after{
		position: absolute;
		transition: .3s;
		content: '';
		width: 0;
		left: 50%;
		bottom: 0;
		height: 3px;
	}
	.btn_green a:after{
		background: #4e4e4e;
	}
	.btn_red a:after{
		background: #4e4e4e;
	}
	.btn_green a:after,
	.btn_red a:after{
		height: 120%;
		left: -10%;
		transform: skewX(15deg);
		z-index: -1;
	}
	.btn_green a:hover,
	.btn_red a:hover{
		cursor: pointer;
	}
	.btn_green a:hover:after,
	.btn_red a:hover:after{
		width: 100%;
		left: 0;
	}
	.btn_green a:hover:after,
	.btn_red a:hover:after{
		left: -10%;
		width: 120%;
	}
	.btn_green a:before,
	.btn_red a:before{
		transition: .3s;
	}
	.btn_green a:hover:before{
		content: "";
		background: url("../img/ar_white.svg") no-repeat right 15px center;
		background-size: 15px 15px;
	}
	.btn_red a:hover:before{
		content: "";
		background: url("../img/ar_circle.svg") no-repeat right 15px center;
		background-size: 20px 20px;
	}
}

/*contents top
************************************************************************************/
main.contents-top{
	position: relative;
	padding: 80px 0;
}
main.contents-top article{
}
main.contents-top .bg{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 50%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
main.contents-top .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
main.contents-top .mask{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.3 );
	z-index: -1;
	width: 50%;
	height: 100%;
	display: block;
	padding: 0;
	margin: 0;
}
main.contents-top ul.contents-top-menu{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 50px;
	row-gap: 50px;
	align-items: stretch;
}
main.contents-top ul.contents-top-menu li{
	position: relative;
	overflow: hidden;
	box-shadow: 0px 0px 14px -5px #191919;
}
main.contents-top ul.contents-top-menu li a{
	color: var(--color-lightText);
	text-decoration: none;
}
main.contents-top ul.contents-top-menu li:before{
	padding-top: 65%;
	content: "";
	display: block;
}
main.contents-top ul.contents-top-menu li .image{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
}
main.contents-top ul.contents-top-menu li .image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
main.contents-top ul.contents-top-menu li .title{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba( 0, 0, 0, 0.5 );
	font-size: 1.313em;
	width: 100%;
	padding: 2em 1em 1em;
	box-sizing: border-box;
	z-index: 20;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
main.contents-top ul.contents-top-menu li .title span{
	display: block;
	background: url("../img/ar_circle.svg") no-repeat right 5px center;
	background-size: 25px 25px;
}
@media screen and (min-width: 1024px){
	main.contents-top ul.contents-top-menu li .title span,
	main.contents-top ul.contents-top-menu li .image img{
		-webkit-transition: all 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	main.contents-top ul.contents-top-menu li:hover .title span{
		background: url("../img/ar_circle.svg") no-repeat right 0px center;
		background-size: 25px 25px;
	}
	main.contents-top ul.contents-top-menu li:hover .image img{
		transform: scale(1.1);
	}
}
@media screen and (max-width: 768px){
	main.contents-top{
		padding: 0;
	}
	main.contents-top ul.contents-top-menu{
		column-gap: 20px;
		row-gap: 20px;
	}
}
@media screen and (max-width: 415px){
	main.contents-top ul.contents-top-menu{
		grid-template-columns: 1fr;
		margin: 0 2%;
	}
}


/*contents common
************************************************************************************/
main.contents{
}
main.contents article{
	position: relative;
	padding: 80px 0;
}
main.contents article:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 50%;
	background: var(--contents-bg);
	z-index: -1;
}

main.contents.column article .wrapper{
	display: flex;
	flex-wrap: wrap;
}
main.contents.column article #side{
	width: 250px;
	padding: 50px 0 50px 50px;
	box-sizing: border-box;
}
main.contents.column article #side h1{
	text-align: center;
	font-weight: 500;
	font-size: 1.313em;
	color: var(--color-point);
	margin-bottom: 1em;
	background: none;
	padding: 0;
	display: block;
}
main.contents.column article #side ul{
	border-top: 1px solid #DFDFDF;
	padding-top: 1em;
}
main.contents.column article #side ul li{
	padding: 0 0 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #DFDFDF;
}
main.contents.column article #side ul li a{
	text-decoration: none;display: block;
	background: url("../img/ar_black.svg") no-repeat right 10px center;
}
@media screen and (min-width: 1024px){
	main.contents.column article #side ul li a{
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	main.contents.column article #side ul li a:hover{
	background: url("../img/ar_black.svg") no-repeat right 0px center;
	}
}
main.contents.column article .section{
	width: calc(100% - 250px);
}

@media screen and (max-width: 768px){
	main.contents article{
		padding: 0px 0;
	}
	main.contents.column article .wrapper{
		display: flex;
		flex-wrap: wrap;
		width: 95%;
		margin: auto;
	}
	main.contents.column article #side{
		width: 100%;
		order:1;
		padding: 50px 0 0;
	}
	main.contents.column article #side h1{
		background: var(--color-point);
		color: var(--color-lightText);
		padding: 1em;
	}
	main.contents.column article #side h1::first-letter{
		color: var(--color-lightText);
	}
	main.contents.column article .section{
		width: 100%;
		order:2;
	}
}

/*case-studies
************************************************************************************/
/*list
----------------------------------------------------------------------*/
#case-studies ul.archive-list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 30px;
	row-gap: 30px;
	align-items: stretch;
}
#case-studies ul.archive-list li{
	background: var(--color-lightText);
	box-shadow: 0px 0px 14px -5px #191919;
}
#case-studies ul.archive-list li a{
	text-decoration: none;
}
#case-studies ul.archive-list li .photo{
	position: relative;
	overflow: hidden;
}
#case-studies ul.archive-list li .photo:before{
	padding-top: 66%;
	display: block;
	content: "";
}
#case-studies ul.archive-list li .photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

#case-studies ul.archive-list li .details{
	padding: 1.5em 1.5em 2.5em;
}

#case-studies ul.archive-list li .details_title {
	font-size: 1.313em;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	margin-bottom: .8em;
}

#case-studies ul.archive-list li .details_btn{
	background: url("../img/ar_black.svg") no-repeat right 8px top .55em;
	display: inline-block;
	position: relative;
	padding: 0 35px 10px 0;
}
#case-studies ul.archive-list li .details_btn:before{
	content: "";
	background: #C5C5C5;
	height: 1px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
}
#case-studies ul.archive-list li .details_btn:after{
	content: "";
	background: var(--color-point);
	height: 1px;
	width: 30px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 20;
}
@media screen and (min-width: 1024px){
	#case-studies ul.archive-list li .details_btn{
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	#case-studies ul.archive-list li:hover .details_btn{
		background: url("../img/ar_black.svg") no-repeat right 3px top .55em;
		color: var(--color-point);
	}
}
@media screen and (max-width: 1024px){
	#case-studies ul.archive-list{
		grid-template-columns: 1fr 1fr;
	}
}

/*details
----------------------------------------------------------------------*/
#case-studies .photogallery{
	margin: 50px 0 70px;
}
#case-studies .slider-for{
	width: 100%;
	height: auto;
	margin: 0 auto 2em;
}
#case-studies .slider-for img{
	width: 100%;
	height: 630px;
	object-fit: contain;
}
#case-studies .slider-for li .caption{
	margin: 1em 0 0;
	text-align: center;
	font-weight: 500;
	font-size: 1.125em;
}
#case-studies .slick-list{
	padding: 0 !important;
}
#case-studies .slider-nav li{
	width: calc(100% / 3);
	position: relative;
	overflow: hidden;
	display: block;
}
#case-studies .slider-nav li:before{
	padding-top: 60%;
	content: "";
	display: block;
}
#case-studies .slider-nav li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.slick-slide{
	height: auto !important;
	min-height: auto;
	min-height: initial;
}
.slick-prev,
.slick-prev:hover,
.slick-prev:focus{
	background: url("../img/ar_prev.svg") no-repeat;
	background-size: 35px 35px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	border: 0;
	left: -50px;
	display: block !important;
}
.slick-next,
.slick-next:hover,
.slick-next:focus{
	background: url("../img/ar_next.svg") no-repeat;
	background-size: 35px 35px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	border: 0;
	right: -50px;
	display: block !important;
}
.slick-prev:before,
.slick-prev:after,
.slick-next:before,
.slick-next:after{
	display: none;
}
.slick-active {
	opacity: 1;
}
.slick-current {
	opacity: 1;
}
.slider-nav {
	margin: 20px 0 0;
	display: flex;
	justify-content: space-between;
	lex-wrap:wrap;
}
.slider-nav li.slider_item{
	flex: 0 1 30%;
	margin-bottom: 10px;
	box-sizing: border-box;
	position:relative;
}
.slider-nav li.slider_item:after{
	content:'';
	background-color: rgba(0,0,0,0.5);
	position:absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: .3s opacity linear;
}
.slider-nav li.slider_item.thumbnail-current:after{
	opacity: 0;
}
.slider-nav .slick-slide {
	cursor: pointer;
}
.slider-nav .slick-slide:hover {
	opacity: .7;
}
@media screen and (max-width: 1024px){
	#case-studies .photogallery{
		margin: 0px 0 70px;
	}
	#case-studies .slider-for img{
		width: 100%;
		height: 350px;
		object-fit: contain;
	}
}
@media screen and (max-width: 768px){
	#case-studies .slider-for img{
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

/*news
************************************************************************************/
#news ul.archive-list{
	margin: 50px 0 50px 0;
	border-top: 1px solid var(--color-sub);
}

#news ul.archive-list li{
	width: 100%;
	display: table;
	padding: 1.5em 0;
	border-bottom: 1px solid var(--color-sub);
}
#news ul.archive-list li p{
	margin: 0;
	display: table-cell;
	vertical-align: top;
}
#news ul.archive-list li .date {
	width: 8em;
}
#news ul.archive-list li .category {
	width: 10em;
}
#news ul.archive-list li .category span{
	background: var(--color-sub);
	display: block;
	color: var(--color-lightText);
	font-size: 0.813em;
	text-align: center;
	margin-right: 2em;
}
#news .titleBox{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 30px;
}
#news .titleBox .category{
	margin-left: auto;
}
#news .titleBox .category span{
	background: var(--color-sub);
	display: inline-block;
	color: var(--color-lightText);
	font-size: 0.813em;
	padding: 2px 1em;
}
@media screen and (max-width: 599px) {
	#news ul.archive-list li{
		display: block;
	}
	#news ul.archive-list li p{
		display: inline-block;
	}
	#news ul.archive-list li .title {
		display: block;
		margin-top: .7em;
	}
}

/*会社情報ページ 代表メッセージ見出し明朝体
----------------------------------------------------------------------*/
#page_aboutus main h3 {
	font-family: "Shippori Mincho", serif;
}
