@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 {
  scroll-behavior: smooth;
  scroll-padding-top: 130px;
  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: #374151;
}
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: 10px;
}
#login .box .header .logo {
  width: calc(100% - 150px);
}
#login .box .header .logo h1 {
  margin-bottom: 5px;
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-size: 35px;
  color: #374151;
}
#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: #374151;
  -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 #374151;
  -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: 101;
}

#wrapper {
  padding-top: 110px;
}
#wrapper #content.background {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#wrapper #content #lead {
  position: fixed;
  top: 60px;
  right: 0;
  left: 0;
  z-index: 101;
}

.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;
}

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  z-index: 101;
}

/****************************************
 	ヘッダー							*
*****************************************/
header {
  display: flex;
  justify-content: center;
  background: #fff;
  border-top: 3px solid #ededed;
  border-bottom: 1px solid #e9e9e6;
  overflow: hidden;
}
header .center .title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-bottom: 5px;
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-size: 30px;
  color: #374151;
}
header .center .logo {
  display: flex;
}
header .center .logo a {
  display: inline-block;
  padding: 14px 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 .center .logo a:hover {
  opacity: 0.75;
}
header .center .logo a:first-child:not(:last-child) {
  padding-right: 0;
}
header .center .logo a:last-child:not(:first-child) {
  padding-left: 0;
}
header .center .logo a img {
  height: 30px;
}
header .center .logo p {
  padding: 20px 0;
}

/****************************************
 	リード								*
*****************************************/
#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: -6px;
  padding: 0 22px 0 20px;
  border-bottom: 4px solid #374151;
  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: 30px 20px;
}
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.preview .content {
  padding: 0;
  background-color: transparent;
  border: none;
  box-shadow: none;
}
section.preview .list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
section.preview .list .section {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  width: calc((100% - 50px) / 3);
  max-width: 700px;
  padding: 15px;
  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.preview .list .section > span.icon {
  position: absolute;
  left: 30px;
  top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  aspect-ratio: 1/1;
  background-color: #0005;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border: 2px solid #fff;
  font-size: 1.5em;
  color: #fff;
  z-index: 1;
}
section.preview .list .section > a {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
section.preview .list .section > a img {
  width: 100%;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
  border: 3px solid #eee;
}
section.preview .list .section > a p {
  text-align: center;
  font-size: 1.25em;
}
section.preview .list .section .action {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
section.preview .list .section .action:first-child {
  font-size: 1.25em;
}
section.preview .list .section .action a.button + a.button {
  margin-left: 0;
}

/****************************************
 	セクション（エラー）				*
*****************************************/
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 {
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-top: 3px solid #ededed;
  border-bottom: 1px solid #e9e9e6;
  overflow: hidden;
}
footer .icon {
  padding-top: 10px;
  padding-right: 15px;
  padding-left: 15px;
}
footer .icon dl {
  display: flex;
}
footer .icon 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;
}
footer .icon dl dd {
  margin-left: 10px;
  padding-top: 4px;
}
footer .icon dl dd p {
  color: #001;
}
footer .icon dl dd span {
  display: block;
  margin-top: 3px;
  font-size: 0.9em;
  line-height: 0.9em;
  color: #acacac;
}

/****************************************
 	モーダル							*
*****************************************/
#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;
	&::-webkit-outer-spin-button,
	&::-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: #374151;
  border-color: #374151 #374151 #37411e;
  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: #374151;
  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 #374151;
}
label.radio input[type='checkbox']:checked + span,
label.checkbox input[type='checkbox']:checked + span {
  background-color: #374151;
  border: 1px solid #374151;
}
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: #374151;
  border-color: #374151 #374151 #37411e;
}
.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 {
  line-height: 1.4em;
}

/****************************************
 	パーツ（ラベル）					*
*****************************************/
span.label {
  padding: 4px 12px 5px;
  background-color: #eee;
  border: 1px solid #aaa;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  border-radius: 15px;
  font-size: 0.85em;
  line-height: 1;
  color: #333;
}
span.label i {
  margin: 0 -5px;
}
span.label.primary {
  background-color: #d0daea;
  border-color: #374151;
  color: #040e1e;
}
span.label.success {
  background-color: #f3fff3;
  border-color: #5ab75a;
  color: #278427;
}
span.label.info {
  background-color: #f4ffff;
  border-color: #5bc0de;
  color: #288dab;
}
span.label.warning {
  background-color: #ffffc1;
  border-color: #ed9c28;
  color: #ba6900;
}
span.label.danger {
  background-color: #ffcbc6;
  border-color: #d2322d;
  color: #9f0000;
}
span.label.inverse {
  background-color: #b0b0b0;
  border-color: #171717;
  color: black;
}

span.label + span.label {
  margin-left: 5px;
}

/****************************************
 	パーツ（アラート）					*
*****************************************/
#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: #374151;
  color: #374151;
}
.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) {
  /****************************************
  	メイン								*
  *****************************************/
  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;
  }
}
/* タブレット -------------------------------------------------- */
@media only screen and (min-width: 767px) and (max-width: 1305px) {
  /****************************************
  	レイアウト							*
  *****************************************/
  #wrapper {
    padding-top: 60px;
  }
  #wrapper #content #lead {
    position: inherit;
    height: auto;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main .row {
    display: block;
  }
  main .row article + article {
    margin-left: 0;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main {
    padding: 25px 15px;
  }
  main .row + .row {
    margin-top: 30px;
  }
  main .row article + article {
    margin-top: 15px;
  }
  main .row article section + section {
    margin-top: 15px;
  }

  /****************************************
  	セッション（プレビュー）			*
  *****************************************/
  section.preview .list {
    gap: 15px;
  }
  section.preview .list .section {
    width: calc((100% - 15px) / 2);
    max-width: 500px;
    padding: 15px;
  }
  section.preview .list .section > span.icon {
    left: 27px;
    top: 27px;
    width: 42px;
    font-size: 1.4em;
  }
}
/* スマホ -------------------------------------------------- */
@media only screen and (max-width: 766px) {
  /****************************************
  	レイアウト							*
  *****************************************/
  #wrapper {
    padding-top: 60px;
  }
  #wrapper #content #lead {
    position: inherit;
    height: auto;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main .row {
    display: block;
  }
  main .row article + article {
    margin-left: 0;
  }

  /****************************************
  	基本設定							*
  *****************************************/
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 75px;
    font-size: 11px;
  }

  /****************************************
  	メイン								*
  *****************************************/
  main {
    padding: 20px 10px;
  }
  main .row + .row {
    margin-top: 10px;
  }
  main .row article + article {
    margin-top: 5px;
  }
  main .row article section + section {
    margin-top: 5px;
  }

  /****************************************
  	リード								*
  *****************************************/
  #lead .title ul.jump {
    margin: 10px;
  }

  /****************************************
  	セッション（プレビュー）			*
  *****************************************/
  section.preview .list {
    gap: 10px;
  }
  section.preview .list .section {
    width: 100%;
    max-width: 500px;
    padding: 10px;
  }
  section.preview .list .section > span.icon {
    left: 24px;
    top: 24px;
    width: 36px;
    font-size: 1.3em;
  }

  /****************************************
  	パーツ（フォーム）					*
  *****************************************/
  .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;
  }

  /****************************************
  	パーツ（ボタン）					*
  *****************************************/
  .button {
    padding: 5px 10px;
  }
}
