/*===============================

    Reset

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

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a {
	margin: 0; padding: 0; font-size: 100%; vertical-align: baseline;
	background: transparent; color: inherit; text-decoration: none;
}

ins, mark { background-color: #ff9; color: #000; }
mark { font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

hr {
	display: block; height: 1px; border: 0; border-top: 1px solid #ccc;
	margin: 1em 0; padding: 0;
}

input, select { vertical-align: middle; }

*, *::before, *::after { box-sizing: border-box; background-repeat: no-repeat; }

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

/*===============================

    Base

================================*/
html {
	color: #4F4844;
	font-size: 16px;
}

@media screen and (max-width: 320px) {
	html {
		font-size: 14px;
	}
}

body {
	font-family: 'Noto Sans JP', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
}

p {
	line-height: 1.8;
}

a {
	color: var(--color-text-base);
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

#wrap {
	max-width: var(--max-width);
	margin: 0 auto;
	min-height: 100vh;
	border-right: solid 1px #DEDCD7;
	border-left: solid 1px #DEDCD7;
	display: flex;
	flex-direction: column;

	& > .siteContents {
	flex: 1;
	}
}

/* ==========================

    共通設定（モバイル基準）

========================== */
:root {

	/* フォントファミリー */
	--font-family-sans: 'Noto Sans JP', sans-serif;
	--font-family-serif: 'Noto Serif JP', serif;

	/* フォントウェイト */
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;

	/* フォントサイズ設定 */
	--font-xs: 0.75rem; /* 12px */
	--lh-xs: 1.1;

	--font-sm: 0.875rem; /* 14px */
	--lh-sm: 1.25;

	--font-base: 1rem; /* 16px */
	--lh-base: 1.5;

	--font-lg: 1.125rem; /* 18px */
	--lh-lg: 1.5;

	--font-xl: 1.25rem; /* 20px */
	--lh-xl: 1.5;

	--font-2xl: 1.25rem; /* 20px */
	--lh-2xl: 1.5;

	--font-3xl: 1.5rem; /* 24px */
	--lh-3xl: 1.5;

	--font-4xl: 1.75rem; /* 28px */
	--lh-4xl: 1.25;

	--font-5xl: 2.25rem; /* 36px */
	--lh-5xl: 1.1;

	--font-6xl: 3rem; /* 48px */
	--lh-6xl: 1.1;

	/* カラー設定 */
	--color-text-base: #4F4844;
	--color-text-muted: #6b7280;
	--color-bg-whitegray: #F7F7F7;
	--color-border-base: #e5e7eb;
	--color-border-muted: #d1d5db;
	--color-link: #3C91E6;
	--color-link-hover: #9f4710;
	--color-primary: #FF9770;
	--color-primary-light: #FFF5F1;

	/* レイアウト設定 */
	--max-width: 768px;
	--content-width: 50rem; /* 800px */
	--container-padding: 0.625rem; /* 10px */

	/* 余白設定 */
	--space-3xs: 0.125rem; /* 2px */
	--space-2xs: 0.25rem; /* 4px */
	--space-xs: 0.5rem; /* 8px */
	--space-sm: 0.75rem; /* 12px */
	--space-md: 1rem; /* 16px */
	--space-lg: 1.25rem; /* 20px */
	--space-xl: 1.5rem; /* 24px */
	--space-2xl: 1.75rem; /* 28px */
	--space-3xl: 2rem; /* 32px */
	--space-4xl: 2.5rem; /* 40px */
	--space-5xl: 3rem; /* 48px */
}

/* ==========================
    タブレット時　設定
========================== */
@media (min-width: 768px) {
	:root {
		/* 余白設定 */
		--space-3xs: 0.25rem;
		/* 4px */
		--space-2xs: 0.375rem;
		/* 6px */
		--space-xs: 0.625rem;
		/* 10px */
		--space-sm: 1rem;
		/* 16px */
		--space-md: 1.25rem;
		/* 20px */
		--space-lg: 1.5rem;
		/* 24px */
		--space-xl: 2rem;
		/* 32px */
		--space-2xl: 2.25rem;
		/* 36px */
		--space-3xl: 2.5rem;
		/* 40px */
		--space-4xl: 3rem;
		/* 48px */
		--space-5xl: 3.5rem;
		/* 56px */

		/* フォントサイズ設定 */
		--font-2xl: 1.375rem;
		/* 22px */
		--font-3xl: 1.625rem;
		/* 26px */
		--font-4xl: 2rem;
		/* 32px */
		--font-5xl: 2.625rem;
		/* 42px */
		--font-6xl: 3.375rem;
		/* 54px */
	}
}

/* ==========================
    デスクトップ時　設定
========================== */
@media (min-width: 1024px) {
	:root {
		/* 余白設定 */
		--space-3xs: 0.25rem;
		/* 4px */
		--space-2xs: 0.5rem;
		/* 8px */
		--space-xs: 0.75rem;
		/* 12px */
		--space-sm: 1.25rem;
		/* 20px */
		--space-md: 1.5rem;
		/* 24px */
		--space-lg: 2rem;
		/* 32px */
		--space-xl: 2.5rem;
		/* 40px */
		--space-2xl: 3rem;
		/* 48px */
		--space-3xl: 3.5rem;
		/* 56px */
		--space-4xl: 4rem;
		/* 64px */
		--space-5xl: 4.5rem;
		/* 72px */

		/* フォントサイズ設定 */
		--font-2xl: 1.5rem;
		/* 24px */
		--font-3xl: 1.875rem;
		/* 30px */
		--font-4xl: 2.25rem;
		/* 36px */
		--font-5xl: 3rem;
		/* 48px */
		--font-6xl: 3.75rem;
		/* 60px */
	}
}

/* ==========================
    レイアウト
========================== */
.inner {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* セクション */
.sc {
	padding: var(--space-lg) 0;
}

.sc_content {
	margin-top: var(--space-lg);
}

.sc_content_item {
	margin-bottom: var(--space-md);
}

/* ==========================
    ユーティリティクラス
========================== */
.txt-link {
	color: var(--color-link);
}

.txt-link:hover {
	color: var(--color-link-hover);
	text-decoration: underline;
}


/* ==========================
    サイトヘッダー
========================== */
.siteHeader {
	background: #fff;
	border-bottom: solid 1px var(--color-primary);
}

.siteLogo {
	text-align: center;
}

.siteHeader_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: var(--space-xs);
	padding-left: var(--space-xs);
	padding-bottom: var(--space-sm);
}

.siteHeader_btn {
	display: flex;
	padding: var(--space-sm);
	justify-content: center;
	align-items: center;
	gap: 4px;
	border-radius: 4px;
	border: 1px solid #D9D9D9;
	background: linear-gradient(180deg, #FFF 0%, #FFF 86.59%, #F9F9F8 100%);
}

.siteHeader_btn::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background-image: url(./images/icon_search.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.siteHeader_inner .siteLogo {
	flex: 0 1 180px;
}

.siteHeader_inner .siteHeader_btn {
	/* flex: 0 1 120px; */
}

.siteHeader_bar {
	color: #515151;
	text-align: center;
	font-size: var(--font-xs);
}

.home .siteHeader_inner .siteLogo {
	flex: 0 1 300px;
}
.topVisual {
	margin-top: var(--space-lg);
}

.topVisual_lead {
	font-size: var(--font-sm);
	margin-top: var(--space-2xs);
}

.topVisual_usage {
	text-align: right;
	font-size: var(--font-sm);
}

.areaNav {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(4, auto);
	gap: calc(var(--space-xs) - var(--space-3xs));
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

.siteFooter {
	background: var(--color-bg-whitegray);
	padding: var(--space-lg) 0;
	border-top: solid 1px #DEDCD7;
}

.siteFooter_logo {
	text-align: center;
}

.siteFooter_logo img {
	max-width: 180px;
}

.siteFooter_links {
	display: flex;
	gap: var(--space-xs);
	justify-content: center;
	margin-top: var(--space-md);
	font-size: var(--font-sm);
}

.siteFooter_link {
	color: var(--color-text-base);
	font-size: var(--font-size-footer);
	text-decoration: none;
	font-family: var(--font-base);
}


/* ==========================
    エリア別モーダルウィンドウ
========================== */
.areaModal {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
}

.areaModal.show {
	display: block;
}

.areaModal_overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.areaModal_content {
	position: relative;
	z-index: 2;
	border-radius: 2px;
	background: #EEE;
	width: 90vw;
	max-width: 390px;
	max-height: 80vh;
	padding: var(--space-lg);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.areaModal.show .areaModal_content {
    animation: modalFadeDown 1s cubic-bezier(.16,.84,.3,1) both;
}

@keyframes modalFadeDown {
    from {
        opacity: 0;
        transform: translate(-50%, -80%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

.areaModal_close {
	position: absolute;
	top: 12px;
	right: 12px;
	background: none;
	border: none;
	font-size: 2rem;
	color: #aaa;
	cursor: pointer;
	z-index: 3;
}

.areaModal_close:before {
	content: "×";
}

.areaModal_close:hover {
	color: #333;
}

.areaModal_item {
	display: flex;
	flex-direction: column;
	gap: 16px;

	& + .areaModal_item {
		margin-top: var(--space-lg);
	}
}

.areaModal_item_ttl {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	line-height: 1.2;
}

.areaModal_item_ttl::before {
	display: block;
	content: "";
	width: 1.5em;
	height: 1.5em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2219%22%20height%3D%2225%22%20viewBox%3D%220%200%2019%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.41152%2024.4956C1.31689%2014.2105%200%2013.1549%200%209.375C0%204.19731%204.19731%200%209.375%200C14.5527%200%2018.75%204.19731%2018.75%209.375C18.75%2013.1549%2017.4331%2014.2105%2010.3385%2024.4956C9.8729%2025.1682%208.87705%2025.1681%208.41152%2024.4956ZM9.375%2013.2812C11.5324%2013.2812%2013.2812%2011.5324%2013.2812%209.375C13.2812%207.21763%2011.5324%205.46875%209.375%205.46875C7.21763%205.46875%205.46875%207.21763%205.46875%209.375C5.46875%2011.5324%207.21763%2013.2812%209.375%2013.2812Z%22%20fill%3D%22%23EA9047%22%2F%3E%3C%2Fsvg%3E');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.areaModal_item_icon {
	width: 24px;
	height: 24px;
}

.areaModal_areaMenu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-xs);
}

.areaModal_areaMenu_top {
	background: #f8f8f8;
	border: 2px solid #ea9047;
	border-radius: 4px;
	color: #ea9047;
	font-family: 'Noto Sans JP', var(--font-base, sans-serif);
	font-weight: 700;
	font-size: 16px;
	padding: 16px 0;
	width: 100%;
	cursor: pointer;
	margin-bottom: 8px;
	text-align: center;
}

.areaModal_areaMenu_btn {
	font-size: var(--font-sm);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	background: #fff;
	border: solid 1px #D9D9D9;
	box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.15);
	font-weight: 600;
	padding: var(--space-md) 0;
	line-height: 1.2;
	cursor: pointer;
	text-align: center;
}

@media (min-width: 768px) {
	.areaModal_content {
		max-width: 480px;
	}
}

.areaModal-kanto .areaModal_content {
	background: #F6FBFE;
}
.areaModal-kanto .areaModal_item_ttl  {
	/* color: #68B9F0; */
}
.areaModal-kanto .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(71%) sepia(87%) saturate(1277%) hue-rotate(175deg) brightness(95%) contrast(97%);
}
.areaModal-kanto .areaModal_areaMenu_btn {
	border-color: #68B9F0;
	box-shadow: 0 2px 0 0 #68B9F0;
}

.areaModal-kansai .areaModal_content {
	background: #FEF6F1;
}
.areaModal-kansai .areaModal_item_ttl  {
	/* color: #F2A56F; */
}
.areaModal-kansai .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(63%) sepia(89%) saturate(283%) hue-rotate(335deg) brightness(98%) contrast(94%);
}
.areaModal-kansai .areaModal_areaMenu_btn {
	border-color: #F2A56F;
	box-shadow: 0 2px 0 0 #F2A56F;
}

.areaModal-tokai .areaModal_content {
	background: #EEF8F1;
}
.areaModal-tokai .areaModal_item_ttl  {
	/* color: #59BD72; */
}
.areaModal-tokai .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(72%) sepia(49%) saturate(476%) hue-rotate(81deg) brightness(85%) contrast(79%);
}
.areaModal-tokai .areaModal_areaMenu_btn {
	border-color: #59BD72;
	box-shadow: 0 2px 0 0 #59BD72;
}

.areaModal-kyushu .areaModal_content {
	background: #EFF9F6;
}
.areaModal-kyushu .areaModal_item_ttl  {
	/* color: #5FC2A5; */
}
.areaModal-kyushu .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(75%) sepia(13%) saturate(1217%) hue-rotate(112deg) brightness(88%) contrast(92%);
}
.areaModal-kyushu .areaModal_areaMenu_btn {
	border-color: #5FC2A5;
	box-shadow: 0 2px 0 0 #5FC2A5;
}

.areaModal-hokkaido .areaModal_content {
	background: #F6F3FC;
}
.areaModal-hokkaido .areaModal_item_ttl  {
	/* color: #AA88E5; */
}
.areaModal-hokkaido .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(70%) sepia(19%) saturate(6144%) hue-rotate(212deg) brightness(95%) contrast(89%);
}
.areaModal-hokkaido .areaModal_areaMenu_btn {
	border-color: #AA88E5;
	box-shadow: 0 2px 0 0 #AA88E5;
}

.areaModal-kitakanto .areaModal_content {
	background: #FFF2F2;
}
.areaModal-kitakanto .areaModal_item_ttl  {
	/* color: #FF7C7C; */
}
.areaModal-kitakanto .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(71%) sepia(52%) saturate(997%) hue-rotate(308deg) brightness(99%) contrast(102%);
}
.areaModal-kitakanto .areaModal_areaMenu_btn {
	border-color: #FF7C7C;
	box-shadow: 0 2px 0 0 #FF7C7C;
}

.areaModal-hokuriku .areaModal_content {
	background: #F1F8FA;
}
.areaModal-hokuriku .areaModal_item_ttl  {
	/* color: #74B9CB; */
}
.areaModal-hokuriku .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(73%) sepia(15%) saturate(848%) hue-rotate(145deg) brightness(91%) contrast(93%);
}
.areaModal-hokuriku .areaModal_areaMenu_btn {
	border-color: #74B9CB;
	box-shadow: 0 2px 0 0 #74B9CB;
}

.areaModal-chugoku .areaModal_content {
	background: #FAF9EE;
}
.areaModal-chugoku .areaModal_item_ttl  {
	/* color: #D2C351; */
}
.areaModal-chugoku .areaModal_item_ttl::before {
	filter: brightness(0) saturate(100%) invert(100%) sepia(67%) saturate(1830%) hue-rotate(341deg) brightness(87%) contrast(87%);
}
.areaModal-chugoku .areaModal_areaMenu_btn {
	border-color: #D2C351;
	box-shadow: 0 2px 0 0 #D2C351;
}

/* ==========================
    求人一覧
========================== */
.feed_header {
	padding: var(--space-lg) 0;
	border-bottom: 1px solid var(--color-primary);
	/* border-top: 1px solid var(--color-primary); */
	background: #F7F7F7;
    background-color: #fff;
    background-image: radial-gradient(var(--color-primary) 1%, transparent 21%), radial-gradient(var(--color-primary) 1%, transparent 21%);
    background-position: 0 0, 3px 3px;
    background-size: 6px 6px;
}

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

.feed_header_ttl {
	font-size: var(--font-3xl);
	line-height: 1;
	font-weight: bold;
	position: relative;
	padding-left: var(--font-3xl);
}

.feed_header_ttl::before {
	display: block;
	content: "";
	width: var(--font-xl);
	height: var(--font-xl);
	background-image: url(./images/modal_map_marker.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-60%);
}

.feed_header_ttl span {
	font-size: var(--font-base);
	font-weight: normal;
	margin-left: 4px;
}

.feed_header_count {
	font-size: var(--font-lg);
	line-height: var(--lh-lg);
	font-weight: bold;
}

.feed_header_count span {
	font-size: var(--font-sm);
	font-weight: normal;
	margin-left: 1px;
}

.entry {
	display: flex;
	flex-wrap: wrap;
	padding: var(--space-md) var(--space-xs) var(--space-xl);
	border-bottom: 1px solid #DEDCD7;
	background: linear-gradient(180deg, #FFF 0%, #FFF 86.59%, #F9F9F8 100%), #FFF;
}

.entry .entry_header {
	flex: 1 1 100%;
	/* padding-top: var(--space-xs); */
	min-width: 0;
}

.entry .entry_img {
	flex: 1 1 100%;
	margin-top: var(--space-xs);
}

.entry .entry_body {
	flex: 1 1 100%;
	margin-top: var(--space-sm);
}

.entry .entry_footer {
	flex: 1 1 100%;
	margin-top: var(--space-sm);
}

.storeMeta_name {
	font-size: var(--font-xl);
	line-height: var(--lh-xl);
	font-weight: 600;
	color: var(--color-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.storeMeta_info {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2xs) var(--space-2xs);
	margin-top: var(--space-3xs);
}

.storeMeta_info_item {
	display: flex;
	align-items: center;
	gap: 0.1em;
	color: #747474;
	font-size: var(--font-sm);
	text-align: center;
	font-weight: normal;
	/* padding: var(--space-2xs) calc(var(--space-xs) + 2px); */
	/* border-radius: 2px;
	background: #F7F7F7; */
}

@media (min-width: 768px) {
	.storeMeta_info_item {
		font-size: var(--font-md);
	}
}

.storeMeta_info_item::before {
	display: block;
	content: "";
	width: 1.333em;
	height: 1.333em;
	flex-shrink: 0;
	background-image: url(./images/icon_store.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.storeMeta_info_item-area::before {
	background-image: url(./images/icon_train.svg);
}

.storeMeta_info_item-name::before {
	background-image: url(./images/icon_store.svg);
}

.storeMeta_info_item-category::before {
	background-image: url(./images/icon_business.svg);
}

.entry_ttl {
	font-size: var(--font-sm);
	line-height: 1.6;
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	overflow: hidden;
}

@media (min-width: 768px) {
	.entry_ttl {
		font-size: var(--font-2xl);
		line-height: var(--lh-2xl);
	}
}

.entry_ttl_area {
	color: #747474;
	font-size: calc(var(--font-sm) - 1px);
	font-weight: normal;
	line-height: var(--lh-base);
	display: flex;
	align-items: center;
	gap: 0.308em;
	margin-top: var(--space-3xs);
}

@media (min-width: 768px) {
	.entry_ttl_area {
		font-size: var(--font-md);
	}
}

.entry_ttl_area::before {
	display: block;
	content: "";
	width: 1.231em;
	height: 1.231em;
	flex-shrink: 0;
	background-image: url(./images/icon_train.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateY(-1px);
}

.entry_img {
    position: relative;
	border-radius: 4px;
	overflow: hidden;
}

.entry_img::before {
	content: "";
	display: block;
	padding-top: 42.86%;
}

.entry_img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.entry_body .storeTag {
	margin-top: var(--space-2xs);
}

.entry_btns {
	display: flex;
	justify-content: center;
	/* margin-top: var(--space-md); */
	gap: var(--space-2xs);
}

.entry_btns .entry_btn {
	flex: 1;
}

.entry_btn {
	color: #FFF;
	text-align: center;
	text-shadow: 0 0 2px #FF6B33;
	font-size: var(--font-sm);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	padding: calc(var(--space-md) - 2px) var(--space-md);
	border-radius: 4px;
	border: 1px solid #D37C5C;
	background: var(--Primary, #FF9770);
	box-shadow: 0 2px 0 0 #D37C5C;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.2em;
}

.entry_btn::after {
	content: "";
	display: block;
	width: 1.125em;
	height: 1.125em;
	background-image: url(./images/icon_arrow_white.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	/* position: absolute;
	top: 50%;
	right: var(--space-md);
	transform: translateY(-50%); */
}

.entry_btn-official {
	color: var(--color-font);
	background: #fff;
	border-color: #C6C6C6;
	box-shadow: 0 2px 0 0 #C6C6C6;
	text-shadow: none;
}

.entry_btn-official::after {
	background-image: url(./images/icon_link.svg);
}

.recruitArticle_meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2xs) calc(var(--space-sm) - 2px);
}

.recruitArticle_meta_info {
	display: flex;
	align-items: center;
	gap: 0.333em;
	color: #747474;
	font-size: var(--font-sm);
	text-align: center;
	font-weight: normal;
	/* padding: var(--space-2xs) calc(var(--space-xs) + 2px); */
	/* border-radius: 2px;
	background: #F7F7F7; */
}

@media (min-width: 768px) {
	.recruitArticle_meta_info {
		font-size: var(--font-md);
	}
}

.recruitArticle_meta_info::before {
	display: block;
	content: "";
	width: 1.333em;
	height: 1.333em;
	flex-shrink: 0;
	background-image: url(./images/icon_store.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.recruitArticle_meta_info-area::before {
	background-image: url(./images/icon_train.svg);
}

.recruitArticle_meta_info-name::before {
	background-image: url(./images/icon_store.svg);
}

.recruitArticle_meta_info-category::before {
	background-image: url(./images/icon_business.svg);
}

.entry-a .entry_img, .entry-a .entry_ttl_area {
	display: none;
}

.entry-a .entry_body {
	padding-left: 0;
	margin-top: 0;
}

.entry-a .entry_ttl {
	-webkit-line-clamp: 2;
}

/*===============================

    詳細ページ

================================*/
.recruitArticle_eyecatch {
	text-align: center;
}

.recruitArticle_header {
	margin-top: var(--space-sm);
}

.recruitArticle_header_ttl {
	color: #F3752B;
	font-size: var(--font-3xl);
	line-height: var(--lh-3xl);
	font-weight: bold;
}

.recruitArticle_header_tag {
	margin-top: var(--space-xs);
}

.storeTags {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: calc(var(--space-2xs) + 2px);
}

.storeTag {
	display: inline-block;
	color: var(--color-primary);
	font-size: var(--font-sm);
	text-align: center;
	font-weight: normal;
	padding: var(--space-2xs) calc(var(--space-xs) + 2px);
	border-radius: 2px;
	background: var(--color-primary-light);
}

.storeTag-brown {
	color: #CC978E;
	background: #FFF5EE;
}

.storeTag-green {
	color: #78BC61;
	background: #E8FDE0;
}

.storeTag-purple {
	color: #A882DD;
	background: #F6F0FF;
}

.storeTag-blue {
	color: #3C91E6;
	background: #F1F8FF;
}

.entry .storeTag {
	font-size: var(--font-xs);
	padding: var(--space-2xs) var(--space-xs) var(--space-2xs);
}

.recruitArticle_contents {
	margin-top: var(--space-4xl);
}

.recruitArticle_contents_ttl {
	font-size: var(--font-xl);
	line-height: 1.8;
	position: relative;
	border-top: 1px solid var(--color-primary);
	padding-top: var(--space-lg);
}

.recruitArticle_contents_ttl::before {
	content: "";
	display: block;
	width: 5.125rem;
	height: 1.5rem;
	background-image: url(./images/ribon_recruite.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-50%);
}

.marker {
	background: linear-gradient(#FFF 40%, #FFF4BF 60%);
}

.recruitArticle_contents_body {
	/* overflow: hidden;
	height: 210px; */
	margin-top: var(--space-lg);
}

.prBox {
	padding: var(--space-4xl) var(--space-lg) var(--space-xl) var(--space-lg);
	border-radius: 5px;
	border: 1px solid var(--color-primary);
	background: #FFF;
	position: relative;
	margin-top: var(--space-4xl);
}

.prBox_ttl {
	color: var(--color-primary);
	font-size: var(--font-lg);
	line-height: var(--lh-lg);
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.444em;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0.444em;
	transform: translateY(-50%);
	padding-right: 0.5em;
}

.prBox_ttl::before {
	content: "";
	display: block;
	width: 58px;
	height: 56px;
	background-image: url(./images/budge_point.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
 
.checkList li {
	position: relative;
	padding-left: 1.357em;
	margin-bottom: var(--space-xs);
	font-size: var(--font-sm);
	font-weight: 700;
	line-height: 1.5;
}

.checkList li::before {
	content: "";
	display: block;
	width: 0.929em;
	height: 1.5em;
	background-image: url(./images/icon_check.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 0;
}

.recruitArticle_contents_data {
	margin-top: var(--space-sm);
}

.dataLabel {
	display: flex;
	border: solid 1px var(--color-primary);
	border-radius: 4px;
}

.dataLabel + .dataLabel {
	margin-top: var(--space-sm);
}

.dataLabel dt {
	color: #FFF;
	font-size: var(--font-xs);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.033em;
	width: 6em;
	padding: 0.833em;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	/* align-self: stretch; */
	background-color: var(--color-primary);
}

.dataLabel dt::before {
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	background-image: url(./images/icon_salary.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.dataLabel-license dt::before {
	background-image: url(./images/icon_license.svg);
}

.dataLabel-salary dt::before {
	background-image: url(./images/icon_salary.svg);
}

.dataLabel-time dt::before {
	background-image: url(./images/icon_time.svg);
}

.dataLabel-place dt::before {
	background-image: url(./images/icon_place.svg);
}

.dataLabel dd {
	font-size: var(--font-sm);
	line-height: 1.4;
	letter-spacing: 0.036em;
	padding: 0.714em;
	flex: 1;
}

.photoGallery {

}

.photoGallery_img {
    position: relative;
	border-radius: 4px;
	overflow: hidden;
}

.photoGallery_img::before {
	content: "";
	display: block;
	padding-top: 70%;
}

.photoGallery_img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.swiper {
    padding-bottom: 30px;
}

.swiper-pagination-bullet-active {
    background: var(--color-primary);
}

.swiper-button-next, .swiper-button-prev {
    color: var(--color-primary);
}

.swiper-button-next::after, .swiper-button-prev::after {
    font-size: 32px;
}

/* recruitArticle_contents_bodyを210pxに制限して、overflowをhiddenにすることで、内容が長すぎる場合にスクロールバーを表示せずに見切れるようにしています。「もっと見る」ボタンを追加して、クリックすると内容全体が表示されるようにしてください。CSSのみで実現してください。 */

.recruitArticle_ttl {
	font-size: var(--font-lg);
	line-height: var(--lh-lg);
	font-weight: 700;
	letter-spacing: 0.056em;
	display: flex;
	align-items: center;
	gap: 0.4em;
	margin-top: var(--space-3xl);
	margin-bottom: var(--space-lg);
}

.recruitArticle_ttl::before {
	content: "";
	display: block;
	width: 2.111em;
	height: 2.111em;
	background-image: url(./images/budge_photo.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.recruitArticle_ttl-store::before {
	background-image: url(./images/budge_store.svg);
}

.recruitArticle_ttl-outline::before {
	background-image: url(./images/budge_store.svg);
}

.tbl {
  width: 100%;
  font-size: var(--font-sm);
  line-height: 1.5;
}

.tbl th, .tbl td {
  padding: var(--space-sm);
  display: block;
  width: 100%;
  text-align: left;
  /* border-bottom: solid 1px #F3F2F2;
  border-right: solid 1px #F3F2F2; */
}

/* @media screen and (min-width: 481px) {
  .tbl th, .tbl td {
    display: table-cell;
    width: auto;
  }
} */

.tbl th {
  white-space: nowrap;
  border-top: 1px solid var(--color-primary);
	background: var(--color-primary-light);
}

.tbl ul {
  position: relative;
}

.tbl ul li {
  position: relative;
  padding-left: 1.25em;
}

.tbl ul li::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #716F6F;
  position: absolute;
  top: 0.57143em;
  left: 0.5em;
}

.recruitArticle_entry {
	position: relative;
	background-color: #FFF5F1;
	border-top: 1px solid var(--color-primary);
	padding: var(--space-3xl) var(--space-lg);
	margin-top: var(--space-3xl);
}

.recruitArticle_entry::before {
	content: "";
	display: block;
	width: 6.063em;
	height: 1.5em;
	background-image: url(./images/ribon_entry.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}

.recruitArticle_entry_ttl {
	font-size: var(--font-xl);
	line-height: var(--lh-xl);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: var(--space-lg);
}

.recruitArticle_entry_btn {
	
}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.444em;
	text-align: center;
	font-size: var(--font-lg);
	line-height: var(--lh-lg);
	font-weight: 700;
	letter-spacing: 1px;
	color: #FFF;
	background: var(--color-primary);
	padding: var(--space-md) 0;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4px;
	position: relative;
}

.btn-tel {
	background: #F56960;
	box-shadow: 0 4px 0 0 #c05850;
}

.btn-line {
	background: #06C755;
	box-shadow: 0 4px 0 0 #049641;
}

.btn::before {
	content: "";
	width: 1.5em;
	height: 1.5em;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.btn-tel::before {
	display: block;
	background-image: url(./images/icon_tel.svg);
}

.btn-line::before {
	display: block;
	background-image: url(./images/icon_line.svg);
}

.btn + .btn {
	margin-top: var(--space-sm);
}

.recruitSiteLink {
	margin-top: var(--space-4xl);
}

.recruitSiteLink_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.444em;
	text-align: center;
	line-height: var(--lh-lg);
	/* font-weight: 700; */
	letter-spacing: 1px;
	background: #fff;
	/* box-shadow: 0 4px 0 0 #cccccc; */
	border: solid 1px #cccccc;
	padding: var(--space-sm) 0;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4px;
	position: relative;
	margin-top: var(--space-xs);
}

.recruitSiteLink_btn::before {
	display: block;
	content: "";
	width: 1rem;
	height: 1rem;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.recruitSiteLink_btn-pureloverswork::before {
	display: block;
	background-image: url(./images/favicon_pureloverswork.png);
}

.recruitSiteLink_btn-fuzoku-job::before {
	display: block;
	background-image: url(./images/favicon_fuzoku-job109.png);
}

.recruitSiteLink_btn-girlsheaven::before {
	display: block;
	background-image: url(./images/favicon_girlsheaven.png);
}

.hukidahi {
	display: flex;
	font-size: var(--font-lg);
	justify-content: center;
	align-items: center;
	gap: 0.889em;
}

.hukidahi::before, .hukidahi::after {
	content: "";
	display: block;
	width: 0.778em;
	height: 1.333em;
	background-image: url(./images/hukidashi.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.hukidahi::after {
	transform: scaleX(-1);
}