@CHARSET "UTF-8";

/* TODO関連 */
.todo {
    margin-left: 8px;
    border: 1px solid #ff0000;
}
.todo span:before {
    content: "TODO";
    display: inline-block;
    color: #fff;
    font-weight: bold;
    background: #ff0000;
    padding: 5px;
    margin-right: 5px;
}

.tC {
    text-align: center!important;
}

/* 追加Margin */
.mT0 {
    margin-top: 0px!important;
}
.mT5 {
    margin-top: 5px!important;
}
.mT10 {
    margin-top: 10px!important;
}
.mT15 {
    margin-top: 15px!important;
}
.mT20 {
    margin-top: 20px!important;
}
.mT40 {
    margin-top: 40px!important;
}
.mT50 {
    margin-top: 50px!important;
}

.mB0 {
    margin-bottom: 0px!important;
}
.mB5 {
    margin-bottom: 5px!important;
}
.mB10 {
    margin-bottom: 10px!important;
}
.mB15 {
    margin-bottom: 15px!important;
}
.mB20 {
    margin-bottom: 20px!important;
}
.mB30 {
    margin-bottom: 30px!important;
}
.mB40 {
    margin-bottom: 40px!important;
}
.mB50 {
    margin-bottom: 50px!important;
}

.mL0 {
    margin-left: 0px!important;
}

.mR5 {
    margin-right: 5px!important;
}

/* 追加Padding */
.pl1em {
    padding-left: 1em;
}
.pL10 {
    padding-left: 10px!important;
}

/* 追加Width */
.w5 {
    width: 5%!important;
}
.w10 {
    width: 10%!important;
}
.w15 {
    width: 15%!important;
}
.w20 {
    width: 20%!important;
}
.w25 {
    width: 25%!important;
}
.w30 {
    width: 30%!important;
}
.w35 {
    width: 35%!important;
}
.w40 {
    width: 40%!important;
}
.w45 {
    width: 45%!important;
}
.w50 {
    width: 50%!important;
}
.w55 {
    width: 55%!important;
}
.w60 {
    width: 60%!important;
}
.w65 {
    width: 65%!important;
}
.w70 {
    width: 70%!important;
}
.w75 {
    width: 75%!important;
}
.w80 {
    width: 80%!important;
}
.w85 {
    width: 85%!important;
}
.w90 {
    width: 90%!important;
}
.w95 {
    width: 95%!important;
}
.w100 {
    width: 100%!important;
}

.sm-w5 {
    width: 5%!important;
}
.sm-w10 {
    width: 10%!important;
}
.sm-w15 {
    width: 15%!important;
}
.sm-w20 {
    width: 20%!important;
}
.sm-w25 {
    width: 25%!important;
}
.sm-w30 {
    width: 30%!important;
}
.sm-w35 {
    width: 35%!important;
}
.sm-w40 {
    width: 40%!important;
}
.sm-w45 {
    width: 45%!important;
}
.sm-w50 {
    width: 50%!important;
}
.sm-w55 {
    width: 55%!important;
}
.sm-w60 {
    width: 60%!important;
}
.sm-w65 {
    width: 65%!important;
}
.sm-w70 {
    width: 70%!important;
}
.sm-w75 {
    width: 75%!important;
}
.sm-w80 {
    width: 80%!important;
}
.sm-w85 {
    width: 85%!important;
}
.sm-w90 {
    width: 90%!important;
}
.sm-w95 {
    width: 95%!important;
}
.sm-w100 {
    width: 100%!important;
}

@media screen and (max-width: 768px){
    .sm-w5 {
        width: initial!important;
    }
    .sm-w10 {
        width: initial!important;
    }
    .sm-w15 {
        width: initial!important;
    }
    .sm-w20 {
        width: initial!important;
    }
    .sm-w25 {
        width: initial!important;
    }
    .sm-w30 {
        width: initial!important;
    }
    .sm-w35 {
        width: initial!important;
    }
    .sm-w40 {
        width: initial!important;
    }
    .sm-w45 {
        width: initial!important;
    }
    .sm-w50 {
        width: initial!important;
    }
    .sm-w55 {
        width: initial!important;
    }
    .sm-w60 {
        width: initial!important;
    }
    .sm-w65 {
        width: initial!important;
    }
    .sm-w70 {
        width: initial!important;
    }
    .sm-w75 {
        width: initial!important;
    }
    .sm-w80 {
        width: initial!important;
    }
    .sm-w85 {
        width: initial!important;
    }
    .sm-w90 {
        width: initial!important;
    }
    .sm-w95 {
        width: initial!important;
    }
    .sm-w100 {
        width: initial!important;
    }
}

/* グリッド高さを揃える */
.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

/* グリッドシステム追加 */
@media screen and (max-width: 480px){
    .col-xxs-6 {
        width: 50%;
    }
    .col-xxs-12 {
        width: 100%;
    }
    .col-xxs-offset-0 {
        margin-left: 0;
    }
    .col-xxs-offset-3 {
        margin-left: 25%;
    }
}

/* グリッドシステム追加 5分割用 */
.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
.col-xs-1-5 {
    width: 20%;
    float: left;
}
.col-xs-2-5 {
    width: 40%;
    float: left;
}

.col-xs-3-5 {
    width: 60%;
    float: left;
}

.col-xs-4-5 {
    width: 80%;
    float: left;
}
@media (min-width: 768px) {
    .col-sm-1-5 {
        width: 20%;
        float: left;
    }
    .col-sm-2-5 {
        width: 40%;
        float: left;
    }
    .col-sm-3-5 {
        width: 60%;
        float: left;
    }
    .col-sm-4-5 {
        width: 80%;
        float: left;
    }
}
@media (min-width: 992px) {
    .col-md-1-5 {
        width: 20%;
        float: left;
    }
    .col-md-2-5 {
        width: 40%;
        float: left;
    }
    .col-md-3-5 {
        width: 60%;
        float: left;
    }
    .col-md-4-5 {
        width: 80%;
        float: left;
    }
}
@media (min-width: 1200px) {
    .col-lg-1-5 {
        width: 20%;
        float: left;
    }
    .col-lg-2-5 {
        width: 40%;
        float: left;
    }
    .col-lg-3-5 {
        width: 60%;
        float: left;
    }
    .col-lg-4-5 {
        width: 80%;
        float: left;
    }
}

/* その他共通CSS */
.spacer-100 {
    height: 100px;
}
.spacer-200 {
    height: 200px;
}

.flip-y {
    transform: scale(1, -1);
}

.flex{
    display: flex;
    flex-wrap: wrap;
}

a.no-link {
    color: #000!important;
    text-decoration: none;
    cursor: initial;
}

/* 途中からナビゲーションを固定にするCSS */
.is-fixed {
    position: fixed!important;
    top: 0!important;
    left: 0!important;
    z-index: 11!important;
    width: 100%!important;
}

/* ローディング関連 */
#overlay-spinner{
    position: fixed;
    top: 0;
    z-index: 1200;
    width: 100%;
    height:100%;
    display: none;
    background: rgba(0,0,0,0.6);
}
.cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.spinner {
    width: 40px;
    height: 40px;
    border: 4px #ddd solid;
    border-top: 4px #2e93e6 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
    100% {
        transform: rotate(360deg);
    }
}
.is-hide{
    display:none;
}
