@charset "utf-8";
/*********************************
SPECIAL CONTENTS -- GTM HOLDA 19 MERROWRA ~ “BANSHEECA”
last update - 2025.10.09
*********************************/
/* over write. */
button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.link-btn-container {
  display: block;
}
@media screen and (min-width: 768px) {
  #headerNavi {
      z-index: 5;
  }
  #headerLogo-container {
      z-index: 10;
  }
}
.slick-dots {
  display: none!important;
}
/*-------------------------------
 main
---------------------------------*/
.hero-image {
  width: 100%;
  height: auto; /* 高さを自動に設定 */
  background-image: url("/brand/fss/assets/image/product/gtm/fss-hgk-0032/sp_hgk032-bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2100px 1080px; /* 背景画像のサイズを固定 */
  overflow: hidden;
  z-index: 1;
  position: relative;
}
.hero-cont {
  width: min(100%, 1050px);
  height: 100%; /* 高さを100%に設定 */
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1050px) {
  .hero-image {
    background-size: auto 100%; /* 高さを100%に設定し、幅は自動調整 */
  }
}
/* image*/
.hero-config {
  position: relative;
  display: grid;
}
.hero_logo,
.hero_stand {
  grid-column: 1/2;
  grid-row: 1/2;
  display: block;
}
.hero_logo {
  width: min(70%, 65rem);
  margin: 50% auto 0;
}
.hero_logo img {
  filter: drop-shadow(4px 4px 8px #000) drop-shadow(2px 2px 1px #000);
}
.hero_logo img {
  filter: drop-shadow(2px 2px 20px rgb(40 40 40 / 100%))drop-shadow(2px 2px 4px rgb(164 164 164 / 70%));
}
.hero_stand {
  width: min(50%, 50rem);
  margin: 5% 0 0 auto;
}
.intro-cont {
  font-family: 'Noto Serif JP', serif;
  font-size: calc(var(--fs) * 1.8);
  text-align: left;
  width: var(--w-md);
  max-width: 100%;
  margin: 0 auto;
  padding: 6rem calc(var(--rs)* 2) 6rem;
}
.intro-cont h2 {
  font-size: calc(var(--fs) * 2.4);
  padding: 0 0 0.6em 0;
  @media (min-width: 899px) {
    font-size: calc(var(--fs) * 3.2);
  }
}
.intro-cont p {

  line-height: 2;
  @media (min-width: 899px) {
    line-height: 2.2;
  }
}
/*-------------------------------
 slider
---------------------------------*/
.slider-container {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  text-align: center;
  overflow: hidden;
  position: relative;	
  z-index: 10;
}
@media screen and (max-width: 916px) {
  .slider-container {
    width: 100%;
  }
}
/*-------------------------------
 USP
---------------------------------*/
.usp-sec {
  background: #f7f7f7;
  padding: calc(var(--rs) * 8) 2vw;
}
.usp-cont {
  width: var(--w-md);
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}
.usp-catch {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-size: calc(var(--fs) * 3);
  color: #c90632;
  margin: 0 0 calc(var(--fs) * 2);
}
@media (max-width: 770px) {
  .usp-catch {
    font-size: calc(var(--fs) * 2.8);
  }
}
.info-text {
  padding: 0 0;
  margin: 0 0 5rem;
}
.cont-title {
  font-size: calc(var(--fs) * 3.4);
  font-style: normal;
  text-align: center;
  line-height: 1.3;
  padding: 0 0 calc(var(--rs) * 4);
  @media (min-width: 899px) {
    line-height: 1.5;
  }
  & h3 {
    font-weight: bold;
  }
  & p {
  font-size: 50%;
  color: #606060;
  }
}
.grid-section {

}
.grid-section + .grid-section {
  margin-top: calc(var(--rs) * 6);
}
.grid-container {
  display: grid;
  gap: calc(var(--rs) * 1);
  .grid-item {
    position: relative;
    .usp-num {
      font-size: calc(var(--rs) * 2);
      color: #fff;
      line-height: 1;
      width: calc(var(--rs)* 3);
      height: calc(var(--rs)* 3);
      background: #000;
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      padding-top: 0.2rem;
    }
  }
  &.grid-2-columns { 
    grid-template-columns: 1fr 1fr;
  }
  &.grid-3-columns { 
    grid-template-columns: 1fr 1fr 1fr;
  }
  &.grid-full-width {
    grid-template-columns: 1fr;
    .grid-item {
      grid-column: 1 / -1;
    }
  }
  /* 左に縦長、右に縦ふたつ */
  &.grid-complex-layout {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: minmax(min-content, max-content);
    .grid-item:nth-child(1) {
      grid-row: 1 / span 2;
      grid-column: 1;
    }
    .grid-item:nth-child(2) {
      grid-row: 1;
      grid-column: 2;
    }
    .grid-item:nth-child(3) {
      grid-row: 2;
      grid-column: 2;
    }
  }
  /* 左に縦ふたつ、右に縦長 */
  &.grid-complex-layout-alt {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: minmax(min-content, max-content);
    .grid-item:nth-child(1) {
      grid-row: 1;
      grid-column: 1;
    }
    .grid-item:nth-child(2) {
      grid-row: 2;
      grid-column: 1;
    }
    .grid-item:nth-child(3) {
      grid-row: 1 / span 2;
      grid-column: 2;
      background: #fff;
    }
  }
  /* 上にふたつ、下に横長*/
  &.grid-2-1 {
    grid-template-columns: 1fr 1fr;
    .grid-item:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }
    .grid-item:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }
    .grid-item:nth-child(3) {
      grid-column: 1 / -1;
      grid-row: 2;
    }
  }
  /* 上に横長、下にふたつ*/
  &.grid-1-2 {
    grid-template-columns: 1fr 1fr;
    .grid-item:nth-child(1) {
      grid-column: 1 / -1;
      grid-row: 1;
    }
    .grid-item:nth-child(2) {
      grid-column: 1;
      grid-row: 2;
    }
    .grid-item:nth-child(3) {
      grid-column: 2;
      grid-row: 2;
    }
  }
}
.grid-container + .grid-container {
  margin-top: calc(var(--rs) * 1);
}
.usp-txt {
  font-size: calc(var(--fs) * 1.6);
  margin-top: calc(var(--fs) * 1.6);
  padding: 0 0 calc(var(--rs) * 1);
  position: relative;
  .usp-tit {
    font-size: calc(var(--fs) * 1.8);
    font-weight: bold;
    line-height: 1.3;
  }
  .usp-dscr {
    text-align: justify;
    line-height: 1.6;
    padding: 0 0 0 0;
    position: relative;
    z-index: 5;
    + .usp-dscr {
      padding: 0.5rem 0 0 0;
    }
    + .usp-tit {
      padding-top: calc(var(--rs) * 2);
    }
    strong {
      font-size: calc(var(--fs) * 2.2);
      padding: calc(var(--rs) * 2) 0 calc(var(--rs) * 2);
      display: block;
      @media (min-width: 899px) {
        font-size: calc(var(--fs) * 3);
      }
    }
  } 
}
.usp-stand {
  display: block;
  position: relative;
  text-align: center;
  padding: 2rem 0 0;
  @media (min-width: 899px) {

  }
}
/*
.usp-stand {
  width: 80%;
  margin: 0 auto;
  display: grid;
  img {
    grid-area: 1/1;
  }
  @media (max-width: 770px) {
    width: 100%;
  }
}
*/
:is(.usp-cont) .item-spec-note {
  color: var(--c-blk);
  width: min(100%, var(--w-sm));
  margin: 0 auto;
  padding: 0.5rem 0 0;
}
/*
:is(.usp-cont) .spec-container {
  background: rgba(255,255,255,0.8);
}
*/
.usp-dscr--note {
  font-size: calc(var(--fs) * 1.4);
  padding: 0.5rem 0 0;
}
.usp-flag {
  display: flex;
  gap: calc(var(--fs) * 1);
}
.base-img {
  width: min(94%, 78rem);
  margin: 0 auto;
  text-align: center;
}
.spec-container {
  background: rgb(255 255 255 / 65%);
}
/*-------------------------------
 mail
---------------------------------*/
.mail-sec {
  padding: calc(var(--fs) * 4) calc(var(--rs) * 2) calc(var(--fs) * 4);
}
.main-cont {
  max-width: var(--w-md);
  margin: 0 auto;
}
.heading-category-shoulder {
  font-size: calc(var(--fs) * 1.4);
  color: #999;
  text-align: center;
  margin: -0.5em auto 1rem;
}
.text-lead-page {
  padding: 0 2%;
  margin: 1rem auto;
  line-height: 1.8;
  text-align: center;
}