@charset "UTF-8";
/* CSS Document */

/*-----------------
common
-----------------*/
*{margin:0;padding:0;box-sizing:border-box;outline:0;border:0}
html{font-size:62.5%;}
body{line-height: 1.5;font-size:14px;font-size:1.4rem;font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
a{color: #0c4fab;text-decoration: none;transition: all .1s ease-out;}
a:hover{opacity:0.7;}
img{vertical-align:middle;max-width:100%;height:auto;}
ul,ol,li{list-style:none;}

/*-----------------
header
-----------------*/
#header_summary {
    max-width: calc(980px + 4em);
    margin: 0 auto;
    padding: 0.5em 2em;
}
#header_summary img {
    display: block;
}
.title {
    padding: 1em 2em;
    color: #fff;
    background: #0c4fab;
}
.title h1 {
    max-width: 980px;
    margin: 0 auto;
    font-size: 28px;font-size: 2.8rem;
    font-weight: normal;
}
#pnkz {
    padding: 1em 2em;
}
#pnkz p {
    font-size: 12px;font-size: 1.2rem;
    max-width: 980px;
    margin: 0 auto;
}

/*-----------------
main
-----------------*/
.mv {
    text-align: center;
    background-image: url(images/main.jpg);
    max-width: 1100px;
    margin: 0 auto;
    height: 650px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.mv h2 {
    margin-left: -40px;
    padding: 30px 0 0;
}

/*-----------------
article
-----------------*/
article {
    text-align: center;
    padding: 5em 2em;
}
.flexbox {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}
h3 {
    font-size: 44px;
    font-size: 4.4rem;
}
h3 span {
    font-weight: normal;
    font-size: 28px;
    font-size: 2.8rem;
    display: block;
    margin: 0 0 -10px;
}
.commment {
    margin: 5px auto 0;
    text-align: left;
    font-size: 12px;
    font-size: 1.2rem;
}
.contents-box1 {
    text-align: center;
    background-color: #036eb7;
    color: #fff;
}
.contents-box1>p {
    margin: 30px 0;
}
.contents-box1 .flexbox p:first-child {
    margin-right: 30px;
}
.contents-box2 {
    background-color: #8cd0ff;
    color: #036eb7;
}
.contents-box2 .flexbox {
    margin: 30px 0 0;
}
.contents-box2 div p:first-child {
    margin-right: 40px;
}
.contents-box3 {
    background-color: #c7e8ff;
}
.contents-box3 .flexbox {
    align-items: center;
    margin: 0 0 30px;
}
.contents-box3 h3 {
    margin-right: 30px;
}
.contents-box3 .commment {
    max-width: 980px;
}
.contents-box4 h3 {
    margin-bottom: 30px;
}
.contents-box4 .flexbox {
    margin: 30px 0 0;
}
.contents-box4 .flexbox p:first-child {
    margin-right: 20px;
}
.contents-box4  h4 {
    margin: 30px 0 0;
    font-size: 30px;
    font-size: 3.0rem;
}
.contents-box4 .commment {
    max-width: 1100px;
}
.commment.center {
    text-align: center;
}
.commment div {
    font-size: 16px;
    font-size: 1.6rem;
    color: #fff;
    background-color: #d71518;
    display: inline-block;
    padding: 5px 5px 5px 10px;
    margin-top: 5px;
}

/* shop list */
section {
    background-color: #f0f5fb;
    padding: 5em 2em;
    text-align: center;
}
section>p {
    font-size: 30px;
    font-size: 3.0rem;
    font-weight: bold;
}
section ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 980px;
    margin: 2em auto 0;
}
section li {
    width: 32.5%;
    margin: 0 0 1em;
}
section li a {
    width: 100%;
    height: 100%;
    padding: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: #0c4fab;
    color: #fff;
    min-height: 130px;
}
section  li:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 34%;
}
section li strong {
    font-size: 18px;
    font-size: 1.8rem;
    width: 100%;
}
section li address {
    font-style: normal;
    font-size: 12px;
    font-size: 1.2rem;
    width: 100%;
}
section li p {
    font-size: 12px;
    font-size: 1.2rem;
}

/*-----------------
footer_menu
-----------------*/
.footer_menu {
    margin: 3em 2em;
    text-align: center;
}
.footer_menu a {
    display: block;
    background: #e50012;
    padding: 0.5em 1em;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;font-size: 1.6rem;
    max-width: 450px;
    margin: 0 auto 10px;
}
.footer_menu p {
    font-size: 12px;font-size: 1.2rem;
}

/* pagetop */
#pagetop {
    position: fixed;
    bottom: 30px;
    right: 20px;
    width: 60px;
    height: 60px;
}
#pagetop a {
    position: relative;
    display: block;
}
#pagetop a::before,
#pagetop a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#pagetop a::before {
    box-sizing: border-box;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #0c4fab;
}
#pagetop a::after {
    left: 37%;
    width: 15px;
    height: 15px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(-45deg);
    top: 6px;
}

/*-----------------
copyright
-----------------*/
footer {
    background: #ededed;
    text-align: center;
    padding: 1em 2em;
}
footer p {
    font-size: 12px;
    font-size: 1.2rem;
}
@media screen and (max-width: 1100px) {
    .mv {
        height: 58vw;
        background-size: cover;
        padding: 0 4em;
    }
}
@media screen and (max-width: 780px) {
    .mv {
        margin: 2em 0 0;
    }
    .mv h2 {
        margin-left: 0;
        padding: 0;
    }
    .mv h2 img {
        margin-top: -1.5em;
    }   
    h3 {
        font-size: 24px;
        font-size: 2.4rem;
    }
    h3 span {
        font-size: 16px;
        font-size: 1.6rem;
        margin: 0;
    }
    .contents-box1 .flexbox p:first-child,
    .contents-box2 div p:first-child,
    .contents-box3 h3,
    .contents-box4 .flexbox p:first-child {
        margin-right: 0;
        margin-bottom: 30px;
    }
    .title h1 {
        font-size: 5vw;
    }
    section li {
        width: 49%;
    }
    section>p {
        font-size: 20px;
        font-size: 2.0rem;
    }
    section li strong {
        font-size: 14px;
        font-size: 1.4rem;
    }
    section li a {
        justify-content: left;
        text-align: left;
    }
    section li:nth-child(3n+2):last-child {
        margin: 0 0 1em;
    }
    .footer_menu {
        margin: 2em 2em 3em;
    }
    footer {text-align: left;}
    .footer_menu a {
        font-size: 4vw;
    }
    .footer_menu p {
        text-align: left;
    }
    #pagetop {
        position: static;
        margin: 0 auto;
    }
}