
.block-page-top a {
  display: none!important;
}

.adidas_jfa2025 {
  position: relative;
  z-index: 0;
  font-size: 10px;
}

.adidas_jfa2025::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.adidas_jfa2025.bg-japan::before {
  background-image: url(../../../../../img/usr/freepage/adidas/260320football-uniform/bg_pc.jpg);
}

.adidas_jfa2025.bg-away::before {
  background-image: url(../../../../../img/usr/freepage/adidas/260320football-uniform/bg_pc_away.jpg);
}

.adidas_jfa2025 a{
  color: inherit;
}
.adidas_jfa2025 a:hover{
  text-decoration: none;
}

img{
  height: auto;
}

.japan {
  font-family: 'Noto Serif JP';
  color: #fff;
}

.away {
  font-family: 'Noto Serif JP';
  color: #404040;
}

.federation {
  background-color:#fff;
  font-family: 'Noto Sans JP';
  color: #333;
  padding-bottom: var(--space-120);
}

.adidas_jfa2025 img {
  max-width: 100%;
}

:root {
  --space-10: 10px;
  --space-15: 15px;
  --space-20: 20px;
  --space-40: 40px;
  --space-60: 60px;
  --space-80: 80px;
  --space-120: 120px;
}

.l-footer {
  margin-top: 0;
}

.en{
  font-family: 'adineue PRO Bold Regular', 'Oswald', 'Roboto Condensed', 'Helvetica Neue', sans-serif ;
  font-weight: bold;
}

.x-main-img img {
    width: 100%;
}

  .pc-open{
    display: block;
  }

  .note-close{
    display: block;
  }

  .note-open{
    display: none;
  }

  .sp-open {
    display: none;
  }


/*-- 動画 --*/
.movie-block {
	background: #fff;
	width: 100%;
	margin: var(--space-80) auto 0;
	max-width: 1000px;
	position: relative;
	overflow: hidden;
  }
.movie-block iframe{
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	top: 0;
	left: 0;
  }
  
.movie-block video{
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	top: 0;
	left: 0;
  }

.movie-block::before {
	content: '';
	display: block;
	padding-top: 56.25%;
  }
/*-- 動画 --*/




/* ----▼▼▼ セクション ▼▼▼---- */
.bg-to-see {
  padding: var(--space-120) 0;
  background-color: rgb(43 47 95 / 0.8);
  backdrop-filter: blur(2px);
  width: 100%;
}

.bg-to-away {
  padding: var(--space-120) 0;
  /* background-color: rgb(246 244 231 / 0.8); */
  /* backdrop-filter: blur(2px); */
  width: 100%;
}


.container-jfa {
  text-align: center;
  line-height: 1.0;
  width: 100%;
  margin: 0 auto;
}

.product {
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: var(--space-120);
}

.campaign {
  text-align: center;
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin: var(--space-120) auto;
}

.product-list {
  text-align: center;
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.lineup {
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: var(--space-120);
}

.federation-item-list {
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: var(--space-60);
}

.federation-btn {
  text-align: center;
  line-height: 1.0;
  width: 100%;
  max-width: 1000px;
  margin:var(--space-120) auto 0;
}

/* ----▲▲▲ セクション ▲▲▲---- */




/* ----▼▼▼ マントラ ▼▼▼---- */
.jfa-logo {
  line-height: 1;
  display: flex;
  justify-content: center;
}
.jfa-title {
  font-size: 10.8em;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.04em;
}

.subtitle {
  font-size: 1.8em;
  letter-spacing: 0.4em;
  margin-top: var(--space-20);
  line-height: 1.4;
}

.description {
  margin-top: var(--space-80);
  font-size: 2.4em;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.description-big {
  margin-top: var(--space-40);
  font-size: 6.0em;
  line-height: 1.75;
  letter-spacing: 0.08em;
  padding-left: 40px;
}
/* ----▲▲▲ マントラ ▲▲▲---- */




/* ----▼▼▼ プレーヤーカット ▼▼▼---- */
.gallery-showcase {
  position: relative;
  max-width: 1000px;
  margin: var(--space-120) auto 0;
}

.gallery-showcase__frame {
  position: relative;
  padding: 42px 28px 28px;
}

.gallery-showcase__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  background:
    linear-gradient(140deg, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0.06) 100%),
    radial-gradient(circle at top left, rgba(255,255,255,0.32), rgba(255,255,255,0) 45%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.away .gallery-showcase__frame::before {
  background:
    linear-gradient(140deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.64) 100%),
    radial-gradient(circle at top left, rgba(255,84,84,0.18), rgba(255,255,255,0) 46%);
}

.gallery-showcase__viewport {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.gallery-showcase__track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  padding: 0 12vw;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
}

.gallery-showcase__track::-webkit-scrollbar {
  display: none;
}

.gallery-showcase__track.is-dragging {
  cursor: grabbing;
}

.gallery-showcase__card {
  flex: 0 0 62%;
  scroll-snap-align: center;
  position: relative;
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  cursor: pointer;
  overflow: hidden;
  opacity: 0.48;
  transform: scale(0.88);
  transition: transform .45s ease, opacity .45s ease, box-shadow .45s ease;
}

.gallery-showcase__card::after {
  content: "";
  position: absolute;
  inset: 0;
}

.gallery-showcase__card.is-active {
  opacity: 1;
  transform: scale(1);
}

.gallery-showcase__card img {
  display: block;
  width: 100%;
  aspect-ratio: 810 / 1080;
  object-fit: contain;
  object-position: center center;
  background: transparent;
}

.gallery-showcase__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: none;
  background: rgba(10, 28, 46, 0.74);
  transform: translateY(-50%);
  cursor: pointer;
  transition: transform .3s ease, opacity .3s ease, background .3s ease;
}

.away .gallery-showcase__nav {
  background: rgba(164, 16, 16, 0.82);
}

.gallery-showcase__nav:hover {
  transform: translateY(-50%) scale(1.08);
}

.gallery-showcase__nav:disabled {
  opacity: 0.28;
  cursor: default;
}

.gallery-showcase__nav span {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.gallery-showcase__nav--prev {
  left: -6px;
}

.gallery-showcase__nav--prev span {
  transform: rotate(-135deg);
}

.gallery-showcase__nav--next {
  right: -6px;
}

.gallery-showcase__nav--next span {
  transform: rotate(45deg);
}

.gallery-showcase__footer {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
  gap: 20px;
}

.gallery-showcase__caption {
  margin: 0;
  font-size: 1.8em;
  letter-spacing: 0.28em;
  color: rgba(255,255,255,0.88);
}

.away .gallery-showcase__caption {
  color: rgba(64,64,64,0.88);
}

.gallery-showcase__dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.gallery-showcase__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.34);
  cursor: pointer;
  transition: transform .3s ease, background .3s ease;
}

.away .gallery-showcase__dot {
  background: rgba(64,64,64,0.24);
}

.gallery-showcase__dot.is-active {
  width: 34px;
  border-radius: 999px;
  background: #fff;
}

.away .gallery-showcase__dot.is-active {
  background: #d31f1f;
}

.horizontal {
  position: relative;
  height: 100vh;
  overflow: hidden;
  margin-top: var(--space-120);
}

.horizontal__inner {
  display: flex;
  height: 100%;
}

.panel-jfa {
  position: relative;
  flex: 0 0 50vw; /* ← 通常はこれ（横長画像用） */
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: flex-basis 0.6s ease; /* スムーズに幅が変化 */
    padding: 0;
    border: none;
    background: none;
}

/* 縦長画像用 */
.panel-jfa.portrait {
  flex: 0 0 30vw; /* ← 縦長画像は幅を少し狭める（好みで調整） */
}

.panel-jfa img {
  width: auto;
  height: auto;
  max-height: 100vh;
  max-width: 90%;
  object-fit: contain;
  display: block;
  transition: transform 0.6s ease;
}




.panel-jfa:nth-child(1) img { transform: translateY(10px); }
.panel-jfa:nth-child(2) img { transform: translateY(-20px); }
.panel-jfa:nth-child(3) img { transform: translateY(-60px); }
.panel-jfa:nth-child(4) img { transform: translateY(10px); }
.panel-jfa:nth-child(5) img { transform: translateY(-50px); }
.panel-jfa:nth-child(6) img { transform: translateY(-20px); }
.panel-jfa:nth-child(7) img { transform: translateY(10px); }
.panel-jfa:nth-child(8) img { transform: translateY(-50px); }
.panel-jfa:nth-child(9) img { transform: translateY(-20px); }
.panel-jfa:nth-child(10) img { transform: translateY(10px); }
.panel-jfa:nth-child(11) img { transform: translateY(-50px); }
.panel-jfa:nth-child(12) img { transform: translateY(10px); }
.panel-jfa:nth-child(13) img { transform: translateY(-20px); }


/* ▼ スクロールバーの見た目 */
.scrollbar {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.3);
  overflow: hidden;
}

.scrollbar__progress {
  height: 100%;
  width: 0%;
  background-color: #fff;
  transition: width 0.1s linear;
}
/* ----▲▲▲ プレイヤーカット ▲▲▲---- */



/* ----▼▼▼ 機能説明 ▼▼▼---- */
.product-detail_top {
  width: 100%;
  display: flex;
  gap: var(--space-40);
  justify-content: space-between;
  align-items: center;
}

.product-detail_text {
  flex: 1;
  color: #fff;
}


.product-detail_label-line {
  flex-grow: 1;
  height: 1px;
  background-color: #d1ae3a;
}

.product-detail_lead-wrap{
  display:flex;
  align-items:stretch;
  gap:var(--space-10);
  margin-bottom:var(--space-40);
}

.product-detail_lead-line{
  flex:0 0 5px;
  background:#d1ae3a;
  align-self:stretch;
}

.product-detail_lead{
  font-size:2.4em;
  font-weight:bold;
  letter-spacing:0.06em;
  line-height:36px;
  margin:0;
  color:#fff;
}

.product-detail_description {
  font-size: 1.6em;
  letter-spacing: 0.04em; 
  line-height: 30px;
  padding-left: 5px;
}

.product-detail_image img {
  max-width: 500px;
  height: auto;
  display: block;
}
/* ----▲▲▲ 機能説明 ▲▲▲---- */




/* ----▼▼▼ キャンペーン ▼▼▼---- */
.sec-sub-ttl{
  font-size: 2.8em;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-20);
}
.sec-ttl{
  font-size: 4.8em;
  line-height: 1;
  background: none;
}
.campaign_image{
  max-width: 100%;
  margin-top: var(--space-60);
}

.campaign-cnt{
  display:flex;
  gap: 3%;
  text-align: left;
  align-items: center;
  line-height: 1;
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #fff;
  color: #2B2F5F;
  margin-top: var(--space-40);
}
.campaign-cnt-img{
  width: 35%;
}
.campaign-cnt-txt{
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-15);
  font-size:14px;
  line-height: 1.7;
}
.campaign-cnt-txt .big{
  font-weight: bold;
  line-height: 1.5;
  font-size: 24px;
}
.campaign-cnt-txt .big span{
  background: #2B2F5F;
  color: #fff;
  padding: 1px 15px;
  font-size: 22px;
  margin: 10px 15px 0 5px;
}
.campaign-cnt-txt .line{
  border-bottom: #2B2F5F solid 1px;
}

.away .campaign .sec-ttl {
  color: #404040;
}

.away .campaign-cnt {
  background: #fff;
  color: #404040;
  border: 1px solid rgba(190, 190, 190, 0.6);
}

.away .campaign-cnt-txt .big {
  color: #404040;
}

.away .campaign-cnt-txt .big span {
  background: #404040;
  color: #fff;
}

.away .campaign-cnt-txt .line {
  border-bottom: #404040 solid 1px;
}

.away .shop-master__btn {
  background: #fff;
  color: #404040;
  border: 1px solid #d7d7d7;
}

.away .shop-master__btn .pm::after {
  border-right-color: #404040;
  border-bottom-color: #404040;
}

.away .shop-master__btn[aria-expanded="true"] {
  background: #fff;
  border-color: #404040;
  color: #404040;
}

.away .shop-master__btn[aria-expanded="true"] .pm::after {
  border-color: #404040;
}

.away .list-inner {
  background: #fff;
  border-top: 1px solid #404040;
  border-bottom: 1px solid #404040;
}

.away .hdg-shop-lv3 {
  background-color: #fff;
  color: #404040;
  border-bottom: 1px solid #404040;
}

.away .hdg-shop-lv3 span::after {
  border-color: #404040;
}

.away .hdg-shop-lv3.open {
  background: #fff;
  color: #404040;
  padding-left: 16px;
}

.away .hdg-shop-lv3.open span::after {
  border-right: 1px solid #404040;
  border-bottom: 1px solid #404040;
}

.away .shop-list-line .shop-item a {
  color: #404040;
}

/* shoplist--------------------------------- */
/* ▼ 第1段階：親トグルの見た目 */
:root{
  --main-bg: #2B2F5F;
  --main-border: #005185;
  --accent-bg: #a8b4b9;
  --panel-jfa-bg: #fbfeff;
  --btn-font-size: 2.4em;
}

.shop-master {
  margin-top: var(--space-40);
  font-family: 'Noto Sans JP', sans-serif;
}

.shop-master__btn{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #2B2F5F;
  font-size: var(--btn-font-size);
  font-weight: 600;
  padding: var(--space-20) 0;
  cursor: pointer;
  position: relative;
  gap: 12px;
  transition: background .18s, color .18s, border-color .18s;
  border: none;
}


.shop-master__btn .pm{
  --size: 30px;
  width: var(--size);
  height: var(--size);
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  box-sizing: border-box;
}

/* シェブロンを ::after で作る（閉じ＝右向き '>'） */
.shop-master__btn .pm::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #2B2F5F;
  border-bottom: 2px solid #2B2F5F;
  transform: translate(-50%,-50%) rotate(-45deg); /* '>' */
  transition: transform .25s cubic-bezier(.2,.9,.2,1), border-color .18s;
  box-sizing: content-box;
}

.shop-master__btn[aria-expanded="true"]{
  color: #fff;
  border-color: var(--main-border);
  background: var(--main-border);
  border-bottom: 1px solid #fff;
}
.shop-master__btn[aria-expanded="true"] .pm::after{
  transform: translate(-50%,-50%) rotate(45deg); /* 'v' */
  border-color: var(--panel-jfa-bg);
}

/* 初期状態は “親閉じ”＝地区一覧を隠す */
.shop-list-line-inner{
  display: none;
  font-family: 'Noto Sans JP', sans-serif;
}

/* テキスト系 */
p.list-info{
  color: #333;
  margin: 0 auto;
  padding: 0;
  width: 94%;
  max-width: 80px;
  text-align: center;
}

/* 地区展開部分（各地区のパネル） */
.list-inner {
  display: none;
  padding: 15px;
  font-size: 16px;
  background: rgb(251, 255, 255);
  transition: max-height .28s ease;
}

/* セクション基礎 */
.sec-shop {
  margin: 0 auto;
}

/* 地区見出し（lv3） — シェブロンに変更 */
.hdg-shop-lv3 {
  text-align: center;
  margin: 0;
  padding: 15px 48px 15px 20px; /* 右にアイコンスペース確保 */
  font-weight: 500;
  color: #fff;
  background-color: #005185;
  border-bottom: 1px solid #fff;
  cursor: pointer;
  font-size: 1.8em;
  position: relative;
}

/* 丸アイコンラッパー（見出し右） */
.hdg-shop-lv3 span{
  --icon-size: 20px;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-block;
}

/* シェブロン本体（border で角を作る） */
.hdg-shop-lv3 span::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%,-50%) rotate(-45deg); /* '>' */
  transform-origin: center;
  transition: transform .25s cubic-bezier(.2,.9,.2,1), border-color .18s;
  box-sizing: content-box;
}

/* open 時は下向き（∨）に、色も反転 */
.hdg-shop-lv3.open{
  background: #005185;
  color: #fff;
  border-bottom-color: #eee;
}
.hdg-shop-lv3.open span{
  border-color: #333;
}
.hdg-shop-lv3.open span::after{
  transform: translate(-50%,-50%) rotate(45deg); /* 'v' */
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

/* 見出しフォーカス（キーボード対応） */
.hdg-shop-lv3:focus{
  outline: 3px solid rgba(51,51,51,0.12);
  outline-offset: 2px;
}

/* lv4 見出し（都道府県） */
.hdg-sho-lv4 {
  margin: 0;
  padding: 5px 0;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  background: #404040;
  color: #fff;
}

/* ネストセクション */
.sec-shop-nest {
  margin: 0 20px 0 0;
  width: 100%;
  box-sizing: border-box;
}
.sec-shop-nest:nth-child(even) { margin: 0; }

/* 店舗リスト横組 */
.shop-list-line {
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
}

/* item 幅 */
.sec-shop .shop-list-line .shop-item {
  width: 50%;
  color: #333;
}
.shop-list-line .shop-item:nth-child(4n) { margin-right: 0; }

/* 店舗リンク */
.shop-list-line .shop-item a {
  position: relative;
  padding: 8px 8px 8px 15px;
  display: block;
  text-decoration: none;
  text-align: left;
  color: inherit;
  font-size: 14px;
}

/* リンク先の小矢印（既存の画像を利用） */
.shop-list-line .shop-item a:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../../../../../img/usr/freepage/adidas/260320football-uniform/shop-arrow_home.png) no-repeat center top / contain;
}

.away .shop-list-line .shop-item a:after {
  background-image: url(../../../../../img/usr/freepage/adidas/260320football-uniform/shop-arrow_away.png);
}

/* 閉じる用アイコンの余白 */
.shop-close{
  max-width: 40px;
  margin-left: auto;
  padding: 4px;
}
.shop-close img{
  display: block;
  width: 100%;
  height: auto;
}

/* shoplist end------------------------------- */

/* ----▲▲▲ キャンペーン ▲▲▲---- */




/* ----▼▼▼ 商品一覧 ▼▼▼---- */
.item-list{
  font-family: 'Noto Sans JP';
}

/* ステージは“高さの基準”になる箱（メイン画像が高さを作る） */
.item-detail__stage{
  position: relative;
  width: 100%;
  overflow: hidden;
}

.item-detail__stage:hover img{
  transform: scale(1.08); 
}
.item-detail__stage img{
    transition: transform 0.4s ease; 
}

/* メイン画像は普通のフロー要素（高さを作る） */
.item-detail__stage > img{
  display:block;
  width:100%;
  height:auto;
}

/* 新画像は重ねてアニメ（入場用オーバーレイ） */
.item-detail__stage > img.fade-next{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: contain;
  opacity:0;
  transform: scale(1.02) translateX(10px);
  transition: opacity .45s ease, transform .45s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}

/* フェードイン状態 */
.item-detail__stage > img.fade-next.is-on{
  opacity:1;
  transform: scale(1) translateX(0);
}




.item-detail {
  display: flex;
  column-gap: 5%;              
  align-items: center;
  margin-top: var(--space-60);
}

.item-detail__img {
  width: 50%;
  max-width: 500px;
  height: auto;
  display: block;
}

/* サムネイル */
.item-detail__thumbs {
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin: 15px 0 0;
  padding: 0;
}

.item-detail__thumbs li{
  width: 24%;
}

.item-detail__thumbs .thumb {
  background: none;
  border: none;
  padding: 0;
  width: 100%;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.5;
}
.item-detail__thumbs .thumb:hover {
  opacity: 1;
}

.item-detail__thumbs .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.item-detail__thumbs .thumb.is-active {
  opacity: 1.0;
}
.item-detail__thumbs .thumb img { 
  pointer-events: none; 
}


/* 右側情報 */
.item-detail__info {
  max-width: 500px;
  width: 45%;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.item-detail__novelty {
  font-size: 1.6em;
  background-color: #0096B2;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  line-height: 1;
  width: 40%;
}
.item-detail__name {
  font-size: 2.2em;
  line-height: 1.44;
  font-weight: 700;
  margin-top: var(--space-20);
}

.item-detail__cnt {
  line-height: 1.5;
  background: none;
  font-size: 1.4em;
  letter-spacing: 0.05;
  margin-top: var(--space-20);
}
.item-detail__price {
  line-height: 1;
  background: none;
  font-size: 14px;
  margin-top: var(--space-20);
}
.item-detail__price .num {
  line-height: 1;
  background: none;
  font-size: 18px;
}
.item-detail__size{
  line-height: 1;
  background: none;
  font-size: 1.4em;
  margin-top: var(--space-10);
}

.item-detail__btn {
    display: inline-block;
    background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
    color: #fff;
    text-decoration: none;
    text-align: center;
    border-radius: 5px;
    padding: 15px 0;
    transition: background 0.3s;
    margin-top: var(--space-20);
    font-size: 1.8em;
    width: 60%;
}
.item-detail__btn:hover {
  background: #fff;
  outline: #005185 solid 1px;
  color:#005185 ;
  font-weight: bold;
}

.japan .item-detail__novelty {
  background-color: #ff0c0c;
}

.away .item-detail__novelty {
  background-color: #0096B2;
}

.japan .item-detail__btn,
.japan .item-detail__btn:hover {
  background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
  color: #fff;
  outline: none;
  font-weight: normal;
}

.away .item-detail__btn,
.away .item-detail__btn:hover {
  background-image: -webkit-linear-gradient(54deg, #ff0000 0%, #ff5353 101.11%);
  color: #fff;
  outline: none;
  font-weight: normal;
}


.item-list .line-up {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 5%;
    margin-top: var(--space-60);
}

.item-list .line-up li {
    position: relative;
    max-width: 300px;
    width: 32%;
    margin-bottom: 60px;
    display: flex;
    text-align: center;
}

.item-list .line-up li a{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    align-items: flex-start;
}

.item-list .line-up li::nth-child(3n) {
    margin: 0 0 var(--space-40) 0;
}

.item-list .line-up li p {
    margin: 0;
    width: 100%;
}


.item-list .line-up li .item-size,
.item-list .line-up li .item-date,
.item-list .line-up li .cvbtn{
    display: block;
    position: relative;
}

 .item-list .line-up li .cvbtn{
    font-size: 1.4em;
    /* outline: #fff solid 1px; */
    transition: .3s;
    margin:var(--space-20) 0 0;
    background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
    text-align: center;
    padding: 10px 0;
    border-radius:5px;
    color: #fff;
}

.item-list .line-up li .cvbtn:after{
    content: "";
    position: absolute;
    top: .05em;
    bottom: .05em;
    right: 5%;
    margin: auto;
    width: .36em;
    height: .36em;
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
    transform: rotate(45deg);
    transition: .3s;
}

 .item-list .line-up li .cvbtn:after{
    right: 3%;
}

 .item-list .line-up li .cvbtn:hover:after {
    right: 2%;
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
}

 /* .item-list .line-up li .cvbtn:hover{
    color:#fff ;
    background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
} */





 .item-list .line-up li .cv-away{
    /* outline: #fff solid 1px; */
    color: #fff;
    background-image: -webkit-linear-gradient(54deg, #ff0000 0%, #ff5353 101.11%);
}

.item-list .line-up li .cv-away:after{
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
}

 .item-list .line-up li .cv-away:hover:after {
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
}

 /* .item-list .line-up li .cv-away:hover{
    background-image: -webkit-linear-gradient(54deg, #ff0c0c 0%, #e10303 101.11%);
    color:#fff;
} */








.item-list .line-up li img {
  margin-bottom: var(--space-20);
}

.item-list .line-up li .item-name {
  display: flex;
  flex-direction: column;
}

.item-list .line-up li .novelty {
  font-size: 1.6em;
  background-color: #ff0c0c;
  color: #fff;
  padding: 5px 0px;
  width: 68%;
  margin: 0 auto 15px;
}

.item-list .line-up li .nov-away {
  background-color: #0096B2;
}

.item-list .line-up li .item-jp-name {
  font-size:1.8em;
  font-weight: bold;
  line-height: 1.33;
}
.item-list .line-up li .item-size,
.item-list .line-up li .item-date {
  padding-top: var(--space-10);
  font-size: 1.6em;
  line-height: 1;
   background: none; 
}
.item-list .line-up li .maker-price{
  line-height: 1;
   background: none; 
  padding-top: var(--space-10);
  font-size: 12px;
}
.item-list .line-up li .maker-price .num{
  font-size: 16px;
}

.item-list .line-up-fed {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    margin-top: var(--space-60);
    gap: 1.33%;
    text-align: center;
    margin-bottom: var(--space-120);
}

.item-list .line-up-fed li {
    position: relative;
    max-width: 240px;
    width: 24%;
    margin-bottom: 60px;
    display: flex;
}

.item-list .line-up-fed li a{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    align-items: flex-start;
}

.item-list .line-up-fed li p {
    margin: 0;
    width: 100%;
}

.item-list .line-up-fed li .item-size,
.item-list .line-up-fed li .item-date,
.item-list .line-up-fed li .cvbtn{
    display: block;
    position: relative;
}

.item-list .line-up-fed li .cvbtn{
    font-size: 1.3em;
    background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
    transition: .3s;
    margin:var(--space-20) 0 0;
    color: #ffffff;
    text-align: center;
    padding: 10px 0;
    border-radius:5px;
}

.item-list .line-up-fed li .cvbtn:after{
    content: "";
    position: absolute;
    top: .05em;
    bottom: .05em;
    right: 3%;
    margin: auto;
    width: .36em;
    height: .36em;
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
    transform: rotate(45deg);
    transition: .3s;
}

.item-list .line-up-fed li .cvbtn:hover:after {
    right: 2%;
    border-top: .05em solid #005185;
    border-right: .05em solid #005185;
}

.item-list .line-up-fed li .cvbtn:hover{
    background: #fff;
    outline: #005185 solid 1px;
    color:#005185 ;
}

.item-list .line-up-fed li img {
  width: 100%;
  height: auto;
  margin-bottom: var(--space-20);
}

.item-list .line-up-fed li .item-name {
  display: flex;
  flex-direction: column;
}

.item-list .line-up-fed li .item-jp-name {
  font-size:1.6em;
  font-weight: bold;
  line-height: 1.4;
}
.item-list .line-up-fed li .item-size,
.item-list .line-up-fed li .item-date {
  padding-top: var(--space-10);
  font-size: 1.4em;
  line-height: 1.2;
  background: none;
}
.item-list .line-up-fed li .maker-price{
  line-height: 1.2;
  background: none;
  padding-top: var(--space-10);
  font-size: 11px;
}
.item-list .line-up-fed li .maker-price .num{
  font-size: 15px;
}
/* ----▲▲▲ 商品一覧 ▲▲▲---- */


.main_message {
  opacity: 0;
  filter: blur(8px);
  transition: all 0.9s ease;
}
.main_message.active {
  opacity: 1;
  filter: blur(0);
}


.main_message--right { transform: translateX(40px); }
.main_message--left { transform: translateX(-20px); }
.main_message--up { transform: translateY(40px); }
.main_message--down { transform: translateY(-20px); }


.main_message--right.active,
.main_message--left.active,
.main_message--up.active,
.main_message--down.active {
  transform: translate(0, 0);
}


/* ----▼▼▼ フェデレーションサイドメニュー ▼▼▼---- */
.lineup-menu_side {
font-family: 'Noto Sans JP';
position: fixed;
left: 0;
top: calc((100vh - 500px) / 2 - 20px);
box-shadow: 0px 2px 9.8px 0.2px rgba(65 65 65 / 67%);
background-color: #fff;
z-index: 1000;
width: 174px;
border-radius: 0 15px 15px 0;
transition: opacity 0.5s, transform 0.5s;
opacity: 0;
transform: translateY(-20%);
padding: 15px;
pointer-events: none; /* 非表示時に操作不可にする */
}

.lineup-menu_side.is-visible {
opacity: 1;
transform: translateY(0);
pointer-events: auto; /* 表示時に操作可能に戻す */
}

.lineup-menu_side.is-visible.hidden_fuwatto {
opacity: 0;
transform: translateY(-20%);
}



.lineup-title_side {
font-size: 18px;
font-weight: bold;
width: 174px;
height: 45px;
line-height: 45px;
background: #333;
border-radius: 10px 10px 0 0;
color: #fff;
padding: 0 29px;
text-align: center;
}
.lineup-item_side {
padding: 10px;
border-bottom: 1px solid #333333;
text-align: center;
}
.lineup-item_side a{
color: #333333;
}
.lineup-item_side:last-child {
border-bottom: none;
}

.lineup-link_side {
text-decoration: none;
color: #333;
font-size: 16px;
font-weight: bold;
}

.lineup-link_side:hover {
color: #005185;
opacity: 1;
}

.model-name_side {
font-size: 16px;
font-weight: bold;
}
/* ----▲▲▲ フェデレーションサイドメニュー ▲▲▲---- */


/* ----▼▼▼ フェデレーションボタン ▼▼▼---- */



.lineup-section {
text-align: center;
}

.lineup-title {
font-size: 2.2em;
font-weight: bold;
color: #333333;
letter-spacing: 0.1em;
margin-bottom: var(--space-20);
}

.lineup-subtitle {
font-size: 4.8em;
font-weight: bold;
color: #000000;
margin-bottom: var(--space-60);
}

.lineup-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
justify-content: center;
}

.lineup-item {
background-color: #ffffff;
border: 1px solid #000;
border-radius: 20px;
padding: 15px;
text-align: center;
}

.lineup-item.dark {
background-color: #000;
color: #ffffff;
}

.lineup-item.dark:hover {
background-color: #ffffff;
border: 1px solid #000;
color: #000;
opacity: 1;
}

.model-name {
font-size: 30px;
line-height: 1;
font-weight: bold;
margin-bottom: 10px;
}

.model-feature {
font-size: 18px;
font-weight: normal;
}
/* ----▲▲▲ フェデレーションボタン ▲▲▲---- */


/* ----▼▼▼ フェデレーション商品一覧 ▼▼▼---- */
.federation-detail{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-60);
  margin-top: var(--space-60);
}
.federation-other{
  width: 100%;
  text-align: center;
  margin-top: var(--space-60);
}

.federation-detail_image{
  max-width: 33.1%;
  height: auto;
  display: block;
}

.federation-detail_item{
  width: 63%;
}

.federation-detail_item .federation-detail_lead-wrap{
  display:flex;
  align-items:stretch;
  gap:var(--space-10);
}

.federation-detail_item .federation-detail_lead-wrap .federation-detail_lead-line{
  flex:0 0 5px;

  align-self:stretch;
}

.argentina{background-color: #3994fd;}
.germany{background-color: #fee800;}
.italy{background-color: #4bc068;}
.spain{background-color: #ffe902;}
.mexico{background-color: #f6403c;}
.other{background-color: #3994fd;}

.federation-detail_item .federation-detail_lead-wrap .federation-detail_world{
  display: flex;
  flex-direction: column;
}

.federation-detail_item .federation-detail_lead-wrap .federation-detail_subttl{
  font-size: 1.8em;
}
.federation-detail_item .federation-detail_lead-wrap .federation-detail_ttl{
  margin-top: var(--space-10);
  font-size: 3em;
  font-weight: bold;
}

.federation-detail_item .federation-detail_itemlist{
  display: flex;
  justify-content: space-between;
  margin-top:var(--space-40);
  text-align: center;
}

.federation-detail_item .federation-detail_itemlist li {
    position: relative;
    width: 48%;
    display: flex;
}

.federation-detail_item .federation-detail_itemlist li img{
    display: block;
    width: 100%;
    outline : 1px solid #dbdbdb; /* 線の太さ・線状・色 */
    outline-offset : -1px
}
.federation-detail_item .federation-detail_itemlist li p {
    margin: 0;
    width: 100%;
}

.federation-detail_item .federation-detail_itemlist li .item-size,
.federation-detail_item .federation-detail_itemlist li .item-date,
.federation-detail_item .federation-detail_itemlist li .cvbtn{
    display: block;
    position: relative;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn{
    font-size: 1.4em;
    background-image: -webkit-linear-gradient(54deg, #0096B2 0%, #0073A2 101.11%);
    transition: .3s;
    margin:15px 0 0;
    color: #ffffff;
    text-align: center;
    padding: 10px 0;
    border-radius:5px;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn:after{
    content: "";
    position: absolute;
    top: .05em;
    bottom: .05em;
    right: 5%;
    margin: auto;
    width: .36em;
    height: .36em;
    border-top: .05em solid #fff;
    border-right: .05em solid #fff;
    transform: rotate(45deg);
    transition: .3s;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn:after{
    right: 3%;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn:hover:after {
    right: 2%;
    border-top: .05em solid #005185;
    border-right: .05em solid #005185;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn:hover{
    background: #fff;
    outline: #005185 solid 1px;
    color:#005185 ;
    font-weight: bold;
}

.federation-detail_item .federation-detail_itemlist li .item-name {
  display: flex;
  flex-direction: column;
  margin-top: 15px;
}

.federation-detail_item .federation-detail_itemlist li .item-jp-name {
  font-size:1.8em;
  font-weight: bold;
  line-height: 1.25;
}
.federation-detail_item .federation-detail_itemlist li .item-size,
.federation-detail_item .federation-detail_itemlist li .item-date {
  padding-top: var(--space-10);
  font-size: 1.6em;
  line-height: 1;
   background: none; 
}
.federation-detail_item .federation-detail_itemlist li .maker-price{
  line-height: 1;
   background: none; 
  padding-top: 10px;
  font-size: 12px;
}
.federation-detail_item .federation-detail_itemlist li .maker-price .num{
  font-size: 16px;
}
.federation .item-list .line-up li img,
.federation .item-list .line-up-fed li img{
  outline : 1px solid #dbdbdb;
}
/* ----▲▲▲ フェデレーション商品一覧 ▲▲▲---- */


.adidas_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: var(--space-40);
}

.adidas_link02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.adidas_link li {
    width: 48%;
    max-width: 490px;
}

.adidas_link02 li {
    width: 100%;
    max-width: 1000px;
}

.adidas_link-big{
  width: 100%;
  margin-top: var(--space-20);
  overflow: hidden; 
}
.adidas_link-big img{
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease; 
}
.adidas_link-big:hover img {
  transform: scale(1.08); 
}

.adidas_link li a ,.adidas_link02 li a{
    background: #282828;
    border: 1px solid #282828;
    color: #ffffff;
    display: block;
    position: relative;
    text-align: center;
    padding: 20px 0;
    transition: .3s;
    font-size: 16px;
}


.adidas_link li a:after , .adidas_link02 li a:after{
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg), translateX(-50%);
}

.adidas_link li a:hover , .adidas_link02 li a:hover {
    background: #ffffff;
    border: 1px solid #282828;
    color: #282828;
    text-decoration: none;
}

.adidas_link li a:hover:after , .adidas_link02 li a:hover:after {
    border-top: 1px solid #282828;
    border-right: 1px solid #282828;
}

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

 .note-close{
  display: none;
 }

 .note-open{
  display: block;
 }


 .top-scroll-button{
     position: fixed;
     bottom: 80px;
     right: 20px;
     width: 50px;
     height: 50px;
     cursor: pointer;
     z-index: 1000;
     display: flex;
     justify-content: center;
     align-items: center;
     background-color: #f8f8f8;
     border: 1px solid #ccc;
     border-radius: 50%;
     box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
     transition: opacity 0.3s ease, visibility 0.3s ease;
     }
     
     .top-scroll-button img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     }
     
     .top-scroll-button.hidden_fuwatto {
     visibility: hidden;
     opacity: 0;
     }
     
     .top-scroll-button.visible,
     .top-scroll-button.is-visible {
     visibility: visible;
     opacity: 1;
     }

     .top-scroll-button.note-open:not(.btnjfa):not(.btnaway){
      bottom: 200px;
     }

     .btnjfa{
      bottom: 140px;
      right: 20px;
     }

     .btnaway{
      bottom: 80px;
      right: 20px;
     }

     .btnaway[data-section="japan"]{
      bottom: 140px;
      right: 20px;
     }
}

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

  .adidas_jfa2025.bg-away::before {
    background-image: url(../../../../../img/usr/freepage/adidas/260320football-uniform/bg_sp_away.jpg);
  }

  :root {
  --space-10: 1.3vw;
  --space-15: 2vw;
  --space-20: 2.6vw;
  --space-40: 5.3vw;
  --space-60: 8vw;
  --space-60: 8vw;
  --space-80: 10.6vw;
  --space-120: 16vw;
  --space-140: 20.6vw;

  --txt-16: 2.13vw;
  --txt-18: 2.4vw;
  --txt-20: 2.67vw;
  --txt-22: 2.93vw;
  --txt-24: 3.2vw;
  --txt-28: 3.73vw;
  --txt-32: 4.27vw;
  --txt-40: 5.33vw;
  --txt-42: 5.6vw;
  --txt-48: 12.4vw;
  --txt-48a: 6.4vw;
  --txt-88:17.73vw;
}

  .pc-open{
    display: none;
  }

  .sp-open {
    display: block;
  }

  container-jfa {
      max-width: 92vw;
      margin: 9.333vw auto 10.667vw;
  }

  /*--youtube--*/
.movie-block {
	margin: 40px auto;
  }

.movie-block::before {
	content: '';
	display: block;
	/* padding-top: 177.78%;  */
  }
/*--//youtube--*/

.japan {
  /* background-image: url('../../../../../img/usr/freepage/adidas/260320football-uniform/bg_sp.jpg'); */
}


/* ----▼▼▼ セクション ▼▼▼---- */
.bg-to-see {
  padding: var(--space-140) 0;
  width: 100%;
}
.bg-to-away {
  padding: var(--space-140) 0;
  width: 100%;
}


.container-jfa {
  max-width: 95vw;
  background: transparent !important;
  box-shadow: none !important;
}

.product {
  max-width: 95vw;
  margin-top: var(--space-140);
}

.campaign {
  max-width: 95vw;
  margin: var(--space-140) auto;
}

.product-list {
  max-width: 95vw;
}

.lineup {
  max-width: 95vw;
  margin-top: var(--space-140);
}

.federation-item-list {
  max-width: 95vw;
  margin-top: var(--space-140);
}

.federation-btn {
  max-width: 95vw;
  margin:var(--space-140) auto 0;
}

.federation{
  padding-bottom: var(--space-140);
}
/* ----▲▲▲ セクション ▲▲▲---- */




/* ----▼▼▼ マントラ ▼▼▼---- */

.jfa-logo {
  width: 20vw;
  margin: 0 auto;
}

.jfa-title {
  font-size: var(--txt-88);
  line-height: 1.1;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.subtitle {
  font-size: var(--txt-24);
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.bg-to-see .container-jfa,
.bg-to-away .container-jfa,
.bg-to-see .jfa-title,
.bg-to-away .jfa-title,
.bg-to-see .subtitle,
.bg-to-away .subtitle {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.description {
  padding-top: var(--space-80);
  margin-top: 0;
  font-size: var(--txt-28);
}

.description-big {
  margin-top: var(--space-60);
  padding-left: 20px;
  font-size: 10.0vw;
}
/* ----▲▲▲ マントラ ▲▲▲---- */




/* ----▼▼▼ プレーヤーカット ▼▼▼---- */
  .gallery-showcase {
    max-width: 100%;
    margin-top: var(--space-120);
    padding: 0 3vw;
  }

  .gallery-showcase__frame {
    padding: 24px 14px 20px;
  }

  .gallery-showcase__frame::before {
    border-radius: 24px;
  }

  .gallery-showcase__track {
    gap: 14px;
    padding: 0 7vw;
  }

  .gallery-showcase__card {
    flex-basis: 88%;
    opacity: 0.72;
    transform: scale(0.94);
  }


  .gallery-showcase__nav {
    display: none;
  }

  .gallery-showcase__footer {
    margin-top: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .gallery-showcase__caption {
    font-size: var(--txt-22);
    letter-spacing: 0.18em;
  }

  .gallery-showcase__dots {
    justify-content: flex-start;
  }

  .gallery-showcase__dot {
    width: 8px;
    height: 8px;
  }

  .gallery-showcase__dot.is-active {
    width: 24px;
  }

  .horizontal {
    position: relative;
    height: auto !important;
    overflow: visible !important;
    padding: 20px 0; /* 好みで上下の余白 */
    margin-top: 0;
  }

  .horizontal__inner {
    display: flex;
    height: auto !important;
    align-items: flex-start; /* 画像上寄せがいいなら center に */
  }

  .panel-jfa {
    position: relative;
    flex: 0 0 100vw;    /* 画面幅を1パネル分にする */
    height: auto !important; /* 高さは画像に任せる */
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15vh 0 0 0; /* 上下の余白（好みで調整） */
    transition: flex-basis 0.4s ease;
  }

  .panel-jfa.portrait { /* portrait クラスがあれば反映 */
    flex: 0 0 90vw; /* 縦長画像は幅を少し狭めたい場合の例 */
  }

  .panel-jfa img {
    width: 85%;      /* 横幅に対する比率（必要なら100%に） */
    height: auto;
    max-height: none; /* 高さ制限は解除して画像に任せる */
    object-fit: contain; /* contain のままでもOK */
    display: block;
    transition: transform 0.4s ease;
  }

  /* スクロールバー位置を下に固定しすぎないよう調整 */
  .horizontal .scrollbar {
    bottom: 0px;
  }

.panel-jfa:nth-child(2) img { transform: translateY(0px); }
.panel-jfa:nth-child(3) img { transform: translateY(0px); }
.panel-jfa:nth-child(4) img { transform: translateY(0px); }
.panel-jfa:nth-child(5) img { transform: translateY(0px); }
.panel-jfa:nth-child(6) img { transform: translateY(0px); }
.panel-jfa:nth-child(7) img { transform: translateY(0px); }
.panel-jfa:nth-child(8) img { transform: translateY(0px); }
.panel-jfa:nth-child(9) img { transform: translateY(0px); }
.panel-jfa:nth-child(10) img { transform: translateY(0px); }
.panel-jfa:nth-child(11) img { transform: translateY(0px); }
.panel-jfa:nth-child(12) img { transform: translateY(0px); }
.panel-jfa:nth-child(13) img { transform: translateY(0px); }

/* ----▲▲▲ プレイヤーカット ▲▲▲---- */



/* ----▼▼▼ 機能説明 ▼▼▼---- */
.product-detail_top {
  flex-direction: column;
}

.product-detail_lead-wrap{
  display:flex;
  align-items:stretch;
  gap:var(--space-10);
  margin-bottom:var(--space-40);
}

.product-detail_lead-line{
  flex:0 0 5px;
  background:#d1ae3a;
  align-self:stretch;
}

.product-detail_lead{
  font-size:var(--txt-32);
  font-weight:bold;
  line-height:1.75;
}

.product-detail_description {
  font-size: var(--txt-24);
  letter-spacing: 0.04em; 
  line-height: 1.67;
}

.product-detail_image img {
  max-width: 100%;
}
/* ----▲▲▲ 機能説明 ▲▲▲---- */




/* ----▼▼▼ キャンペーン ▼▼▼---- */
.sec-sub-ttl{
  font-size: var(--txt-32);
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-20);
}

.sec-ttl{
  font-size: var(--txt-48);
  letter-spacing: 0.04;
}

.campaign-cnt{
  flex-direction: column;
  gap: 3%;
  text-align: center;
  margin-top: var(--space-40);
  padding: 20px 10px;
}
.campaign-cnt-img{
  width: 100%;
}
.campaign-cnt-txt{
  padding: 20px 0 0 0;
  gap: var(--space-20);
  font-size:12px;
  line-height: 1.7;
}
.campaign-cnt-txt .big{
  line-height: 1.5;
  font-size: 18px;
}
.campaign-cnt-txt .big span{
  background: #2B2F5F;
  color: #fff;
  padding: 1px 15px;
  font-size: 16px;
  margin-right: 0 15px 0 0;
}
.campaign-cnt-txt .line{
  border-bottom: #2B2F5F solid 1px;
}

/* shoplist--------------------------------- */
/* ▼ 第1段階：親トグルの見た目 */
:root{
  --btn-font-size: 4.0vw;
}

.shop-master {
  margin-top: var(--space-40);
  font-family: 'Noto Sans JP', sans-serif;
}

.shop-master__btn{
  padding : 15px 0;
}

/* シェブロンを ::after で作る（閉じ＝右向き '>'） */
.shop-master__btn .pm::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--main-bg);
  border-bottom: 2px solid var(--main-bg);
  transform: translate(-50%,-50%) rotate(-45deg); /* '>' */
  transition: transform .25s cubic-bezier(.2,.9,.2,1), border-color .18s;
  box-sizing: content-box;
}

.shop-master__btn[aria-expanded="true"]{
  color: #fff;
  border-color: var(--main-border);
  background: var(--main-border);
  border-bottom: 1px solid #fff;
}
.shop-master__btn[aria-expanded="true"] .pm::after{
  transform: translate(-50%,-50%) rotate(45deg); /* 'v' */
  border-color: var(--panel-jfa-bg);
}

/* 初期状態は “親閉じ”＝地区一覧を隠す */
.shop-list-line-inner{
  display: none;
  font-family: 'Noto Sans JP', sans-serif;
}

/* テキスト系 */
p.list-info{
  margin: 0 auto;
  padding: 0;
  width: 94%;
  max-width: 80px;
  text-align: center;
}

/* 地区展開部分（各地区のパネル） */
.list-inner {
  display: none;
  padding: 15px;
  font-size: 16px;
  transition: max-height .28s ease;
}

/* セクション基礎 */
.sec-shop {
  margin: 0 auto;
}

/* 地区見出し（lv3） — シェブロンに変更 */
.hdg-shop-lv3 {
  font-size: var(--txt-24);
  padding: 15px 0;
}

/* 丸アイコンラッパー（見出し右） */
.hdg-shop-lv3 span{
  --icon-size: 20px;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-block;
}

/* シェブロン本体（border で角を作る） */
.hdg-shop-lv3 span::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%,-50%) rotate(-45deg); /* '>' */
  transform-origin: center;
  transition: transform .25s cubic-bezier(.2,.9,.2,1), border-color .18s;
  box-sizing: content-box;
}
.hdg-shop-lv3.open span::after{
  transform: translate(-50%,-50%) rotate(45deg); /* 'v' */
}

/* 見出しフォーカス（キーボード対応） */
.hdg-shop-lv3:focus{
  outline-offset: 2px;
}

/* lv4 見出し（都道府県） */
.hdg-sho-lv4 {
  margin: 0;
  padding: 5px 0;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

/* ネストセクション */
.sec-shop-nest {
  margin: 0 20px 0 0;
  width: 100%;
  box-sizing: border-box;
}
.sec-shop-nest:nth-child(even) { margin: 0; }

/* 店舗リスト横組 */
.shop-list-line {
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
}

/* item 幅 */
.sec-shop .shop-list-line .shop-item {
  width: 50%;
}
.shop-list-line .shop-item:nth-child(4n) { margin-right: 0; }

/* 店舗リンク */
.shop-list-line .shop-item a {
  position: relative;
  padding: 8px 8px 8px 15px;
  display: block;
  text-decoration: none;
  text-align: left;
  color: inherit;
  font-size: 14px;
}

/* リンク先の小矢印（既存の画像を利用） */
.shop-list-line .shop-item a:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../../../../../img/usr/freepage/adidas/260320football-uniform/shop-arrow_home.png) no-repeat center top / contain;
}

.away .shop-list-line .shop-item a:after {
  background-image: url(../../../../../img/usr/freepage/adidas/260320football-uniform/shop-arrow_away.png);
}

/* 閉じる用アイコンの余白 */
.shop-close{
  max-width: 40px;
  margin-left: auto;
  padding: 4px;
}
.shop-close img{
  display: block;
  width: 100%;
  height: auto;
}

/* shoplist end------------------------------- */

/* ----▲▲▲ キャンペーン ▲▲▲---- */




/* ----▼▼▼ 商品一覧 ▼▼▼---- */

/* 新画像は重ねてアニメ（入場用オーバーレイ） */

.item-detail {
  flex-direction: column;
  column-gap: var(--space-40);              
}

.item-detail__img {
  width: 100%;
  max-width: 100%;
}


/* 右側情報 */
.item-detail__info {
  max-width: 100%;
  width: 100%;
  text-align: center;
}
.item-detail__novelty {
  font-size: var(--txt-32);
  text-align: center;
  padding: 10px 0;
  margin: var(--space-40) auto 0;
  display: flex;
  justify-content: center;
  width: 50%;
}
.item-detail__name {
  font-size: var(--space-40);
  line-height: 1.45;
}
.item-detail__cnt {
  line-height: 1.5;
  background: none;
  font-size: var(--txt-22);
  margin-top: var(--space-40);
  letter-spacing: 0.05;
}
.item-detail__price {
  margin-top: var(--space-40);
  font-size: var(--txt-24);
}
.item-detail__price .num {
  font-size: var(--txt-32);
}
.item-detail__size {
  font-size: var(--txt-24);
  margin-top: var(--space-20);
}
.item-detail__btn {
  padding: 15px 0;
  font-size:var(--txt-24);
  width: 100%;
  margin-top: var(--space-40);
}


.item-list .line-up {
    margin-top: var(--space-60);
    gap: 4%;
}

.item-list .line-up li {
    max-width: 48%;
    width: 48%;
    margin-bottom: var(--space-60);
}

.item-list .line-up li a{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    align-items: flex-start;
}

 .item-list .line-up li .cvbtn{
    font-size: var(--txt-20);
    padding: 10px 0;
}

.item-list .line-up li .novelty {
  font-size: var(--txt-24);
  padding: 5px 0px;
  margin-bottom: var(--space-20);
  width: 80%;
}

.item-list .line-up li .item-jp-name {
  font-size:var(--txt-20);
  line-height: 1.4;
}
.item-list .line-up li .item-size,
.item-list .line-up li .item-date {
  padding-top: var(--space-15);
  font-size: var(--txt-22);
}
.item-list .line-up li .item-date{
   padding-top: var(--space-10);
}

.item-list .line-up li .maker-price{
  padding-top: var(--space-10);
  font-size: var(--txt-18);
}
.item-list .line-up li .maker-price .num{
  font-size: var(--txt-22);
}

.item-list .line-up-fed {
    margin-top: var(--space-60);
}

.item-list .line-up-fed li {
    max-width: 48%;
    width: 48%;
    margin-bottom: var(--space-60);
}

.item-list .line-up-fed li a{
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    align-items: flex-start;
}

.item-list .line-up-fed li .cvbtn{
    font-size: var(--txt-20);
    padding: 10px 0;
}

.item-list .line-up-fed li img {
  width: 100%;
  height: auto;
}

.item-list .line-up-fed li .item-jp-name {
  font-size:var(--txt-20);
  line-height: 1.4;
}
.item-list .line-up-fed li .item-size,
.item-list .line-up-fed li .item-date {
  padding-top: var(--space-15);
  font-size: var(--txt-22);
}
.item-list .line-up-fed li .item-date{
   padding-top: var(--space-10);
}

.item-list .line-up-fed li .maker-price{
  padding-top: var(--space-10);
  font-size: var(--txt-18);
}
.item-list .line-up-fed li .maker-price .num{
  font-size: var(--txt-22);
}
/* ----▲▲▲ 商品一覧 ▲▲▲---- */

.top-scroll-button{
     position: fixed;
     bottom: 80px;
     right: 20px;
     width: 50px;
     height: 50px;
     cursor: pointer;
     z-index: 1000;
     display: flex;
     justify-content: center;
     align-items: center;
     background-color: #f8f8f8;
     border: 1px solid #ccc;
     border-radius: 50%;
     box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
     transition: opacity 0.3s ease, visibility 0.3s ease;
     }
     
     .top-scroll-button img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     }
     
     .top-scroll-button.hidden_fuwatto {
     visibility: hidden;
     opacity: 0;
     }
     
     .top-scroll-button.visible,
     .top-scroll-button.is-visible {
     visibility: visible;
     opacity: 1;
     }

     .top-scroll-button.note-open:not(.btnjfa):not(.btnaway){
      bottom: 200px;
     }

     .btnjfa{
      bottom: 140px;
      right: 20px;
     }

     .btnaway{
      bottom: 80px;
      right: 20px;
     }

     .btnaway[data-section="japan"]{
      bottom: 140px;
      right: 20px;
     }

/* ----▼▼▼ フェデレーションボタン ▼▼▼---- */

.lineup-title {
font-size: var(--txt-22);
}

.lineup-subtitle {
font-size: var(--txt-48a);
}

.lineup-grid {
grid-template-columns: repeat(2, 1fr);
gap: var(--space-20);
}

.lineup-item {
border-radius: 10px;
padding: 15px;
}

.model-name {
font-size: var(--txt-28);
margin-bottom: var(--space-15);
}

.model-feature {
font-size: var(--txt-18);
}
/* ----▲▲▲ フェデレーションボタン ▲▲▲---- */


/* ----▼▼▼ フェデレーション商品一覧 ▼▼▼---- */
.federation-detail{
  flex-direction: column;
  justify-content: center;
  margin-bottom: var(--space-120);
}

.federation-detail_image{
  max-width: 100%;
}

.federation-detail_item{
  width: 100%;
}

.federation-detail_item .federation-detail_itemlist{
  margin-top: var(--space-40);
  text-align: center;
}

.federation-detail_item .federation-detail_itemlist li {
    width: 48%;
}

.federation-detail_item .federation-detail_itemlist li .cvbtn{
    font-size: var(--txt-18);
    margin:var(--space-20) 0 0;
    padding: 10px 0;
    border-radius:5px;
}

.federation-detail_item .federation-detail_itemlist li .item-name {
  margin-top: var(--space-20);
}

.federation-detail_item .federation-detail_itemlist li .item-jp-name {
  font-size:var(--txt-20);
  line-height: 1.4;
}
.federation-detail_item .federation-detail_itemlist li .item-size,
.federation-detail_item .federation-detail_itemlist li .item-date {
  padding-top: var(--space-15);
  font-size: var(--txt-20);
}
.federation-detail_item .federation-detail_itemlist li .item-date{
  padding-top: var(--space-10);
}
.federation-detail_item .federation-detail_itemlist li .maker-price{
  padding-top: var(--space-10);
  font-size: var(--txt-16);
}
.federation-detail_item .federation-detail_itemlist li .maker-price .num{
  font-size: var(--txt-22);
}
/* ----▲▲▲ フェデレーション商品一覧 ▲▲▲---- */


.adidas_link ,.adidas_link02{
    flex-direction: column;
    justify-content: center;
    gap: var(--space-20);
}

.adidas_link li  , .adidas_link02 li {
    width: 100%;
    max-width: 100%;
}
.adidas_link li a,
.adidas_link02 li a,
.adidas_link-big a{
    padding: 20px 0;
    font-size: var(--txt-32);
}
}

.pane-footer,
.pane-footer .container,
.pane-footer .block-footer-middle
{
  position: relative;
  z-index: 2;
  background: #333333!important;
}
.pane-footer .block-footer-bottom {
   position: relative;
  z-index: 2;
  background: #fff!important;
}
