@charset "UTF-8";

/*
* app用 base.css
*
*/


/*
* 共通項目
*/
html {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 14px;
}
body {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
	color: #333333;
	font-size: 14px;
  line-height: 2;
	overflow-x: hidden;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	color: inherit;
	text-decoration: none;
	opacity: 0.6;
}
ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.b { font-weight: 700; }
.c {
	text-align: center !important;
	justify-content: center !important;
}
.l { text-align: left; }
.r { text-align: right; }
.lineLeft { border-left: #DDDDDD 2px solid !important; }
/* Bootstrap再構築 */
.col-five {
  width: 20%;
  float: left;
}
/* フォント色 */
.cfGreen {
	color: #0E9B94 !important; /* 38D430 */
}
.cfDeep {
	color: #14800f !important;
}
.cfWhite {
	color: #FFFFFF !important;
}
/* 背景色 */
.cbGreen {
	background-color: #0E9B94 !important;
}
.cbDeep {
	background-color: #14800f !important;
}
.cbLight {
	background-color: #dffcc9 !important;
}


/*
* レイアウト
*/
.pc { display: none; }
.sp { display: block; }

#contentWrap {
	width: 100%;
	margin: 0;
	padding: 0;
}
.primaryWrap {
	position: static;
	width: 100%;
	max-width: 960px;
	height: auto;
	/* min-height: calc(100vh - 70px); */
	margin: 0;
	padding: 90px 0 0 0;
	z-index: 50000;
}
.primaryWrap.noHeader {
	padding-top: 50px;
}
.primaryWrap.iconFT {
	padding-bottom: 70px;
}
.scrollStop {
  overflow: hidden;
}
.inner {
	position: static;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}


/*
* commonStyle
*/
.commonStyle h3.title {
	margin: 0 0 2rem 0;
	padding: 0;
	text-align: center;
	color: #FD7B22;
	font-size: 1.9rem;
	font-weight: 800;
}
.commonStyle p.note {
	margin: 0 0 2rem 0;
	padding: 0;
	font-size: 1.4rem;
	line-height: 1.5;
}
.commonStyle .errText {
	margin: 0 0 2rem 0;
	padding: 1rem;
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.5;
	background-color: #FF0000;
	border-radius: 1rem;
}


/*
* loader
*/
#pageloading-wrap {
  position: fixed;
  top: 0;
  left: 0;
  display: table;
  width: 100%;
  height: 100%;
  text-align: center;
	background-color: #0E9B94;
  z-index: 99999;
}
#pageloading-icon {
  display: table-cell;
  vertical-align: middle;
}



/*
* ポータルヘッダー
*/
#portalHD {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 90px;
	margin: 0;
	padding: 0 20px;
	background-color: #FFFFFF;
	z-index: 80000;
}
/* ロゴ */
#portalHD h1.logo {
	width: 200px;
	height: auto;
	margin: 0;
}
#portalHD h1.logo img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
/* デモ */
#portalHD p.demo {
	position: absolute;
	top: 5px;
	left: 20px;
	transform: rotate(0deg);
	margin: 0;
	padding: 0;
	color: #CC0000;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	pointer-events: none;
}
/* ボタン */
#portalHD .button {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0 -5px;
	padding: 0;
}
#portalHD .button a.text {
	margin: 0 5px;
	padding: 10px 20px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	border-radius: 5px;
}


/*
* 開閉メニュー
*/
#drawerMenu {
	position: fixed;
	top: 0;
	right: 0;
	transform: translateX(100%);
	display: block;
	align-items: center;
	width: 220px;
	max-width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	overflow: scroll;
	-webkit-overflow-scrolling: auto;
	z-index: 99900;
}
#drawerMenu.open {
	transition:ease .3s;
	transform: none;
}
/* ヘッダー */
#drawerMenu .head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 30px 20px;
}
#drawerMenu .head .name {
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
}
#drawerMenu .head .btnMenuClose {
	width: 30px;
	margin: 0;
	padding: 0;
}
/* リンク */
#drawerMenu ul {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
#drawerMenu li {
	position: relative;
	margin: 0 0 -1px 0;
	padding: 0;
	border-top: #FFFFFF 1px solid;
	border-bottom: #FFFFFF 1px solid;
}
#drawerMenu li a {
	display: block;
	margin: 0;
	padding: 15px 20px 15px 10px;
	text-align: right;
	font-size: 14px;
	font-weight: 600;
}


/*
* フッター ポータル
*/
footer#portalFT {
	margin: 0;
	padding: 0;
}
/* ロゴ */
footer#portalFT .logo {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 20px 0;
	padding: 0;
}
footer#portalFT .logo img {
	width: 30vw;
	max-width: 300px;
	margin: 0;
	padding: 0;
}
/* サイトマップ */
footer#portalFT .sitemap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 20px;
	color: #FFFFFF;
}
footer#portalFT .sitemap li {
	margin: 0;
	padding: 0;
	font-size: 12px;
}
footer#portalFT .sitemap li::after {
	content: "|";
	padding: 0 10px;
}
footer#portalFT .sitemap li:last-child::after {
	content: "";
	padding: 0;
}
/* コピーライト */
footer#portalFT .copyright {
	margin: 0;
	padding: 10px 0;
	text-align: center;
	font-size: 12px;
	background-color: #FFFFFF;
}


/*
* フッター アイコン
*/
footer#iconFT {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 70px;
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
	border-top: #EAEAEA 1px solid;
	z-index: 80000;
}
footer#iconFT ul {
	display: flex;
	align-items: stretch;
	justify-content: space-around;
	width: 100%;
	height: 70px;
	margin: 0;
	padding: 0;
	list-style: none;
}
footer#iconFT li {
	position: relative;
	flex: 1;
	margin: 0;
	padding: 0;
}
footer#iconFT li img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
footer#iconFT li p.counter {
	position: absolute;
	top: 5px;
	left: calc(50% + 5px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 10px;
	line-height: 100%;
	background-color: #FF0000;
	border-radius: 1000px;
}
footer#iconFT li span {
	display: block;
	opacity: 0.3;
}



/*
* サイドバー
*/
#sidebar {

}





/*
* エラー・見出し
*/
#errText {
	margin: 20px 0px;
	padding: 20px;
	color: #CC0000;
	font-size: 1.4rem;
	border: #CC0000 1px solid;
}
#infoText {
	margin: 20px 0px;
	padding: 20px;
	color: #000000;
	font-size: 1.4rem;
	border: #CCCCCC 1px solid;
}


/*
* ページヘッダー
*/
h2.pageHeader {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 600;
	background-color: #0E9B94;
	z-index: 80000;
}
h2.pageHeader a {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	width: 10px;
	height: 20px;
	background-image: url(../../img/arrowLeftWhite01.svg);
	background-size: cover;
	z-index: 80001;
}
h3.pageTitle {
	margin: 0 0 20px 0;
	padding: 10px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 600;
}
p.pageText {
	margin: 0 0 20px 0;
	padding: 0 20px;
	text-align: justify;
	font-size: 14px;
	font-weight: 300;
}


/*
* 共通
*/
#commPageTitle {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}
#commPageTitle h2 {
	margin: 0 0 40px 0;
	padding: 20px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 600;
	background-color: #0E9B94;
}


/*
* タブ
*/
#tab {
	margin: 2rem 0;
	padding: 0;
}


/*
* 基本table - リスト
*/
#baseList {
	width: 100%;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}
#baseList thead.fixed {
	position: fixed;
}
#baseList thead th {
	position: -webkit-sticky;
  position: sticky;
  top: 0;
	z-index: 1;
	background-color: #FFFFFF;
}
#baseList th:nth-child(1),
#baseList th:nth-child(2) {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
	z-index: 1;
	background-color: #FFFFFF;
}
#baseList thead th:nth-child(1){
	background-color: #FFFFFF;
  z-index: 3;
}
#baseList thead th:nth-child(2) {
	background-color: #FFFFFF;
  z-index: 2;
}
#baseList tr:nth-child(2n) th,
#baseList tr:nth-child(2n) td {
	background-color: #F6F6F6;
}
#baseList .wrapped {
	white-space: normal !important;
	min-width: 35vw !important;
}


/*
* 基本table - 編集
*/
.section {
	margin-bottom: 2rem;
}

#baseEdit {
	width: 100%;
	margin: -15px 0px 0px 0px;
	padding: 0px;
	border-collapse: separate;
	border-spacing: 2px 15px;
}

#baseEdit th {
	width: 20%;
	margin: 0px;
	padding: 8px 10px 6px 10px;
	vertical-align: middle;
	color: #FFFFFF;
	background-color: #333333;
	border-bottom: #000000 1px solid;
	border-radius: 5px 0px 0px 5px;
}

#baseEdit th[scope='col'] {
	margin: 0px;
	padding: 8px 10px 6px 6px;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: bold;
	color: #000000;
	background-color: #FFFFFF;
	border-bottom: #000000 1px solid;
	border-left: #000000 5px solid;
	border-radius: 0px;
}

#baseEdit td {
	margin: 0px;
	padding: 0px 5px;
}

#baseEdit td span,
#baseEdit td a {
	display: inline-block;
	margin: 0px;
	padding: 10px 10px 8px 10px;
}

#baseEdit td hr {
	height: 1px;
	border: none;
	border-top: #CCCCCC 1px dotted;
}


/*
* 基本form - 編集
*/
.baseForm ul.normal {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 16px;
}
.baseForm input[type='text'],
.baseForm input[type='number'],
.baseForm input[type='tel'],
.baseForm input[type='email'],
.baseForm input[type='password'],
.baseForm input[type='checkbox'],
.baseForm select,
.baseForm textarea {
	margin: 0;
	padding: 8px;
	font-size: 16px;
	line-height: 1.6;
	background-color: #FFFFFF;
	border: none;
	border: #B1B1B1 2px solid;
	border-radius: 6px;
}
.baseForm ::placeholder { color: #A5A5A5; }
.baseForm label {
	display: block;
	margin: 0;
	padding: 0 0 0.6rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 140%;
}
.baseForm input:focus,
.baseForm select:focus {
	outline: 0;
	box-shadow: 0 0 0 0.2rem #0E9B94 inset;
}
/* ノーマル */
.baseForm ul.normal {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.baseForm ul.normal li {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 20px 0;
	padding: 0;
}
.baseForm ul.normal li.column {
	flex-direction: column;
}
.baseForm ul.normal li:last-child {
	margin: 0;
}
.baseForm ul.normal div {
	margin: 0 10px 0 0;
}
.baseForm ul.normal div:last-child {
	margin: 0;
}
.baseForm ul.normal h4 {
	margin: 0 0 5px 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
}
/* radio 通常 */
.baseForm ul.radioNormal {
	display: flex;
	align-items: center;
	justify-content: center;
}
.baseForm ul.radioNormal li {
	margin: 0 0 20px 0;
	padding: 0;
}
.baseForm ul.radioNormal label {
	width: auto;
	margin: 0;
  padding: 20px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 25px;
	font-weight: 600;
	background-color: #0E9B94;
	border: #0E9B94 3px solid;
  border-radius: 10px;
	cursor: pointer;
}
.baseForm ul.radioNormal input { display: none; }
.baseForm ul.radioNormal input[type='radio']:not(:checked) + label {
	color: #0E9B94;
	background-color: #FFFFFF;
}
/* radio 大 */
.baseForm ul.radioBig {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.baseForm ul.radioBig li {
	margin: 0 0 20px 0;
	padding: 0;
}
.baseForm ul.radioBig label {
	width: 100%;
	margin: 0;
  padding: 30px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 25px;
	font-weight: 600;
	background-color: #0E9B94;
	border: #0E9B94 3px solid;
  border-radius: 10px;
	cursor: pointer;
}
.baseForm ul.radioBig input { display: none; }
.baseForm ul.radioBig input[type='radio']:not(:checked) + label {
	color: #0E9B94;
	background-color: #FFFFFF;
}
/* radio 小 */
.baseForm ul.radioSmall {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.baseForm ul.radioSmall li {
	display: flex;
	margin: 0 0 20px 0;
	padding: 0;
}
.baseForm ul.radioSmall label {
	flex: 1;
	margin: 0 10px;
  padding: 10px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 600;
	background-color: #0E9B94;
	border: #0E9B94 3px solid;
  border-radius: 10px;
	cursor: pointer;
}
.baseForm ul.radioSmall input { display: none; }
.baseForm ul.radioSmall input[type='radio']:not(:checked) + label {
	color: #0E9B94;
	background-color: #FFFFFF;
}
/* checkbox大 */
.baseForm ul.checkboxBig {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 -5px;
}
.baseForm ul.checkboxBig li {
	width: calc(33.3% - 10px);
	margin: 0 5px 10px 5px;
	padding: 0;
}
.baseForm ul.checkboxBig label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	margin: 0;
  padding: 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	background-color: #0E9B94;
	border: #0E9B94 1px solid;
  border-radius: 5px;
	cursor: pointer;
}
.baseForm ul.checkboxBig input { display: none; }
.baseForm ul.checkboxBig input[type='checkbox']:not(:checked) + label {
	color: #0E9B94;
	background-color: #FFFFFF;
}
/* checkbox小 */
.baseForm ul.checkboxSm {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0;
}
.baseForm ul.checkboxSm li {
	min-width: calc(20% - 10px);
	margin: 0 5px 15px 5px;
	padding: 0;
}
.baseForm ul.checkboxSm input { display: none; }
.baseForm ul.checkboxSm label {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 5px 0 25px;
	font-size: 16px;
	font-weight: 300;
  cursor: pointer;
  user-select: none;
  transition: background-color .1s, box-shadow .1s;
}
.baseForm ul.checkboxSm label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
	-webkit-transform: translateY(-50%);
  width: 20px;
	height: 20px;
	background-color: #FFFFFF;
	border: #707070 1px solid;
  border-radius: 5px;
  transition: background-color .1s;
}
.baseForm ul.checkboxSm label::after {
	content: '';
  display: block;
	position: absolute;
  top: calc(50% - 2px);
	left: 5px;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 14px;
  border-right: 4px solid #FFFFFF;
  border-bottom: 4px solid #FFFFFF;
  opacity: 0;
}
.baseForm ul.checkboxSm input:checked + label::after {
  opacity: 1;
}
.baseForm ul.checkboxSm input:checked + label::before {
  background-color: #34D330;
}
/* checkbox Single */
.baseForm ul.checkSingle li div {
	display: flex;
	align-items: center;
}
.baseForm ul.checkSingle input {
  position: absolute;
  left: -9999px;
}
.baseForm ul.checkSingle label {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 0 0 35px;
	font-size: 22px;
	font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: background-color .1s, box-shadow .1s;
}
.baseForm ul.checkSingle label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
	-webkit-transform: translateY(-50%);
  width: 25px;
	height: 25px;
  background-color: #FFFFFF;
	border: #B1B1B1 3px solid;
  border-radius: 5px;
  transition: background-color .1s;
}
.baseForm ul.checkSingle label::after {
	content: '';
  display: block;
	position: absolute;
  top: calc(50% - 2px);
	left: 8px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 15px;
  border-right: 4px solid #000000;
  border-bottom: 4px solid #000000;
  opacity: 0;
}
.baseForm ul.checkSingle input:checked + label::after {
  opacity: 1;
}



/*
* 基本ボタン
*/
.baseButton {
	display: flex;
	flex-direction: column;
	margin: 0 -10px;
	padding: 0;
}
.baseButton.mini {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin: 0;
}
.baseButton .buttonGreen {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
	padding: 30px 0;
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 600;
	background-color: #0E9B94;
	border: #0E9B94 3px solid;
	border-radius: 10px;
}
.baseButton .buttonGrBorder {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
	padding: 30px 0;
	color: #0E9B94;
	font-size: 20px;
	font-weight: 600;
	background-color: #FFFFFF;
	border: #0E9B94 3px solid;
	border-radius: 10px;
}
.baseButton .buttonWhite {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
	padding: 30px 0;
	color: #0E9B94;
	font-size: 20px;
	font-weight: 600;
	background-color: #FFFFFF;
	border: #FFFFFF 3px solid;
	border-radius: 10px;
}
.baseButton .arrowWhite::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 10px;
	height: 20px;
	background-image: url(../../img/arrowRightWhite01.svg);
	background-size: cover;
}
.baseButton.mini .but {
	flex: 1;
	padding: 5px 0;
	font-size: 16px;
}



/*
* 求人一覧
*/
.recruitList {
	margin: 0;
	padding: 0;
}
.recruitList ul {
	margin: 0;
	padding: 0 10px;
}
.recruitList li {
	margin: 0;
	padding: 0;
}
.recruitList .cell {
	display: flex;
	margin: 0;
	padding: 10px;
	border-bottom: #B1B1B1 1px solid;
}
/* 画像 */
.recruitList .pict {
	width: 150px;
	height: 150px;
	margin: 0;
	padding: 0;
}
.recruitList .pict img {
	object-fit: cover;
  width: 100%;
  height: 100%;
}
/* テキスト */
.recruitList .text {
	flex: 1;
	margin: 0 0 0 20px;
	padding: 0;
}
/* タイトル */
.recruitList h3.subject {
	width: 100%;
	margin: 0 0 5px 0;
	padding: 0 0 5px 0;
	color: #000000;
	font-size: 16px;
	font-weight: 600;
	border-bottom: #B1B1B1 1px solid;
}
/* 募集項目 */
.recruitList .occupation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin: -2px -2px 5px -2px;
	padding: 0;
}
.recruitList .occupation span {
	display: inline-block;
	margin: 2px;
	padding: 5px 5px;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	background-color: #0E9B94;
}
/* メッセージ */
.recruitList .message {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
}
/* データなし */
.recruitList .noData {
	width: 100%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}



/*
* ページネーション
*/
#pager {
	margin: 40px 0;
	padding: 0;
	font-size: 16px;
	text-align: center;
	line-height: 100%;
}
#pager .button {
	display: inline-block;
	margin: 0;
	padding: 5px 10px;
	color: #14800f;
	font-weight: 700;
	text-decoration: none;
	background-color: #FFFFFF;
	border: #0E9B94 1px solid;
	border-radius: 5px;
}
#pager span.button {
	opacity: 0.5;
}
#pager .prev {
	margin: 0 5px 0 0;
}
#pager .next {
	margin: 0 0 0 0.5rem;
}
#pager .page {
	display: inline-block;
	margin: 0 5px;
	padding: 5px 10px;
	text-decoration: none;
	border: #0E9B94 1px solid;
	border-radius: 0.5rem;
}
#pager a.page {
	color: #14800f;
	background-color: #FFFFFF;
}
#pager span.page {
	color: #FFFFFF;
	background-color: #0E9B94;
}


/*
* 枠あり説明文
*/
.explainFrame {
	width: calc(100vw - 40px);
	margin: 20px auto 0 auto !important;
	padding: 10px !important;
	font-size: 14px;
	line-height: 1.4;
	background-color: #F1F1F1;
	border-radius: 5px;
}


/*
* モーダルスタイル
*/
.modalStyle {
	position: fixed;
	top: 110px;
	left: 50%;
	transform: translateX(-50%);
	display: none;
	width: 90vw;
	max-width: 960px;
	height: auto;
	max-height: calc(100vh - 130px);
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
	border-radius: 0;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.2);
	overflow-y: hidden;
	z-index: 99000;
}
.modalStyle.modal {
	overflow-y: hidden;
}
.modalStyle .modal-dialog {
	width: 100%;
	max-width: none;
	height: auto;
	max-height: calc(100vh - 200px);
	margin: 0;
	padding: 0;
	border: 0;
	overflow-y: hidden;
}
.modalStyle .modal-content {
	width: 100%;
	height: auto;
	max-height: calc(100vh - 200px);
	margin: 0;
	padding: 0;
	border: 0;
	overflow-y: hidden;
}
.modalStyle .contentWrap {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	overflow-y: scroll;
}
.modalStyle h3.title {
	margin: 0 0 20px 0;
	padding: 0;
	font-size: 20px;
	font-weight: 600;
}
.modalStyle p.note {
	margin: 0 0 20px 0;
	padding: 0;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
}
#blind {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.5);
	z-index: 98999;
}


/*
* 絞り込み検索（ID）
*/
#modalSearch {
	border-radius: 0;
}
/* モーダルヘッダー */
#modalSearch .headerWrap {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
	width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
	z-index: 99900;
}
#modalSearch .headerWrap h3.title {
  margin: 0;
  padding: 0 20px;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
#modalSearch .headerWrap a.btnClose {
	position: absolute;
	right: 1rem;
	display: block;
  margin: 0;
  padding: 10px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
/* コンテンツ */
#modalSearch .contentWrap {
	padding: 50px 0 0 0;
}
/* ワード検索 */
#modalSearch .searchWord {
	margin: 0 0 20px 0;
	padding: 20px;
	text-align: center;
}
#modalSearch .searchWord input {
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	border: 0;
	border-radius: 9999px;
}
/* 抽出項目 */
#modalSearch .searchList {
	margin: 0 0 70px 0;
}
#modalSearch dl {
	margin: 0;
	padding: 0;
}
#modalSearch dt {
	position: relative;
	margin: 0;
	padding: 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	border-bottom: #707070 1px solid;
	cursor: pointer;
}
#modalSearch dt::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateX(-50%) translateY(-50%);
	width: 10px;
	height: 20px;
	background-image: url(../../img/arrowRightGray01.svg);
	background-size: contain;
	transition: 0.5s;
}
#modalSearch dt[aria-expanded="true"]::after {
	top: calc(50% - 5px);
	right: 30px;
	transform-origin: center center;
	transform: rotate(90deg);
}
#modalSearch dd {
	margin: 0;
	padding: 0;
}
#modalSearch dd .cell {
	margin: 0;
	padding: 20px 20px 20px 20px;
}
#modalSearch dd h6 {
	width: 100%;
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 600;
}
/* 地方・都道府県アコーディオン */
#modalSearch .localWrap {

}
/* チェックボックス */
#modalSearch .localWrap input { display: none; }
#modalSearch .localWrap label {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 5px 0 25px;
	font-size: 16px;
	font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: background-color .1s, box-shadow .1s;
}
#modalSearch .localWrap label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
	-webkit-transform: translateY(-50%);
  width: 20px;
	height: 20px;
	background-color: #FFFFFF;
	border: #707070 1px solid;
  border-radius: 5px;
  transition: background-color .1s;
}
#modalSearch .localWrap label::after {
	content: '';
  display: block;
	position: absolute;
  top: calc(50% - 2px);
	left: 5px;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 14px;
  border-right: 4px solid #FFFFFF;
  border-bottom: 4px solid #FFFFFF;
  opacity: 0;
}
#modalSearch .localWrap input:checked + label::after {
  opacity: 1;
}
#modalSearch .localWrap input:checked + label::before {
  background-color: #34D330;
}
/* 地方 */
#modalSearch .localWrap h6 {
	padding: 0 5px 10px 5px;
	font-weight: 600;
	border-bottom: #707070 1px dotted;
}
/* 都道府県 */
#modalSearch ul.prefList {
	display: none;
	flex-direction: column;
	margin: -5px 0 10px 0;
	padding: 0;
}
#modalSearch ul.prefList.active {
	display: flex;
}
#modalSearch ul.prefList li.pref {
	padding: 10px 5px 10px 20px;
	border-bottom: #707070 1px dotted;
}
/* 市区町村 */
#modalSearch .cityWrap {
	margin: -1px 0 10px 0;
}
#modalSearch .cityWrap.hide {
	margin: 0;
}
#modalSearch .cityWrap ul {
	max-height: 200px;
	margin: 0;
	padding: 10px 5px;
	border: #707070 1px solid;
	overflow-y: scroll;
}
#modalSearch .cityWrap li.city {

}
#modalSearch .cityWrap .prefName {
	display: block;
	width: 100%;
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 16px;
  font-weight: 600;
	border-bottom: #B1B1B1 1px solid;
}



/*
#modalSearch ul.prefList li {
	display: block;
	width: 100%;
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 16px;
  font-weight: 600;
	border-bottom: #B1B1B1 1px solid;
}
*/







/* 都道府県 */
#modalSearch .prefWrap {
	margin: 20px 0 0 0;
}
#modalSearch .prefWrap ul {
	max-height: 200px;
	margin: 0;
	padding: 15px 5px 10px 5px;
	border: #B1B1B1 2px solid;
	border-radius: 5px;
	overflow-y: scroll;
}

/* フォーム部品 */
#modalSearch select.formPref {
	width: 100%;
}
/* ボタン */
#modalSearch .baseButton {
	position: fixed;
	bottom: 0;
	width: 100%;
	margin: 0;
	padding: 0 10px;
	background-color: #FFFFFF;
}


/*
* 絞り込み検索（CLASS）
*/
.modalSearch {
	border-radius: 0;
}
/* モーダルヘッダー */
.modalSearch .headerWrap {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
	width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
	z-index: 99900;
}
.modalSearch .headerWrap h3.title {
  margin: 0;
  padding: 0 20px;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
.modalSearch .headerWrap a.btnClose {
	position: absolute;
	right: 1rem;
	display: block;
  margin: 0;
  padding: 10px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
/* コンテンツ */
.modalSearch .contentWrap {
	padding: 50px 0 0 0;
}
/* ワード検索 */
.modalSearch .searchWord {
	margin: 0;
	padding: 20px;
	text-align: center;
}
.modalSearch .searchWord input {
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	border: 0;
	border-radius: 9999px;
}


/*
* 検索履歴
*/
#modalHistory {
	border-radius: 0;
}
/* モーダルヘッダー */
#modalHistory .headerWrap {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
	width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
	z-index: 99900;
}
#modalHistory .headerWrap h3.title {
  margin: 0;
  padding: 0 20px;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
#modalHistory .headerWrap a.btnClose {
	position: absolute;
	right: 1rem;
	display: block;
  margin: 0;
  padding: 10px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
/* コンテンツ */
#modalHistory .contentWrap {
	padding: 50px 0 0 0;
}
#modalHistory ul.log {
	margin: 0;
	padding: 0;
}
#modalHistory ul.log li {
	position: relative;
	margin: 0;
	padding: 20px 40px 20px 20px;
	line-height: 1.2;
	background-color: #FFFFFF;
	border: #EAEAEA 1px solid;
}
#modalHistory ul.log li::after {
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	color: #0E9B94;
	font-size: 20px;
	font-weight: 900;

}
#modalHistory ul.log dl {
	display: flex;
	align-items: stretch;
	margin: 3px 0;
	padding: 0;
}
#modalHistory ul.log dt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5em;
	margin: 0 5px 0 0;
	padding: 2px 0;
	background-color: #EEEEEE;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 300;
	line-height: 1;
}
#modalHistory ul.log dd {
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 300;
}
#modalHistory ul.log dd span {
	display: inline-block;
	margin: 0 2px;
}


/* ボタン */
#modalHistory .baseButton {
	margin: 0;
	padding: 10px 10px 10px 10px;
}











/*
*
* PC用
*
*/
@media screen and (min-width:960px) {



	/*
	* レイアウト
	*/
	.pc { display: block !important; }
	.sp { display: none !important; }


	#contentWrap {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.primaryWrap {
		position: static;
		width: 100%;
		max-width: 960px;
		height: auto;
		min-height: inherit;
		margin: 0 auto;
		padding: 90px 0 0 0;
		z-index: 50000;
	}
	.primaryWrap.noHeader {
		padding-top: 50px;
	}
	.primaryWrap.iconFT {
		padding-bottom: 70px;
	}
	.scrollStop {
	  overflow: hidden;
	}



	/*
	* 基本form - 編集
	*/
	.baseForm ul.checkboxBig label {
		font-size: 14px;
	}



}
