* {
    float: none;
    position: static;
    margin: 0;
    padding: 0;
}

div, p {
    margin: 0 auto;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

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

a {
    text-decoration: none;
    color: #000;
}
@media screen and (min-width: 520px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

/* body */
body {
    border-top: 2px solid #609;
    letter-spacing: 0.08rem;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.8;
}
@media print, screen and (min-width: 960px) {
    body {
        width: 100%;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    body {
        width: 100%;
    }
}
@media screen and (max-width: 519px) {
    body {
        /* for Android Chrome 40 upper */
        font-size: 1rem;
        line-height: 1.6;
    }
}

.BodyMain {
    background: #fff;
    font-family: "¥Ò¥é¥®¥Î³Ñ¥´ Pro W3","Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"¥á¥¤¥ê¥ª",Meiryo,verdana,sans-serif;
    margin: 0 auto 20px;
}

section {
    margin: auto;
}
@media print, screen and (min-width: 960px) {
    section {
        width: 99%;
        max-width: 1280px;
        padding: 20px 0;
    }
    section#floralWare {
        padding: 30px 0 20px;
    }
}
@media screen and (max-width: 959px) {
    section {
        width: 95%;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    section {
        padding: 20px 0;
    }
}
@media screen and (max-width: 519px) {
    section {
        padding: 15px 0;
    }
}
section::after {
    content: "";
    display: block;
    clear: both;
}

header {
    width: 99%;
    margin: auto;
    padding: 20px 0 0;
}
header::after {
    content: "";
    display: block;
    clear: both;
}
@media print, screen and (min-width: 960px) {
    header {
        max-width: 1280px;
    }
}
@media screen and (max-width: 519px) {
    header {
        padding: 15px 0 0;
    }
}

h1 {
    font-size: 20pt;
    font-weight: normal;
}
@media screen and (max-width: 519px) {
    h1 {
        font-size: 16pt;
    }
}

.con {
    width: 90%;
    text-align: justify;
    line-height: 2;
    padding: 0.8rem 1.8rem;
}
.subtitle {
    width: 96%;
    border: 1px solid #ccc;
    background: linear-gradient(#fff, #f0f0f0);
    padding: 0.5rem 0.75rem;
    margin: 2rem auto 0.5rem;
    text-align: left;
}
@media screen and (max-width: 519px) {
    .con {
        width: 95%;
        line-height: 1.9;
        padding: 0.5rem 0.8rem 0.5rem 0.6rem;
    }
    .subtitle {
        width: 90%;
    }
}

footer {
    border-top: 1px solid #ccc;
    font-size: 0.9rem;
    margin: 2rem 0 0;
    padding: 20px 0 0;
}
@media screen and (max-width: 519px) {
    footer {
        margin: 1rem 0 0;
    }
}
