@charset "UTF-8";


/* --------------------------
 * 共通
 * --------------------------
*/
/* 文字サイズ */
.fs10px { font-size: 10px !important; }
.fs11px { font-size: 11px !important; }
.fs12px { font-size: 12px !important; }
.fs13px { font-size: 13px !important; }
.fs14px { font-size: 14px !important; }
.fs15px { font-size: 15px !important; }
.fs16px { font-size: 16px !important; }
.fs17px { font-size: 17px !important; }
.fs18px { font-size: 18px !important; }
.fs19px { font-size: 19px !important; }
.fs20px { font-size: 20px !important; }
.fs21px { font-size: 21px !important; }
.fs22px { font-size: 22px !important; }
.fs23px { font-size: 23px !important; }
.fs24px { font-size: 24px !important; }
.fs25px { font-size: 25px !important; }
.fs26px { font-size: 26px !important; }
.fs27px { font-size: 27px !important; }
.fs28px { font-size: 28px !important; }

.mt00 { margin-top: 0 !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }

.mr00 { margin-right: 0 !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
.mr70 { margin-right: 70px !important; }
.mr75 { margin-right: 75px !important; }
.mr80 { margin-right: 80px !important; }
.mr85 { margin-right: 85px !important; }
.mr90 { margin-right: 90px !important; }
.mr95 { margin-right: 95px !important; }
.mr100 { margin-right: 100px !important; }

.mb00 { margin-bottom: 0 !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 60px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }

.ml00 { margin-left: 0 !important; }
.ml03 { margin-left: 3px !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }
.ml65 { margin-left: 65px !important; }
.ml70 { margin-left: 60px !important; }
.ml75 { margin-left: 75px !important; }
.ml80 { margin-left: 80px !important; }
.ml85 { margin-left: 85px !important; }
.ml90 { margin-left: 90px !important; }
.ml95 { margin-left: 95px !important; }
.ml100 { margin-left: 100px !important; }

.pa00 { padding: 0 !important; }
.pa05 { padding: 5px !important; }
.pa10 { padding: 10px !important; }

.pt00 { padding-top: 0 !important; }
.pt03 { padding-top: 3px !important; }
.pt05 { padding-top: 5px !important; }
.pt07 { padding-top: 7px !important; }
.pt08 { padding-top: 8px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }

.pr00 { padding-right: 0 !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pr55 { padding-right: 55px !important; }
.pr60 { padding-right: 60px !important; }
.pr65 { padding-right: 65px !important; }
.pr70 { padding-right: 70px !important; }
.pr75 { padding-right: 75px !important; }
.pr80 { padding-right: 80px !important; }
.pr85 { padding-right: 85px !important; }
.pr90 { padding-right: 90px !important; }
.pr95 { padding-right: 95px !important; }
.pr100 { padding-right: 100px !important; }

.pb00 { padding-bottom: 0 !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }

.pl00 { padding-left: 0 !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl55 { padding-left: 55px !important; }
.pl60 { padding-left: 60px !important; }
.pl65 { padding-left: 65px !important; }
.pl70 { padding-left: 70px !important; }
.pl75 { padding-left: 75px !important; }
.pl80 { padding-left: 80px !important; }
.pl85 { padding-left: 85px !important; }
.pl90 { padding-left: 90px !important; }
.pl95 { padding-left: 95px !important; }
.pl100 { padding-left: 100px !important; }

.ov { overflow: hidden; }

.image-circle {
    border-radius: 50%;
}
#header .navbar-nav img {
    width: 100%;
}
#header .nav > li > a {
    padding: 0;
}
#header .navbar-collapse ul.nav > li:last-child {
    margin-right: 0;
}
.caoution {
    color: red;
}
.page-header {
    font-size: 24px;
    font-weight: bold;
}
.ar { 
    text-align: right !important;
}
li {
    list-style: none;
}
.form-group:before {
    display: table;
    content: " ";
}
.form-group:after {
    clear: both;
}
.color-red {
    color: #e74c3c;
}


/* --------------------------
 * エラー
 * --------------------------
*/
.error-message p {
    color: red;
    font-size: 14px;
    text-align: left;
    padding-left: 20px;
    margin-bottom: 0;
}
.error-message p:first-child {
    margin-top: 10px;
}


/* --------------------------
 * コピー禁止
 * --------------------------
*/
.calendar, .bs-attend-modal, #seminar-list, #instructor-list, #seminar-info-list {
    user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -khtml-user-select:none;
    -webkit-user-drag:none;
    -khtml-user-drag:none;
}


/* --------------------------
 * ヘッダー
 * --------------------------
*/
.username {
    font-size: 16px;
    padding-left: 10px;
}


/* --------------------------
 * ボタン
 * --------------------------
*/
.btn.btn-orange {
    border-color: #efad4e;
    background-color: #efad4e;
    border: 1px solid #efad4e;
}
.btn-area {
    margin-bottom: 20px;
}


/* --------------------------
 * テーブル
 * --------------------------
*/
.panel-heading {
    padding-top: 30px;
    font-size: 24px;
    font-weight: bold
}
table.table-striped > tbody > tr.apply-cancel {
    background-color: #888;
}


/* --------------------------
 * カレンダー
 * --------------------------
*/
.calendar {
    background-color: #fff;
}

.calendar thead {
    background-color: #fb9a93;
    color: #fff;
}
.calendar th {
    border-color: #fb9a93;
}
.calendar td {
    color: #4d4d4d;
    font-weight: bold;
    font-size: 16px;
    padding: 5px 5px 10px 5px;
    position: relative;
}
.calendar td.cal-today {
    background-color: #fcf8e3;
}
.calendar td.cal-past, .calendar td.cal-future {
    color: #cacaca;
    background-color: #ebebeb;
}
.calendar td:first-child:before {
  display: block;
  float: left;
  min-height: 104px;
  content: "";
}
.calendar td.holiday {
    color: #fb9a93;
}
.select-day {
    background-color: #fee;
}
.dr-sep {
    padding-top: 7px;
    width: 5%;
    padding-left: 2px;
}
.instructor-block {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 4%;
}

/* カレンダーサイドエリア
--------------------------------------------------------------------------------------------------*/
#calendar-side {
    float: left;
    width: 180px;
}

#instructor-attend-list {
    padding: 0 10px;
    border: 1px solid #ccc;
    background: #eee;
    text-align: left;
}

#instructor-list, #seminar-info-list {
    margin-top: 20px;
    padding: 0 10px;
    border: 1px solid #ccc;
    background: #eee;
    text-align: left;
}
#instructor-list hr, #seminar-info-list hr {
    border-color: #ccc;
    margin: 5px 0 15px;
}
#seminar-list {
    padding: 0 10px;
    border: 1px solid #ccc;
    background: #eee;
    text-align: left;
}

#instructor-list h4, #seminar-list h4, #instructor-attend-list h4 {
    font-size: 16px;
    margin-top: 0;
    padding-top: 1em;
    margin-bottom: 15px;
}
#seminar-info-list h4 {
    font-size: 16px;
    margin-top: 0;
    padding-top: 1em;
}
#seminar-info-list h4+h4 {
    padding-top: 0.1em;
    margin-bottom: 10px;
}

#instructor-list ul, #seminar-list ul, #instructor-attend-list ul, #seminar-info-list ul {
    padding: 0;
}

#instructor-list li, #seminar-list li, #instructor-attend-list li {
    display: inline-table;
    margin-right: 9px;
    margin-bottom: 9px;
    cursor: pointer;
}
#seminar-info-list li {
    display: inline-table;
    margin-right: 9px;
    margin-bottom: 9px;
    position: relative;
}


#calendar {
    width: 900px;
    margin: 0 auto;
}

#calendar-side + #calendar {
    float: right;
    width: 900px;
}

.seminar-user-icon {
    width: 35px;
}

.calendar-inner-box {
    padding: 2px 6px;
}

.seminar-icon-list {
    width: 250px;
    padding: 0;
}
.seminar-icon-list li {
    display: inline-table;
    margin-bottom: 5px;
    width: 120px;
}
.seminar-icon-list li span {
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding: 1px 4px;
    border-radius: .25em;
}
.non-active-seminar {
    background-color: #2ecc71;
}
.dummy-full-seminar {
    background-color: #e74c3c;
}
.dummy-sligthly-seminar {
    background-color: #f1c40f;
}

/* --------------------------
 * 出勤情報
 * --------------------------
*/
.attend-box-outer {
    position: relative;
    padding-right: 1px;
    display: inline-block;
}
.attend-box {
    display: none;
    border: 1px solid #cfcfcf;
    background-color: #fff;
    padding: 2px 3px;
    margin-top: 3px;
    border-radius: 3px;
    position: absolute;
    height: 31px;
    z-index: 100;
    top: -38px;
    left: -8px;
    width: 105px;
}
.fc-day .attend-box:first-child {
    margin-top: 27px;
}
.attend-box .time-info {
    color: #777;
    float: left;
    font-size: 13px;
    font-weight: bold;
    margin-top: 3px;
}
.attend-box-outer img {
    float: left;
}
.attend-box-outer:before {
    display: none;
    content: "";
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -10px;
    width: 0;
    height: 0;
    z-index: 110;
    border-top: 10px solid #ccc;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}
.attend-box-outer:after {
    display: none;
    content: "";
    position: absolute;
    bottom: 31px;
    left: 50%;
    margin-left: -10px;
    width: 0;
    height: 0;
    z-index: 110;
    border-top: 10px solid #fff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}
.attend-box-outer:hover .attend-box,
.attend-box-outer:hover:before,
.attend-box-outer:hover:after {
    display: block;
}

#instructor-attend-list li.instructor-disabled, .attend-box.attend-disabled+img {
    filter:alpha(opacity=10);
    -moz-opacity: 0.1;
    opacity: 0.1;
}


.seminar-box {
    border: 1px solid #cfcfcf;
    padding: 4px 3px;
    margin-top: 3px;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}
.seminar-box.no-instructor {
    background-color: #fee6f2;
    border-color: #ff0000;
}

.seminar-box.non-active:before {
    content: "非";
    position: absolute;
    bottom: -3px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    position: absolute;
    padding: 7px 0;
    left: 33px;
    top: 21px;
    width: 20px;
    background-color: #2ecc71;
    border-radius: .25em;
}

.seminar-box.dummy-seminar:before {
    content: "ダ";
    position: absolute;
    bottom: -3px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    position: absolute;
    padding: 7px 0;
    left: 33px;
    top: 21px;
    width: 20px;
    background-color: #e74c3c;
    border-radius: .25em;
}
.seminar-box.dummy-slightly:before {
    content: "残";
    position: absolute;
    bottom: -3px;
    font-size: 13px;
    color: #fff;
    text-align: center;
    position: absolute;
    padding: 7px 0;
    left: 33px;
    top: 21px;
    width: 20px;
    background-color: #f1c40f;
    border-radius: .25em;
}
/*.fc-day .seminar-box:first-child {
    margin-top: 27px;
}*/
.seminar-box .seminar-info {
    float: left;
}

.seminar-box .seminar-info span {
    display: block;
    font-size: 10px;
}

.seminar-box .seminar-info p {
    font-size: 13px;
    font-weight: normal;
    padding: 0 0 0 5px;
    margin: 2px 0 0 0;
    color: #4d4d4d;
}

.seminar-box img {
    float: right;
}

.seminar-box-overlay {
    display: none;
    width: 100%;
    height: 44px;
    top: 0;
    left: 0;
    border-radius: 2px;
    position: absolute;
    background-color: #5e5e5e;
    opacity: 0.2;
}
.seminar-box:hover .seminar-box-overlay {
    display: block;
}
.btn-attend, .fc .btn-attend {
    display: none;
    position: absolute;
    padding: 1px 5px;
    font-size: 12px;
    top: 10px;
    left: 30px;
    z-index: 200;
}
.btn-seminar, .fc .btn-seminar{
    display: none;
    position: absolute;
    padding: 1px 3px;
    font-size: 12px;
    top: 10px;
    right: 5px;
    z-index: 200;
}
.fc .btn-apply {
    display: none;
    position: absolute;
    padding: 1px 3px;
    font-size: 12px;
    top: 10px;
    left: 5px;
    z-index: 200;
}
.seminar-box:hover .btn-seminar,
.seminar-box:hover .btn-attend,
.seminar-box:hover .btn-apply {
    display: block;
    cursor: pointer;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
.seminar-block .seminar-box:last-child {
    margin-bottom: 25px;
}

.table-attend td:not(.cal-past):not(.attend-active):hover {
    background-color: #e3f4fc;
    cursor: pointer;
}
.seminar-box:hover .seminar-box-overlay {
    display: block;
}

/* --------------------------
 * アラート
 * --------------------------
*/
.alert-seminar-error, .alert-seminar, .alert-user, .alert-seminar-edit, .alert-seminar-delete,
.alert-instructor, .alert-no-instructor, .alert-attend-user, .alert-attend-add, 
.alert-attend-error1, .alert-attend-error2, .alert-attend-error3, .alert-attend-edit, .alert-attend-delete,
.alert-attend-check {
    display: none;
    position: fixed;
    width: 100%;
    text-align: center;
    top: 0;
    left: 0;
    z-index: 1100;
}
.message {
    background-color: #e74c3c;
    border-color: #e74c3c;
    color: #ecf0f1;
    position: fixed;
    width: 100%;
    text-align: center;
    top: 0;
    left: 0;
        padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    z-index: 1000;
}



/* --------------------------
 * モーダル
 * --------------------------
*/
.remodal a {
    text-decoration: none;
}

.modal-header .close {
    height: auto;
    font-size: 21px;
    margin-top: 5px;
}

.modal-body .label {
    margin-top: 5px;
    display: inline-block;
    height: 25px;
    line-height: 20px;
}
.bs-apply-modal .modal-lg {
    width: 1000px;
}
.bs-apply-modal tbody{
    font-size: 13px;
}


/* --------------------------
 * ファイル選択
 * --------------------------
*/
input[type="file"] {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    opacity: 0;
}


/* --------------------------
 * bootstrapリセット
 * --------------------------
*/
.radio input[type=radio], .checkbox input[type=checkbox] {
    margin-left: 0;
}
.checkbox {
    display: inline-block;
    margin-right: 5px;
}


/* --------------------------
 * バッジ
 * --------------------------
*/
.badge.bg-black {
    background: #fff;
    border-color: #666;
    color: #666;
}


/* --------------------------
 * ソート
 * --------------------------
*/
table.table th a {
    background-image: url(/img/bg.png);
    background-repeat: no-repeat;
    background-position: center right;
    cursor: pointer;
    width: 20px;
    height: 12px;
    display: inline-block;
}
table.table th a.asc {
    background-image: url(/img/asc.png);
}

table.table th a.desc {
    background-image: url(/img/desc.png);
}

/* --------------------------
 * 申込
 * --------------------------
*/
.payment_status {
    line-height: 30px;
}
.payment-limit a {
    color: #fff;
}
.paypal-icon {
    width: 25px;
    margin-left: 30px;
}



/* --------------------------
 * アンケート
 * --------------------------
*/
span.attention {
    color: red;
    font-weight: bold;
}
.check-item {
    text-align: center;
}
.check-item:hover {
    background-color: rgba(135, 206, 235, 0.36);
    cursor: pointer;
    /*color: #fff;*/
}
.badge-icon {
    width: 26px;
}
.badge-lg-icon {
    width: 26px;
}


.boxed-group-inner {
    padding: 1px 0;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    color: #666;
    font-size: 13px;
}

.repo-description {
    padding: 0 64px 6px 30px;
    display: block;
}
.mini-repo-list>li:first-child .mini-repo-list-item {
    border-top: 0;
}

.mini-repo-list-item {
    position: relative;
    display: block;
    padding: 6px 64px 6px 30px;
    font-size: 14px;
    border-top: 1px solid #e5e5e5;
}

.boxed-group-inner a {
    color: #4078c0;
    text-decoration: none;
}
.mini-repo-list-item .repo-description {
    display: block;
    max-width: 100%;
    font-size: 12px;
    color: #767676;
    line-height: 21px;
}

.mini-repo-list-item .stars {
    position: absolute;
    top: 0;
    right: 10px;
    margin-top: 6px;
    font-size: 12px;
    color: #888;
}