.banner {
    margin: 16px 0;
    padding: 0 16px;
    text-align: center;
}

.banner img {
    width: 100%;
    max-width: 500px;
}
.topBanner{
    max-width: 100%;
    height: 360px;
    background-image: url("../img/top_sp.jpg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

@media all and (min-width: 768px) {
    .topBanner{
        background-image: url("../img/top_tab.jpg");
        height: 500px;
    }
}

@media all and (min-width: 900px) {
    .topBanner{
        height:650px;
    }
}
@media all and (min-width: 1366px) {
    .topBanner{height:700px;}
}
@media all and (min-width: 1915px) {
    .topBanner{height:850px;}
}
.topBanner .description{padding:0;}
.topBanner.sale .description{display:table-cell;vertical-align:middle;text-align:center;}
.topBanner .description img{width:90%;max-width: 550px;}
.topBanner .description .title{font-size:16px;margin-bottom:4px}
.topBanner .description .subtitle{font-size:9px}
.topBanner .topBanner_content{max-width:900px;margin:0 auto;height:100%;position:relative}
.topBanner.sale .topBanner_content{display:table;width:100%;max-width:900px;margin:0 auto;height:100%;position:relative}
.topBanner .logo{display:block;margin:0 auto;position:relative;top:24px;width:140px}
.topBanner .storeButtons img{width:200px;padding-left: 24px;}
.topBanner .storeButtons{display:none;position:absolute;bottom:16px;right:16px;}
/* スマホ版 */
.specDetails th {
    min-width: 100px;
}
@media all and (min-width: 900px) {
    .topBanner .description{padding:16px}
    .topBanner .description .title{font-size:32px;margin-bottom:6px}
    .topBanner .description .subtitle{font-size:18px}
    .topBanner .storeButtons{display:inline-block;bottom:24px;right:24px}
    /* PC 版 */
    .specDetails th {
        min-width: 150px;
    }
}