/* gallery-squere-item.css — ベースライン(自動読込・module-base.css前提)。編集せず上書きで調整。 */
@charset "UTF-8";

@media (min-width: 770px) {
  .sq_item h2 {
    color: var(--color-text);
  }
  .sq_item h2:before, .sq_item h2:after {
    display: none;
  }
  .sq_item .sq_item_wrapper {
    width: 280px;
    height: 280px;
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0 auto;
  }
  .sq_item .sq_item_wrapper .sq_item_text {
    position: absolute;
    left: 0;
    top: -100%;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 2px solid #000;
    transition: 0.6s;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong {
    display: block;
    font-weight: normal;
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 240px;
    font-size: 24px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--color-text);
    letter-spacing: 2px;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong i {
    display: inline-block;
    font-style: normal;
    font-size: 12px;
    color: var(--color-text);
    line-height: 20px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  .sq_item .sq_item_wrapper .sq_item_img {
    display: block;
    transition: 0.6s;
  }
  .sq_item .sq_item_wrapper:hover .sq_item_text {
    transform: translate(0, 100%);
  }
  .sq_item .sq_item_wrapper:hover .sq_item_img {
    transform: translate(0, 100%);
  }
}
@media (min-width: 601px) and (max-width: 769px) {
  .sq_item .col {
    width: 48% !important;
    float: left !important;
  }
  .sq_item .sq_item_wrapper {
    width: 280px;
    height: 280px;
    position: relative;
    display: block;
    margin: 0 auto;
    margin-bottom: 3em;
  }
  .sq_item .sq_item_wrapper .sq_item_text {
    display: block;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong {
    display: block;
    font-weight: normal;
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 240px;
    font-size: 24px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--color-text);
    letter-spacing: 2px;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong i {
    display: inline-block;
    font-style: normal;
    font-size: 12px;
    color: var(--color-text);
    line-height: 20px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
}
@media (max-width: 600px) {
  .sq_item .sq_item_wrapper {
    width: 280px;
    height: 280px;
    position: relative;
    display: block;
    margin: 0 auto;
    margin-bottom: 3em;
  }
  .sq_item .sq_item_wrapper .sq_item_text {
    display: block;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong {
    display: block;
    font-weight: normal;
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 240px;
    font-size: 24px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--color-text);
    letter-spacing: 2px;
  }
  .sq_item .sq_item_wrapper .sq_item_text strong i {
    display: inline-block;
    font-style: normal;
    font-size: 12px;
    color: var(--color-text);
    line-height: 20px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
}

/* --- 修正(2026-09-24 製品ショーケース hover不具合対応) ---
   .sq_item_img にサイズ指定が無く、common.css の img{height:auto} が効いて280x280の枠を
   満たせず画像が潰れていた(上下に空白ができる)。hoverで潰れた画像がその場でずれ、透過の
   .sq_item_text と重なって見苦しくなっていたのが原因。画像を枠いっぱいに敷き、テキスト
   パネルに背景色を足して交代がはっきり見えるようにする。 */
.sq_item .sq_item_wrapper .sq_item_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sq_item .sq_item_wrapper .sq_item_text {
  background: color-mix(in srgb, var(--color-heading-ink, #1a1a1a) 90%, transparent);
  border: none;
}
.sq_item .sq_item_wrapper .sq_item_text strong,
.sq_item .sq_item_wrapper .sq_item_text strong i {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}
