/* ============================================ *
* Reset
* ============================================ */
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}

/* ============================================ *
* Typography
* ============================================ */
h1, .h1 {
margin: 0;
margin-bottom: 0.7em;
color: #333;
font-size: 18px;
font-weight: bold;
font-style: normal;
line-height: 1.5;
text-rendering: optimizeLegibility;
}

h2, .h2 {
margin: 5px 0;
font-size: 24px;
font-weight: 400;
font-style: normal;
line-height: 1.6;
text-rendering: optimizeLegibility;
}

h3, .h3 {
font-weight: bold;
margin: 0;
padding: 10px 0;
text-rendering: optimizespeed;
}

h4, .h4 {
margin: 0;
margin-bottom: 10px;
color: #000;
font-family: "Lucida Grande",Arial,sans-serif;
font-size: 14px;
font-style: normal;
line-height: 1.4;
margin: 0 0 10px;
text-rendering: optimizespeed;

}

h5, .h5 {
margin: 0;
margin-bottom: 10px;
color: #636363;
font-family: "Lucida Grande",Arial,sans-serif;
font-size: 13px;
font-weight: bold;
font-style: normal;
line-height: 1.4;
text-rendering: optimizeSpeed;
text-transform: uppercase;
}

h6, .h6 {
margin: 0;
margin-bottom: 5px;
color: #636363;
font-family: "Lucida Grande",Arial,sans-serif;
font-size: 12px;
font-weight: bold;
font-style: normal;
line-height: 1.4;
text-rendering: optimizeSpeed;
text-transform: uppercase;
}

/* -------------------------------------------- *
* Column Layouts
*/
.main {
    margin: 0 auto 30px;
    width: 880px;
    padding-top: 15px;
    min-height: 400px;
}


/* -------------------------------------------- *
* Page Titles
*/
.page-title h1,
.page-title h2,
.product-name h1,
.product-name .h1 {
font-size: 34px;
/*border-bottom: 1px solid #ededed;*/
padding-bottom: 3px;
margin-bottom: 0;
}

/* -------------------------------------------- *
* #contact
*/
#contact, #sgFaq {
    background-color: #f2f2f2;
    margin-top: 35px;
    padding: 15px 20px;
}
#contact .caption, #importantNotice .caption {
    font-size: 120%;
    font-weight: bold;
}
#contact h2 {
    margin-bottom: 5px;
    margin-top: 0;
}
#contact dl {
    padding: 10px 15px;
}
#contact dt {
    float: left;
    margin: 0 5px 0 0;
}
#contact dt img {
    margin-top: 7px;
}
#contact li {
    float: left;
}
#contact_all {
    background-color: #fff;
    border-radius: 3px;
    margin-left: 10px;
    width: 49%;
}
#contact_net {
    background-color: #fff;
    border-radius: 3px;
    width: 49%;
}
#contact_time {
    padding: 10px 0 0;
}
#contact_time p {
    margin-bottom: 10px;
}

#contact {
    color: #333;
    font-size: 12px;
   line-height: 1.6;
}

.secondTitle {
    margin-top: 45px;
    border-top: 1px solid #ededed;
    padding-top: 25px;
    margin-bottom: 30px;
}

#sgFaq {
    line-height: 1.4;
    margin-top: 0;
    }
#sgFaq dl {
    padding-bottom: 20px;
    }

#sgFaq dt {
    font-size: 18px;
    font-weight: bolder;
    float: none;
    margin: 0 5px 0 0;
    padding-left: 1em;
    text-indent: -1em;
    padding-bottom: 5px;

}
#sgFaq .adjustment {
    padding-left: 1.6em;
    text-indent: -1.6em; 
}

#sgFaq dd {
    font-size: 16px;
    padding-left: 1em;
}
#sgFaq ul {
    padding-left: 2em;
}
#sgFaq li {
    font-size: 16px;

}





.store-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 16px;
}

.store-section-title {
  font-size: 26px;
  margin: 80px 0 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid #7f0019;
  color: #333;
}
/* Extra spacing before Café section */
.cafe-title {
  margin-top: 70px !important;
  padding-top: 0;
  clear: both;
}.store-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.store-card {
  background: #FFFFFF;
  border-radius: 4px;
  padding: 28px;
}

.store-card h3 {
  font-size: 20px;
  margin: 0 0 18px;
  color: #333;
}

.store-card p {
  margin: 0 0 14px;
  line-height: 1.8;
  color: #555;
}

.store-card p:last-child {
  margin-bottom: 0;
}

.store-card a.map-link {
  display: inline-block;
  margin-top: 8px;
  color: #7f0019;
  text-decoration: none;
  font-size: 14px;
}

.store-card a.map-link:hover {
  text-decoration: underline;
}

.cafe-card {
  background: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .store-grid {
    grid-template-columns: 1fr;
  }

  .store-card {
    padding: 22px;
  }
}