header .title
{
    margin: 0;

    background-color: #535760;
    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
            box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
}
header .title .inner
{
    font-family: Georgia, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Yu Mincho', YuMincho, serif;
    font-size: 30px;
    font-weight: bold;
    line-height: 72px;

    padding: 0 64px;

    letter-spacing: .5em;

    color: white;
}
header .breadcrumbs
{
    margin: 0;
}
header .breadcrumbs .inner
{
    font-size: 12px;

    padding: 1em 64px;
}
header .mainvisual
{
    overflow: hidden;

    width: 100%;
}
main article
{
    padding: 64px 0;
}
main article h2
{
    font-family: Georgia, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Yu Mincho', YuMincho, serif;
    font-size: 32px;

    margin: 0 0 1em 0;

    text-align: center;
}
main article:nth-of-type(odd)
{
    background-color: #fafafa;
}
main article p
{
    margin: 0 8em;

    text-align: center;
}
main article h3
{
    text-align: center;
}
main article.hero
{
    height: 640px;
    padding: 0;

    background-image: url('img/heroback.jpg');
    background-position: center;
    background-size: cover;
}
main article.hero .inner
{
    text-align: center;
}
main article.hero img
{
    margin-top: 200px;
}
main article.message
{
    font-size: 48px;

    text-align: center;
}
main article.message .inner
{
    padding: 128px 80px;
}
main article.question .cards
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: distribute;

        justify-content: space-around;
}
main article.question .cards div
{
    text-align: center;
}
main article.gallery .swiper-container
{
    width: 100%;
}
main article.gallery .swiper-slide
{
    text-align: center;
}
main article.contact
{
    padding: 80px 0;

    background-color: #321414;
}
main article.contact .inner
{
    text-align: center;
}
main article.contact h2
{
    color: white;
}
main article.contact a
{
    font-weight: bold;
    line-height: 3em;

    display: inline-block;

    height: 3em;
    padding: 0 2em;

    text-decoration: none;

    color: white;
    border-radius: 3em;
    background-color: #c80000;
}
