@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
	font-size: 1.6rem !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
  background-image: none !important;
  color: #000 !important;
  transition: background-color 5000s ease-in-out 0s;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

.ta-cen {
	text-align: center;
}


/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** pc ***/
@media screen and (min-width: 768px) and (max-width: 1200px) {
    html {
        font-size: 0.83vw;
    }
}
/*** sp ***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}
@media screen and (max-width: 374px) {
	html {
	    font-size: 2.6667vw;
	}
}

body {
    color: #000;
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.is_popup {
	height: 100vh;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: inherit;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	position: relative;
	padding-top: 6.5rem;
	letter-spacing: 0.08em;
}
.home #wrapper {
	padding-top: 0;
}

/* !header
---------------------------------------------------------- */
#header {
	display: flex;
	justify-content: space-between;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
	transition-duration: 0.5s;
	padding: 0 36rem 0 2.75rem;
	width: 100%;
	background: #fff;
}

#header .left {
	display: flex;
}

.header-logo {
	display: flex;
	align-items: center;
	height: 6.5rem;
	font-size: 0;
}
.header-logo a {
	display: block;
	position: relative;
}
.header-logo img {
	transition-duration: 0.5s;
	width: 26.8rem;
}
.header-logo .black {
	position: absolute;
	left: 0;
	top: 0;
}
.home .header-logo .black {
	opacity: 0;
}

#header .sns {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 0;
	width: 7rem;
	height: 6.5rem;
	background: #fff;
}

.btn-menu {
	display: none;
}

.head-links {
	display: flex;
	position: absolute;
	top: 0;
	right: 7rem;
}
.head-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 14rem;
	height: 6.5rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
}
.head-links a:before {
	content: "";
	display: block;
	margin-right: 0.5rem;
	background: no-repeat center;
	background-size: 100%;
}
.head-links .recruit {
	background: #838383;
}
.head-links .contact {
	background: #000;
}
.head-links .recruit:before {
	width: 1.5rem;
	height: 1.5rem;
	background-image: url(../img/common/icon_user_wh.svg);
}
.head-links .contact:before {
	width: 1.7rem;
	height: 1.1rem;
	background-image: url(../img/common/icon_email_wh.svg);
}

#g-navi ul {
	display: flex;
	font-size: 1.4rem;
	font-weight: 500;
}
#g-navi li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.8rem;
	height: 6.5rem;
	text-align: center;
}
#g-navi li .eng,
.head-links .eng {text-transform: uppercase;}

#g-navi li .jap,
.head-links .jap {display: none;}

#g-navi li a:hover .eng,
.head-links a:hover .eng {display: none;}

#g-navi li a:hover .jap,
.head-links a:hover .jap{display: inline;}




.home #header {
	background: transparent;
	color: #fff;
}
.home #header.fixed-scroll {
	background: #fff;
	color: #000;
}
.home #header.fixed-scroll .header-logo .black {
    opacity: 1;
}
@media screen and (max-width : 1280px){
	#header {
		padding-right: 32rem;
	}
	
	#g-navi li a {
		padding: 0 1.2rem;
	}
	.head-links a {
		width: 12rem;
	}
}
/*** hover ***/
@media screen and (min-width: 960px) {
	#header .sns a:hover,
	#g-navi a:hover,
	.head-links a:hover {
		opacity: 0.7;
	}
	
}


/* !footer
---------------------------------------------------------- */
#footer {
	padding: 9rem 0 0;
	background: #F0F0F0;
	font-size: 1.4rem;
}
.foot-part {
	padding: 4rem 0;
}
.foot-part + .foot-part {
	border-top: 1px solid #707070;
}
.contact-part {
	display: flex;
	justify-content: space-between;
}

#footer .hd01 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.9rem;
	margin-bottom: 1rem;
	letter-spacing: 0.05em;
	font-size: 2rem;
	font-weight: 700;
}
#footer .hd01:before {
	content: "";
	width: 3.9rem;
	height: 3.9rem;
	background: no-repeat center;
	background-size: 100%;
}
#footer .icon-contact:before {
	background-image: url(../img/common/icon_circle_email.svg);
}
#footer .icon-tel:before {
	background-image: url(../img/common/icon_circle_tel.svg);
}

.contact-part .tel-link {
	text-align: center;
	letter-spacing: 0.05em;
}
.contact-part .tel-link .num {
	line-height: 1.45;
	font-size: 4rem;
	font-weight: 700;
}
.contact-part .tel-link .time {
	margin-top: 0.5rem;
	font-weight: 700;
}
.contact-part .btn-link {
	margin-top: 1.3rem;
	text-align: center;
}
.contact-part .btn-link .btn {
	max-width: 33.6rem;
}

.footer-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.foot-logo {
	margin-bottom: 1.3rem;
	font-size: 2rem;
	font-weight: 700;
}
.foot-logo img {
	display: block;
	margin-bottom: 0.8rem;
}

#footer .access p {
	margin-bottom: 0.8rem;
	line-height: 1.4285;
	font-weight: 500;
}
#footer .access .info {
	line-height: 1.785;
}
#footer .btn {
	margin-top: 2rem;
}

.foot-links {
	width: 40rem;
}
.foot-links ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 2rem 3rem;
	font-weight: 700;
}

.foot-links ul li a:hover {opacity: 0.5;}

.foot-links .function {
	margin-top: 2.4rem;
	color: #898989;
	font-weight: 500;
}

#copyright {
	padding: 1.2rem 0;
	background: #000;
	text-align: center;
	color: #fff;
	font-weight: 500;
}

/*** hover ***/
@media screen and (min-width: 960px) {}


/* !common
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}

@media only screen and (max-width : 767px){
	.is-pc {
		display: none;
	}
}

.is-hide {
    display: none;
}

.font-oswald {
	font-family: "Oswald", sans-serif;
}

#main-visual {
	position: relative;
}
.main-swiper {
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.main-swiper .swiper-slide img {
	object-fit: cover;
	width: 100%;
	height: calc(100vh - 6.5rem);
}

.main-swiper .swiper-slide img {
    width: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 5s linear;
    transform-origin: center center;
}

.main-swiper .swiper-slide-active img {
    transform: scale(1.1);
}

.main-swiper .swiper-slide:before {
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.3);
}

.main-swiper .circle-dot {
	position: absolute;
	right: 3.6rem;
	bottom: 3.6rem;
	z-index: 2;
	width: 8.3rem;
	height: 8.3rem;
}
.main-swiper .swiper-slide-active .circle-dot {
	animation: pagerotate 5s linear 1;
}
.main-swiper .circle-dot:before {
	content: "";
	position: absolute;
	right: 0.5rem;
	top: 0.7rem;
	width: 1.3rem;
	height: 1.3rem;
	background: #fff;
	border-radius: 50%;
}
@keyframes pagerotate {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
.main-swiper .swiper-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 0.6rem;
	left: auto;
	right: 3.6rem;
	bottom: 3.6rem;
	width: 8.3rem;
	height: 8.3rem;
	border-radius: 50%;
	border: 1px solid #fff;
	line-height: 1;
	color: #fff;
}
.main-swiper .swiper-pagination:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 1rem;
	transform: rotate(45deg);
	transform-origin: 50% 50%;
	height: 6.3rem;
	border-left: 1px solid #fff;
}
.swiper-pagination-current {
	margin-top: -3rem;
	font-size: 2.2rem;
}
.swiper-pagination-total {
	margin-bottom: -3rem;
	font-size: 2.2rem;
}
#main-visual .info {
	position: absolute;
	left: 6rem;
	bottom: 5rem;
	z-index: 4;
	color: #fff;
}
#main-visual .head .jap {
	letter-spacing: 0.2em;
	font-size: 7rem;
	font-weight: 700;
}
#main-visual .head .eng {
	margin-top: 2.2rem;
}

#breadcrumb {
	padding: 1rem 2rem;
	background: #3E3E3E;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
}
#breadcrumb ul {
	display: flex;
}
#breadcrumb li + li:before {
	content: "/";
	margin: 0 0.5rem;
}

#teaser {
	position: relative;
}
#teaser .bg {
	position: relative;
	z-index: 0;
}
#teaser .bg:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 53.8%;
	background: linear-gradient(to right, rgba(0,0,0,0.85), transparent);
}
#teaser .bg img {
	object-fit: cover;
	width: 100%;
	height: 40rem;
}
#teaser .info {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transform: translate(-50%,-50%);
	padding: 0 5rem;
	width: 100%;
	max-width: 118.8rem;
	color: #fff;
}
#teaser .head-large {
	margin-bottom: 0;
}
#teaser .head01 {
	margin-bottom: 3.2rem;
	line-height: 1.44;
	font-weight: 700;
	font-size: 5.9rem;
}
#teaser .info2 {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 25rem;
	background: #000;
	color: #fff;
}
#teaser .info2 .head-large .jap {
	margin-top: 3rem;
}

.inner,
.inner2 {
	margin: 0 auto;
	padding: 0 5rem;
	max-width: 118.8rem;
}
.inner2 {
	max-width: 130rem;
}

.head-large {
	margin-bottom: 2.5rem;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.head-large p + p {
	margin-top: 2rem;
}
.head-large .eng {
	font-size: 0;
}
.head-large .jap {
	font-size: 2.5rem;
}
.head-large .jap2 {
	font-size: 2rem;
}
.head-large .jap3 {
	margin-top: 1.4rem;
}

.head-small {
	margin-bottom: 2rem;
	line-height: 1.45;
	font-size: 2rem;
	font-weight: 700;
}

.head-txt {
	line-height: 2.2;
}

.color-wh {
	color: #fff;
}

.btn-link {
	margin-top: 3rem;
	text-align: center;
}
.btn-link .btn {
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	transition-duration: 0.5s;
	width: 35.2rem;
	height: 6.2rem;
	background: #000;
	border: 1px solid #000;
	text-transform: uppercase;
	color: #fff;
	font-weight: 500;
}
.btn-link .btn:after {
	content: "";
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_link.svg)no-repeat center #fff;
	border-radius: 50%;
}



.btn_contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0.5s;
	width: 35.2rem;
	height: 6.2rem;
	background: #000;
	border: 1px solid #000;
	text-transform: uppercase;
	color: #fff;
	font-weight: 500;
}
.btn-link-contact {
	position: relative; 
	width: 35.2rem;
	margin: 6rem auto 0;
}
.btn-link-contact::after {
	content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.8rem;
    height: 1.8rem;
    background: url(../img/common/icon_link.svg) no-repeat center #fff;
    border-radius: 50%;
}

.btn_contact:hover {opacity: 0.5;}


.btn-link .btn.white-st {
	background-color: #fff;
	color: #000;
}
.btn-link .btn.white-st:after {
	background-color: #000;
	background-image: url(../img/common/icon_link_wh.svg);
}
.btn-link .link {
	color: #909090;
}

.link-more {
	margin-top: 2.2rem;
	text-align: right;
}
.link-more a {
	display: inline-block;
	position: relative;
	padding-right: 3rem;
	text-decoration: underline;
	font-weight: 500;
}
.link-more a:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.9rem;
	height: 1.9rem;
	background: url(../img/common/icon_link.svg)no-repeat center #fff;
	border-radius: 50%;
}

.btn-instagram {
	display: inline-block;
	padding: 0.8rem 1rem;
	width: 34.3rem;
	background: #fff;
	border: 1.1rem solid;
	text-align: center;
	line-height: 1;
}
.btn-instagram .sns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.8rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	font-size: 2.2rem;
}
.btn-instagram .sns:before {
	content: "";
	margin-bottom: -0.7rem;
	width: 2.5rem;
	height: 2.5rem;
	background: url(../img/common/icon_instagram.svg)no-repeat center;
	background-size: 100%;
}
.btn-instagram .website {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.4rem;
	margin-top: 1rem;
	letter-spacing: 0.1em;
	font-size: 1.2rem;
	font-weight: 500;
}
.btn-instagram .website:after {
	content: "";
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center #000;
	border-radius: 50%;
}

.anchors-list {
	padding: 7.6rem 0 9rem;
}
.anchors-list .head-large {
    margin-bottom: 5.4rem;
}
.anchors-list .head-large .jap {
	line-height: 1.6667;
    font-size: 3rem;
}
.anchors-list ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2.7rem 3rem;
}
.anchors-list li {
	width: calc(100%/3 - 2rem);
}
.anchors-list li a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 6.2rem;
	background: #F4F4F4;
	letter-spacing: 0.1em;
	font-weight: 700;
}

.anchors-list li a:hover {background: #A7A7A7;}


.anchors-list li a:after {
	content: "";
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	width: 1.9rem;
	height: 1.9rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center #000;
	border-radius: 50%;
}

.anchor-area {
	position: relative;
}
.anchor-area .anchor {
	position: absolute;
	top: -6.5rem;
}

.swiper-ctrl .swiper-pagination {
	position: static;
	margin: 0;
	font-size: 0;
}
.swiper-ctrl .swiper-pagination-bullet {
	opacity: 1;
	background: #C9C9C9;
}
.swiper-ctrl .swiper-pagination-bullet-active {
	background: #222222;
}
.swiper-ctrl .swiper-button-prev:after, 
.swiper-ctrl .swiper-button-next:after {
	display: none;
}
.swiper-ctrl .swiper-button-prev,
.swiper-ctrl .swiper-button-next {
	width: 4.8rem;
	height: 4.8rem;
	background: no-repeat center;
	background-size: 100%;
}
.swiper-ctrl .swiper-button-prev {
	left: -2.4rem;
	background-image: url(../img/common/swiper_left.svg);
}
.swiper-ctrl .swiper-button-next {
	right: -2.4rem;
	background-image: url(../img/common/swiper_right.svg);
}
 
/*** hover ***/
@media screen and (min-width: 960px) {
	.btn-link .btn:hover {
		background-color: #868686;
		border-color: #868686;
	}
	.btn-link .btn.white-st:hover {
		color: #fff;
	}
	.btn-link .btn.white-st:hover:after {
	    background-color: #fff;
	    background-image: url(../img/common/icon_link.svg);
	}
	.btn-link .link:hover {
		text-decoration: underline;
	}
	
	.link-more a:hover {
		text-decoration: none;
	}
	
	.btn-instagram:hover {
		opacity: 0.7;
	}
}


/* !page
---------------------------------------------------------- */
.main-about {
	padding: 12rem 0 9.5rem;
	background: #000;
	color: #fff;
}
.main-about .display {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.main-about .display .head-large {
	margin-bottom: 1.8rem;
}
.main-about .btn-link {
	margin-top: 0;
}

.top-about {
	padding: 15rem 0 13.4rem;
	position: relative;
}


.top-about .ab-img01 {
    position: absolute;
    top: -17rem;
    z-index: 1;
} 

.top-about .ab-img02 {
	display: flex;
	justify-content: flex-end;
} 



.top-about .display {
	position: relative;
}
.top-about .display .info {
	margin-left: auto;
	width: calc(33% + 0.1rem);
}
.top-about .display .head-large {
	position: relative;
	padding-top: 17rem;
}
.top-about .display .head-large .eng {
	position: absolute;
	right: 0;
	top: 0;
	width: 69.74rem;
}
.top-about .display .head-large .jap {
	margin-top: 0;
}
.top-about .display .txt {
	display: flex;
	flex-direction: column;
	gap: 1.8rem 0;
	line-height: 1.944;
	font-size: 1.8rem;
	font-weight: 600;
}
.top-about .display .img {
	position: absolute;
	right: calc(40% - 1.7rem);
	bottom: 0;
	width: calc(75% + 4.1rem);
}





.top-service {
	padding: 6.5rem 0;
	background: linear-gradient(to right, transparent calc(50% - 45rem), #F4F4F4 calc(50% - 54.4rem));
}
.top-service .display {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top-service .display .info {
	width: calc(40% - 1.8rem);
}
.top-service .display .img {
	width: calc(55% + 0.2rem);
}
.top-service .display .img img {
	min-width: 54vw;
}



.top-equipment { 
	position: relative;
	z-index: 2;
	margin: 15rem 0;
}
.top-equipment:before {
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 5rem;
	width: 100%;
	height: calc(100% - 10rem);
	border-width: 1px 0;
	border-style: solid;
	border-color: #707070;
}
.top-equipment .display {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.top-equipment .display:before {
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 5rem;
	width: 100%;
	height: calc(100% - 10rem);
	border-width: 0 1px;
	border-style: solid;
	border-color: #707070;
}
.top-equipment .display .imgs {
	padding: 0 5rem;
	width: calc(50% + 4rem);
}
.top-equipment .display .info {
	padding: 0 8rem 0 2rem;
	width: calc(50% - 4rem);
}

.equipment-imglist {
  position: relative;
  max-width: 52.6rem;
  margin: 0 auto;
}
.equipment-imglist li {
  width: 100%;
  position: relative;
  z-index: 3;
}
.equipment-imglist li.current1 {
  animation: slideimg 0.8s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg {
  0% {
    z-index: 4;
    transform: translateX(0px) rotate(0deg);
  }
  49% {
    z-index: 4;
    transform: translateX(-400px) rotate(-25deg);
  }
  50% {
    z-index: 0;
    transform: translateX(-400px) rotate(-25deg);
  }
  100% {
    z-index: 0;
    transform: translateX(0px) rotate(0deg);
  }
}
.equipment-imglist li.current2 {
  animation: slideimg2 0.8s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg2 {
  0% {
    z-index: 3;
  }
  49% {
    z-index: 3;
  }
  50% {
    z-index: 4;
  }
  100% {
    z-index: 4;
  }
}
.equipment-imglist li.current3 {
  animation: slideimg3 0.8s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg3 {
  0% {
    z-index: 2;
  }
  49% {
    z-index: 2;
  }
  50% {
    z-index: 3;
  }
  100% {
    z-index: 3;
  }
}
.equipment-imglist li.current4 {
  animation: slideimg4 0.8s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg4 {
  0% {
    z-index: 1;
  }
  49% {
    z-index: 1;
  }
  50% {
    z-index: 1;
  }
  100% {
    z-index: 1;
  }
}
.equipment-imglist li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1rem solid #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.equipment-imglist li:nth-of-type(1) img {
  transform: rotate(4deg);
}
.equipment-imglist li:nth-of-type(2) {
  position: absolute;
  top: 9px;
  left: 0;
  z-index: 2;
}
.equipment-imglist li:nth-of-type(2) img {
  transform: rotate(-5deg);
}
.equipment-imglist li:nth-of-type(3) {
  position: absolute;
  top: -12px;
  left: -6px;
  z-index: 1;
}
.equipment-imglist li:nth-of-type(3) img {
  transform: rotate(1deg);
}
.equipment-imglist li:nth-of-type(4) {
  position: absolute;
  top: -16px;
  left: -6px;
  z-index: 0;
}
.equipment-imglist li:nth-of-type(4) img {
  transform: rotate(3deg);
}

.top-casestudy {
	padding: 0 0 15rem;
}
.top-casestudy .head-large {
    margin-bottom: 3rem;
}
.case-display {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
}
.case-display a {
	display: block;
	letter-spacing: 0.1em;
}
.case-display .img {
	overflow: hidden;
	margin-bottom: 1.3rem;
}
.case-display .img img {
	object-fit: cover;
	transition-duration: 0.3s;
	width: 100%;
	height: 22.8rem;
}
.case-display .cate {
	display: inline-block;
	padding: 0.1rem 1rem;
	background: #000;
	border-radius: 2rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}
.case-display .tit {
	margin-top: 0.5rem;
	text-decoration: underline;
	font-weight: 700;
}
.top-casestudy .btn-link {
    margin-top: 5rem;
}

.top-news {
	padding: 7.2rem 0 4.8rem;
	background: #B2B2B2;
}
.news-content {
	display: flex;
	justify-content: center;
}
.news-content .side {
	padding-right: 4.5rem;
	width: 24.8rem;
	color: #fff;
}
.news-content .main {
	width: calc(100% - 24.8rem);
}
.news-content .head-large p + p {
    margin-top: 1.6rem;
}

.news-list li {
	margin-bottom: 2.8rem;
}
.news-list li a {
	display: flex;
	position: relative;
	padding: 2.4rem 4rem 2.4rem 2.8rem;
	background: #fff;
	letter-spacing: 0.1em;
}

.news-list li a:hover {opacity: 0.5;}

.news-list li a:after {
    content: "";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon_link_wh.svg) center center no-repeat #000;
	background-size: 1.1rem;
    border-radius: 50%;
}
.news-list .date {
	margin-right: 2.2rem;
	color: #B2B2B2;
}
.news-list .dd {
	font-weight: 500;
}

.top-news .link-more {
	color: #fff;
}

.top-recruit {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding: 11rem 0;
	background: #000000;
	color: #fff;
}

.top-recruit .btn-link {text-align: left;}

.top-recruit .info {
	max-width: 42rem;
}
.top-recruit .head-txt {
	font-size: 1.8rem;
	font-weight: 500;00
}

.recruit-imgslist {
	pointer-events: none;
	display: flex;
	gap: 0 3.2rem;
	position: absolute;
	left: calc(50% + 6.5rem);
	top: 0;
	z-index: -1;
	height: 100%;
}
.recruit-swiper {
    width: 25.3rem;
    height: 100%;
    transform: rotate(14deg);
}
.recruit-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
    height: 100%;
}
.recruit-swiper.reverse {
    transform: rotate(14deg) scaleY(-1);
}
.recruit-swiper.reverse .swiper-slide {
    transform: scaleY(-1);
}
.recruit-swiper .swiper-slide {
    overflow: hidden;
    max-height: 33.8rem;
}
.recruit-swiper .swiper-slide img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    height: 100%;
}

.top-instagram {
	padding: 12.6rem 0 13.8rem;
	background: #F0F0F0;
}
.top-instagram .head-large {
	margin-bottom: -0.8rem;
}
.instagram-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}
.instagram-list li {
	background: #fff;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.instagram-list li .img {
	overflow: hidden;
	position: relative;
	padding-top: 100%;
}
.instagram-list li .img img {
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
	transition-duration: 0.3s;
	width: 100%;
	height: 100%;
}
.instagram-list li .info {
	padding: 1.2rem 1.5rem;
	line-height: 1.43;
	font-weight: 500;
	font-size: 1.4rem;
}
.instagram-list .user {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	letter-spacing: 0.1em;
}
.instagram-list .user .head {
	overflow: hidden;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
}
.instagram-list .user .name {
	width: calc(100% - 5.8rem);
}

.top-instagram .end {
	margin-top: 4.8rem;
	text-align: center;
}

.top-client {
	padding: 8rem 0;
}
.client-content {
	display: flex;
	justify-content: space-between;
}
.client-content .side {
	display: flex;
	align-items: center;
	width: 28.5rem;
	border-right: 1px solid #707070;
}
.client-content .main {
	width: calc(100% - 33.3rem);
}
.client-content .head-large {
    margin-bottom: 0;
}

.partner-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3.2rem 0;
}
.partner-list li {
	display: flex;
	justify-content: center;
	padding: 0 0.5rem;
	width: calc(100%/3);
}


/* about.html */
.about-philosophy {
	padding: 2rem 0 0;
}
.philosophy-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 5.8rem;
	border-left: 1px solid #707070;
}
.philosophy-steps li {
	padding: 1rem 1rem 2.4rem;
	border-right: 1px solid #707070;
	text-align: center;
	line-height: 1.6;
	font-size: 2.5rem;
	font-weight: 700;
}
.philosophy-steps li .step {
	margin-bottom: 3.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	font-size: 2.5rem;
}
.about-philosophy .head-txt {
	text-align: center;
}
.about-philosophy .head-txt p + p {
	margin-top: 3rem;
}
.about-philosophy .banner {
	margin-top: 8rem;
}
.banner img {
	object-fit: cover;
	width: 100%;
}

.about-greeting {
	overflow: hidden;
	padding: 11rem 0;
}
.about-greeting .display {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 6rem 3rem 6rem 5rem;
	border: 1px solid;
}
.about-greeting .display:before,
.about-greeting .display:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.about-greeting .display:before {
	top: -1px;
}
.about-greeting .display:after {
	bottom: -1px;
}
.about-greeting .display .img {
	width: 40.5%;
}
.about-greeting .display .info {
	width: calc(60% - 5rem);
}
.about-greeting .head-large {
    margin-bottom: 2rem;
}
.about-greeting .head-large .jap {
	margin-top: 1.7rem;
	font-size: 3rem;
}
.about-greeting .head-large .jap2 {
	margin-top: 1.4rem;
    font-size: 1.6rem;
}
.about-greeting .display .head-txt {
	max-width: 48.5rem;
	line-height: 2.5;
}
.about-greeting .display .end {
	margin-top: 2.4rem;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.about-greeting .display .name {
	display: block;
	font-size: 2rem;
}

.about-company {
	padding: 13rem 0;
	background: #B2B2B2;
}
.about-company .bg {
	padding: 6.8rem 9rem 7.8rem;
	background: #fff;
}
.about-company table {
	width: 100%;
	border-top: 1px solid;
	letter-spacing: 0.1em;
}
.about-company tr {
	border-bottom: 1px solid;
}
.about-company th {
	padding: 2.5rem 0;
	width: 26rem;
	text-align: left;
	font-weight: 700;
}
.about-company td {
	vertical-align: middle;
	padding: 2.5rem 0;
}
.about-company .head-large {
    margin-bottom: 3rem;
} 

.about-access {
	padding: 12rem 0;
}
.about-access .access-info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 5.6rem;
	letter-spacing: 0.1em;
}
.about-access .access-info .tit {
	padding-bottom: 1rem;
	margin-bottom: 1.4rem;
	border-bottom: 1px solid;
	font-weight: 700;
}
.about-access .access-info .map {
	margin-top: 2.4rem;
}
.about-access .access-info .map iframe {
	display: block;
	width: 100%;
	height: 32rem;
	border: 0;
}

.about-history {
	padding: 11rem 0;
	background: #222222;
	color: #fff;
}
.history-line ul {
	padding-bottom: 8rem;
	position: relative;
}
.history-line ul:before {
	content: "";
	position: absolute;
	left: calc(50% - 1px);
	top: 1rem;
	bottom: 0;
	border-left: 2px solid;
}
.history-line li {
	position: relative;
	width: 50%;
	letter-spacing: 0.1em;
}
.history-line li:before {
	content: "";
	position: absolute;
	top: 1rem;
	width: 1.1rem;
	height: 1.1rem;
	background: #fff;
	border-radius: 50%;
}
.history-line li + li {
	margin-top: 4rem;
}
.history-line li:nth-of-type(odd) {
	margin-left: auto;
	padding-left: 2rem;
}
.history-line li:nth-of-type(even) {
	padding-right: 2rem;
	text-align: right;
}
.history-line li:nth-of-type(odd):before {
	left: 0;
	transform: translateX(-50%);
}
.history-line li:nth-of-type(even):before {
	right: 0;
	transform: translateX(50%);
}
.history-line li .japan-calendar {
	font-size: 2rem;
	font-weight: 700;
}
.history-line li .solar-calendar {
	margin-top: 0.4rem;
	font-size: 1.2rem;
	font-weight: 500;
}
.history-line li .solar-calendar span {
	display: inline-block;
	padding: 0.1rem 1rem;
	background: #fff;
	color: #000000;
}
.history-line li .tit {
	margin-top: 0.8rem;
	font-weight: 500;
}

/* service.html */
.service-juryoyap {
	padding: 11.8rem 0;
	background: #000;
	color: #fff;
}
.service-juryoyap .display {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.service-juryoyap .display .info {
	width: calc(50% - 9rem);
}
.service-juryoyap .display .img {
	width: 50%;
}
.service-juryoyap .display .img2 {
	position: absolute;
	bottom: -26.8rem;
	right: calc(50% + 9rem);
	width: 50%;
}
.service-juryoyap .display .img2 img {
	object-fit: cover;
	height: 35.5rem;
}
.service-juryoyap .head-large .jap {
	margin-top: 1rem;
	font-size: 5rem;
}
.service-juryoyap .sub {
	margin-bottom: 0.8rem;
}
.service-juryoyap .sub span {
	display: inline-block;
	margin-bottom: 1.8rem;
	padding: 0.5rem 1rem;
	background: #fff;
	color: #222;
	font-size: 2rem;
	font-weight: 500;
}
.service-juryoyap .head-txt {
	font-size: 2rem;
	font-weight: 500;
}

.service-juryobutsu {
	padding: 7.6rem 0 0;
}
.service-juryobutsu .head-large {
	margin-bottom: 6.6rem;
	text-align: right;
}
.service-juryobutsu .head-large .jap {
	margin-top: 1.2rem;
	font-size: 3.2rem;
}

.service-equipmentlist {
	position: relative;
	width: 100%;
	max-width: 71.8rem;
	margin: 0 auto;
}
.service-equipmentlist:before,
.service-equipmentlist:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	border-left: 1px solid #000;
}
.service-equipmentlist:after {
	left: auto;
	right: 0;
}
.service-equipmentlist .head {
	position: relative;
	padding: 3.8rem 0;
	text-align: center;
	font-weight: 700;
	font-size: 2.5rem;
}
.service-equipmentlist .head:before,
.service-equipmentlist .head:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 200rem;
	border-top: 1px solid;
}
.service-equipmentlist .head:before {
	top: 0;
}
.service-equipmentlist .head:after {
	bottom: 0;
}
/*.service-equipmentlist ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding-bottom: 8.6rem;
}
.service-equipmentlist li {
	position: relative;
	padding: 2.8rem 2rem;
}
.service-equipmentlist li:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 200rem;
	border-top: 1px solid;
}
.service-equipmentlist li:after {
	content: "";
	position: absolute;
	right: -1px;
	top: 0;
	height: calc(100% + 8.6rem);
	border-right: 1px solid;
}*/

.service-equipmentlist .service-equipment-swiper {
	position: relative;
}

.service-equipmentlist .swiper-ctrl .swiper-pagination {
	position: absolute;
	bottom: -2.3rem;
}

.service-equipmentlist li {
	padding: 3rem 6.6rem;
}

.service-equipmentlist li .img {
	margin-bottom: 1rem;
}

.service-equipmentlist li .img {
	width: 100%;
}

.service-equipmentlist li .tit {
	font-weight: 700;
	font-size: 2rem;
}

.service-equipmentlist .foot {
	position: relative;
	padding: 4rem 0 2.8rem;
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
}
.service-equipmentlist .foot:before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 200rem;
	border-top: 1px solid;
}
.service-equipmentlist .foot:before {
	top: 0;
}


.service-about {
	padding: 12rem 0 14.5rem;
	background: #B2B2B2;
	color: #fff;
}
.service-about .head-large {
	margin-bottom: 4.5rem;
}
.service-about-excuse {
	position: relative;
	margin-bottom: 4rem;
}
.service-about-excuse:after {
	content: "";
	display: block;
	margin: 5rem auto 0;
	width: 0;
	height: 0;
	border-top: 3.4rem solid #fff;
	border-left: 11.4rem solid transparent;
	border-right: 11.4rem solid transparent;
}
.service-about-excuse .head {
	margin-bottom: 5rem;
	text-align: center;
	font-size: 5rem;
	font-weight: 700;
}
.service-about-excuse ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 1.9rem;
}
.service-about-excuse li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding-top: calc(25% - 1.45rem);
	width: calc(25% - 1.45rem);
	border: 1px solid;
	border-radius: 50%;
	text-align: center;
}
.service-about-excuse li .tit {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
}
.service-about-leave .head {
	margin-bottom: 3.6rem;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
}
.service-about-leave .head .big {
	margin-bottom: 1.4rem;
	font-size: 3rem;
}
.service-about-leave ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.6rem 3.8rem;
}
.service-about-leave li {
	padding: 1.2rem 0;
	background: #fff;
	border-radius: 3rem;
	text-align: center;
	color: #222;
	font-size: 2rem;
	font-weight: 700;
}
.case-boxlink {
	margin-top: 4rem;
}
.case-boxlink a {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	overflow: hidden;
	position: relative;
	background: #fff;
	border: 4px solid #000;
	color: #222;
}
.case-boxlink a:hover {opacity: 0.5;}

.case-boxlink a:after {
	content: "";
	position: absolute;
	right: 4.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 5.2rem;
	height: 5.2rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center #000;
	background-size: 2.1rem;
	border-radius: 50%;
}
.case-boxlink .info {
	padding: 1rem 10rem 1rem 3.6rem;
	width: 51%;
}
.case-boxlink .img {
	width: 49%;
}
.case-boxlink .img img {
	object-fit: cover;
	height: 21rem;
}
.case-boxlink .head-large {
    margin-bottom: 0;
}

.service-strength {
	padding: 15rem 0 12.8rem;
	background: #F7F7F7;
}
.service-strength .head {
	margin-bottom: 4.6rem;
	line-height: 1.7666;
	font-size: 3rem;
	font-weight: 700;
}
.service-strength .head-txt {
	margin-bottom: 6rem;
	text-align: center;
}
.service-strength .head-txt p + p {
	margin-top: 2rem;
}
.service-strength ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-left: 1px dashed #707070;
}
.service-strength li {
	padding: 0 3.6rem;
	border-right: 1px dashed #707070;
}
.service-strength li .img {
	margin-bottom: 2rem;
}
.service-strength li .tit {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
}

.service-strength-area {
	margin-top: 12.7rem;
	padding: 4.2rem 4rem;
	background: url(../img/service/bg_map.png)no-repeat center;
	background-size: cover;
	border: 3.6rem solid #8D8D8D;
}
.service-strength-area .head {
	margin-bottom: 2.7rem;
}

.service-flow {
	overflow: hidden;
	position: relative;
}
.service-flow .head-large {
	position: relative;
	z-index: 11;
	transform: translateY(6.8rem);
	margin-bottom: -6.8rem;
}
.service-flow .bg-grid {
	position: relative;
	padding: 17.5rem 0 8rem;
}

.service-flow .bg-grid .btn-link {text-align: left;}


.service-flow .bg-grid:before,
.service-flow .bg-grid:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	border-left: 1px solid #000;
}
.service-flow .bg-grid:before {
	left: 0;
}
.service-flow .bg-grid:after {
	right: 0;
}
.service-flow .bg-grid .line {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 200rem;
	border-top: 1px solid #000;
}
.service-flow .bg-grid .line.top {
	top: 17.5rem;
}
.service-flow .bg-grid .line.bottom {
	bottom: 12.3rem;
}
.service-flow-swiper {
	overflow: hidden;
	position: relative;
	margin: 6.5rem 5rem;
}
.service-flow .swiper-pagination {
	padding-top: 3.5rem;
}
.service-flow-swiper .swiper-wrapper {
	border-top: 1px solid #000;
}
.service-flow-swiper .display {
	display: flex;
	justify-content: space-between;
}
.service-flow-swiper .display .img {
	width: calc(50% - 3.7rem);
}
.service-flow-swiper .display .info {
	width: calc(50% - 0.7rem);
	letter-spacing: 0.1em;
	line-height: 1.875;
}
.service-flow-swiper .display .step {
	margin-bottom: 1.8rem;
	line-height: 1.44;
	font-size: 2.5rem;
	font-weight: 700;
}
.service-flow-swiper .display .num {
	margin-right: 1.2rem;
	color: #C3C3C3;
	font-size: 2.3rem;
}

.service-faq {
	padding: 12rem 0 10rem;
	background: #B2B2B2;
}
.faq-list li {
	margin-bottom: 3.6rem;
	padding: 2.6rem;
	background: #fff;
	letter-spacing: 0.1em;
}
.faq-list li .quest {
	cursor: pointer;
	padding-right: 3rem;
	background: url(../img/common/icon_plus.svg)no-repeat right center;
	background-size: 2.5rem;
	font-weight: 700;
}
.faq-list li .quest.open {
	background-image: url(../img/common/icon_minus.svg);
}
.faq-list li .answer {
	display: none;
	margin-top: 2.5rem;
}
.faq-list li .answer a {
	text-decoration: underline;
}

.case-wrap {
	padding: 9rem 0 7.6rem;
}
.case-category {
	margin-bottom: 5rem;
	letter-spacing: 0.1em;
}
.case-category .tit {
	padding-bottom: 1.2rem;
	margin-bottom: 1.8rem;
	border-bottom: 1px solid;
	font-weight: 700;
	font-size: 1.8rem;
}
.category-select {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.9rem;
}
.category-select li {
	/*padding: 0.4rem 2.6rem;*/
	border: 1px solid;
	border-radius: 3rem;
	font-size: 1.4rem;
	font-weight: 700;
}
.category-select li.on {
	padding: 0.4rem 2.6rem;
	background: #000;
	color: #fff;
}
.title-articles {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.3rem;
	letter-spacing: 0.1em;
	font-size: 1.8rem;
	font-weight: 700;
}

.case-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem 6rem;
}
.case-itemlink {
	letter-spacing: 0.1em;
}
.case-itemlink .img {
	overflow: hidden;
	margin-bottom: 1.3rem;
}
.case-itemlink .img img {
	transition-duration: 0.3s;
}
.case-itemlink .cates {
	margin-bottom: 0.5rem;
}
.case-itemlink .cates span {
	padding: 0.2rem 1rem;
	background: #000;
	border-radius: 3rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}
.case-itemlink .tit {
	text-decoration: underline;
	line-height: 1.778;
	font-size: 1.8rem;
	font-weight: 700;
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 0.9rem;
	margin-top: 6rem;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
	width: 3.2rem;
	height: 3.2rem;
	border: 1px solid transparent;
	border-radius: 50%;
	font-size: 2rem;
	font-weight: 700;
}
.wp-pagenavi .current {
	border-color: #000;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	width: 3.2rem;
	height: 3.2rem;
	background: url(../img/common/icon_arrow.svg)no-repeat center;
	background-size: 1rem;
	font-size: 0;
}
.wp-pagenavi a.previouspostslink {
	transform: scaleX(-1);
}

.detail-wrap {
	padding: 9rem 0;
	background: #F0F0F0;
}
.detail-content {
	display: flex;
	justify-content: space-between;
}
.detail-content .main {
	width: calc((100%/3 * 2) - 0.4rem);
}
.detail-content .side {
	width: calc(100%/3 - 5.4rem);
}
.detail-wrap .detail-bg {
	padding: 3.6rem 4.8rem 6.8rem;
	background: #fff;
}
.detail-wrap .title {
	margin-bottom: 1.6rem;
}
.detail-wrap .title .date {
	margin-bottom: 1rem;
	color: #B4B4B4;
	font-weight: 700;
	font-size: 1.4rem;
}
.detail-wrap .title .cates span {
	padding: 0.2rem 1rem;
	background: #000;
	border-radius: 3rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}
.detail-wrap .title h3 {
	margin-top: 0.6rem;
	font-weight: 700;
	font-size: 2rem;
}
.detail-wrap .detail figure {
	margin: 0 auto 4rem;
}
.detail-wrap .detail h2 {
	margin-bottom: 2.6rem;
	padding: 2rem 0;
	border-top: 3px solid #464646;
	border-bottom: 3px solid #464646;
	font-weight: 700;
	font-size: 2rem;
}

.detail-wrap .detail h3 {
	margin-bottom: 2rem;
	padding: 2rem 0;
	font-weight: 700;
	font-size: 1.8rem;
}

.detail-wrap .detail p {
	line-height: 1.875;
	margin-bottom: 3rem;
}

.detail-wrap .detail ul,
.detail-wrap .detail ol {margin-bottom: 3rem;}

.detail-wrap .detail ul li,
.detail-wrap .detail ol li {
	font-size: 1.4rem;
	line-height: 1.875;
}

.detail-wrap .detail ul li + li,
.detail-wrap .detail ol li + li {
	margin-top: 1rem;
}



.detail-wrap .btn-link {
	margin-top: 4rem;
}

.detail-content .side .hd01 {
	padding-bottom: 1.2rem;
	margin-bottom: 3.8rem;
	border-bottom: 1px solid;
	font-weight: 700;
}
.side-link {
	display: flex;
	flex-direction: column;
	gap: 6rem 0;
}

/* equipment.html */
.equipment-banner {
	position: relative;
	margin-bottom: 11.2rem;
}
.equipment-banner .bg:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 56.66%;
	height: 100%;
	background: linear-gradient(90deg, rgba(0,0,0,0.76), rgba(0,0,0,0));
}
.equipment-banner .bg img {
	object-fit: cover;
	width: 100%;
}
.equipment-banner .head {
	position: absolute;
	left: 0;
	top: 7.6rem;
	padding: 0 0 4.1rem 8rem;
}
.equipment-banner .head:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100% - 6.3rem);
	border-bottom: 1.6rem solid #fff;
}
.equipment-banner .head:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 6.3rem;
	height: 1.6rem;
	background: url(../img/equipment/hd_line.png)no-repeat center;
	background-size: 100%
}
.equipment-display {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.equipment-display + .equipment-display {
	margin-top: 11.2rem;
}
.equipment-display .title {
	display: flex;
	align-items: center;
	padding: 2.9rem 2.7rem;
	margin-bottom: 2.7rem;
	width: 100%;
	background: #F4F4F4;
}
.equipment-display .title .model {
	padding: 0.7rem 2rem 0.7rem 0;
	border-right: 1px solid;
	font-size: 3rem;
	font-weight: 700;
}
.equipment-display .title .units {
	padding-left: 1.8rem;
	font-size: 2rem;
	font-weight: 500;
}
.equipment-display .title .num {
	font-size: 3rem;
	font-weight: 700;
}
.equipment-display .info {
	width: 45.5%;
}
.equipment-display .img {
	padding-right: 3.3rem;
	margin-top: -9.7rem;
	width: 50%;
}
.equipment-display .map {
	width: 50%;
}
.equipment-display .map iframe {
	width: 100%;
	height: 36rem;
}
.equipment-display .sub {
	margin-bottom: 2.8rem;
	line-height: 1.875;
	font-weight: 500;
}
.equipment-display .access {
	line-height: 2;
}
.equipment-display .access .tit {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 700;
}
.equipment-display .access .address {
	padding-top: 1.6rem;
	margin-top: 1.4rem;
	border-top: 1px solid #CBCBCB;
}

.equipment-display .inventorys {
	border-top: 1px solid #CBCBCB;
}
.equipment-display .inventorys li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2rem 0;
	border-bottom: 1px solid #CBCBCB;
}
.equipment-display .inventorys .type {
	font-weight: 700;
}
.equipment-display .inventorys .units {
	font-weight: 500;
}
.equipment-display .inventorys .num {
	font-size: 2.5rem;
}
.equipment-model-swiper {
	overflow: hidden;
}
.equipment-model-ctrl {
	display: flex;
	flex-wrap: wrap;
	gap: 1.3rem;
	margin-top: 2.5rem;
}
.equipment-model-ctrl li {
	cursor: pointer;
	width: 12rem;
}
.equipment-model-ctrl li.model-active {
	opacity: 1;
}
.equipment-model-ctrl li img {
	object-fit: cover;
	width: 100%;
	height: 10.6rem;
}

.equipment-part {
	margin-bottom: 16rem;
}

/* recruit.html */
#recruit #teaser .bg img {
	/*height: calc(100vh - 10.3rem);*/
	height: 100% !important;
}

#recruit #teaser .info {
	left: 0;
	top: auto;
	bottom: 8rem;
	transform: translate(0);
	padding: 0 8rem;
	width: auto;
	max-width: 100%;
}
#recruit #teaser .head-large {
	display: inline-flex;
	align-items: center;
	position: relative;
	padding: 2.6rem 1.6rem 2.6rem 10rem;
	margin-left: -8rem;
	background: #fff;
	color: #222;
	line-height: 1;
}
#recruit #teaser .head-large:after {
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	width: 8.8rem;
	height: 100%;
	background: url(../img/recruit/hd_line_wh.png)no-repeat center;
	background-size: 100% 100%;
}
#recruit #teaser .head-large p + p {
    margin: 0 0 0 1.6rem;
}

.recruitment-point {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 99;
}
.recruitment-point a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 2.6rem 2rem 2.1rem;
	background: #000;
	text-align: center;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.5em;
	color: #fff;
	font-weight: 700;
}
.recruitment-point a:after {
	content: "";
	display: block;
	transform: rotate(90deg);
	margin-top: 0.6rem;
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_link.svg) no-repeat center #fff;
	border-radius: 50%;
}
.recruitment-entry {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 9;
}
.recruitment-entry a {
	width: 100%;
	height: 100%;
	display: block;
}
.recruitment-entry a:hover {opacity: 0.5;}

/*
.recruitment-entry a {
	display: block;
	padding: 3.4rem 0 5.2rem;
	width: 14.5rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center bottom 2.6rem #000;
	background-size: 1.6rem;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
}
*/
.recruit-message {
	padding-top: 11rem;
}
.recruit-message .display {
	display: flex;
	justify-content: space-between;
}
.recruit-message .display .img {
	margin-left: -12.78%;
	width: 55.88%;
}
.recruit-message .display .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.recruit-message .display .info {
	width: 46.7%;
}
.recruit-message .display .head-txt {
	font-size: 1.8rem;
	font-weight: 500;
}
.recruit-message .display .head-txt p + p {
	margin-top: 3rem;
}

.recruit-features {
	padding: 7.5rem 0 18rem;
	background: #3E3E3E;
	color: #fff;
}
.recruit-features .features-points {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.features-points li {
	margin: -1px 0 0 -1px;
	border: 1px solid;
	text-align: center;
}


.features-points li a {
    display: block;
    padding: 0 2.8rem 10rem;
    height: 100%;
    min-height: 420px;
    font-weight: 500;
    position: relative;
}

.features-points li:first-child a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-01.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.features-points li:nth-child(2) a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-02.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.features-points li:nth-child(3) a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-03.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.features-points li:nth-child(4) a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-04.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.features-points li:nth-child(5) a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-05.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

.features-points li:last-child a:after {
    content: "";
    z-index: -1; 
    position: absolute;
    inset: 0;
    background: url("../img/recruit/features-06.jpg") no-repeat center transparent;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}


.features-points li:first-child a:hover:after,
.features-points li:nth-child(2) a:hover:after,
.features-points li:nth-child(3) a:hover:after,
.features-points li:nth-child(4) a:hover:after,
.features-points li:nth-child(5) a:hover:after,
.features-points li:last-child a:hover:after {
    opacity: 1; 
    z-index: 10; 
}

.features-points li a:hover p,
.features-points li a:hover h3 {
	position: relative;
	z-index: 11; 
}


/*
.features-points li:first-child a:hover {
    background: url("../img/recruit/features-01.jpg") no-repeat center transparent;
    background-size: cover;
}


.features-points li:nth-child(2) a:hover {
    background: url("../img/recruit/features-02.jpg") no-repeat center transparent;
    background-size: cover;
    transition: background-color 0.3s ease-in-out;
}

.features-points li:nth-child(3) a:hover {
    background: url("../img/recruit/features-03.jpg") no-repeat center transparent;
    background-size: cover;
    transition: background-color 0.3s ease-in-out;
}

.features-points li:nth-child(4) a:hover {
    background: url("../img/recruit/features-04.jpg") no-repeat center transparent;
    background-size: cover;
    transition: background-color 0.3s ease-in-out;
}

.features-points li:nth-child(5) a:hover {
    background: url("../img/recruit/features-05.jpg") no-repeat center transparent;
    background-size: cover;
    transition: background-color 0.3s ease-in-out;
}

.features-points li:last-child a:hover {
    background: url("../img/recruit/features-06.jpg") no-repeat center transparent;
    background-size: cover;
    transition: background-color 0.3s ease-in-out;
}
*/


.features-points li .step {
	margin-bottom: 1.8rem;
	text-align: left;
	font-size: 7.7rem;
	font-weight: 700;
}
.features-points li h3 {
	margin-bottom: 1.6rem;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-size: 2.5rem;
}
.features-points li .more {
	display: none;
}
.fancybox-content {
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 108.8rem;
}
.fancybox-close-small {
	background: url(../img/common/icon_close.svg)no-repeat center;
}
.fancybox-close-small svg {
	display: none;
}
.fancybox-recruit-features {
	overflow-y: auto;
	padding: 6.5rem 7rem 4rem;
	max-height: 90vh;
	font-weight: 500;
}
.fancybox-recruit-features .head {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 700;
}
.features-display {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 4.6rem;
}
.features-display .info {
	width: 46%;
	color: #3E3E3E;
}
.features-display .img {
	width: 50%;
}
.fancybox-head {
	letter-spacing: 0.1em;
	font-weight: 700;
	font-size: 3rem;
}
.fancybox-head .step {
	display: block;
	font-size: 7.7rem;
}
.fancybox-information li {
	padding: 2.6rem;
	border: 1px solid #707070;
	line-height: 1.875;
}
.fancybox-information li + li {
	margin-top: 3rem;
}
.fancybox-information .hd01 {
	margin-bottom: 1rem;
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: 700;
}
.fancybox-information .hd01 span {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: #3E3E3E;
	color: #fff;
}
.fancybox-information .display {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fancybox-information .display .info {
	width: 55%;
}
.fancybox-information .display .img {
	width: 44.4%;
}
.fancybox-information .display .logo {
	padding: 0 6rem;
	width: 45%;
}
.fancybox-information .display .txt {
	max-width: 44.5rem;
}
.fancybox-information .sitemap {
	padding: 2.6rem 30rem 2.6rem 2.6rem;
	background: url(../img/recruit/bg_map.png)no-repeat right center;
	background-size: auto 100%;
}
.fancybox-information .sitemap .tosite {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #707070;
}
.fancybox-information .sitemap .tit {
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 700;
}
.fancybox-information .example {
	margin-top: 2rem;
	padding: 0.6rem 2rem;
	background: #EBEBEB;
}
.fancybox-information .btn-benefit {
	display: inline-block;
	margin-top: 1.5rem;
}
.fancybox-information .btn-benefit .btn {
	display: flex;
	align-items: center;
	gap: 0 1.6rem;
	padding: 1rem 2rem 1rem 1.2rem;
	height: 9.4rem;
	border: 1.1rem solid #000;
	font-weight: 700;
	font-size: 2rem;
}
.fancybox-information .btn-benefit .btn:after {
	content: "";
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center #000;
	border-radius: 50%;
}
.fancybox-information .btn-benefit .note {
	display: block;
	margin-top: 0.8rem;
	text-align: right;
	color: #C9C9C9;
	font-size: 1.2rem;
}
.fancybox-information2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2.2rem 2.8rem;
}
.fancybox-information2 .box {
	width: calc(50% - 1.4rem);
	border: 1px solid #707070;
}
.fancybox-information2 .box.full {
	width: 100%;
}
.fancybox-information2 .hd01 {
	padding: 1rem;
	background: #3E3E3E;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
}
.fancybox-information2 .hd01 b {font-size: 2.5rem; font-weight: 700;}
.fancybox-information2 .info {
	display: flex;
	align-items: center;
	padding: 1.6rem 2.8rem;
	height: calc(100% - 5rem);
	line-height: 1.875;
}
.fancybox-information2 .leave-time {
	display: block;
	padding: 2.5rem 2.8rem;
	height: auto;
	text-align: center;
}
.fancybox-information2 .leave-time .case {
	display: flex;
	justify-content: center;
	gap: 0 4rem;
	margin: 2.5rem 0 3rem;
}
.fancybox-information2 .leave-time .case li {
	padding: 3rem 0;
	width: 26.4rem;
	height: 26.4rem;
	background: no-repeat bottom -1rem center #3E3E3E;
	background-size: ;
	border-radius: 50%;
	color: #fff;
}
.fancybox-information2 .leave-time .case .a {
	background-image: url(../img/recruit/icon_time_head01.svg);
}
.fancybox-information2 .leave-time .case .b {
	background-image: url(../img/recruit/icon_time_head02.svg);
}
.fancybox-information2 .leave-time .time {
	letter-spacing: 0.1em;
	line-height: 1.2;
	font-size: 2rem;
	font-weight: 700;
}
.fancybox-information2 .leave-time .num {
	margin-right: 0.8rem;
	font-size: 5rem;
}
.features-teaser {
	position: relative;
	z-index: 2;
	margin: -6.5rem -7rem 9.6rem;
}
.features-teaser .info {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 8rem 3.6rem 3rem;
	width: 100%;
	background: linear-gradient(0deg, #000, transparent);
	text-align: right;
	color: #fff;
}
.features-teaser .fancybox-head .step {
	padding: 0 2.6rem;
}
.fancybox-features-settle .display {
	display: flex;
	justify-content: space-between;
	line-height: 1.875;
}
.fancybox-features-settle .display.reverse {
	flex-direction: row-reverse;
}
.fancybox-features-settle .display + .display {
	margin-top: 10rem;
}
.fancybox-features-settle .display.block-cen {
	display: block;
	padding: 3.5rem 0 5rem;
	border: 1px solid #707070;
	text-align: center;
}
.fancybox-features-settle .display .info {
	width: 47.05%;
}
.fancybox-features-settle .display .img {
	width: 49.2%;
}
.fancybox-features-settle .point {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #707070;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.fancybox-features-settle .point .num {
	font-size: 2.5rem;
}
.fancybox-features-settle .tit {
	margin-bottom: 0.8rem;
	line-height: 1.44;
	color: #3E3E3E;
	font-size: 2rem;
	font-weight: 700;
}
.fancybox-features-settle .logo {
	margin-bottom: 3.6rem;
}
.fancybox-features-settle .logo img {
	max-width: 37rem;
}
.fancybox-features-settle .block-cen .point {
	padding-bottom: 0;
	margin-bottom: 2.4rem;
	border-bottom: 0;
	color: #3E3E3E;
}
.fancybox-close {
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0 0.3rem;
	margin: 3.8rem auto 0;
	max-width: 6.2rem;
	text-align: center;
	font-weight: 500;
	font-size: 1.5rem;
}
.fancybox-close:after {
	content: "";
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	background: url(../img/common/icon_close.svg)no-repeat center;
	background-size: 100%;
}

.recruit-features .features-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem 2.4rem;
	margin-top: 16rem;
}
.features-benefits li {
	padding: 1.6rem 1rem 3rem;
	border: 1px solid #fff;
	text-align: center;
	line-height: 1.875;
	letter-spacing: 0;
}
.features-benefits li.title {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
}
.features-benefits .title .head-large {
	margin-bottom: 0;
	color: #3E3E3E;
}
.features-benefits li .icon {
	padding: 5rem 0 3.6rem;
}
.features-benefits li .tit {
	margin-bottom: 1rem;
	line-height: 1.45;
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: 700;
}
.features-benefits li .small {
	font-size: 1.6rem;
}

.recruit-interview {
	padding: 12.8rem 0 12.6rem;
}
.recruit-interview-swiper ul {
	display: flex; 
	justify-content: center;
	gap: 0 5.2rem;
}
.recruit-interview-swiper li {
	width: calc(50% - 2.6rem);
}
.interview-introd-item .img {
	overflow: hidden;
	position: relative;
	z-index: 2;
	border: 0.5rem solid #000;
}
.interview-introd-item .img img {
	transition-duration: 0.3s;
	width: 100%;
}
.interview-introd-item .img:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 16rem;
	background: linear-gradient(0deg, #000, transparent);
}
.interview-introd-item .info {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	padding: 2rem 2.8rem;
	width: 100%;
	letter-spacing: 0.1em;
	line-height: 1.4285;
	color: #fff;
	font-size: 1.4rem;
}
.interview-introd-item .hd01 {
	margin: 0 0 0.5rem -2.8rem;
	line-height: 1;
	font-size: 1.8rem;
	font-weight: 700;
}
.interview-introd-item .hd01 span {
	display: inline-block;
	margin-bottom: 1.2rem;
	padding: 2.1rem 2.8rem;
	background: #fff;
	color: #000;
}
.interview-introd-item .entry {
	margin-bottom: 0.4rem;
}
.interview-introd-item .entry .name {
	margin-right: 1.6rem;
	font-size: 2rem;
	font-weight: 700;
}

.recruit-ideal {
	margin-bottom: 10.8rem;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
}
.recruit-ideal-wrap {
	position: relative;
	margin: 0 auto;
	max-width: 116.6rem;
}
.recruit-ideal-wrap .mask-recruit {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	padding: 1rem;
	width: calc(100%/3);
	height: 100%;
	background: #fff;
	border-right: 1px solid #707070;
	border-left: 1px solid #707070;
	text-align: center;
}
.recruit-ideal-wrap .mask-recruit .head-large {
	margin-bottom: 1.4rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #DDDDDD;
}
.recruit-ideal-wrap .mask-recruit .sub {
	font-weight: 700;
}
.recruit-ideal-swiper {
	overflow: hidden;
	position: relative;
	z-index: 1;
	text-align: center;
}
.recruit-ideal-swiper .swiper-slide {
	padding: 8rem 0 9rem;
	border-right: 1px solid #707070;
}
.recruit-ideal-swiper .icon {
	margin-bottom: 0.8rem;
}
.recruit-ideal-swiper .tit {
	letter-spacing: 0.1em;
	line-height: 1.45;
	font-size: 2rem;
	font-weight: 700;
}

.recruit-recruitment-points {
	padding: 12rem 0;
	background: #B2B2B2;
}
.recruit-recruitment-points .head-large {
	margin-bottom: 5rem;
	color: #fff;
}
.recruit-recruitment-points .head-large .eng img {
	width: 28.7rem;
}
.recruit-recruitment-points ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8rem 8rem;
	/*display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem 8.2rem;
	*/
}
.recruit-recruitment-points li {
	padding: 4.6rem 4.2rem 3.4rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
	letter-spacing: 0.05em;
}
.recruit-recruitment-points .img {
	margin-bottom: 2rem;
	height: 26rem;
}

.recruit-recruitment-points .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.recruit-recruitment-points .tit {
	margin-bottom: 1.5rem;
	font-size: 2rem;
	font-weight: 700;
}
.recruit-recruitment-points .info {
	width: 100%;
}
.recruit-recruitment-points .info tr {
	border-bottom: 1px solid #707070;
}
.recruit-recruitment-points .info th {
	padding: 1.2rem 0;
	width: 7rem;
	font-weight: 700;
}
.recruit-recruitment-points .info td {
	padding: 1.2rem 0;
	line-height: 2.1875;
	font-weight: 500;
}
.recruit-recruitment-points .btn-link {
	display: flex;
	justify-content: space-between;
	gap: 0 1.8rem;
}
.recruit-recruitment-points .btn-link .btn {
	width: 100%;
	height: 5rem;
	font-weight: 700;
}
.recruit-recruitment-points .btn-link .detail {
	background-color: #747474;
	border-color: #747474;
}

.message-introd {
	padding: 9rem 0 6.6rem;
	background: linear-gradient(to bottom, #B2B2B2 41.4rem, #fff 41.4rem);
	line-height: 1.875;
}
.message-introd .hd01 {
	margin-bottom: 1rem;
	line-height: 1;
	font-size: 2.5rem;
	font-weight: 700;
}
.message-introd .hd01 span {
	display: inline-block;
	margin-bottom: 1.5rem;
	padding: 1.3rem 1.2rem;
	background: #000;
	color: #fff;
}
.message-introd .hd02 {
	margin-bottom: 1.6rem;
	line-height: 1.44;
	font-size: 2.5rem;
	font-weight: 700;
}
.message-introd .hd02:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
	width: 4rem;
	border-top: 2px solid;
}
.message-introd .display {
	display: flex;
	justify-content: space-between;
}
.message-introd .display .info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 36%;
}
.message-introd .display .img {
	width: 54.6%;
}
.message-introd .display .name {
	margin-bottom: 0.9rem;
	line-height: 1.45;
	font-size: 2rem;
	font-weight: 700;
}
.message-introd .display2 {
	position: relative;
	margin-top: 13.5rem;
}
.message-introd .display2 .img {
	width: 52.855%;
}
.message-introd .display2 .info {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 108.8rem;
}
.message-introd .display2 .con {
	margin-left: auto;
	max-width: 44.4rem;
}


.message-introd .paragraph {
	max-width: 81.2rem;
}
.message-introd .paragraph li + li {
	margin-top: 6.6rem;
}

.message-schedule {
	padding: 14rem 0 16rem;
	background: #B2B2B2;
}
.message-schedule .bg {
	padding: 11.8rem 9.2rem 13.5rem;
	background: #fff;
}
.message-schedule ul {
	border-top: 1px solid;
}
.message-schedule li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 2rem 0;
	border-bottom: 1px solid;
	letter-spacing: 0.1em;
	line-height: 1.875;
}
.message-schedule li .date {
	padding: 0.6rem 0;
	width: 6.4rem;
	background: #000;
	line-height: 1;
	text-align: center;
	color: #fff;
	font-weight: 700;
}
.message-schedule li .info {
	width: calc(100% - 9.2rem);
}
.message-schedule li .tit {
	margin-bottom: 1rem;
	line-height: 1.5;
	font-weight: 700;
}

.message-other {
	padding: 13.5rem 0 8.6rem;
}
.message-other .head-large {
	margin-bottom: 5.6rem;
}

#recruitment .head-links {
	display: none;
}
#recruitment #g-navi .head-links {
	display: flex;
}

#recruitment #teaser .head-large .eng img {
	width: 43rem;
}
.recruitment-wrap {
	padding: 10.6rem 0 5.2rem;
	line-height: 1.875;
}
.field-worker-display {
	display: flex;
	justify-content: space-between;
}
.field-worker-display .info {
	width: 44.85%;
}
.field-worker-display .img {
	width: 50.73%;
}
.field-worker-display .head-small {
	padding-bottom: 2rem;
	border-bottom: 1px solid #2B2B2B;
}

.recruitment-table {
	padding-top: 2.2rem;
}
.recruitment-table table {
	width: 100%;
	border-top: 1px solid #D1D1D1;
}
.recruitment-table tr {
	border-bottom: 1px solid #D1D1D1;
}
.recruitment-table th {
	padding: 3.5rem 0;
	width: 24rem;
	text-align: left;
	font-weight: 700;
}
.recruitment-table td {
	padding: 3.5rem 0;
}
.recruitment-table .txt p + p {
	margin-top: 3rem;
}

.recruitment-reason {
	padding-top: 8.2rem;
}
.recruitment-reason ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 5.6rem;
}
.recruitment-reason li .img {
	margin-bottom: 1.8rem;
}
.recruitment-reason li .head-small {
	margin-bottom: 1.5rem;
}
.recruitment-reason .btn-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3.2rem 0;
	margin-top: 10rem;
}
.recruitment-reason .btn-link .btn {
	height: 7.4rem;
	width: 49.8rem;
	font-size: 3rem;
	font-weight: 700;
}

#entry #wrapper {	
	background: #F0F0F0;
}
.entry-wrap {
	padding: 11.8rem 0 10rem;
}
.entry-form {
	margin: 0 auto;
	max-width: 72rem;
}
.entry-form .head-small {
	margin-bottom: 6.6rem;
	line-height: 1.75;
	text-align: center;
}
.entry-form li + li {
	margin-top: 4rem;
}
.entry-form .must {
	display: inline-block;
	padding: 0.5rem 1rem;
	margin-right: 1.2rem;
	background: #DB0000;
	border-radius: 2rem;
	line-height: 1;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
}
.entry-form .th {
	margin-bottom: 1rem;
	font-weight: 700;
}
.entry-form .td {
	line-height: 1.875;
	font-weight: 500;
}
.entry-form input::-webkit-input-placeholder,
.entry-form select::-webkit-input-placeholder,
.entry-form textarea::-webkit-input-placeholder {
    color: #B4B4B4;
	font-size: 1.6rem;
	font-weight: 500;
}
.entry-form input[type="text"],
.entry-form select {
	padding: 0 2rem;
	height: 5.3rem;
	width: 100%;
	background: #fff;
	border: 0;
	font-weight: 500;
    color: #000;
	font-size: 1.6rem;
}
.entry-form select {
	background: url(../img/common/icon_select.svg)no-repeat right 1.5rem center #fff;
	font-size: 1.6rem;
    /*color: #B4B4B4;*/
}
.entry-form input[type="date"] {
	padding: 0 1.5rem;
	height: 5.3rem;
	width: 30rem;
	background: #fff;
	border: 0;
    color: #B4B4B4;
	font-weight: 500;
}
.entry-form .upload-file {
	position: relative;
	padding: 1rem;
	background: #fff;
}
.entry-form .upload-file input[type="file"] {
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}
.entry-form textarea {
	display: block;
	resize: none;
	padding: 1rem 1.5rem;
	height: 17rem;
	width: 100%;
	background: #fff;
	border: 0;
	font-size: 1.6rem;
}
.entry-form .note {
	margin-top: 1.1rem;
	font-size: 1.4rem;
}
 
.btn-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}
.btn-options input {
	display: none;
}
.btn-options input + label {
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 0 1.6rem;
	height: 5.5rem;
	background: #CECECE;
	border-radius: 0.5rem;
	font-weight: 700;
}
.btn-options input:checked + label {
	background: #DB0000;
	color: #fff;
}
.entry-form .agree {
	font-weight: 700;
}
.entry-form .agree a {
	border-bottom: 1px solid;
	color: #DA0001;
}
.entry-form .agree input {
	margin: 0 1rem -0.5rem 0;
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_checkbox.svg)no-repeat center;
	background-size: 100%;
}
.entry-form .agree input:checked {
	background-image: url(../img/common/icon_checkbox_checked.svg);
}

.entry-form .btn-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.6rem 0;
	margin-top: 7.2rem;
}
.entry-form .btn-link .btn input {
	height: 100%;
	width: 100%;
	background: none;
	border: 0;
	font-size: 1em;
	color: inherit;
	font-weight: 500;
}

#sitemap #wrapper {	
	background: #F0F0F0;
}
.site-map-wrap {
	margin: 10rem 0;
	padding: 4.2rem 4.6rem 5.8rem;
	background: #fff;
}
.site-map-links {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0 3.8rem;
}
.site-map-links a {
	display: block;
}
.site-map-links a + a {
	margin-top: 2.8rem;
}
.site-map-links .level1 {
	padding: 1.6rem 0;
	border-bottom: 1px solid;
	font-weight: 700;
}
.site-map-links .level1 + .level1 {
	margin-top: 0;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	
	.instagram-list a:hover .img img,
	.case-display a:hover .img img {
		transform: scale(1.1,1.1);
	}
	
	.partner-list li a:hover {
		opacity: 0.7;
	}
	
	.case-itemlink a:hover .img img {
		transform: scale(1.1, 1.1);
	}
	.case-itemlink a:hover .tit {
		text-decoration: none;
	}
	
	.wp-pagenavi .page:hover {
		border-color: #000;
	}
	
	.faq-list li .answer a:hover {
		text-decoration: none;
	}
	
	.interview-introd-item a:hover .img img {
		transform: scale(1.1, 1.1);
	}
	
	.entry-form .agree a:hover {
		border-bottom-color: transparent;
	}
}

@media screen and (max-width: 1366px) {
	.recruit-message .display .img {
		margin-left: -5rem;
		width: 50%;
	}
	
	
}




/*-----------------------------

news

-------------------------------*/
.btn-center {
	margin: 0 auto;
	text-align: center;
}

.page-news {
	padding: 7.2rem 0 4.8rem;
	background: #F0F0F0;
}

.single-news {
	padding: 10rem 0 11rem;
	background: #FFF;
}

.single-news p.news-day {
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	color: #B2B2B2;
	margin-bottom: 1rem;
}

.single-news h2.news-ttl {
	font-size: 2rem;
	line-height: 2;
	font-weight: bold;
	letter-spacing: 0.1rem;
	border-bottom: 1px solid #000;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
}

.single-news .news-contents {
	margin-bottom: 5.5rem;
}

.single-news .news-contents p {
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	line-height: 2;
}

.single-news .news-contents p + p {margin-top: 3rem;}



/*-----------------------------

thanks /confirm 

-------------------------------*/
.thanks-page {
	padding: 7rem 0 8.5rem;
	text-align: center;
	background: #FFF;
}

.page-ttl {margin-bottom: 3rem;}
h3.ttl_page {
	font-size: 3rem;
	font-weight: 500; 
	line-height: 2;
	margin-bottom: 3rem;
} 

p.txt_page {
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 3.5rem;
}

.confirm-area {
	padding: 10rem 0 12rem;
	background: #F0F0F0;
}

.confirm-area p.confirm-txt {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 5.5rem;
	letter-spacing: 0.08rem;
}

.confirm-area .confirm-inner {
	background: #FFF;
	padding: 9rem 18.5rem 7rem;
}


/*-----------------------------

policy / terms 

-------------------------------*/
.policy-area {
	padding: 10.5rem 0 8.5rem;
	background: #F0F0F0;
}


.policy-area .inner {
	max-width: 108.8rem;
	padding: 9rem 11rem 9.5rem;
	background: #FFF;
}

.policy-area p.txt {
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 7rem;
}

.policy-area .area h3 {
	font-size: 2rem;
	font-weight: bold;
	border-bottom: 1px solid #000000;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}

.policy-area .area {}
.policy-area .area + .area {margin-top: 5rem;}

.policy-area .area p.txt {margin-bottom: 0;}
.policy-area .area p.txt + p.txt {margin-top: 3rem;}

.policy-area .area p.txt a {
	color: #52A4D8;
	text-decoration: underline;
}

a.is-active {
    background: #000;
    color: #fff;
}
.category-select li {}
.category-select li a {
	display: block;
	padding: 0.4rem 2.6rem;
	border-radius: 3rem;
}
.category-select li.on {
	background: #000;
	color: #fff;
}

/*------radio------*/
.mwform-radio-field-text {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 7rem;
	min-height: 5.4rem;
	padding: 0 2rem;
	background: #CECECE;
	border-radius: 5px;
}

.mwform-radio-field-text::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: #CECECE;
	background-size: cover;
	box-sizing: border-box;
}

#sex01-1:checked+.mwform-radio-field-text,
#sex01-2:checked+.mwform-radio-field-text,
#sex01-3:checked+.mwform-radio-field-text,
#method01-1:checked+.mwform-radio-field-text,
#method01-2:checked+.mwform-radio-field-text,
#method01-3:checked+.mwform-radio-field-text {
	background: #383838 !important;
	color: #fff !important;
}

#sex01-1:checked+label::after,
#sex01-2:checked+label::after,
#sex01-3:checked+label::after,
#method01-1:checked+label::after,
#method01-2:checked+label::after,
#method01-3:checked+label::after {
	opacity: 1;
}

.form-date  {
	display: flex;
}

.form-date .date-select01 {
	display: block;
	width: 14rem;
	position: relative;
	color: #333;
}

.form-date .date-select02 {
	display: block;
	width: 7.5rem;
	margin-left: 6.5rem;
	position: relative;
}

.form-date .date-select02::before {
	content: '';
	position: absolute;
	left: -3.3rem;
	top: 0;
	z-index: 3;
	width: .1rem;
	height: 5rem;
	background: #707070;
	transform: rotate(30deg);
}

.mwform-checkbox-field-text {display: none;}



/*------confirm------*/
.page-template-page-entry-confirm span.must {
	display: none;
}

.page-template-page-entry-confirm p {
	font-weight: bold;
	margin-bottom: 2rem;
}

.page-template-page-entry-confirm span.must,
.page-template-page-entry-confirm #contents li:last-child,
.page-template-page-entry-confirm .note {
	display: none;
}

.page-template-page-entry-confirm p {
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.page-template-page-entry-confirm #contents ul{border-top: 1px solid #707070;}
.page-template-page-entry-confirm #contents li:first-child {padding-top: 2rem;}
.page-template-page-entry-confirm #contents li {
	border-bottom: 1px solid #707070;
	padding-bottom: 2rem;
}

.page-template-page-entry-confirm #contents li + li {margin-top: 2rem;}

.page-template-page-entry-confirm .form-date .date-select02::before {
    height: 3rem;
}

.page-template-page-entry-confirm input[type="submit"] {
	border: none;
	background: #000;
	color: #fff;
}

.page-template-page-entry-confirm .reset {
	width: 100%;
	text-align: center;
	color: #909090 !important;
	background: none !important;
}

.page-template-page-entry-confirm .form-date .date-select01 {width: 3rem;}
.page-template-page-entry-confirm .form-date .date-select02 {width: 1.5rem;}
.page-template-page-entry-confirm .btn-link-contact::after {top: 33%;}


.page-template-page-confirm span.must {
	display: none;
}

.page-template-page-confirm p {
	font-weight: bold;
	margin-bottom: 2rem;
}

.page-template-page-confirm span.must,
.page-template-page-confirm #contents li:last-child,
.page-template-page-confirm .note {
	display: none;
}

.page-template-page-confirm p {
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.page-template-page-confirm #contents ul{border-top: 1px solid #707070;}
.page-template-page-confirm #contents li:first-child {padding-top: 2rem;}
.page-template-page-confirm #contents li {
	border-bottom: 1px solid #707070;
	padding-bottom: 2rem;
}

.page-template-page-confirm #contents li + li {margin-top: 2rem;}

.page-template-page-confirm .form-date .date-select02::before {
    height: 3rem;
}

.page-template-page-confirm input[type="submit"] {
	border: none;
	background: #000;
	color: #fff;
}

.page-template-page-confirm .reset {
	width: 100%;
	text-align: center;
	color: #909090 !important;
	background: none !important;
}

.page-template-page-confirm .form-date .date-select01 {width: 3rem;}
.page-template-page-confirm .form-date .date-select02 {width: 1.5rem;}
.page-template-page-confirm .btn-link-contact::after {top: 33%;}


.mw_wp_form .error {
	display: inline-block !important;
    font-size: 1.1rem !important;
}


#zip {
	width: 20%;
	margin-bottom: 1rem;
}

.zip {background: #fff;}

/*-----------------------------

mask

------------------------------*/

.mask_wrap{
  display: table;
  overflow: hidden;
}

.mask-wrap .mask{
  display: table;
  position: relative;
  margin-bottom: 0;
  left: 0%;
  overflow: hidden;
}

.mask-wrap .mask-bg{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
}


/*-----------------------------

recruit 0620

------------------------------*/
.recruit-recruitment-points .inner  {
	overflow: hidden;
	/*padding: 0;*/
}

.recruit-recruitment-points .swiper-slide {
	padding: 4.6rem 4.2rem 3.4rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
	letter-spacing: 0.05em;
}

.recruit-recruitment-points .swiper-ctrl .swiper-button-prev {
	left: 5rem;
	background-image: url(../img/common/swiper_left.svg);
}
.recruit-recruitment-points .swiper-ctrl .swiper-button-next {
	right: 5rem;
	background-image: url(../img/common/swiper_right.svg);
}

.instagram-btn {
	text-align: center;
	padding-top: 5rem;
}

.coming-soon {
	width: 100%;
	padding-top: 5rem;
	text-align: center;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/*------instagram------*/
#sb_instagram .sb_instagram_header .sbi_header_text, 
.sb_instagram_header .sbi_header_text,
#sbi_load {
	display: none !important;
}