/*
Theme Name:furuuchi-tsd
*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}
html.parent {
overflow:hidden;
}
:root {
	--color-white:#ffffff;
	--color-black:#1c1c1c;
	--color-green:#2A6541;
	--color-red:#dd3b2a;
	--color-bg:#f7f4ed;
	--color-line:#898884;
	--color-bluegray:#8A9EAB;
	--font-sp-xxx-large:clamp(4.8rem, 12.8vw, 5.6rem);
	--font-sp-xx-large:clamp(4.0rem, 10.6vw, 4.8rem);
	--font-sp-x-large:clamp(2.4rem, 6.7vw, 2.8rem);
	--font-sp-large:clamp(1.8rem, 5.33vw, 2.2rem);
	--font-sp-normal:clamp(1.6rem, 4.26vw, 1.8rem);
	--font-sp-small:clamp(1.2rem, 3.73vw, 1.4rem);
	--font-sp-x-small:clamp(1.1rem, 2.8vw, 1.3rem);
	--font-pc-xxx-large:60px;
	--font-pc-xx-large:36px;
	--font-pc-x-large:24px;
	--font-pc-large:18px;
	--font-pc-normal:16px;
	--font-pc-small:14px;
}
body {
	position: relative;
	z-index: 1;
	background-color:var(--color-bg);
}
body.drawer-body-on {
	overflow: hidden;
}
body.drawer-body-on:before {
	content:"";
	position: fixed;
	top:0px;
	right:0px;
	z-index: 500;
	background:rgba(0,0,0,0.5);
	width:100%;
	height:100dvh;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	font-family: heisei-mincho-std, serif;
	font-weight: 700;
	font-style: normal;
	color:var(--color-black);
}
.en,
.pc-nav li a,
.drawer-menu a,
.wp-pagenavi a,
.wp-pagenavi span.current {
	font-family: lato, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.en-tt,
.page-tt-en {
	font-family: minerva-modern, sans-serif;
	font-weight: 400;
	font-style: normal;
}
@media (width < 767px) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size:var(--font-sp-normal);
	}
	input[type=text],input[type=tel],input[type=email] ,textarea,select {
	font-size: 1.6rem;
	scale(0.8);
	}
	input {
		appearance: none;
		-webkit-appearance: none;
	}
	h1,h2,h3,h4,h5,h6,p,th,td,dt,dd,li {
		line-height:200%;
	}
	body.locked {
		overflow: auto;
	}
}
@media (768px <= width) {
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size:var(--font-pc-normal);
	}
	h1,h2,h3,h4,h5,h6,p,th,td,dt,dd,li {
		line-height:200%;
	}
	body.locked {
		overflow: hidden;
	}
}
a,
button {
	outline: none;
	text-decoration:none;
}
a:hover,
button:hover {
	text-decoration:none;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
button {
	border:none;
}
p {
	padding-bottom:2em;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}

li {
	list-style-type:none;
}
ol li {
	list-style-type:decimal;
}
ul.dot li {
	list-style-type:disc;
}
hr {
	border: none;
	border-bottom:1px solid var(--color-black);
	margin-top:1em;
	margin-bottom:1em;
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?hhvdyp');
  src:  url('fonts/icomoon.eot?hhvdyp#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?hhvdyp') format('truetype'),
    url('fonts/icomoon.woff?hhvdyp') format('woff'),
    url('fonts/icomoon.svg?hhvdyp#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon-arrow-f:before {
  content: "\e901";
}
.icon-logo-x:before {
  content: "\e900";
}
.icon-instagram:before {
  content: "\f16d";
}

@media (width < 767px) {
	ul.dot li,
	.single-contents ul li,
	ol li {
		margin-left:5vw;
		line-height:175%;
	}
}
@media (768px <= width) {
	ul.dot li,
	.single-contents ul li,
	ol li {
		margin-left:16px;
		padding-left:4px;
		line-height:200%;
	}
}
.red {
	color:var(--color-red);
}
.bg-green {
	background-image:url(images/bg-green.webp);
	background-repeat: repeat;
}
.bg-green * {
	color:var(--color-white);
}
.bg-white {
	background-color:var(--color-white);
}
/*-----------------------------------------
wordpress-editor-settings
------------------------------------------*/
.editor p {
	display: block;
	margin: 1em 0;
}
.editor em {font-style: italic;}
.editor blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 32px;
	-webkit-margin-end: 32px;
}
/* img */
.aligncenter {display: block;margin: 0 auto;}
.alignright {float: right;}
.alignleft {float: left;}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.text-left {text-align:left;}
.text-center {text-align:center;}
.text-right {text-align:right;}
/*-----------------------------------------
master-layout-control
------------------------------------------*/
.container,
.container-fluid,
.container-middle {
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.grid {
	display:grid;
}
@media (width < 767px) {
	.container,
	.container-fluid {
	padding-right: 5.33vw;
	padding-left: 5.33vw;
	}
	.sp-only {display:block !important;}
	.pc-only {display:none !important;}
	.text-center-sp {
		text-align: center;
	}
	.main-content,
	.recruit-lead {
		padding-top:26.6vw;
	}
	.veditor br {
		display:none;
	}
}
@media (768px <= width) {
	.container {
		max-width:1210px;
	}
	.container-middle {
		max-width:960px;
	}
	.container-fluid {
		padding-left:30px;
		padding-right:30px;
	}
	.sp-only {display:none !important;}
	.pc-only {display:block !important;}
	.text-center-pc {
		text-align: center;
	}
	.main-content,
	.recruit-lead {
		padding-top:200px;
	}
	.veditor br {
		display:block;
	}
	.veditor h2 {
		padding-top:50px;
		padding-bottom:15px;
		font-size:var(--font-pc-x-large);
	}
}
/*-----------------------------------------
text-animation
------------------------------------------*/
.veditor h2,
.veditor p {
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: both;
	animation-duration:0.5s;
	backface-visibility: hidden;
}
.veditor h2,
.veditor p {
	opacity: 0;
}
.veditor h2.active,
.veditor p.active {
	opacity: 1;
	animation-name:fadeupanime;
	animation-delay:0.1s;
}
@keyframes fadeupanime {
	0% {transform: translate3d(0px,40px,0);
	opacity: 0}
	100% {transform: translate3d(0px,0px,0);
	opacity: 1}
}
/*-----------------------------------------
palalax
------------------------------------------*/
.palalax-pic {
	overflow: hidden;
}

.palalax-pic img {
	width: 100%;
	display: block;
	transform: scale(1.3);
	will-change: transform;
}
/*-----------------------------------------
drawr
------------------------------------------*/
.drawer-btn {
	position: fixed;
	top:0px;
	right:0px;
	margin-left:auto;
	margin-right:0;
	cursor: pointer;
	z-index: 999;
}
.drawer-btn span {
	position: absolute;
	display:block;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	text-indent:100%;
	white-space:nowrap;
}
.drawer-btn span:before,
.drawer-btn span:after {
	content: '';
	display: inline-block;
	border-top: 1px solid var(--color-black);
	position: absolute;
	transform-origin: center;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.drawer-btn-recruit.drawer-btn span:before,
.drawer-btn-recruit.drawer-btn span:after {
	border-top: 1px solid var(--color-white);
}
.drawer-btn-peke span:before,
.drawer-btn-peke span:after {
	border-top: 1px solid var(--color-white);
}
.drawer-btn-peke span:before {
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}
.drawer-btn-peke span:after {
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}
.drawer {
	display: none;
	position: fixed;
	top: 0px;
	left:0;
	width:100vw;
	height:100dvh;
	overflow-y:auto;
	overflow-x:hidden;
	z-index: 998;
	background-image:url(images/bg-drawer.webp);
	background-size:cover;
	background-position: center bottom;
}
.drawer-logo {
	display:block;
	width: auto;
	height: 38px;
	padding-top:11px;
}
.drawer-logo img {
	width: auto;
	height: 38px;
}
.drawer-menu a {
	color:var(--color-white);
	display:block;
	position: relative;
}
@media screen and (max-width :767px){
	.drawer-container {
		padding-left:5vw;
		padding-right:5vw;
		height:100dvh;
	}
	.drawer-container:after {
		content:"";
		position: absolute;
		background-image:url(images/furuuchi-logo-w.svg);
		background-size:contain;
		background-repeat: no-repeat;
		width:38.6vw;
		height:23.5vw;
		left:50%;
		transform: translateX(-50%);
		bottom:10vw;
		opacity: 0.5;
	}
	.drawer-btn {
		width:60px;
		height:60px;
	}
	.drawer-btn span {
		width: 30px;
		height:30px;
		top:16px;
		right:10px;
	}
	.drawer-btn span:before {
		width: 30px;
		right:0;
		bottom:12px;
	}
	.drawer-btn span:after {
		width: 30px;
		right:0;
		bottom: 18px;
	}
	.drawer-btn.drawer-btn-peke {
		background-color:transparent;
	}
	.drawer-btn.drawer-btn-peke span:before{
		width:30px;
		bottom:14px;
	}
	.drawer-btn.drawer-btn-peke span:after {
		width:30px;
		bottom:14px;
	}
	.drawer-menu {
		padding-top:70px;
		padding-left:13.3vw;
		padding-right:13.3vw;
	}
	.drawer-menu a {
		padding-bottom:8vw;
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.drawer-btn,
	.drawer {
		display:none;
	}
}
/*-----------------------------------------
btn
------------------------------------------*/
.btn {
	position: relative;
}
.btn-header-contact,
.btn-drawer-contact {
	display: block;
	color:var(--color-black);
	background-color:var(--color-white);
}
.drawer-menu a.btn-drawer-contact {
	color:var(--color-black);
	padding-top:0;
	padding-bottom:0;
}
.btn-header-contact:hover {
	color:var(--color-white);
	background-color:var(--color-green);
}
.btn-header-contact:after,
.btn-drawer-contact:after {
	font-family: 'icomoon';
	content: "\e901";
	position: relative;
}
.viewmore-inner {
	width:100%;
}
.btn-viewmore,
.btn-back {
	display: flex;
	align-items: center;
	justify-content: space-between;
	overflow: hidden;
}
.btn-viewmore:before {
  transform: scaleX(1);
  transform-origin: left;
}
.btn-back:before {
  transform: scaleX(1);
  transform-origin: right;
}
.btn-viewmore:before,
.btn-back:before {

}
.btn-viewmore:after,
.btn-back:after {
	content:"";
	position: absolute;
	background-color:var(--color-black);
	width:100%;
	height:1px;
	bottom:0;
	transform: scaleX(0);
}
.btn-viewmore:hover:before,
.btn-back:hover:before, {
  transition: transform 0.3s ease-in;
  transform: scaleX(0);
}
.bg-green .btn-viewmore:after {
	background-color:var(--color-white);
}
.btn-viewmore:hover:after {
	transition: transform 0.3s ease-out 0.3s;
	transform: translateX(100%);
}
.btn-back:hover:after {
	transition: transform 0.3s ease-out 0.3s;
	transform: translateX(-100%);
}
.btn-arrow,
.btn-arrow-reverse {
	position: relative;
	z-index: 3;
	overflow: hidden;
	display:block;
	background-color:var(--color-white);
}
.btn-arrow-line {
	position: relative;
	z-index: 3;
	overflow: hidden;
	display:block;
	border:1px solid var(--color-white);
}
.btn-arrow:before,
.btn-arrow:after,
.btn-arrow-reverse:before,
.btn-arrow-reverse:after,
.btn-arrow-line:before,
.btn-arrow-line:after {
	content: '';
	position: absolute;
	top:0;
	right:0;
	background-repeat: no-repeat;
	background-position: center center;
	animation-fill-mode: forwards;
	animation-duration: 0.2s;
}
.btn-arrow:before,
.btn-arrow:after {
	background-image:url(images/arrow-f.svg);
}
.btn-arrow-reverse:before,
.btn-arrow-reverse:after {
	background-image:url(images/arrow-b.svg);
}
.btn-arrow-line:before,
.btn-arrow-line:after {
	background-image:url(images/arrow-f-w.svg);
}
.btn-arrow:after,
.btn-arrow-line:after {
	transform: translateX(-100%);
}
.btn-arrow-reverse:after {
	transform: translateX(100%);
}
.btn:hover .btn-arrow:before,
.news-link:hover .btn-arrow:before,
.btn:hover .btn-arrow-line:before {
	animation-name: arrow-out;
	animation-delay: 0s;
}
.btn:hover .btn-arrow:after,
.news-link:hover .btn-arrow:after,
.btn:hover .btn-arrow-line:after {
	animation-name: arrow-in;
	animation-delay: 0.5s;
}
@keyframes arrow-in {
	0% {
	transform: translateX(-110%);
	}
	100% {
		transform: translateX(0);
	}
}
@keyframes arrow-out {
	0% {
	transform: translateX(0);
	}
	100% {
		transform: translateX(110%);
	}
}
.btn:hover .btn-arrow-reverse:before {
	animation-name: arrow-out-reverse;
	animation-delay: 0s;
}
.btn:hover .btn-arrow-reverse:after {
	animation-name: arrow-in-reverse;
	animation-delay: 0.5s;
}
@keyframes arrow-in-reverse {
	0% {
	transform: translateX(110%);
	}
	100% {
		transform: translateX(0);
	}
}
@keyframes arrow-out-reverse {
	0% {
	transform: translateX(0);
	}
	100% {
		transform: translateX(-110%);
	}
}
.btn-map {
	position: relative;
	z-index: 3;
	overflow: hidden;
	display:inline-block;
	color:var(--color-black);
	background-color:var(--color-white);
}
.btn-map:hover {
	color:var(--color-white);
	background-color:var(--color-green);
}
.btn-map:after {
	font-family: 'icomoon';
	content: "\e901";
	position: absolute;
	transform: rotate(-30deg);
	top:0px;
}
.btn-oubo {
	position: relative;
	z-index: 3;
	overflow: hidden;
	display:block;
	color:var(--color-white);
	border:1px solid var(--color-white);
}
.btn-oubo:before,
.btn-oubo:after {
	color:var(--color-white);
}
.btn-arrow-spin:before,
.btn-arrow-spin:after {
	font-family: 'icomoon';
	content: "\e901";
	position: absolute;
	top:0;
	right:0;
	background-repeat: no-repeat;
	background-position: center center;
	animation-fill-mode: forwards;
	animation-duration: 0.2s;
}
.btn-arrow-spin:before {
	transform: translateX(-110%) rotate(-30deg);
}
.btn-arrow-spin:after {
	transform: translateX(-180%) rotate(-30deg);
}
.btn:hover .btn-arrow-spin:before {
	animation-name: arrow-spin-out;
	animation-delay: 0s;
}
.btn:hover .btn-arrow-spin:after{
	animation-name: arrow-spin-in;
	animation-delay: 0.5s;
}
@keyframes arrow-spin-in {
	0% {
	transform: translateX(-110%) rotate(-30deg);
	}
	100% {
		transform: translateX(0) rotate(-30deg);
	}
}
@keyframes arrow-spin-out {
	0% {
	transform: translateX(0) rotate(-30deg);
	}
	100% {
		transform: translateX(110%) rotate(-30deg);
	}
}
@media (width < 767px) {
	.drawer-menu a.btn-drawer-contact {
		width:48vw;
		height:12.8vw;
		line-height:12.8vw;
		border-radius:12.8vw;
		padding-left:6vw;
	}
	.drawer-menu a.btn-drawer-contact:after {
		padding-left:4vw;
	}
	.viewmore {
		padding-top:12vw;
	}
	.viewmore-inner {
		padding-left:6.6vw;
		padding-right:6.6vw;
	}
	.btn-viewmore,
	.btn-back {
		max-width:58.6vw;
		padding-bottom:4vw;
		margin-left:auto;
	}
	.btn-viewmore:after,
	.btn-back:after {
		left:0;
		transform: scaleX(1);
	}
	.btn-arrow,
	.btn-arrow-reverse,
	.btn-arrow-line {
		width:13.3vw;
		height:6.6vw;
		border-radius:6.6vw;
	}
	.btn-arrow:before,
	.btn-arrow:after,
	.btn-arrow-reverse:before,
	.btn-arrow-reverse:after,
	.btn-arrow-line:before,
	.btn-arrow-line:after {
		width:13.3vw;
		height:6.6vw;
		background-size:4vw auto;
	}
	.btn-map{
		width:20.3vw;
		height:6.6vw;
		border-radius:6.6vw;
		line-height: 6.6vw;
		padding-left:3.5vw;
		font-size:var(--font-sp-small);
	}
	.btn-oubo{
		width:9vw;
		height:4.8vw;
		border-radius:4.8vw;
		line-height: 4.8vw;
		padding-left:3.5vw;
		font-size:var(--font-sp-small);
	}
	.btn-map:after {
		right:2.5vw;
		width:5vw;
		height:4vw;
	}
	.btn-arrow-spin:before,
	.btn-arrow-spin:after {
		font-size:2.8vw;
		top:-1.8vw;
		right:-19vw;
		width:9vw;
		height:4vw;
	}
}

@media (768px <= width) {
	.btn-header-contact {
		width:135px;
		height:36px;
		line-height:36px;
		border-radius:36px;
		padding-left:22px;
	}
	.btn-header-contact:after {
		padding-left:18px;
	}
	.viewmore-inner {
		padding-left:20px;
		padding-right:20px;
	}
	.btn-viewmore,
	.btn-back {
		max-width:220px;
		padding-bottom:15px;
	}
	.btn-viewmore:after {
		left:0;
		width:100%;
		transform: scaleX(1);
	}
	.btn-viewmore:hover:after {
		animation: redraw-line 0.6s ease-in-out forwards;
	}
@keyframes redraw-line {
  0% {
    transform: scaleX(1);   /* 最初は100% */
    transform-origin: right; /* 右に向かって消える */
  }
  49% {
    transform: scaleX(0);   /* 一度 0% になる */
    transform-origin: right; /* 右で消えきる */
  }
  50% {
    transform: scaleX(0);   /* 0% のまま */
    transform-origin: left;  /* 起点を左に切り替える */
  }
  100% {
    transform: scaleX(1);   /* 左から100%に伸びる */
    transform-origin: left;
  }
}
	.btn-back:after {
		right:0;
		width: 100%;
		transform: scaleX(1);
	}
	.btn-back:hover:after {
		animation: redraw-line-rtl 0.6s ease-in-out forwards;
	}
	@keyframes grow-right {
	to {
		transform: scaleX(1);
		}
	}
@keyframes redraw-line-rtl {
  0% {
    transform: scaleX(1);
    transform-origin: left;   /* 左に向かって（左を起点に）消えていく */
  }
  49% {
    transform: scaleX(0);
    transform-origin: left;   /* 左端で完全に消える */
  }
  50% {
    transform: scaleX(0);
    transform-origin: right;  /* 瞬時に起点を「右」に切り替える */
  }
  100% {
    transform: scaleX(1);
    transform-origin: right;  /* 右から左に向かって伸びる */
  }
}
	.btn-arrow,
	.btn-arrow-reverse,
	.btn-arrow-line {
		width:50px;
		height:25px;
		border-radius:25px;
	}
	.btn-arrow:before,
	.btn-arrow:after,
	.btn-arrow-reverse:before,
	.btn-arrow-reverse:after,
	.btn-arrow-line:before,
	.btn-arrow-line:after {
		width:50px;
		height:25px;
		background-size:15px auto;
	}
	.btn-map {
		width:75px;
		height:25px;
		line-height: 25px;
		border-radius:25px;
		padding-left:8px;
		font-size:var(--font-pc-small);
	}
	.btn-oubo {
		width:50px;
		height:25px;
		line-height: 25px;
		border-radius:25px;
		padding-left:8px;
		font-size:var(--font-pc-small);
	}
	.btn-map:after {
		right:8px;
		width:20px;
		height:16px;
	}
	.btn-oubo:after {
		right:12px;
		width:20px;
		height:16px;
	}
}
/*-----------------------------------------
header
------------------------------------------*/
.header {
	z-index: 5;
	top:0;
	left:0;
}
@media (width < 767px) {
	.header {
		position: fixed;
		width:100vw;
		height:60px;
		background-color:var(--color-bg);
	}
	.header.recruit-header {
		background-color: transparent;
	}
	.header.smaller.recruit-header {
		background-image: url(images/bg-green.webp);
		background-repeat: repeat;
	}
	.header-logo {
		display:block;
		padding:11px 0 11px 5vw;
	}
	.header-logo img {
		width:auto;
		height:38px;
	}
	.pc-nav {
		display: none;
	}
}
@media (768px <= width) {
	.header {
		position: fixed;
		width:100%;
		height:100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header.smaller {
		background-color:var(--color-white);
		animation:headup 0.4s forwards;
	}
	@keyframes headup {
		0% {
		opacity: 0;
		transform: translate3d(0,-100px,0);
		}
		100% {
		opacity: 1;
		transform: translate3d(0,0,0);
		}
	}
	.header-logo {
		padding-left:30px;
	}
	.top-header.header.smaller .header-logo img,
	.recruit-header.header.smaller .header-logo img {
		filter: invert(100%);
	}
	.pc-nav ul {
		display:flex;
		justify-content: flex-end;
		align-items: center;
		gap:45px;
		padding-right:30px;
	}
	.pc-nav li a {
		display: block;
		font-size:var(--font-pc-small);
	}
	.top-header .pc-nav li a,
	.recruit-header .pc-nav li a {
		color:var(--color-white);
	}
	.header.smaller .pc-nav li a,
	.top-header.header.smaller .pc-nav li a,
	.recruit-header.header.smaller .pc-nav li a {
		color:var(--color-black);
	}
	.top-header .pc-nav li a.btn-header-contact,
	.recruit-header .pc-nav li a.btn-header-contact {
		color:var(--color-black);
	}
	.header.smaller .pc-nav li a.btn-header-contact:hover,
	.top-header .pc-nav li a.btn-header-contact:hover,
	.recruit-header .pc-nav li a.btn-header-contact:hover {
		color:var(--color-white);
	}
}
/*-----------------------------------------
pagetitle
------------------------------------------*/
.page-tt {
	position: relative;
}
.page-tt-en,
.page-tt-jp {
	display: block;
	color:var(--color-green);
}
.page-tt-en {
	line-height: 125%;
}
.page-tt-jp {
	line-height: 200%;
}
@media (width < 767px) {
	.page-tt {
		margin-bottom:6vw;
	}
	.page-tt-en {
		text-align: center;
		font-size:var(--font-sp-xx-large);
	}
	.page-tt-jp {
		text-align: center;
		font-size:var(--font-sp-normal);
		margin-bottom:8vw;
	}
}
@media (768px <= width) {
	.page-tt {
		margin-bottom:100px;
	}
	.page-tt-en {
		text-align: center;
		font-size:var(--font-pc-xxx-large);
	}
	.page-tt-jp {
		text-align: center;
		font-size:var(--font-pc-large);
		margin-bottom:20px;
	}
	.leadtext {
		text-align: center;
	}
}
/*-----------------------------------------
workslist
------------------------------------------*/
.workslink {
	display: block;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
a.workslink:hover {
	opacity: 0.75;
}
.worksblock {
	display: block;
	position: relative;
	z-index: 1;
	width:100%;
	height:100%;
	background-size:cover;
	background-position: center center;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
a.workslink:hover .worksblock {
	transform: scale(1.05);
}
.worksblock:before {
	content:"";
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width:100%;
	height:100%;
	 background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.64), rgba(0, 0, 0, 0) 60%);
}
.worksblock-tt {
	position: absolute;
	z-index: 3;
}
.worksblock-tt * {
	color:var(--color-white);
}
.viewmore-center {
	position: relative;
	margin-left:auto;
	margin-right:auto;
	text-align: center;
}
@media (width < 767px) {
	.workslink {
		width:100vw;
		height:60vw;
		margin-bottom:3vw;
	}
	.worksblock-tt {
		top:7.46vw;
		left:5.33vw;
		width:calc(100vw - 5.33vw);
		height:calc(100vw - 7.46vw);
	}
	.worksblock-tt h3 {
		font-size:var(--font-sp-large);
	}
	.worksblock-tt span {
		font-size:var(--font-sp-small);
	}
	.viewmore-center {
		max-width:58.6vw;
		padding-top:15.6vw;
		padding-bottom:18.6vw;
	}
}
@media (768px <= width) {
	.workslink {
		width:100%;
		height:41.6vw;
		margin-bottom:15px;
	}
	.worksblock-tt {
		top:67px;
		left:97px;
		width:calc(100% - 97px);
		height:calc(100% - 67px);
	}
	.worksblock-tt h3 {
		font-size:var(--font-pc-xx-large);
	}
	.worksblock-tt span {
		font-size:var(--font-pc-large);
	}
	.viewmore-center {
		max-width:220px;
		padding-top:80px;
		padding-bottom:80px;
	}
}
/*-----------------------------------------
recruit-cta
------------------------------------------*/
.recruit-cta {
	display:grid;
	align-items: center;
}
.recruit-cta:before {
	content:"";
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(255,255,255,0.5);
	opacity: 0;
	transition: all 0.8s;
}
.recruit-cta:hover:before {
	opacity: 1;
}
.recruit-cta-tt {
	display:inline-block;
	overflow: hidden;
}
.recruit-cta-tt span {
	display:inline-block;
}
@media (width < 767px) {
	.recruit-cta {
		grid-template-columns: 1fr 13.33vw;
		align-items:center;
		grid-column-gap:5vw;
		margin-bottom:24vw;
		padding:5.33vw;
	}
	.recruit-cta-tt {
		grid-area: 1 / 1 / 2 / 2;
	}
	.recruit-cta-txt {
		display:none;
	}
	.btn-arrow {
		grid-area: 1 / 2 / 2 / 3;
	}
	.recruit-cta-tt span {
		font-size:var(--font-sp-x-large);
	}
}
@media (768px <= width) {
	.recruit-cta {
		height:180px;
		grid-template-columns: 220px 1fr 50px;
		grid-column-gap:20px;
		margin-bottom:100px;
		padding:0 64px;
	}
	.recruit-cta-tt span {
		font-size:var(--font-pc-xxx-large);
	}
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center bottom;
}
footer * {
	color:var(--color-white);
	letter-spacing: 0.04em;
}
.footer-sns {
	display: flex;
}
.footer-sns a {
	display:block;
	position: relative;
	z-index: 2;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.footer-sns a:before {
	font-family: 'icomoon';
	position: absolute;
	top:0;
	left:0;
	text-indent: 0;
	font-weight: 400;
}
.footer-insta:before {
	content: "\f16d";
}
.footer-x:before {
	content: "\e900";
}
.credit {
	position: absolute;
	bottom:1em;
	left:50%;
	transform: translateX(-50%);
}
@media (width < 767px) {
	footer {
		background-image:url(images/bg-footer-sp.webp);
		height:130vw;
		padding-left:5.33vw;
		padding-right:5.33vw;
	}
	.footer-grid {
		padding-top:13.33vw;
	}
	.footer-left h4 {
		font-size:var(--font-sp-large);
		margin-bottom:6vw;
	}
	.footer-left span {
		display: block;
		letter-spacing: 0.04em;
	}
	.footer-left address {
		margin:3vw 0;
	}
	.footer-left .btn-map {
		margin-top:3vw;
	}
	.footer-sns {
		gap:4vw;
		margin-top:9.3vw;
		margin-left:2vw;
	}
	.footer-sns a,
	.footer-sns a:before {
		width:7vw;
		height:7vw;
		font-size:7vw;
	}
	.footer-right {
		text-align: right;
	}
	.footer-right img {
		width:30vw;
	}
	.credit {
		width:100%;
		text-align: center;
		font-size:var(--font-sp-small);
		letter-spacing: 0.06em;
	}
}
@media (768px <= width) {
	footer {
		background-image:url(images/bg-footer.webp);
		height:450px;
	}
	.footer-grid {
		display:flex;
		justify-content: space-between;
		padding-left:3.5vw;
		padding-right:3.5vw;
		padding-top:70px;
	}
	.footer-left h4 {
		font-size:var(--font-pc-x-large);
		margin-bottom:28px;
	}
	.footer-left span {
		display: block;
		letter-spacing: 0.04em;
	}
	.footer-left address {
		display:flex;
		align-items: center;
		gap:12px;
		margin-top:8px;
		margin-bottom:8px;
	}
	.footer-right img {
		width:175px;
	}
	.footer-sns {
		gap:20px;
		margin-top:24px;
	}
	.footer-sns a,
	.footer-sns a:before {
		width:30px;
		height:30px;
		font-size:30px;
	}
	.credit {
		font-size:var(--font-pc-small);
		letter-spacing: 0.06em;
	}
}
/*-----------------------------------------
policy
------------------------------------------*/
@media (width < 767px) {
	.policy {
		padding-bottom:26.6vw;
	}
	.policy h2 {
		padding-top:13.3vw;
		padding-bottom:2.6vw;
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.policy {
		padding-bottom:130px;
	}
	.policy h2 {
		padding-top:50px;
		padding-bottom:10px;
		font-size:var(--font-pc-x-large);
	}
}
/*-----------------------------------------
pager
------------------------------------------*/
.wp-pagenavi {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.wp-pagenavi a,
.wp-pagenavi span.current {
	display:block;
	position:relative;
}
.wp-pagenavi span.current:after {
	content:"";
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	bottom:-0.5em;
	width:100%;
	height:1px;
	background-color:var(--color-black);
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink {
	background-color:var(--color-white);
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.wp-pagenavi a.nextpostslink:before,
.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.nextpostslink:after,
.wp-pagenavi a.previouspostslink:after {
	content: '';
	position: absolute;
	text-indent:0;
	top:0;
	right:0;
	background-repeat: no-repeat;
	background-position: center center;
	animation-fill-mode: forwards;
	animation-duration: 0.2s;
}
.wp-pagenavi a.nextpostslink:before,
.wp-pagenavi a.nextpostslink:after {
	background-image:url(images/arrow-f.svg);
}
.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.previouspostslink:after {
	background-image:url(images/arrow-b.svg);
}
.wp-pagenavi a.nextpostslink:after {
	transform: translateX(-100%);
}
.wp-pagenavi a.previouspostslink:after {
	transform: translateX(100%);
}
.wp-pagenavi a.nextpostslink:hover:before {
	animation-name: arrow-out;
	animation-delay: 0s;
}
.wp-pagenavi a.nextpostslink:hover:after {
	animation-name: arrow-in;
	animation-delay: 0.5s;
}
.wp-pagenavi a.previouspostslink:hover:before {
	animation-name: arrow-out-reverse;
	animation-delay: 0s;
}
.wp-pagenavi a.previouspostslink:hover:after {
	animation-name: arrow-in-reverse;
	animation-delay: 0.5s;
}

@media (width < 767px) {
	.wp-pagenavi {
		margin:8vw auto;
		column-gap: 3vw;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		height:6.6vw;
		min-width:6.6vw;
		line-height:6.6vw;
		border-radius:6.6vw;
	}
	.wp-pagenavi a.nextpostslink,
	.wp-pagenavi a.previouspostslink {
		width:13.3vw;
	}
	.wp-pagenavi a.nextpostslink:before,
	.wp-pagenavi a.previouspostslink:before,
	.wp-pagenavi a.nextpostslink:after,
	.wp-pagenavi a.previouspostslink:after {
		width:13.3vw;
		height:6.6vw;
		background-size:4vw auto;
	}
}
@media (768px <= width) {
	.wp-pagenavi {
		margin:80px auto 120px auto;
		column-gap: 16px;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		height:25px;
		min-width:25px;
		line-height:25px;
		border-radius:25px;
	}
	.wp-pagenavi a.nextpostslink,
	.wp-pagenavi a.previouspostslink {
		width:50px;
	}
	.wp-pagenavi a.nextpostslink:before,
	.wp-pagenavi a.previouspostslink:before,
	.wp-pagenavi a.nextpostslink:after,
	.wp-pagenavi a.previouspostslink:after {
		width:50px;
		height:25px;
		background-size:15px auto;
	}
}