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

    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; }

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

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", "?焜S?V?b?N", "YuGothic", "Yu Gothic", "???C???I",
               "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);
}


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

.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(https://itest.rec5ch.net/works/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;
}

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

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

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

/* ==========================
    求人一覧
========================== */
.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(https://itest.rec5ch.net/works/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;
}

.feed_list_wrap {
  position: relative;
}

.feed_list_wrap .feed_list {
  max-height: 460px;
  overflow: hidden;
  transition: max-height 0.45s ease;
}

.feed_more_toggle {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.feed_more_label {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  text-align: center;
  cursor: pointer;
  color: #333;
  background: linear-gradient(to top, rgba(255,255,255,1) 10% , rgba(255,255,255,0) 100%);
  padding: 60px 0 20px;
  font-weight: 600;
  transition: opacity 0.2s ease;
}

.feed_more_label::before {
	content: "もっと見る";
	display: inline-block;
	padding: 1em;
	min-width: 200px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 4px 10px rgba(0, 0, 0, .15);
	border-radius: 100px;
	background: #fff;
}

.feed_more_toggle:checked + .feed_list {
  max-height: 5000px;
}
.feed_more_toggle:checked~.feed_more_label {
  display: none;
}

.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(https://itest.rec5ch.net/works/images/icon_store.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.storeMeta_info_item-area::before {
	background-image: url(https://itest.rec5ch.net/works/images/icon_train.svg);
}

.storeMeta_info_item-name::before {
	background-image: url(https://itest.rec5ch.net/works/images/icon_store.svg);
}

.storeMeta_info_item-category::before {
	background-image: url(https://itest.rec5ch.net/works/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(https://itest.rec5ch.net/works/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 a {
	position: relative;
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.entry_img a::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(https://itest.rec5ch.net/works/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(https://itest.rec5ch.net/works/images/icon_link.svg);
}

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

.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;
}

.entry-ad {
	display: block;
	padding: var(--space-2xs);
}

.entry-ad_inner {
	display: flex;
	flex-wrap: nowrap;
	gap: calc(var(--space-xs) - 2px);
	align-items: flex-start;
}

.entry-ad .storeMeta_name {
	font-size: var(--font-xs);
}
@media (min-width: 768px) {
	.entry-ad .storeMeta_name {
		font-size: var(--font-md);
	}
}

.entry-ad .storeMeta_info_item {
	font-size: calc(var(--font-xs) - 2px);
}
@media (min-width: 768px) {
	.entry-ad .storeMeta_info_item {
		font-size: var(--font-md);
	}
}

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

.entry-ad .entry_img {
	flex: 1;
	width: 50%;
	padding: 0;
	margin: 0;
}

.entry-ad .entry_body{
	flex: 1;
	width: 50%;
	padding: 0;
	margin: 0;
}

.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);
}
 
.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(https://itest.rec5ch.net/works/images/icon_check.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 0;
}

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

.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;
}
