/*
 * 採用サイトの見た目（旧テーマ「heartland recruit site theme.」の style.css をそのまま移したもの。2026-11-03 の本番の写し）
 * 画像は同じフォルダの images/ を見ている。直すときはこのファイルか、外観 › エディター › スタイル › 追加CSS で。
 */
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	position: relative;
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
img {
	max-width: 100%;
}
a {
	text-decoration: unset;
}
li {
	list-style: none;
}
input, select {
  -webkit-appearance: none;
  appearance: none;
}
select {
	color: #000;
}

.flex {
	display: flex;
}

.main {
	padding: 0 50px;
}

.sp-only {
	display: none;
}

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

							ヘッダー変更バージョン

------------------------------------------------- */
.header {
	position: sticky;
	top: 0;
	background: #fff;
	align-items: center;
	transform: translateZ(1px);
	z-index: 999;
	justify-content: space-between;
	height: 105px;
	padding: 0 0 0 60px;
}
.header::after {
	content: "";
	display: block;
}
.hd-logo {
	padding-right: 16px;
	max-width: 20vw;
}
.hd-logo a img {
	min-width: 57px;
}
.entry-title {
	font-weight: bold;
	color: #fff;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 2px;
}
.entry-title span {
	font-family: 'Oswald', sans-serif;
	font-size: 12px;
	letter-spacing: 2.4px;
}

.entry-btn {
	font-size: 19px;
	top: 80px;
	right: 0;
	background: #004097;
	cursor: pointer;
	justify-content: space-evenly;
	align-items: center;
	width: 120px;
	height: 105px;
	transition: 0.3s;
	position: initial;
	z-index: 0;
}
.entry-btn span {
	font-size: 10px;
}
.entry-btn img {
	width: 22px;
}


.entry-btn::before {
	position: absolute;
	content: "";
	width: 120px;
	height: 105px;
	background: #004097;
	z-index: -1;
	transition: 0.3s;
}
.entry-btn:hover::before {
	opacity: 0;
	transition: 0.3s;
}
.entry-btn::after {
	position: absolute;
	content: "";
	width: 120px;
	height: 105px;
	background: linear-gradient(to right, rgb(97,164,208),rgb(17,35,233),rgb(152,52,223));
	background: #002D6B;
	z-index: -2;
}



.entry-btn::before,
.entry-btn::after {
	width: 120px;
}
.header::after {
	content: none;
}
.g-nav .description {
	display: flex;
	align-items: center;
	padding: 14px 0;
	font-size: 16px;
	font-weight: bold;
	color: #6C5D54;
	letter-spacing: 2px;
}
.g-nav-wrap {
	width: calc(100vw - 300px);
	justify-content: space-between;
}

.g-nav-list a {
	font-size: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: #000;
	position: relative;
	white-space: nowrap;
	letter-spacing: 1px;
}
.g-nav-list a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #004097;
	bottom: -8px;               /*アンダーラインがaタグの下端から現れる*/
	transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
	transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
	transition: transform 0.3s; /*変形の時間*/
}

.g-nav-list a:hover::after {
	transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}

@media screen and (min-width: 900px) {
	.g-nav-list.current a {
		color: #004097;
	}
	.g-nav-list.current a::after {
		height: 3px;
		transform: scale(1, 1);
		transition: transform 0s;
	}
}

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

							トップ画像 

------------------------------------------------- */
.intro {
	position: relative;
	line-height: 0;
}
.intro-bg img.slick-slide {
	width: 100%;
	height: calc(100vh - 105px)!important;
	object-fit: cover;
	animation: animationZoom1 5s ease-in-out forwards;
	padding: 0;
}
img.fit-top.slick-slide {
	object-position: top;
}
.intro-overlay {
	width: 70%;
	position: absolute;
  top: 70%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.intro-overlay img {
	width: 100%;
	filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.3));
}

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

						トップコンテンツ 

------------------------------------------------- */
.contents {
	flex-wrap: wrap;
	line-height: 0;
}
.contents li {
	width: 50%;
	overflow: hidden;
}
.contents li a {
	display: contents;
}
.contents li a img,
.news-bg {
	width: 100%;
	object-fit: cover;
	transition-duration: 0.3s;
}
.contents li a img.zoom {
	z-index: 555;
}
.contents li a:hover img.zoom {
	transform: scale(1.08);
	transition-duration: 0.3s;
}

.column {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

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

						トップニュース 

------------------------------------------------- */
.news-wrap {
	position: relative;
}
.news-bg {
	position: absolute;
	top: 0;
	left: 0;
}
.news-list {
	position: absolute;
	top: 6vw;
	left: 6%;
	width: 88%;
	height: 14.6vw;
	overflow: scroll;
}
.news-list li {
  display: block;
  width: 100%;
  background: #fff;
  padding: 0.8vw 4%;
  margin-bottom: 2%;
  font-size: 12px;
  line-height: 1.3;
}
.news-list li time {
  display: block;
  font-weight: bold;
}
.news-list li a {
  color: #004097;
}

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

						インタビュー　スライド

------------------------------------------------- */
.interview {
	position: relative;
}
.interview-title {
	position: absolute;
	top: 50px;
	left: 50px;
}
.interview-title img {
	min-width: 262px;
	width: 44vw;
}
@media screen and (min-width: 1020px) {
	.interview-title img {
		width: 22vw;
	}
}
.interview-catch {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 36px;
}
.interview.home-intv-slide {
	padding-bottom: 80px;
}

.interview.home-intv-slide .slick-prev:before {
  content:'前の記事へ';
  color: #004097;
  opacity: 1;
  font-size: 14px;
}
.interview.home-intv-slide .slick-next:before {
  content:'次の記事へ';
  color: #004097;
  opacity: 1;
  font-size: 14px;
}

.interview.home-intv-slide .slick-arrow {
  width: auto;
  height: auto;
  font-weight: bold;
  position: absolute;
	top: auto;
	border-bottom: solid 2px #004097;
	padding-bottom: 6px;
	margin-bottom: 2px;
	z-index: 99;
}


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

						トップ採用エリア 

------------------------------------------------- */
.recruit-btn {
	padding-top: 50px;
}
.recruit-bg img {
	width: 100%;
	object-fit: contain;
}
.recruit-btn-wrap {
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: -42px auto 42px;
}
.recruit-btn-item {
	position: relative;
	line-height: 1.8;
	max-width: 434px;
	width: 40%;
	height: 120px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0 6px;
	transition: .25s ease-out;
	z-index: 0;
	letter-spacing: 2px;
	background: #004097;
	margin: 0 5px 10px;
}
.recruit-btn-item span {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-size: 14px;
	letter-spacing: 2.4px;
}
.recruit-btn-item .arrow {
	position: absolute;
	top: 50%;
  left: 90%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.recruit-btn-item:hover {
	background: #002D6B;
}

.recruit-btn-item:hover {
	transition: 0.3s;
	z-index: 1;
}

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

						フッター

------------------------------------------------- */
.footer {
	position: relative;
	justify-content: flex-start;
	align-items: center;
	padding: 20px 50px;
}

.copyright {
	font-family: 'Oswald', sans-serif;
	font-size: 11px;
	letter-spacing: 1px;
	margin: 0 auto;
}
.footer-entry {
	padding-top: 36px;
}
/* -------------------------------------------------

						ページトップ 

------------------------------------------------- */
#page_top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
}
#page_top img {
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.3));
}


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

						slick スライド

------------------------------------------------- */
/*-----------height調整----------*/
.slick-slide {
	height:100%!important;
	padding: 0 8px;
}
.slide-items {
  width: 100%;
  height: 100%;
  margin:0 auto;
  display: flex!important;
  justify-content: center;
  align-items: center;
  margin: -40px auto 0;
}

.slide-items img {
  width: 100%;
  object-fit: contain;
}
.slide-items img:hover {
	transform: scale(1.1);
	transition: 0.3s;
	opacity: 0.7;
}
.slick-list img {
	height: 250px;
}
.slick-arrow {
	width: 86px !important;
	object-fit: contain!important;
	/*top: 30px!important;*/
	position: inherit;
	cursor: pointer;
}

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

						インタビューページ（個別ページ）

------------------------------------------------- */
.interview {
	font-size: 20px;
	color: #211815;
	padding: 50px 50px 0;
}
.intv-page-title {
	text-align: center;
	padding: 50px 0;
}
.intv-top {
	position: relative;
	align-items: center;
	max-width: 1020px;
	width: 90%;
	margin: 0 auto;
}
.intv-id {
	position: absolute;
	top: 16px;
	right: 0;
	font-size: 26px;
	font-family: 'Oswald', sans-serif;
	color: #004097;
	letter-spacing: 6px;
	width: 85px;
	padding-bottom: 14px;
	border-bottom: solid 1px #004097;
}
.intv-main-img {
	width: 47%;
	height: 50vh;
	min-height: 490px;
	max-height: 490px;
	object-fit: cover;
}
.intv-main-txt {
	padding-left: 56px;
}
.intv-catch {
	font-size: 22px;
	line-height: 2;
	white-space: pre-wrap;
}
.intv-name-wrap {
	padding-top: 64px;
}
.intv-name {
	font-size: 24px;
}
.intv-name span {
	font-size: 16px;
}
.intv-ruby {
	font-size: 16px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 2px;
	padding: 12px 0;
}


.profile {
	max-width: 1020px;
	width: 90%;
	padding: 8px 40px;
	margin: 60px auto;
	background: #DCDCDC;
	white-space: pre-line;
}
.profile-title {
	font-size: 16px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 2px;
	padding-bottom: 20px;
}
.profile img {
	width: 200px;
	object-fit: cover;
	object-position: 50% 40%;
}
.profile .flex {
	justify-content: space-between;
	align-items: center;
	
}.profile-txt {
	display: flex;
	flex-direction: column;
	padding-right: 40px;
    width: calc(100% - 200px);
}
.profile p {
	line-height: 1.6;
	font-size: 19px;
	letter-spacing: 0.5px;
}


.question {
	max-width: 1020px;
	width: 90%;
	margin: 60px auto 0;
}
.question h3 {
	display: flex;
	font-weight: 600;
	line-height: 1.6;
	margin-top: 96px;
}
.question p {
	padding-top: 24px;
	line-height: 1.8;
}
.question .intv-img + h3 {
	margin-top: 80px;
}

.question6-title {
	text-align: center;
	padding: 72px 0 24px;
}
img.question6-img {
	width: 300px;
	height: 480px;
	object-fit: cover;
	padding-bottom: 40px;
}
.question6 .flex {
	justify-content: center;
}
.q6-pic-area {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: calc(50% - 144px);
	align-items: flex-end;
}
.daily-schedule {
	padding-left: 56px;
	width: 50%;
	height: 100%;
	position: relative;
}
/*.daily-schedule::before {
	position: absolute;
	left: 71px;
	content: "";
	display: block;
	width: 1px;
	height: inherit;
	background: #000;
}*/
.daily-schedule ul {
	position: relative;
	z-index: 1;
}
.daily-schedule ul li {
	font-size: 18px;
	line-height: 2.2;
	background-image: url(images/daily-dec.png);
	background-image: image-set(url(images/daily-dec.png) 1x, url(images/daily-dec@2x.png) 2x);
	background-image: -webkit-image-set(url(images/daily-dec.png) 1x, url(images/daily-dec@2x.png) 2x);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	padding: 13px 0 13px 48px;
	background-position-y: 21px;
}

.daily-schedule ul li span {
	font-family: 'Oswald', sans-serif;
	font-size: 22px;
	letter-spacing: 6px;
}

/* 1日のスケジュール：テーブルに変更時のスタイル */
.daily-schedule tr,
.daily-schedule tr:first-child {
	border: none;
}
.daily-schedule th {
	letter-spacing: 1px;
}
.daily-schedule th::after {
	content: "";
	display: block;
	background: #004097;
	height: 1px;
	width: 100%;
}
.daily-schedule th,
.daily-schedule td {
	padding: 32px 28px;
}
/* -------------------------------------------------

						社員インタビュー一覧ページ

------------------------------------------------- */
.archive-interview {
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1020px;
	padding: 0 50px;
	margin: 0 auto;
}
.archive-interview::after {
	content: "";
	display: block;
	width: 280px;
}
.archive-interview li {
	width: 280px;
	margin-bottom: 90px;
}
.archive-interview a {
	color: #000;
}
.archive-interview .name-area {
	align-items: baseline;
	padding: 14px 0 4px;
}
.archive-interview .intv-name {
	padding: 0 24px;
	font-size: 22px;
}
.archive-interview .intv-ruby {
	letter-spacing: inherit;
	color: #004097;
}
.archive-interview p.career {
	padding: 0;
}

.intv-img-wrap {
	position: relative;
}
.intv-img-wrap img {
	display: block;
}
.intv-img-wrap-text {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	font-size: 16px;
	letter-spacing: 4px;
	color: #fff;
	background: #004097;
	padding: 8px 20px;
}


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

						前後記事リンク

------------------------------------------------- */
.prev-next {
	position: relative;
	padding-top: 180px;
}
.prev-next a {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 24px;
	color: #004097;
	border-bottom: solid 3px #004097;
	padding-bottom: 8px;
	margin-bottom: 3px;
}
.prev-next a.next-link {
	position: absolute;
  right: 0;
}
.prev-next a.prev-link {
	position: absolute;
  left: 0;
}
.link-archive {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	width: max-content;
}
.intv-c-w {
	justify-content: space-between;
	padding: 80px 0 16px;
}
.intv-c-w a {
	overflow: hidden;
	width: 48%;
}
.intv-c-w a img {
	width: 100%;
	transition: 0.3s;
}
.intv-c-w a:hover img {
	transform: scale(1.1);
	transition: 0.3s;
}


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

						メッセージ

------------------------------------------------- */
.message {
	padding-bottom: 180px;
}
.kv {
	position: relative;
}
.kv img {
	width: 100%;
	object-fit: cover;
}
.message .kv {
	max-width: 1020px;
	margin: 0 auto;
}
.message .kv .intv-main-img {
	height: 100%;
	min-height: 100%;
	max-height: 100%;
}
.kv .prof {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 50%);
	/*font-family: YuMincho, 'Yu Mincho', serif;*/
	color: #fff;
	background: #004097;
	width: 300px;
	height: 106px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.message .profile {
	margin-top: 84px;
}
.kv .prof p {
	font-size: 16px;
	line-height: 1.4;
}
.kv .prof p.name {
	font-size: 22px;
	padding-top: 8px;
	line-height: 1.1;
	letter-spacing: 1px;
}
.kv .prof p.name span {
	font-family: 'Oswald', sans-serif;
	font-size: 14px;
	letter-spacing: 4px;
}


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

						会社概要

------------------------------------------------- */
table {
	max-width: 1000px;
	width: 100%;
	font-size: 16px;
	line-height: 1.4;
	margin: 0 auto;
}
table p + p {
	padding-top: 24px;
}

tr {
	border-bottom: solid 1px #A7A7A7;
}
tr:first-child {
	border-top: solid 1px #A7A7A7;
}
th, td {
	text-align: left;
	min-height: 70px;
	padding: 48px 28px;
}
/*tr:first-child th {
	border-top: solid 1px #004097;
}
tr:last-child th {
	border-bottom: solid 1px #004097;
}*/
th {
	font-size: 18px;
	vertical-align: middle;
	text-align: center;
	color: #004097;
}

.intv-page-title.history {
	padding-top: 180px;
}
.intv-page-title.access {
	padding: 156px 0 0;
}
.access-item {
	max-width: 1000px;
	line-height: 2;
	justify-content: space-between;
	padding-top: 40px;
	margin: 0 auto;
}
.access-item + .access-item {
	margin-top: 40px;
}
.access-txt {
	width: 45%;
	height: 560px;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
.access-txt p {
	line-height: 1.7;
}
.access-item h3 {
	font-size: 22px;
	line-height: 3;
}
.access-btn + .access-btn {
	padding-top: 24px;
}
.access-btn {

}
.access-btn a {
	position: relative;
	font-size: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #004097;
	width: 94px;
	height: 30px;
	z-index: 1;
	margin-left: 12px;
}
.access-btn a:hover {
	background: #002d6b;
	transition: 0.3s;
}
.gmap {
	max-width: 52%;
	height: auto;
}

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

						エントリー

------------------------------------------------- */
.entry {
	font-weight: bold;
	color: #211815;
	/*background: #F0F4F9;*/
	padding-bottom: 80px;
}
.entry-txt {
	text-align: center;
	max-width: 600px;
	font-weight: normal;
	margin: 0 auto;
	line-height: 1.8;
}
.entry-wrap {
	max-width: 1000px;
	background: #fff;
	padding: 80px 50px;
	outline: solid 2px #004097;
	margin: 0 auto;
}
.entry-item {
	display: flex;
	justify-content: space-between;
	padding-top: 60px;
}
.entry-item.knew {
	display: block;
}
.item-wrap {
	max-width: 574px;
	width: 100%;
	line-height: 1.4;
}
.item-wrap .flex,
.item-wrap.flex {
	align-items: center;
}
.item-wrap.flex.name {
	justify-content: space-between;
}
.item-wrap .flex p {
	margin-right: 24px;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  appearance: none;
}
select {
	font-weight: bold;
	font-size: 16px;
}
select::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: #000;
}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], select, textarea, input[type="date"] {
	-webkit-appearance: none;
	appearance: none;
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  line-height: 1.8;
  font-size: 16px;
	padding: 12px;
	border: none;
	outline: solid 1.5px rgba(0, 64, 151, 1);
	font-weight: bold;
}
::placeholder {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 16px;
	color: rgba(0, 64, 151, .4);
}
::-webkit-input-placeholder {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 16px;
	color: rgba(0, 64, 151, .4);
}
:-moz-placeholder {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 16px;
	color: rgba(0, 64, 151, .4);
}
::-moz-placeholder {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 16px;
	color: rgba(0, 64, 151, .4);
}
:-ms-input-placeholder {
	font-family: "Helvetica Neue",
    Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 16px;
	color: rgba(0, 64, 151, .4);
}


input[type="text"], input[type="email"] {
	width: 100%;
}
input[type="text"].name {
	width: 100%;
	max-width: 234px;
}

input[type="tel"] {
	width: 80px;
}
.tel-wrap span {
	margin-right: 6px;
}
.tel-wrap span + span {
	margin-left: 6px;
}
input[type="number"].age {
	width: 124px;
	margin-right: 24px;
}
textarea {
	font-size: 16px;
	width: 100%;
	height: 140px;
	resize: none;
}
p.txt {
	color: #004097;
	padding-top: 14px;
	line-height: 1.8;
}
.entry-txt p + p {
	margin-top: 24px;
}
.item-title {
	height: 24px;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.item-title::before {
	content: "";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56px;
	height: 24px;
	margin-right: 12px;
}
.item-title.required::before {
	content: "必須";
	color: #fff;
	background: #DC5257;
	font-size: 14px;
}
.item-title span {
	font-size: 14px;
	color: #004097;
	padding-left: 16px;
}


.item-wrap .flex p.name-label {
	width: 40px;
	margin-right: 8px;
}
input.who, textarea.other,
input.who + span.wpcf7-not-valid-tip,
textarea.other + span.wpcf7-not-valid-tip {
	width: calc(100% - 40px);
  margin-left: 24px;
  line-height: 1.7;
}
.shoukai-textfield {
	display: block!important;
}
input.who {
	max-width: 216px;
	padding: 8px;
}
textarea.other {
	display: none;
	width: calc(100% - 40px);
	max-width: 574px;
	margin-top: 22px;
	height: 140px;
}
textarea.other.active {
	display: block;
}
input.who::placeholder, textarea.other::placeholder {
	font-size: 16px;
}

.check-box-wrap .item-wrap + .item-wrap {
	padding-left: 16px;
}
.check-box-wrap .item-wrap + .item-wrap.other-wrap {
	width: 330px;
	padding: 0;
}
.check-box-wrap + .entry-item {
	width: 64%;
	padding: 0;
	margin: 0px auto 0;
}

.cm4cf7-return-button,
input.confirm,
input.submit,
input.back {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	width: 300px;
	height: 86px;
	color: #fff;
	background: #004097;
	border: unset;
	margin-bottom: 20px;
}

.wpcf7-list-item-label {
	font-weight: bold;
	display: flex;
	align-items: center;
}

.radio-btn,
.radio-btn input,
.check-box {
	appearance: none;
  display: none;
}



/* ラジオボタン */
.wpcf7-radio.radio-btn,
.wpcf7-radio.radio-btn .wpcf7-list-item,
.privacy input[type="checkbox"],
.sex .wpcf7-list-item {
	display: block;
	margin: 0;
}

.wpcf7-radio.radio-btn .wpcf7-list-item label {
	display: flex;
	margin-top: 22px;
	align-items: center;
}
.wpcf7-radio.radio-btn .wpcf7-list-item.first label {
	margin: 0;
}
.wpcf7-radio.radio-btn .wpcf7-list-item label,
input[type="radio"] + span.wpcf7-list-item-label,
.radio-btn + span {
	position: relative;
	letter-spacing: 1.8px;
}
input[type="radio"] + span.wpcf7-list-item-label::before,
.radio-btn + span::before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 24px;
	width: 24px;
	height: 24px;
	border: solid 2px #004097;
	margin-right: 10px;
}
input[type="radio"] + span.wpcf7-list-item-label::after,
.radio-btn + span::after {
	content: '';
	width: 12px;
	height: 24px;
	border: solid 2px #004097;
	border-top-color: transparent;
	border-left-color: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	transform: translateX(50%) rotate(45deg);
	opacity: 0;
}
input[type="radio"]:checked + span.wpcf7-list-item-label::before,
.radio-btn:checked + span::before {
	opacity: 0;
}
input[type="radio"]:checked + span.wpcf7-list-item-label::after,
.radio-btn:checked + span::after {
	opacity: 1;
}

/* チェックボックス  */
.privacy .wpcf7-list-item {
	margin: 0;
}
.knew .wpcf7-list-item {
	display: block;
	margin: 22px 0 0 0;
}
.knew .wpcf7-list-item.first {
	margin-top: 0;
}
.knew .wpcf7-list-item label {
	display: flex;
}

input[type="checkbox"] + span,
.check-box + span {
	position: relative;
	letter-spacing: 1.8px;
}
input[type="checkbox"] + span::before,
.check-box + span::before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 24px;
	width: 24px;
	height: 24px;
	border: solid 2px #004097;
	margin-right: 10px;
}
input[type="checkbox"] + span::after,
.check-box + span::after {
	content: '';
	width: 12px;
	height: 24px;
	border: solid 2px #004097;
	border-top-color: transparent;
	border-left-color: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	transform: translateX(50%) rotate(45deg);
	opacity: 0;
}
input[type="checkbox"]:checked + span::before,
.check-box:checked + span::before {
	opacity: 0;
}
input[type="checkbox"]:checked + span::after,
.check-box:checked + span::after {
	opacity: 1;
}

.check-box-wrap input[type="checkbox"],
.other-wrap input[type="checkbox"] {
	margin-right: -4px;
}

.check-box-wrap {
	width: 64%;
	margin: 36px auto 0;
	flex-wrap: wrap;
}
.wpcf7-form-control-wrap .knew,
.knew .item-wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: fit-content;
}

.form-select label + label {
	display: block;
	margin-top: 22px;
}

.submit-txt {
	font-size: 14px;
	font-weight: normal;
	line-height: 2;
	padding: 120px 0 8px;
	margin-left: 56px;
}
.submit-txt a {
	color: #004097;
	text-decoration: underline;
}
.submit-wrap {
	justify-content: center;
	align-items: center;
	flex-direction: column;
}


.contact {
	max-width: 770px;
	width: 100%;
	border: solid 1px #004097;
	text-align: center;
	padding: 50px;
	margin: 60px auto 12px;
}
.contact p {
	font-weight: normal;
	line-height: 1.7;
}
.contact p + p {
	padding-top: 24px;
}
.contact .tel-mail {
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 1.5px;
	padding-top: 40px;
}
.recruit .recruit-btn-wrap {
	margin: 64px auto 80px;
	display: flex;
	flex-wrap: wrap;
}
.recruit .recruit-btn-wrap .recruit-btn-item {
	max-width: 100%;
}


.entry-item.question-wrap {
	padding-top: 112px;
}

.entry-item.knew {
	padding-top: 80px;
}
/*ファイル選択*/
.file-input-wrap {
	display: block;
}
.file-input-wrap > .flex {
	justify-content: flex-start;
}
.item-title span.red {
	color: #DC5257;
}
.file-input-wrap .entry-item {
	align-items: center;
	padding-top: 24px;
}
.file-input-wrap .entry-item .item-title {
	width: 180px;
	display: flex;
	justify-content: space-between;
}


.recruit .recruit-entry-wrap {
	margin-top: 0;
}
.recruit-page-banner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.recruit-page-banner a {
	color: #007;
	background: #fff;
	border: solid 1px #004097;
	font-size: 15px;
	width: 240px;
	height: 90px;
}
.recruit-page-banner a:hover {
	background: #eee;
}

.file-input-wrap .entry-item .item-title span {
	font-size: 16px;
	color: #211815;
	padding: 0;
}
.file-input-wrap .entry-item .item-title span + span {
	font-size: 14px;
}
.file-input-wrap .entry-item .item-title::before {
	content: unset;
}
.file-input-wrap .entry-item .item-wrap {
	display: flex;
	align-items: center;
}

/* ファイル　確認ページ　文言削除 */
.file-input-wrap .entry-item .item-wrap span.error + p + p,
.file-input-wrap .entry-item .item-wrap .mw-wp-form_file + p + p {
	display: none;
}
p.resume-file,
p.cv-file {
	display: block!important;
}


.file-input-wrap .entry-item input[type="file"] {
	display: none;
}
.file-input-wrap .entry-item label {
	color: #4D4D4D;
	background: #F6F7F7;
	padding: 0;
	border: solid 1px #4D4D4D;
	border-radius: 6px;
	width: 162px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 20px;
}


/* プライバシーポリシー同意チェック */
.privacy-check-wrap {
	display: block;
}
.submit-txt {
	padding: 36px 0 0;
}

.mw_wp_form_complete {
	text-align: center;
	line-height: 1.4;
}


/*------------------------------------
		会社説明会希望日時
------------------------------------*/
.desired-date-wrap {
	display: block;
}
.file-input-wrap .entry-item .item-title,
.desired-date .item-title {
	margin: 0 28px 0 auto;
}
.entry-item.desired-date-wrap > .item-title + .entry-item.desired-date {
	padding-top: 32px;
}
.desired-date-wrap select {
	width: 100px;
	height: 48px;
	text-align: center;
}
.desired-date {
	padding-top: 24px;
	align-items: center;
}
.desired-date .item-wrap {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

.desired-date .item-wrap span {
	font-size: 16px;
	padding-right: 8px;
	display: flex;
}



/*------------------------------------
		きっかけ
------------------------------------*/
.other-wrap {
	display: flex;
	margin-top: 22px;
}
.other-wrap span label {
	display: flex;
	align-items: center;
}
.other-wrap span label::after {
	content: "（※詳細をご記入ください）";
	display: inline-block;
	font-weight: bold;
}


/*------------------------------------
		エラー表示位置
------------------------------------*/
.wpcf7-not-valid-tip {
	font-weight: bold;
	color: #B70000;
}

.item-wrap.age {
	position: relative;
}
.item-wrap.age span.error {
	position: absolute;
	bottom: -22px;
	left: 0;
}
.check-box-wrap + .entry-item {
	flex-direction: column;
}
.check-box-wrap .item-wrap span.error {
	margin: 2px 24px;
}
.entry-item .other + span.error {
	margin: 4px 24px;
}

.time-wrap {
	display: flex;
	align-items: center;
}
form.invalid .date + .wpcf7-not-valid-tip,
form.invalid .time-wrap .wpcf7-not-valid-tip {
	position: absolute;
	width: max-content;
  bottom: -22px;
}

form.invalid .desired-date {
	padding-top: 60px;
}

/* チェックボックスエラー */
.check-box-wrap .knew + .wpcf7-not-valid-tip {
	display: none;
}
.knew-error {
	width: 64%;
	margin: 0 auto;
}
.knew-error p {
	margin-top: 12px;
	margin-bottom: -28px;
}

/*------------------------------------
		確認画面
------------------------------------*/
.cm4cf7-confirm-value + .wpcf7-form-control {
    display: none;
}
.cm4cf7-confirm-value {
	display: block;
	padding: 0;
	background: unset;
}
form.aborted .check-box-wrap .item-wrap + .item-wrap {
	padding-left: 0;
}
form.aborted .entry-txt,
form.aborted .item-wrap .flex p.name-label,
form.aborted p.txt,
form.aborted span.txt,
.cm4cf7-confirm-view .file-input-wrap .entry-item label,
.cm4cf7-confirm-view .file-input-wrap .entry-item .item-title span + span,
.cm4cf7-confirm-view form.aborted textarea.other.active,
form.aborted .submit-txt {
	display: none;
}
.cm4cf7-confirm-view .item-wrap.flex.name {
	justify-content: flex-start;
}
.cm4cf7-confirm-view .desired-date .item-wrap span {
	font-size: 16px;
	height: auto;
}
.cm4cf7-confirm-view .item-wrap .flex + .flex {
	    margin-left: 16px;
}

/*------------------------------------
		送信完了
------------------------------------*/
.cm4cf7-message-for-confirmation,
.complete-msg,
.wpcf7 form.sent .wpcf7-response-output {
	text-align: center;
	line-height: 1.4;
	border: unset;
	font-size: 18px;
}
form.sent .entry-txt,
form.sent .entry-item, form.sent .submit {
	display: none;
}
form.sent .entry-item.submit-wrap {
	display: flex;
	padding-top: 0;
}

.wpcf7 form.sent .wpcf7-response-output::after {
	content: "なお、応募後72時間が経過しても弊社から連絡が無い場合、システムエラー等によりメールが届いていない恐れがあります。大変お手数ですが、直接メールもしくはお電話をお願いいたします。";
	display: block;
	font-weight: normal;
	font-size: 16px;
	margin-top: 24px;
	line-height: 1.8;
}
.cm4cf7-confirm-view input.submit {
	background: #DC5257;
}



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

						数字で見るハートランド

------------------------------------------------- */
.about {
	background: #fff;
}
.about-wrap {
	max-width: 1000px;
	background: unset;
	margin: 0 auto;
}
.about-wrap ul.flex {
	justify-content: space-between;
	flex-wrap: wrap;
}
.about-wrap ul.flex li {
	max-width: 47.2%;
	padding-bottom: 4vw;
}
.about-wrap ul.flex li:first-child,
.about-wrap ul.flex li.graph,
.about-wrap ul.flex li:last-child {
	max-width: 100%;
	width: 100%;
}
.about-wrap ul.flex li:first-child img,
.about-wrap ul.flex li.graph img,
.about-wrap ul.flex li:last-child img {
	width: 100%;
}


.pick-up-wrap {
	padding: 44px;
	border: solid 3px #004097;
	border-radius: 16px;
}
.pick-up-comment {
	text-align: center;
	line-height: 1.7;
}
.pick-up-comment h3 {
	font-family: 'Oswald', sans-serif;
	font-size: 40px;
	color: #004097;
	letter-spacing: 10px;
}
.pick-up-comment p {
	font-size: 27px;
}

.comment-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 32px;
}
.comment-wrap > .comment-item,
.comment-item-double {
	max-width: 440px;
	width: 49%;
}
.comment-item {
	background: rgba(0, 64, 151, 0.1);
	padding: 30px 50px;
	border-radius: 16px;
	line-height: 1.8;
	margin-bottom: 16px;
}

li.comment-item:nth-child(3) {
	display: flex;
	align-items: center;
	background-image: image-set(url(images/about/bg.png) 1x, url(images/about/bg@2x.png) 2x);
 	background-image: -webkit-image-set(url(images/about/bg.png) 1x, url(images/about/bg@2x.png) 2x);
 	background-repeat: no-repeat;
 	background-position: 94% 92%;
}
.about-intv-btn {
	padding-top: 80px;
	display: flex;
	justify-content: center;
}


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

						募集要項

------------------------------------------------- */
.wp-block-table td, .wp-block-table th {
	border: none;
}
.recruit th,
.recruit td {
	vertical-align: middle;
	line-height: 1.8;
}
.wp-block-table th,
.recruit th {
	font-size: 18px;
	max-width: 180px;
	width: 20%;
	padding: 28px 12px;
	white-space: nowrap;
}
.wp-block-table td,
.recruit td {
	font-size: 16px;
	padding: 48px 28px;
}

.recruit ul + p,
.recruit p + h3,
.recruit ul + h3 {
	padding-top: 24px;
}
.recruit td h3.large {
	font-size: 22px;
}
.recruit li span {
	font-size: 14px;
}

.recruit .contact .tel-mail {
	font-weight: bold;
}
/* -------------------------------------------------

						募集職種・会社説明会

------------------------------------------------- */
.recruit {
	max-width: 1000px;
	margin: 0 auto;
}
.job-opening p {
	text-align: center;
}
.job-opening .recruit-catch {
	font-size: 26px;
	line-height: 1.8;
}
.job-opening .recruit-catch span {
	font-size: 33px;
	color: #DC5257;
}
.job-opening .recruit-catch span span {
	color: #000;
}
.job-opening .recruit-catch span span.large {
	font-size: 40px;
	color: #DC5257;
}
.job-opening .recruit-catch + p {
	padding-top: 16px;
}
.job-opening .recruit-btn-item p {
	text-align: center;
	line-height: 1.6;
}
.company-desc p {
	padding-top: 24px;
}
.company-desc p.first {
	padding-top: 0;
}
.recruit section > p {
	line-height: 2;
}
.recruit section > p span {
	font-weight: bold;
	color: #DC5257;
}
.question-title {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	color: #fff;
	background: #004097;
	text-align: center;
	height: 50px;
	margin-top: 64px;
}
.recruit-question h3 {
	font-size: 22px;
	line-height: 1.4;
	color: #004097;
	padding-top: 56px;
}
.recruit-question h5 {
	padding-top: 24px;
	font-weight: normal;
	text-align: center;
}
.recruit-question h5 + p {
	padding-top: 8px;
}
.recruit-question p {
	padding: 18px 0 24px;
}

.headofoffice-boshu {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 50px;
	color: #DC5257;
	line-height: 1.4;
}

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

						事業内容

------------------------------------------------- */
.business {
	max-width: 1124px;
	margin: 0 auto;
}
.kv-wrap img {
	width: 100%;
	object-fit: contain;
}
.business-wrap section.flex {
	padding-left: 70px;
	justify-content: space-between;
}
.business-wrap section.flex .right {
	max-width: 50%;
	padding-left: 40px;
}
.business-wrap section.flex .right img {
	padding-bottom: 40px;
}
.business-wrap h2 {
	font-size: 25px;
	color: #fff;
	background: #004097;
	padding: 16px 27px;
	margin: 64px 0;
}
.business-wrap h3 {
	font-size: 23px;
	padding-bottom: 8px;
	width: fit-content;
	margin-bottom: 18px;
}
.business-wrap h4 {
	font-size: 22px;
}
.business-wrap ul {
	margin-bottom: 40px;
}
.business-wrap li {
	font-size: 18px;
	line-height: 1.7;
	padding-top: 24px;
}

.business-wrap ul + h3 {
	padding-top: 32px;
}



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

						給与制度・環境/社内風景

------------------------------------------------- */
.workplace {
	max-width: 1070px;
	margin: 0 auto;
}
.incentive {
	background: #DC5257;
	justify-content: space-evenly;
	align-items: center;
	padding: 60px 0;
	border-radius: 16px;
	width: 100%;
}
.incentive img {
	max-width: fit-content;
	width: 44%;
}
.incentive span {
	display: flex;
	align-self: stretch;
	width: 2px;
	background: #fff;
}
.incentive + ul {
	justify-content: space-between;
	align-items: stretch;
}
.incentive + ul li img {
	display: flex;
	align-self: baseline;
	padding: 0 20px;
}
.incentive + ul li {
	max-width: 314px;
	width: 32%;
	background: #ECE4E8;
	display: flex;
	justify-content: center;
	padding: 48px 0 36px;
	border-radius: 18px;
	margin-top: 45px;
}
.incentive + ul li:first-child {
	background: #D5DAD7;
}
.incentive + ul li:last-child {
	background: #CFD8E3;
}

/*
	社内風景
*/
.photo-gallery-wrap {
	max-width: 830px;
	margin: 0 auto;
}
.gallery.page-title {
	padding-top: 120px;
}
.photo-gallery {
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 40px;
}
.photo-gallery.honsha {
	padding-bottom: 80px;
}
.photo-gallery > li {
	padding: 0 0 20px;
	width: calc(50% - 10px);
}
.photo-gallery .slick-list img {
	width: 100%;
	object-fit: cover;
} 
.gallery-title {
	font-size: 22px;
	color: #fff;
	text-align: center;
	background: #004097;
	padding: 16px 27px;
	margin: 32px auto 40px;
}
.photo-gallery .slick-arrow {
	width: 36px !important;
}
.photo-gallery .slick-next {
	right: 0;
}
.photo-gallery .slick-prev {
	left: 0;
}

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

						プライバシーポリシー

------------------------------------------------- */
.privacy {
	max-width: 980px;
}

.privacy .kv-wrap,
.privacy section {
	width: 90%;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.7;
}
.privacy-wrap section ul li p + p,
.privacy-wrap li {
	padding-top: 0;
}

.privacy section li + li,
.privacy section p + p {
	padding-top: 24px;
}
.privacy-wrap h2 {
	margin: 64px 0 32px;
}
/* -------------------------------------------------

						よくある質問

------------------------------------------------- */
.faq-wrap {
	line-height: 1.5;
}
.faq-wrap h2 {
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #004097;
	padding: 14px 20px;
	margin-bottom: 40px;
}
.ark-block-accordion__item {
	padding-bottom: 1rem;
	border-bottom: 1px solid #004097;
}
.ark-block-accordion__title {
	font-size: 20px;
	font-weight: bold;
	color: #004097;
	background: #fff;
	padding-left: 0;
}
.ark-block-accordion__title::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
	background: #004097;
	min-width: 36px;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	margin-right: 10px;
}
.ark-block-accordion__icon {
	width: 15px;
	height: 15px;
	border-top: solid 3px;
	border-right: solid 3px;
	transform: rotate(135deg);
}
.ark-block-accordion__icon:before,
[data-icon-type=plus] .ark-block-accordion__icon:before,
.ark-block-accordion__icon:after,
[data-icon-type=plus] .ark-block-accordion__icon:after {
	content: unset;
}
.is-opened>.ark-block-accordion__title .ark-block-accordion__icon {
	transform: rotate(315deg);
}
.faq-wrap .recruit-btn-wrap {
	margin: 64px auto 80px;
}
.faq-wrap .recruit-btn-item {
	margin: auto;
}
/* -------------------------------------------------

						お知らせ＆ブログ

------------------------------------------------- */
.contents li a.top-news-link {
	display: block;
	position: absolute;
	top: 3.5vw;
	right: 7%;
	color: #004097;
}
.contents li a.top-news-link:hover {
	text-decoration: underline;
}
.news-list {
	overflow-y: scroll;
}
.news-list li a:hover {
	display: inline-block;
	text-decoration: underline;
}
.blog-lists-wrap {
	background: #fafafa;
	padding: 50px 20px 100px;
}
.blog-lists,
ul.blog-lists {
	max-width: 900px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: auto;
}
ul.blog-lists::after {
	content: "";
	display: block;
	width: 32%;
}
ul.blog-lists li.list-item {
	width: 32%;
	margin-bottom: 40px;
}
ul.blog-lists li.list-item img {
	border-radius: 13px;
}
ul.blog-lists li .txts time {
	font-size: 12px;
	color: #809fcb;
	display: inline-block;
	padding-top: 10px;
}
ul.blog-lists li .txts .title {
	font-size: 15px;
	color: #211815;
	padding-top: 10px;
	line-height: 1.5;
}
ul.blog-lists li .txts .cat-wrap {
	padding-top: 15px;
}
ul.blog-lists li .txts .cat {
	display: inline-block;
	font-size: 13px;
	color: #004097;
	background: #e5ecf5;
	padding: 5px 15px;
	border-radius: 15px;
}
ul.blog-lists li .txts .tag-wrap {
	padding-top: 10px;
}
ul.blog-lists li .txts .tag {
	display: inline-block;
	font-size: 12px;
	color: #4d4d4d;
	margin-right: 15px;
}
.blog-contents-wrap .tag::before,
ul.blog-lists li .txts .tag::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 9px;
	background-image: url(images/blog/tag@2x.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-right: 2px;
}
/**/
.blog-lists-wrap ul.blog-lists li.list-item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: 0.4s;
}
.blog-lists-wrap ul.blog-lists li.list-item:hover img {
	border-radius: 24px;
	transform: scale(0.76);
}
.blog-lists-wrap ul.blog-lists li.list-item a {
	transition: 0.4s;
}
.blog-lists-wrap ul.blog-lists li.list-item a:hover {
	opacity: 0.7;
}

/**/
.blog-slider-wrap {
	background: #fafafa;
	padding: 50px 0;
}
ul.blog-slider.blog-lists {
	max-width: 100%;
}
ul.blog-slider.blog-lists li.list-item {
/*	max-width: 32vw;*/
}
ul.blog-slider.blog-lists li.list-item a {
	display: block;
	height: 100%;
	border-radius: 12px;
	transition: 0.3s;
	background: #fff;
	box-shadow: 0px 2px 5px 0px rgba(20, 20, 20, 0.05);
}
ul.blog-slider.blog-lists li.list-item a:hover {
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
}
ul.blog-slider.blog-lists li.list-item .txts {
	padding: 5px 15px 20px;
}
ul.blog-slider.blog-lists li.list-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 12px 12px 0 0;
}
ul.blog-slider.blog-lists .slick-arrow {
	width: 50px!important;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	z-index: 1;
}
ul.blog-slider.blog-lists .slick-arrow.prev-arrow {
	transform: translate(0, -50%);
	left: 21%;
}
ul.blog-slider.blog-lists .slick-arrow.next-arrow {
	transform: translate(0, -50%);
	right: 21%;
}
ul.blog-slider .slick-track {
  display: flex;
  margin-top: 20px;
}
ul.blog-slider .slick-slide {
  height: auto !important;
}

ul.blog-slider.blog-lists .list-item {
  opacity: 0.5;
  transition: opacity 0.3s;
}
ul.blog-slider.blog-lists .list-item.slick-current {
  opacity: 1;
}

/**/
.blog-nav-wrap {
	background: #fafafa;
	padding: 50px 30px 0;
}
.blog-nav {
	font-size: 13px;
	line-height: 2;
	display: flex;
	align-items: baseline;
	max-width: 900px;
	background: #fff;
	padding: 20px;
	border-left: solid 2px #809fcb;
	border-right: solid 1px #e5ecf5;
	border-bottom: solid 1px #e5ecf5;
	margin: auto;
}
.blog-nav.cat-wrap {
	margin-bottom: 20px;
}
.blog-nav a {
	color: #000;
}
.blog-nav a:hover {
	color: #004097;
	text-decoration: underline;
}
.blog-nav h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-width: 110px;
	white-space: nowrap;
}
.blog-nav h2::after {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: #ccc;
}
.blog-nav ul {
	display: flex;
	padding-left: 20px;
	justify-content: space-between;
	flex-wrap: wrap;
}
.blog-nav li {
	margin-right: 20px;
}
.blog-nav.cat-wrap li + li {
	padding-left: 20px;
	border-left: solid 1px #ccc;
}
.blog-nav li.current a {
	font-weight: bold;
	color: #004097;
}

/* ブログ個別 */
.blog-contents-wrap {
	background: #fafafa;
	line-height: 1.5;
}
.blog-contents-wrap .inner {
	max-width: 900px;
	padding: 50px 30px;
	margin: auto;
}
.blog-contents-wrap time {
	font-size: 16px;
	color: #809fcb;
}
.blog-contents-wrap h1.title {
	font-size: 32px;
	margin-top: 10px;
}
.blog-contents-wrap .thumb {
	padding-top: 20px;
}
.blog-contents-wrap .thumb img {
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 16px;
}
.blog-contents-wrap .cat-wrap {
	padding-top: 15px;
}
.blog-contents-wrap .cat {
	display: inline-block;
	font-size: 13px;
	color: #004097;
	background: #e5ecf5;
	padding: 5px 15px;
	border-radius: 15px;
}
.blog-contents-wrap .tag-wrap {
	padding-top: 10px;
}
.blog-contents-wrap .tag {
	display: inline-block;
	font-size: 12px;
	color: #4d4d4d;
	margin-right: 15px;
}
.blog-contents-wrap .content > * {
	word-break: break-all;
	line-height: 2;
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}
.blog-contents-wrap .content h2 {
	font-size: 27px;
}
.blog-contents-wrap .content h3 {
	font-size: 24px;
	padding-left: 25px;
	margin-top: 50px;
	position: relative;
}
.blog-contents-wrap .content h3::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: #004097;
	width: 4px;
	height: 100%;
	border-radius: 2px;
}
.blog-contents-wrap .content h4 {
	font-size: 20px;
	margin-top: 4vw;  
}
/**/
.prev-next-wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 50px;
}
.prev-post,
.next-post {
	margin: 20px 0;
	font-size: 1.2em;
}

.prev-post a,
.next-post a {
	font-size: 14px;
	text-decoration: none;
	color: #0073aa;
}

.prev-post a:hover,
.next-post a:hover {
	text-decoration: underline;
}

.blog-lists-wrap.latest-posts {
	line-height: 1;
	padding-top: 100px;
	padding-bottom: 0;
}
.blog-lists-wrap.latest-posts h2 {
	font-size: 21px;
	margin-bottom: 20px;
}
/**/
/* ページネーションの汎用スタイル */
.nav-links ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.nav-links li > * {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  height: 45px;
}
.nav-links li > *:not(.dots) {
  width: 45px;
  border-radius: 50%;
  color: #004097;
  background: #efefef;
  transition: color 0.3s ease, background 0.3s ease;
}
.nav-links li > .current,
.nav-links li > a:hover {
  color: #ffffff;
  background: #004097;
}
/**/
/* -------------------------------------------------

						ヘッダーナビ　サブメニュー

------------------------------------------------- */
.g-nav-wrap {
	position: relative;
}
.has-sub {
	font-size: 14px;
	font-weight: bold;
	cursor: default;
}
.sub-nav-wrap {
	position: absolute;
	overflow: hidden;
	height: 0;
	padding-top: 6px;
}
.sub-nav-list {
	padding: 16px;
	background: #fff;
	transition: 0.3s;
}
.sub-nav-list:hover {
	background: #eee;
}
.sub-nav-list a {
	position: relative;
	justify-content: flex-start;
}
.sub-nav-list a::after {
	content: unset;
}
.has-sub {
	position: relative;
	z-index: 1;
}
.has-sub::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #004097;
	bottom: -8px;               /*アンダーラインがaタグの下端から現れる*/
	transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
	transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
	transition: transform 0.3s; /*変形の時間*/
}

.has-sub:hover::after {
	transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
	z-index: 1;
}


.has-sub:hover .sub-nav-wrap {
	display: block;
	overflow: visible;
	height: 100%;
	left: -16px;
	z-index: 1;
}
/* -------------------------------------------------

						フッター ボタン

------------------------------------------------- */
.footer-btn-wrap {
	padding-bottom: 40px;
}
.footer-btn-wrap .recruit-btn-item {
	color: #007;
	    background: #fff;
	    border: solid 1px #004097;
	    font-size: 15px;
	    width: 240px;
	    height: 90px;
}
.footer-btn-wrap .recruit-btn-item:hover {
	background: #eee;
}
.footer-btn-wrap .recruit-btn-item {
	text-align: center;
}
.footer-btn-wrap .recruit-btn-item.last p .sp-only {
	display: none;
}
/* -------------------------------------------------

						レスポンシブ

------------------------------------------------- */
.btn-nav {
	display: none;
}
@media screen and (min-width: 1124px) {
	.header {
		justify-content: space-between;
	}
	.header::after {
		width: 160px;
	}
}
@media screen and (max-width: 1024px) {
	.hd-logo {
		max-width: 40vw;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.g-nav .description {
		display: none;
	}
	.btn-nav {
		position: absolute;
		width: 68px;
		height: 68px;
		display: block;
		top: 50%;
		transform: translateY(-50%);
	}
	.btn-nav::before,
	.btn-nav::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		position: absolute;
		background: #000;
		transition: 0.3s;
	}
	.btn-nav::before {
		top: 33%;
	}
	.btn-nav::after {
		bottom: 33%;
	}
	.btn-nav.active::before {
		transition: 0.3s;
		transform: translateY(10px) rotate(135deg);
	}
	.btn-nav.active::after {
		transition: 0.3s;
		transform: translateY(-10px) rotate(-135deg);
	}
	.btn-nav.active + .g-nav {
		display: block;
		opacity: 1;
		transition: 0.3s;
	}
	.entry-btn {
		position: absolute;
		top: 0;
	}
	.g-nav {
		display: none;
		position: absolute;
		top: 90px;
		width: calc(100vw - 100px);
		height: 100vh;
    background: #fff;
    opacity: 0;
    transition: 0.3s;
	}
	.g-nav-wrap {
		justify-content: flex-start;
		flex-direction: column;
		align-items: flex-start;
		padding: 80px 90px;
    width: 100vw;
    position: absolute;
    left: -60px;
    background: #fff;
    height: 100vh;
    overflow: scroll;
	}
	.g-nav-list {
		margin-bottom: 7.8vw;
	}
	.g-nav-list a {
		font-size: 16px;
		padding: 0;
		margin: 0;
	}
	.g-nav-list a::after {
		transform: scale(1);
		height: 3px;
		bottom: -7px;
	}

	.sub-nav-wrap {
		position: relative;
		height: auto;
	}
	.sub-nav-title {
		display: none;
	}
	.g-nav-list.has-sub {
		margin-bottom: 0;
	}
	.sub-nav-list {
		width: min-content;
		padding: 0;
		margin-bottom: 7.8vw;
	}
	.sub-nav-list a::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		background: #004097;
		transform: scale(1);
    height: 3px;
    bottom: -7px;
	}

	.interview {
		padding: 50px 0 80px;
	}
	.interview-title {
		top: 50px;
		left: 32px;
	}
	.comment-item .pc-only {
		display: none;
	}
	.recruit-btn-item .arrow,
	.ft-nav {
		display: none;
	}
	.recruit-btn-wrap {
/*		justify-content: space-between;*/
	}
	.recruit-btn-item {
		/*margin: 0;
		max-width: calc((100vw - 104px) / 2);*/
	}
	.intv-id {
		top: -45px;
	}

	/*-------------------------------------------------
		エントリー
	-------------------------------------------------*/

	.entry-item,
	.file-input-wrap > .flex {
		flex-direction: column;
	}
	.file-input-wrap .entry-item {
		flex-direction: row;
	}
	.item-wrap {
		padding-top: 16px;
	}
	.file-type {
		padding-top: 8px;
	}
	.item-title {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	.item-title.reverse {
		flex-direction: row;
    justify-content: flex-start;
	}
	.item-title.reverse::before {
		display: none;
	}
	
	.item-title::before {
		margin-left: 12px
	}
	.submit-txt {
		margin-left: 0;
	}
	.item-wrap.flex.name {
		justify-content: space-between;
	}

	.item-wrap .flex p + p {
		margin-right: 0;
	}

	.entry-item.desired-date-wrap .entry-item .item-title,
	.entry-item.desired-date .entry-item .item-title,
	.entry-item.file-input-wrap .entry-item .item-title {
		margin-left: 0;
		flex-direction: row;
		justify-content: flex-start;
	}
	.entry-item.desired-date-wrap .entry-item {
		align-items: flex-start;
	}
	.entry-item.desired-date-wrap .entry-item .item-title::before {
		display: none;
	}

	.check-box-wrap .item-wrap + .item-wrap {
		padding-left: 0;
	}
	.check-box-wrap .item-wrap + .item-wrap.other-wrap {
		margin-top: 22px;
	}
}


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

						レスポンシブ	タブレット

------------------------------------------------- */
@media screen and (max-width: 900px) {
	.intro-overlay {
		width: 90%;
	}

	.contents li a.top-news-link {
		top: 6vw;
	}

	.news-list li a {
		font-size: 13px;
		line-height: 1.8;
	}

	.interview-title {
		position: initial;
	}
	.interview-catch {
		padding-top: 36px;
	}
	.slide-items {
		margin-top: -16px;
	}
	.contents {
		flex-direction: column;
	}
	.contents li {
		width: 100%;
	}
	.column {
		flex-direction: column-reverse;
	}
	.news-bg {
		position: inherit;
	}
	.news-list {
		top: 12vw;
	}
	

	/*-------------------------------------------------
		代表メッセージ
	-------------------------------------------------*/
	img.intv-img.pc-only {
		display: none;
	}
	img.intv-img.sp-only {
		display: block;
		width: 100%;
		height: 70vw;
		padding: 20px 0 48px;
	}
	.profile-txt {
		padding-right: 0;
    width: 100%;
	}
	/*-------------------------------------------------
		会社概要
	-------------------------------------------------*/
	.access-btn, .access-item {
		flex-wrap: wrap;
	}
	th {
		min-height: unset;
		padding: 14px 7px;
		width: 25%;
	}
	.intv-page-title.history {
		padding-top: 80px;
	}
	.access-item {
		font-size: 14px;
		flex-direction: column;
	}
	.access-txt {
		height: 100%;
	}
	.access-txt img {
		padding-top: 24px;
	}
	.access-txt, .gmap {
		max-width: 100%;
		width: 100%;
	}
	.gmap {
		padding-top: 24px;
		height: 264px;
	}

	/*-------------------------------------------------
			エントリー
	-------------------------------------------------*/
	.item-wrap .flex p.name-label {
    width: auto;
	}

	.file-input-wrap .entry-item {
		flex-direction: column;
		align-items: flex-start;
	}
	.file-input-wrap .entry-item .item-wrap {
		padding-top: 8px;
	}
	
	
	/*-------------------------------------------------
			数字で見るハートランド
	-------------------------------------------------*/
	.comment-wrap > .comment-item,
	.comment-item-double {
		max-width: 100%;
		width: 100%;
	}
	/*-------------------------------------------------
		事業内容
	-------------------------------------------------*/
	.business-wrap h3 {
		font-size: 20px;
		margin: 16px 0 0;
	}
	.business-wrap h4 {
		font-size: 18px;
	}
	.business-wrap section.flex {
		padding-left: 32px;
	}
	.business-wrap li {
		font-size: 16px;
	}
}


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

						レスポンシブ	スマホ

------------------------------------------------- */
@media screen and (max-width: 480px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
	.header {
		height: 64px;
		position: sticky;
    top: 0;
    background: #fff;
	}
	.footer {
		padding: 20px;
	}
	.hd-logo {
		max-width: 44vw;
	}
	.g-nav {
		top: 64px;
		width: calc(100vw - 64px);
	}
	.g-nav-wrap {
		padding: 60px 56px;
    left: -20px;
	}
	.g-nav-list,
	.sub-nav-list {
		margin-bottom: 10vw;
	}
	.btn-nav.active::before {
		transform: translateY(5px) rotate(135deg);
	}
	.btn-nav.active::after {
		transform: translateY(-5px) rotate(-135deg);
	}
	.header,
	.main {
		padding: 0 20px;
	}
	.recruit-btn-wrap.main {
		padding: 0 8px;
	}
	.btn-nav {
		width: 34px;
		height: 34px;
	}
	.entry-btn {
		position: absolute;
		top: 0px;
	}
	.entry-btn,
	.entry-btn::before,
	.entry-btn::after {
		width: 100px;
		height: 64px;
	}
	.entry-title {
		font-size: 14px;
		line-height: 1.4;
	}
	.entry-title + img {
		display: none;
	}
	.news-list li a {
		font-size: 13px;
		line-height: 1.6;
	}
	.interview {
		padding-bottom: 100px;
	}

	.slick-arrow {
		position: absolute;
		top: 96%!important;
	}
	.slick-prev,
	.prev-arrow {
		left: 0!important;
	}
	.slick-next,
	.next-arrow {
		right: 0!important;
	}
	.contents li a.top-news-link {
		font-size: 13px;
	}

	/*-------------------------------------------------
			トップ　インタビュースライド
	-------------------------------------------------*/
	.interview.home-intv-slide {
		padding-bottom: 50px;
	}
	.top-intv-link a {
		font-family: "Helvetica Neue", Arial,"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
		font-size: 14px;
		font-weight: bold;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
		background: #004097;
		letter-spacing: 2px;
		width: 80%;
		height: 64px;
		margin: 40px auto 0;
	}

	.photo-gallery {
		padding-bottom: 80px;
	}
	.photo-gallery .slick-slide {
		padding: 0;
	}
	.photo-gallery .slick-arrow {
		top: 50%!important;
    transform: translateY(-250%);
    z-index: 1;
	}
	.photo-gallery .prev-arrow {
		left: 0px!important;
	}
	.photo-gallery .next-arrow {
		right: 0px!important;
	}
	.slick-dots {
		bottom: 50px!important;
	}

	.recruit-btn {
		padding-top: 32px;
	}
	.recruit-btn-item {
		font-size: 15px;
		max-width: calc((100vw - 20px) / 2);
	}
	.recruit-btn-item,
	.recruit-btn-item::before,
	.recruit-btn-item::after {
		height: 76px;
	}
	.recruit-btn-item span {
		font-size: 10px
	}
	/*-------------------------------------------------
			インタビュー
	-------------------------------------------------*/
	.interview-title img {
		min-width: unset;
		width: 48vw;
		margin-left: 5%;
	}
	main.interview {
		padding-bottom: 0;
	}
	.intv-catch {
		font-size: 17px;
	}
	.intv-top {
		flex-direction: column-reverse;
		width: 100%;
	}
	.intv-id {
		top: 0;
    left: 0;
	}
	.intv-main-txt {
		width: 100%;
		padding: 80px 0 0;
	}
	.intv-main-txt .pc-only {
		display: none;
	}
	.intv-main-img {
		width: 100%;
		height: 70vw;
		padding-top: 40px;
	}
	.intv-name-wrap {
		text-align: center;
	}
	.profile,.profile-txt,
	.question,.question6 h3,
	.check-box-wrap + .entry-item {
		width: 100%;
	}
	.profile {
		padding: 8px 16px;
		margin-top: 28px;
	}
	.profile-txt {
		padding: 0;
	}
	.profile p {
		font-size: 14px;
	}
	.profile img {
		display: none;
	}
	.question p {
		font-size: 18px;
	}
	.question6 .flex {
		flex-direction: column-reverse;
	}
	.daily-schedule,.q6-pic-area {
		width: 100%;
	}
	.daily-schedule {
		padding-left: 0px;
	}
	.daily-schedule::before {
		left: 14px;	
	}
	.q6-pic-area {
		align-items: center;
	}
	img.question6-img {
		padding: 72px 0 0;
	}
	img.question6-img + img.question6-img,
	img.question6-img + img.question6-img + img.question6-img {
		display: none;
	}
	.intv-c-w {
		flex-direction: column;
		padding: 30px 0 0;
	}
	.intv-c-w a {
		width: 100%;
	}
	.intv-c-w a + a {
		margin-top: 30px
	}
	.prev-next {
		padding-top: 80px;
	}
	/*-------------------------------------------------
			事業内容
	-------------------------------------------------*/
	.business-wrap h2 {
		margin-bottom: 24px;
	}
	.business-wrap h4 {
		padding-top: 24px;
	}


	/*-------------------------------------------------
		 	代表メッセージ
	-------------------------------------------------*/
	.message .kv .intv-main-img {
		padding-top: 0;
		height: 50vh;
	}
	.message .profile {
		padding: 16px 32px;
	}
	img.intv-img.sp-only {
		padding: 0 0 32px;
	}
	/*-------------------------------------------------
			会社概要
	-------------------------------------------------*/
	table {
		font-size: 12px;
	}
	th, td {
		padding: 13px 15px;
		vertical-align: middle;
	}
	th {
		font-size: 13px;
		width: 24%;
		padding: 0;
	}
	.access-btn a {
		font-size: 10px;
		width: 80px;
		height: 24px;
	}
	.copyright {
		right: 32px;
	}

	/*-------------------------------------------------
		エントリー
	-------------------------------------------------*/
	.entry-wrap {
		font-size: 16px;
		padding: 40px 20px 12px;
	}
	.item-title {
		font-size: 18px;
		white-space: normal;
	}
	.item-title.reverse {
		flex-wrap: wrap;
    line-height: 1.4;
    height: auto;
	}
	.item-title.reverse span {
		padding: 0;
	}
	.item-wrap .flex + .flex {
		margin-left: 16px;
	}
	.item-wrap .flex p.name-label {
		margin-right: 16px;
		margin-bottom: 8px;
	}
	::placeholder {
		font-size: 14px;
	}
	.check-box-wrap {
		width: 100%;
		flex-direction: column;
		margin-top: 0;
	}
	.shoukai.knew .wpcf7-list-item.first {
		margin-top: 22px;
	}
	input.who {
		font-size: 16px;
		margin: 16px 0 24px 24px;
	}
	input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"],input[type="date"]::-webkit-date-and-time-value, select, textarea {
		padding: 8px;
	}
	input[type="tel"] {
		width: 100%;
	}
	input[type="date"],
	input[type="date"]::-webkit-date-and-time-value,
	select {
		font-size: 16px;
		background: #fff;
		color: #000;
	}
	.name .flex {
		flex-direction: column;
		align-items: flex-start;
	}
	input[type="number"].age {
	    width: 72px;
	    margin-right: 16px;
	}

	.file-input-wrap .entry-item .item-wrap {
		flex-direction: column;
		align-items: flex-start;
	}
	.file-input-wrap .entry-item + .entry-item {
		padding-top: 40px;
	}
	.file-input-wrap .entry-item .item-wrap p {
		margin: 2px 8px;
		font-size: 14px;
	}
	.file-input-wrap .entry-item .item-wrap p {
		margin-left: 0;
	}

	.file-type {
		font-size: 14px;
	}
	.recruit-btn-wrap.main,
	.recruit-btn-wrap {
		padding: 0;
	}
	.recruit-btn-item {
		font-size: 14px;
		width: 45%;
	}
	.job-opening .recruit-btn-wrap {
		margin-top: 0;
	}
	.job-opening .recruit-btn-item,
	.recruit .recruit-btn-wrap .recruit-btn-item {
		font-size: 16px;
		width: 100%;
    height: 86px;
	}
	.recruit-to-entry a p {
		font-size: 18px;
	}
	.recruit-to-entry a span {
		font-size: 14px;
	}

	.desired-date select {
		width: -webkit-fill-available;
		width: -moz-available;
		min-width: 50px;
		padding-left: 14px;
	}
	input[type="date"],
	input[type="date"]::-webkit-date-and-time-value  {
		width: 100%;
		min-width: 107px;
		height: 48px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	form.invalid .date + .wpcf7-not-valid-tip,
	form.invalid .time-wrap .wpcf7-not-valid-tip {
	  bottom: -50px;
	}
	.desired-date .item-wrap span {
		font-size: 14px;
		padding: 0;
		height: 48px;
		display: flex;
		align-items: center;
	}
	.cm4cf7-confirm-view .desired-date .item-wrap span {
		font-size: 16px;
		height: auto;
	}

	.flex-c + p {
		margin-left: 4px;
	}
	.knew-error {
		margin: 0;
	}
	.knew-error p {
		margin: 12px 0 0;
	}


	.main.entry {
		padding: 0 16px 24px;
	}
	

	.job-opening .recruit-catch {
		font-size: 22px;
	}
	.job-opening .recruit-catch span {
		font-size: 26px;
	}
	.job-opening .recruit-catch span span.large {
		font-size: 30px;
	}

	.job-opening .recruit-catch + p {
		font-size: 13px;
	}

	.contact {
		padding: 24px 16px;
	}

	.contact .tel-mail {
		font-size: 12px;
	}
	.item-title::before {
		width: 40px;
		height: 20px;
	}
	.item-title.required::before {
		font-size: 12px;
	}




	/*-------------------------------------------------
			数字で見るハートランド
	-------------------------------------------------*/
	.about-wrap ul.flex {
		flex-direction: column;
	}
	.about-wrap ul.flex li {
		max-width: 100%;
	}

	.pick-up-wrap {
		padding: 44px 20px;
	}
	.comment-item {
		padding: 24px;
	}
	.pick-up-comment h3 {
		line-height: 1.2;
		padding-bottom: 24px;
	}

	.about-intv-btn {
    width: 80%;
    padding: 40px 0 16px;
    margin: 0 auto;
	}

	


	/*-------------------------------------------------
			募集要項
	-------------------------------------------------*/
	.main.recruit {
		padding: 0 20px;
	}
	.recruit th,
	.recruit td,
	.recruit li span,
	.recruit .contact p,
	.entry .contact p {
		font-size: 12px;
	}
	.recruit td h3.large {
		font-size: 15px;
	}
	.recruit th {
		padding: 28px 0;
		width: 22%;
	}
	.question-title {
		padding: 8px 16px;
    height: auto;
    line-height: 1.4;
	}
	.recruit-btn-wrap.recruit-to-entry {
		margin: 24px auto 0;
	}
	/*-------------------------------------------------
			社員インタビュー一覧ページ
	-------------------------------------------------*/
	.archive-interview {
		justify-content: center;
		padding: 0;
	}

	/*-------------------------------------------------
			社員インタビュー
	-------------------------------------------------*/
	.link-archive {
		display: none;
	}
	.sp-archive-btn {
		margin: 60px auto 40px;
	}
	.prev-next a {
		font-size: 18px;
	}
	.daily-schedule table {
		font-size: 18px;
	}
	.daily-schedule th, .daily-schedule td {
		font-size: 18px;
		padding: 24px 16px;
	}
	/*-------------------------------------------------
			事業内容
	-------------------------------------------------*/
	.business-wrap section.flex {
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.business-wrap section.flex .right {
		max-width: 100%;
		padding: 0;
	}
	/*-------------------------------------------------
			 給与制度・環境
	-------------------------------------------------*/
	.incentive {
		flex-direction: column;
	}
	.incentive img {
		width: 80%;
	}
	.incentive span {
		width: 80%;
		height: 2px;
		align-self: auto;
		margin: 30px 0;
	}
	.incentive + ul {
		flex-direction: column;
	}
	.incentive + ul li {
		max-width: 100%;
		width: 100%;
	}

	.photo-gallery > li {
		width: 100%;
	}
	/* 採用ブログ */
	ul.blog-slider.blog-lists li.list-item {
		max-width: 100%;
	}
	.blog-contents-wrap h1.title,
	.blog-contents-wrap .content h2,
	.blog-contents-wrap .content h3,
	.blog-contents-wrap .content h4 {
		font-size: 16px;
		line-height: 1.5;
	}
	.blog-contents-wrap .content > * {
		line-height: 2;
	}
	.blog-contents-wrap .content p {
		font-size: 14px!important;
	}
	.blog-nav {
		flex-direction: column;
	}
	.blog-nav ul {
		justify-content: flex-start;
	}
	.blog-nav.cat-wrap li + li {
		padding-left: 0;
		border: none;
	}
	.blog-slider-wrap {
		padding-bottom: 1px;
/*		display: none;*/
	}
	.blog-slider-wrap .slick-dots {
		bottom: -20px!important;
	}
	ul.blog-lists li.list-item {
		width: 100%;
	}
/*	*/

	.recruit-btn-wrap.main {
		padding: 0 20px;
	}
	.recruit-btn .recruit-btn-item {
		font-size: 16px;
		max-width: 100%;
		width: 100%;
		height: 86px;
		margin-left: 0;
		margin-right: 0;
	}
	.recruit-page-banner {
		justify-content: space-between;
	}
	.recruit-page-banner a,
	.footer-btn-wrap .recruit-btn-item {
		width: 32%;
		height: 70px;
		font-size: 13px;
		letter-spacing: 0;
		margin-left: 0;
		margin-right: 0;
	}
	.footer-btn-wrap.main {
		justify-content: space-between;
		padding: 0 20px 20px;
	}
	.footer-btn-wrap .recruit-btn-item {
		margin: 0;
	}
	.footer-btn-wrap .recruit-btn-item p {
		font-size: 12px;
	}
	.footer-btn-wrap .recruit-btn-item.last p .sp-only {
		display: block;
	}
	.footer-btn-wrap .recruit-btn-item span {
		font-size: 8px;
	}
	.footer-btn-wrap .recruit-btn-item.last {
		line-height: 1.25;
	}
	.recruit-btn-item p {
		font-size: 12px;
		text-align: center;
	}
	.recruit-btn-item.last p .sp-only {
		display: block;
	}
	.recruit-btn-item span {
		font-size: 8px;
	}
	.recruit-btn-item.last {
		line-height: 1.25;
	}
}

@media screen and (max-width: 375px) {
	.header, .main {
    padding: 0 20px;
	}
	.news-list li a time {
		font-size: 11px;
	}
	.business-wrap h3 {
		font-size: 18px;
	}
}

/* 募集職種：法人ごとの区切り */
.job-group + .job-group {
	margin-top: 56px;
}
.job-opening .job-group .recruit-btn-wrap {
	margin-bottom: 0;
}
.job-opening .job-group:last-child .recruit-btn-wrap {
	margin-bottom: 80px;
}
.job-group-title {
	display: flex;
	align-items: center;
	gap: 20px;
	width: calc(80% + 10px);
	margin: 0 auto 24px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 2px;
	color: #004097;
}
.job-group-title::before,
.job-group-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #004097;
}
.job-opening .job-group-company {
	margin: -12px 0 20px;
	font-size: 15px;
	letter-spacing: 1px;
}
@media screen and (max-width: 480px) {
	.job-group + .job-group {
		margin-top: 40px;
	}
	.job-group-title {
		width: calc(100% - 10px);
		gap: 12px;
		margin-bottom: 16px;
		font-size: 16px;
		letter-spacing: 1px;
	}
	.job-opening .job-group-company {
		margin: -6px 0 14px;
		font-size: 13px;
	}
}

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

						ヘッダー（2026-10-31 ホームページと同じ形・ハートランドグループ 採用サイト）
						header.php の header に hy を付けたときだけ効く

------------------------------------------------- */
.header.hy {
	height: 72px;
	padding: 0;
	align-items: stretch;
	box-shadow: 0 1px 0 #e5e7eb;
}
.header.hy > div.flex {
	flex: 1;
	min-width: 0;
	align-items: stretch;
	justify-content: space-between;
}
.header.hy .hd-logo {
	display: flex;
	align-items: center;
	max-width: none;
	padding: 0 0 0 32px;
}
.header.hy .hd-logo a {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.header.hy .hd-logo img.hy-mark {
	width: 40px;
	min-width: 40px;
	height: auto;
}
.hy-logo__t {
	display: grid;
	line-height: 1.3;
	white-space: nowrap;
}
.hy-en {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .08em;
	color: #004098;
}
.hy-ja {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .06em;
	color: #6b7280;
}
.hy-ja b {
	margin-left: .5em;
	padding: .1em .5em;
	font-weight: 700;
	color: #fff;
	background: #004098;
}
.hy-ext {
	margin-left: .3em;
	font-size: .8em;
	color: #004098;
}
@media screen and (min-width: 1025px) {
	.header.hy .g-nav {
		display: flex;
		align-items: stretch;
	}
	.header.hy .g-nav-wrap {
		width: auto;
		height: 100%;
		justify-content: flex-start;
		background: #deecf5;
	}
	.header.hy .g-nav-list {
		display: flex;
		align-items: stretch;
		margin: 0;
	}
	.header.hy .g-nav-list > a,
	.header.hy .sub-nav-title {
		display: flex;
		align-items: center;
		height: 100%;
		white-space: nowrap;
		padding: 0 1.6rem;
		font-size: 15px;
		font-weight: bold;
		letter-spacing: .04em;
		color: #2b2b2b;
		cursor: pointer;
	}
	.header.hy .sub-nav-title::after {
		content: "";
		width: 6px;
		height: 6px;
		margin-left: .55rem;
		border-right: 2px solid #004098;
		border-bottom: 2px solid #004098;
		transform: translateY(-2px) rotate(45deg);
	}
	.header.hy .g-nav-list > a::after,
	.header.hy .has-sub::after {
		content: none;
	}
	.header.hy .g-nav-list:hover > a,
	.header.hy .g-nav-list.current > a,
	.header.hy .has-sub:hover .sub-nav-title {
		background: #fff;
		color: #004098;
	}
	.header.hy .sub-nav-wrap {
		top: 100%;
		left: 0;
		min-width: 240px;
		padding: 0;
		background: #fff;
		box-shadow: 0 12px 32px rgba(7, 27, 84, .14);
	}
	.header.hy .has-sub:hover .sub-nav-wrap {
		left: 0;
		height: auto;
		padding: 8px 0;
		border-top: 3px solid #004098;
	}
	.header.hy .sub-nav-list {
		padding: 0;
		background: #fff;
	}
	.header.hy .sub-nav-list:hover {
		background: #f5f6f8;
	}
	.header.hy .sub-nav-list a {
		display: block;
		padding: 12px 22px;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: .02em;
		color: #2b2b2b;
	}
	.header.hy .sub-nav-list a:hover {
		color: #004098;
	}
	.header.hy .entry-btn,
	.header.hy .entry-btn::before,
	.header.hy .entry-btn::after {
		flex: none;
		width: 160px;
		height: 72px;
	}
	.header.hy .entry-title {
		flex-direction: row;
		font-size: 15px;
		letter-spacing: .04em;
	}
}
@media screen and (max-width: 1024px) {
	.header.hy {
		height: 64px;
		padding: 0;
	}
	.header.hy .hd-logo {
		position: absolute;
		top: 50%;
		left: 16px;
		padding: 0;
		transform: translateY(-50%);
	}
	.header.hy .hd-logo img.hy-mark {
		width: 32px;
		min-width: 32px;
	}
	.header.hy .hy-en {
		font-size: 13px;
	}
	.header.hy .hy-ja {
		font-size: 0;
	}
	.header.hy .hy-ja b {
		margin-left: 0;
		font-size: 10px;
	}
	.header.hy .btn-nav {
		right: 14px;
		left: auto;
		width: 30px;
		height: 30px;
	}
	.header.hy .btn-nav.active::before {
		transform: translateY(4px) rotate(135deg);
	}
	.header.hy .btn-nav.active::after {
		transform: translateY(-4px) rotate(-135deg);
	}
	.header.hy .entry-btn,
	.header.hy .entry-btn::before,
	.header.hy .entry-btn::after {
		width: 112px;
		height: 64px;
	}
	.header.hy .entry-btn {
		right: 58px;
	}
	.header.hy .entry-title {
		font-size: 12px;
		letter-spacing: .04em;
		white-space: nowrap;
	}
	.header.hy .g-nav {
		top: 64px;
		left: 0;
		width: 100vw;
	}
	.header.hy .g-nav-wrap {
		left: 0;
	}
}

/* ------------------------------------------------------------------
 * 旧テーマのカスタマイザー「追加CSS」にあったもの（テーマを替えると消えるので、ここに移した）
 * ------------------------------------------------------------------ */
mark {
	font-style: normal;
}

/* 2026-11-02 Arkhe Blocks の停止に伴う置き換え：よくある質問の開閉（ark-block-accordion）
   元は arkhe-blocks 2.22.1 の accordion/index.css。テーマ（style.css）とぶつかる背景・矢印の大きさは書かない。
   JavaScript なしで動くよう、開いたときの矢印は details の open で判定（テーマの .is-opened の代わり） */
.ark-block-accordion__item+.ark-block-accordion__item{margin-top:1rem}
.ark-block-accordion__title{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.75em 1em .75em 0;position:relative;list-style:none}
.ark-block-accordion__title::-webkit-details-marker{display:none}
.ark-block-accordion__title::marker{content:""}
.ark-block-accordion__label{flex:1 1 auto;padding-right:1em;word-break:break-all}
.ark-block-accordion__body{overflow:hidden;padding:1em;position:relative}
.ark-block-accordion__icon{display:block;flex:0 0 auto;position:relative;text-align:center;transition:transform .25s}
.ark-block-accordion__item[open]>.ark-block-accordion__title .ark-block-accordion__icon{transform:rotate(315deg)}
.ark-block-accordion__body>*{margin-bottom:0;margin-top:1rem}
.ark-block-accordion__body>:first-child{margin-top:0}
