@charset "UTF-8";

@media screen and (min-width:769px) {
	html {
		font-size: 15px;
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size: 3.33vw;
	}
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #2f2318;
	line-height: 2;
	letter-spacing: 0.1em;
	width: 100%;
	margin: 0;
	padding: 0;
	font-weight: normal;
	background: url(/images/bg01.png) center center repeat;
	/*-- スマホメニューを開いたときにコンテンツを固定 ← これがキモ --*/
}
@media screen and (min-width:769px) {
	body {
		min-width: 1080px;
	}
}
@media screen and (max-width: 768px) {
	body {
		min-width: 100%;
	}
}
/* ==================================================
色設定
================================================== */
.basic {
	color: #2f2318 !important;
}
.bg_basic {
	background: #2f2318 padding-box !important;
}
.red {
	color: #c11e1e !important;
}
.bg_red {
	background: #c11e1e padding-box !important;
}
.brown {
	color: #59493f !important;
}
.bg_brown {
	background: #59493f padding-box !important;
}
.orange {
	color: #e6a70e !important;
}
.bg_orange {
	background: #e6a70e padding-box !important;
}
.green {
	color: #00b900 !important;
}
.bg_green {
	background: #00b900 padding-box !important;
}
.blue {
	color: #1c3063 !important;
}
.bg_blue {
	background: #1c3063 padding-box !important;
}
.blue02 {
	color: #7ca1f8 !important;
}
.bg_blue02 {
	background: #7ca1f8 padding-box !important;
}
.yellow {
	color: #f5c442 !important;
}
.bg_yellow {
	background: #f5c442 padding-box !important;
}
.gray {
	color: #bbbbbb !important;
}
.bg_gray {
	background: #bbbbbb padding-box !important;
}
.gray02 {
	color: #fbf3de !important;
}
.bg_gray02 {
	background: #fbf3de padding-box !important;
}
.gray03 {
	color: #eee !important;
}
.bg_gray03 {
	background: #eee padding-box !important;
}
.white {
	color: #fff !important;
}
.bg_white {
	background: #fff padding-box !important;
}

/* ==================================================
section
================================================== */
@media screen and (min-width:769px) {
	.area00 {
		padding: 50px;
		border: 2px solid;
		margin: 50px auto;
		width: 1080px;
		background: #f0f0fe;
	}
	.area01 {
		height: 1176px;
		background: url(/images/top01.png) center center no-repeat;
		background-size: cover;
	}
	.area02 {
		height: 1266px;
		background: url(/images/top02.png) center center no-repeat;
		background-size: cover;
	}
	.area03 {
		height: 802px;
		background: url(/images/top03.png) center center no-repeat;
		background-size: cover;
	}
	.area04 {
		height: 520px;
		background: url(/images/top04.png) top center no-repeat;
	}
	.area07 {
		width: 100%;
		position: absolute;
		z-index: 9;
		top: 20px;
	}
	.area09 {
		height: 2607px;
		background: url(/images/works01.png) top center no-repeat;
	}
	.area10 {
		height: 790px;
		background: url(/images/works04.png) right calc(50vw + 40px) top 200px no-repeat;
	}
	.area11 {
		height: 350px;
		background: url(/images/works05.png) center center no-repeat;
	}
	.area12 {
		height: 767px;
		background: url(/images/recruit01.png) center center no-repeat;
	}
}
@media screen and (max-width: 768px) {
	.area02 {
		background: url(/images/top02.png) center center no-repeat;
		background-size: cover;
	}
	.area07 {
		display: none;
	}
}
/* ==================================================
btn01
================================================== */
.btn01 {
	width: auto;
	display: table;
}
.btn01 > * {
	width: 100%;
	height: 100%;
	padding: 10px 45px 10px 25px;
	background: #187731;
	align-items: center;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
	line-height: 1.5;
}
@media screen and (max-width: 768px) {
	.btn01 {
		width: 100%;
	}
}
/* ==================================================
btn02
================================================== */
.btn02 {
	letter-spacing: 0.2em;
	width: auto;
	display: table;
}
.btn02 > * {
	width: 100%;
	height: 100%;
	padding: 0.6em 1.5em 0.6em 1.5em;
	align-items: center;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
	line-height: 1.5;
	border: 1px solid;
}
.btn02 img {
	margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
	.btn02 {
		width: 100%;
	}
}
/* ==================================================
btn03(画像背景)
================================================== */
.btn03 {
	position: relative;
}
.btn03:before {
	content:"";
	display: block;
	padding-top: 25.23%;
}
.btn03 > a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(/images/bg00.png) center center / 100% 100% no-repeat;
}
@media screen and (max-width: 768px) {
	.btn03 > a {
		margin-left: auto;
		margin-right: auto;
	}
}

/* ==================================================
背景
================================================== */
@media screen and (min-width:769px) {
	.bg00 {
		position: relative;
	}
	.bg00:before {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		left: 50%;
		top: 0;
		transform: translate(-50%,-100%);
		-webkit- transform: translate(-50%,-100%);
		width: 100%;
		height: 20px;
		background: url(/images/bg00.png) center center repeat-x;
		pointer-events: none;
	}
	.bg00:after {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		left: 50%;
		bottom: 0;
		transform: translate(-50%,100%);
		-webkit- transform: translate(-50%,100%);
		width: 100%;
		height: 20px;
		background: url(/images/bg00.png) center center repeat-x;
		pointer-events: none;
	}
}
.bg01 {
	background: url(/images/bg01.png) center center repeat;
}
.bg02 {
	background: url(/images/bg02.png) center center repeat;
}
.bg03 {
	background: url(/images/bg03.png) center center repeat;
}
.bg04 {
	background: url(/images/bg04.png) center center repeat;
}


.arrow {
	position: relative;
}
.arrow:after {
	content: "";
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 17px;
	height: 17px;
	background: url(/images/arrow01.png) center center no-repeat;
	z-index: 1;
}
.arrow02 {
	position: relative;
	margin-bottom: 0.5em;
}
.arrow02:after {
	content: "";
	line-height: 1;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -0.9em;
	width: 0;
	height: 0;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1em 0.75em 0 0.75em;
	border-color: #fff transparent transparent transparent;
}
.arrow03:after {
content: "◆";
color: #9fe0ff;
line-height: 1;
display: block;
position: absolute;
left: 0;
bottom: 50%;
transform: translate(-50%,50%) scale( 1 , 0.5 );
-webkit- transform: translate(-50%,50%) scale( 1 , 0.5 );
}
.arrow04 {
	position: relative;
	margin-bottom: 0.5em;
}
.arrow04:after {
	content: "";
	line-height: 1;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -10px;
	width: 0;
	height: 0;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #e6a70e transparent transparent transparent;
}
.arrow05 {
	margin-right: 40px;
	display: table;
}
.arrow05:after {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(100%, -50%);
		-webkit- transform: translate(100%, -50%);
		content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1em 0 1em 1em;
    border-color: transparent transparent transparent #1753cd;
}


/* ==================================================
線
================================================== */
.border01 {
	border-bottom: 1px solid;
}
.border02 {
	padding: 0.2em 0;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
@media screen and (min-width:769px) {
.border03 {
	border-left: 1px solid;
}
}
.border04 {
	display:flex;
	align-items:center;
}
.border04:before {
	margin-right:1em;
	border-top:1px solid #2f2318;
	content:"";
	flex-grow:1;
}
.border05 {
	display:flex;
	align-items:center;
	text-align:center;
}
.border05:before {
	margin-right:1em;
	border-top:1px dotted #31baed;
	border-bottom:1px dotted #31baed;
	content:"";
	flex-grow:1;
	height: 5px;
}
.border05:after {
	margin-left:1em;
	border-top:1px dotted #31baed;
	border-bottom:1px dotted #31baed;
	content:"";
	flex-grow:1;
	height: 5px;
}
.border06 {
	display: inline;
	background: linear-gradient(transparent 60%, #d7ffbc 40%);
	padding: 0 0 0.2em;
}
.border07 {
	display:flex;
	align-items:center;
	text-align:center;
}
.border07:before {
	margin: 0 0.5em 0 auto;
	content:"";
	width: 24px;
	height: 34px;
	background: url(/images/border.png) center bottom no-repeat;
}
.border07:after {
	margin: 0 auto 0 0.5em;
	content:"";
	width: 24px;
	height: 34px;
	background: url(/images/border.png) center bottom no-repeat;
}
*,
*:before,
*:after {
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
@media screen and (max-width: 768px) {
	.all-wrap {
		width: 100%;
		overflow: hidden;
	}
}
@media screen and (min-width:769px) {
	.all-wrap {
		overflow: hidden;
		max-width: 1920px;
		margin: auto;
		min-width: 1080px;
		width: 100%;
		overflow: hidden;
	}
}

/* ▲ 色設定 ▲ */
.go {
	font-family: 'Noto Sans JP', sans-serif;
}
.min {
	font-family: 'Noto Serif JP', serif;
}
.maru {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.1deg);
}
.b {
	font-weight: 500;
}
.italic {
	font-style: italic;
}

/* ---------- ×SP版lightboxバグけし ---------- */
#lightbox {
	position: fixed !important;
	top: 50% !important;
	transform: translate(0,-50%) !important;
}
@media screen and (max-width: 768px) {
	.lb-container,
	.lb-data .lb-details,
	.lb-data,
	.lb-outerContainer,
	.lb-dataContainer {
		position: static;
	}
}
ul {
	font-size: 0;
	letter-spacing: -0.2em;
}
ul li {
	font-size: 1rem;
	letter-spacing: 0.1em;
	vertical-align: top;
	position: relative;
}
/*画像1枚だけの場合、サムネイル画像非表示=====*/
#thumb li:only-child,
#child li:only-child {
	display: none;
}
.header-visual-wrap {
	padding: 0;
	width: 100vw;
	overflow: hidden;
	position: relative;
}
@media screen and (min-width:769px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}

/* ==================================================
.gmap
================================================== */
.gmap {
	display: table;
	margin: auto;
	width: 100%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.gmap {
		width: 100%;
		height:80vh;
	}
}
/* ▲ .gmap ▲ */

table {
	width: 100%;
	border-collapse:collapse;
}
table th,
table td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	background-clip: padding-box;
	padding: 1em;
	position: relative;
}
@media screen and (max-width: 768px) {
	table th,
	table td {
		padding: 0.5em 1em;
	}
}
@media screen and (max-width: 768px) {
	.overflow {
		width: 100%;
		overflow-x: auto;
		border: 4px solid #ccc;
		padding: 1px;
	}
	.overflow table {
		width: auto !important;
		white-space: nowrap;
		max-width: none !important;
	}
	.overflow table * {
		max-width: none !important;
	}
	.overflow table th,
	.overflow table td {
		display: table-cell !important;
		width: auto !important;
	}
}
/* ▼ table.styled-table01 ▼ */
table.styled-table01 {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	border-bottom: 1px solid #8c8b8b;
	border-top: 1px solid #8c8b8b;
}
table.styled-table01 th {
	background: #7ca1f8 padding-box;
	border-top: 1px solid #cfcfcf;
	vertical-align: middle;
	text-align: left;
	padding: 1em;
	width: 30%;
}
table.styled-table01 td {
	border-top: 1px solid #cfcfcf;
	background: #fff padding-box;
	vertical-align: middle;
	text-align: left;
	padding: 1em;
}
table.styled-table01 tr:first-child th,
table.styled-table01 tr:first-child td {
	border-top: none;
}
table.styled-table01 tr:last-child th,
table.styled-table01 tr:last-child td {
	border-bottom: none;
}
@media screen and (max-width: 768px) {
	table.styled-table01 {
		border: none;
	}
	table.styled-table01 th {
		display: block;
		width: 100%;
		border: none;
		padding: 0.5em 1em;
	}
	table.styled-table01 td {
		width: 100%;
		display: block;
		border: none;
		padding: 0.5em;
	}
}
/* ▼ table.default ▼ */
table.default {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
table.default th {
	background: #e6a70e padding-box;
	border: 1px solid #fff;
	border-left: none;
	border-right: none;
	text-align: left;
	vertical-align: middle;
	padding: 0.5em 1em;
}
table.default td {
	border: 1px solid #2f2318;
	background: #fff padding-box;
	vertical-align: middle;
	text-align: left;
	padding: 0.5em 1em;
	border-left: none;
	border-right: none;
}
@media screen and (max-width: 768px) {
	table.default {
		border-bottom: 1px solid #b2b2b2;
	}
	table.default th,
	table.default td {
		width: 100%;
		display: block;
		border-bottom: none;
	}
}
/* ▼ table.default02 ▼ */
table.default02 {
	border-collapse: inherit;
	border-spacing: 5px;
}
table.default02 th {
	background: #9a7144;
	color: #fff;
}
table.default02 td {
	background: #ffffff;
}
@media screen and (max-width: 768px) {
	table.default02 {
		border-spacing: 0;
	}
	table.default02 th {
		display: block;
		width: 100%;
	}
	table.default02 td {
		display: block;
		width: 100%;
	}
}
/* ▼ table.default03 ▼ */
table.default03 {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.25;
	width: auto;
}
table.default03 tr th {
	vertical-align: top;
	text-align: left;
	padding: 0;
}
table.default03 tr td {
	vertical-align: middle;
	text-align: left;
	padding: 0;
}
table.default04 th {
	background: #cfcfcf padding-box;
	text-align: center;
	vertical-align: middle;
	padding: 0.5em 1em;
	border: 1px solid;
}
table.default04 td {
	text-align: center;
	vertical-align: middle;
	padding: 0.5em 1em;
	background: #fff padding-box;
	border: 1px solid;
}
/* ▼ table.sub ▼ */
table.sub {
	border-spacing: 0;
}
table.sub {
	border-collapse: collapse;
	border-spacing: 0;
}
table.sub th {
}
table.sub td {
}
@media screen and (min-width:769px) {
	table.sub tr:nth-child(2n){
		background: #fff;
	}
	table.sub tr:nth-child(2n - 1){
		background: #f7f5f5;
	}
}
@media screen and (max-width: 768px) {
	table.sub th {
		display: block;
		background: #f7f5f5;
		text-align: left;
		width: 100%;
	}
	table.sub td {
		display: block;
		background: #fff;
		width: 100%;
	}
}
/* ▲ table.sub ▲ */

/* ▼ table.sub02 ▼ */
table.sub02 tr th {
	text-align: center;
	vertical-align: middle;
	border: 1px solid;
}
table.sub02 tr td {
	vertical-align: middle;
	border: 1px solid;
}
@media screen and (max-width: 768px) {
	table.sub02 {
		border-top: 1px solid;
	}
	table.sub02 tr th {
		text-align: left;
		width: 100%;
		display: block;
		border-top: none;
	}
	table.sub02 tr td {
		width: 100%;
		display: block;
		border-top: none;
	}
}
/* ▲ table.sub02 ▲ */

/* ▼ table.sub03 ▼ */
@media screen and (min-width:769px) {
	table.sub03 tr {
		border-bottom: 1px solid #dde0e7;
	}
	table.sub03 tr th,
	table.sub03 tr td {
		vertical-align: top;
	}
	table.sub03 tr th {
		color: #9e0b42;
	}
	table.sub03 tr td {
	}
}
@media screen and (max-width: 768px) {
	table.sub03 tr th {
		color: #9e0b42;
		border-bottom: 1px solid #dde0e7;
		border-top: 1px solid #dde0e7;
	}
	table.sub03 tr th,
	table.sub03 tr td {
		width: 100%;
		display: block;
	}
}
/* ▲ table.sub03 ▲ */

/* ==================================================
汎用クラス
================================================== */
/* 整列
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.inner {
		margin-left: auto;
		margin-right: auto;
		width: 1080px;
	}
}
@media screen and (max-width: 768px) {
	.inner {
		width: 100%;
		left: inherit;
		margin-left: inherit;
		position: relative;
		padding: 0 1rem !important;
		box-sizing: border-box;
	}
}
@media screen and (min-width:769px) {
	.left_area {
		float: left;
		width: auto;
	}
	.right_area {
		float: right;
		width: auto;
	}
}
.left {
	text-align: left !important;
}
.center {
	text-align: center !important;
}
.right {
	text-align: right !important;
}
/* クリア
-------------------------------------------------- */
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

/* ==================================================
タグ
================================================== */
/* img
-------------------------------------------------- */
img {
	vertical-align: top;
	max-width: 100%;
	width: auto;
	height: auto;
	box-sizing: border-box;
	-webkit-backface-visibility: hidden;
	display: initial;
}
/* a
-------------------------------------------------- */
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	color: inherit;
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
}
/* ==================================================
#go_top
================================================== */
#go_top {
	position: fixed;
	bottom: 50px;
	right: 50px;
	width: 60px;
	height: 60px;/* ページ内リンク使用するなら必須 */
	background: url(/images/h_logo.png) center center / contain no-repeat;
	z-index: 9999;
}
@media screen and (max-width: 768px) {
	#go_top {
		display: none !important;
	}
}
/* ==================================================
#fixed_area
================================================== */
#fixed_area {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	min-width: 1080px;
	height: 38px;/* ページ内リンク使用するなら必須 */
	z-index: 9999;
}
@media screen and (max-width: 768px) {
	#fixed_area {
		display: none !important;
	}
}
/*@media screen and (min-width:769px) {
	a[id] {
		padding-top: 38px;
		margin-top:-38px;
		z-index: -1;
		height: 1px;
		width: 1px;
		display: block;
	}
}
@media screen and (max-width: 768px) {
	a[id] {
		top: -60px;
		z-index: -1;
		height: 1px;
		width: 1px;
		display: block;
	}
}*/
/* ▲ #fixed_area ▲ */
/* ▼▼ ul.fixed_list ▼▼ */
.fixed_list {
	z-index: 3;
	position: relative;
	width: 100%;
	margin: 0 auto;
}
.fixed_list > li:hover {
	-webkit-transition: all .5s;
	transition: all .5s;
}
/* floatクリア */
.fixed_list:before,
.fixed_list:after {
	content: " ";
	display: table;
}
.fixed_list:after {
	clear: both;
}
.fixed_list {
	*zoom: 1;
}
.fixed_list > li {
	position: relative;
	background: #fff;
}
.fixed_list > li > a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.2em 1em;
	background: #0f0;
}
.fixed_list > li > a:before {
	content: "\03e";
	display: block;
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	font-size: 50%;
	color: #a8d970;
}
/* ▼ ul.child ▼ */
ul > li > .child {
	width: 100%;
	height: 0;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	z-index: 2;
	position: absolute;
	right: 0;
	top: 100%;
	overflow: hidden;
}
ul > li:hover > .child {
	width: 100%;
	height: 300px;
}

ul > li > .child > li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 1em;
	color: #442800;
	background: #fff;
}
/* ▲▲ ul.fixed_list ▲▲ */
/* その他オプション
-------------------------------------------------- */
/* セルの横幅を均等にする
------------------------- */
.cell-width-fix {
	table-layout: fixed;
}
.cell-width-fix th,
.cell-width-fix td {
	width: auto;
}
/* セルの横幅を指定しない
------------------------- */
.cell-width-fazzy th,
.cell-width-fazzy td {
	width: auto;
}
/* 縦向き
------------------------- */
.direction-vertical,
.direction-vertical thead,
.direction-vertical tbody,
.direction-vertical tfoot,
.direction-vertical tr,
.direction-vertical th,
.direction-vertical td {
	width: auto;
	display: block;
}


/* ==================================================
dl
================================================== */
.styled-dl01 {
	margin: 0 0 20px;
	padding: 15px;
	border-radius: 3px;
	background: #f4f4f4;
}
.styled-dl01:last-child {
	margin-bottom: 0;
}
.styled-dl01 dt {
	margin: 0 0 10px;
	font-size: 20px;
}

/* ==================================================
パンくずリスト
================================================== */
.breadcrumbs-list {
	width: 100%;
	left: inherit;
	text-align: left;
	box-sizing: border-box;
	margin: 0;
	letter-spacing: -0.2em;
	font-size: 0.8em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.breadcrumbs-list li {
	display: inline;
	letter-spacing: 0.1em;
	vertical-align:middle;
}
.breadcrumbs-list li:not(:last-child):after {
	content: "\0bb";
	margin: 0 10px;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 0.8em;
}
/* ==================================================
パンくずリスト02
================================================== */
.breadcrumbs-list02 {
	left: inherit;
	text-align: left;
	box-sizing: border-box;
	margin: 0;
	letter-spacing: -0.2em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
	z-index: 10;
	padding: 1em 50px 1em 0;
	background: rgba(15,69,107,0.95);
	color: #fff;
	vertical-align: bottom;
	font-family: 'NotoSerifCJKjp', serif;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	font-size: 14px;
}
.breadcrumbs-list02 li {
	display: inline;
	letter-spacing: 0.1em;
	vertical-align:middle;
	padding: 0 1em;
	font-size: 14px;
}
.breadcrumbs-list02 li:not(:last-child) {
	border-right: 1px solid;
}
/*
@media screen and (min-width:769px) {
	.area07 {
		z-index: 5;
		position: absolute;
		width: 100%;
	}
}
.area07:before {
	content: "";
	z-index: -1;
	display: block;
	position: absolute;
	left: 0;
	width: calc((99.99% - 1080px) / 2);
	height: 100%;
	background: rgba(15,69,107,0.95);
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}*/
/* ==============================================　ASP　============================================== */

/* ==================================================
ページネーション
================================================== */
.pagenation {
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
	margin-top: 50px;
}
.pagenation li {
	margin: 0 0.25em;
	text-align: center;
	line-height: 1;
	background: #dde2e6;
}
.pagenation li > * {
	text-decoration: none;
	vertical-align: middle;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.5em 0.75em;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	.pagenation li > * {
		padding: 0.5em;
	}
}
.pagenation li:hover,
.pagenation li.current {
	background: #555;
	color: #fff;
	font-weight: bold;
}
.inline-privacy-policy iframe {
	width: 100%;
	height: 100%;
}
.contact-recaptcha-wrap {
	display: table;
	margin: 20px auto 0;
	text-align: center;
}
.contact-submits-wrap {
	text-align: center;
	margin-top: 20px;
}
.contact-submits-wrap input[type="submit"] {
	background: #f9f9f9;
	border: 1px solid #dfdfdf;
	color: #000;
	margin: 0 10px;
	padding: 1em 2em;
	border-radius: 1.5em;
	line-height: 1;
}
input#agree,
input#pc01,
input#pc02 {
	width: auto;
}
.required-mark {
	background: #e74c3c;
	padding: 0.5em 1em;
	line-height: 1;
	display: inline-block;
	color: #fff;
	font-size: 80%;
	border-radius: 0.2em;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	border-radius: 1.5em;
}
#contact-form table:nth-of-type(1) th {
	padding-right: 5em;
	position: relative;
}
.error-text {
	color: #e74c3c;
}
.dotted {
	border-bottom: 1px dotted;
}
.solid {
	border-bottom: 1px solid;
}
.dashed {
	border-bottom: 1px dashed;
}
/* ==============================================　▲ ASP　▲ ============================================== */


/* ==================================================
ヘッダー
================================================== */
.page-header_wrap {
	padding: 0;
	width: 100%;
	position: relative;
}
.page-header {
	width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	background: rgba(255,255,255,0.9);
	max-width: 1920px;
	min-width: 1080px;
	z-index: 1000;
}
/* ==================================================
ul.h_cate
================================================== */
@media screen and (min-width:769px) {
	ul.h_cate {
	}
	ul.h_cate > li:nth-child(1) {
		margin-right: auto;
	}
	ul.h_cate > li:not(:nth-child(1)) {
		padding-left: 15px;
	}
	ul.h_cate > li a {
		display: flex;
	}
}
/* gnv
-------------------------------------------------- */
ul.gnv {
	color: #fff;
	position: absolute;
	z-index: 2;
	top: 50px;
	right: 50px;
}
ul.gnv > li {
	flex-grow: 1;
}
ul.gnv > li:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 1px;
	height: 40px;
	background: #fff;
}
ul.gnv > li:nth-child(1):before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 1px;
	height: 40px;
	background: #fff;
}
ul.gnv > li > a {
	text-align: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
/* MV
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.main-visual {
		position: relative;
		width: 1920px;
		left: 50%;
		margin-left: -960px;
/*		height: 841px;
		background: url(/images/mv.png) center center;*/
	}
}

/*
.slick-slider,
.slick-slider * {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
*/
.catch {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.main-visual {
		height: 56.25vw; /*画像高さ÷1080vw*/
		font-size: 2rem !important;
		line-height: 1.3;
	}
	.catch > img {
		width: 90%;
		height: 90%;
		object-fit: scale-down;
		font-family: 'object-fit: scale-down;';
	}
}
/* ==================================================
.sub-visual
================================================== */
.sub-visual {
	width: 100%;
	height: 400px; /*画像高さ÷1080vw*/
	background: url(/images/sv.png) center center;
	background-size: cover;
}
@media screen and (min-width:769px) {
	.sub-visual h2 {
		padding-top: 100px;
	}
}
@media screen and (max-width: 768px) {
	.sub-visual {
		height: 30vw;
	}
	.sub-visual .inner {
		height: 100%;
	}
	.sub-visual .txt {
		font-size: 2rem;
	}
}
/*
.sub-visual .catch:before {
	content: "";
	display: block;
	position: absolute;
	width: 60px;
	height: 6px;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
	left: 50%;
	bottom: -50%;
	transform: translateX(-50%) !important;
	-webkit- transform: translateX(-50%) !important;
}*/


/* ==================================================
縦文字
================================================== */
.tate {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	text-align: initial;
}
/* 縦文字中央寄せ */
.move {
	width: 100%;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	vertical-align: middle;
	text-align: center;
	align-items: center;
	justify-content: center;
}
/* ==================================================
フッター
================================================== */
footer {
	background: #2f2318;
	color: #fff;
}
.footer-copyright {
	text-align: right;
}
@media screen and (max-width: 768px) {
	.footer-copyright {
		text-align: center;
		line-height: 1.2;
		padding: 0.5em 0;
		font-size: 0.8rem !important;
	}
}
@media screen and (min-width:769px) {
	ul.f_list li:before {
	content: "\03e";
	display: inline;
	margin-right: 0.5em;
	color: #ffea40;
	}
	ul.f_list li {
		margin-right: 1.5em;
	}
}
@media screen and (max-width: 768px) {
	ul.f_list {
		display: none;
	}
	footer {
		height: auto;
		padding: 2rem 0;
	}
	footer h2.header-logo {
		margin: auto;
		display: table;
	}
	footer ul.f_box > li {
		width: 100%;
		display: block;
	}
}
/* ==================================================
コンテンツ
================================================== */

/* タグリスト */
.post-tag-list {
	overflow: hidden;
}
.post-tag-list li {
	margin: 0 5px 0 0;
	float: left;
}
.post-tag-list li:not(:last-child):after {
	content: ',';
}
/* ==================================================
サイトマップ
================================================== */
.sitemap-list li {
	margin: 0 !important;
}
.sitemap-list li a{
	text-align:center;
	border-bottom: 1px solid #ddd;
	font-size: 1.1em;
	display:block;
	padding: 0.75em 0px;
}
.sitemap-list li a:hover{
	font-weight:bold;
	background-color:#f8f8f8;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
/*==================================================
 可変横並び
==================================================*/
@media screen and (min-width:769px) {
	.inner_img > * {
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	.inner_img img {
		margin-bottom: 1rem;
	}
}

/* ==================================================
ul.case_btn
================================================== */
ul.case_btn li a {
	line-height: 1.5;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0.5em 2em;
	border: 1px solid;
}
@media screen and (min-width:769px) {
	ul.case_btn > li {
		width: calc((99.99% - 80px) / 3);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_btn > li:nth-child(3n) {
		margin-right: 0;
	}
	ul.case_btn > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.case_btn > li {
		width: 100%;
		margin: 0 0 1rem 0 !important;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
		line-height: 1.2;
	}
	ul.case_btn > li:last-child {
		margin-bottom: 0 !important;
	}
	ul.case_btn li a {
		padding: 0.5em;
	}
}
/* ▲ ul.case_btn ▲ */
/* ==================================================
.photo
================================================== */
.photo {
	display: block;
	position: relative;
}
.photo:before {
	display: block;
	content: "";
	padding-top: 116.66%;/* 縦横比を指定 */
}
.photo > * {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.photo img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
/* ▲ .photo ▲ */
/* ==================================================
YOUTUBE
================================================== */
.video {
	width: 100%;
	position: relative;
}
@media screen and (min-width:769px) {
	.video {
		margin-right: auto;
		margin-left: auto;
	}
}
.video:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.video > * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.video iframe {
	width: 100%;
	height: 100%;
}
iframe {
	vertical-align: bottom !important;
	box-sizing: border-box;
}
/* ==================================================
BEFORE,AFTER
================================================== */
@media screen and (min-width:769px) {
	ul.ba_list > li {
		width: calc((99.99% - 40px) / 2);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.ba_list > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.ba_list > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.ba_list > li {
		width: 100%;
		margin: 0 0 1rem 0 !important;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.ba_list > li:last-child {
		margin-bottom: 0 !important;
	}
	ul.ba_list > li h4 {
		text-align: left;
	}
}
/* ▲ ul.ba_list ▲ */
/* ▼ ul.ba_list_in ▼ */
@media screen and (min-width:769px) {
	ul.ba_list_in {
		background: url(/images/arrow02.png) top calc(50% + 20px) center / auto 40px no-repeat;
	}
	ul.ba_list_in > li {
		width: calc((99.99% - 40px) / 2);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.ba_list_in > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.ba_list_in > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.ba_list_in > li {
		width: calc((99.99% - 1rem) / 2);
		margin: 0 1rem 1rem 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.ba_list_in > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.ba_list_in > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
}
/* ▲ BEFORE,AFTER ▲ */

/*==================================================
ul.case_list（施工事例 index）
================================================== */
ul.case_list {
	width: 100%;
}
@media screen and (min-width:769px) {
	ul.case_list > li {
		width: calc((99.99% - 120px) / 4);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list > li:nth-child(4n) {
		margin-right: 0;
	}
	ul.case_list > li:nth-last-child(-n + 4) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.case_list > li {
		width: calc((99.99% - 1rem) / 2);
		margin: 0 1rem 1rem 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.case_list > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
	ul.case_list > li {
		font-size: 3.33vw !important;
	}
}
/*　施工事例ここまで */

/*==================================================
ul.case_list02（施工事例 index）
================================================== */
ul.case_list02 {
	width: 100%;
}
@media screen and (min-width:769px) {
	ul.case_list02 > li {
		width: calc((99.99% - 80px) / 3);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list02 > li:nth-child(3n) {
		margin-right: 0;
	}
	ul.case_list02 > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.case_list02 > li {
		width: calc((99.99% - 1rem) / 2);
		margin: 0 1rem 1rem 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list02 > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.case_list02 > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
	ul.case_list02 > li {
		font-size: 3.33vw !important;
	}
}
/*　施工事例ここまで */

/* ▼ slider設定 ▼ */
.slider {
	width: 100%;
	margin: 0 auto;
}
.slider li a {
	display: block;
}
.slider li img {
    object-fit: cover;
		font-family: 'object-fit: cover;';
}
.slick-prev, .slick-next {
	width: 40px !important;
	height: 40px !important;
	z-index: 1000;
}
.slick-prev {
	left: -50px !important;
}
.slick-next {
	right: -50px !important;
}
.slick-prev:before {
	color: #000;
	width: 40px;
	height: 40px;
	display: block;
	font-size: 40px !important;
}
.slick-next:before {
	color: #000;
	width: 40px;
	height: 40px;
	display: block;
	font-size: 40px !important;
}
@media screen and (max-width: 768px) {
	.slick-prev {
		left: 0 !important;
	}
	.slick-next {
		right: 0 !important;
	}
	.slider li {
		margin: 0;
	}
}
/* ▲ slider設定 ▲ */
.move_img > div img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
/* ==================================================
前後の記事へ
================================================== */
@media screen and (min-width:769px) {
	ul.prev-next-post {
	padding: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	}
	ul.prev-next-post > li {
		width: 30%;
	}
}
@media screen and (max-width: 768px) {
	ul.prev-next-post > li {
		width: 100%;
	}
	ul.prev-next-post > li:not(:last-child) {
		margin-bottom: 10px;
	}
}
ul.prev-next-post > li a {
	width: 100%;
	letter-spacing: 0.1em;
	height: 100%;
	background: rgb(222,217,212);
	background: linear-gradient(0deg, rgba(222,217,212,1) 0%, rgba(251,248,245,1) 100%);
	align-items: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	border-radius: 10px;
	line-height: 1;
	border: 1px solid #806145;
	padding: 0.85em;
}
/* ==================================================
SNSボタン
================================================== */
/*.sns-sharerbtn-list {
	margin: 8px 0;
	padding: 8px 0;
	text-align: center;
	border-top: 1px solid #cfcfcf;
	border-bottom: 1px solid #cfcfcf;
	background: #f0f0f0;
	overflow: hidden;
	clear: both;
}
.sns-sharerbtn-list li {
	margin: 0 4px;
	font-size: 0;
	vertical-align: top;
	display: inline-block;
}*/
/* ▲ SNSボタン ▲ */
/* ==================================================
blog_area
================================================== */
.blog_area {
	position: relative;
}
.blog-list {
	max-width: 100%;
	box-sizing: border-box;
}
.blog-list > li {
	width: 100%;
	flex-wrap: wrap;
}
.blog-list > li:not(:last-child) {
	margin-bottom: 20px;
}
@media screen and (min-width:769px) {
	.blog-list > li > div.middle > *:not(:last-child) {
		margin-right: 1.5em;
	}
}
@media screen and (max-width: 768px) {
	.blog-list > li > div.middle > *:not(:last-child) {
		margin-right: 1rem;
	}
}
.news_day {
	display: table;
}
/* タグ */
.news_tag {
	vertical-align: baseline;
	text-align: center;
	display: inline-block;
	width: 7em;
	letter-spacing: 0.08em;
}
.news_tag a {
	width: 100%;
	height: 100%;
	padding: 0.5em;
	align-items: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	line-height: 1;
	border-radius: 1.5em;
	background: #bce65c;
}
/* タイトル */
@media screen and (min-width:769px) {
	.more {
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
	}
}
@media screen and (max-width: 768px) {
	.more {
		margin-top: 2rem;
	}
}
/* ▲　blog-list　▲ */

/* ==================================================
blog-list02
================================================== */
.blog-list02 > li {
	width: 100%;
	background: #fff;
	padding: 1em 2em;
	border-left: 10px solid #907bbe;
	flex-wrap: wrap;
}
.blog-list02 > li:not(:last-child) {
	margin-bottom: 20px;
}
.blog-list02 > li > div.middle {
	flex-wrap: wrap;
}
.blog-list02 > li > div.middle > *:not(:last-child) {
	margin-right: 1.5em;
}
.blog-list02 {
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	.blog-list02 > li {
		padding: 0.5em 1em;
	}
}
/* ▲　blog-list02　▲ */

/* ==================================================
blog-list03
================================================== */
.blog-list03 > li {
	width: 100%;
	margin-bottom: 10px;
	box-sizing: border-box;
	padding: 10px;
	background: #fff;
	border: 1px solid;
}
/* タイトル */
/* ▲　blog-list03　▲ */

/* ==================================================
f_nav
================================================== */
@media screen and (min-width:769px) {
	.f_nav li {
		line-height: 1;
	}
	.f_nav li:not(:last-child) {
		border-right: 1px solid;
		padding-right: 1em;
	}
}
@media screen and (max-width: 768px) {
	.f_nav {
		display: none;
	}
}
/* ▲ f_nav ▲ */
@media screen and (max-width: 768px) {
	.f_nav {
		display: none;
	}
}
/* ▲ f_nav ▲ */
/* ==================================================
f_nav02
================================================== */
@media screen and (min-width:769px) {
	.f_nav02 {
		width: 100%;
		border-bottom: 1px solid;
		border-top: 1px solid;
	}
	.f_nav02 li {
		padding: 1em 0;
		line-height: 1;
	}
	.f_nav02 li a {
		padding: 0 0.7em;
	}
	.f_nav02 li:not(:last-child) a:before {
		content: "/";
		display: block;
		position: absolute;
		right: -0.25em;
		top: 0.1em;
	}/* ▲ アイコン追加 ▲ */
}
@media screen and (max-width: 768px) {
	.f_nav02 {
		display: none;
	}
}
/* ▲ f_nav02 ▲ */
/* ==================================================
f_nav03
================================================== */
@media screen and (min-width:769px) {
	.f_nav03 {
		width: 100%;
	}
	.f_nav03 li {
		padding: 0;
		color: #fff;
		line-height: 1;
		margin: 0 2em 1em 0;
		display: inline-block;
	}
	.f_nav03 li a:before {
		content: "\03e";
		display: block;
		position: absolute;
		left: -1em;
		top: 50%;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		font-family: 'NotoSerifCJKjp', serif;
	}/* ▲ アイコン追加 ▲ */
}
@media screen and (max-width: 768px) {
	.f_nav03 {
		display: none;
	}
}
/* ▲ f_nav03 ▲ */

textarea, #address, #mail, input[type="text"] {
	width: 100%;
}













/*ここからSP用*/
@media screen and (max-width: 768px) {
	* {
		max-width: 100%;
	}
	#lightbox * {
		max-width: none;
		max-height: none;
	}
	img {
		margin: auto;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		display: table;
	}
	section,
	section[class*="area"] {
		padding: 4vh 0 !important;
		height: auto !important;
		max-width: 100%;
	}
	p.center {
		text-align: left !important;
	}
	p img {
		display: table;
		margin: auto;
	}
	select,
	textarea,
	input[type="tel"],
	input[type="num"],
	input[type="text"],
	input[type="email"],
	input[type="password"] {
		width: 100%;
		box-sizing: border-box;
	}
	/* 郵便番号*/
	#pc01,
	#pc02 {
		width: 80px;
	}
	.captcha-wrap {
		width: 100% !important;
		text-align: center;
	}
	.captcha-wrap img {
		width: inherit;
		height: inherit;
	}
	.side-toggle-btn {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 9000;
	}
	.side-logo {
		background: #fff !important;
		box-shadow: 0 0 15px 3px #ebebeb inset !important;
		margin: 0 !important;
		padding: 10px 0 !important;
	}
	.h_logo img,
	.f_logo img {
		max-height: 50px;
	}
	/* ▼　SPメニュー　▼ */
	.f_logo {
		text-align: center;
	}
	h1 {
		max-width: calc(90vw - 60px);
	}
	.breadcrumbs-list {
		display: none;
	}
	.slick-list,
	.slick-track,
	ul.slick-slider,
	ul.slick-slider li,
	#slide_wrapp,
	#slide_wrapp li {
		height: 100%;
		width: 100%;
	}
	ul.slick-slider li img,
	#slide_wrapp li img {
		height: 100%;
		width: 100%;
		max-height: initial;
		max-width: initial;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	li.slick-slide {
		left: 0 !important;
		top: 0 !important;
		position: absolute !important;
	}
	li.slick-slide img {
		width: 100%;
		height: 100%;
		max-width: initial;
		max-height: initial;

	}
	.column_box {
		padding: 2%;
		margin-bottom: 20px;
	}
	.column_box h3 {
		padding: 2%;
	}
	.column_box.detail {
		border: none;
		padding: 0;
	}
	.gmap {
		width: 100%;
		height:80vh;
	}
	ul.tag_number > li {
		margin-bottom: 0;
	}
	h1 a {
		display: inline;
	}
}

#pc_header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999999;
	background: rgba(255,255,255,0.7);
	width: 100%;
}
.ctxt {
    overflow: hidden;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: 0;
    display: block;
}
@media screen and (max-width: 768px) {
	.ctxt {
		width: 100%;
	}
}
.ctxt > * {
	display: inline;
}
.ctxt > p:not(:first-child),
.ctxt > a > p:not(:first-child) {
	display: none;
}

.dot {
	text-emphasis-style:dot filled;
	-webkit-text-emphasis-style:dot filled;
}
.space {
	padding-left: 1em;
	text-indent: -1em;
}
/* ==================================================
	sp_side
================================================== */
@media screen and (min-width:769px) {
	.sp_side {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.sp_side:after {
	content: "";
	display: block;
	width: 1px;
	height: calc(6.6vw + 2rem);
	z-index: -10;
	position: relative;
	}
	ul.fixed_list01.fit {
		z-index: 10000;
		position: fixed;
		bottom: 10px;
		left: 1rem;
		width: calc(99.99% - 2rem);
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	ul.fixed_list01.fit > li {
		width: 48% !important;
		max-width: 48% !important;
		line-height: 1.3;
		text-align: center;
		font-size: 3.33vw;
	}
	ul.fixed_list01.fit > li a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		padding: 0.5em;
		border-radius: 1.1em;
		border: 1px solid #fff;
	}
	ul.tag_number > li {
		margin-bottom: 0;
	}
	ul.sns_btn.list.both > li {
		margin: 0 !important;
	}
}
/* ▲ sp_side ▲ */
.js-fall {
	position: relative;
}
@media screen and (min-width:769px) {
	.header_back {
		min-width: 1080px;
		position: relative;
	}
}
.relative {
	position: relative;
}
main {
	position: relative;
}
section {
	position: relative;
}

/* ==================================================
h3,h4,h5
================================================== */
h3,h4,h5 {
	position: relative;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
@media screen and (min-width:769px) {
	h3 {
		margin-bottom: 50px;
	}
	h4 {
		margin-bottom: 20px;
	}
	h5 {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 768px) {
	h3 {
		font-size: 1.5rem !important;
		margin-bottom: 2rem !important;
		text-align: center;
	}
	h4 {
		font-size: 1.3rem !important;
		margin-bottom: 1rem !important;
		text-align: center;
	}
	h5 {
		font-size: 1.1rem !important;
		margin-bottom: 1rem !important;
		text-align: center;
	}
}
/* ==================================================
h3.default
================================================== */
h3.default {
	text-align: center;
}
h3.default:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -35px;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 1px;
	height: 10px;
	background: #2f2318;
}
@media screen and (min-width:769px) {
	h3.default {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 768px) {
	h3.default {
		margin-bottom: 60px !important;
	}
}
/* ▲ h3,h4,h5 ▲ */

/*------------------------------------------*/
/*l_header
/*------------------------------------------*/
@media screen and (max-width: 768px) {
	.l_header,
	.l_header > .inner {
		height: 60px;
	}
	/*nav=====*/
	.l_header .nav{
		display: none;
		position: fixed;
		overflow-y: scroll;
		height: 100%;
		width: 100%;
		text-align: center;
		left: 0;
		z-index: 10001;
	}
	/*header_sp_nav=====*/
	.header_sp_nav{
		cursor: pointer;
		width: 44px;
		height: 44px;
		position: fixed;
		z-index: 10000;
		right: 0;
		top: 5px;
		background: #fff;
		filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));

	}
	.header_sp_nav .nav_line {
		content: '';
		display: block;
		height: 2px;
		left: 50%;
		position: absolute;
		top: 50%;
		transition: All .4s ease;
		width: 22px;
		background: #2f2318;
		transform: translateY(-50%) translateX(-50%);
	}
	.header_sp_nav.active .nav_line {
		background: transparent;
	}
	.header_sp_nav .nav_line:before {
		content: '';
		display: block;
		height: 2px;
		left: 50%;
		position: absolute;
		top: 50%;
		transition: All .4s ease;
		width: 22px;
		background: #2f2318;
		transform: translateY(7px) translateX(-50%);
	}
	.header_sp_nav.active .nav_line:before {
		transform: translateY(-50%) translateX(-50%) rotate(-45deg);
	}
	.header_sp_nav .nav_line:after {
		content: '';
		display: block;
		height: 2px;
		left: 50%;
		position: absolute;
		top: 50%;
		transition: All .4s ease;
		width: 22px;
		background: #2f2318;
		transform: translateY(-9px) translateX(-50%);
	}
	.header_sp_nav.active .nav_line:after {
		transform: translateY(-50%) translateX(-50%) rotate(45deg);
	}
	.l_header ul.nav_list {
		padding-bottom:50px;
		margin-bottom:50px;
		line-height: 1.6;
	}
	.l_header ul.nav_list img {
		margin: 0 auto 0 0;
	}
	.l_header ul.nav_list h5 {
		color: #fff;
		background: #2f2318;
		margin: 0;
		font-size: 4vw;
		padding: 0.4em 1em;
	}
	.l_header ul.nav_list > li {
		font-size: 4vw;
		background: #f7f7f7;
		margin: 0;
		text-align: left;
		border-top: 1px solid;
	}
	.l_header ul.nav_list > li a{
		display: block;
		padding: 10px;
	}
	.main_cover{
		position: fixed;
		width: 100%;
		visibility: hidden;
		z-index: -1;  
		-webkit-transition: .3s;
		transition: .3s;
	}
	.main_cover.active{
		height:100%;
		visibility: visible;
		background:rgba(0,0,0,0.4);
		z-index:1000;
		position: fixed;
		top: 0;
		left: 0;
	}
}
/* ▲　SPメニュー　▲ */
@media screen and (min-width:769px) {
.class_top01 {
	background: url(/images/top05.png) left top no-repeat;
}
}
.class_top02 {
	background: url(/images/top11.png) left top / 100% 100% no-repeat;
}
@media screen and (min-width:769px) {
.class_top03 {
	background: url(/images/top06.png) right top no-repeat;
}
}
.class_top04 {
	background: url(/images/top12.png) left top / 100% 100% no-repeat;
}
@media screen and (min-width:769px) {
.w1280 {
	width: 1280px;
}
}
h3.sub:first-letter {
	color: #e6a70e;
}
h3.sub {
	position: relative;
}
h3.sub:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -20px;
	transform: translate(-50%,0);
	-webkit- transform: translate(-50%,0);
	width: 25px;
	height: 1px;
	background: #e6a70e;
}
@media screen and (min-width:769px) {
	.mt170 {
		margin-top: 170px;
	}
	.mt130 {
		margin-top: 130px;
	}
}
.class_works01 {
	background: url(/images/works03.png) center center / cover no-repeat;
}
/* ==================================================
ul.class_works02
================================================== */
ul.class_works02 {
	font-size: 0;
	letter-spacing: -0.2em;
}
.class_works02 li {
	background: url(/images/top11.png) bottom right / cover no-repeat;
}
@media screen and (min-width:769px) {
	ul.class_works02 > li {
		width: calc((99.99% - 40px) / 2);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.class_works02 > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.class_works02 > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.class_works02 > li {
		width: 100%;
		margin: 0 0 10px 0 !important;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.class_works02 > li:last-child {
		margin-bottom: 0 !important;
	}
}
/* ▲ ul.class_works02 ▲ */
ul.class_works03 > li:not(:last-child) {
	margin-bottom: 30px;
}
ul.class_recruit01 > li:nth-child(1):before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-50%);
	-webkit- transform: translate(-50%,-50%);
	width: 43px;
	height: 46px;
	background: url(/images/recruit03.png) center center no-repeat;
	background-size: cover;
}
ul.class_recruit01 > li:nth-child(2):before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-50%);
	-webkit- transform: translate(-50%,-50%);
	width: 43px;
	height: 46px;
	background: url(/images/recruit05.png) center center no-repeat;
	background-size: cover;
}
ul.class_recruit01 > li:nth-child(3):before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-50%);
	-webkit- transform: translate(-50%,-50%);
	width: 43px;
	height: 46px;
	background: url(/images/recruit07.png) center center no-repeat;
	background-size: cover;
}
.class_recruit02:not(:last-child) {
	margin-bottom: 50px;
}
.fit.both > li.w45p {
	width: 45% !important;
}
/* ==================================================
ul.index01
================================================== */
ul.index01 > li:nth-child(1) {
	background: url(/images/index03.png) center center / cover no-repeat;
}
ul.index01 > li:nth-child(2) {
	background: url(/images/index04.png) center center / cover no-repeat;
}
ul.index01 > li h2,
ul.index01 > li a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
}
@media screen and (min-width:769px) {
	ul.index01 > li {
		width: 49.99%;
		height: calc(99.99vh - 80px);
	}
}
@media screen and (max-width: 768px) {
	ul.index01 > li {
		height: calc((99.99vh - 80px) / 2);
		margin: 0;
	}
	ul.index01 > li img {
		max-width: 80%;
		max-height: 80%;
	}
}
.index02 {
	height: 80px;
	background: #fff;
}
/* ▲ ul.index01 > li ▲ */