*{
  margin: 0;
  padding: 0;
}

body{
  background-color: #F2EFEB;
}

header{
    background-color: #F2EFEB;
    width: 100%;
    height: 140px;
    position: fixed;
    box-sizing: border-box;
    z-index: 10;
}

header nav{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

}

header h1{
  position: absolute;
  left: 50%;
  /* top: 50%; */
  transform: translate(-50%, -50%);
  margin: 0;
  display: block;
  /* z-index: 1; */
}
header h1 img{
  height: 80px;
  width: auto;
}

header img{
  height: 28px;
  width: auto;
}

header ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    list-style: none;
    margin: 0 20px;
    height: 100px;
}

header ul li{
  display: flex;
  justify-content: center;
  gap: 20px;
}

header p{
  display: flex;
  justify-content: center;
  background-color: black;
  color: #D9FF00;
  height: 40px;
  align-items: center;
  font-size: 10px;
}

main article{
  padding-top: 140px;
}

main article li{
    width: 100%;
    height: auto;
    flex: 0 0 100%;
    scroll-snap-align: start;
  }
  main article img{
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }

  main article ul{
    display: flex;
    width: 100%;
    overflow-x: auto;
    list-style: none;
    scroll-snap-type: x mandatory;
  }


:root{
  /* 秒数を変えるだけで速度調整できます（小さいほど速い） */
  --marquee-duration: 12s;
  --marquee-gap: 2rem;
  --marquee-bg: #111;
  --marquee-color: #D9FF00;
}

*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;}


.marquee{
  background:var(--marquee-bg);
  color:var(--marquee-color);
  overflow:hidden;               /* はみ出し部分を隠す */
  width:100%;
  white-space:nowrap;
}

/* 内側は横並び（左→右）で、同じグループを2つ並べる */
.marquee__inner{
  display:flex;
  align-items:center;
  /* animation: 左へ移動させる */
  animation: marquee-scroll var(--marquee-duration) linear infinite;
  gap: var(--marquee-gap);
  will-change: transform;
}

/* 各グループはコンテンツ分だけの幅（max-content）にする */
.marquee__group{
  display:inline-flex;
  gap: var(--marquee-gap);
  padding: 0.6rem 1rem;
}

/* アイテムの見た目 */
.marquee__item{
  display:inline-block;
  font-size:1rem;
  padding:0.2rem 0.4rem;
  white-space:nowrap;
}

/* ホバーまたはフォーカスが来たら一時停止（ユーザー操作で止められるように） */
.marquee:hover .marquee__inner,
.marquee:focus-within .marquee__inner{
  animation-play-state: paused;
}

/* アニメーション: 片方のグループ分だけ左に移動させる（シームレスにループ） */
@keyframes marquee-scroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); } /* 内部コンテンツが2コピー分ある前提で -50% にする */
}

/* スクリーンリーダー用の非表示ユーティリティ */
.sr-only{
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

main section{
  margin: 40px 0;
}

main section div.title{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}

main section div.title h2{
  font-size: 20px;
  font-weight: bold;
}
main section div.title p a{
  color: black;
  font-size: 12px;
  text-decoration: none;
}

a.product-link{
    color: black;
    text-decoration: none;
    font-size: 12px;
  }
  p.product-name{
  margin-bottom: 4px;
}


main section ul{
    width: 100%;
    list-style: none;
    overflow-x: auto;
    display: flex;
}

main section li{
    display: flex;
    justify-content: flex-start;
  }

p.view_more{
  text-decoration: underline;
}

div.topic{
    padding: 20px;
  }

div.topic ul{
    display: flex;
    width: 100%;
    overflow-x: auto;
    list-style: none;
    scroll-snap-type: x mandatory;
}

div.topic ul li{
    display: flex;
    flex-direction: column;
    list-style: none;
    flex: 0 0 100%;
    scroll-snap-align: start;
    gap: 8px;
  } 
 
  div.topic ul li img{
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }


a.outfit-link{
  color: black;
  text-decoration: none;
}
p.outfit-name{
  font-size: 16px;
  margin-bottom: 4px;
}
p.outfit-model{
  font-size: 12px;
}

div.outfit-filter{
  display: flex;
  justify-content: flex-start;
  background-color: #000;
  height: 40px;
  width: 100%;
  align-items: center;
  overflow-x: auto;
  padding-right: 20px;
}
button.filter-btn{
  display: inline-block;
  height: 16px;
  width: fit-content;
  flex: 0 0 auto;
  color: white;
  background-color: #000;
  font-size: 12px;
  margin: 0 20px;
  letter-spacing: 1px;
  border: #000;
}


/* activeクラスがついているボタン（選択中）のスタイル */
button.filter-btn.active {
  color: #D9FF00; /* ここを好きな色に変えてください（例: グレー） */
  font-weight: bold; /* 任意: 太字にしてより目立たせる場合 */
  pointer-events: none; /* 任意: 選択中はクリックできないようにする場合 */
}


aside{
  margin: 20px;
}
aside h3{
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 8px;
}
aside p{
  font-size: 12px;
  margin-bottom: 8px;
}
aside input{
  display: block;
  border: 1px solid #F2EFEB;
  height: 32px;
  width: 100%;
  box-sizing: border-box;
  background-color: #F2EFEB;
}
aside button{
  background-color: #F2EFEB;
  border: 1px solid #F2EFEB;
}
aside form{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #000;
}

footer{
    background-color: #000;
    padding: 20px;
    background-image: url(../sozai/rogo_newone_white.svg);
    background-position: center;
    background-size: cover;
    padding: 40px 0 40px;
    text-align: center;
  }

footer img.rogo{
  height: 80px;
}

footer h3{
    color: white;
    font-size: 16px;
  }

  footer ul{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 40px;
  }

  footer ul li a{
    color: white;
    font-size: 12px;
    text-decoration: none;
    transition: 1ms;
  }
  footer ul li a:hover{
    color: #D9FF00;
  }

footer ul.sns-footer{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 40px;
    list-style: none;
  }

  /* 彩度・明度・コントラストを操作して目的の色に近づける*/
footer img{
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(199deg) brightness(105%) contrast(101%);;
    transition: 1ms;
}
footer img:hover{
    filter: none;
}

  footer p{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px;
    font-size: 12px;
    color: gray;
  }



@media screen and (max-width: 767px) {

.pc_top { display: none !important; }
.sp_top { display: block !important; }
  
main section{
  margin: 20px 0;
}

img.product-img{
    width: 120px;
    height: 100px;
    display: block;
    object-fit: cover;
  }

div.product-info{
  width: 120px;
  padding: 8px;
  }
  
img.outfit-img{
  width: 255px;
  height: 340px;
  display: block;
  object-fit: cover;
}
ul.outfit-list{
  display: flex;
  gap: 20px;
  padding-left: 20px;
  padding-top: 20px;
}

}

@media screen and (min-width: 768px){
.pc_top { display: block !important; }
.sp_top { display: none !important; }

header ul{
    margin: 0 40px;
  }
header ul li{
  gap: 40px;
}


main section div.title{
  padding-right: 40px;
  padding-left: 40px;
}


img.product-img{
    width: 252px;
    height: 340px;
    display: block;
    object-fit: cover;
  }

div.product-info{
  width: 120px;
  padding: 8px;
  }
  
ul.product-list{
  display: flex;
  padding-left: 40px;
}
ul.product-list li{
  gap: 40px;
}

img.outfit-img{
  width: 255px;
  height: 340px;
  display: block;
  object-fit: cover;
}
ul.outfit-list{
  display: flex;
  gap: 40px;
  padding-left: 40px;
  padding-top: 20px;
}

div.topic{
    padding-right: 40px;
    padding-left: 40px;
  }
div.topic ul{
    display: flex;
    width: 100%;
    justify-content: flex-start;
    list-style: none;
    gap: 40px;
}
div.topic ul li{
    display: flex;
    flex-direction: column;
    list-style: none;
    flex: 0 0 30%;
    gap: 8px;
  } 
div.topic ul li img{
  width: 100%;
  height: auto;
  display: block;
}


}