@charset "utf-8";
/*----------------------------------------------------------------------------------------

	base.css（recruit）

----------------------------------------------------------------------------------------*/


head + body {
	min-width: 1300px;
	font-size: 16px;
	line-height: 1.875;
	text-align: left;
	position: relative;
}
.dnone, .dnone_pc {
	display: none !important;
}
a{
	transition: opacity 0.2s;
}
a:hover {
	opacity: 0.8;
}
.cont-w {
    margin-right: auto;
    margin-left: auto;
    width: 1200px;
}
.pankuzu.cont-w{
	max-width: 1500px;
	margin: auto;
	padding: 11px 30px;
	width: 100%;
	box-sizing: border-box;
}
.cont-ww {
	max-width: 1500px;
	margin: auto;
	padding: 0 30px;
	width: 100%;
	box-sizing: border-box;
}
.nocon{
	text-align: center;
	font-weight: 500;
	font-size: 20px;
	margin: 120px auto 200px;
}

/* アニメーション・動き //
////////////////////////////////////////////////////////////////////*/

/* swiper //
---------------------------------------------- */
.slider_content {
	position: relative;
}
.slider .swiper-wrapper {
	display:flex;
	gap:0;
}
.slider .swiper-wrapper > * {
	opacity: 1;
}

/* 初期化前のチラつき防止 */
.slider:not(.swiper-initialized) .swiper-wrapper > * {
	opacity: 0 !important;
}
.slider:not(.swiper-initialized) .swiper-wrapper > :not(:first-child) {
	display: none !important;
}
.swiper-slide {
	width: 373px;
}

/* pagenation */
.swiper-pagination {
	position: relative;
	top: 0 !important;
	margin-top: 24px;
}
.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background-color: #d9d9d9;
	opacity: 1;
}
.swiper-pagination-bullet-active {
	background-color: var(--acc1);
}
.swiper-notification {
	display: none;
}

/* button */
.swiper-button-prev::after,
.swiper-button-next::after{
	display:none; /* デフォルト矢印を消す */
}
.swiper-button-prev,
.swiper-button-next {
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	background:rgb(255, 255, 255, 0.01);
	border:1px solid #333;
	border-radius:50%;
	transform: translateY(-50%);
	z-index: 1;
}
.swiper-button-prev {
	left: -88px;
}
.swiper-button-next {
	right: -88px;
}
.swiper-button-prev::before,
.swiper-button-next::before {
	content:"\f061"; /* arrow-right */
	color: #333;
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	font-size:16px;
}
.swiper-button-prev::before{
	transform:rotate(180deg);
}

/* swiper無効時（grid） */
.js-swiper.is-grid .swiper-wrapper {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:40px;
}
.js-swiper.is-grid .swiper-wrapper > * {
	width: auto;
}
.js-swiper.is-grid .swiper-pagination,
.js-swiper.is-grid .swiper-buttons {
	display: none;
}


/* ヘッダー //
////////////////////////////////////////////////////////////////////*/

#body_header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	transition: all .3s ease;
	display: flex;
	align-items: center;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	height: 90px;
	z-index: 10;
}
#body_header .logo {
	margin-left: 30px;
}
#body_header .logo a{
	display: flex;
	align-items: center;
	gap: 30px;
}
#body_header .logo a img{
	width: 321px;
}
#body_header .logo a span{
	color: #fff;
	background-color: var(--acc1);
    line-height: 1;
    border-radius: 15px;
    width: 130px;
	padding: 7px 0 8px;
	text-align: center;
}
#body_header .logo img {
	width: 321px;
}
#body_header .header_nav {
	margin: 0 50px 0 auto;
	height: 100%;
}
#body_header .header_nav .gmenu {
	gap: 53px;
	font-size: 16px;
	font-weight: 500;
	height: 100%;
    display: flex;
    align-items: center;
}
#body_header .cbtn{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 16px;
	width: 203px;
	height: 90px;
	background-color: var(--acc2);
}
#body_header .cbtn:last-of-type{
	background-color: var(--acc1);
}
#body_header .megamenu {
	position: absolute;
	top: 75px;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
  	transition: opacity 0.2s ease 0.2s; 
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.15);
	padding: 40px 30px 20px;
	min-width: 236px;
	box-sizing: border-box;
	z-index: 1;
	width: fit-content;
	text-align: center;
}
#body_header .gmenu .hover:first-of-type .megamenu{
	min-width: 270px;
	text-align: left;
}
#body_header .megamenu li{
	margin-bottom: 20px;
}
#body_header .gmenu > li .fa-circle{
	color: var(--acc1);
	margin-right: 6px;
	font-size: 14px;
	top: 1px;
    position: relative;
	transition: color 0.1s ease 0.15s;
}
#body_header .gmenu > li:hover .fa-circle{
	color: #15a833;
}
:where(.page_recruit-about, .page_benefits, .page_culture) #body_header .gmenu > li:first-of-type .fa-circle{
	color: #15a833;
}
:where(.person.is_single, .person.is_archive) #body_header .gmenu > li:nth-of-type(2) .fa-circle{
	color: #15a833;
}
:where(.page_work, .parent_work) #body_header .gmenu > li:last-of-type .fa-circle{
	color: #15a833;
}
#body_header .gmenu > li .fa-chevron-down {
	transition: transform .25s ease;
	font-size: 14px;
	top: 1px;
    position: relative;
	margin-left: 8px;
	color: #999;
  }
#body_header .gmenu > li.hover:hover .fa-chevron-down{
	transform: rotate(180deg);
}
#body_header .gmenu > li.hover{
	position: relative;
	height: 100%;
    display: flex;
    align-items: center;
	cursor: pointer;
}
#body_header.is-menu-open .hover:hover .megamenu{
	opacity: 1;
	visibility: visible;
}
@media (max-width: 1639px){
	#body_header .cbtn{
		width: 12.4vw;
		min-width: 160px;
	}
	#body_header .header_nav{
		margin: 0 2vw 0 auto;
	}
	#body_header .header_nav .gmenu{
		gap: 2vw;
	}
}

/* ページトップ //
////////////////////////////////////////////////////////////////////*/

#pagetop {
	position: fixed;
	right: 30px;
	bottom: 20px;
	z-index: 50;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}
#pagetop.fixed {
	opacity: 1;
	pointer-events: auto;
}
#pagetop.stop {
	position: absolute;
	bottom: 485px;
}
#pagetop a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--acc1);
	border: 1px solid #fff;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	margin-bottom: 18px;
}
#pagetop a::before {
	content: "\f062"; /* arrow-up */
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	font-family: 'Font Awesome 6 Free';
}
#pagetop a::after {
	content: "TOP";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	color: var(--acc1);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}

/* フッター //
////////////////////////////////////////////////////////////////////*/

/* エントリー */

.en > div{
	width: 1200px;
	margin: 120px auto;
	background-image: url(/wp/wp-content/themes/baibaisite/recruit/images/common/entrybk.jpg);
	background-size: cover;
	background-position: center;
	border-radius: 20px;
	text-align: center;
	padding: 86px 0 100px;
}
.en h2{
	font-family: var(--font-en);
	font-size: 90px;
	color: #cbbe9a;
	line-height: 1;
}
.en h3{
	font-family: var(--font-gothic);
	font-size: 40px;
	line-height: 1;
	color: #414042;
	margin: 53px 0 30px;
	padding-left: 24px;
}
.en p{
	font-weight: 500;
	padding-left: 12px;
}
.en > div > div{
	margin-top: 45px;
	display: flex;
	gap: 60px;
	justify-content: center;
}
.en > div > div a nav{
    background-color: var(--acc2);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    border-radius: 38px;
    width: 400px;
    box-sizing: border-box;
    text-align: center;
    padding: 30px 40px 30px 50px;
    display: flex;
    justify-content: space-between;
}
.en > div > div a:last-of-type nav{
	background-color: var(--acc1);
}

/* フッターリンク */
footer{
	background-color: #f8f7f3;
}
footer > div{
	font-size: 15px;
	max-width: 1500px;
	margin: auto;
	box-sizing: border-box;
	padding: 65px 30px 85px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
footer > div > div > a{
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 40px;
}
footer > div > div > a > img{
	width: 321px;
}
footer > div > div > a > span{
	color: #fff;
	background-color: var(--acc1);
    line-height: 1;
    border-radius: 15px;
    width: 130px;
	padding: 7px 0 8px;
	text-align: center;
}
footer > div > div > p{
	margin-bottom: 8px;
}
footer .sns{
	display: flex;
	align-items: center;
	font-family: var(--font-en);
	font-size: 16px;
	color: var(--acc2);
	font-weight: 200;
    line-height: 19px;
	gap: 10px;
	margin-top: 20px;
}
footer .sns a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background-color: #fff;
	border-radius: 50%;
}
footer .sns > li:first-of-type{
	margin-right: 5px;
}
footer .link{
	display: flex;
	align-items: flex-start;
	font-weight: 500;
	gap: 49px;
}
footer .link li:has(i){
	font-size: 16px;
	padding-bottom: 13px;
}
footer .link li i{
	color: var(--acc1);
	margin-right: 5px;
	transition: color 0.2s; 
}
footer .link ul:has(a:hover) li i{
	color: #15a833;
}
:where(.page_recruit-about, .page_benefits, .page_culture) footer .link > ul:first-of-type i::before{
	color: #15a833;
}
:where(.person.is_single, .person.is_archive) footer .link > ul:nth-of-type(2) i::before{
	color: #15a833;
}
:where(.page_work, .parent_work) footer .link > ul:nth-of-type(3) i::before{
	color: #15a833;
}
:where(.description.is_archive, .description.is_single, .page_entry, .news.is_archive, .news.is_single) footer .link > ul:last-of-type i::before{
	color: #15a833;
}
footer .link li a{
	padding: 0 0 12px 18px;
	display: block;
}
footer .link ul:first-of-type {
	position: relative;
	right: -30px;
}
footer .link ul:first-of-type li a{
	padding: 0 0 10px 5px;
}
footer .link li a::before{
	content: "-";
	margin-right: 5px;
}
footer > div > nav{
	position: absolute;
	right: 30px;
	bottom: 30px;
	font-weight: 500;
}
footer > div > nav a{
	padding-left: 40px;
}
footer > div > nav i{
	color: var(--acc2);
	padding-left: 10px;
}
footer > p{
	background-color: var(--acc2);
}
footer small{
	color: #fff;
	font-size: 13px;
	max-width: 1500px;
	margin: auto;
	box-sizing: border-box;
	padding: 40px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}


/* grecaptcha //
////////////////////////////////////////////////////////////////////*/

.grecaptcha-badge {
	display: none!important;
}