@charset "UTF-8";

/*
100 => 'エンジニア',
200 => 'システム管理者',
300 => 'セクション管理者',
400 => 'スタッフ',
900 => '廃止'
*/

/*
* 共通項目
*/
* {
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
}
html, body {
	font-family:'メイリオ', 'Meiryo', sans-serif;
	height: 100%;
	margin: 0px !important;
	color: #707070;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.6;
	overflow-x: hidden;
}
a {
	color: #000000;
	text-decoration: none;
}
a:hover { opacity: 0.6; }
.hover:hover { opacity: 0.6; }
ul, li { list-style: none; }

input::placeholder { color: #CCCCCC !important; }
input:-ms-input-placeholder { color: #CCCCCC !important; }
input::-ms-input-placeholder { color: #CCCCCC !important; }

.none { display: none; }
.pc { display: none !important; }
.sp { display: flex !important; }
.fixed { position: fixed; }
.scrollStop {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow-y: scroll;
}


/*
* 標準スタイル
*/
.c { text-align: center; }
.l { text-align: left; }
.r { text-align: right; }
.fNotoSans {
	font-family: 'Noto Sans JP', sans-serif !important;
}


/*
* レイアウト
*/
#pageWrap {
	display: flex;
	width: 100vw;
  min-height: 100%;
	margin: 0;
	padding: 40px 0 60px 0;
}
#pageWrap.heightFull {
	height: 100%;
	padding-bottom: 0;
}
#pageWrap.bcGray {
	background-color: #F0F0F0;
}
.contentWrap {
  width: 100%;
  max-width: 980px;
	margin: 0 auto;
	padding: 20px 0 0 0;
	text-align: justify;
	z-index: 1050;
}
.inner {
	width: calc(100% - 40px);
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
}
@media screen and (min-width:993px){
  .inner {
    width: calc(100% - 0px);
  }
}


/*
* ヘッダー ロゴ
*/
#appHead {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 40px;
	background-color: #FFFFFF;
	border-bottom: #F7F7F7 1px solid;
	z-index: 90000;
}
#appHead.noLogo {
	display: none;
}
#appHead.bcGray {
	background-color: #F0F0F0;
}
#appHead a.logo {
	display: flex;
	align-items: center;
	justify-content: center;
}
#appHead a.logo img {
	width: auto;
	max-width: 70%;
	height: 30px;
	margin: 0;
	padding: 0;
}


/*
* ヘッダー ページ
*/
#pageHead {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 40px;
	background-color: #FFFFFF;
	border-bottom: #F7F7F7 1px solid;
	z-index: 90000;
}
#pageHead.bcGray {
	background-color: #F0F0F0;
}
#pageHead p {
  margin: 0;
  padding: 3px 0 0 0;
  color: #333333;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
}
#pageHead a.return {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
  margin: 0;
  padding: 0;
}
#pageHead a.return img {
  display: block;
	width: 11px;
	margin: 0;
	padding: 0;
}



/*
* フッター fixメニュー
*/
#fixMenu {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 60px;
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
	border-top: #CCCCCC 1px solid;
	z-index: 99000;
}
#fixMenu ul {
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
#fixMenu li {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
}
#fixMenu li a {
	display: block;
	margin: 0;
	padding: 0;
}
#fixMenu li img {
	display: block;
	object-fit: contain;
	width: auto;
	height: 40px;
}


/*
* SPトグルメニュー
*/
#drawerMenu {
	position: fixed;
	top: 40px;
	left: 0;
	transform: translateY(100vh);
	transition:ease .3s;
	display: block;
	width: 100vw;
	height: calc(100vh - 100px);
	margin: 0;
	padding: 0;
	overflow: scroll;
	background-color: rgba(0,0,0 ,0.9);
	z-index: 85000;
}
#drawerMenu.open {
	transform: none;
}
#drawerMenu .wrap {
  display: block;
	margin: 0;
	padding: 0;
}
#drawerMenu ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 20px;
}
#drawerMenu li {
	width: 100%;
	margin: 0 0 -1px 0;
	padding: 0;
	border-top: #999999 1px solid;
	border-bottom: #999999 1px solid;
}
#drawerMenu li a {
	display: block;
	margin: 0;
	padding: 20px;
	color: #FFFFFF;
}


/*
* 基本article
*/
article {
  width: 100%;
	margin: 0 auto 40px auto;
	padding: 0;
}
/* artタイトル */
article h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	margin: 0 0 20px 0;
	padding: 5px;
	color: #333333;
	font-size: 19px;
	font-weight: 600;
	background-color: #F0F0F0;
}
article h3.bcWhite {
  background-color: #FFFFFF;
}
article h3 img.icon {
	object-fit: contain;
	width: auto;
	height: 21px;
}


/*
* 基本フォーム
*/
/*
* フォームレイアウト
*/
.baseForm .formItems {
  margin: 0 0 40px 0;
  padding: 0;
}
/* 1カラム */
.baseForm ul.colOne {
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}
.baseForm ul.colOne li {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 0 20px 0;
  padding: 0;
}
/* 見出し */
.baseForm h5 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 5px 0;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  border-radius: 0;
}
/* wrap */
.baseForm .wrap {
  display: flex;
  align-items: center;
  flex: 1;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
/* 必須 */
.baseForm .require {
  display: inline-block;
  margin: 0 0 0 0.5em;
  padding: 0.1em 0.2em 0.2em 0.2em;
  color: #FF0000;
  line-height: 1;
  border-radius: 3px;
  background-color: #FFFFFF;
}
/* span */
.baseForm .wrap span {
  font-size: 14px;
  margin: 0 5px;
}
/* 補足 */
.baseForm p.note {
  font-size: 14px;
  margin: 0;
  padding: 5px 0;
}
/* input */
.baseForm input[type='text'],
.baseForm input[type='number'],
.baseForm input[type='tel'],
.baseForm input[type='email'],
.baseForm input[type='password'],
.baseForm textarea {
	width: 100%;
  margin: 0 auto;
  padding: 10px;
  font-size: 16px;
  background-color: #F0F0F0;
	border: none;
  border-radius: 5px;
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.1) inset;
}
/* select */
.baseForm select {
	width: 100%;
  margin: 0 auto;
  padding: 10px;
  font-size: 16px;
  background-color: #FFFFFF;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	border: #F0F0F0 1px solid;
  border-radius: 5px;
	box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.1);
}
.baseForm .selectArrow {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.baseForm .selectArrow::after {
  content: "";
  position:absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  display: block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #5F5F5F;
  pointer-events: none;
}
/* checkItem */
.baseForm .checkItem label {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 5px 20px;
  text-align: center;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  background-color: #094DB0;
  border: #094DB0 1px solid;
  border-radius: 9999px;
  cursor: pointer;
}
.baseForm .checkItem input { display: none; }
.baseForm .checkItem input[type='checkbox']:not(:checked) + label {
  color: #A5A5A5;
  background-color: #FFFFFF;
  border: #A5A5A5 1px solid;
}
/* checkSingle */
.baseForm .checkSingle {
  display: inline-block;
  padding: 5px 0;
}
.baseForm .checkSingle input {
  position: absolute;
  left: -9999px;
}
.baseForm .checkSingle label {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0 50px 0 30px;
  font-size: 14px;
  font-weight: 500;
  line-height: 120%;
  cursor: pointer;
  user-select: none;
  transition: background-color .1s, box-shadow .1s;
}
.baseForm .checkSingle label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: #FFFFFF;
  border: #E6E6E6 1px solid;
  border-radius: 5px;
  transition: .1s;
}
.baseForm .checkSingle input:checked + label::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 7px;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 8px;
  height: 15px;
  border-right: 3px solid #094DB0;
  border-bottom: 3px solid #094DB0;
  transform: rotate(45deg);
  transition: .1s;
}
/* radio */
.baseForm .radio {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.baseForm .radio input[type='radio'] {
  position: absolute;
  left: -9999px;
}
.baseForm .radio label {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.5em;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background-color .1s, box-shadow .1s;
}
.baseForm .radio label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: #FFFFFF;
  border: #E6E6E6 1px solid;
  border-radius: 5px;
  transition: background-color .1s;
}
.baseForm .radio input[type='radio']:checked + label::before {
  background-color: #094DB0;
}
/* pict */
.baseForm .pict {
  display: flex;
  align-items: center;
  gap: 20px;
}
.baseForm .pict img {
  width: 50%;
  max-width: 200px;
  height: auto;
}
.baseForm .pict.icon img {
  object-fit: cover;
  width: 150px;
  max-width: none;
  height: 150px;
  border-radius: 9999px;
}


/*
* ボタン
*/
.buttonWrap {
	display: flex;
	align-items: center;
	justify-content: center;
  flex-wrap: wrap;
	gap: 10px;
	margin: 0 auto;
	padding: 20px;
}
.buttonWrap .button {
	flex: 1;
  max-width: 360px;
	margin: 0;
	padding: 10px;
  text-align: center;
	color: #FFFFFF;
	font-size: 18px;
	font-size: 600;
	letter-spacing: 0.1em;
	background-color: #000000;
	border: #000000 2px solid;
	border-radius: 9999px;
  cursor: pointer;
}
.buttonWrap .black {
  background-color: #000000;
	border: #000000 2px solid;
}
.buttonWrap .red {
	background-color: #EA2E2E;
	border-color: #EA2E2E;
}
.buttonWrap .return {
  color: #999999;
	background-color: #CCCCCC;
	border-color: #999999;
}


/*
* 処理インフォメーション
*/
#infoText {
  margin: 0 auto 40px auto;
  padding: 40px;
  border: #CCCCCC 1px solid;
  border-radius: 5px;
}


/*
* 基本テーブル
*/
table.baseTable {
  margin: 0 auto;
  padding: 0;
  border-collapse: collapse;
  border: #CCCCCC;
}
table.baseTable thead tr {
  margin: 0;
  background-color: #F0F0F0;
  border-bottom: #CCCCCC 1px solid;
}
table.baseTable thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  margin: 0;
  padding: 10px 5px;
  color: #000000;
  font-weight: 600;
  border-bottom: #CCCCCC;
  z-index: 1;
}
table.baseTable tbody tr {
  border-bottom: #CCCCCC 1px solid;
}
table.baseTable tbody tr:nth-child(2n) {
  background-color: #F7F7F7;
}
table.baseTable tbody td {
  margin: 0;
  padding: 10px 5px;
}
table.baseTable th:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
}
/* 追加ボタン */
.listAddButton {
  display: flex;
  justify-content: flex-end;
  margin: -10px auto 10px auto;
  padding: 0;
}
.listAddButton a {
  width: 100%;
  max-width: 14em;
	margin: 0;
	padding: 5px;
  text-align: center;
	color: #FFFFFF;
	font-size: 14px;
	font-size: 600;
	background-color: #000000;
	border: #000000 2px solid;
	border-radius: 9999px;
  cursor: pointer;
}



/*
* ページネーション
*/
#pager {
	margin: 40px 0;
	padding: 0;
	color: #000000;
	font-size: 16px;
	text-align: center;
	line-height: 100%;
}
#pager .pages {
	display: inline-block;
	margin: 0 0 0 10px;
	padding: 5px 10px;
	background-color: #EEEEEE;
	border-radius: 5px;
}
#pager .prev {
	display: inline-block;
	margin: 0 5px 0 0;
	padding: 5px 10px;
	text-decoration: none;
	border: #CCCCCC 1px solid;
	border-radius: 5px;
}
#pager .next {
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 5px 10px;
	text-decoration: none;
	border: #CCCCCC 1px solid;
	border-radius: 5px;
}
#pager a.page {
	display: inline-block;
	margin: 0 2px;
	padding: 5px 10px;
	text-decoration: none;
	border: #CCCCCC 1px solid;
	border-radius: 5px;
}
#pager span.page {
	display: inline-block;
	margin: 0 2px;
	padding: 5px 10px;
	color: #999999;
	text-decoration: none;
	background-color: #F0F0F0;
	border-radius: 5px;
}



/*
* メニューリスト
*/
ul.menuList {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 5px;
  margin: 0 auto;
  padding: 0;
}
ul.menuList li {
  width: calc(50% - 4px);
  margin: 0;
  padding: 0;
}
ul.menuList li a {
  display: block;
  margin: 0;
  padding: 20px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.1em;
  background-color: #FFFFFF;
}


/*
* HUGリスト
*/
ul.hugList {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0 auto;
  padding: 0;
}
ul.hugList li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
}
ul.hugList .pict {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 25vw;
  margin: 0;
  padding: 0;
}
ul.hugList .pict img.prof {
	object-fit: cover;
	width: 25vw;
	height: 25vw;
  margin: 0 0 5px 0;
  padding: 0;
	border-radius: 9999px;
}
ul.hugList .toName {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
}
ul.hugList .text {
  flex: 1;
  margin: 0;
  padding: 0;
}
ul.hugList .hug {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
}
ul.hugList .body {
  margin: 0 auto 5px auto;
  padding: 10px 15px;
  font-size: 15px;
  background-color: #F0F0F0;
  border-radius: 5px;
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.1) inset;
}
ul.hugList .date {
  margin: 0;
  padding: 0;
  text-align: right;
  font-size: 14px;
}




/* タブ カスタマイズ */
.tabButton {
	margin: 0 0 5vw 0;
}
.tabButton li a {
	padding: 3vw 0;
	color: #555555;
	font-size: 4vw;
}
.tabButton li a.active {
  color: #000000 !important;
  font-weight: bold !important;
  background-color: #F1F1F1 !important;
	opacity: 1 !important;
}

/* 評価フォーム */
.evaluation {
	display: flex;
  flex-direction: row-reverse;
	margin: 2vw 0;
	padding: 2vw 0 4vw 0;
	font-size: 0;
}
.evaluation input[type='radio'] {
  display: none;
}
.evaluation label {
  position: relative;
	display: inline-block;
	width: 20%;
	margin: 0;
  padding: 0;
	text-align: center;
  color: #999999;
	font-size: 10vw !important;
  cursor: pointer;
}
.evaluation label .text {
  position: absolute;
  top: 50%;
  left: 50%;
	margin: 0;
	padding: 1.5vw 0 0 0;
	transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  text-align: center;
  font-size: 3vw;
	line-height: 100%;
  color: #FFFFFF;
}
.evaluation label:hover,
.evaluation label:hover ~ label,
.evaluation input[type='radio']:checked ~ label {
  color: #FF1D25;
}

/* 評価表示 */
ul.score {
  margin: 0;
  padding: 2vw 0;
}
ul.score li {
  margin: 0;
  padding: 1vw 0;
}
ul.score li h5 {
  width: 30%;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 3vw;
	font-weight: bold;
}
ul.score li .star {
  position: relative;
  width: 5em;
  font-size: 4vw;
}
ul.score li .front {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  margin: 0 0 0 2vw;
  padding: 0;
  overflow: hidden;
  color: #FF1D25;
}
ul.score li .back {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  margin: 0 0 0 2vw;
  padding: 0;
  overflow: hidden;
  color: #ccc;
}


/*
* フォームテーブル
*/
dl.formTable {
	margin: 0;
	padding: 0;
	font-size: 3.5vw;
}
dl.formTable dt {
	margin: 1vw 0;
	padding: 1vw 1vw;
	line-height: 150%;
	background: #F1F1F1;
	border-radius: 1vw 1vw 0 0;
}
dl.formTable dt span.required {
	display: inline-block;
	margin: 0 0 0 0.5vw;
	padding: 0 0.5vw;
	vertical-align: top;
	color: #FFFFFF;
	font-size: 2.5vw;
	background: #FF0000;
	border-radius: 0.4vw;
}
dl.formTable dd {
	margin: 1vw 0;
	padding: 1vw;
	line-height: 150%;
}
dl.formTable dd.row label[class^="col-"] {
	padding-left: 0 !important;
}
dl.formTable dd input[type='checkbox'],
dl.formTable dd input[type='radio'] {
	margin: 0 0.5vw 0 0;
}
dl.formTable dd .form-inline {
	padding: 0 0 1vw 0;
}
dl.formTable div.star {
  position: relative;
  width: 5em;
	margin-bottom: 4vw;
  font-size: 4vw;
	line-height: 100%;
}
dl.formTable div.star .front {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #FF1D25;
}
dl.formTable div.star .back {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #ccc;
}


/*
* 抽出条件
*/
#extractWrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
	margin: 0 0 40px 0;
	padding: 20px;
	border: #CCCCCC 1px solid;;
}
#extractWrap ul {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
}
#extractWrap li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}
#extractWrap li h5 {
  width: 6em;
  font-size: 16px;
  font-weight: 500;
}
#extractWrap li .wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
#extractWrap li .checkbox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 5px 20px;
}



/*
* モーダル
*/
.modal {

}
.modal h5.modal-title {
	margin: 0;
	padding: 0;
}
.modal .modal-body {
	margin: 0;
	padding: 1rem;
}
.modal dl {
	margin: 0;
	padding: 0;
}
.modal dt {
	margin: 0 0 0 0;
	padding: 0.5rem;
	background-color: #F1F1F1;
}
.modal dd {
	margin: 0 0 1rem 0;
	padding: 0.5rem;
}
.modal-backdrop.fade {
	z-index: 1050;
}



/*
* ログイン画面
*/
#loginWrap {
	position: absolute;
  top: 30%;
  left: 50%;
  transform: translateY(-30%) translateX(-50%);
  -webkit- transform: translateY(-30%) translateX(-50%);
	margin: 0;
	padding: 0;
}


/*
* ローダー
*/
#loading {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	margin: 0;
	padding: 0;
	z-index: 98001;
}
#loader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #FFF;
	z-index: 98000;
}



/*
* カード画像
*/
.cardPict {
	display: inline-block;
	background-color: #FFFFFF;
	margin: 2%;
	padding: 15% 5%;
	line-height: 100%;
	border-width: 0.8%;
	border-style: solid;
	border-radius: 10%;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.3);
	-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
	transform:rotate(-5deg);
	-moz-transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	-o-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
}













/*
* PC用
*
*/

@media screen and (min-width:993px){



	/*
	* 共通項目
	*/
	html, body {

	}
	.pc { display: block !important; }
  .sp { display: none !important; }


	/*
	* レイアウト
	*/
	#pageWrap {
		padding: 0 0 60px 0;
	}
  .contentWrap {
    width: calc(100% - 40px);
    max-width: none;
  	margin: 0 auto;
  	padding: 60px 0 0 300px;
  }



  /*
  * ヘッダー ロゴ
  */
  #appHead {
  	left: 300px;
  	width: calc(100vw - 300px);
  }
  #appHead.noMenu {
    left: 0;
    width: 100%;
  }


  /*
  * ヘッダー ページ
  */
  #pageHead {
    left: 300px;
  	width: calc(100vw - 300px);
  }


	/*
	* PCサイドバー
	*/
	#sidebar {
    position: fixed;
    top: 0;
    left: 0;
		width: 300px;
		height: calc(100vh - 60px);
		margin: 0;
		padding: 0;
		overflow: scroll;
		background-color: #000000;
		z-index: 85000;
	}
	#sidebar .wrap {
		margin: 0;
		padding: 20px;
	}
	#sidebar ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 0;
		padding: 0;
	}
	#sidebar li {
		width: 100%;
		margin: 0 0 -1px 0;
		padding: 0;
		border-top: #999999 1px solid;
		border-bottom: #999999 1px solid;
	}
	#sidebar li a {
		display: block;
		margin: 0;
		padding: 20px;
		color: #FFFFFF;
	}


	/* タブ カスタマイズ */
	.tabButton {
		margin: 0 0 2rem 0;
	}
	.tabButton li a {
		padding: 1rem 0;
		color: #555555;
		font-size: 1.4rem;
	}
	.tabButton li a.active {
	  color: #000000 !important;
	  font-weight: bold !important;
	  background-color: #F1F1F1 !important;
		opacity: 1 !important;
	}

	/* 評価フォーム */
	.evaluation {
		display: flex;
	  flex-direction: row-reverse;
		margin: 2vw 0;
		padding: 2vw 0 4vw 0;
		font-size: 0;
	}
	.evaluation input[type='radio'] {
	  display: none;
	}
	.evaluation label {
	  position: relative;
		display: inline-block;
		width: 20%;
		margin: 0;
	  padding: 0;
		text-align: center;
	  color: #999999;
	  cursor: pointer;
	  font-size: 10vw;
	}
	.evaluation label .text {
	  position: absolute;
	  top: 50%;
	  left: 50%;
		margin: 0;
		padding: 1.5vw 0 0 0;
		transform: translateY(-50%) translateX(-50%);
	  -webkit- transform: translateY(-50%) translateX(-50%);
	  text-align: center;
	  font-size: 3vw;
		line-height: 100%;
	  color: #FFFFFF;
	}
	.evaluation label:hover,
	.evaluation label:hover ~ label,
	.evaluation input[type='radio']:checked ~ label {
	  color: #FF1D25;
	}

	/* 評価表示 */
	ul.score {
	  margin: 0;
	  padding: 1rem 0;
	}
	ul.score li {
	  margin: 0;
	  padding: 0.5rem 0;
		font-size: 1.6rem;
	}
	ul.score li h5 {
		display: inline-block;
	  width: 20%;
	  margin: 0;
	  padding: 0;
	  text-align: left;
		vertical-align: middle;
		font-size: 1.6rem;
		font-weight: bold;
	}
	ul.score li span {
		display: inline-block;
		margin: 0;
		padding: 0;
		vertical-align: middle;
		font-size: 1.6rem;
		line-height: 120%;
	}
	ul.score li .star {
	  position: relative;
		display: inline-block;
		vertical-align: middle;
		font-size: 1.6rem;
		line-height: 120%;
	}
	ul.score li .front {
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: inline-block;
	  margin: 0 0 0 1rem;
	  padding: 0;
	  overflow: hidden;
	  color: #FF1D25;
	}
	ul.score li .back {
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: inline-block;
	  margin: 0 0 0 1rem;
	  padding: 0;
	  overflow: hidden;
	  color: #ccc;
	}


	/*
	* フォームテーブル
	*/
	dl.formTable {
		margin: 1rem 0;
		padding: 0;
		font-size: 1.2rem;
	}
	dl.formTable dt {
		margin: 0;
		padding: 0.5rem 1rem;
		line-height: 150%;
		background: #F1F1F1;
		border-radius: 0.5rem;
	}
	dl.formTable dt span.required {
		display: inline-block;
		margin: 0 0 0 0.2rem;
		padding: 0 0.2rem;
		vertical-align: top;
		color: #FFFFFF;
		font-size: 0.8rem;
		background: #FF0000;
		border-radius: 0.2rem;
	}
	dl.formTable dd {
		margin: 0;
		padding: 0.5rem 1rem;
		line-height: 150%;
	}
	dl.formTable dd.row label[class^="col-"] {
		padding-left: 0 !important;
	}
	dl.formTable dd input[type='checkbox'],
	dl.formTable dd input[type='radio'] {
		margin: 0 0.5rem 0 0;
	}
	dl.formTable div.star {
	  position: relative;
	  width: 5em;
	  font-size: 4vw;
		line-height: 100%;
	}
	dl.formTable div.star .front {
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: inline-block;
	  margin: 0;
	  padding: 0;
	  overflow: hidden;
	  color: #FF1D25;
	}
	dl.formTable div.star .back {
	  position: absolute;
	  top: 0;
	  left: 0;
	  display: inline-block;
	  margin: 0;
	  padding: 0;
	  overflow: hidden;
	  color: #ccc;
	}




	/*
	* モーダル
	*/
	.modal {

	}
	.modal h5.modal-title {
		margin: 0;
		padding: 0;
	}
	.modal .modal-body {
		margin: 0;
		padding: 1rem;
	}
	.modal dl {
		margin: 0;
		padding: 0;
	}
	.modal dt {
		margin: 0 0 0 0;
		padding: 0.5rem;
		background-color: #F1F1F1;
	}
	.modal dd {
		margin: 0 0 1rem 0;
		padding: 0.5rem;
	}


}




/*
* プリント用 *************************************************************************************************
*/

@media only print {



	/*
	* 共通項目
	*/
	html, body {
		width: 100%;
		margin: 0;
		padding: 2rem;
		font-size: 16px !important;
	}
	img,tr { page-break-inside: avoid; }


	/*
	* ヘッダー
	*/
	header#printHeader {
		margin: 0 0 2rem 0;
		padding: 1rem;
		background-color: #F1F1F1;
	}
	header#printHeader img.logo {
		width: 20%;
	}


	/*
	* フッター
	*/
	footer#printFooter {
		margin: 2rem 0;
		padding: 1rem;
		text-align: right;
		font-size: 0.8rem;
		background-color: #F1F1F1;
	}


	/*
	* レイアウト
	*/
	#pageWrap {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	#content {
		margin: 0;
		padding: 0;
	}

	.basicStyle h3 {
		margin: 0;
		padding: 1rem;
		font-size: 2rem;
		font-weight: bold;
	}
	.basicStyle .nowrap { white-space: nowrap; }
	.basicStyle .section { padding: 0; }


	/* ヘッダ固定table */
	.basicStyle table.printList {
		table-layout: fixed;
		width: 100%;
		margin: 0;
		padding: 0;
		white-space: normal;
	}
	.basicStyle table.printList thead {
		display: table-header-group;
	}
	.basicStyle table.printList thead tr th {
		background-color: #FF0000;
	}
	.basicStyle table.printList tbody tr th {

	}
	.basicStyle table.printList tr:nth-child(2n-1) th:first-child {
		color: #000000;
		background-color: #F6F6F6;
	}
	.basicStyle table.printList tr:nth-child(2n) th:first-child {
		color: #000000;
		background-color: #FFFFFF;
	}
	.basicStyle table.printList tr:nth-of-type(odd) {
		background-color: #F6F6F6;
	}
	.basicStyle table.printList td {
		width: auto;
		word-break: break-all !important;
		background-color: #FF0000;
	}

}
