@charset "UTF-8";
/* CSS Document */
    body {
      margin: 0;
      background: #fff;
    }



img:hover {
   opacity: 0.75; /* 25％ほど透明にする */
}


img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* この一行を追加するだけ！ */
}


* {
  box-sizing: border-box;
  list-style: none;
  padding: 0;
  margin: 0;
}


.border{
	width: 180px;
	border: solid 1px #454545;
	padding: 10px;
}

.footer {
  position: absolute;/*②絶対位置*/
  bottom: 0; /*下に固定*/
}



.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 3カラム */
  gap: 80px;
  padding: 80px;
}


.grid-item {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 3カラム */
  gap: 5px;
  padding: 5px;
}

.img-wrap {
  position: relative;
  overflow: hidden;
}


.img-wrap img {
  width: 100%;
  display: block;
}

.hover-img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
}

.img-wrap:hover .hover-img {
  opacity: 1;
}



 .img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4; /* 画像比率に合わせて変更可 */
  overflow: hidden;
}

.img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.img-wrap .hover-img {
  opacity: 0;
  z-index: 1;
}

.img-wrap .default-img {
  z-index: 0;
}

.img-wrap:hover .hover-img {
  opacity: 1;
}

.img-wrap:hover .default-img {
  opacity: 0;
}



.div{
  font-family: 'Helvetica';
}

.image-wrapper {
  position: relative;
}


a:link {
  color:rgba(var(--color-foreground), 0.75) !important;
}
a:visited {
  color:rgba(var(--color-foreground), 0.75) !important;
}
a:active {
  color:rgba(var(--color-foreground), 0.75) !important;
}

a:hover {
   opacity: 0.75; /* 25％ほど透明にする */
}



.img-wrap {
  position: relative;
  overflow: hidden;
}


.default-img,
.hover-img {
  display: block;
  width: 100%;
  transition: opacity 0.3s;
}

.hover-img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 1;
}

.img-wrap:hover .hover-img {
  opacity: 1;
}

  .divlogo2 {
    padding: 0;
    width: 30%;
    text-align: center;
  }

.center-svg-overlay {
  position: absolute;
  top: 26%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none; /* スライド操作の邪魔をしない */
}

.center-svg-overlay img {
  width: 480px; /* 適宜サイズ調整 */
  height: auto;
  opacity: 0.85; /* 任意で透明感を出す */
}

.container-item {
      color: #fff;
      background: #fff;
      padding: 40px 20px;
		}

.divlogo {
	width:	250px;
     height: 25px;
	margin-bottom: 20px;
	}


 .datail {
    font-size: 6px !important;
    text-align: right;
    margin: 0;
    padding: 10px 0;
    width: 100%;
    min-width: auto;
   font-weight: 700; /* ←これで太字 */
   color: #666;


  }

		

.title3 {
 display: inline-block; /* 線をテキスト幅に合わせる */
 font-size: 8px !important;
 font-weight: 700; /* ←これで太字 */
 padding-bottom: 2px; /* 線と文字の間の隙間 */
 margin-bottom: 6px; /* 下のテキストとの余白 */
 background: #fff;
 overflow-x: hidden;
 color: #666;

}


.btn-wrap{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  margin-top:10px;
}

a.btn_04{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:30px;
  background:#fff;
  border:1px solid #000;
  color:#000;
  font-family:"Avenir","Helvetica Neue",Arial,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-decoration:none;
  transition:.3s;
  box-sizing:border-box;
}
	
a.btn_04:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: #000;
  color: #fff !important;  /* 重要度アップ */
}

a.btn_04:hover:before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}


.lookSwiper {
  width: 100%;
  overflow: hidden;
}

.lookSwiper .swiper-slide {
  width: auto;
}

.lookSwiper img {
  width: 100%;
  display: block;
}





.grid-title {
 grid-column: 1 / -1; /* ←これ超重要（全幅） */
 letter-spacing: .08em;
 font-family: "Times New Roman", "Times", serif !important;
  font-weight: 700; /* ←これで太字 */
  margin: 40px 0 10px;
  padding-bottom: 6px;
}



.grid-title .small{
  font-size: 12px;
  display: inline-block;
}

.grid-title .large{
  font-size: 22px;
  display: inline-block;
  margin-top: 6px;
}


.top-visual {
  width: 100%;
  display: flex;
  justify-content: center; /* 横中央 */
  align-items: center;
  padding: 20px 0 40px; /* ←上20 / 下40 */
}

.top-visual img {
  width: auto;
  max-width: 150px; /* 必要なら調整 */
  height: auto;
  display: block;
}



.look-lead{
  text-align:center;
  padding:120px 20px 90px;
  max-width:900px;
  margin:0 auto;
  color:#000;
}

/* 小さく薄い情報 */
.lead-sub{
  font-family:"Helvetica Neue", Arial, sans-serif;
  font-size:10px;
  letter-spacing:0.35em;
  font-weight:600;
  opacity:0.5;
  margin-bottom:20px;
  text-transform:uppercase;
    color:#000;

}

/* 主役 */
.lead-title{
  font-family:"Didot","Times New Roman",serif;
  font-size:30px;
  font-weight:700;
  letter-spacing:0.25em;
  margin:0 0 30px;
  line-height:1.2;
  color:#000;

}

/* 説明文 */
.lead-text{
  font-family:"Helvetica Neue", Arial, sans-serif;
  font-size:12px;
  line-height:2.2;
  letter-spacing:0.08em;
  max-width:600px;
  margin:0 auto;
  opacity:0.8;
   color:#000;
}

.img-wrap {
  border: 1px solid #000;
}


.top-visual2{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 20px;
}

.top-visual2 img{
  width: 100%;
  max-width: 650px; /* ←ここが重要（見栄え調整） */
  height: auto;
  display: block;
}


.product-back{
    display:none;
}

.product.active .product-front{
    display:none;
}

.product.active .product-back{
    display:block;
}

.product.active{
    transform: scale(1.2);
    z-index: 10;
    position: relative;
    transition: .3s;
}

.product.active .datail{
  font-size: 8px!important;
  line-height:1.8;
  text-align:right;   /* 左揃えの方が読みやすい */
}

.product.active .title3{
  font-size:20px;
  margin-bottom:15px;
  display:block;
}

.product.active .btn_04{
  height:35px;
  font-size:10px;
}


a{
  text-decoration: none;
}


.fade-slider{
  position: relative;
  overflow: hidden;
}

.fade-slider .slide{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease;
}

.fade-slider .slide.active{
  opacity: 1;
}



.img-wrap{
  position: relative;
  overflow: hidden;
}

.fade-slider{
  width: 100%;
  height: 100%;
}


/* =========================
   RESET
========================= */

/* =========================
   SECTION（ここが重要）
========================= */
.grid {
  position: relative;   /* ← stickyやz-index禁止 */
  width: 100%;
  background: #fff;
}

/* セクション間の余白 */
.grid + .grid {
  margin-top: 60px; /* ← 負のmargin絶対NG */
}

/* =========================
   TITLE（ここだけsticky許可）
========================= */
.grid-title {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  padding: 10px 0 10px;
}

.grid-title .small {
  font-size: 10px;
  letter-spacing: 0.1em;
}

.grid-title .large {
  font-size: 25px;
  letter-spacing: 0.05em;
}



.btn-online {
  display: inline-block;
  padding: 15px 40px;
  border: 1px solid #111;
  color: #111;
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.35s ease;
  background: transparent;
 font-family: 'Times New Roman', Times, serif;
}


.btn-online:hover {
  background: #111;
  color: #fff;
  letter-spacing: 0.2em;
}

a.btn_04:before {
  display: none;
}