body {
    font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', Osaka, Verdana, sans-serif;
    padding-top: 60px;
}

/* Header styles
-------------------------------------------------- */
header.img {
    background: url('/img/top.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    color: #fff;
    height: 0;
    padding-top: 37.4%;
    position: relative;
    margin-bottom: 20px;
}

header.img h1 {
    color: #fff;
    top: 0px;
    position: absolute;
    background: rgba(0, 0, 0, 0.4); /* 帯の透明度 */
    padding: 5px;
}

header.img p {
    color: #fff;
    top: 100px;
    position: absolute;
    background: rgba(0, 0, 0, 0.4); /* 帯の透明度 */
    padding: 5px;
}

header.img .address {
    background: rgba(0, 0, 0, 0.4); /* 帯の透明度 */
    position: absolute;
    right: 40px;
    bottom: 40px;
    color: #fff;
    padding: 5px;
    font-size: 120%;
}

@media screen and (max-width: 479px) {
    header.img h1 {
        display: none;
    }
}

@media screen and (max-width: 991px) {
    header.img p {
        display: none;
    }

    header.img .address {
        display: none;
    }
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    /* Margin bottom by footer height */
    margin-bottom: 150px;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    /* Set the fixed height of the footer here */
    height: 150px;
    background-image: linear-gradient(#3caae9, #1a99e2 60%, #188dd0);
}

footer .container {
    padding-top: 20px;
}

.footer-text {
    color: #fff;
    font-size: 80%;
    line-height: 1.2em;
}

/* Heading styles
-------------------------------------------------- */
h2.heading {
    position: relative;
    margin: 0 0 1em;
    padding: 0.3em 0 0.3em 1.3em;
    border: 2px solid #2FA4E7;
    font-size: 200%;
    font-weight: bold;
}

h2.heading:before {
    content: "";
    position: absolute;
    background: #2FA4E7;
    top: 50%;
    left: 0.5em;
    margin-top: -18px;
    height: 36px;
    width: 8px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
}

h3.heading {
    position: relative;
    margin: 1em 0 0.6em;
    padding: 0.4em 0 0.4em 1.8em;
    border: 1px solid #2FA4E7;
    font-size: 160%;
    font-weight: bold;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

h3.heading:before {
    content: "";
    position: absolute;
    background: #2FA4E7;
    top: 50%;
    left: 0.5em;
    margin-top: -10px;
    height: 20px;
    width: 20px;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    box-shadow: 1px 1px 1px #2FA4E7 inset;
    -moz-box-shadow: 1px 1px 1px #2FA4E7 inset;
    -webkit-box-shadow: 1px 1px 1px #2FA4E7 inset;
    -o-box-shadow: 1px 1px 1px #2FA4E7 inset;
    -ms-box-shadow: 1px 1px 1px #2FA4E7 inset;
}

h4.heading {
    margin: 0 0 1.5em;
    padding: 0.3em 0.5em;
    border: 2px solid #2FA4E7;
    font-size: 120%;
    font-weight: bold;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.mb-1 {
    margin-bottom: 10px;
}

.mt-1 {
    margin-top: 10px;
}

/*
Forum
 */
.forum-thread .v-button-group {
    padding-top: 20px;
}

.forum-thread h3 {
    margin-top: 5px;
}

.forum-thread .panel-body-warning {
    background-color: #fcf8e3;
}