:root { color: #2c3e50; font-family: Avenir, Helvetica, Arial, sans-serif; }
html { scroll-behavior: smooth; }
body { background: #fff url('/bg_grid.png') repeat center top; font-family: Montserrat, sans-serif; }
#main_wrapper { background: #fff; text-align: center; }
.is-hidden { display: none !important; }

header { align-items: center; background: #fff; border-bottom: 1px solid #e0e0e0; display: flex; height: 88px; justify-content: center; padding: 0 10px; }
.logo { width: 215px; }
.logo:hover { opacity: .8; }
.main_image img { display: block; width: 100%; }

h1, h2, .title_wrapper, .content_wrapper { font-family: 'M PLUS Rounded 1c', sans-serif; font-size: 12px; margin: 0 16px; }
h1 { font-size: 18px; letter-spacing: 0; margin: 0 auto 30px; padding-top: 15px; }
h2 { border-top: 1px solid #cbcbcb; font-size: 18px; margin: 30px 0 20px; padding: 30px 16px 0; text-align: left; }
.content_wrapper { text-align: left; }
ul, li { list-style: none; }

.main_menu { display: flex; flex-flow: row wrap; justify-content: space-between; margin-top: 30px; }
.main_menu li { background: #fff; border: 1px solid #cbcbcb; border-radius: 7px; height: 34px; line-height: 34px; margin-bottom: 10px; width: 49%; }
.main_menu a { color: #393939; display: block; font-size: 10px; text-decoration: none; }

.list_images { display: flex; flex-flow: row wrap; justify-content: space-between; }
.list_images li { background: #fff; margin-bottom: 5px; width: 49%; }
.list_images img { display: block; width: 100%; }
.list_images li:nth-child(17) img { width: 50%; }

.more { border: 1px solid #cbcbcb; border-radius: 7px; color: #696969; display: block; font-size: 10px; height: 34px; line-height: 32px; margin: 10px 0; width: 100%; }
.rating { height: 100px; position: relative; width: 100%; }
.rating p { position: absolute; }
.rating p:nth-child(1) { font-size: 15px; font-weight: 700; left: 20px; top: 10px; }
.rating p:nth-child(2) { font-size: 42px; font-weight: 700; left: 10px; top: 20px; }
.rating p:nth-child(3) { color: #696969; font-size: 12px; left: 10px; top: 70px; }
.rating p:nth-child(4) { color: #cbcbcb; font-size: 40px; left: 110px; top: 22px; }
.rating p:nth-child(5) { color: #696969; font-size: 12px; left: 230px; top: 73px; }
.star5_rating { display: inline-block; position: relative; white-space: nowrap; z-index: 0; }
.star5_rating::before, .star5_rating::after { content: '★★★★★'; }
.star5_rating::after { color: #ee8834; left: 0; overflow: hidden; position: absolute; top: 0; white-space: nowrap; width: 90%; z-index: 1; }
.list_reviews li { background: #f0f0f0; margin: 7px 0; padding: 7px 16px; white-space: pre-wrap; word-wrap: break-word; }

.list_price { display: flex; flex-flow: row wrap; justify-content: space-between; margin-top: 16px; }
.list_price li { padding: 3px 0; width: calc((100% - 32px) / 3); }
.list_price img { width: 100%; }
.desc { padding-top: 4px; }
.desc_main { font-weight: 700; }
.desc_sub { color: #999; }
.desc_text { margin-top: 6px; }
.price { text-align: right; }
.price_main { color: #777; font-size: 16px; font-weight: 700; }
.sale-ended-message { color: #777; font-size: 14px; margin: 24px 0; text-align: center; }

.footer_line { background: transparent url('/footer_wave.png') repeat-x bottom; height: 50px; position: relative; width: 100%; }
.footer_line::after { background: transparent url('/footer_fig1.svg') no-repeat 95% 50%; content: ''; display: block; height: 50px; width: 100%; }
footer { background: #73bbec; color: #fff; font-family: Montserrat, sans-serif; font-size: 14px; padding: 30px 10px 36px; }

@media (max-width: 830px) { .pc2 { display: none !important; } }
@media (min-width: 831px) { .sp2 { display: none !important; } }
@media (max-width: 960px) {
  header { height: 60px; margin: 0 auto; width: 95%; }
  .logo { width: 160px; }
  .pc { display: none; }
}
@media (min-width: 830px) {
  h1, h2, .title_wrapper, .content_wrapper { font-size: 14px; margin-left: auto; margin-right: auto; width: 830px; }
  h1 { font-size: 27px; }
  h2 { font-size: 18px; padding-left: 0; padding-right: 0; }
  .more { font-size: 12px; }
  .sale-ended-message { font-size: 16px; }
}
