@charset "UTF-8";
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								*
*****************************************/
/****************************************
 	keyframes							*
*****************************************/
@-moz-keyframes slideIn {
  0% {
    left: -225px;
    opacity: 0;
  }
  100% {
    left: 225px;
    opacity: 1;
  }
}
@-webkit-keyframes slideIn {
  0% {
    left: -225px;
    opacity: 0;
  }
  100% {
    left: 225px;
    opacity: 1;
  }
}
@keyframes slideIn {
  0% {
    left: -225px;
    opacity: 0;
  }
  100% {
    left: 225px;
    opacity: 1;
  }
}
@-moz-keyframes slideIn2 {
  0% {
    left: -48px;
    opacity: 0;
  }
  100% {
    left: 48px;
    opacity: 1;
  }
}
@-webkit-keyframes slideIn2 {
  0% {
    left: -48px;
    opacity: 0;
  }
  100% {
    left: 48px;
    opacity: 1;
  }
}
@keyframes slideIn2 {
  0% {
    left: -48px;
    opacity: 0;
  }
  100% {
    left: 48px;
    opacity: 1;
  }
}
@-moz-keyframes slideOut {
  0% {
    left: 225px;
    opacity: 1;
  }
  100% {
    left: -225px;
    opacity: 0;
  }
}
@-webkit-keyframes slideOut {
  0% {
    left: 225px;
    opacity: 1;
  }
  100% {
    left: -225px;
    opacity: 0;
  }
}
@keyframes slideOut {
  0% {
    left: 225px;
    opacity: 1;
  }
  100% {
    left: -225px;
    opacity: 0;
  }
}
@-moz-keyframes slideOut2 {
  0% {
    left: 48px;
    opacity: 1;
  }
  100% {
    left: -48px;
    opacity: 0;
  }
}
@-webkit-keyframes slideOut2 {
  0% {
    left: 48px;
    opacity: 1;
  }
  100% {
    left: -48px;
    opacity: 0;
  }
}
@keyframes slideOut2 {
  0% {
    left: 48px;
    opacity: 1;
  }
  100% {
    left: -48px;
    opacity: 0;
  }
}
/****************************************
 	基本設定								*
*****************************************/
body {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Lucida Grande",Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-size: 12px;
  color: #333;
  background-image: url("../images/background.png");
}

input, select, textarea, button, option {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Lucida Grande",Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-size: 12px;
  color: #000;
}

button {
  cursor: pointer;
}

a {
  color: #05972a;
  text-decoration: none;
}

/****************************************
 	ログイン								*
*****************************************/
#login {
  background-image: none;
  background-color: #05972a;
  color: #fff;
  overflow: hidden;
}
#login.second > .lock {
  display: none;
}
#login.second > .login {
  display: block;
}
#login > .lock {
  position: absolute;
  top: 50%;
  left: 50%;
  cursor: pointer;
}
#login > .lock > .lock-inner {
  position: relative;
  top: -125px;
  left: -50%;
  padding: 25px 25px 30px;
  border: 5px solid #fff;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
#login > .lock > .lock-inner > i {
  font-size: 100px;
}
#login > .login {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250px;
}
#login > .login > .login-inner {
  position: relative;
  top: -125px;
  left: -50%;
}
#login > .login > .login-inner > h1 {
  margin-bottom: 15px;
  text-align: center;
  font-family: "___Devastation";
  font-size: 60px;
  letter-spacing: 3px;
  text-shadow: 1px 1px #666;
}
#login > .login > .login-inner > h1 > b {
  margin-right: 1px;
  color: #22aff8;
}
#login > .login > .login-inner > h1 > span {
  display: block;
  margin-left: 35px;
  margin-top: 3px;
  font-size: 8px;
}
#login > .login > .login-inner input[type='text'],
#login > .login > .login-inner input[type='password'] {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #fff;
  border: none;
  box-sizing: border-box;
}
#login > .login > .login-inner button {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #19ab3e;
  border: 1px solid #008316;
  color: #fff;
  box-sizing: border-box;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -moz-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
#login > .login > .login-inner button:hover {
  background-color: #23b548;
}
#login > .login > .login-inner > p.error {
  display: none;
  background-color: #edd;
  color: #da3231;
  padding: 10px;
  font-size: 10px;
}
#login > footer {
  position: fixed;
  bottom: 0;
  text-align: center;
  width: 100%;
  padding-bottom: 10px;
  font-size: 11px;
  opacity: 0.5;
}

/****************************************
 	ヘッダー								*
*****************************************/
header {
  background-color: #05972a;
  color: #fff;
  overflow: hidden;
}
header a {
  color: #fff;
}
header > .logo {
  float: left;
  width: 225px;
  padding: 27px 0;
  text-align: center;
  box-sizing: border-box;
}
header > .logo > a {
  font-family: "___Devastation";
  font-size: 44px;
  letter-spacing: 3px;
  text-shadow: 1px 1px #666;
}
header > .logo > a > b {
  margin-right: 1px;
  color: #22aff8;
}
header > .logo > a > span {
  display: block;
  margin-top: 3px;
  margin-left: 15px;
  font-size: 8px;
  letter-spacing: 0;
}
header > ul.notice {
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
}
header > ul.notice > li {
  float: left;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}
header > ul.notice > li:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}
header > ul.notice > li:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}
header > ul.notice > li > a {
  display: inline-block;
  position: relative;
  width: 120px;
  padding: 22px 0;
  opacity: 0.5;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
header > ul.notice > li > a:hover {
  opacity: 1;
}
header > ul.notice > li > a > i {
  display: block;
  margin-bottom: 10px;
  font-size: 44px;
}
header > ul.notice > li > a > span {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 12px;
}

/****************************************
 	レイアウト大枠						*
*****************************************/
#wrapper {
  background-image: url("../images/background-side.png");
  background-repeat: repeat-y;
}
#wrapper.close {
  background-position: -177px;
}
#wrapper.close > aside {
  width: 48px;
}
#wrapper.close > aside > p.title {
  padding-left: 10px;
  font-size: 0;
}
#wrapper.close > aside > p.title > a.switch {
  right: 22px;
  -moz-transform: matrix(-1, 0, 0, 1, 0, 0);
  -webkit-transform: matrix(-1, 0, 0, 1, 0, 0);
  -o-transform: matrix(-1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(-1, 0, 0, 1, 0, 0);
  transform: matrix(-1, 0, 0, 1, 0, 0);
}
#wrapper.close > aside > ul > li > a {
  padding: 15px;
  font-size: 0;
}
#wrapper.close > #main {
  margin-left: 48px;
}
#wrapper.close .alert {
  left: 48px;
  -moz-animation-name: slideIn2;
  -webkit-animation-name: slideIn2;
  animation-name: slideIn2;
}
#wrapper.close .alert.close {
  -moz-animation-name: slideOut2;
  -webkit-animation-name: slideOut2;
  animation-name: slideOut2;
}
#wrapper.close .alert:before {
  width: 48px;
}

/****************************************
 	サイドメニュー						*
*****************************************/
aside {
  float: left;
  width: 225px;
  background-color: #282828;
  color: #999;
}
aside > p.title {
  position: relative;
  height: 30px;
  padding: 10px 10px 10px 20px;
  background-color: #232323;
  font-size: 10px;
  box-sizing: border-box;
}
aside > p.title > a.switch {
  position: absolute;
  right: 10px;
  color: #999;
  cursor: pointer;
}
aside > p.title > a.switch > i {
  font-size: 8px;
}
aside > ul > li {
  border-bottom: 1px solid #232323;
}
aside > ul > li.on a {
  background-color: #05972a !important;
  color: #fff !important;
}
aside > ul > li > a {
  display: block;
  padding: 15px 20px;
  color: #999;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
aside > ul > li > a:hover {
  background-color: #2d2d2d;
  color: #fff;
}
aside > ul > li > a i {
  margin-right: 5px;
  vertical-align: middle;
  font-size: 13px;
}

/****************************************
 	パンくず								*
*****************************************/
#breadcrumb {
  padding: 10px;
  background-color: #ddd;
  font-size: 11px;
}
#breadcrumb > ul > li {
  display: inline-block;
}
#breadcrumb > ul > li:not(:last-child):after {
  content: ">";
  margin-left: 5px;
}
#breadcrumb > ul > li > a:hover {
  text-decoration: underline;
}
#breadcrumb > ul > li > a > i {
  font-size: 9px;
}

/****************************************
 	リード								*
*****************************************/
#lead {
  padding: 20px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  color: #05972a;
  overflow: hidden;
}
#lead > .icon {
  display: inline-block;
  margin-right: 10px;
  padding: 10px;
  border: 3px solid #05972a;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
#lead > .icon > i {
  font-size: 32px;
}
#lead > .title {
  display: inline-block;
  vertical-align: top;
}
#lead > .title > h5 {
  margin-top: 10px;
  color: #999;
}
#lead > .title > h5 + h1 {
  margin-top: 5px;
}
#lead > .title > h1 {
  margin-top: 17px;
  font-size: 24px;
}
#lead > .mode {
  float: right;
}

/****************************************
 	コンテンツ（基本構造）				*
*****************************************/
#main {
  margin-left: 225px;
}

#contents {
  overflow: hidden;
  padding: 20px;
}
#contents > article {
  clear: both;
  margin-top: 20px;
}
#contents > article:first-child {
  margin-top: 0;
}
#contents > article > section {
  box-sizing: border-box;
  margin-bottom: 20px;
  -moz-box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
}
#contents > article > section.noshadow {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
#contents > article > section.half {
  width: 49.5%;
}
#contents > article > section.half:not(first-child) {
  float: right;
}
#contents > article > section.half:first-child {
  float: left;
}
#contents > article > section.lmain:last-child {
  width: 25%;
  float: right;
  padding: 0;
}
#contents > article > section.lmain:first-child {
  width: 74%;
  float: left;
}
#contents > article > section.rmain:last-child {
  width: 74%;
  float: right;
}
#contents > article > section.rmain:first-child {
  width: 25%;
  float: left;
  padding: 0;
}

/****************************************
 	コンテンツ（ボックス）				*
*****************************************/
.box {
  box-sizing: border-box;
  width: 100%;
  border: 2px solid #05972a;
  background-color: #fff;
}
.box > .box-content {
  padding: 20px;
}
.box > .box-foot {
  border-top: 1px solid #05972a;
  padding: 15px;
  text-align: right;
}
.box > .box-foot > button.button {
  padding-top: 7px;
  padding-bottom: 7px;
}
.box > .box-foot > button.button + button {
  margin-left: 3px;
}
.box > .box-foot > button.button.now {
  padding-bottom: 6px;
}
.box > .box-foot > button.button.now:after {
  content: "現在";
  display: inline-block;
  margin-left: 5px;
  padding: 0 3px;
  border-radius: 5px;
  border: 2px solid #fff;
  background-color: #e30;
  color: #fff;
  font-size: 10px;
}

/****************************************
 	ステップ								*
*****************************************/
ul.step {
  background-color: #05972a;
}
ul.step.fix {
  position: fixed;
  top: 0;
  z-index: 9;
}
ul.step.fix > li {
  margin-bottom: 0;
}
ul.step > li {
  display: inline-block;
  margin: 10px 0 -2px 10px;
  padding: 15px 25px 15px 20px;
  background-color: #23b548;
  color: #fff;
}
ul.step > li.on {
  background-color: #fff;
  color: #05972a;
}
ul.step > li.on > span {
  color: #999;
}
ul.step > li:not(:first-child) {
  margin-left: 6px;
}
ul.step > li:not(.on) {
  cursor: pointer;
}
ul.step > li span {
  font-size: 11px;
  color: #ddd;
}
ul.step > li p {
  margin-top: 5px;
  font-size: 16px;
}

/****************************************
 	テーブル								*
*****************************************/
table > caption > h2 {
  padding: 15px;
  background-color: #05972a;
  color: #fff;
  overflow: hidden;
}
table > caption > h2 > a {
  float: right;
  color: #fff;
}
table > caption > h2 > a:hover {
  text-decoration: underline;
}
table > caption > h2 > a > i {
  vertical-align: middle;
  margin-right: 5px;
}
table > caption > h2 > a + a {
  margin-right: 10px;
}

/****************************************
 	テーブル（リスト形式）				*
*****************************************/
table.list {
  width: 100%;
}
table.list th, table.list td {
  padding: 10px;
  box-sizing: border-box;
}
table.list th.ti, table.list td.ti {
  text-align: left;
}
table.list th.tc, table.list td.tc {
  text-align: center;
}
table.list th.tr, table.list td.tr {
  text-align: right;
}
table.list > thead > tr > th {
  background-color: #000;
  border-right: 1px solid #999;
  color: #fff;
}
table.list > thead > tr > th:last-child {
  border-right: none;
}
table.list > thead > tr > th > a {
  color: #fff;
}
table.list > thead > tr > th > a:after {
  margin-left: 3px;
  vertical-align: bottom;
  color: #22aff8;
  font-size: 11px;
}
table.list > thead > tr > th > a.asc:hover:after, table.list > thead > tr > th > a.desc:after {
  content: "";
  font-family: 'WebHostingHub-Glyphs';
}
table.list > thead > tr > th > a:hover:after, table.list > thead > tr > th > a.asc:after {
  content: "";
  font-family: 'WebHostingHub-Glyphs';
}
table.list > thead > tr > th > a:hover {
  text-decoration: underline;
}
table.list > tbody > tr:nth-child(odd) > td {
  background-color: #fafafa;
}
table.list > tbody > tr:first-child > td.sort > a.up, table.list > tbody > tr:last-child > td.sort > a.down {
  display: none;
}
table.list > tbody > tr > td {
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
table.list > tbody > tr > td.memo {
  width: 50px;
  text-align: center;
}
table.list > tbody > tr > td.memo > i {
  font-size: 18px;
  vertical-align: bottom;
}
table.list > tbody > tr > td.memo > p {
  display: none;
  position: absolute;
  padding: 5px;
  background-color: #444;
  color: #fff;
  text-align: left;
  font-size: 10px;
  line-height: 12px;
}
table.list > tbody > tr > td.action {
  text-align: center;
  padding: 6px 10px;
}
table.list > tbody > tr > td.action > a.button {
  padding: 8px 10px;
}
table.list > tbody > tr > td.sort > a {
  vertical-align: bottom;
  font-size: 16px;
}
table.list > tbody > tr > td.sort > a.down {
  margin-left: 3px;
}
table.list > tbody > tr > td.sort > a > i {
  vertical-align: top;
}
table.list > tbody > tr > td > span.label + span.label {
  margin-left: 3px;
}
table.list > tbody > tr > td > ul {
  display: inline-block;
}
table.list > tbody > tr > td > ul > li {
  display: inline-block;
  margin-right: 10px;
}
table.list > tbody > tr[data-href]:hover > td, table.list > tbody > tr[data-popup]:hover > td {
  background-color: whitesmoke;
}
table.list > tbody > tr[data-href]:hover > td:not(.check), table.list > tbody > tr[data-popup]:hover > td:not(.check) {
  cursor: pointer;
}
table.list tfoot > tr > td {
  background-color: #eee;
  border: 1px solid #ddd;
}
table.list tfoot > tr > td ul {
  float: right;
}
table.list tfoot > tr > td ul:first-child {
  float: left;
}
table.list tfoot > tr > td ul li {
  display: inline-block;
}
table.list tfoot > tr > td ul.action li select {
  height: 33px;
  padding-top: 5px;
  padding-bottom: 5px;
}
table.list tfoot > tr > td ul.action li a.button {
  padding: 10px 16px;
}
table.list tfoot > tr > td ul.paginate li {
  margin-left: 5px;
}
table.list tfoot > tr > td ul.paginate li.view {
  padding: 8px 8px 9px;
  margin-right: 5px;
}
table.list tfoot > tr > td ul.paginate li.current {
  padding: 8px 9px 9px;
  background-color: #05972a;
  color: #fff;
}
table.list tfoot > tr > td ul.paginate li a {
  padding: 4px 8px;
  border: 1px solid #ddd;
  background-color: #fcfcfc;
  color: #05972a;
  -moz-transition-property: border, background-color, color;
  -o-transition-property: border, background-color, color;
  -webkit-transition-property: border, background-color, color;
  transition-property: border background-color color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
table.list tfoot > tr > td ul.paginate li a:hover {
  border: 1px solid #05972a;
  background-color: #05972a;
  color: #fff;
}

/****************************************
 	コンテンツ（フォーム）				*
*****************************************/
table.form {
  width: 100%;
  border: 2px solid #05972a;
}
table.form th, table.form td {
  box-sizing: border-box;
  padding: 9px 10px;
  line-height: 16px;
}
table.form > tbody > tr:last-child td, table.form > tbody > tr:last-child th {
  border-bottom: none;
}
table.form > tbody > tr.step > th {
  padding: 3px 10px 1px;
  background-color: #eee;
  border: 1px solid #ccc;
  font-size: 11px;
  color: #999;
}
table.form > tbody > tr.step > th:before {
  content: "";
  font-family: 'WebHostingHub-Glyphs';
  margin-right: 3px;
  font-size: 9px;
}
table.form > tbody > tr.lead > th {
  background-color: #05972a;
  color: #fff;
}
table.form > tbody > tr > td, table.form > tbody > tr > th {
  background-color: #fff;
  border: 1px solid #ddd;
}
table.form > tbody > tr > th {
  width: 25%;
  padding-left: 15px;
}
table.form > tbody > tr > td p {
  padding: 9px 5px;
}
table.form > tbody > tr > td .explain {
  margin-left: 5px;
  color: #999;
  font-size: 11px;
}
table.form > tbody > tr > td a.button {
  padding: 8px;
  font-size: 11px;
}
table.form > tbody > tr > td ul.plural > li:not(:first-child) {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px dashed #ddd;
}
table.form > tbody > tr > td ul.plural > li > dl {
  overflow: hidden;
  font-size: 11px;
}
table.form > tbody > tr > td ul.plural > li > dl > dt {
  float: left;
}
table.form > tbody > tr > td ul.plural > li > dl > dt:after {
  content: "：";
}
table.form > tbody > tr > td ul.plural > li > dl > dd {
  float: left;
}
table.form > tbody > tr > td pre {
  margin: 5px 0;
  line-height: 12px;
}
table.form > tfoot > tr > td {
  background-color: #eee;
  border: 1px solid #ddd;
}
table.form > tfoot > tr > td:first-child {
  border-right: none;
}
table.form > tfoot > tr > td:last-child {
  border-left: none;
}
table.form > tfoot > tr > td a.right {
  float: right;
  margin-left: 4px;
}

/****************************************
 	コンテンツ（カレンダー）				*
*****************************************/
ul.calander {
  overflow: hidden;
  display: inline-block;
}
ul.calander li {
  float: left;
  background-color: #fff;
  border: 3px solid #e7e7e7;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
ul.calander li:first-child {
  border-right: none;
}
ul.calander li:last-child {
  margin-left: 10px;
}
ul.calander li:hover {
  background-color: whitesmoke;
}
ul.calander li a {
  display: inline-block;
  padding: 8px;
  color: #797979;
}

p.calander {
  float: right;
  display: inline-block;
  font-size: 36px;
}

select.calander {
  margin-left: 8px;
  vertical-align: top;
  width: 90px;
}

table.calander {
  width: 100%;
  border: 2px solid #05972a;
}
table.calander th, table.calander td {
  box-sizing: border-box;
}
table.calander > thead tr th {
  padding: 14px 10px;
  text-align: center;
  background-color: #05972a;
  color: #fff;
}
table.calander > tbody > tr:last-child td, table.calander > tbody > tr:last-child th {
  border-bottom: none;
}
table.calander > tbody > tr > td {
  padding: 2px;
  width: 14.2857%;
  height: 200px;
  vertical-align: top;
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  cursor: pointer;
}
table.calander > tbody > tr > td:hover {
  background-color: whitesmoke;
}
table.calander > tbody > tr > td.today {
  background-color: #efe;
}
table.calander > tbody > tr > td.other {
  background-color: #fafafa;
  cursor: default;
}
table.calander > tbody > tr > td.other > p {
  color: #ccc;
}
table.calander > tbody > tr > td > p {
  text-align: right;
  padding: 7px;
  font-size: 13px;
}
table.calander > tbody > tr > td > a {
  display: block;
  padding: 5px;
  background-color: #484848;
  color: #fff;
  line-height: 14px;
  font-size: 10px;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
table.calander > tbody > tr > td > a + a {
  margin-top: 2px;
}
table.calander > tbody > tr > td > a:hover {
  opacity: 0.9;
}

/****************************************
 	コンテンツ（内包フォーム）			*
*****************************************/
table.inform {
  width: 100%;
  margin-top: 20px;
}
table.inform:first-child {
  margin-top: 0;
}
table.inform > caption {
  width: 100%;
  margin-bottom: 10px;
}
table.inform > caption > h3 {
  border-bottom: 1px solid #ddd;
  font-weight: bold;
}
table.inform th, table.inform td {
  box-sizing: border-box;
  padding: 9px 10px;
  line-height: 16px;
}
table.inform > tbody > tr.compress th, table.inform > tbody > tr.compress td {
  padding-top: 3px;
  padding-bottom: 3px;
  color: #666;
}
table.inform > tbody > tr.compress > td p {
  padding-top: 0;
  padding-bottom: 0;
}
table.inform > tbody > tr > th {
  width: 250px;
  padding-right: 15px;
  text-align: right;
}
table.inform > tbody > tr > td p {
  padding: 9px 5px;
}
table.inform > tbody > tr > td span.explain {
  margin-left: 5px;
  color: #999;
  font-size: 11px;
}
table.inform > tbody > tr > td a.button {
  padding: 8px;
  font-size: 11px;
}

table.inform.plural > thead > tr > th {
  background-color: #eee;
  border: 1px solid #ddd;
}
table.inform.plural > tbody > tr.dummy {
  display: none;
}
table.inform.plural > tbody > tr > td {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  text-align: center;
}
table.inform.plural > tfoot > tr > td {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  text-align: center;
}
table.inform.plural > tfoot > tr > td.blank {
  background-color: transparent;
  border: none;
}

/****************************************
 	コンテンツ（グループ）				*
*****************************************/
ul.group {
  overflow: hidden;
}
ul.group > li {
  float: left;
  padding: 0 10px;
  border-right: 1px solid #ddd;
}
ul.group > li:first-child {
  padding-left: 0;
}
ul.group > li:last-child {
  border-right: none;
}
ul.group > li.on a {
  background-color: #000 !important;
  color: #fff;
}
ul.group > li > a {
  display: inline-block;
  padding: 7px 10px;
  font-size: 11px;
  color: #666;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
ul.group > li > a:hover {
  background-color: #ddd;
}

/****************************************
 	コンテンツ（フリガナ）				*
*****************************************/
ul.phonetic {
  background-color: #fff;
  border: 1px solid #ddd;
  overflow: hidden;
}
ul.phonetic > li {
  float: left;
  border-right: 1px solid #ddd;
  font-size: 11px;
}
ul.phonetic > li.on a {
  background-color: whitesmoke;
  color: #444;
  font-weight: bold;
}
ul.phonetic > li > a {
  display: inline-block;
  padding: 10px;
}

/****************************************
 	コンテンツ（検索）					*
*****************************************/
.search input[type='text'] {
  width: 225px;
}
.search button.button {
  padding: 6px 5px 5px;
}
.search a.button.clear {
  padding: 9px 14px;
}

/****************************************
 	コンテンツ（プロフィール）			*
*****************************************/
ul.profile {
  overflow: hidden;
}
ul.profile > li {
  float: left;
  position: relative;
  width: 300px;
  margin: 0 20px 20px 0;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #ddd;
  cursor: pointer;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
ul.profile > li:hover {
  background-color: #fafafa;
}
ul.profile > li > h4 {
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: bold;
  color: #05972a;
}
ul.profile > li > h4 > span:not(.highlight) {
  margin-left: 5px;
  font-size: 9px;
  color: #999;
}
ul.profile > li > dl {
  margin-bottom: 5px;
  font-size: 11px;
}
ul.profile > li > dl:last-child {
  margin-bottom: 0;
}
ul.profile > li > dl > dt {
  display: inline-block;
  font-weight: bold;
  color: #666;
}
ul.profile > li > dl > dt:after {
  content: ':';
  margin: 0 3px;
}
ul.profile > li > dl > dd {
  display: inline-block;
}
ul.profile > li > dl > dd.line {
  overflow: hidden;
  width: 240px;
  white-space: pre;
}
ul.profile > li > span.status {
  position: absolute;
  top: 15px;
  right: 15px;
  font-weight: bold;
  text-decoration: underline;
}

/****************************************
 	コンテンツ（選択）					*
*****************************************/
table.list.select > tbody > tr:hover {
  border: 2px dashed #05972a;
}
table.list.select > tbody > tr:hover:after {
  content: "選択する";
  display: block;
  position: absolute;
  left: 50%;
  margin-top: 8px;
  padding: 5px;
  background-color: #05972a;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
}

table.calander.select > tbody > tr > td > a:hover {
  border: 3px dashed #05972a;
  position: relative;
  padding: 2px;
}
table.calander.select > tbody > tr > td > a:hover:after {
  content: "選択する";
  display: block;
  position: absolute;
  left: 40%;
  top: 25%;
  padding: 5px;
  background-color: #05972a;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
}

/****************************************
 	フッター								*
*****************************************/
#wrapper footer {
  margin: 20px 15px 0 15px;
  padding: 20px 0;
  border-top: 1px solid #ddd;
  color: #666;
  font-size: 11px;
}

/****************************************
 	コンテンツ（フォーム）				*
*****************************************/
input[type*='text'], input[type*='password'], input[type*='file'], input[type*='number'], input[type*='email'], input[type*='url'], select, textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 7px 11px;
  border: 1px solid #ddd;
  font-size: 12px;
  line-height: 15px;
  -moz-transition-property: border-color;
  -o-transition-property: border-color;
  -webkit-transition-property: border-color;
  transition-property: border-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
input[type*='text']:disabled, input[type*='password']:disabled, input[type*='file']:disabled, input[type*='number']:disabled, input[type*='email']:disabled, input[type*='url']:disabled, select:disabled, textarea:disabled {
  cursor: no-drop;
}
input[type*='text']:active, input[type*='text']:focus, input[type*='password']:active, input[type*='password']:focus, input[type*='file']:active, input[type*='file']:focus, input[type*='number']:active, input[type*='number']:focus, input[type*='email']:active, input[type*='email']:focus, input[type*='url']:active, input[type*='url']:focus, select:active, select:focus, textarea:active, textarea:focus {
  border-color: #05972a;
  -moz-box-shadow: #05972a 0 0 2px;
  -webkit-box-shadow: #05972a 0 0 2px;
  box-shadow: #05972a 0 0 2px;
}
input[type*='text'].mini, input[type*='password'].mini, input[type*='file'].mini, input[type*='number'].mini, input[type*='email'].mini, input[type*='url'].mini, select.mini, textarea.mini {
  width: 50px;
}
input[type*='text'].short, input[type*='password'].short, input[type*='file'].short, input[type*='number'].short, input[type*='email'].short, input[type*='url'].short, select.short, textarea.short {
  width: 100px;
}
input[type*='text'].medium, input[type*='password'].medium, input[type*='file'].medium, input[type*='number'].medium, input[type*='email'].medium, input[type*='url'].medium, select.medium, textarea.medium {
  width: 200px;
}
input[type*='text'].semilong, input[type*='password'].semilong, input[type*='file'].semilong, input[type*='number'].semilong, input[type*='email'].semilong, input[type*='url'].semilong, select.semilong, textarea.semilong {
  width: 300px;
}
input[type*='text'].long, input[type*='password'].long, input[type*='file'].long, input[type*='number'].long, input[type*='email'].long, input[type*='url'].long, select.long, textarea.long {
  width: 400px;
}
input[type*='text'].clong, input[type*='password'].clong, input[type*='file'].clong, input[type*='number'].clong, input[type*='email'].clong, input[type*='url'].clong, select.clong, textarea.clong {
  width: 600px;
}
input[type*='text'].hlong, input[type*='password'].hlong, input[type*='file'].hlong, input[type*='number'].hlong, input[type*='email'].hlong, input[type*='url'].hlong, select.hlong, textarea.hlong {
  width: 800px;
}
input[type*='text'].little, input[type*='password'].little, input[type*='file'].little, input[type*='number'].little, input[type*='email'].little, input[type*='url'].little, select.little, textarea.little {
  height: 100px;
}
input[type*='text'].tall, input[type*='password'].tall, input[type*='file'].tall, input[type*='number'].tall, input[type*='email'].tall, input[type*='url'].tall, select.tall, textarea.tall {
  height: 350px;
}
input[type*='text'].grande, input[type*='password'].grande, input[type*='file'].grande, input[type*='number'].grande, input[type*='email'].grande, input[type*='url'].grande, select.grande, textarea.grande {
  height: 500px;
}
input[type*='text'].venti, input[type*='password'].venti, input[type*='file'].venti, input[type*='number'].venti, input[type*='email'].venti, input[type*='url'].venti, select.venti, textarea.venti {
  height: 650px;
}

input[type*='text'], input[type*='password'], input[type*='form'], input[type*='number'], input[type*='email'], input[type*='url'], select {
  height: 34px;
}

select {
  padding-left: 6px;
  -moz-appearance: none;
  -webkit-appearance: none;
}

textarea {
  padding-left: 7px;
  padding-right: 7px;
  height: 200px;
}

label {
  position: relative;
  display: inline-block;
  top: 3px;
  min-width: 130px;
  margin-right: 10px;
  vertical-align: top;
  line-height: 1.6;
}
label input[type='radio'],
label input[type='checkbox'] {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
}
label input[type='radio']:disabled + span,
label input[type='checkbox']:disabled + span {
  background-color: #f5f5f5;
  cursor: no-drop;
}
label input[type='radio']:checked + span:after,
label input[type='checkbox']:checked + span:after {
  position: absolute;
  font-family: "WebHostingHub-Glyphs";
}
label input[type='radio'] + span {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  width: 21px;
  height: 21px;
}
label input[type='checkbox'] + span {
  width: 21px;
  height: 21px;
}
label input[type='radio']:checked + span:after {
  top: 2px;
  left: 5px;
  color: #555;
  content: "\f189";
}
label input[type='checkbox']:checked + span {
  background-color: #555;
}
label input[type='checkbox']:checked + span:after {
  top: 2px;
  left: 4px;
  color: #fff;
  content: "\2713";
}
label span {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border: 1px solid #ddd;
  background-color: #fff;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
label b {
  color: #333;
  display: inline-block;
  position: relative;
  top: -6px;
}

/****************************************
 	コンテンツ（ポップアップ）			*
*****************************************/
#overlay {
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
}

#popup {
  z-index: 1000;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 500px;
}
#popup > .popup-inner {
  position: relative;
  left: -50%;
}

/****************************************
 	コンテンツ（変更アラート）			*
*****************************************/
table tr[data-primary] > :first-child:before, table tr[data-success] > :first-child:before, table tr[data-info] > :first-child:before, table tr[data-warning] > :first-child:before, table tr[data-danger] > :first-child:before, table tr[data-inverse] > :first-child:before, table tr[data-clear] > :first-child:before {
  content: "";
  font-family: 'WebHostingHub-Glyphs';
  border-radius: 50%;
  padding: 6px;
  position: absolute;
  color: #fff;
  font-size: 9px;
}
table tr[data-primary] th, table tr[data-primary] td {
  background-color: #a5ffca;
}
table tr[data-primary] th:first-child:before, table tr[data-primary] td:first-child:before {
  background-color: #05972a;
}
table tr[data-success] th, table tr[data-success] td {
  background-color: #fbfffb;
}
table tr[data-success] th:first-child:before, table tr[data-success] td:first-child:before {
  background-color: #5bb75b;
}
table tr[data-info] th, table tr[data-info] td {
  background-color: #e9ffff;
}
table tr[data-info] th:first-child:before, table tr[data-info] td:first-child:before {
  background-color: #49afcd;
}
table tr[data-warning] th, table tr[data-warning] td {
  background-color: #ffffd2;
}
table tr[data-warning] th:first-child:before, table tr[data-warning] td:first-child:before {
  background-color: #faa732;
}
table tr[data-danger] th, table tr[data-danger] td {
  background-color: #ffefe9;
}
table tr[data-danger] th:first-child:before, table tr[data-danger] td:first-child:before {
  background-color: #da4f49;
}
table tr[data-inverse] th, table tr[data-inverse] td {
  background-color: #d6d6d6;
}
table tr[data-inverse] th:first-child:before, table tr[data-inverse] td:first-child:before {
  background-color: #363636;
}
table tr[data-clear] th, table tr[data-clear] td {
  background-color: white;
}
table tr[data-clear] th:first-child:before, table tr[data-clear] td:first-child:before {
  background-color: #fff;
}

/****************************************
 	パーツ（アラート）					*
*****************************************/
.alert {
  z-index: 999;
  position: fixed;
  bottom: 0;
  left: 225px;
  margin-top: 5px;
  padding: 8px 10px;
  width: 125%;
  -moz-box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 2px;
  background-color: rgba(16, 16, 16, 0.75);
  color: #fff;
  font-size: 11px;
  line-height: 13px;
  cursor: pointer;
  -moz-animation-name: slideIn;
  -webkit-animation-name: slideIn;
  animation-name: slideIn;
  -moz-animation-duration: 2s;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.alert.close {
  opacity: 0;
  cursor: default;
  -moz-animation-name: slideOut;
  -webkit-animation-name: slideOut;
  animation-name: slideOut;
  -moz-animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.alert > i {
  margin-right: 5px;
}
.alert:before {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  width: 225px;
  height: 30px;
  background-color: #282828;
}

/****************************************
 	パーツ（特別アイコン）				*
*****************************************/
i.sp[class*='ok'] {
  vertical-align: inherit;
  margin-right: 3px;
  font-size: 11px;
  color: #5bb75b;
}

i.sp[class*='remove'] {
  vertical-align: inherit;
  margin-right: 3px;
  font-size: 11px;
  color: #da4f49;
}

/****************************************
 	パーツ（ラベル）						*
*****************************************/
button:disabled {
  cursor: no-drop;
}
button.button {
  padding: 10px 20px;
}

.button {
  padding: 12px 20px;
  font-size: 12px;
}
.button.clear {
  padding: 11px 19px;
}
.button i {
  margin-right: 3px;
}

.label {
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}

.badge {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.label, .badge {
  padding: 5px 7px;
  font-size: 11px;
}
.label.clear, .badge.clear {
  padding: 4px 6px;
}

.button, .label, .badge {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline;
  border: none;
  background-color: #aaa;
  color: #fff;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.button.special, .label.special, .badge.special, .alert.special {
  background-color: #05972a;
}
.button.special:hover, .label.special:hover, .badge.special:hover, .alert.special:hover {
  background-color: #19ab3e;
}
.button.primary, .label.primary, .badge.primary, .alert.primary {
  background-color: #05972a;
}
.button.primary:hover, .label.primary:hover, .badge.primary:hover, .alert.primary:hover {
  background-color: #19ab3e;
}
.button.success, .label.success, .badge.success, .alert.success {
  background-color: #5bb75b;
}
.button.success:hover, .label.success:hover, .badge.success:hover, .alert.success:hover {
  background-color: #6fcb6f;
}
.button.info, .label.info, .badge.info, .alert.info {
  background-color: #49afcd;
}
.button.info:hover, .label.info:hover, .badge.info:hover, .alert.info:hover {
  background-color: #5dc3e1;
}
.button.warning, .label.warning, .badge.warning, .alert.warning {
  background-color: #faa732;
}
.button.warning:hover, .label.warning:hover, .badge.warning:hover, .alert.warning:hover {
  background-color: #ffbb46;
}
.button.danger, .label.danger, .badge.danger, .alert.danger {
  background-color: #da4f49;
}
.button.danger:hover, .label.danger:hover, .badge.danger:hover, .alert.danger:hover {
  background-color: #ee635d;
}
.button.inverse, .label.inverse, .badge.inverse, .alert.inverse {
  background-color: #363636;
}
.button.inverse:hover, .label.inverse:hover, .badge.inverse:hover, .alert.inverse:hover {
  background-color: #4a4a4a;
}
.button.clear, .label.clear, .badge.clear, .alert.clear {
  border: 1px solid #999;
  background-color: #fff;
  color: #666;
}
.button.clear:hover, .label.clear:hover, .badge.clear:hover, .alert.clear:hover {
  background-color: #ebebeb;
}

/****************************************
 	エラー								*
*****************************************/
#error {
  margin: 0 auto;
  padding-top: 150px;
  width: 525px;
  text-align: center;
}
#error > i {
  margin-top: 10px;
  font-size: 150px;
}
#error > h2 {
  margin-top: 15px;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: bold;
}
#error > p {
  margin-bottom: 2px;
  text-align: left;
  font-size: 10px;
}
#error > pre {
  margin-top: 8px;
  margin-bottom: 10px;
  text-align: left;
  font-size: 10px;
}
#error strong {
  font-weight: bold;
}
#error h3, #error ul.cake-stack-trace {
  display: none;
}

/****************************************
 	パーツ（特別ボックス）				*
*****************************************/
table.list span.cbox {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 3px;
}

table.list p.cbox {
  display: inline-block;
  width: 25px;
  height: 25px;
}

table.form p.cbox {
  display: inline-block;
  width: 25px;
}

/****************************************
 	パーツ（その他）						*
*****************************************/
.tl {
  text-align: left;
  padding-right: 0 !important;
}

.tc {
  text-align: center;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.tr {
  text-align: right;
  padding-left: 0 !important;
}

.fl {
  float: left;
}

.fn {
  float: none;
}

.fr {
  float: right;
}

p.empty, span.empty {
  color: #ccc;
}

input.half {
  ime-mode: disabled;
}

.highlight {
  background-color: #ffdd00;
}

/****************************************
 	権限レベル用							*
*****************************************/
#contents.no_add table.list h2 a[href$='/edit/'] {
  display: none;
}
#contents.no_edit table.list thead th.sort,
#contents.no_edit table.list tbody td.sort,
#contents.no_edit table.list tfoot ul.action,
#contents.no_edit table.form tfoot a[href*='/edit/'],
#contents.no_edit .noshadow a[href*='/edit/'] {
  display: none;
}
#contents.no_delete table.list thead th.check,
#contents.no_delete table.list tbody td.check,
#contents.no_delete table.form h2 a[href*='/delete/'] {
  display: none;
}

/****************************************
 	パーツ（ページトップへ）				*
*****************************************/
p.pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
}
p.pagetop:hover {
  opacity: 0.5;
}
p.pagetop a {
  display: block;
  padding: 10px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #05972a;
  color: #fff;
  font-size: 18px;
}

/****************************************
 	パーツ（ジャンプメニュー）			*
*****************************************/
ul.jump {
  position: absolute;
  top: 0;
  left: 0;
  padding: 3px;
  background-color: #F0F0F0;
  border: 1px solid #979797;
}
ul.jump > li {
  display: inline-block;
}
ul.jump > li > a {
  display: inline-block;
  padding: 5px 10px;
  color: #000;
}
ul.jump > li > a:hover {
  padding: 4px 9px;
  background-color: #EAEFF6;
  border: 1px solid #AECFF7;
}
ul.jump > li > a > i {
  font-size: 20px;
}

/****************************************
 	レスポンシブル						*
*****************************************/
/* スマホ -------------------------------------------------- */
@media only screen and (max-width: 766px) {
  #contents > article > section.half, #contents > article > section.lmain, #contents > article > section.rmain {
    float: none !important;
    width: 100% !important;
  }
  #contents > article > section.half:first-child, #contents > article > section.lmain:first-child, #contents > article > section.rmain:first-child {
    margin-top: 0;
  }

  table.list th, table.list td {
    width: auto !important;
    word-break: break-all;
    word-break: break-word;
    word-wrap: break-word;
  }
  table.list > tbody > tr:hover > td, table.list > tbody > tr:hover > th {
    background-color: #fff;
  }

  table.inform > tbody > tr > th {
    width: 150px;
  }

  table.calander > thead {
    display: none;
  }
  table.calander > tbody > tr {
    display: block;
  }
  table.calander > tbody > tr > td {
    display: block;
    width: 100%;
    height: auto;
  }
  table.calander > tbody > tr > td.other {
    display: none;
  }

  input[type*='text'].clong, input[type*='password'].clong, input[type*='file'].clong, input[type*='number'].clong, input[type*='email'].clong, input[type*='url'].clong, select.clong, textarea.clong {
    width: 100%;
  }
  input[type*='text'].hlong, input[type*='password'].hlong, input[type*='file'].hlong, input[type*='number'].hlong, input[type*='email'].hlong, input[type*='url'].hlong, select.hlong, textarea.hlong {
    width: 100%;
  }

  #login > .login {
    position: inherit;
    top: auto;
    left: auto;
    margin: 40% auto 0;
  }
  #login > .login > .login-inner {
    position: inherit;
    top: auto;
    left: auto;
  }

  header {
    overflow: hidden;
  }
  header > .logo {
    width: 140px;
    padding: 12px 0;
  }
  header > .logo > a {
    font-size: 24px;
    letter-spacing: 3px;
  }
  header > .logo > a > span {
    font-size: 6px;
    letter-spacing: 0;
  }
  header > ul.notice {
    float: right;
  }
  header > ul.notice > li > a {
    width: 65px;
    padding: 12px 0;
    font-size: 0;
  }
  header > ul.notice > li > a > i {
    margin-bottom: 5px;
    font-size: 28px;
  }
  header > ul.notice > li > a > span {
    top: 10px;
    right: 10px;
    font-size: 10px;
  }

  table.form > tbody > tr {
    display: block;
  }
  table.form > tbody > tr > th {
    display: inline-block;
    position: absolute;
    width: auto;
    margin-top: 2px;
    background-color: transparent;
    border: none;
    text-align: right;
    font-weight: bold;
    font-size: 11px;
  }
  table.form > tbody > tr > td {
    display: block;
    padding-top: 30px;
  }
  table.form > tfoot > tr > td:first-child {
    display: none;
  }

  .box > .box-content {
    padding: 0;
  }

  table.inform > caption {
    box-sizing: border-box;
    margin-bottom: 0;
    padding: 20px;
    background-color: #05972a;
    color: #fff;
  }
  table.inform > caption > h3 {
    border-bottom: none;
  }
  table.inform > tbody > tr {
    display: block;
    border-top: 1px solid #ccc;
    padding: 5px;
  }
  table.inform > tbody > tr:first-child {
    border-top: none;
  }
  table.inform > tbody > tr > th {
    display: inline-block;
    position: absolute;
    width: auto;
    margin-top: 2px;
    background-color: transparent;
    border: none;
    text-align: right;
    font-weight: bold;
    font-size: 11px;
  }
  table.inform > tbody > tr > td {
    display: block;
    padding-top: 30px;
  }
  table.inform > tfoot > tr > td:first-child {
    display: none;
  }

  p.calander {
    font-size: 24px;
  }

  input[type*='text'].semilong, input[type*='password'].semilong, input[type*='file'].semilong, input[type*='number'].semilong, input[type*='email'].semilong, input[type*='url'].semilong, select.semilong, textarea.semilong {
    width: 100%;
  }
  input[type*='text'].long, input[type*='password'].long, input[type*='file'].long, input[type*='number'].long, input[type*='email'].long, input[type*='url'].long, select.long, textarea.long {
    width: 100%;
  }

  ul.step {
    display: none;
  }
}
/* タブレット -------------------------------------------------- */
@media only screen and (min-width: 767px) and (max-width: 1024px) {
  #contents > article > section.half, #contents > article > section.lmain, #contents > article > section.rmain {
    float: none !important;
    width: 100% !important;
  }
  #contents > article > section.half:first-child, #contents > article > section.lmain:first-child, #contents > article > section.rmain:first-child {
    margin-top: 0;
  }

  table.list th, table.list td {
    width: auto !important;
    word-break: break-all;
    word-break: break-word;
    word-wrap: break-word;
  }
  table.list > tbody > tr:hover > td, table.list > tbody > tr:hover > th {
    background-color: #fff;
  }

  table.inform > tbody > tr > th {
    width: 150px;
  }

  table.calander > thead {
    display: none;
  }
  table.calander > tbody > tr {
    display: block;
  }
  table.calander > tbody > tr > td {
    display: block;
    width: 100%;
    height: auto;
  }
  table.calander > tbody > tr > td.other {
    display: none;
  }

  input[type*='text'].clong, input[type*='password'].clong, input[type*='file'].clong, input[type*='number'].clong, input[type*='email'].clong, input[type*='url'].clong, select.clong, textarea.clong {
    width: 100%;
  }
  input[type*='text'].hlong, input[type*='password'].hlong, input[type*='file'].hlong, input[type*='number'].hlong, input[type*='email'].hlong, input[type*='url'].hlong, select.hlong, textarea.hlong {
    width: 100%;
  }
}
/* ノートパソコン -------------------------------------------------- */
@media only screen and (min-width: 1025px) and (max-width: 1400px) {
  #contents > article > section.half, #contents > article > section.lmain, #contents > article > section.rmain {
    float: none !important;
    width: 100% !important;
  }
  #contents > article > section.half:first-child, #contents > article > section.lmain:first-child, #contents > article > section.rmain:first-child {
    margin-top: 0;
  }
}
