/* カスタマイズ用CSS */
@media screen and ( min-width: 481px ) {
    h1 { text-align: left; }
    h1 img { width: 320px!important; height: auto;}
}

@media only screen and (min-width: 768px) {
    body .ec-layoutRole__main .ec-role * { line-height: 2; }
    .access .ec-eyecatchRole__image { max-width: 52%!important; }
    .blc-recommended .ec-eyecatchRole__image { margin-bottom: 0; }
    .blc-recommended .ec-eyecatchRole { margin-bottom: 0; }
    .ec-role:nth-child(2) .ec-eyecatchRole .ec-eyecatchRole__image {
    	order: 1;
    }
    .ec-role:nth-child(2) .ec-eyecatchRole .ec-eyecatchRole__intro {
        padding-left: 5%; padding-right: 0;
        order: 2;
    }
    .ec-eyecatchRole .ec-eyecatchRole__intro {
        max-width: 52%;
    }
    body .ec-footerRole { margin-top: 0; }
}


/* guide */
.guide h2 {
    background: #f6f6f5; padding: 10px;
}


/* index */
.index_about .ec-eyecatchRole__image { margin-bottom : 0; }

    .blc-recommended { margin: 2rem auto; max-width: 1200px; }

    .blc-recommended__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr); /* PC：4列 */
      gap: 24px;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    @media (max-width: 768px) {
      .blc-recommended__grid {
        grid-template-columns: repeat(2, 1fr); /* スマホ：2列 */
        gap: 16px;
      }
    }

    .blc-recommended__item {
      overflow: hidden;
      transition: transform 0.2s ease;
      padding: 0 0 0.5rem;
    }
    .blc-recommended__item a { color: #000; }
    .blc-recommended__item:hover { transform: scale(1.02); }

    .blc-recommended__figure {
      aspect-ratio: 1 / 1;
      overflow: hidden;
      margin: 0;
    }
    .blc-recommended__figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .blc-recommended__name {
      font-size: 0.95rem;
      font-weight: 600;
      margin: 0.75rem 0 0.25rem;
      line-height: 1.4;
    }
    .blc-recommended__desc {
      font-size: 0.85rem;
      margin: 0.5rem 0 0.5rem;
      line-height: 1.4;
      text-align: left;
    }
    .blc-recommended__price {
      font-size: 0.95rem;
      font-weight: 600;
      margin: 0.75rem 0 0.25rem;
      line-height: 1.4;
    }
    .blc-recommended__price span {
        font-size: 0.7rem;
        font-weight: 500;
    }


/* footer */
.ec-layoutRole__footer { margin-top: 30px; }
.footer_law { font-size: 35px; }
body .ec-footerRole .ec-footerRole__inner img { max-width: 240px; }
body .ec-footerNavi { color: #000; }
body .ec-footerTitle { color: #525263; }
body .ec-footerRole {
    border: none; background: #ebeced;
}

/* Cart */
.cart-borderedDefs {
    border: 1px solid #333;
    padding: 10px; background: #fff;
}


/* Layout */
.fullwidth-bg {
    position: relative; left: 50%; right: 50%; width: 100vw;
    margin-left: -50vw; margin-right: -50vw; background-color: #ebeced;
    padding-top: 1.5em; padding-bottom: 1.5em;
}

.photo_flex { display: flex; }
.photo_flex div { flex: 1; }

.ec-blockBtn--cancel { line-height: 56px!important; }
.btn_center a { margin-left: auto; margin-right: auto; line-height: 56px!important; }

.ec-layoutRole .ec-layoutRole__contents { padding-top: 30px; }

body h2 { font-weight: 800; margin-bottom: 1em; }

body .center { text-align: center; }
body .mb60 { margin-bottom: 60px; }
body .mb45 { margin-bottom: 45px; }
body .mb30 { margin-bottom: 30px; }
body .mb0 { margin-bottom: 0; }