@charset "UTF-8";
@import url("fontawesome.css");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/****************************************
 	mixin								*
*****************************************/
/****************************************
 	基本設定							*
*****************************************/
* {
  box-sizing: border-box;
}

html {
  font-size: 13px;
}

body {
  background-color: #ecedf0;
  font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Lucida Grande",Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-size: 1rem;
  color: #777;
}

input, select, textarea, button, option {
  font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Lucida Grande",Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-size: 1rem;
  color: #495057;
}

button {
  cursor: pointer;
}

a {
  text-decoration: none;
  color: #006667;
}
a:hover {
  opacity: 0.75;
}

img {
  max-width: 100%;
  height: auto;
}

/****************************************
 	ログイン							*
*****************************************/
#login {
  display: flex;
  height: 90vh;
  justify-content: center;
  align-items: center;
}
#login .box {
  width: 90%;
  max-width: 450px;
}
#login .box .header {
  position: relative;
  padding-bottom: 20px;
}
#login .box .header .logo {
  width: calc(100% - 150px);
}
#login .box .header .logo p {
  display: inline-block;
  padding: 3px 10px;
  color: #666;
}
#login .box .header .title {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 20px 25px;
  background-color: #006667;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px;
  border-radius: 5px 5px 0 0;
}
#login .box .header .title i {
  font-size: 16px;
  color: #fff;
}
#login .box .header .title span {
  margin-left: 3px;
  font-size: 14px;
  color: #fff;
}
#login .box .content {
  padding: 35px;
  background-color: #fff;
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  border-top: 5px solid #006667;
  -moz-border-radius: 5px 0 5px 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px 0 5px 5px;
}
#login .box .content p {
  margin-bottom: 10px;
}
#login .box .content .action {
  margin-top: 20px;
  text-align: center;
}
#login .box .content .form-group {
  flex-direction: column;
}
#login .box .content .form-group + .form-group {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #f3f3f3;
}
#login .box .content input[type='text'],
#login .box .content input[type='password'] {
  padding: 12px;
}
#login .box .content button.append,
#login .box .content span.append {
  padding-top: 12px;
  padding-bottom: 12px;
}
#login .box .content .alert {
  margin-bottom: 30px;
}
#login .box .footer {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
#login .box .footer p {
  color: #999;
}

/****************************************
 	レイアウト							*
*****************************************/
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  z-index: 1001;
}

#wrapper {
  padding-top: 110px;
}
#wrapper nav {
  position: fixed;
  top: 60px;
  bottom: 0;
  left: 0;
  width: 300px;
}
#wrapper #content #lead {
  position: fixed;
  top: 60px;
  right: 0;
  left: 300px;
  z-index: 1001;
}
#wrapper #content main,
#wrapper #content footer {
  margin-left: 300px;
}

.close #wrapper nav {
  width: 73px;
}
.close #wrapper #content #lead {
  left: 73px;
}
.close #wrapper #content main,
.close #wrapper #content footer {
  margin-left: 73px;
}

.none #wrapper nav {
  width: 0;
}
.none #wrapper #content #lead {
  left: 0;
}
.none #wrapper #content main,
.none #wrapper #content footer {
  margin-left: 0;
}

.error #wrapper {
  padding-top: 60px;
}
.error #wrapper #content #lead {
  position: inherit;
}
.error #wrapper #content main,
.error #wrapper #content footer {
  margin-left: 0;
}

/****************************************
 	ヘッダー							*
*****************************************/
header {
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-top: 3px solid #ededed;
  border-bottom: 1px solid #e9e9e6;
  overflow: hidden;
}
header .left .logo {
  display: flex;
}
header .left .logo a {
  display: inline-block;
  padding: 12px 30px 12px 20px;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
header .left .logo a:hover {
  opacity: 0.75;
}
header .left .logo a:first-child:not(:last-child) {
  padding-right: 0;
}
header .left .logo a:last-child:not(:first-child) {
  padding-left: 0;
}
header .left .logo a img {
  height: 35px;
}
header .left .logo p {
  padding: 20px 0;
}
header .right {
  display: flex;
}
header .right > div {
  padding-right: 25px;
  padding-left: 25px;
}
header .right > div:not(:first-child) {
  border-left: 1px solid #f5f5f5;
}
header .right .search {
  width: 260px;
  padding-top: 9px;
}
header .right .search input[type='text'] {
  padding: 10px;
  border-color: #ededed;
}
header .right .search button {
  padding: 8px 13px;
  background-color: #fff;
  border-color: #ededed;
}
header .right .icons {
  padding-top: 13px;
}
header .right .icons ul {
  display: flex;
}
header .right .icons ul li:not(:first-child) {
  margin-left: 10px;
}
header .right .icons ul li a {
  display: inline-block;
  position: relative;
  width: 30px;
  height: 30px;
  background: #fff;
  -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
}
header .right .icons ul li a i {
  font-size: 13px;
  line-height: 28px;
  color: #777;
}
header .right .icons ul li a span {
  display: inline-block;
  position: absolute;
  right: -8px;
  top: -3px;
  height: 16px;
  padding: 2px 5px;
  background: #d2312d;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  font-size: 10px;
  font-weight: 400;
  color: #fff;
  line-height: 1;
  text-align: center;
}
header .right .menu {
  display: none;
  padding: 0;
}
header .right .menu a {
  display: block;
  padding: 19px 25px;
  font-size: 1.5em;
  color: #333;
}
header .right .menu a i.icon-times {
  display: none;
}
header .right .user {
  padding-top: 10px;
}
header .right .user dl {
  display: flex;
}
header .right .user dl dt i {
  display: inline-block;
  width: 35px;
  height: 35px;
  padding: 5px;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  font-size: 20px;
  text-align: center;
}
header .right .user dl dd {
  margin-left: 10px;
  padding-top: 4px;
}
header .right .user dl dd p {
  color: #001;
}
header .right .user dl dd span {
  display: block;
  margin-top: 3px;
  font-size: 0.9em;
  line-height: 0.9em;
  color: #acacac;
}

.open header .right .menu a i.icon-times {
  display: inline-block;
}
.open header .right .menu a i.icon-bars {
  display: none;
}

/****************************************
 	ナビゲーション						*
*****************************************/
nav {
  background-color: #fff;
}
nav .header {
  display: flex;
  height: 50px;
}
nav .header .title {
  flex: 1;
  padding-left: 15px;
}
nav .header .title p {
  line-height: 50px;
  color: #465162;
}
nav .header .menu {
  width: 73px;
  background-color: #f6f6f6;
  -moz-border-radius: 0 0 0 5px;
  -webkit-border-radius: 0;
  border-radius: 0 0 0 5px;
}
nav .header .menu a {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  line-height: 47px;
  color: #333;
}
nav .content {
  position: absolute;
  overflow: auto;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  -moz-box-shadow: -5px 0 0 #f6f6f6 inset;
  -webkit-box-shadow: -5px 0 0 #f6f6f6 inset;
  box-shadow: -5px 0 0 #f6f6f6 inset;
}
nav .content:hover {
  -moz-box-shadow: -5px 0 0 #006667 inset;
  -webkit-box-shadow: -5px 0 0 #006667 inset;
  box-shadow: -5px 0 0 #006667 inset;
}
nav .content ul {
  margin-right: 5px;
}
nav .content ul li:not(:last-child) {
  border-bottom: 1px solid #f9f9f9;
}
nav .content ul li.on a {
  color: #006667;
  background-color: #f8f8f8;
}
nav .content a {
  display: block;
  padding: 16px 28px;
  color: #777;
  -moz-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
nav .content a:hover {
  background-color: #fafafa;
}
nav .content a i {
  display: inline-block;
  width: 1.1em;
  margin-right: 10px;
  font-size: 1.15em;
  text-align: center;
}
nav .content a span {
  font-size: 1.05em;
}
nav .content p {
  margin-right: 5px;
  padding: 8px 15px;
  border-top: 2px dotted #f5f5f5;
  border-bottom: 2px dotted #f5f5f5;
  font-size: 0.85em;
}

.close nav {
  z-index: 1002;
}
.close nav .header .title {
  display: none;
}
.close nav .content:hover {
  width: 300px;
  -moz-box-shadow: -4px 0 0 #006667 inset;
  -webkit-box-shadow: -4px 0 0 #006667 inset;
  box-shadow: -4px 0 0 #006667 inset;
}
.close nav .content:hover ul {
  margin-right: 4px;
}
.close nav .content:hover a span {
  display: inline;
}
.close nav .content ul li:not(:last-child) {
  border-bottom: none;
}
.close nav .content a span {
  display: none;
}
.close nav .content p {
  display: none;
}

/****************************************
 	リード								*
*****************************************/
#lead {
  display: flex;
  justify-content: space-between;
  height: 50px;
  background-color: #f6f6f6;
  -moz-box-shadow: 1px 3px 0 1px #e2e3e6;
  -webkit-box-shadow: 1px 3px 0 1px #e2e3e6;
  box-shadow: 1px 3px 0 1px #e2e3e6;
  border-left: 1px solid #e6e6e6;
  overflow: initial;
}
#lead .title h1 {
  display: inline-block;
  margin-left: -1px;
  padding: 0 22px 0 20px;
  border-bottom: 4px solid #006667;
  box-sizing: content-box;
  line-height: 50px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #333;
}
#lead .title ul.jump {
  display: inline-block;
  margin-left: 15px;
  margin-bottom: 10px;
  vertical-align: bottom;
}
#lead .title ul.jump li {
  display: inline-block;
}
#lead .title ul.jump li a {
  display: inline-block;
  padding: 5px;
  color: #666;
}
#lead .title ul.jump li a i {
  margin-right: 3px;
}
#lead .breadcrumb {
  padding-right: 20px;
}
#lead .breadcrumb ul {
  display: flex;
}
#lead .breadcrumb ul li {
  line-height: 50px;
}
#lead .breadcrumb ul li + li:before {
  content: "/";
  margin-right: 10px;
  margin-left: 10px;
}

/****************************************
 	メイン								*
*****************************************/
main {
  min-height: calc(100vh - 60px - 50px - 90px);
  padding: 40px;
}
main .row {
  display: flex;
}
main .row + .row {
  margin-top: 40px;
}
main .row article {
  flex: 1;
}
main .row article + article {
  margin-left: 20px;
}

section.close .header {
  -moz-border-radius-bottomright: 5px;
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px;
  -moz-border-radius-bottomleft: 5px;
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
section.close .content {
  display: none;
}
section + section {
  margin-top: 20px;
}
section .header {
  display: flex;
  height: 50px;
  padding: 0 15px 0 20px;
  justify-content: space-between;
  background-color: #f6f6f6;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px;
  border-radius: 5px 5px 0 0;
  border-bottom: 1px solid #dadada;
}
section .header h2 {
  font-size: 1.25em;
  line-height: 50px;
  color: #33353f;
}
section .header h2 span {
  font-size: 0.75em;
  color: #999;
}
section .header h2 i {
  margin-right: 5px;
}
section .header ul {
  display: flex;
}
section .header ul li {
  line-height: 50px;
}
section .header ul li + li {
  margin-left: 5px;
}
section .header ul li a {
  padding: 3px 7px;
  font-size: 1.2rem;
  color: #b4b4b4;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
section .header ul li a:hover {
  background-color: #ecedf0;
}
section .content {
  padding: 25px;
  background-color: #fdfdfd;
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0;
  border-radius: 0 0 5px 5px;
}

/****************************************
 	セッション（検索）					*
*****************************************/
section.search .content {
  padding-bottom: 15px;
}
section.search .box {
  display: inline-block;
  vertical-align: bottom;
  margin-right: 10px;
  margin-bottom: 10px;
}
section.search .box p {
  margin-bottom: 7px;
  font-weight: bold;
}
section.search .box select {
  padding: 10px 6px;
}
section.search .box .button {
  padding: 10px 24px;
}

/****************************************
 	セッション（リスト）				*
*****************************************/
section.list .action {
  margin-bottom: 15px;
}
section.list .action a.button {
  display: inline-block;
}
section.list table {
  width: 100%;
  color: #4b4949;
}
section.list table.unchange th, section.list table.unchange td {
  width: revert-layer;
}
section.list table caption {
  padding: 10px;
  background-color: #edf2f7;
  border: 1px solid #dee2e6;
  border-width: 1px 1px 0 1px;
  font-weight: bold;
}
section.list table th, section.list table td {
  /* width: auto; */
}
section.list table th.sp, section.list table td.sp {
  display: none;
}
section.list table thead th, section.list table thead td,
section.list table tbody th,
section.list table tbody td {
  padding: 12px 8px;
  border: 1px solid #dee2e6;
  line-height: 1.5em;
  word-wrap: anywhere;
}
section.list table thead th.check, section.list table thead td.check,
section.list table tbody th.check,
section.list table tbody td.check {
  padding: 0 5px;
  text-align: center;
}
section.list table thead th.check label.radio,
section.list table thead th.check label.checkbox, section.list table thead td.check label.radio,
section.list table thead td.check label.checkbox,
section.list table tbody th.check label.radio,
section.list table tbody th.check label.checkbox,
section.list table tbody td.check label.radio,
section.list table tbody td.check label.checkbox {
  line-height: 1.5;
}
section.list table thead th.check label.radio span,
section.list table thead th.check label.checkbox span, section.list table thead td.check label.radio span,
section.list table thead td.check label.checkbox span,
section.list table tbody th.check label.radio span,
section.list table tbody th.check label.checkbox span,
section.list table tbody td.check label.radio span,
section.list table tbody td.check label.checkbox span {
  width: 20px;
  height: 20px;
  font-size: 13px;
}
section.list table thead th.tl, section.list table thead td.tl,
section.list table tbody th.tl,
section.list table tbody td.tl {
  text-align: left;
}
section.list table thead th.tc, section.list table thead td.tc,
section.list table tbody th.tc,
section.list table tbody td.tc {
  text-align: center;
  white-space: nowrap;
}
section.list table thead th.tr, section.list table thead td.tr,
section.list table tbody th.tr,
section.list table tbody td.tr {
  text-align: right;
  white-space: nowrap;
}
section.list table thead tr {
  background-color: #f5f5f5;
}
section.list table thead th {
  font-weight: bold;
  color: #292828;
}
section.list table thead th a {
  color: #292828;
}
section.list table tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}
section.list table tbody tr[data-href]:hover {
  background-color: #f0f0f0;
  cursor: pointer;
}
section.list table tbody tr.none {
  background-color: #fffaeb;
}
section.list table tbody tr.none td {
  padding: 30px;
}
section.list table tbody td:empty:before {
  content: "--";
  font-size: 0.85em;
  color: #ccc;
}
section.list table tbody td.yet {
  background-color: #e30;
}
section.list table tbody td.minus {
  color: #e30;
}
section.list table tbody td.minus p {
  color: #e30;
}
section.list table tbody td.nolink select {
  padding: 6px 9px;
}
section.list table tbody td p {
  font-size: 0.75em;
  line-height: 1.25em;
  color: #999;
}
section.list table tbody td a.gmap {
  margin-left: 5px;
  padding: 1px 3px;
  font-size: 0.7em;
}
section.list table tbody td span.unit {
  margin-left: 3px;
  vertical-align: bottom;
  font-size: 0.85em;
  color: #999;
}
section.list table tbody td img.thumbnail {
  width: 32px;
  height: 32px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  vertical-align: inherit;
}
section.list table tbody td .button {
  padding: 2px 5px;
  font-size: 0.9em;
}
section.list table tbody td .button i {
  margin-right: 3px;
}
section.list table tbody td .memo {
  display: inline-block;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 5px 10px;
  background-color: #ffe;
  border: 1px dotted #999;
  font-size: 0.9em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 300px;
}
section.list table tbody td .memo:first-child {
  margin-top: 0;
}
section.list table tbody td .memo:last-child {
  margin-bottom: 0;
}
section.list table tbody + tfoot td {
  padding-top: 20px;
}
section.list table tfoot:first-child td {
  padding-top: 0;
}
section.list table tfoot td:empty {
  padding-top: 0;
}
section.list table tfoot td .input-group {
  max-width: none;
}
section.list table tfoot td input[type='text'],
section.list table tfoot td input[type='email'],
section.list table tfoot td input[type='tel'],
section.list table tfoot td input[type='url'],
section.list table tfoot td input[type='password'],
section.list table tfoot td input[type='file'],
section.list table tfoot td input[type='number'],
section.list table tfoot td textarea,
section.list table tfoot td select {
  max-width: none;
}
section.list table tfoot td span.unit {
  margin-left: 3px;
  vertical-align: bottom;
  font-size: 0.85em;
  color: #999;
}
section.list table tfoot td .action {
  float: left;
}
section.list table tfoot td .action ul {
  display: flex;
}
section.list table tfoot td .action ul li:not(:first-child) {
  margin-left: 3px;
}
section.list table tfoot td .action ul li a.button {
  display: inline-block;
}
section.list table tfoot td .paginator {
  float: right;
}
section.list table tfoot td .paginator ul {
  display: flex;
}
section.list table tfoot td .paginator ul li {
  margin-left: -1px;
  background-color: #fcfcfc;
  border: 1px solid #dee2e6;
}
section.list table tfoot td .paginator ul li:hover {
  background-color: #f0f0f0;
}
section.list table tfoot td .paginator ul li:first-child {
  -moz-border-radius-topleft: 3px;
  -webkit-border-top-left-radius: 3px;
  border-top-left-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
  -webkit-border-bottom-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
section.list table tfoot td .paginator ul li:last-child {
  -moz-border-radius-topright: 3px;
  -webkit-border-top-right-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-radius-bottomright: 3px;
  -webkit-border-bottom-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
section.list table tfoot td .paginator ul li.disabled {
  background-color: #fff;
  border-color: #dee2e6;
}
section.list table tfoot td .paginator ul li.disabled a {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
}
section.list table tfoot td .paginator ul li.current {
  background-color: #006667;
  border-color: #006667;
}
section.list table tfoot td .paginator ul li.current a {
  color: #fff;
}
section.list table tfoot td .paginator ul li a {
  display: inline-block;
  padding: 12px 14px;
  color: #006667;
}

/****************************************
 	セッション（カレンダー表示）		*
*****************************************/
main .row article section.calendar .content {
  padding: 0;
  overflow: auto;
}

section.calendar .line {
  display: flex;
}
section.calendar .line:nth-child(2n+1) > div {
  background-color: #f9f9f9;
}
section.calendar .line:last-child > div {
  border-bottom: none;
}
section.calendar .line.head > div {
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #eee;
  border-right: 1px solid #ddd;
  font-weight: bold;
}
section.calendar .line.head > div.day.today {
  background-color: #e0ffe0;
}
section.calendar .line.head > div.day.weekend {
  color: #e30;
  background-color: #ffe5e5e5;
}
section.calendar .line > div {
  padding-top: 20px;
  padding-bottom: 20px;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #ccc;
}
section.calendar .line > div:last-child {
  border-right: none;
}
section.calendar .line .title {
  min-width: 200px;
  padding-right: 15px;
  text-align: right;
  border-right: 2px solid #eee;
}
section.calendar .line .day {
  position: relative;
  min-width: 40px;
  text-align: center;
}
section.calendar .line .day.today {
  background-color: #e5ffe5;
}
section.calendar .line .day.weekend {
  background-color: #fff0f0;
}
section.calendar .line .order {
  position: absolute;
  z-index: 1;
  top: 15px;
  border-top: 2px solid #999;
  min-width: 40px;
}
section.calendar .line .order.nos:before, section.calendar .line .order.plan:after, section.calendar .line .order.noe:after {
  display: none;
}
section.calendar .line .order.nos:not(.noe) a, section.calendar .line .order.noe:not(.nos) a {
  position: absolute;
}
section.calendar .line .order.nos:not(.noe) a {
  left: 5px;
}
section.calendar .line .order.noe:not(.nos) a {
  right: 5px;
}
section.calendar .line .order:before, section.calendar .line .order:after {
  content: '●';
  position: absolute;
  top: -7px;
  color: #999;
  font-size: 10px;
}
section.calendar .line .order:before {
  left: -5px;
}
section.calendar .line .order:after {
  right: -5px;
}
section.calendar .line .order.tbd {
  border-style: dotted;
  border-color: #333;
}
section.calendar .line .order a {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.9em;
  white-space: pre;
  color: #7f7f7f;
}

/****************************************
 	セッション（ビュー）				*
*****************************************/
section.view table {
  width: 100%;
  color: #4b4949;
}
section.view table + table {
  margin-top: 20px;
}
section.view table caption {
  padding: 10px;
  background-color: #edf2f7;
  border: 1px solid #dee2e6;
  border-width: 1px 1px 0 1px;
  font-weight: bold;
}
section.view table tbody tr:nth-child(odd) {
  background-color: #f5f5f5;
}
section.view table tbody tr th, section.view table tbody tr td {
  border: 1px solid #dee2e6;
  line-height: 1.5em;
  word-wrap: anywhere;
}
section.view table tbody tr th.tl, section.view table tbody tr td.tl {
  text-align: left;
}
section.view table tbody tr th.tc, section.view table tbody tr td.tc {
  text-align: center;
}
section.view table tbody tr th.tr, section.view table tbody tr td.tr {
  text-align: right;
}
section.view table tbody tr th {
  width: 20%;
  padding: 20px 15px;
  min-width: 180px;
  color: #292828;
}
section.view table tbody tr td {
  padding: 20px;
}
section.view table tbody tr td:empty:before {
  content: "未登録";
  font-size: 0.85em;
  line-height: 1;
  color: #ccc;
}
section.view table tbody tr td.code pre {
  line-height: 0.75em;
}
section.view table tbody tr td.minus {
  color: #e30;
}
section.view table tbody tr td a:not(.button) {
  text-decoration: underline;
  color: #292828;
}
section.view table tbody tr td a.gmap {
  margin-left: 5px;
  padding: 3px 3px;
  font-size: 0.8em;
}
section.view table tbody tr td a i {
  margin-right: 5px;
  font-size: 16px;
  vertical-align: sub;
}
section.view table tbody tr td a i.icon-file-pdf {
  color: #b30b00;
}
section.view table tbody tr td span.unit {
  margin-left: 5px;
  vertical-align: bottom;
  font-size: 0.9em;
  color: #999;
}
section.view table tbody tr td .preview img.thumbnail {
  width: 128px;
  height: 128px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  vertical-align: inherit;
}
section.view table tbody tr td p.static {
  padding-left: 10px;
}
section.view table tbody tr td p.explain {
  margin-top: 5px;
  font-size: 0.9em;
  color: #999;
}
section.view table tbody tr td span.explain {
  margin-left: 5px;
  vertical-align: super;
  font-size: 0.9em;
  color: #999;
}
section.view table tbody tr td .view a.button,
section.view table tbody tr td .edit a.button {
  padding-left: 8px;
  padding-right: 8px;
}
section.view table tbody tr td .view {
  position: relative;
  padding: 11px;
}
section.view table tbody tr td .view p {
  display: inline-block;
}
section.view table tbody tr td .view a.button {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 5px;
}
section.view table tbody tr td .edit {
  display: none;
}
section.view table tbody + tfoot td {
  padding-top: 20px;
}
section.view table tfoot:first-child tr:first-child td:first-child {
  width: 20%;
}
section.view table tfoot td.flex {
  display: flex;
}
section.view table tfoot td .button {
  min-width: 100px;
}
section.view table tfoot td .input-group {
  max-width: none;
}
section.view table tfoot td .input-group + .input-group {
  justify-content: end;
}

/****************************************
 	セッション（フォーム）				*
*****************************************/
section.form table {
  width: 100%;
  color: #4b4949;
}
section.form table + table {
  margin-top: 20px;
}
section.form table caption {
  padding: 10px;
  background-color: #edf2f7;
  border: 1px solid #dee2e6;
  border-width: 1px 1px 0 1px;
  font-weight: bold;
}
section.form table thead tr {
  background-color: #f5f5f5;
}
section.form table thead tr th, section.form table thead tr td {
  border: 1px solid #dee2e6;
  line-height: 1.5em;
  word-wrap: anywhere;
}
section.form table thead tr th {
  padding: 20px 15px;
  width: 20%;
  min-width: 180px;
  color: #292828;
}
section.form table thead tr td {
  padding: 9px 10px;
}
section.form table tbody tr:nth-child(odd) {
  background-color: #f5f5f5;
}
section.form table tbody tr.static td {
  padding: 20px 15px;
}
section.form table tbody tr th, section.form table tbody tr td {
  border: 1px solid #dee2e6;
  line-height: 1.5em;
  word-wrap: anywhere;
}
section.form table tbody tr th.tl, section.form table tbody tr td.tl {
  text-align: left;
}
section.form table tbody tr th.tc, section.form table tbody tr td.tc {
  text-align: center;
}
section.form table tbody tr th.tr, section.form table tbody tr td.tr {
  text-align: right;
}
section.form table tbody tr th {
  padding: 20px 15px;
  width: 20%;
  min-width: 180px;
  color: #292828;
}
section.form table tbody tr th p.title {
  margin-bottom: 5px;
  font-size: 0.9em;
  color: #999;
}
section.form table tbody tr td {
  padding: 9px 10px;
}
section.form table tbody tr td:empty {
  padding: 20px 20px 19px;
}
section.form table tbody tr td:empty:before {
  content: "--";
  font-size: 0.85em;
  color: #ccc;
}
section.form table tbody tr td label.radio,
section.form table tbody tr td label.checkbox {
  padding: 5px 5px 4px;
}
section.form table tbody tr td p.error {
  margin-top: 5px;
  font-size: 0.75em;
  color: #d2322d;
}
section.form table tbody tr td p.error:before {
  content: "※";
}
section.form table tbody tr td span.unit {
  margin-left: 5px;
  vertical-align: bottom;
  font-size: 0.9em;
  color: #999;
}
section.form table tbody tr td .input-group + .preview {
  margin-top: 10px;
}
section.form table tbody tr td .preview img {
  vertical-align: middle;
}
section.form table tbody tr td .preview img[src=''] {
  display: none;
}
section.form table tbody tr td .preview img.thumbnail {
  width: 128px;
  height: 128px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
section.form table tbody tr td .preview a.button {
  display: inline-block;
  padding: 0px 4px;
  margin-top: 5px;
  margin-left: 5px;
  text-decoration: none;
}
section.form table tbody tr td a {
  text-decoration: underline;
}
section.form table tbody tr td p.static {
  padding-left: 10px;
}
section.form table tbody tr td p.explain {
  margin-top: 5px;
  font-size: 0.9em;
  color: #999;
}
section.form table tbody tr td span.explain {
  margin-left: 5px;
  vertical-align: super;
  font-size: 0.9em;
  color: #999;
}
section.form table tbody + tfoot td {
  padding-top: 20px;
}
section.form table tfoot:first-child tr:first-child td:first-child {
  width: 20%;
}
section.form table tfoot td .input-group {
  max-width: none;
}
section.form table tfoot td .button {
  min-width: 100px;
}

/****************************************
 	セッション（タグ）					*
*****************************************/
section.tag .content {
  padding: 10px;
  background-color: #f5f5f5;
}
section.tag table {
  width: 100%;
}

/****************************************
 	セクション（エラー）				*
*****************************************/
section.error {
  line-height: 1.5em;
  letter-spacing: 0.5px;
}
section.error a {
  text-decoration: underline;
}
section.error pre {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #f5f5f5;
}

/****************************************
 	フッター							*
*****************************************/
footer {
  position: relative;
  height: 90px;
  text-align: center;
}
footer p {
  line-height: 90px;
  color: #999;
}
footer p span {
  font-weight: bold;
  color: #006667;
}
footer a {
  position: absolute;
  right: 40px;
  bottom: 20px;
}

/****************************************
 	モーダル							*
*****************************************/
#overlay {
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  padding: 20px;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  -moz-animation: overlayFadeIn 0.2s ease-in 0s forwards;
  -webkit-animation: overlayFadeIn 0.2s ease-in 0s forwards;
  animation: overlayFadeIn 0.2s ease-in 0s forwards;
}
#overlay #modal {
  max-height: 90vh;
  min-width: 800px;
  overflow-y: auto;
}

@keyframes overlayFadeIn {
  to {
    background-color: rgba(0, 0, 0, 0.5);
  }
}
@-webkit-keyframes overlayFadeIn {
  to {
    background-color: rgba(0, 0, 0, 0.5);
  }
}
/****************************************
 	モーダル（詳細）					*
*****************************************/
#modal table[data-table='column'] tr.hide th {
  color: #ccc;
}
#modal table[data-table='column'] select {
  vertical-align: top;
}
#modal table[data-table='column'] input.valid {
  border-left-width: 3px;
  border-left-color: #5bc0de;
}
#modal table[data-table='column'] select.valid + .select2 .select2-selection {
  border-left-width: 3px;
  border-left-color: #4ab3f4;
  -moz-border-radius: 5px 0 0 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px 0 0 5px;
}
#modal table[data-table='action'] {
  margin-top: 0;
}
#modal table[data-table='action'] td {
  padding-top: 0;
  text-align: center;
}
#modal table[data-table='action'] tfoot td a.button {
  width: 150px;
}

/****************************************
 	パーツ（フォーム）					*
*****************************************/
.form-group {
  display: flex;
}
.form-group + .form-group {
  margin-top: 10px;
}

.inline-block {
  display: inline-block;
}
.inline-block + .inline-block {
  margin-left: 10px;
}

.input-group {
  display: flex;
  flex: 1;
  max-width: 500px;
}
.input-group + .input-group {
  margin-left: 10px;
}

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='password'],
input[type='file'],
input[type='number'],
textarea,
select {
  z-index: 1;
  flex: 1;
  width: 100%;
  max-width: 500px;
  padding: 10px 9px;
  background-color: #fff;
  border: 1px solid #ced4da;
  -moz-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
input[type='text']:invalid,
input[type='email']:invalid,
input[type='tel']:invalid,
input[type='url']:invalid,
input[type='password']:invalid,
input[type='file']:invalid,
input[type='number']:invalid,
textarea:invalid,
select:invalid {
  box-shadow: none;
  border-left-width: 3px;
  border-left-color: #d2322d;
}
input[type='text']:disabled,
input[type='email']:disabled,
input[type='tel']:disabled,
input[type='url']:disabled,
input[type='password']:disabled,
input[type='file']:disabled,
input[type='number']:disabled,
textarea:disabled,
select:disabled {
  cursor: no-drop;
  background-color: #eee;
}
input[type='text']:focus,
input[type='email']:focus,
input[type='tel']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='file']:focus,
input[type='number']:focus,
textarea:focus,
select:focus {
  outline: 0;
  border-color: #80bdff;
  -moz-box-shadow: 0 0 3px 3px rgba(0, 123, 255, 0.25);
  -webkit-box-shadow: 0 0 3px 3px rgba(0, 123, 255, 0.25);
  box-shadow: 0 0 3px 3px rgba(0, 123, 255, 0.25);
}
input[type='text']:first-child,
input[type='email']:first-child,
input[type='tel']:first-child,
input[type='url']:first-child,
input[type='password']:first-child,
input[type='file']:first-child,
input[type='number']:first-child,
textarea:first-child,
select:first-child {
  -moz-border-radius-topleft: 3px;
  -webkit-border-top-left-radius: 3px;
  border-top-left-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
  -webkit-border-bottom-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
input[type='text']:last-child,
input[type='email']:last-child,
input[type='tel']:last-child,
input[type='url']:last-child,
input[type='password']:last-child,
input[type='file']:last-child,
input[type='number']:last-child,
textarea:last-child,
select:last-child {
  -moz-border-radius-topright: 3px;
  -webkit-border-top-right-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-radius-bottomright: 3px;
  -webkit-border-bottom-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
input[type='text'].datepicker,
input[type='email'].datepicker,
input[type='tel'].datepicker,
input[type='url'].datepicker,
input[type='password'].datepicker,
input[type='file'].datepicker,
input[type='number'].datepicker,
textarea.datepicker,
select.datepicker {
  width: 100px;
}
input[type='text'].datetimepicker,
input[type='email'].datetimepicker,
input[type='tel'].datetimepicker,
input[type='url'].datetimepicker,
input[type='password'].datetimepicker,
input[type='file'].datetimepicker,
input[type='number'].datetimepicker,
textarea.datetimepicker,
select.datetimepicker {
  width: 150px;
}
input[type='text'].tl,
input[type='email'].tl,
input[type='tel'].tl,
input[type='url'].tl,
input[type='password'].tl,
input[type='file'].tl,
input[type='number'].tl,
textarea.tl,
select.tl {
  text-align: left;
}
input[type='text'].tc,
input[type='email'].tc,
input[type='tel'].tc,
input[type='url'].tc,
input[type='password'].tc,
input[type='file'].tc,
input[type='number'].tc,
textarea.tc,
select.tc {
  text-align: center;
}
input[type='text'].tr,
input[type='email'].tr,
input[type='tel'].tr,
input[type='url'].tr,
input[type='password'].tr,
input[type='file'].tr,
input[type='number'].tr,
textarea.tr,
select.tr {
  text-align: right;
}

input[type='file'] {
  background-color: #fff;
  padding: 7px 7px 6px;
}

input[type='number'] {
  -moz-appearance: textfield;
}
input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

textarea {
  height: 120px;
  line-height: 1.5em;
}

select[multiple] {
  padding: 0;
}
select[multiple] option {
  padding: 10px;
}
select[multiple] option:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

a.append,
button.append,
span.append {
  padding-top: 9px;
  padding-bottom: 9px;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  color: #495057;
  margin-right: -1px;
  margin-left: -1px;
  width: 50px;
  text-align: center;
}
a.append:first-child,
button.append:first-child,
span.append:first-child {
  margin-left: 0;
  -moz-border-radius: 3px 0 0 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px 0 0 3px;
}
a.append:last-child,
button.append:last-child,
span.append:last-child {
  margin-right: 0;
  -moz-border-radius: 0 3px 3px 0;
  -webkit-border-radius: 0;
  border-radius: 0 3px 3px 0;
}
a.append.primary,
button.append.primary,
span.append.primary {
  background-color: #59b3e8;
  border-color: #59b3e8 #59b3e8 #59b3b5;
  color: #fff;
}
a.append.success,
button.append.success,
span.append.success {
  background-color: #5ab75a;
  border-color: #5ab75a #5ab75a #5ab727;
  color: #fff;
}
a.append.info,
button.append.info,
span.append.info {
  background-color: #5bc0de;
  border-color: #5bc0de #5bc0de #5bc0ab;
  color: #fff;
}
a.append.warning,
button.append.warning,
span.append.warning {
  background-color: #ed9c28;
  border-color: #ed9c28 #ed9c28 #ed9c00;
  color: #fff;
}
a.append.danger,
button.append.danger,
span.append.danger {
  background-color: #d2322d;
  border-color: #d2322d #d2322d #d23200;
  color: #fff;
}
a.append.inverse,
button.append.inverse,
span.append.inverse {
  background-color: #171717;
  border-color: #171717 #171717 #171700;
  color: #fff;
}
a.append.clear,
button.append.clear,
span.append.clear {
  background-color: #656768;
  border-color: #656768 #656768 #656735;
  color: #fff;
}

a.append {
  line-height: 1.3em;
}

label.radio,
label.checkbox {
  position: relative;
  display: inline-block;
  top: 3px;
  vertical-align: sub;
  line-height: 1.9em;
}
label.radio input[type='radio'],
label.radio input[type='checkbox'],
label.checkbox input[type='radio'],
label.checkbox input[type='checkbox'] {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
}
label.radio input[type='radio']:disabled + span,
label.radio input[type='checkbox']:disabled + span,
label.checkbox input[type='radio']:disabled + span,
label.checkbox input[type='checkbox']:disabled + span {
  background-color: #d5d5d5;
  cursor: no-drop;
}
label.radio input[type='radio']:checked + span:after,
label.radio input[type='checkbox']:checked + span:after,
label.checkbox input[type='radio']:checked + span:after,
label.checkbox input[type='checkbox']:checked + span:after {
  position: absolute;
  font-family: "Font Awesome 5 Solid";
}
label.radio input[type='radio']:focus + span,
label.radio input[type='checkbox']:focus + span,
label.checkbox input[type='radio']:focus + span,
label.checkbox input[type='checkbox']:focus + span {
  outline: 0;
  -moz-box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  -webkit-box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
}
label.radio input[type='radio'] + span,
label.checkbox input[type='radio'] + span {
  border-radius: 50%;
}
label.radio input[type='radio']:checked + span:after,
label.checkbox input[type='radio']:checked + span:after {
  top: 0px;
  left: 4.2px;
  color: #006667;
  content: "\f111";
}
label.radio input[type='radio']:checked + span,
label.checkbox input[type='radio']:checked + span {
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #006667;
}
label.radio input[type='checkbox']:checked + span,
label.checkbox input[type='checkbox']:checked + span {
  background-color: #006667;
  border: 1px solid #006667;
}
label.radio input[type='checkbox']:checked + span:after,
label.checkbox input[type='checkbox']:checked + span:after {
  top: 0px;
  left: 4px;
  color: rgba(255, 255, 255, 0.9);
  content: "\f00c";
}
label.radio span,
label.checkbox span {
  display: inline-block;
  position: relative;
  width: 26px;
  height: 25.9px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.9);
  -moz-transition: background-color, 0.5s, ease, 0s;
  -o-transition: background-color, 0.5s, ease, 0s;
  -webkit-transition: background-color, 0.5s, ease, 0s;
  transition: background-color, 0.5s, ease, 0s;
  font-size: 16px;
}
label.radio b,
label.checkbox b {
  display: inline-block;
  position: relative;
  top: -10px;
  margin-right: 10px;
  margin-left: 10px;
}

label.checkbox b {
  margin-left: 10px;
}

/****************************************
 	パーツ（ボタン）					*
*****************************************/
.button {
  padding: 8px 16px;
  background-color: #ccc;
  border: 1px solid;
  border-color: #ccc #ccc #b3b3b3;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  text-align: center;
  color: #fff;
  cursor: pointer;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.button + .button {
  margin-left: 5px;
}
.button:hover {
  opacity: 0.75;
}
.button.primary {
  background-color: #59b3e8;
  border-color: #59b3e8 #59b3e8 #59b3b5;
}
.button.success {
  background-color: #5ab75a;
  border-color: #5ab75a #5ab75a #5ab727;
}
.button.info {
  background-color: #5bc0de;
  border-color: #5bc0de #5bc0de #5bc0ab;
}
.button.warning {
  background-color: #ed9c28;
  border-color: #ed9c28 #ed9c28 #ed9c00;
}
.button.danger {
  background-color: #d2322d;
  border-color: #d2322d #d2322d #d23200;
}
.button.inverse {
  background-color: #171717;
  border-color: #171717 #171717 #171700;
}
.button.clear {
  background-color: #656768;
  border-color: #656768 #656768 #656735;
}
.button i {
  margin-right: 3px;
}
.button i:last-child {
  margin-right: 0;
}

a.button {
  padding-top: 10px;
  line-height: 1.4em;
}

/****************************************
 	パーツ（ラベル）					*
*****************************************/
span.label {
  padding: 3px 5px 4px;
  background-color: #656768;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  font-size: 0.85em;
  line-height: 1;
  color: #fff;
}
span.label.primary {
  background-color: #59b3e8;
  color: #fff;
}
span.label.success {
  background-color: #5ab75a;
  color: #fff;
}
span.label.info {
  background-color: #5bc0de;
  color: #fff;
}
span.label.warning {
  background-color: #ed9c28;
  color: #fff;
}
span.label.danger {
  background-color: #d2322d;
  color: #fff;
}
span.label.inverse {
  background-color: #171717;
  color: #fff;
}
span.label.la-php {
  background-color: #4e5b92;
  color: #fff;
}
span.label.la-cakephp {
  background-color: #d73846;
  color: #fff;
}
span.label.la-wordpress {
  background-color: #2375a3;
  color: #fff;
}
span.label.la-eccube {
  background-color: #e6b502;
  color: #fff;
}
span.label.la-javascript {
  background-color: #3a8ec1;
  color: #fff;
}
span.label.la-htmlcss {
  background-color: #006008;
  color: #fff;
}

/****************************************
 	パーツ（アラート）					*
*****************************************/
#flashMessage {
  margin-bottom: 20px;
}

.alert {
  padding: 17.5px;
  background-color: #fcfcfc;
  border: 1px solid #545657;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  color: #fff;
}
.alert.primary {
  border-color: #59b3e8;
  color: #59b3e8;
}
.alert.success {
  border-color: #5ab75a;
  color: #5ab75a;
}
.alert.info {
  border-color: #5bc0de;
  color: #5bc0de;
}
.alert.warning {
  border-color: #ed9c28;
  color: #ed9c28;
}
.alert.danger {
  border-color: #d2322d;
  color: #d2322d;
}
.alert.inverse {
  border-color: #171717;
  color: #171717;
}
.alert i {
  margin-right: 5px;
}

/****************************************
 	パーツ（その他）					*
*****************************************/
.inpact {
  color: #e30;
  font-weight: bold;
}

/****************************************
 	CakePHP error						*
*****************************************/
pre.cake-error {
  line-height: 1.5em;
  letter-spacing: .5px;
}
pre.cake-error a {
  text-decoration: underline;
}
pre.cake-error .cake-stack-trace {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 10px;
}

/****************************************
 	CakePHP SQLdump						*
*****************************************/
table.cake-sql-log {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  background-color: #eee;
  font-size: 0.8em;
  line-height: 1.5em;
  letter-spacing: .5px;
}
table.cake-sql-log caption {
  padding: 10px;
  background-color: #eee;
  border-bottom: 1px solid #ddd;
}
table.cake-sql-log th, table.cake-sql-log td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
}
table.cake-sql-log th:first-child, table.cake-sql-log td:first-child {
  text-align: center;
}
table.cake-sql-log tbody tr td span.syntax {
  color: #e30;
}

/****************************************
 	width								*
*****************************************/
.w100p {
  width: 100% !important;
  max-width: 100% !important;
}

.w0 {
  width: 0px !important;
}

.w5 {
  width: 5px !important;
}

.w10 {
  width: 10px !important;
}

.w15 {
  width: 15px !important;
}

.w20 {
  width: 20px !important;
}

.w25 {
  width: 25px !important;
}

.w30 {
  width: 30px !important;
}

.w35 {
  width: 35px !important;
}

.w40 {
  width: 40px !important;
}

.w45 {
  width: 45px !important;
}

.w50 {
  width: 50px !important;
}

.w55 {
  width: 55px !important;
}

.w60 {
  width: 60px !important;
}

.w65 {
  width: 65px !important;
}

.w70 {
  width: 70px !important;
}

.w75 {
  width: 75px !important;
}

.w80 {
  width: 80px !important;
}

.w85 {
  width: 85px !important;
}

.w90 {
  width: 90px !important;
}

.w95 {
  width: 95px !important;
}

.w100 {
  width: 100px !important;
}

.w105 {
  width: 105px !important;
}

.w110 {
  width: 110px !important;
}

.w115 {
  width: 115px !important;
}

.w120 {
  width: 120px !important;
}

.w125 {
  width: 125px !important;
}

.w130 {
  width: 130px !important;
}

.w135 {
  width: 135px !important;
}

.w140 {
  width: 140px !important;
}

.w145 {
  width: 145px !important;
}

.w150 {
  width: 150px !important;
}

.w155 {
  width: 155px !important;
}

.w160 {
  width: 160px !important;
}

.w165 {
  width: 165px !important;
}

.w170 {
  width: 170px !important;
}

.w175 {
  width: 175px !important;
}

.w180 {
  width: 180px !important;
}

.w185 {
  width: 185px !important;
}

.w190 {
  width: 190px !important;
}

.w195 {
  width: 195px !important;
}

.w200 {
  width: 200px !important;
}

.w250 {
  width: 250px !important;
}

.w300 {
  width: 300px !important;
}

.w350 {
  width: 350px !important;
}

.w400 {
  width: 400px !important;
}

.w450 {
  width: 450px !important;
}

.w500 {
  width: 500px !important;
}

.w600 {
  width: 600px !important;
}

.w700 {
  width: 700px !important;
}

.w800 {
  width: 800px !important;
}

.w900 {
  width: 900px !important;
}

.w1000 {
  width: 1000px !important;
}

/****************************************
 	height								*
*****************************************/
.h0 {
  height: 0px !important;
}

.h10 {
  height: 10px !important;
}

.h20 {
  height: 20px !important;
}

.h30 {
  height: 30px !important;
}

.h40 {
  height: 40px !important;
}

.h50 {
  height: 50px !important;
}

.h60 {
  height: 60px !important;
}

.h70 {
  height: 70px !important;
}

.h80 {
  height: 80px !important;
}

.h90 {
  height: 90px !important;
}

.h100 {
  height: 100px !important;
}

.h110 {
  height: 110px !important;
}

.h120 {
  height: 120px !important;
}

.h130 {
  height: 130px !important;
}

.h140 {
  height: 140px !important;
}

.h150 {
  height: 150px !important;
}

.h160 {
  height: 160px !important;
}

.h170 {
  height: 170px !important;
}

.h180 {
  height: 180px !important;
}

.h190 {
  height: 190px !important;
}

.h200 {
  height: 200px !important;
}

.h250 {
  height: 250px !important;
}

.h300 {
  height: 300px !important;
}

.h350 {
  height: 350px !important;
}

.h400 {
  height: 400px !important;
}

.h450 {
  height: 450px !important;
}

.h500 {
  height: 500px !important;
}

.h600 {
  height: 600px !important;
}

.h700 {
  height: 700px !important;
}

.h800 {
  height: 800px !important;
}

.h900 {
  height: 900px !important;
}

.h1000 {
  height: 1000px !important;
}

/****************************************
 	レスポンシブル						*
*****************************************/
/* ノートパソコン -------------------------------------------------- */
@media only screen and (min-width: 1306px) and (max-width: 1535px) {
  /****************************************
  	レイアウト							*
  *****************************************/
  #wrapper nav {
    width: 73px;
  }
  #wrapper #content #lead {
    left: 73px;
  }
  #wrapper #content main,
  #wrapper #content footer {
    margin-left: 73px;
  }

  /****************************************
  	ナビゲーション						*
  *****************************************/
  nav {
    z-index: 1002;
  }
  nav .header .title {
    display: none;
  }
  nav .header .menu a {
    color: #ccc;
    pointer-events: none;
  }
  nav .content:hover {
    width: 300px;
    -moz-box-shadow: -4px 0 0 #006667 inset;
    -webkit-box-shadow: -4px 0 0 #006667 inset;
    box-shadow: -4px 0 0 #006667 inset;
  }
  nav .content:hover ul {
    margin-right: 4px;
  }
  nav .content:hover a span {
    display: inline;
  }
  nav .content:hover p {
    display: block;
  }
  nav .content ul li:not(:last-child) {
    border-bottom: none;
  }
  nav .content a span {
    display: none;
  }
  nav .content p {
    display: none;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main {
    padding: 20px;
  }
  main .row {
    display: block;
  }
  main .row + .row {
    margin-top: 30px;
  }
  main .row article + article {
    margin-top: 15px;
    margin-left: 0;
  }
  main .row article section + section {
    margin-top: 15px;
  }
  main .row article section .content {
    padding: 20px;
  }
}
/* タブレット -------------------------------------------------- */
@media only screen and (min-width: 767px) and (max-width: 1305px) {
  /****************************************
  	レイアウト							*
  *****************************************/
  #wrapper {
    padding-top: 60px;
  }
  #wrapper nav {
    display: none;
    width: 100%;
    z-index: 1000;
  }
  #wrapper #content #lead {
    position: inherit;
    height: auto;
  }
  #wrapper #content #lead .breadcrumb {
    display: none;
  }
  #wrapper #content main,
  #wrapper #content footer {
    margin-left: 0;
  }

  .close #wrapper #content main,
  .close #wrapper #content footer {
    margin-left: 0;
  }

  .open #wrapper nav {
    display: block;
  }

  /****************************************
  	ヘッダー							*
  *****************************************/
  header .left .logo p {
    display: none;
  }
  header .right .menu {
    display: block;
  }
  header .right .user {
    display: none;
  }

  /****************************************
  	ナビゲーション						*
  *****************************************/
  nav .header .menu {
    display: none;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main .row {
    display: block;
  }
  main .row article + article {
    margin-left: 0;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main {
    padding: 30px;
  }
  main .row + .row {
    margin-top: 30px;
  }
  main .row article + article {
    margin-top: 15px;
  }
  main .row article section + section {
    margin-top: 15px;
  }
  main .row article section .content {
    padding: 20px;
  }

  /****************************************
  	セッション（リスト）				*
  *****************************************/
  section.list table th.pc, section.list table td.pc {
    display: none;
  }
  section.list table th.sp, section.list table td.sp {
    display: table-cell;
  }
}
/* スマホ -------------------------------------------------- */
@media only screen and (max-width: 766px) {
  /****************************************
  	レイアウト							*
  *****************************************/
  #wrapper {
    padding-top: 60px;
  }
  #wrapper nav {
    display: none;
    width: 100%;
    z-index: 1000;
  }
  #wrapper #content #lead {
    position: inherit;
    height: auto;
  }
  #wrapper #content #lead .breadcrumb {
    display: none;
  }
  #wrapper #content main,
  #wrapper #content footer {
    margin-left: 0;
  }

  .close #wrapper #content main,
  .close #wrapper #content footer {
    margin-left: 0;
  }

  .open #wrapper nav {
    display: block;
  }

  /****************************************
  	ヘッダー							*
  *****************************************/
  header .left .logo p {
    display: none;
  }
  header .right .menu {
    display: block;
  }
  header .right .user {
    display: none;
  }

  /****************************************
  	ナビゲーション						*
  *****************************************/
  nav .header .menu {
    display: none;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main .row {
    display: block;
  }
  main .row article + article {
    margin-left: 0;
  }

  /****************************************
  	基本設定							*
  *****************************************/
  html {
    font-size: 11px;
  }

  /****************************************
  	ナビゲーション						*
  *****************************************/
  nav .content ul {
    display: flex;
    flex-wrap: wrap;
  }
  nav .content ul li {
    width: 50%;
  }
  nav .content a {
    padding: 10px;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main {
    padding: 10px 5px;
  }
  main .row + .row {
    margin-top: 10px;
  }
  main .row article + article {
    margin-top: 5px;
  }
  main .row article section + section {
    margin-top: 5px;
  }
  main .row article section .content {
    padding: 10px;
  }

  /****************************************
  	ヘッダー							*
  *****************************************/
  header .right > div {
    padding-right: 20px;
    padding-left: 0;
  }
  header .right > div:not(:first-child) {
    border-left: none;
  }
  header .right .search {
    display: none;
  }

  /****************************************
  	リード								*
  *****************************************/
  #lead .title ul.jump {
    margin: 10px;
  }

  /****************************************
  	セッション（検索）					*
  *****************************************/
  section.search .box select {
    padding: 7px 6px;
  }
  section.search .box .button {
    padding: 7px 18px;
  }

  /****************************************
  	セッション（リスト）				*
  *****************************************/
  section.list table th.pc, section.list table td.pc {
    display: none;
  }
  section.list table th.sp, section.list table td.sp {
    display: table-cell;
  }
  section.list table thead th, section.list table thead td,
  section.list table tbody th,
  section.list table tbody td {
    width: auto;
    padding: 5px;
  }
  section.list table thead th.check label.radio span,
  section.list table thead th.check label.checkbox span, section.list table thead td.check label.radio span,
  section.list table thead td.check label.checkbox span,
  section.list table tbody th.check label.radio span,
  section.list table tbody th.check label.checkbox span,
  section.list table tbody td.check label.radio span,
  section.list table tbody td.check label.checkbox span {
    width: 15px;
    height: 15px;
    font-size: 10px;
  }
  section.list table thead th.check label.radio span:after,
  section.list table thead th.check label.checkbox span:after, section.list table thead td.check label.radio span:after,
  section.list table thead td.check label.checkbox span:after,
  section.list table tbody th.check label.radio span:after,
  section.list table tbody th.check label.checkbox span:after,
  section.list table tbody td.check label.radio span:after,
  section.list table tbody td.check label.checkbox span:after {
    left: 1.5px;
  }
  section.list table thead th.tl, section.list table thead td.tl,
  section.list table tbody th.tl,
  section.list table tbody td.tl {
    padding-right: 5px;
  }
  section.list table thead th.tc, section.list table thead td.tc,
  section.list table tbody th.tc,
  section.list table tbody td.tc {
    padding-right: 5px;
    padding-left: 5px;
  }
  section.list table thead th.tr, section.list table thead td.tr,
  section.list table tbody th.tr,
  section.list table tbody td.tr {
    padding-left: 5px;
  }
  section.list table thead th.tb, section.list table thead td.tb,
  section.list table tbody th.tb,
  section.list table tbody td.tb {
    display: none;
  }
  section.list table tbody td .memo {
    padding: 5px;
    max-width: 150px;
    white-space: initial;
  }
  section.list table tfoot td {
    padding-top: 10px;
  }
  section.list table tfoot td .paging ul li a {
    padding: 10px 12px;
  }

  /****************************************
  	セッション（ビュー）				*
  *****************************************/
  section.view table tbody tr th, section.view table tbody tr td {
    padding: 15px 10px 13.5px;
  }
  section.view table tbody tr th {
    min-width: 100px;
  }
  section.view table tfoot td {
    padding-top: 10px;
  }
  section.view table tfoot td .button {
    min-width: auto;
  }

  /****************************************
  	セッション（フォーム）				*
  *****************************************/
  section.form table tbody tr.static td {
    padding: 15px 10px 13.5px;
  }
  section.form table tbody tr th {
    padding: 15px 7px 13.5px;
    min-width: 100px;
  }
  section.form table tbody tr td {
    padding: 7px 7px 6px;
  }
  section.form table tbody tr td label.radio,
  section.form table tbody tr td label.checkbox {
    padding: 1px 1.5px 1.3px;
  }
  section.form table tfoot td {
    padding-top: 10px;
  }
  section.form table tfoot td .button {
    min-width: auto;
  }

  /****************************************
  	セッション（ビュー／フォーム）		*
  *****************************************/
  section.form table tr {
    background-color: initial;
  }
  section.form table tr:not(:first-child) th {
    border-top: none !important;
  }
  section.form table th, section.form table td {
    display: block;
  }
  section.form table th {
    width: 100% !important;
    padding: 5px 10px !important;
    background-color: #f5f5f5 !important;
    border-bottom: none !important;
  }
  section.form table td {
    background-color: #ffffff !important;
  }
  section.form table tfoot td.flex {
    flex-direction: column;
    gap: 5px;
  }
  section.form table tfoot td:empty {
    display: none;
  }

  .w300 {
    width: auto !important;
  }

  .w350 {
    width: auto !important;
  }

  .w400 {
    width: auto !important;
  }

  .w450 {
    width: auto !important;
  }

  .w500 {
    width: auto !important;
  }

  .w550 {
    width: auto !important;
  }

  .w600 {
    width: auto !important;
  }

  .w650 {
    width: auto !important;
  }

  .w700 {
    width: auto !important;
  }

  .w750 {
    width: auto !important;
  }

  .w800 {
    width: auto !important;
  }

  .w850 {
    width: auto !important;
  }

  .w900 {
    width: auto !important;
  }

  .w950 {
    width: auto !important;
  }

  .w1000 {
    width: auto !important;
  }

  /****************************************
  	フッター							*
  *****************************************/
  footer {
    text-align: left;
    padding-left: 40px;
  }

  /****************************************
  	パーツ（フォーム）					*
  *****************************************/
  .form-group + .form-group {
    margin-top: 7px;
  }

  .input-group + .input-group {
    margin-left: 7px;
  }

  input[type='text'],
  input[type='email'],
  input[type='tel'],
  input[type='url'],
  input[type='password'],
  textarea {
    padding: 7px;
  }

  input[type='file'] {
    padding: 4px 4px 3px;
  }

  select {
    padding: 6px;
  }

  button.append,
  span.append {
    width: 35px;
    padding-top: 7px;
    padding-bottom: 5px;
    font-size: 0.85em;
  }
}
