/* ---------------------------------------------------------
 normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css
--------------------------------------------------------- */

/* Document
   ====================================================== */

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/* Sections
   ====================================================== */

article,
aside,
footer,
header,
nav,
section {
	display: block;
}

h1 {
	font-size: 2em;
}

/* Grouping content
   ====================================================== */

figcaption,
figure,
main {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
   ====================================================== */

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}

b,
strong {
	font-weight: inherit;
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ====================================================== */

audio,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

img {
	border-style: none;
}

svg:not(:root) {
	overflow: hidden;
}

/* Forms
   ====================================================== */

button,
input,
optgroup,
select,
textarea {
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0; /* 3 */
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[hidden] {
	display: none;
}

/* ---------------------------------------------------------
  Reset
--------------------------------------------------------- */

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
a,
small,
strong,
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,
menu,
nav,
section {
	margin: 0;
}

html {
	font-size: 62.5%;
}

/* elements
--------------------------------------------------------- */

*,
::before,
::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

::before,
::after {
	text-decoration: inherit;
	vertical-align: inherit;
}

ul,
ol {
	padding: 0;
	list-style: none;
	list-style-type: none;
}

a {
	-webkit-text-decoration-skip: objects;
}

img {
	max-width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

/* forms
--------------------------------------------------------- */

input {
	border-radius: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
	cursor: pointer;
}

[disabled] {
	cursor: default;
}

[type="number"] {
	width: auto;
}

textarea {
	overflow: auto;
	resize: vertical;
}

button,
input,
optgroup,
textarea {
	font: inherit;
}

button,
input,
select,
textarea {
	color: inherit;
}

button {
	background-color: transparent;
	border-style: none;
}

select::-ms-value {
	color: currentColor;
}

/* ---------------------------------------------------------
 Base
--------------------------------------------------------- */

html,
body {
	display: flex;
	flex-direction: column;
}

body {
	min-height: 100vh;
}

body.login-page {
	min-height: auto;
}

.l-footer {
	margin-top: auto;
}

body {
	line-height: 1.5;
	color: #333;
	font-family: "Arial", "Helvetica Neue", "Helvetica", "Avenir", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "YuGothic Medium", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4em;
	word-break: normal;
	word-wrap: break-word;
	letter-spacing: 0;
}

/* section, article
--------------------------------------------------------- */

section,
article {
	clear: both;
}

section:after,
article:after {
	content: "";
	display: table;
	clear: both;
}

/* link
--------------------------------------------------------- */

a[href]:not([class]) {
	position: relative;
	display: inline-block;
	color: #333;
	text-decoration: underline;
	transition: color .6s;
}

a[href]:not([class]):hover {
	color: #333;
	text-decoration: none;
}

/* form
--------------------------------------------------------- */

input,
textarea,
select,
button,
select > option {
	font-size: 16px;
	vertical-align: middle;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="button"],
input[type="password"],
textarea,
select {
	outline: none;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"] {
	padding: 2px 6px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea {
	border: 1px solid #d4d4d4;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
	background-color: #fff;
	border-color: #5182bb;
}

input[type="text"]:disabled {
	background-color: #f6f6f6;
}

input[type="radio"],
input[type="checkbox"] {
	position: relative;
	top: -3px;
	margin-right: 0.4em;
	vertical-align: middle;
}

select {
	padding: 0 2px;
	border: solid 1px bdr_color(main);
	background: #fff;
	white-space: nowrap;
}

label {
	cursor: pointer;
}

textarea {
	overflow: auto;
}

/* ---------------------------------------------------------
  Site header
--------------------------------------------------------- */

/* l-header
--------------------------------------------------------- */

.l-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 3px 20px 3px;
	border-bottom: 3px solid #ccc;
	background-color: #f6f6f6;
}

/* l-main-header
--------------------------------------------------------- */

.site-title {
	line-height: 1;
	font-size: 1rem;
}

.site-title img {
	width: 167px;
	height: 25px;
}

.header-user-name {
	font-size: 1.4rem;
}

.header-user-name.pc {
	display: none;
	margin: 0 0 0 1em;
}

.link-button.sp {
	margin: 0.1em;
}

.header-user-name.sp {
	padding: 1em;
	border-bottom: 1px solid #ccc;
}

.header-logout.pc {
	display: none;
	margin: 0 0 0 1em;
}

.header-logout.pc .btn-logout {
	font-size: 14px;
}

.header-logout.sp {
	margin: 1.5em 1em;
	text-align: center;
}
.header-logout.etc {
	text-align: center;
}
/* ---------------------------------------------------------
  Main container
--------------------------------------------------------- */

/* l-container
--------------------------------------------------------- */

.l-container {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto !important;
	padding: 15px 20px 13px;
}

.l-full-container,
.l-search-field {
	width: 100%;
	margin: 0 auto !important;
	padding: 15px 20px 13px;
}

.l-search-field {
	background-color: #f6f6f6;
}

.l-search-field__box {
	padding-right: 20px;
}

/*!------------------------------------*    Base
\*!------------------------------------*/

.drawer-open {
	overflow: hidden !important;
}

.drawer-nav {
	position: fixed;
	z-index: 101;
	top: 0;
	overflow: hidden;
	width: 16.25rem;
	height: 100%;
	color: #222;
	background-color: #f5f5f5;
}

.drawer-brand {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 3.75rem;
	display: block;
	padding-right: 0.75rem;
	padding-left: 0.75rem;
	text-decoration: none;
	color: #222;
}

.drawer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.drawer-menu-item {
	font-size: 1rem;
	display: block;
	padding: 0.75rem;
	text-decoration: none;
	color: #222;
}

.drawer-menu-item:hover {
	text-decoration: underline;
	color: #555;
	background-color: #fbf0e7;
}

/*! overlay */

.drawer-overlay {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
}

.drawer-open .drawer-overlay {
	display: block;
}

/*!------------------------------------*    Top
\*!------------------------------------*/

.drawer--top .drawer-nav {
	top: -100%;
	left: 0;
	width: 100%;
	height: auto;
	max-height: 100%;
	transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--top.drawer-open .drawer-nav {
	top: 0;
}

.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
	right: 0;
}

/*!------------------------------------*    Left
\*!------------------------------------*/

.drawer--left .drawer-nav {
	left: -16.25rem;
	transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--left.drawer-open .drawer-nav,
.drawer--left .drawer-hamburger,
.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
	left: 0;
}

.drawer--left.drawer-open .drawer-hamburger {
	left: 16.25rem;
}

/*!------------------------------------*    Right
\*!------------------------------------*/

.drawer--right .drawer-nav {
	right: -16.25rem;
	transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
	right: 0;
}

.drawer--right.drawer-open .drawer-hamburger {
	right: 16.25rem;
}

/*!------------------------------------*    Hamburger
\*!------------------------------------*/

.drawer-hamburger {
	position: fixed;
	z-index: 104;
	top: 0;
	display: block;
	box-sizing: content-box;
	width: 2rem;
	padding: 0;
	padding-top: 18px;
	padding-right: 0.75rem;
	padding-bottom: 30px;
	padding-left: 0.75rem;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	transform: translate3d(0, 0, 0);
	border: 0;
	outline: 0;
	background-color: transparent;
}

.drawer-hamburger:hover {
	cursor: pointer;
	background-color: transparent;
}

.drawer-hamburger-icon {
	position: relative;
	display: block;
	margin-top: 6px;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	width: 100%;
	height: 2px;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	background-color: #808080;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	position: absolute;
	top: -10px;
	left: 0;
	content: ' ';
}

.drawer-hamburger-icon:after {
	top: 10px;
}

.drawer-open .drawer-hamburger-icon {
	background-color: transparent;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
	top: 0;
}

.drawer-open .drawer-hamburger-icon:before {
	transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
	transform: rotate(-45deg);
}

/*!------------------------------------*    accessibility
\*!------------------------------------*/

/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */

.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */

.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: static;
	overflow: visible;
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
}

/*!------------------------------------*    Dropdown
\*!------------------------------------*/

.drawer-dropdown-menu {
	display: none;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #f5f5f5;
}

.drawer-dropdown-menu > li {
	width: 100%;
	list-style: none;
}

.drawer-dropdown-menu-item {
	line-height: 3.75rem;
	display: block;
	padding: 0;
	padding-right: 0.75rem;
	padding-left: 1.5rem;
	text-decoration: none;
	color: #222;
}

.drawer-dropdown-menu-item:hover {
	text-decoration: underline;
	color: #555;
	background-color: transparent;
}

/*! open */

.drawer-dropdown.open > .drawer-dropdown-menu {
	display: block;
}

/*! drawer-caret */

.drawer-dropdown .drawer-caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 4px;
	transition: transform .2s ease, opacity .2s ease;
	transform: rotate(0deg);
	vertical-align: middle;
	border-top: 4px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

/*! open */

.drawer-dropdown.open .drawer-caret {
	transform: rotate(180deg);
}

/*!------------------------------------*    Container
\*!------------------------------------*/

.drawer-container {
	margin-right: auto;
	margin-left: auto;
}

.drawer-nav {
	z-index: 1100;
}

.drawer-menu li + li {
	border-top: 1px solid #ccc;
}

.drawer-menu li:last-child {
	border-bottom: 1px solid #ccc;
}

.drawer-menu-item {
	position: relative;
	padding: 0.75em 1.4em 0.75em 2.4em;
	background-color: #fff;
	font-size: 1.6rem;
}

.drawer-menu-item:hover {
	text-decoration: none;
}

.drawer-menu-item svg {
	position: absolute;
	top: 50%;
	left: 1em;
	margin-top: -0.5em;
	color: #e67827;
}

#drawer-menu-item01 svg {
	color: #b75709;
}

#drawer-menu-item02 svg {
	color: #963634;
}

#drawer-menu-item03 svg {
	color: #60487a;
}

#drawer-menu-item04 svg {
	color: #345b8b;
}

#drawer-menu-item05 svg {
	color: #266366;
}

#drawer-menu-item06 svg {
	color: #662643;
}

.drawer-hamburger {
	position: absolute;
}

.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
	top: -8px;
	right: 20px;
}

/* ---------------------------------------------------------
  Site footer
--------------------------------------------------------- */

/* l-footer
--------------------------------------------------------- */

.l-footer {
	clear: both;
	padding: 0.5em 0;
	background-color: #7d7d7d;
}

/* copyright
--------------------------------------------------------- */

.copyright {
	color: #fff;
	text-align: center;
}

.login-page .copyright {
	margin-top: 1em;
	color: #999;
}

/* ---------------------------------------------------------
  Heading
--------------------------------------------------------- */

h1:not([class]) {
	line-height: 1.3;
	color: #000000;
	font-size: 1.5em;
}

h1,
h2,
h3 {
	clear: both;
}

.hdr-icon {
	position: relative;
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	margin-right: 0.3em;
	border-radius: 50%;
	background-color: #b75709;
	vertical-align: middle;
}

.hdr-icon svg {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: auto;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
	font-size: 2rem;
}

.hdr-icon.icon02 {
	background-color: #963634;
}

.hdr-icon.icon03 {
	background-color: #60487a;
}

.hdr-icon.icon04 {
	background-color: #345b8b;
}

.hdr-icon.icon05 {
	background-color: #266366;
}

.hdr-icon.icon06 {
	background-color: #662643;
}

/* ---------------------------------------------------------
 Table
--------------------------------------------------------- */

/* table-wrap
--------------------------------------------------------- */

.table-wrap + .table-wrap {
	margin-top: 15px;
}

.table-wrap.table-user-list {
	margin-top: -25px;
}

.table-wrap.table-company-list {
	margin-top: -25px;
}

/* table-main
--------------------------------------------------------- */

.table-main {
	width: 100%;
	line-height: 1.2;
}

.table-main th,
.table-main td {
	border: 1px solid #ccc;
}

.table-main th {
	display: block;
	padding: 0.4em 0.5em;
	line-height: 1.4;
	vertical-align: top;
}

.table-main th[scope="col"] {
	line-height: 1.2;
	background-color: #5182bb;
	color: #fff;
	font-weight: normal;
	text-align: center;
}

.table-main th[scope="row"] {
	background-color: #d6e2f4;
}

.table-main td {
	background-color: #fff;
	vertical-align: middle;
}

.table-main thead {
	display: none;
}

/* table default
--------------------------------------------------------- */

table:not([class]),
.form-table {
	width: auto;
}

table:not([class]) th,
table:not([class]) td,
.form-table th,
.form-table td {
	border: 1px solid #ccc;
}

table:not([class]) th,
.form-table th {
	padding: 0.3em 0.5em;
	line-height: 1.4;
	vertical-align: top;
}

table:not([class]) th[scope="col"],
.form-table th[scope="col"] {
	background-color: #5182bb;
	color: #fff;
	font-weight: normal;
	text-align: center;
}

table:not([class]) th[scope="row"],
.form-table th[scope="row"] {
	background-color: #d6e2f4;
	text-align: left;
}

table:not([class]) td,
.form-table td {
	padding: 0.3em 0.5em;
	background-color: #fff;
	vertical-align: middle;
}

/* table-utility
--------------------------------------------------------- */

.sort-btn {
	position: relative;
	padding-right: 1.2em;
}

.sort-btn__control {
	position: absolute;
	top: 0;
	right: 0.3em;
	margin-top: -0.3em;
	line-height: 1;
}

.sort-btn__control svg {
	color: #fff;
}

.sort-btn.inline .sort-btn__control {
	top: 0.1em;
	margin-top: 0;
}

.sort-btn.inline .sort-btn__control li {
	display: inline-block;
}

/* ---------------------------------------------------------
  Button-container
--------------------------------------------------------- */

/* One column
--------------------------------------------------------- */

.btn-container {
	clear: both;
	margin-top: 1.5em;
	text-align: center;
}

/* Two column
--------------------------------------------------------- */

.btn-container__item + .btn-container__item {
	margin-top: 2em;
}

/* ---------------------------------------------------------
  button
--------------------------------------------------------- */

/* button base
--------------------------------------------------------- */

.btn {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 22em;
	padding: 0.5em 1em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

.delbtn {
	line-height: 0.5;
}

.btn:hover {
	text-decoration: none;
}

.btn-login,
.btn-main,
.btn-logout,
.btn-clear,
.btn-primary,
.btn-primary-emphasis,
.btn-back {
	border-radius: 0.5rem;
	font-size: 1em;
	transition: all 1s;
}

.btn-primary-emphasis {
	border: 1px solid #ccc;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

/* button login
--------------------------------------------------------- */

.btn-login {
	width: 100% !important;
	padding: 1em 1.2em;
	background-color: #1f9dd8;
	box-shadow: 0 0.4em 0 #1d7ebf;
	color: #fff;
}

.btn-login:hover {
	background-color: #46b2e4;
	box-shadow: 0 0.4em 0 #3099df;
}

/* button main, logout, clear
--------------------------------------------------------- */

.btn-main,
.btn-logout,
.btn-clear {
	border: 1px solid #ccc;
	background: #fff;
	background: -moz-linear-gradient(top, #fff 0%, #fff 45%, #efefef 100%);
	background: -webkit-linear-gradient(top, #fff 0%, #fff 45%, #efefef 100%);
	background: linear-gradient(to bottom, #fff 0%, #fff 45%, #efefef 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#efefef',GradientType=0 );
	color: #333;
}

.btn-main:hover,
.btn-logout:hover,
.btn-clear:hover {
	border-color: #d9d9d9;
	color: #999;
}

.btn-logout,
.btn-clear {
	width: auto !important;
	font-size: 1.3rem;
}

/* button primary
--------------------------------------------------------- */

.btn-primary,
.btn-primary-emphasis {
	background-color: #525252;
	color: #fff;
}

.btn-primary:hover,
.btn-primary-emphasis:hover {
	background-color: #6c6c6c;
}

.btn-primary-emphasis {
	box-shadow: 1px 1px 4px 0px rgba(255, 255, 255, 0.9) inset, -3px -3px 4px 0px rgba(53, 111, 53, 0.25) inset;
}

input.btn-primary,
input.btn-primary-emphasis {
	padding-right: 1.7em;
}

/* button size
--------------------------------------------------------- */

.btn-middle {
	padding: 0.9em 2.5em;
	font-size: 1.6rem;
}

.btn-large {
	padding: 0.9em 2.5em;
	font-size: 1.8rem;
}

/* button back
--------------------------------------------------------- */

.btn-back {
	background-color: #c1c1c1;
	color: #fff;
}

.btn-back:hover {
	background-color: #d0d0d0;
}

/* ---------------------------------------------------------
  Icon
--------------------------------------------------------- */

/* numbered-list
--------------------------------------------------------- */

.icon {
	margin-right: 0.3em;
}

.icon-excel {
	color: #188646;
}

.icon-csv {
	color: #2b56b8;
}

.icon-pdf {
	color: #cc1322;
}

/* ---------------------------------------------------------
  Module
--------------------------------------------------------- */

/* header-group
--------------------------------------------------------- */

.header-group {
	position: relative;
}

.header-group__btn {
	position: absolute;
	top: 0;
	right: 0;
}

/* pagination
--------------------------------------------------------- */

.pagination {
	margin: 2px 0;
	text-align: center;
}

.pagination__item {
	display: inline-block;
}

.pagination__item.current span {
	border: 1px solid #808080;
	background-color: #808080;
	color: #fff;
}

.pagination a,
.pagination span {
	display: inline-block;
	margin: 0.3em 0.1em 0;
	padding: 0.4em 0.6em;
	line-height: 1;
	border: 1px solid #d4d4d4;
	background-color: #fff;
	color: #808080;
	font-size: 1.4rem;
}

.pagination a {
	color: #666 !important;
	text-decoration: none !important;
	cursor: pointer;
}

.pagination a:hover {
	background-color: #f6f6f6;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

/* data-utility
--------------------------------------------------------- */

.data-utility {
	margin: 1em 0;
}

.data-utility .btn-list {
	margin: 1em 0;
}

/* btn-list
--------------------------------------------------------- */

.btn-list__item {
	display: inline-block;
}

.btn-list__item + .btn-list__item {
	margin-left: 0.5em;
}

/* form-table
--------------------------------------------------------- */

.form-table {
	width: 100%;
	margin-top: 0.5em;
}

.form-table th,
.form-table td {
	padding: 0.5em 1em;
	vertical-align: top;
}

/* form-required
--------------------------------------------------------- */

.form-require-wrap {
	position: relative;
}

.form-required {
	position: relative;
	display: inline-block;
	margin-left: 10px;
	padding: 0.2em 0.6em;
	border-radius: 0.3em;
	background: #3d7dc6;
	color: #fff;
	font-size: 1.2rem;
	font-weight: normal;
}

/* input-size
--------------------------------------------------------- */

.input-size-max {
	width: 100%;
}

.input-size-l {
	width: 100%;
}

.input-size-m {
	width: 100%;
}

.input-size-s {
	width: 40%;
}

.input-size-xs {
	width: 40%;
}

.input-size-100 {
	width: 100px;
}

/* form-message
--------------------------------------------------------- */

.form-message__hdg {
	margin: 1em 0;
	border-bottom: 2px solid #ccc;
	font-size: 1.45em;
}

.form-message__text + .form-message__text {
	margin-top: 1.5em;
}

/* ---------------------------------------------------------
  Login
--------------------------------------------------------- */

.login-field {
	padding: 40px 30px 50px;
	border: 4px solid #b0b0b0;
	border-radius: 40px;
	-moz-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
	background: #f6f6f6;
}

.login-logo {
	margin-bottom: 0.5em;
	line-height: 1;
	text-align: center;
}

.login-logo img {
	width: 242px;
}

.login {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	color: #666;
}

.login__title,
.login__text {
	margin-top: 0.5em;
}

.login__title {
	width: 6em;
}

.login__text {
	width: 260px;
	width: calc(100% - 6em);
}

.login__text input {
	width: 100%;
}

.login__check {
	margin-top: 15px;
}

.login__check > input {
	margin-right: 5px;
	vertical-align: middle;
}

.login__btn {
	margin-top: 15px;
	text-align: center;
}

/* ---------------------------------------------------------
  System menu
--------------------------------------------------------- */

.system-menu-title {
	margin-bottom: 0.4em;
	color: #000000;
	text-align: center;
}

.system-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: -1em;
}

.system-menu__link {
	position: relative;
	display: block;
	width: 49%;
	width: calc( (100% - 1em) / 2);
	margin-top: 1em;
	padding: 2em 1em;
	border: 1px solid #d4d4d4;
	border-radius: 0.3em;
	background: #fff;
	color: #333;
	text-decoration: none;
	text-align: center;
}

.system-menu__link:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	color: #333;
}

.system-menu__icon {
	margin: 0 auto 1em;
	padding-top: 1.3rem;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background-color: #b75709;
}

.system-menu__icon svg {
	color: #fff;
	font-size: 2.4rem;
}

.system-menu__text {
	line-height: 1.3;
	font-weight: 700;
}

.system-menu__icon.icon02 {
	background-color: #963634;
}

.system-menu__icon.icon03 {
	background-color: #60487a;
}

.system-menu__icon.icon04 {
	background-color: #345b8b;
}

.system-menu__icon.icon05 {
	background-color: #266366;
}

.system-menu__icon.icon06 {
	background-color: #662643;
}

/* ---------------------------------------------------------
  Search
--------------------------------------------------------- */

/* table search
--------------------------------------------------------- */

.table-search {
	width: auto;
}

.table-search th {
	padding: 0 0.5em 0.4em 0;
	color: #808080;
	text-align: left;
	white-space: nowrap;
}

.table-search td {
	padding-bottom: 0.4em;
}

.table-search td.separator-line {
	padding-top: 0.4em;
	border-top: 1px dashed #ccc;
}

/* ---------------------------------------------------------
 Utility
--------------------------------------------------------- */

/* Size
--------------------------------------------------------- */

/* Font size
--------------------------------------------------------- */

.font-tiny {
	font-size: 80% !important;
}

.font-small {
	font-size: 90% !important;
}

.font-middle {
	font-size: 110% !important;
}

.font-large {
	font-size: 120% !important;
}

/* Text align
--------------------------------------------------------- */

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.text-left {
	text-align: left !important;
}

.text-middle {
	vertical-align: middle !important;
}

/* Text color
--------------------------------------------------------- */

.text-emphasis {
	color: #2f71bc;
}

@media (min-width: 64em) {

.drawer-container {
	max-width: 60rem;
}

}

@media (min-width: 75em) {

.drawer-container {
	max-width: 70rem;
}

}

@media screen and (min-width: 576px) {


.header-user-name.pc {
	display: block;
}

.header-logout.pc {
	display: block;
}

.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
	top: -5px;
}

.header-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.header-group__select{
	margin: 5px 0 0 20px;
	width: 350px;
}

.header-group__btn {
	margin: 0 0 0 20px;
}

.header-group__btn {
	position: relative;
}

}

.kikan-s-size {
	width: 110px;
}

.uketsuke-s-size {
	width: 145px;
}

.kakutei-s-size {
	width: 145px;
}

.bunrui-s-size {
	width: 300px;
}

.kekka-s-size {
	width: 130px;
}
.kensakomoku-s-size {
	min-width: 130px;
}

.torihiki-s-size {
	width: 300px;
}

.user-s-size {
	width: 200px;
}
@media screen and (min-width: 768px) {

body {
	font-size: 1.4em;
}

input,
textarea,
select,
button,
select > option {
	font-size: 14px;
}
.link-button.sp {
	display: none;
}
.header-user-name.sp {
	display: none;
}

.header-logout.sp {
	display: none;
}

.l-container {
	padding: 20px 20px 8px;
}

.l-full-container,
.l-search-field {
	padding: 5px 20px 5px;
}

.l-search-field {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.l-search-field__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.table-wrap {
	position: relative;
	overflow-x: scroll;
}

.table-wrap.table-search-results .table-main {
	min-width: 1500px;
}

.table-wrap.table-user-list {
	margin-top: -5px;
}

.table-wrap.table-user-list .table-main {
	min-width: 1000px;
}

.table-wrap.table-submission-rate .table-main {
	min-width: 1000px;
}

.table-wrap.table-company-list {
	margin-top: -5px;
}

.table-wrap.table-company-list .table-main {
	min-width: 1400px;
}

.table-wrap.table-company-list .table-main td {
	padding: 0.3em 0.5em;
}

.table-main {
	display: table;
}

.table-main tbody tr:nth-of-type(even) td {
	background-color: #f4f8ff;
}

.table-main th {
	display: table-cell;
}

.table-main th[scope="col"] {
	padding: 0.4em 0.5em;
}

.table-main th[scope="row"] {
	padding: 0.1em 0.5em;
	vertical-align: middle;
}

.table-main td {
	padding: 0.1em 0.5em;
}

.table-main thead {
	display: table-header-group;
}

.text-no-wrap {
	white-space: nowrap;
}

.cell-size-30 {
	width: 30%;
}

.btn-container.col-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.btn-container__item {
	width: 48%;
	text-align: left;
}

.btn-container__item + .btn-container__item {
	margin-top: 0;
}

.btn-container__item:first-child {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
	text-align: right;
}

.btn {
	width: auto;
}

.data-utility {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.data-utility .btn-list {
	margin: 0;
}

.form-table th {
	width: 16em;
}

.pass-size th{
	width: 18em;
}
.form-required {
	position: absolute;
	top: 0;
	right: 5px;
}

.form-required.text-icon {
	position: relative;
}

.input-size-l {
	width: 70%;
}

.input-size-m {
	width: 50%;
}

.input-size-s {
	width: 25%;
}

.input-size-xs {
	width: 80px;
}

.form-message {
	width: 40em;
	margin-right: auto;
	margin-left: auto;
	line-height: 1.7;
}

.form-message.error .form-message__text {
	text-align: center;
}

.system-menu:after {
	content: '';
	display: block;
	width: 32%;
	width: calc( (100% - 2em) / 3);
}

.system-menu__link {
	width: 32%;
	width: calc( (100% - 2em) / 3);
	padding: 2em 1em;
}

.system-menu__icon {
	padding-top: 1.5rem;
	width: 7rem;
	height: 7rem;
}

.system-menu__icon svg {
	font-size: 4rem;
}

.text-center-l {
	text-align: center !important;
}

.text-center-only-l {
	text-align: center !important;
}

}

@media screen and (min-width: 1000px) {

html {
	overflow-y: scroll;
}

}

@media print, screen and (min-width: 1000px) {

.btn-middle {
	font-size: 16px;
}

.btn-large {
	font-size: 18px;
}

.pagination a,
.pagination span {
	font-size: 15px;
}

.data-utility {
	margin: 0;
}

.login-field {
	max-width: 530px;
	margin: 110px auto 30px;
	padding: 40px 66px 55px;
}

.font-tiny {
	font-size: 12px !important;
}

.font-small {
	font-size: 13px !important;
}

.font-middle {
	font-size: 22px !important;
}

.font-large {
	font-size: 28px;
}

}

@media screen and (min-width: 1150px) and (min-width: 1000px) {

.pagination + .data-utility {
	margin-top: -23px;
}

.pagination + .data-utility2 {
	margin-top: -45px;
}

}

@media screen and (max-width: 1024px) {

.login-wrap {
	position: relative;
	height: 100vh;
}

.login-wrap:after {
	content: "";
	display: table;
	clear: both;
}

.login-wrap__inner {
	position: relative;
	float: left;
	top: 50%;
	left: 50%;
	max-width: 28em;
	padding: 0 20px;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

}

@media screen and (max-width: 767px) {

.table-main tr {
	display: block;
	margin-top: 20px;
}

.table-main th {
	border-bottom: none;
	background-color: #5182bb !important;
	font-weight: normal;
	text-align: center;
}

.table-main th a {
	display: block;
	color: #fff !important;
}

.table-main td {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100% !important;
	padding: 0;
	border-top: none;
}

.table-main td:nth-of-type(1) {
	border-top: 1px solid #ccc;
}

.table-main td:before {
	content: attr(data-sp-title);
	width: 28% !important;
	padding: 0.5em 0.8em;
	line-height: 1;
	background-color: #d6e2f4;
}

.table-main td .text-wrap {
	width: 72% !important;
	padding: 0.5em 0.8em;
	background-color: #fff;
}

.form-table {
	border-bottom: 1px solid #ccc;
}

.form-table th,
.form-table td {
	display: block;
}

.form-table th {
	border-bottom: none;
}

.form-table td {
	padding: 1em;
	border-bottom: none;
}

}

