header,
main {
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    color: #242424e0;
    font-size: 14px;
}

header.topimg {
    position: relative;
    overflow: hidden;
}

body.is-preload *,
body.is-preload *:before,
body.is-preload *:after {
    -moz-animation: none !important;
    -webkit-animation: none !important;
    -ms-animation: none !important;
    animation: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}

header.topimg img {
    -moz-animation: overlay 0.3s 0.3s forwards;
    -webkit-animation: overlay 0.3s 0.3s forwards;
    -ms-animation: overlay 0.3s 0.3s forwards;
    animation: overlay 0.3s 0.3s forwards;
    opacity: 0;
}

@-moz-keyframes overlay {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes overlay {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-ms-keyframes overlay {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.halfandhalf {
    display: inline-block;
    max-width: 48%;
    vertical-align: top;
    overflow: hidden;
    text-align: center;
}

.halfandhalf h2 {
    font-size: 1.1em;
    font-weight: bolder;
}

.halfandhalf p {
    font-size: 0.8em;
    text-align: left;
    padding: 0.5em;
}

@keyframes overlay {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

header.topimg #bg {
    -moz-animation: bg 60s linear infinite;
    -webkit-animation: bg 60s linear infinite;
    -ms-animation: bg 60s linear infinite;
    animation: bg 60s linear infinite;
    -moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    /* Set your background with this */
    background: #348cb2 url("img/bg.png") bottom left;
    background-repeat: repeat;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
}

@-moz-keyframes bg {
    0% {
        -moz-transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -moz-transform: translate3d(-2250px, 0, 0);
        -webkit-transform: translate3d(-2250px, 0, 0);
        -ms-transform: translate3d(-2250px, 0, 0);
        transform: translate3d(-2250px, 0, 0);
    }
}

@-webkit-keyframes bg {
    0% {
        -moz-transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -moz-transform: translate3d(-2250px, 0, 0);
        -webkit-transform: translate3d(-2250px, 0, 0);
        -ms-transform: translate3d(-2250px, 0, 0);
        transform: translate3d(-2250px, 0, 0);
    }
}

@-ms-keyframes bg {
    0% {
        -moz-transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -moz-transform: translate3d(-2250px, 0, 0);
        -webkit-transform: translate3d(-2250px, 0, 0);
        -ms-transform: translate3d(-2250px, 0, 0);
        transform: translate3d(-2250px, 0, 0);
    }
}

@keyframes bg {
    0% {
        -moz-transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -moz-transform: translate3d(-2250px, 0, 0);
        -webkit-transform: translate3d(-2250px, 0, 0);
        -ms-transform: translate3d(-2250px, 0, 0);
        transform: translate3d(-2250px, 0, 0);
    }
}

header.topimg .bghidden {
    -moz-animation: overlay2 1.0s 1.0s forwards;
    -webkit-animation: overlay2 1.0s 1.0s forwards;
    -ms-animation: overlay2 1.0s 1.0s forwards;
    animation: overlay2 1.0s 1.0s forwards;
    opacity: 0;
}

@-moz-keyframes overlay2 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes overlay2 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-ms-keyframes overlay2 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes overlay2 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

header.topimg #bg {
    background-size: 2250px auto;
    width: 6750px;
}

.main {
    text-align: center;
    background-color: #fff;
}

.topimg {
    padding: 2rem 0;
    text-align: center;
    color: #FFFFFF;
    /* width: 100VW; */
}

.main h2,
.main p,
.main div.row .colmun p {
    text-align: center;
}

footer {
    padding-top: 2em;
    padding-bottom: 2em;
    background-color: #333;
}

footer p {
    margin: 0 auto;
    text-align: center;
    width: 130px;
    color: #FFFFFF;
}

hr.yellow {
    border-top: 0.1rem solid #FFD50C;
}

.txtbox {
    padding: 2em 0;
    text-align: center;
}

.button-large {
    font-size: 1.4rem;
    height: 4.5rem;
    line-height: 4.5rem;
    padding: 0 2rem;
}

.socallinks ul {
    text-align: center;
    margin: 0 0 2rem 0;
    padding: 0;
}

.socallinks ul li {
    border-radius: 50%;
    background-color: #e6eae3;
    display: inline-block;
    width: 3em;
    height: 3em;
    vertical-align: middle;
    margin: 0.3em;
    padding: 0;
    list-style-type: none;
}

.socallinks ul li a {
    fill: #222;
}

.socallinks ul li:hover {
    background-color: #000;
    transition: 0.3s;
}

.socallinks ul li a:hover {
    fill: #fff;
    transition: 0.3s;
}

.row .columncolor {
    border: 1px solid #2677AC;
    padding: 0 2rem;
    margin: 2rem 0;
    border-radius: 2em;
}

.qrbox {
    display: none;
}

.button.button-black {
    border: 0.1rem solid #003b7a;
    background-color: #FFEC94;
    border-left: 0.3rem solid #003b7a;
    border-color: #003b7a;
    color: #003b7a;
}

.button.button-black:hover {
    background-color: #9d7e40;
    border-color: #0067b6;
    color: #fff;
    outline: 0;
}

.button.button-red {
    border: 0.1rem solid #D2654A;
    background-color: #fff;
    border-left: 0.3rem solid #D2654A;
    border-color: #D2654A;
    color: #D2654A;
}

.button.button-red:hover {
    background-color: #ff6e75;
    border-color: #D2654A;
    color: #fff;
    outline: 0;
}

.button-small {
    font-size: .8rem;
    height: 2.8rem;
    line-height: 2.8rem;
    padding: 0 1.5rem;
}

@media (min-width: 40rem) {
    .row .columncolor {
        padding: 0 2rem;
        margin: 2rem 2rem;
        border-radius: 2em;
    }
    .qrbox {
        display: block;
    }
    .qrbox img,
    .qrbox p {
        margin: 0;
        padding: 0;
        vertical-align: middle;
        display: inline-block;
    }
}