/*** メインカラーの上書き 【#72af2c / rgb(114, 175, 44, 1)】 ***/
.gnav-pc,
.c-heading-main,
.aside section.__block .__heading.__heading--default,
.aside section.__block .__heading.__heading--custom,
.c-news-label.c-news-label--color-3 {
  border-bottom: 1px solid #72af2c !important;
}
.gnav-pc,
.c-button-submit,
body > header > nav.gnav-pc > div > ul > li.__item,
.main.main--cart section.__shipping-wrap .__shipping .__control ul li.__to-order .__button,
.c-news-label.c-news-label--color-3,
.aside section.__block.__block--login.__is-guest .__body .__login-link .__link {
  background-color: #72af2c !important;
}
.wrapper.wrapper--column-2,
.wrapper.wrapper--column-1 {
  background-color: #ffffff;
}

/*** ヘッダーロゴのサイズ ***/
.header .__banner .__wrap a.__logo img {
  max-height: 4em;
}
@media (max-width: 768px) {
  .header .__banner .__wrap a.__logo img {
    max-height: 3em;
  }
}

/*** カテゴリ表示を1階層目までにする ***/
.aside
  section.__block.__block--category
  .__body
  ul.__tree
  > li.__item.__item--has-children
  > span.__js-toggle {
  display: inline-block;
}
.aside
  section.__block.__block--category
  .__body
  ul.__tree
  > li.__item.__item--has-children
  > ul {
  display: none;
}

.__label.__label--custom.__label--price01 {
  display: none;
}

/*** 商品一覧の画像の高さを揃える ***/
.p-product-block ul.__product li.__item a .__photo {
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
}
.p-product-block ul.__product li.__item a .__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 959px) {
  .main.main--home section.__block {
    margin-bottom: 0 !important;
  }
}

/*** FAQ ***/
:root{
  --accent: #2b6cb0;
}
.faq > div {
  margin-bottom: 2.5em;
}
.faq h3 {
  font-size: 1.2em;
  background-color: #F5F4F2;
  border-bottom: none !important;
  padding: 0.4em 0.5em;
}
.faq details{
  border-top:1px solid #e8e8e8;
  padding: 1.5em 0.5em;
  overflow: hidden;
}
.faq details:first-of-type{ border-top: none; }
.faq summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
  outline:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.faq summary::-webkit-details-marker{ display:none; } /* ブラウザ既定マーカーを消す */
.faq .meta{
  color:#999999;
  transition: transform 0.2s ease;
}
.faq details[open] summary .meta{
  transform: rotate(45deg);
}
.faq details[open] summary .q{ color:var(--accent); }
.faq .answer{
  position: relative;
  margin-top: 1.2em;
  p {
    margin-left: 1.5em;
    margin-bottom: 0;
  }
}
.faq .answer::before {
  position: absolute;
  content: "A.";
  color: #D34848;
  font-weight: 600;
}

/*** CTA ***/
.__login-link a,
.c-button-submit,
.contact-buttons a {
  text-decoration: none !important;
}
.cta-sec {
  max-width: 80%;
  margin: 5em auto 4em auto !important;
}
.contact-box {
  flex: 1;
  max-width: 360px;
}
.contact-buttons {
  display: flex; 
  justify-content: center; 
  gap: 2em; 
  flex-wrap: wrap;
}
.contact-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5em;
  padding: 18px 22px;
  border: 2px solid #999;
  background-color: #fff;
  transition: all 0.3s ease;
  position: relative;
}
.contact-button:hover {
  transform: translateX(3px);
  background-color: #f5f5f5;
}
.sm-only {
  display: none;
}
@media (max-width: 1280px) {
  .contact-buttons {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 480px) {
  .cta-sec {
    max-width: 90%;
  }
  .sm-only {
    display: block;
  }
}

/*** footer ***/
.footer {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .footer {
    margin-top: 50px;
  }
}