@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Global Style
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.gb-headline-h_large2::after {
    width: 40px;
    height: 4px;
    bottom: 0;
    left: 0;
}

/* 見出し大3(サイトに反映させたい画像へのルートパスを記述・相対パスだと管理画面で404になるため) */
.gb-headline-h_large3::before {
    background: url("/generate/wp-content/themes/generatepress_child/images/logo_icon.png") no-repeat center center / contain;
}

/* 汎用ボタン01 */
.gb-button-basic_btn01 {
	overflow: hidden;
	z-index: 1;
}

.gb-button-basic_btn01::before {
    content: '';
    position: absolute;
    background: #0a88ce;
    width: 90px;
    height: 105px;
    border-radius: 50%;
    left: -65px;
    transition: .5s;
	z-index:-1;
}

.gb-button-basic_btn01::after {
    content: '\ea3c';
    right: 0.8em;
    font-size: 1em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用　＞　ベーシックテーブル01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_table01 th, 
.basic_table01 td {
    border-color: #d1e3ee!important;
    border-left: none!important;
    border-right: none!important;
    padding: 20px 25px!important;
}

.basic_table01 th, .basic_table01 td:not(:first-child) {
    font-size: 15px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用　＞　ベーシックテーブル02
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_table02 table th,
.basic_table02 table td {
    background-color: transparent;
}

.basic_table02 tr td {
	border-bottom: 1px solid #cbe4ef;
}

.basic_table02 tr > td:first-child,
.basic_table02 table th {
    border-bottom: 2px solid #0d9ad8!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スライド
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*下層 gutenslider*/
.kasou-slide .swiper-slide {
    border-radius: 15px;
    overflow: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
noimageの時の画像サイズ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[style*="noimage"],
[style*="noimage"]::before {
    background-size: 30%!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿「募集職種」汎用カラー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 正社員 */
.job_cat:has(.term-staff) {
    background-color: var(--accent);
}

/* 常勤 */
.job_cat:has(.term-full) {
    background-color: #e89756;
}

/* パート */
.job_cat:has(.term-part) {
    background-color: var(--main);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿「募集職種」汎用カラー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.one-container .meta_box:not(:has([class*="query-loop-item"])) .reopen {
    display: none;
}

body.one-container .meta_box:has([class*="query-loop-item"]) .nohits {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿「募集職種」＞詳細＞エントリー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_job_ttl {
    font-family: 'campton',sans-serif;
    text-transform: uppercase;
    font-size: 90px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0px;
    color: var(--main);
}

.cmn_job_txt {
    font-size: 20px;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    margin-top: -20px;
    margin-bottom: 0px;
    color: var(--text);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*hover時の矢印の動き*/
.cmn_arrow_slide .gb-icon svg {
    transition: all 0.5s ease;
}

.cmn_arrow_slide:hover .gb-icon svg
{
    transform: translateX(5px);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガーメニュー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.openbtn{
	position: relative;
	width: 45px;
    height:45px;
	cursor: pointer;
	background: var(--main);
	border-radius: 4px;
}
	
/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 12px;
    height: 2px;
	background-color: #fff;
	width: 50%;
  }


.openbtn span:nth-of-type(1) {
	top:17px;
}

.openbtn span:nth-of-type(2) {
	top:25px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 15px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 27px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 投稿用カレント */
body:is(.single-post, .category, .tag) .main-nav ul:not(.sub-menu) li.hnav_posts > a {
    color: var(--main);
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プラグイン　＞　Gutenslider
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.wp-block-eedee-block-gutenslider.arrows-lg-none .eedee-gutenslider-nav {
    display: none;
}

.swiper-wrapper,
.swiper-autoheight .swiper-slide {
	height:100%!important;
}

.wp-block-eedee-gutenslider__content {
    padding: 0!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOP　＞　プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_promo .recruit {
    overflow: hidden;
	-webkit-background-clip: text;
    background-clip: text;
    background-image: linear-gradient(180deg, #0089e1 50%, #00a4ea 50%);
    color: transparent;
}

.promo_txt {
    position: absolute;
    bottom: 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOP　＞　Message
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_message [class*="loop"] {
	white-space: nowrap;
	/* 管理画面上で編集しやすくするためサイズと色はcssで記述 */
	font-size: clamp(195px, 7.7vw + 101.8px, 268px);
	color: #edfaff;
}

#home_message .loop {
  	animation: loop 30s linear infinite;
}

#home_message .loop2{
	position: absolute;
	top: 0;
	left: 1.3vw;
	animation: loop 30s -15s linear infinite;
}

/* 管理画面内でのレイアウト崩れ防止のため */
#home_message .wrap {
	margin-top: -60px;
}

@keyframes loop {
  0%{
    transform: translateX(100%);
  }
  100%{
    transform: translateX(-100%);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOP　＞　働く環境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_environment .wrap::before {
    content: '';
    background-color: #f4f4f4;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 16vw;
    border-radius: 50%;
}

#home_environment .point::before {
    content: '';
    background-color: #0a88ce;
    position: absolute;
    width: 100%;
    height: 20px;
    top: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コンタクトエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contact_area .wrap::before {
    content: '';
    background: url(./images/cta_deco.png) no-repeat 50% / contain;
    width: 134px;
    height: 129px;
    position: absolute;
    left: 0;
    transform: translateX(-100%);
    top: -50px;
}

#contact_area .txt::before {
    content: '';
    background: url(./images/check.svg) no-repeat 50% / contain;
    width: 32px;
    height: 22px;
    position: absolute;
    top: -8px;
    left: -6px;
}

.footer-widgets .btn::before {
    content: '';
    position: absolute;
    background: #0a88ce;
    width: 436px;
    height: 620px;
    border-radius: 50%;
    left: -245px;
    transition: .5s;
    z-index: -1;
}

/* エントリーページのときはエントリーボタン非表示 */
body.page-entry .footer-widgets .btn {
    display: none;
}