@CHARSET "UTF-8";

img {
    width: 100%;
}

a img:hover {
    opacity: 0.8;
}

button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

.clear {
    clear: both;
}

.tC {
    text-align: center;
}

.pace-running .wrap, .pace-running .footer {
    opacity: 0;
}

.red {
    color: red;
}

/* 追加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;
}
.mT30 {
    margin-top: 30px!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;
}
.mL10 {
    margin-left: 10px!important;
}

/* 追加Padding */
.pT0 {
    padding-top: 0!important;
}
.pT10 {
    padding-top: 10px!important;
}
.pT20 {
    padding-top: 20px!important;
}

.pR0 {
    padding-right: 0!important;
}

.pB0 {
    padding-bottom: 0!important;
}

.pL0 {
    padding-left: 0!important;
}

/* 追加Width */
.w50 {
    width: 50%!important;
}

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

/* グリッドiPad対応 */
.flex{
    display: flex;
    flex-wrap: wrap;
}

/* グリッドシステム追加 */
@media screen and (max-width: 480px){
    .col-xxs-6 {
        width: 50%;
    }
    .col-xxs-12 {
        width: 100%;
    }
    .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;
    }
}

/* 表示・非表示スマホ対応 */
.hidden-xxs {
    display: block;
}
.visible-xxs {
    display: none;
}
@media (max-width: 480px) {
    .hidden-xxs {
        display: none;
    }
    .visible-xxs {
        display: block;
    }
}

/* その他共通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;
}

.spacer {
    width: 100%;
    height: 50px;
}

.btn-gray {
    background: #B5B6B6;
    color: #fff;
}

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

/* トップに戻る */
.pagetop {
    display: none;
    position: fixed;
    bottom: 15px;
    right: 15px;
}
.pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 0.857em;
    text-decoration: none;
    padding: 5px 10px;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

/* GoogleMap */
.ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-top: 20px;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* border関連 */
.no-border-bottom {
    border-bottom: none!important;
}

/* 吹き出し */
.balloon-top {
    position: absolute;
    display: inline-block;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #337ab7;
    font-size: 16px;
    font-weight: bold;
    background: #FFF;
    border: solid 3px #337ab7;
    box-sizing: border-box;
    top: 50px;
    left: 50%;
    margin-left: -60px;
}
.balloon-top:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}
.balloon-top:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #337ab7;
  z-index: 1;
}
.balloon-top p {
  margin: 0;
  padding: 0;
}

span.red {
    color: #c9171f;
    font-weight: bold;
    font-size: 100%!important;
}

/* メニュー関連 */
.menu-trigger {
    display: inline-block;
    width: 34px;
    height: 22px;
    vertical-align: middle;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 10px;
    z-index: 103;
}
.menu-trigger.active {
    position: fixed;
}
.menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #0867AD;
    transition: all .5s;
}
.menu-trigger p {
    position: absolute;
    bottom: -16px;
    left: 0;
    margin: 0;
    font-size: 8px;
    font-family: KozGo;
    color: #0867AD;
    letter-spacing: 2.1px;
}
.menu-trigger p.active {
    display: none;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger.active span:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
    top: -4px;
}
.menu-trigger span:nth-of-type(2) {
    top: 10px;
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
}

nav {
    width: 100%;
    height: 100%;
    padding-top: 60px;
    background-color: rgb(255, 255, 255, 0.8);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 102;
    transform: translate(-100%);
    transition: all .5s;
}
nav.open {
    transform: translateZ(0);
}
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 96%;
    margin: auto;
    border-bottom: 1px solid #0867AD;
}
nav li {
    position: relative;
    padding: 8px 0 8px 36px;
    color: #000;
    vertical-align: middle;
    position: relative;
    border-top: 1px solid #0867AD;
}
nav li.spacing {
    letter-spacing: 5px;
}
nav li a {
    color: #0867AD;
    font-family: KozGoBold;
    font-size: 18px;
    display: block;
    text-decoration: none;
}
nav li .icon {
    width: 20px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 8px;
    border: 2px solid #0867AD;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}
nav li .icon:before, nav li .icon:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
nav li .icon:before {
    left: 8px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #0867AD;
}
nav li .icon:after {
    left: 4px;
    width: 6px;
    height: 4px;
    border-left: 4px solid #0867AD;
}
nav li:hover > a {
    color: #718CC7;
    text-decoration: none;
}
nav li:hover .icon {
    border-color: #718CC7;
}
nav li:hover .icon:before {
    border-left-color: #718CC7;
}
nav li:hover .icon:after {
    border-left-color: #718CC7;
}
nav li.disabled span {
    border-color: #C9CACA;
}
nav li.disabled span:before, nav li.disabled span:after {
    border-left-color: #CACACA;
}
nav li.disabled a {
    color: #CACACA;
}
nav li.disabled:hover .icon {
    border-color: #CACACA;
}
nav li.disabled:hover .icon:before, nav li.disabled:hover .icon:after {
    border-left-color: #CACACA;
}

/* ブラウザ別の処理 */
@media all and (-ms-high-contrast: none) {
    .ms-hidden {
        display:none;
    }
}
