@charset "utf-8";
/*
Template: hello-elementor
Theme Name: hello_child
Description: WordPressテーマ「hello-elementor」の子テーマ
Author:unlimited
Version: 1.0
*/

@import url("../hello-elementor/style.css");

p,ul,li,ol,table {
	font-weight:normal;
}
h2 {
	margin: 2em 0 0 0;
}
h3, h4, h5, h6 {
	margin: 1.5em 0 0 0;
}
/* 求人Hタグ */
#post_recruit h2,
#blog_post h2,
#post_job-feature h2,
[data-id="35e74e8"] h2.wp-block-heading {
	background: linear-gradient(45deg, #0693E3, #1e40af);
	color: white;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 20px;
	font-weight: 700;
	margin: 1.8em 0 1.3em 0;
	position: relative;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	#post_recruit h2,
	#blog_post h2,
	#post_job-feature h2,
	[data-id="35e74e8"] h2.wp-block-heading {
		font-size: 18px;
	}
}
#post_recruit h2:before,
#blog_post h2:before,
#post_job-feature h2:before,
[data-id="35e74e8"] h2.wp-block-heading:before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
	transition: left 0.6s;
}
#post_recruit h2:hover::before,
#blog_post h2:hover::before,
#post_job-feature h2:hover::before,
[data-id="35e74e8"] h2.wp-block-heading:hover::before {
	left: 100%;
}
#post_recruit h3.wp-block-heading,
#blog_post h3.wp-block-heading,
#post_job-feature h3.wp-block-heading,
.h3_dsn h3.elementor-heading-title,
[data-id="35e74e8"] h3.wp-block-heading {
	color: #4682b4;
	padding: 10px 16px;
	font-size: 18px;
	font-weight: 600;
	margin: 1.6em 0 1.2em 0;
	background: linear-gradient(135deg, #fafafa, #dcdcdc);
	border-radius: 6px;
	border: 1px solid #4682b4;
}
@media screen and (max-width: 768px) {
	#post_recruit h3.wp-block-heading,
	#blog_post h3.wp-block-heading,
	#post_job-feature h3.wp-block-heading,
	.h3_dsn h3.elementor-heading-title,
	[data-id="35e74e8"] h3.wp-block-heading {
		font-size: 16px;
	}
}
#post_recruit h4,
#blog_post h4,
#post_job-feature h4,
[data-id="35e74e8"] h4,
#post_recruit h5,
#blog_post h5,
#post_job-feature h5,
[data-id="35e74e8"] h5,
#post_recruit h6,
#blog_post h6,
#post_job-feature h6,
[data-id="35e74e8"] h6 {
	margin-top: 1.5em;
}
#post_recruit ul,#post_recruit ol,
#blog_post ul,#blog_post ol,
#post_job-feature ul,#post_job-feature ol,
[data-id="35e74e8"] ul,[data-id="35e74e8"] ol{
	margin-bottom:1.5em;
}
#post_recruit h2:first-of-type,
#blog_post h2:first-of-type,
[data-id="35e74e8"] h2:first-of-type {
	margin-top: 0;
}
.wp-block-image figcaption.wp-element-caption {
	font-size: calc(1rem * 1);
	margin-bottom:2.5em;
}
/* カッコ連番 */
.number-brackets {
  list-style: none;
  counter-reset: my-counter;
  margin-left: -1.5em;
}
.number-brackets li {
  counter-increment: my-counter;
  padding-left: 2.5em;
  text-indent: -1.8em;
}
.number-brackets li::before {
  content: "(" counter(my-counter) ")";
  margin-right: 8px;
}
/* こだわり条件表示 */
.kodawari_item {
	line-height:2;
}
.jet_checkbox_meta_label {
	font-weight:bold;
}
.jet_checkbox_item {
	white-space: nowrap;
	border: solid 1px;
	border-radius: 15px;
	padding: 3px 10px;
	font-size:80%;
}
/* こだわり表示 */
.kodawari_tag .tag_blue, .kodawari_tag .tag_white {
	display: inline-block;
	white-space: nowrap;
	border-radius: 15px;
	padding: 3px 8px;
	margin: 0 3px 2px 0;
	font-size: 70%;
}
.kodawari_tag .tag_blue {
	border: solid 1px #0693e3;
	color: white;
	background-color: #0693e3;
}
.kodawari_tag .tag_white {
	border: solid 1px #0693e3;
	color: #0693e3;
}
.kodawari_tag span {
	display: block;
	margin-bottom: 2px;
	line-height: 1em;
}

/* XO Event Calendar */
table.xo-month tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
	background-color: white;
}
table.xo-month thead th {
	background-color: #f2efef;
}
/* VKカテゴリータイトル */
.sideWidget h5 {
	color: #111111;		/* Color */
}
/* VKカテゴリー一覧 */
ul.localNavi li {
	position: relative;
	line-height: 1.5;
	padding: 0.2em 0;
}
ul.localNavi li::after,
ul.localNavi li::before {
	display: block;
	content: '';
	position: absolute;
}
ul.localNavi li::after {
	top: .35em;
	left: -1.2em;
	width: 14px;
	height: 14px;
	background-color: #19873C;	/* Color */
	border-radius: 100%;
}
ul.localNavi li::before {
	z-index: 2;
	top: .625em;
	left: -.975em;
	width: 4px;
	height: 4px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
ul.localNavi li a {
	color: #707070;
}
/* VKボタン */
.btn {
	white-space: inherit;
	text-align: center;
}
.btn-primary {
	background-color: #19873C;	/* Color */
	border-color: #19873C;		/* Color */
}
a.btn-primary {
	color: white!important;
}
.btn-primary:hover {
	background-color: #111;	/* Color */
	border-color: #111;		/* Color */
}
a.btn-primary:hover {
	color: white!important;		/* Color */
}
.contact_bt_txt {
	color: white!important;		/* Color */
}
.btn-lg {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.3333333;
	border-radius: 6px;
}
/* 記事内関連リンク */
.internal {
	border: 1px solid #e2e2e2;
	width: 100%;
	box-sizing: border-box;
	display: block;
	margin-bottom: 30px;
}
.internal a {
	padding: 10px;
	justify-content: space-between;
}
@media screen and (min-width: 768px) {
	.internal a {
		display: flex;
	}
}
@media screen and (max-width: 768px) {
	.internal a {
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.internal_thumb {
		width: 20%;
		width: calc( 22% - 10px );
		margin: 0 20px -12px 0;
	}
}
@media screen and (max-width: 768px) {
	.internal_thumb {
		width: 100%;
	}
}
.internal_thumb img {
	backface-visibility: hidden;
	width: 100%;
	object-fit: cover;
}
@media screen and (min-width: 768px) {
	.internal_thumb img {
		height: 100px!important;
	}
}
@media screen and (max-width: 768px) {
	.internal_thumb img {
		height: 150px!important;
	}
}
@media screen and (min-width: 768px) {
	.internal_desc {
		width: 78%;
	}
}
@media screen and (max-width: 768px) {
	.internal_desc {
		width: 100%;
	}
}
.internal a .internal_label {
	background: #222;
	opacity: 1;
	transition: .3s ease;
}
.internal_label {
	font-size: 0.875rem;
	display: inline-block;
	color: #fff;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 2px 10px;
	margin-bottom: 10px;
}
.internal a .internal_title {
	color: #333;
}
/* Topへジャンプボタン */
@media screen and (max-width: 768px) {
	.page_top_btn {
		right: 0;
		bottom: 62px;
	}
}
/*
XO Event Calendar - Event list
*/
.xo-event-list * {
	font-size: 1rem;
}
.xo-event-list {
	list-style: none;
	display: block;
	margin: 0;
}
.xo-event-list p {
	margin: 0 0 0.5rem;
	padding: 0;
}
.xo-event-list > dl {
	display: block;
	margin: .1rem 0 0 0;
	padding: 0 0 .1rem 0;
	overflow: hidden;
	color: #444;
	border-bottom: dotted 1px #ccc;
}
.xo-event-list > dl > dt,
.xo-event-list > dl > dd {
	display: table-cell;
	vertical-align: top;
}
.xo-event-list > dl > dt > span,
.xo-event-list > dl > dd > span {
	float: left;
	margin: 0 1rem 0 0;
	padding: 0;
	vertical-align: middle;
}
.xo-event-list .thumbnail {
	margin: .2rem 0;
}
.xo-event-list .thumbnail img {
	padding-right: 15px;
	width: 110px;
	min-width: 110px;
	height: auto;
	object-fit: cover;
}
.xo-event-list .date {
	margin-top: .1rem;
	font-size: .9rem;
}
.xo-event-list.type-short .date,
.xo-event-list.type-standard .date {
	width: 7.5rem;
}
.xo-event-list .category {
	margin-top: .2rem;
	margin-bottom: .1rem;
	padding: 0 .5rem;
	text-align: center;
	font-size: .8rem;
	color: #fff;
	border-radius: 2px;
}
.xo-event-list.type-short .category,
.xo-event-list.type-standard .category {
	width: 8.5rem;
}
.xo-event-list.type-detail .category {
	margin-left: 0.5rem;
}
.xo-event-list .title {
	margin-top: .1rem;
}
.xo-event-list .event-date {
	font-size: .9rem;
}
.xo-event-list li br {
	display: block;
}

.xo-event-list.type-custom .event-date {
	width: 16rem;
	margin-top: .2rem;
}
/* 縦書き */
.vertical {
	writing-mode: vertical-rl;
}

/* 続きを読む */
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	font-family: FontAwesome;
	content: '\f13a'' 続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color: rgba(233, 173, 173, 1);	/* 色設定 */
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 250px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: FontAwesome;
	content: '\f139'' 閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}
/* reCAPTCHA v3のバッジを非表示 */
.grecaptcha-badge {
	visibility: hidden;
}
/* ラジオボタンの隙間 */
.radio-wrap:not(:first-child){
	margin-left:30px;
}
/* Q&AのQ */
.schema-faq-question:before{
	content: "Q　";
	color:#763E90;
}
/* Q&AのA */
.schema-faq-answer:before{
	content: "A　";
	color:#763E90;
	font-weight:bold;
}
.schema-faq-section{
	text-indent: -1.7em;
	padding-left: 1.7em;
}
/* 求人メニュー */
.page-menu {
    display: flex;
    gap: 0;
    justify-content: flex-start;
    margin: 0;
    flex-wrap: wrap;
}
.page-menu-item {
    padding: 0.7rem 1rem;
    background-color: #f0f0f0;
    border-right: 1px solid #d0d0d0;
    text-decoration: none;
    color: #0693E3;
    transition: background-color 0.3s;
    cursor: pointer;
    font-size:15px;
}
.page-menu-item:last-child {
    border-right: none;
}
.page-menu-item:hover {
    background-color: #e0e0e0;
}
.page-menu-item.active {
    background-color: #0693E3;
    color: white;
}
.recruit-template-default .page-links {
	display:none;
}
/* Q&Aのヘッダー色 */
.is-style-vk_faq-bgfill-square .vk_faq_title:before {
	background-color: #cf2e2e;
}
.is-style-vk_faq-bgfill-square .vk_faq_content:before {
	background-color: #0693E3;
}
.elementor-icon-box-title {
	margin-top: 3px;
}
#post_recruit h3.vk_borderBox_title:after {
	border: none;
}
#post_recruit h3.vk_borderBox_title {
	border: none;
}
/* --------------
 表 レスポンシブ */
.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.wp-block-table table {
    min-width: 800px; /* 8列なのでより広く */
    width: 100%;
    border-collapse: collapse;
}
.wp-block-table th,
.wp-block-table td {
    padding: 12px 8px;
    border: 1px solid #ddd;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    vertical-align: top;
    line-height: 1.4;
    min-width: 100px;
    max-width: 150px;
}
/* ヘッダー行（th要素） */
.wp-block-table th {
    background-color: #f8f9fa;
    font-weight: bold;
    color: #2c5aa0;
    text-align: center;
    font-size: 13px;
}
/* データ行 */
.wp-block-table td {
    font-size: 13px;
}
/* 会社名列（最初の列）を少し広く */
.wp-block-table th:first-child,
.wp-block-table td:first-child {
    min-width: 120px;
    max-width: 160px;
    font-weight: bold;
}
/* 強調テキスト */
.wp-block-table strong {
    font-weight: bold;
}
/* 行の交互色 */
.wp-block-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
/* ホバー効果 */
.wp-block-table tr:hover {
    background-color: #f0f8ff;
}
/* タブレット対応 */
@media (max-width: 768px) {
    .wp-block-table table {
        min-width: 700px;
        font-size: 12px;
    }
    .wp-block-table th,
    .wp-block-table td {
        padding: 8px 6px;
        min-width: 80px;
        max-width: 120px;
        font-size: 12px;
        line-height: 1.3;
    }
    .wp-block-table th:first-child,
    .wp-block-table td:first-child {
        min-width: 100px;
        max-width: 130px;
    }
}
/* スマホ対応 */
@media (max-width: 480px) {
    .wp-block-table table {
        min-width: 600px;
        font-size: 11px;
    }
    .wp-block-table th,
    .wp-block-table td {
        padding: 6px 4px;
        min-width: 70px;
        max-width: 100px;
        font-size: 11px;
        line-height: 1.2;
    }
    .wp-block-table th:first-child,
    .wp-block-table td:first-child {
        min-width: 90px;
        max-width: 110px;
    }
}
/* スクロールヒント */
.wp-block-table::after {
    content: "← スワイプしてご覧ください →";
    display: block;
    text-align: center;
    font-size: 11px;
    color: #666;
    padding: 8px;
    background-color: #f5f5f5;
    margin-top: -1px;
    border-top: 1px solid #ddd;
}
@media (min-width: 801px) {
    .wp-block-table::after {
        display: none;
    }
}
/* 表 レスポンシブ
-------------- */
