@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('jquery-ui-1.8.21.custom.css');
@import url('icons.css');
@import url('perfect-scrollbar.css');

/* ////////////////////////////////////////////////////////////
	File Name	common.css
*/
/*============================================================
	RESET
*/
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: transparent;
	background-image: none;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
}
ul {
	list-style-type: none;
}
table {
	border-collapse: collapse;
}
a,
button {
	cursor: pointer;
}
h1, h2, h3, h4, strong {
	font-weight: 700;
}
img {
	vertical-align: top;
	width: 100%;
}
input,
select,
textarea,
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	outline: 0;
	resize: none;
}

/*============================================================
	HTML
*/
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 13px;/*font-size:  16px;*//*font-size:  16px;*/
	line-height: 1.5;
}
a {
	color: #16a085;
}
a:hover {
	text-decoration: underline;
}

/*============================================================
	FONT SIZE
*/
.fs-sm {
	font-size: 13px;/*font-size:  14px;*/
}
.fs-xs {
	font-size: 12px;
}
.fs-xxs {
	font-size: 10px;
}

/*============================================================
	FONT WEIGHT
*/
.fw-normal {
	font-weight: 400 !important;
}
.fw-bold {
	font-weight: 700 !important;
}

/*============================================================
	VISIBLE
*/
.visible-sp {
	display: none;
}
/* SP */
@media screen and (max-width: 768px) {
	.visible-pc {
		display: none;
	}
	.visible-sp {
		display: block;
	}
}

/*============================================================
	CONTAINER
*/
#container {
	overflow: hidden;
	position: relative;
	min-height: 100%;
}
.container {
	position: relative;
	margin: 0 auto;
	padding: 0 50px;
	/*max-width: 1100px;*/
}
.container-table {
	overflow-x: auto;
}

/* SP */
@media screen and (max-width: 768px) {
	.container {
		padding: 0 15px;
	}
	.container-table {
		padding: 0;
	}
}

/*============================================================
	CONTENT
*/
.content {
	padding: 35px 0 140px 0;
}
section {
	margin-bottom: 50px;
}
section:last-child {
	margin-bottom: 0;
}

/* SP */
@media screen and (max-width: 768px) {
	.content {
		padding: 55px 0 90px 0;
	}
	section {
		margin-bottom: 40px;
	}
	.has-create .content {
		padding-bottom: 110px;
	}
}

/*============================================================
	BODY
*/
#body {
	transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.side-opened #body {
	transform: translateX(-180px);
}

/* SP */
@media screen and (max-width: 768px) {
	.side-opened #body {
		transform: translateX(-140px);
	}
}

/*============================================================
	ヘッダー
*/
#header {
	overflow: hidden;
	background-color: #2f2f33;
	color: #fff;
}
#header a {
	text-decoration: none;
	color: #fff;
}
#header .top {
	position: relative;
	padding-top: 18px;
	height: 72px;
}
#header .top h1 {
	overflow: hidden;
	width: 180px;
	height: 54px;
	background: transparent url(../img/logo-header.png) 0 0 no-repeat;
	background-size: cover;
	text-indent: -999em;
}
#header .top .side-opener {
	display: block;
	position: absolute;
	top: 2px;
	right: 50px;
	width: 50px;
	height: 50px;
	border: 1px solid #eee;
}
#header .top .side-opener i {
	position: absolute;
	top: 0;
	left: 50%;
	margin: 18px 0 0 -10px;
	width: 20px;
	height: 1px;
	background-color: #fff;
}
#header .top .side-opener i:nth-child(2) {
	top: 6px;
}
#header .top .side-opener i:nth-child(3) {
	top: 12px;
}
#header .nav {
}
#header .nav::after {
	content: '';
	display: block;
	margin-top: -1px;
	width: 100%;
	height: 4px;
	background-color: #16a085;
	border-top: 1px solid #7ee1cd;
}
#header .nav .container {
	overflow: hidden;
}
#header .nav ul {
	padding-top: 19px;
}
#header .nav ul::after {
	content: '';
	display: block;
	clear: both;
}
#header .nav ul li {
	position: relative;
	float: left;
	width: 10%;
	text-align: center;
	font-weight: 700;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 50px;
}
#header .nav ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	right: -1px;
	width: 1px;
	height: 30px;
	background-color: #666;
}
#header .nav ul li:last-child::before {
	display: none;
}
#header .nav ul li a {
	display: block;
	position: relative;
	z-index: 1;
	border-left: 1px solid rgba(255,255,255,0);
	border-top: 1px solid rgba(255,255,255,0);
	border-radius: 8px 8px 0 0 / 8px 8px 0 0;
}
#header .nav ul li.current::before {
	display: none;
}
#header .nav ul li.current a {
	border-color: rgba(255,255,255,0.2);
	background-color: #16a085;
	box-shadow: 0px 0px 10px 0px #000;
}
#header .nav-sp {
	display: none;
}

/* HOVER */
@media screen and (min-width: 769px) {
	#header .top .side-opener {
		transition: opacity 0.3s ease;
	}
	#header .top .side-opener:hover {
		opacity: 0.6;
	}
	#header .nav ul li a span {
		transition: opacity 0.3s ease;
	}
	#header .nav ul li a:hover span {
		opacity: 0.6;
	}
	#header .nav ul li.current a:hover span {
		opacity: 1;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	#header .top {
		padding-top: 12px;
		height: 80px;
	}
	#header .top h1 {
		width: 92px;
		height: 28px;
	}
	#header .top .side-opener {
		top: 0;
		right: 15px;
		width: 30px;
		height: 30px;
	}
	#header .top .side-opener i {
		margin: 11px 0 0 -6px;
		width: 12px;
	}
	#header .top .side-opener i:nth-child(2) {
		top: 3px;
	}
	#header .top .side-opener i:nth-child(3) {
		top: 6px;
	}
	#header .nav {
		display: none;
	}
	#header .nav-sp {
		display: block;
		position: absolute;
		z-index: 100;
		top: 55px;
		left: 0;
		padding: 0 30px;
		width: 100%;
	}
	#header .nav-sp .container {
		overflow: hidden;
		padding: 0;
		height: 57px;
		border-radius: 5px;
		box-shadow: 0px 0px 10px 0px #000;
		transition: height 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	}
	#header .nav-sp ul {
		border-radius: 4px;
		box-shadow: 1px 1px 0px 0px rgba(255,255,255,0.2) inset;
	}
	#header .nav-sp ul li {
		border-top: 1px solid rgba(255,255,255,0.2);
		border-bottom: 1px solid rgba(0,0,0,0.5);
		background-color: #2f2f33;
		text-align: center;
		font-weight: 700;
		font-size: 18px;
		line-height: 56px;
	}
	#header .nav-sp ul li.root {
		border-bottom: 1px solid rgba(0,0,0,0.2);
		background-color: #16a085;
	}
	#header .nav-sp ul li:first-child {
		border-top-width: 0;
	}
	#header .nav-sp ul li:last-child {
		border-bottom-width: 0;
	}
	#header .nav-sp ul li a {
		position: relative;
		display: block;
	}
	#header .nav-sp ul li.root a::before,
	#header .nav-sp ul li.root a::after {
		display: block;
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: -0.5em;
		font-family: 'icons' !important;
		speak: none;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		font-size: 1.2em;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	#header .nav-sp ul li.root a::before {
		content: "\e901";
	}
	#header .nav-sp ul li.root a::after {
		content: "\e904";
		display: none;
	}
	#header .nav-sp.opened ul li.root a::before {
		display: none;
	}
	#header .nav-sp.opened ul li.root a::after {
		display: block;
	}
}

/*============================================================
	サイドナビゲーション
*/
#side {
	position: fixed;
	top: 0;
	right: -180px;
	width: 180px;
	height: 100%;
	background-color: #eee;
	transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.side-opened #side {
	transform: translateX(-180px);
}
#side::before {
	content: '';
	display: block;
	position: absolute;
	width: 14px;
	height: 100%;
	background: #d2d2d2;
	background: -moz-linear-gradient(left, #d9d9d9 0%, #eeeeee 100%);
	background: -webkit-linear-gradient(left, #d9d9d9 0%,#eeeeee 100%);
	background: linear-gradient(to right, #d9d9d9 0%,#eeeeee 100%);
}
#side .scroll {
	position: relative;
	width: 100%;
	height: 100%;
}
#side .nav {
	position: relative;
	height: auto;
	min-height: 100%;
}
#side .nav a {
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
	color: #000;
}
#side .nav a i {
	display: block;
	font-size: 60px;
	line-height: 1;
}
#side .nav ul {
	padding: 30px 0 140px 0;
}
#side .nav ul li {
	padding-top: 30px;
	font-size: 13px;/*font-size:  15px;*/
}
#side .nav .logout {
	position: absolute;
	bottom: 30px;
	left: 0;
	width: 100%;
}
#side .side-close {
	display: block;
	position: absolute;
	top: 10px;
	right: 5px;
	padding: 15px;
	text-decoration: none;
	font-size: 26px;
	line-height: 1;
	color: #000;
}

/* HOVER */
@media screen and (min-width: 769px) {
	#side .nav a {
		transition: color 0.3s ease;
	}
	#side .nav a:hover {
		color: #16a085;
	}
	#side .side-close {
		transition: color 0.3s ease;
	}
	#side .side-close:hover {
		color: #16a085;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	#side {
		right: -140px;
		width: 140px;
	}
	.side-opened #side {
		transform: translateX(-140px);
	}
	#side .nav ul {
		padding: 20px 0 110px 0;
	}
	#side .nav ul li {
		padding-top: 20px;
		font-size: 13px;/*font-size:  14px;*/
	}
	#side .nav a i {
		font-size: 50px;
	}
	#side .nav .logout {
		bottom: 15px;
	}
	#side .side-close {
		top: 2px;
		right: 0;
		font-size: 20px;
	}
}

/*============================================================
	ページの先頭へボタン（追従型）
*/
#pagetop {
	position: fixed;
	z-index: 100;
	bottom: 30px;
	right: 50px;
	margin-bottom: -110px;
	width: 80px;
	height: 80px;
	transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.view-pagetop #pagetop {
	margin-bottom: 0;
}
.side-opened #pagetop {
	transform: translateX(-180px);
}
#pagetop a {
	overflow: hidden;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 6px;
	background: rgba(0,0,0,0.8) url(../img/pagetop.png) 50% 50% no-repeat;
	background-size: 37px 37px;
	text-decoration: none;
	text-indent: -999em;
}

/* HOVER */
@media screen and (min-width: 769px) {
	#pagetop a {
		transition: opacity 0.3s ease;
	}
	#pagetop a:hover {
		opacity: 0.7;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	#pagetop {
		bottom: 20px;
		right: 15px;
		margin-bottom: -60px;
		width: 40px;
		height: 40px;
	}
	.side-opened #pagetop {
		transform: translateX(-140px);
	}
	#pagetop a {
		border-radius: 5px;
		background-size: 22px 22px;
	}
}

/*============================================================
	新規帳票作成ボタン（追従型）
*/
#create {
	overflow: hidden;
	position: fixed;
	z-index: 100;
	bottom: 30px;
	left: 0;
	padding-right: 20px;
}
#create a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: -90px;
	padding: 0 22px 0 105px;
	height: 50px;
	background-color: #189579;
	border-radius: 25px;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
}
#create a:hover {
	text-decoration: none;
}
#create a span {
	position: relative;
	display: inline-block;
	padding: 0 1.5em 1px 0;
}
#create a span i {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -0.5em;
	font-size: 1.2em;
	line-height: 1;
}

/* HOVER */
@media screen and (min-width: 769px) {
	#create a {
		transition: transform 0.2s ease 0s;
	}
	#create a:hover {
		transform: translateX(10px);
	}
}

/* SP */
@media screen and (max-width: 768px) {
	#create {
		bottom: 50px;
	}
	#create a {
		padding: 0 18px 0 105px;
		height: 40px;
		border-radius: 20px;
		font-size: 13px;/*font-size:  16px;*/
	}
}

/*============================================================
	フッター
*/
#footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	color: #fff;
	transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.side-opened #footer {
	transform: translateX(-180px);
}
#footer .inner {
	padding: 20px 0;
	background-color: #2f2f33;
}
#footer p {
	font-size: 11px;
	line-height: 1.5;
}

/* SP */
@media screen and (max-width: 768px) {
	.side-opened #footer {
		transform: translateX(-140px);
	}
	#footer .inner {
		padding: 10px 0;
	}
	#footer p {
		font-size: 10px;
	}
}

/*============================================================
	パン屑
*/
.breadcrumb {
	padding: 2px 0 6px 0;
	background-color: #16a085;
	font-size: 13px;/*font-size:  14px;*/
	color: #fff;
}
.breadcrumb a {
	color: #fff;
}

/* SP */
@media screen and (max-width: 768px) {
	.breadcrumb {
		display: none;
	}
}

/*============================================================
	アコーディオン
*/
.accordion-child {
	overflow: hidden;
}
.accordion-opened .accordion-child {
	overflow: visible;
}
.accordion-child .accordion-child-wrap {
	position: relative;
}

/*============================================================
	ボタン 標準
*/
.btn-default {
	display: block;
	padding: 12px 1.4em;
	background: #16a085;
	border-radius: 24px;
	box-shadow: 1px 1px 0px 0px rgba(255,255,255,0.2) inset, -1px -1px 0px 0px rgba(0,0,0,0.2) inset;
	text-decoration: none !important;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
}
.btn-default span {
	position: relative;
	display: inline-block;
	padding: 0 1.5em 1px 0;
}
.btn-default.min-w span {
	width: 140px;
}
.btn-default span i {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -0.5em;
	font-size: 16px;/* font-size:  19px; */
	line-height: 1;
}
.btn-default .icon-lg {
	display: block;
	margin-bottom: 5px;
	text-decoration: none;
	font-size: 60px;
	line-height: 1;
}
.btn-tall {
	padding: 40px 0;
}

/* HOVER */
@media screen and (min-width: 769px) {
	.btn-default {
		transition: opacity 0.3s ease;
	}
	.btn-default:hover {
		opacity: 0.7;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.btn-tall {
		padding: 12px 0;
	}
}

/*============================================================
	ボタン グレー
*/
.btn-gray {
	display: block;
	padding: 0 1em;
	background-color: #ccc;
	border-radius: 22px;
	border: 1px solid #ccc;
	text-decoration: none !important;
	text-align: center;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 38px;
	color: #666;
}
.btn-gray span {
	position: relative;
	display: inline-block;
	margin: 0 0 0 -0.2em;
	padding: 0 0 0 30px;
}
.btn-gray span i {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
	font-size: 24px;
	line-height: 1;
}
/*============================================================
	ボタン イエロー
*/
.btn-white {
	display: block;
	padding: 0 1em;
	background-color: #ffffff;
	border-radius: 22px;
	border: 1px solid #ffffff;
	text-decoration: none !important;
	text-align: center;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 38px;
	color: #16a085;
}
.btn-white span {
	position: relative;
	display: inline-block;
	margin: 0 0 0 -0.2em;
	padding: 0 15px 0 15px;
}

/* HOVER */
@media screen and (min-width: 769px) {
	.btn-gray {
		transition: opacity 0.3s ease;
	}
	.btn-gray:hover {
		opacity: 0.7;
	}
}

/*============================================================
	ボタン アウトライン
*/
.btn-outline {
	display: block;
	padding: 0 1em;
	background-color: #fff;
	border-radius: 22px;
	border: 1px solid #16a085;
	text-decoration: none !important;
	text-align: center;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 38px;
	color: #16a085;
}
.btn-outline span {
	position: relative;
	display: inline-block;
	margin: 0 0 0 -0.2em;
	padding: 0 0 0 30px;
}
.btn-outline span i {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
	font-size: 24px;
	line-height: 1;
}

/* HOVER */
@media screen and (min-width: 769px) {
	.btn-outline {
		transition: background-color 0.3s ease, color 0.3s ease;
	}
	.btn-outline:hover {
		background-color: #16a085;
		color: #fff;
	}
}

/*============================================================
	ボタン ダウンロード
*/
.btn-download {
	position: relative;
	z-index: 1;
	display: table;
	margin: 0 auto;
	text-align: center;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 40px;
}
.btn-download li {
	display: table-cell;
	vertical-align: top;
	width: 10px;
	white-space: nowrap;
}
.btn-download li a {
	display: block;
	padding: 0 1em;
	background-color: #16a085;
	border: 1px solid #fff;
	border-right: 0;
	text-decoration: none;
	color: #fff;
}
.btn-download li:first-child a {
	border-radius: 22px 0 0 22px;
}
.btn-download li:last-child a {
	border-right: 1px solid #fff;
	border-radius: 0 22px 22px 0;
}
.btn-download li a span {
	position: relative;
	display: inline-block;
	margin: 0 0 0 -0.2em;
	padding: 0 0 0 30px;
}
.btn-download li a span i {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
	font-size: 24px;
	line-height: 1;
}

/* HOVER */
@media screen and (min-width: 769px) {
	.btn-download li a {
		transition: background-color 0.3s ease;
	}
	.btn-download li a:hover {
		background-color: #5bbca9;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.btn-download {
		width: 100%;
	}
	.btn-download li a {
		padding: 0;
	}
	.btn-download li a span {
		padding: 0 0 0 25px;
	}
}

/*============================================================
	ボタン スイッチ
*/
.btn-switch {
	white-space: nowrap;
	text-align: center;
}
.btn-switch .switch-wrap {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 auto;
	min-width: 100px;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	background-color: #ccc;
	font-weight: 700;
}
.btn-switch .switch-wrap i {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	padding: 0 3px;
	width: 50%;
	height: 100%;
	transition: left 0.2s ease;
}
.btn-switch.on .switch-wrap i {
	left: 50%;
}
.btn-switch.off .switch-wrap i {
	left: 0;
}
.btn-switch .switch-wrap i::before {
	content: '';
	display: block;
	width: 100%;
	height: 44px;
	border-radius: 22px;
	background-color: #16a085;
	box-shadow: 1px 1px 0px 0px rgba(255,255,255,0.2) inset, -1px -1px 0px 0px rgba(0,0,0,0.2) inset;
}
.btn-switch .switch-wrap a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 100%;
	color: #fff;
	text-decoration: none;
}
.btn-switch.on .switch-wrap a.on,
.btn-switch.off .switch-wrap a.off {
	cursor: default;
}

/* HOVER */
@media screen and (min-width: 769px) {
	.btn-switch .switch-wrap a {
		transition: color 0.3s ease;
	}
	.btn-switch .switch-wrap a:hover {
		color: #16a085;
	}
	.btn-switch.on .switch-wrap a.on:hover,
	.btn-switch.off .switch-wrap a.off:hover {
		color: #fff;
	}
}

/*============================================================
	ページ送り
*/
.pager {
	display: flex;
	justify-content: center;
	margin: 40px 0 0 0;
}
.pager ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 5px 50px;
	background-color: #16a085;
	border-radius: 20px;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 1.5;
	color: #fff;
}
.pager ul li {
	padding: 5px 15px;
}
.pager ul li a {
	color: #fff;
}
.pager ul li.active {
	opacity: 0.5;
}
.pager-sp {
	display: none;
}

/* SP */
@media screen and (max-width: 768px) {
	.pager {
		margin: 20px 0 0 0;
	}
	.pager ul {
		padding: 5px 20px;
		border-radius: 22px;
		font-size: 13px;/*font-size:  16px;*/
	}
	.pager-pc {
		display: none;
	}
	.pager-sp {
		display: flex;
	}
}

/*============================================================
	フォーム
*/
textarea,
.input {
	display: block;
	padding: 0.5em 1em 0.6em 1em;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
}
textarea {
	width: 100%;
}
textarea:disabled,
.input:disabled {
	color: #999;
	opacity: 0.6;
}
select {
	display: block;
	width: 100%;
	padding: 0.5em 34px 0.6em 1em;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff url(../img/form-select.png) 100% 50% no-repeat;
	background-size: 30px 15px;
}
select.auto {
	width: auto;
}
select:disabled {
	background-image: url(../img/form-select-disabled.png);
	color: #999;
	opacity: 0.6;
}
.checkbox input + span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 25px;
}
.checkbox input + span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.072em;
	left: 0;
	width: 18px;
	height: 18px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.checkbox input:checked + span::before {
	border-color: #16a085;
	background: #16a085 url(../img/form-checkbox.png) 50% 50% no-repeat;
	background-size: cover;
}
.checkbox input:disabled + span {
	opacity: 0.6;
}
.checkbox input:disabled + span::before {
	border-color: #999;
	background-color: #999;
}
.radio input + span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 25px;
}
.radio input + span::before,
.radio input + span::after {
	content: '';
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	border-radius: 50%;
}
.radio input + span::before {
	display: block;
	width: 18px;
	height: 18px;
	background-color: #fff;
	border: 1px solid #ccc;
}
.radio input + span::after {
	display: none;
	margin: 6px 0 0 6px;
	width: 8px;
	height: 8px;
	background-color: #333;
}
.radio input:checked + span::after {
	display: block;
}
.radio input:disabled + span {
	opacity: 0.6;
}
.radio input:disabled + span::after {
	background-color: #999;
}


/* SP */
@media screen and (max-width: 768px) {
	select {
		padding-left: 10px;
	}
}

/*============================================================
	見出し
*/
.unit-heading-primary {
	position: relative;
	padding-bottom: 10px;
	border-bottom: 2px solid #000;
}
.unit-heading-primary .h {
	font-size: 24px;
}
.unit-heading-primary.has-accordion {
	cursor: pointer;
}
.unit-heading-primary.has-accordion::before,
.unit-heading-primary.has-accordion::after {
	content: '';
	display: block;
	position: absolute;
	background-color: #000;
}
.unit-heading-primary.has-accordion::before {
	top: 50%;
	right: 0;
	margin-top: -1px;
	margin-right: 1px;
	width: 20px;
	height: 2px;
}
.unit-heading-primary.has-accordion::after {
	top: 50%;
	right: 10px;
	margin-top: -10px;
	width: 2px;
	height: 20px;
}
.accordion-opened .unit-heading-primary.has-accordion::after {
	display: none;
}

/* SP */
@media screen and (max-width: 768px) {
	.unit-heading-primary {
		border-bottom-width: 1px;
	}
	.unit-heading-primary .h {
		font-size: 20px;
	}
}

/*============================================================
	注釈
*/
.bank-notes {
	margin: 20px 0 0 0;
	font-size: 13px;/*font-size:  14px;*/
}
.bank-notes .h {
	font-size: 13px;/*font-size:  16px;*/
}
.bank-notes p,
.bank-notes table {
	margin: 5px 0;
}
.bank-notes .note {
	padding-left: 1em;
	text-indent: -1em;
}
.bank-notes table td {
	padding: 0 0.5em 0 0;
}
/* SP */
@media screen and (max-width: 768px) {
	.bank-notes {
		padding: 0 15px;
	}
	.bank-notes table,
	.bank-notes table tbody,
	.bank-notes table tr,
	.bank-notes table td {
		display: block;
	}
	.bank-notes table td:last-child {
		padding-left: 1em;
	}
}

/*============================================================
	リスト
*/
.unit-list-primary li {
	padding: 18px 5px;
	font-size: 13px;/*font-size:  14px;*/
}
.unit-list-primary li:nth-child(even) {
	background-color: #f7f7f7;
}

/*============================================================
	表組
*/
.unit-table {
	display: table;
	width: 100%;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 1.5;
}
.unit-table a {
	font-weight: 700;
}
.unit-table .table-row {
	display: table-row;
	color: #000;
}
.unit-table .table-row > div,
.unit-table .table-row > a {
	display: table-cell;
	vertical-align: middle;
	font-weight: normal;
}
.unit-table .table-th > div {
	padding: 15px;
	background-color: #e7e7e7;
	border-right: 1px solid #ccc;
	border-bottom: 2px solid #999;
	text-align: center;
	font-weight: 700;
	white-space: nowrap;
}
.unit-table .table-th > div:last-child {
	width: 10px;
	border-right: 0;
}
.unit-table .table-th a {
	color: #000;
}
.unit-table .table-th img {
	position: relative;
	top: 0.16em;
	display: inline-block;
	width: 16px;
}
.unit-table .table-td {
	text-decoration: none;
}
.unit-table .table-td > div,
.unit-table .table-td > a {
	padding: 12px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #999;
	text-align: center;
	white-space: nowrap;
}
.unit-table .table-td > div:first-child {
	text-align: left;
}
.unit-table .table-td > div:last-child {
	border-right: 0;
}
.unit-table .table-td:nth-child(odd) > div,
.unit-table .table-td:nth-child(odd) > a {
	background-color: #f7f7f7;
}
.unit-table .table-td .left {
	text-align: left;
}
.unit-table .table-td .name {
	width: 200px;
	text-align: left;
	white-space: normal;
}
.unit-table .table-td .name_tight {
	width: 100px;
	text-align: left;
	white-space: normal;
}
.unit-table .table-td .type {
	padding: 6px;
}
.unit-table .table-td .type span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	height: 50px;
	font-weight: 700;
	line-height: 1.1;
	color: #fff;
}
.unit-table .table-td .type span.issue-type-1 {
	background-color: #3498db;
}
.unit-table .table-td .type span.issue-type-2 {
	background-color: #e67e22;
}
.unit-table .table-td .type,
.unit-table .table-td .stateus {
	padding: 6px;
}
.unit-table .table-td .stateus > span,
.unit-table .table-td .stateus > a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	height: 50px;
	border: 1px solid #16a085;
	font-weight: 700;
	text-decoration: none;
}
.unit-table .table-td .stateus > a {
	min-width: 70px;
	border-radius: 25px;
	border: 0;
	background-color: #16a085;
	box-shadow: 1px 1px 0px 0px rgba(255,255,255,0.2) inset, -1px -1px 0px 0px rgba(0,0,0,0.2) inset;
	color: #fff;
}
.unit-table .table-td .stateus .incomplete {
	min-width: 70px;
	border-radius: 25px;
	border: 0;
	background-color: #ccc;
	box-shadow: 0 0 0px 0px rgba(255,255,255,0) inset, 0 0 0px 0px rgba(0,0,0,0) inset;
	color: #fff;
}
.unit-table .table-td .price {
	text-align: right;
	font-weight: 700;
}
.unit-table .table-total > div {
	border-top: 1px solid #999;
}

@media screen and (max-width: 1024px) {
	.unit-table .table-td .name {
		width: 10px;
		white-space: nowrap;
	}
}

/* HOVER */
@media screen and (min-width: 769px) {
	.unit-table .table-td:hover > div {
		background-color: #fbfbfb;
	}
	.unit-table .table-td:nth-child(odd):hover > div,
	.unit-table .table-td:nth-child(odd):hover > a {
		background-color: #f0f0f0;
	}
	.unit-table .table-td .stateus > a {
		transition: opacity 0.3s ease;
	}
	.unit-table .table-td .stateus > a:hover {
		opacity: 0.7;
	}
}

/*============================================================
	フォームレイアウト
*/
.unit-form {
	margin: 0 -20px;
	padding: 10px 0 0 0;
	font-size: 13px;/*font-size:  14px;*/
}
.unit-form .row {
	display: flex;
	flex-wrap: wrap;
}
.unit-form .col {
	padding: 0 20px;
	flex-basis: 50%;
	max-width: 50%;
}
.unit-form .col-full {
	flex-basis: 100%;
	max-width: 100%;
}
.unit-form .col .table {
	width: 100%;
}
.unit-form .col .table > tbody > tr > th,
.unit-form .col .table > tbody > tr > td {
	vertical-align: top;
	padding: 20px 0 0 0;
	text-align: left;
}
.unit-form .col .table > tbody > tr > th {
	padding: 30px 0 0 0;
	width: 160px;
	line-height: 1.2;
}
.unit-form .col .table > tbody > tr > th.none-margin {
	padding: 20px 0 0 0;
}
.unit-form .col .table > tbody > tr > th > div {
	display: flex;
	align-items: center;
}
.unit-form .col .table-middle > tbody > tr > th,
.unit-form .col .table-middle > tbody > tr > td {
	padding: 20px 0 0 0;
	vertical-align: middle;
}
.unit-form .required {
	display: block;
	margin: 0 0 0 1em;
	padding: 0 0.5em;
	border: 1px solid #f00;
	font-size: 12px;
	line-height: 1.5;
	color: #f00;
}
.unit-form .note {
	margin: 1em 0 0 0;
}
.unit-form .form-text {
	padding: 10px 0;
	line-height: 1.2;
}
.unit-form .form-inline {
	display: flex;
	align-items: center;
}
.unit-form .form-inline > div,
.unit-form .form-inline > p {
	margin: 0 5px 0 0;
}
.unit-form .form-inline > div:last-child,
.unit-form .form-inline > p:last-child {
	margin: 0;
}
.unit-form .form-inline p {
	line-height: 1.1;
}
.unit-form .form-inline .btn-default {
	padding-top: 0;
	padding-bottom: 0;
	line-height: 38px;
}
.unit-form .form-inline .btn-default,
.unit-form .form-inline .btn-default span {
	padding-left: 1em;
	padding-right: 1em;
}
.unit-form .form-input .input {
	width: 100%;
}
.unit-form .form-input .input.min {
	width: 140px;
}
.unit-form .form-file {
	display: flex;
	align-items: center;
}
.unit-form .form-file .image {
	margin: 0 30px 0 0;
}
.unit-form .form-file .image img {
	max-width: 100%;
	width: auto;
}
.unit-form .form-input-file {
	position: relative;
	overflow: hidden;
}
.unit-form .form-input-file input {
	position: absolute;
	top: 0;
	left: -100%;
	right: 0;
	bottom: 0;
	opacity: 0;
	cursor: pointer;
}
.unit-form .form-password {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.unit-form .form-password > div:first-child {
	flex: 1;
	padding-right: 10px;
}
.unit-form .form-password .input {
	width: 100%;
}
.unit-form .form-password .btn-gray {
	width: 100px;
}
.unit-form .form-password .btn-gray span {
	padding: 0;
	white-space: nowrap;
}
.unit-form .form-check-inline {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 10px 0;
}
.unit-form .form-check-inline li {
	margin: 10px 2em 0 0;
}
.unit-form .form-check-inline li:last-child {
	margin-right: 0;
}
.form-multi {
	overflow-y: auto;
	border: 1px solid #ccc;
	border-radius: 5px;
	line-height: 20px;
}
.form-multi label {
	display: block;
	position: relative;
}
.form-multi label:nth-child(even) {
	background-color: #f7f7f7;
}
.form-multi label input {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: block;
	width: auto;
	height: auto;
	opacity: 0;
}
.form-multi label span {
	position: relative;
	display: block;
	padding: 10px 15px;
}
.form-multi label input:checked + span {
	background-color: #16a085;
	color: #fff;
}
.form-multi label .delete {
	display: none;
	position: absolute;
	z-index: 2;
	right: 10px;
	top: 50%;
	margin-top: -10px;
	color: #fff;
	cursor: pointer;
}
.form-multi label input:checked + span i {
	display: block;
}
.form-date-calendar {
	display: flex;
	flex-wrap: wrap;
}
.form-date-calendar > div {
	position: relative;
	display: flex;
}
.form-date-calendar .input {
	margin-right: 5px;
	width: 140px !important;
}
.form-date-calendar > div > button {
	display: block;
	overflow: hidden;
	width: 40px;
	border-radius: 6px;
	box-shadow: 1px 1px 0px 0px rgba(255,255,255,0.2) inset, -1px -1px 0px 0px rgba(0,0,0,0.2) inset;
	background: #16a085 url('../img/icon-carender.svg') 50% 50% no-repeat;
	background-size: 22px 22px;
	text-decoration: none !important;
	text-indent: -999em;
}
.ui-datepicker {
	position: absolute !important;
	top: 45px !important;
	left: 0 !important;
	font-size: 13px;/*font-size:  14px;*/
}

@media screen and (max-width: 1080px) {
	.unit-form {
		margin: 0;
	}
	.unit-form .row {
		display: block;
	}
	.unit-form .col {
		padding: 0;
		max-width: 100%;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.unit-form {
		padding: 0 15px;
	}
	.unit-form .col .table,
	.unit-form .col .table > tbody,
	.unit-form .col .table > tbody > tr,
	.unit-form .col .table > tbody > tr > th,
	.unit-form .col .table > tbody > tr > td {
		display: block;
	}
	.unit-form .col .table > tbody > tr > th,
	.unit-form .col .table > tbody > tr > td {
		padding: 10px 0 0 0;
		width: 100%;
	}
	.unit-form .col .table > tbody > tr > th {
		padding: 15px 0 0 0;
		font-size: 13px;/*font-size:  16px;*/
	}
	.unit-form .col .table > tbody > tr > th.none-margin {
		padding: 15px 0 0 0;
	}
	.unit-form .col .table th br {
		display: none;
	}
	.unit-form .note {
		margin: 0.5em 0 0 0;
		font-size: 12px;
	}
	.unit-form .form-select select {
		width: 100%;
	}
	.unit-form .form-check-inline {
		margin: 0;
	}
	.unit-form .form-check-inline li {
		margin: 0 2em 10px 0;
	}
	.unit-form .form-check-inline.w50 li {
		margin: 0 0 10px 0;
		flex-basis: 50%;
		max-width: 50%;
	}
	.unit-form .form-file {
		display: block;
	}
	.unit-form .form-file .image {
		margin: 0 0 20px 0;
		text-align: center;
	}
	.unit-form .form-file .btn-wrap {
		display: flex;
		justify-content: center;
	}
	.form-date-calendar .input {
		width: 192px !important;
	}
}

/*============================================================
	下部ボタンレイアウト
*/
.unit-foot-ctr {
	position: relative;
}
.unit-foot-ctr .reset {
	position: absolute;
	top: 0;
	right: 0;
}
.unit-foot-ctr .btn-default {
	margin: 0 auto;
	min-width: 200px;
}
.unit-foot-ctr .back {
	margin: 30px 0 0 0;
	text-align: center;
	font-weight: 700;
	font-size: 13px;/*font-size:  14px;*/
}
/* SP */
@media screen and (max-width: 768px) {
	.unit-foot-ctr .reset {
		position: static;
		display: flex;
		justify-content: center;
		margin: 10px 0 0 0;
	}
	.unit-foot-ctr .back {
		margin: 20px 0 0 0;
	}
}

/*============================================================
	モーダル
*/
.modal-viewer {
	display: none;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}
.modal-viewer .modal-content {
	overflow-y: auto;
	width: 100%;
	height: 100%;
}
.modal-viewer .modal-outer {
	display: table;
	width: 100%;
	height: 100%;
}
.modal-viewer .modal-inner {
	display: table-cell;
	vertical-align: middle;
	padding: 15px 15px 60px 15px;
}
.modal-viewer .modal-close {
	display: flex;
	justify-content: flex-end;
	margin: 0 auto;
	max-width: 650px;
}
.modal-viewer .modal-close a {
	display: block;
	position: relative;
	width: 40px;
	height: 60px;
}
.modal-viewer .modal-close a::before,
.modal-viewer .modal-close a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
	width: 40px;
	height: 2px;
	background-color: #fff;
}
.modal-viewer .modal-close a::before {
	transform: rotate(45deg);
}
.modal-viewer .modal-close a::after {
	transform: rotate(-45deg);
}
.modal-viewer .modal-window {
	margin: 0 auto;
	padding: 50px;
	max-width: 650px;
	background-color: #fff;
}
.modal-viewer .foot-ctr div {
	display: flex;
	justify-content: center;
	margin: 25px 0 0 0;
}
.modal-viewer .unit-form {
	margin: 0;
}
.modal-viewer .unit-form .table {
	width: 100%;
}
.modal-viewer .unit-form .table > tbody > tr > th,
.modal-viewer .unit-form .table > tbody > tr > td {
	padding: 5px 0;
}
.modal-viewer .unit-form .table > tbody > tr > th {
	padding-right: 1.5em;
	width: 10px;
	text-align: left;
	white-space: nowrap;
}
.modal-viewer .foot-ctr div {
	display: flex;
	justify-content: center;
	margin: 25px 0 0 0;
}
.modal-viewer .list {
	overflow-x: auto;
	margin: 30px 0 0 0;
}
.modal-viewer .list .table {
	width: 100%;
	font-size: 13px;/*font-size:  14px;*/
	line-height: 1.5;
}
.modal-viewer .list .table th {
	padding: 20px 10px;
	width: 10px;
	background-color: #e7e7e7;
	border-right: 1px solid #ccc;
	border-bottom: 2px solid #999;
	text-align: center;
	font-weight: 700;
	white-space: nowrap;
}
.modal-viewer .list .table td {
	padding: 20px 10px;
	width: 10px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #999;
	text-align: center;
	white-space: nowrap;
}
.modal-viewer .list .table th:last-child,
.modal-viewer .list .table td:last-child {
	border-right: 0;
}
.modal-viewer .form-date-calendar > div {
	padding: 5px 0;
}
.modal-viewer .form-date-calendar .between {
	padding: 5px 10px;
	line-height: 38px;
}

/* SP */
@media screen and (max-width: 768px) {
	.modal-viewer .modal-window {
		padding: 15px 15px 25px 15px;
	}
	.modal-viewer .list {
		margin: 10px 0 0 0;
	}
	.modal-viewer .unit-form {
		padding: 10px 0 0 0;
	}
	.modal-viewer .unit-form .table,
	.modal-viewer .unit-form .table > tbody,
	.modal-viewer .unit-form .table > tbody > tr,
	.modal-viewer .unit-form .table > tbody > tr > th,
	.modal-viewer .unit-form .table > tbody > tr > td {
		display: block;
	}
	.modal-viewer .unit-form .table > tbody > tr > th {
		font-size: 13px;/*font-size:  16px;*/
	}
}

/*============================================================
	モーダル　アクセス制限
*/
.modal-viewer .allow-view {
	padding: 20px 0 0 0;
}
.modal-viewer .allow-view .form-inline {
	justify-content: space-between;
}
.modal-viewer .allow-view .form-inline > div {
	margin-top: 10px;
}
.modal-viewer .allow-view .form-inline > div:first-child {
	flex: 1;
}
.modal-viewer .allow-view .form-inline .input {
	width: 100%;
}
.modal-viewer .allow-view .form-multi {
	margin-top: 20px;
	height: 202px;
}

/*============================================================
	計算機
*/
.widget-calc {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 750px;
	height: 490px;
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.4);
	border-radius: 8px 8px 0 0;
}
.widget-calc::after {
	content: '';
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.widget-drag .widget-calc::after {
	display: block;
}
.widget-calc .widget-bar {
	height: 30px;
	background-color: #16a085;
	border-radius: 8px 8px 0 0;
}
.widget-calc .widget-close {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
}
.widget-calc .widget-close::before,
.widget-calc .widget-close::after {
	content: '';
	display: block;
	position: absolute;
	top: 14px;
	left: 7px;
	width: 16px;
	height: 2px;
	background-color: #fff;
}
.widget-calc .widget-close::before {
	transform: rotate(45deg);
}
.widget-calc .widget-close::after {
	transform: rotate(-45deg);
}
.widget-calc iframe {
	width: 100%;
	height: 460px;
	border: 0;
	outline: 0;
}
/*============================================================
	タリフ
*/
.widget-tariff {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 750px;
	height: 490px;
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.4);
	border-radius: 8px 8px 0 0;
}
.widget-tariff::after {
	content: '';
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.widget-drag .widget-tariff::after {
	display: block;
}
.widget-tariff .widget-bar {
	height: 30px;
	background-color: #16a085;
	border-radius: 8px 8px 0 0;
}
.widget-tariff .widget-close {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
}
.widget-tariff .widget-close::before,
.widget-tariff .widget-close::after {
	content: '';
	display: block;
	position: absolute;
	top: 14px;
	left: 7px;
	width: 16px;
	height: 2px;
	background-color: #fff;
}
.widget-tariff .widget-close::before {
	transform: rotate(45deg);
}
.widget-tariff .widget-close::after {
	transform: rotate(-45deg);
}
.widget-tariff iframe {
	width: 100%;
	height: 460px;
	border: 0;
	outline: 0;
}