/* =========================================================
  Useful Rack / Counter Page
========================================================= */

.ur-page-wrap {
  background: #f7f2e8;
}

.ur-page {
  position: relative;
  overflow: hidden;
  padding: 72px 20px 110px;
  color: #2f2f2f;

  font-family: "Zen Kaku Gothic New",sans-serif;
}



.ur-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.ur-page a {
  color: inherit;
  text-decoration: none;
}

/* HERO */

.ur-hero-card {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 0 auto 54px;
  align-items: center;
  overflow: hidden;
  border-radius: 42px;
  text-align: center;
}

.ur-hero-copy {
  padding: 58px 50px;
}

.ur-series {
  margin: 0 0 12px;
  color: #09b9b3;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ur-hero-copy h1 {
  margin: 0 0 22px;
  font-size: 5rem;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: .04em;
}

.ur-hero-copy p:last-child {
  margin: 0;
  color: #4c4740;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.8;
}

.ur-hero-card > img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  background: #f4eee3;
}

/* CATEGORY TABS */

.ur-category-tabs {
  position: relative;
  z-index: 3;
  width: min(1080px, 100%);
  margin: 0 auto 80px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.ur-category-tabs a {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  gap: 12px;
  padding: 20px 16px 18px;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 14px 32px rgba(112, 83, 38, .1);
  transition: transform .25s ease, box-shadow .25s ease;
}

.ur-category-tabs a:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 42px rgba(112, 83, 38, .16);
}

.ur-category-tabs a::before {
  content: "";
  position: absolute;
  right: -26px;
  top: -26px;
  width: 72px;
  height: 72px;
  background: #ffd200;
  border-radius: 50%;
  opacity: .9;
}

.ur-category-tabs a:nth-child(2)::before {
  background: #09b9b3;
}

.ur-category-tabs a:nth-child(3)::before {
  background: #ff8a18;
}

.ur-category-tabs a:nth-child(4)::before {
  background: #ef5757;
}

.ur-category-tabs img {
  position: relative;
  z-index: 2;
  width: 130px;
  height: 100px;
  object-fit: contain;
}

.ur-category-tabs span {
  position: relative;
  z-index: 2;
  color: #333;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

/* SECTION COMMON */

.ur-section {
  width: min(1180px, 100%);
  margin: 0 auto 86px;
  position: relative;
  z-index: 2;
}

.ur-section-head {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 44px;
  align-items: center;
  margin-bottom: 34px;
  padding: 42px;
  background: #fffdf8;
  border-radius: 36px;
  box-shadow: 0 18px 45px rgba(112, 83, 38, .1);
}

.ur-section-head.reverse {
  grid-template-columns: 420px 1fr;
}

.ur-section-head.reverse > div {
  order: 2;
}

.ur-section-head.reverse > img {
  order: 1;
}

.ur-section-head span {
  display: inline-block;
  margin-bottom: 10px;
  color: #09b9b3;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .16em;
}

.ur-section-head h2 {
  margin: 0 0 18px;
  color: #222;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.25;
  font-weight: 900;
}

.ur-section-head p {
  margin: 0 0 18px;
  color: #4c4740;
  font-size: 16px;
  line-height: 1.9;
  font-weight: 600;
}

.ur-section-head ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.ur-section-head li {
  padding: 9px 16px;
  color: #fff;
  background: #09b9b3;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.ur-section-head img {
  width: 80%;
  height: 300px;
  object-fit: contain;
  border-radius: 26px;
  padding: 20px;
}

.ur-section-head{
  margin: 0 auto;
}
/* PRODUCT GRID */

.ur-product-grid {
  display: grid;
  gap: 24px;
}

.ur-product-grid.four {
  grid-template-columns: repeat(4, 1fr);
}

.ur-product-grid.three {
  grid-template-columns: repeat(3, 1fr);
}

/* 5個目など、余ったカードも自然に並べる */
.ur-product-grid.four .ur-card:nth-child(5) {
  grid-column: span 2;
}

.ur-product-grid.three .ur-card:nth-child(4),
.ur-product-grid.three .ur-card:nth-child(5) {
  grid-column: span 1;
}

/* PRODUCT CARD */

.ur-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 28px;
  padding: 20px;
  box-shadow: 0 16px 38px rgba(112, 83, 38, .1);
  transition: transform .25s ease, box-shadow .25s ease;
}

.ur-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(112, 83, 38, .16);
}

.ur-card::before {
  content: "";
  position: absolute;
  right: -38px;
  top: -38px;
  width: 110px;
  height: 110px;
  background: #09b9b3;
  border-radius: 50%;
  opacity: .16;
}

.ur-card b {
  position: relative;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  background: #09b9b3;
  color: #fff;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 900;
}

.ur-card h3 {
  position: relative;
  z-index: 2;
  min-height: 52px;
  margin: 0 0 14px;
  color: #222;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 900;
}

.ur-card img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 180px;
  object-fit: contain;
  margin-bottom: 16px;
  padding: 12px;
  background: #f7f3ec;
  border-radius: 20px;
}

.ur-card p {
  position: relative;
  z-index: 2;
  margin: 0 0 8px;
  color: #4c4740;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 600;
}

.ur-card strong {
  position: relative;
  z-index: 2;
  display: block;
  margin: 10px 0 12px;
  color: #ef5757;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 900;
}

.ur-card strong small {
  font-size: 12px;
  color: #555;
}

.ur-card a {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 46px;
  margin-top: 16px;
  color: #fff;
  background: #09b9b3;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 5px 0 #069f99;
  transition: transform .2s ease, box-shadow .2s ease;
}

.ur-card a:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 #069f99;
}

/* SECTION COLOR VARIATION */

.ur-section:nth-of-type(2) .ur-section-head span,
.ur-section:nth-of-type(2) .ur-card strong {
  color: #ff8a18;
}

.ur-section:nth-of-type(2) .ur-card b,
.ur-section:nth-of-type(2) .ur-card a,
.ur-section:nth-of-type(2) .ur-section-head li {
  background: #ff8a18;
}

.ur-section:nth-of-type(2) .ur-card a {
  box-shadow: 0 5px 0 #d96e00;
}

.ur-section:nth-of-type(2) .ur-card a:hover {
  box-shadow: 0 3px 0 #d96e00;
}

.ur-section:nth-of-type(3) .ur-section-head span,
.ur-section:nth-of-type(3) .ur-card strong {
  color: #752db7;
}

.ur-section:nth-of-type(3) .ur-card b,
.ur-section:nth-of-type(3) .ur-card a,
.ur-section:nth-of-type(3) .ur-section-head li {
  background: #752db7;
}

.ur-section:nth-of-type(3) .ur-card a {
  box-shadow: 0 5px 0 #5a1f91;
}

.ur-section:nth-of-type(3) .ur-card a:hover {
  box-shadow: 0 3px 0 #5a1f91;
}

.ur-section:nth-of-type(4) .ur-section-head span,
.ur-section:nth-of-type(4) .ur-card strong {
  color: #0c8bd3;
}

.ur-section:nth-of-type(4) .ur-card b,
.ur-section:nth-of-type(4) .ur-card a,
.ur-section:nth-of-type(4) .ur-section-head li {
  background: #0c8bd3;
}

.ur-section:nth-of-type(4) .ur-card a {
  box-shadow: 0 5px 0 #086ba3;
}

.ur-section:nth-of-type(4) .ur-card a:hover {
  box-shadow: 0 3px 0 #086ba3;
}

/* TVラックなど商品数が少ないセクション */

#tv .ur-product-grid.four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(760px, 100%);
  margin: 0 auto;
}

#tv .ur-card h3 {
  min-height: auto;
}

#tv .ur-card img {
  height: 220px;
}

/* 商品説明が長いカード */

#tv .ur-card p:nth-of-type(2),
#tv .ur-card p:nth-of-type(3) {
  padding: 8px 10px;
  background: #f7f3ec;
  border-radius: 10px;
  font-size: 12px;
}
/* FEATURE STRIP */

.ur-feature-strip {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 20px auto 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
}

.ur-feature-strip article {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 30px;
  padding: 22px 20px 24px;
  box-shadow: 0 16px 38px rgba(112, 83, 38, .1);
}

.ur-feature-strip article::before {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 110px;
  height: 110px;
  background: #ffd200;
  border-radius: 50%;
  opacity: .72;
}

.ur-feature-strip article:nth-child(2)::before {
  background: #09b9b3;
}

.ur-feature-strip article:nth-child(3)::before {
  background: #ff8a18;
}

.ur-feature-strip article:nth-child(4)::before {
  background: #ef5757;
}

.ur-feature-strip article:nth-child(5)::before {
  background: #752db7;
}

.ur-feature-strip h3 {
  position: relative;
  z-index: 2;
  min-height: 86px;
  margin: 0 0 16px;
  color: #222;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 900;
}

.ur-feature-strip img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 150px;
  object-fit: cover;
  margin-bottom: 16px;
  border-radius: 20px;
}

.ur-feature-strip p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #4c4740;
  font-size: 13px;
  line-height: 1.85;
  font-weight: 600;
}



/* FINAL SPACING */

.ur-section:last-of-type {
  margin-bottom: 72px;
}

.ur-shoes {
  scroll-margin-top: 90px;
}

#counter,
#tv,
#book {
  scroll-margin-top: 90px;
}

/* HOVER IMAGE */

.ur-card img,
.ur-category-tabs img,
.ur-section-head img,
.ur-feature-strip img {
  transition: transform .35s ease;
}

.ur-card:hover img,
.ur-category-tabs a:hover img,
.ur-feature-strip article:hover img {
  transform: scale(1.04);
}

/* SECTION BACKGROUNDS */

.ur-section:nth-of-type(odd) .ur-section-head {
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 210, 0, .25), transparent 150px),
    #fffdf8;
}

.ur-section:nth-of-type(even) .ur-section-head {
  background:
    #fffdf8;
  margin: 0 auto;
  margin-bottom: 50px;
}

/* DETAIL ADJUST */



.ur-card:nth-child(even)::before {
  background: #09b9b3;
}

.ur-card:nth-child(3n)::before {
  background: #ff8a18;
}

.ur-card:nth-child(4n)::before {
  background: #ef5757;
}

.ur-card:nth-child(5n)::before {
  background: #752db7;
}
/* RESPONSIVE - TABLET */

@media (max-width: 1100px) {
  .ur-page {
    padding: 56px 18px 90px;
  }

  .ur-page h1{
  font-size: 5rem;
}

  .ur-hero-card {
    grid-template-columns: 1fr;
    border-radius: 34px;
  }

  .ur-hero-copy {
    padding: 46px 42px 34px;
    text-align: center;
  }

  .ur-hero-card > img {
    height: 340px;
    width: 100%;
  }

  .ur-category-tabs {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 64px;
  }

  .ur-category-tabs a {
    padding: 18px 12px;
    border-radius: 24px;
  }

  .ur-category-tabs img {
    width: 110px;
    height: 86px;
  }

  .ur-section-head,
  .ur-section-head.reverse {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 34px;
  }

  .ur-section-head.reverse > div,
  .ur-section-head.reverse > img {
    order: initial;
  }

  .ur-section-head {
    text-align: center;
  }

  .ur-section-head ul {
    justify-content: center;
  }

  .ur-section-head img {
    height: 260px;
  }

  .ur-product-grid.four {
    grid-template-columns: repeat(2, 1fr);
  }

  .ur-product-grid.three {
    grid-template-columns: repeat(2, 1fr);
  }

  .ur-product-grid.four .ur-card:nth-child(5) {
    grid-column: span 1;
  }

  #tv .ur-product-grid.four {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }

  .ur-feature-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .ur-feature-strip article:last-child {
    grid-column: 1 / -1;
  }

  .ur-feature-strip h3 {
    min-height: auto;
  }
}

/* RESPONSIVE - SMALL TABLET */

@media (max-width: 820px) {
  .ur-category-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .ur-category-tabs img {
    width: 120px;
    height: 90px;
  }

  .ur-page::before {
    width: 180px;
    height: 180px;
    left: -100px;
  }

  .ur-page::after {
    width: 210px;
    height: 210px;
    right: -120px;
  }

  .ur-section::before {
    display: none;
  }

  .ur-card img {
    height: 170px;
  }
}


/* RESPONSIVE - SMARTPHONE */

@media (max-width: 640px) {
  .ur-page {
    padding: 36px 14px 70px;
  }

  .ur-hero-card {
    margin-bottom: 34px;
    border-radius: 26px;
  }

  .ur-hero-copy {
    padding: 34px 22px 26px;
  }

  .ur-series {
    font-size: 12px;
    letter-spacing: .14em;
  }

  .ur-hero-copy h1 {
    font-size: 2rem;
    line-height: 1.28;
    margin-bottom: 16px;
  }

  .ur-hero-copy p:last-child {
    font-size: 15px;
    line-height: 1.7;
  }

  .ur-hero-card > img {
    height: 220px;
  }

  .ur-category-tabs {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 48px;
  }

  .ur-category-tabs a {
    padding: 16px 10px;
    border-radius: 22px;
  }

  .ur-category-tabs a::before {
    width: 58px;
    height: 58px;
    right: -22px;
    top: -22px;
  }

  .ur-category-tabs img {
    width: 92px;
    height: 72px;
  }

  .ur-category-tabs span {
    font-size: 13px;
  }

  .ur-section {
    margin-bottom: 58px;
  }

  .ur-section-head {
    padding: 26px 20px;
    border-radius: 26px;
    margin-bottom: 24px;
  }

  .ur-section-head span {
    font-size: 12px;
  }

  .ur-section-head h2 {
    font-size: 30px;
  }

  .ur-section-head p {
    font-size: 14px;
  }

  .ur-section-head ul {
    gap: 8px;
  }

  .ur-section-head li {
    font-size: 12px;
    padding: 8px 12px;
  }

  .ur-section-head img {
    height: 220px;
    border-radius: 20px;
    padding: 16px;
  }

  .ur-product-grid,
  .ur-product-grid.four,
  .ur-product-grid.three,
  #tv .ur-product-grid.four {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ur-card {
    border-radius: 24px;
    padding: 18px;
  }

  .ur-card b {
    width: 42px;
    height: 42px;
    font-size: 14px;
  }

  .ur-card h3 {
    min-height: auto;
    font-size: 17px;
  }

  .ur-card img,
  #tv .ur-card img {
    height: 190px;
  }

  .ur-card strong {
    font-size: 20px;
  }

  .ur-card a {
    min-height: 44px;
    font-size: 13px;
  }

  .ur-feature-strip {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ur-feature-strip article,
  .ur-feature-strip article:last-child {
    grid-column: auto;
  }

  .ur-feature-strip article {
    border-radius: 24px;
    padding: 20px 18px;
  }

  .ur-feature-strip h3 {
    font-size: 16px;
    min-height: auto;
  }

  .ur-feature-strip img {
    height: 180px;
    width:100%;
  }

  .ur-feature-strip p {
    font-size: 13px;
  }
}

/* RESPONSIVE - VERY SMALL */

@media (max-width: 390px) {
  .ur-hero-copy h1 {
    font-size: 2rem;
  }

  .ur-category-tabs {
    gap: 10px;
  }

  .ur-category-tabs img {
    width: 82px;
    height: 66px;
  }

  .ur-section-head h2 {
    font-size: 27px;
  }

  .ur-card img,
  #tv .ur-card img {
    height: 170px;
  }
}

/* UTILITY FIX */

.ur-page .breadcrumbs,
.ur-page-wrap .breadcrumbs {
  position: relative;
  z-index: 5;
}

.ur-page-wrap .breadcrumbs {
  background: #f7f2e8;
}

/* WordPressテーマ側の余白干渉対策 */
.ur-page p,
.ur-page h1,
.ur-page h2,
.ur-page h3,
.ur-page ul {
  word-break: normal;
}

.ur-page section {
  overflow: visible;
}

/* 画像下の謎余白防止 */
.ur-page img {
  vertical-align: bottom;
}

/* カード内リンクのクリック範囲調整 */
.ur-card a,
.ur-category-tabs a {
  cursor: pointer;
}


/* ===============================
  Woody Wall Product Card
================================ */

.ww-products{
  padding:60px 24px 90px;
  background:#fff;
  position:relative;
  z-index:2;
}

.ww-grid{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px;
}

.ww-card{
  background:#f1f1f1;
  border-radius:18px;
  padding:12px 12px 22px;
}

.ww-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-height:72px;
}

.ww-head span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:#fff;
  font-size:18px;
  font-weight:900;
  flex:0 0 auto;
}

.ww-head h3{
  margin:6px 0 0;
  font-size:14px;
  line-height:1.65;
  font-weight:900;
  letter-spacing:.04em;
}

.ww-img{
  position:relative;
  height:250px;
  background:#fff;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  overflow:hidden;
}

.ww-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .18s ease;
}

.ww-nav{
  position:absolute;
  bottom:14px;
  width:30px;
  height:30px;
  border:2px solid #08beb8;
  border-radius:50%;
  background:#fff;
  color:#08beb8;
  font-size:20px;
  line-height:1;
  font-weight:900;
  z-index:10;
  cursor:pointer;
  padding:0;
  display:grid;
  place-items:center;
}

.ww-nav:hover{
  background:#08beb8;
  color:#fff;
}

.ww-prev{
  left:12px;
}

.ww-next{
  right:12px;
}

.ww-size{
  background:#d9d9d9;
  border-radius:7px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
}

.ww-size p{
  margin:0;
  font-size:11px;
  line-height:1.5;
  font-weight:900;
}

.ww-size a{
  white-space:nowrap;
  background:#fff;
  border:1px solid #222;
  border-radius:999px;
  padding:4px 14px;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
  color:#111;
}

.ww-price{
  display:grid;
  grid-template-columns:1fr 120px;
  border:1px solid #d8d8d8;
  background:#fff;
  min-height:42px;
  margin-bottom:22px;
}

.ww-price span,
.ww-price strong{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.ww-price strong{
  border-left:1px solid #d8d8d8;
  white-space:nowrap;
}

.ww-price small{
  font-size:9px;
}

.ww-btn{
  width:205px;
  height:50px;
  margin:0 auto;
  border:2px solid #111;
  border-radius:999px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  color:#111;
  text-decoration:none;
  font-size:16px;
  font-weight:900;
}

.ww-btn i{
  width:2px;
  height:28px;
  background:#111;
  position:relative;
}

.ww-btn i::after{
  content:"→";
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  font-style:normal;
  font-size:24px;
}

@media(max-width:1024px){
  .ww-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:640px){
  .ww-products{
    padding:40px 14px 70px;
  }

  .ww-grid{
    grid-template-columns:1fr;
  }

  .ww-img{
    height:230px;
  }
}


/* ===============================
  商品カード横並び FIX
  複数の商品を1つの .ww-grid 内で横並びにする
================================ */

.ur-section .ww-products{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0;
  background:transparent;
  position:relative;
  z-index:2;
}

.ur-section .ww-grid{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
}

.ur-section .ww-grid.tv-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:820px;
}

.ww-card{
  display:flex;
  flex-direction:column;
  background:#f1f1f1;
  border-radius:18px;
  padding:12px 12px 22px;
  overflow:hidden;
}

.ww-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-height:72px;
}

.ww-head span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#222;
  font-size:18px;
  line-height:1;
  font-weight:900;
  flex:0 0 auto;
}

.ww-head h3{
  margin:6px 0 0;
  color:#111;
  font-size:14px;
  line-height:1.65;
  font-weight:900;
  letter-spacing:.04em;
}

.ww-img{
  position:relative;
  width:100%;
  height:250px;
  background:#fff;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  overflow:hidden;
}

.ww-img img{
  width:100%;
  height:80%;
  object-fit:contain;
  object-position:center;
  transition:opacity .18s ease;
}

.ww-nav{
  position:absolute;
  bottom:14px;
  width:30px;
  height:30px;
  border:2px solid #08beb8;
  border-radius:50%;
  background:#fff;
  color:#08beb8;
  font-size:20px;
  line-height:1;
  font-weight:900;
  z-index:10;
  cursor:pointer;
  padding:0;
  display:grid;
  place-items:center;
}

.ww-nav:hover{
  background:#08beb8;
  color:#fff;
}

.ww-prev{ left:12px; }
.ww-next{ right:12px; }

.ww-size{
  min-height:54px;
  background:#d9d9d9;
  border-radius:7px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:20px;
}

.ww-size p{
  margin:0;
  color:#222;
  font-size:11px;
  line-height:1.55;
  font-weight:900;
  text-align:center;
}

.ww-price{
  display:grid;
  grid-template-columns:1fr 120px;
  border:1px solid #d8d8d8;
  background:#fff;
  min-height:42px;
  margin-bottom:22px;
}

.ww-price.is-single{
  grid-template-columns:1fr;
}

.ww-price span,
.ww-price strong{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  color:#111;
  font-size:13px;
  line-height:1.35;
  font-weight:900;
  text-align:center;
}

.ww-price strong{
  border-left:1px solid #d8d8d8;
  white-space:nowrap;
}

.ww-price.is-single strong{
  border-left:0;
}

.ww-price small{
  font-size:9px;
  margin-left:2px;
}

.ww-btn{
  width:205px;
  height:50px;
  margin:auto auto 0;
  border:2px solid #111;
  border-radius:999px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  color:#111;
  text-decoration:none;
  font-size:16px;
  font-weight:900;
}

.ww-btn i{
  width:2px;
  height:28px;
  background:#111;
  position:relative;
}

.ww-btn i::after{
  content:"→";
  position:absolute;
  left:9px;
  top:50%;
  transform:translateY(-50%);
  font-style:normal;
  font-size:24px;
}

@media(max-width:1024px){
  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:100%;
  }
}

@media(max-width:640px){
  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid{
    grid-template-columns:1fr;
    gap:26px;
  }

  .ww-img{
    height:230px;
  }

  .ww-btn{
    width:190px;
    height:48px;
    font-size:15px;
  }
}





/* ===============================
SVG
=============================== */

.ps_object1,
.ps_object2,
.ps_object3,
.ps_object4{
    position:absolute;
    height:auto;
    object-fit:contain;
    pointer-events:none;
}

/* ---------- PC ---------- */

.ps_object1{
    width:40%;
    top:40%;
    left:0;
}

.ps_object2{
    width:20%;
    top:100%;
    right:0;
}

.ps_object3{
    width:40%;
    top:30%;
    right:0;
}
 .ps_object4{
        width:20%;
        top:400%;
    left:0;
    }



/* ---------- Tablet ---------- */

@media (max-width:1024px){
  .ur-section-head img{
  display: block;
  margin: 0 auto;   /* 真ん中 */
}
.ps_object1{
    width:40%;
    top:40%;
    left:0;
}

.ps_object2{
    width:20%;
    top:100%;
    right:0;
}

.ps_object3{
    width:40%;
    top:30%;
    right:0;
}
 .ps_object4{
        width:20%;
        top:400%;
    left:0;
    }

}


/* ---------- Mobile ---------- */

@media (max-width:767px){

   .ps_object1{
    width:40%;
    top:40%;
    left:0;
}

.ps_object2{
    width:20%;
    top:100%;
    right:0;
}

.ps_object3{
    width:40%;
    top:30%;
    right:0;
}
 .ps_object4{
        width:20%;
        top:400%;
    left:0;
    }

}
/* ===============================
  SVG ゆっくり下からポワン
=============================== */

.hekimen-page-wrap .hero-wide .ps_object1,
.hekimen-page-wrap .hero-wide .ps_object2,
.hekimen-page-wrap .hero-wide .ps_object3{
  opacity:0;
  animation: svgPoyonUp 1.8s cubic-bezier(.19, 1, .22, 1) forwards;
  will-change: transform, opacity;
}

.hekimen-page-wrap .hero-wide .ps_object1{
  animation-delay:.2s;
}

.hekimen-page-wrap .hero-wide .ps_object2{
  animation-delay:.6s;
}

.hekimen-page-wrap .hero-wide .ps_object3{
  animation-delay:1s;
}

@keyframes svgPoyonUp{

  0%{
    opacity:0;
    transform:translateY(80px) scale(.8);
  }

  60%{
    opacity:1;
    transform:translateY(-12px) scale(1.05);
  }

  80%{
    transform:translateY(4px) scale(.98);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }

}
/* ===============================
  Counter page SVG 下からポワン
=============================== */

.ur-page-wrap .ps_object1,
.ur-page-wrap .ps_object2,
.ur-page-wrap .ps_object3,
.ur-page-wrap .ps_object4{
  opacity:0;
  animation:urSvgPoyonUp 2s cubic-bezier(.19,1,.22,1) forwards;
  will-change:transform, opacity;
}

.ur-page-wrap .ps_object1{ animation-delay:.2s; }
.ur-page-wrap .ps_object2{ animation-delay:.45s; }
.ur-page-wrap .ps_object3{ animation-delay:.7s; }
.ur-page-wrap .ps_object4{ animation-delay:.95s; }

@keyframes urSvgPoyonUp{
  0%{
    opacity:0;
    transform:translateY(90px) scale(.82);
  }

  60%{
    opacity:1;
    transform:translateY(-12px) scale(1.04);
  }

  80%{
    transform:translateY(5px) scale(.98);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
/* ==========================
   Order Button
========================== */

.cart-order-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;

    width:100%;
    max-width:250px;
    height:56px;

    margin:18px auto 0;

    background:#fff;
    border:3px solid #2c2c2c;
    border-radius:999px;

    color:#2c2c2c;
    text-decoration:none;
    overflow:hidden;

    transition:.3s;
}

.cart-order-text{
    flex:1;
    text-align:center;
    font-size:18px;
    font-weight:900;
    letter-spacing:.08em;
}

.cart-order-icon{
    width:52px;
    height:100%;
    border-left:3px solid #2c2c2c;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s;
}

.cart-order-icon svg{
    width:20px;
    height:20px;
}

/* Hover */

.cart-order-btn:hover{
    background:#2c2c2c;
    color:#fff;
}

.cart-order-btn:hover .cart-order-icon{
    border-left-color:#fff;
}

/* スマホ */

@media (max-width:767px){

    .cart-order-btn{
        max-width:210px;
        height:50px;
    }

    .cart-order-text{
        font-size:16px;
    }

    .cart-order-icon{
        width:46px;
    }

    .cart-order-icon svg{
        width:18px;
        height:18px;
    }

    .ur-section-head img{
  display: block;
  margin: 0 auto;   /* 真ん中 */
}

}


  .ur-feature-strip img{
    height:170px;
    object-fit:contain;
    object-position:center;
    padding:8px;
  }

/* ===============================
  main 商品説明
=============================== */

.pt-section{
  position:relative;
  min-height:auto;
  padding:145px 40px 100px;
  overflow:hidden;
}

.pt-inner{
  position:relative;
  z-index:2;
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
  gap:20px;
}

.pt-content{
  position:relative;
  z-index:2;
  padding-top:0;
}

.pt-title-row{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
}

.pt-icon{
  position:relative;
  width:52px;
  height:34px;
  display:block;
  flex:0 0 auto;
}

.pt-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(#0D92DF 0 35%, #7131C7 35% 70%, #08BEB8 70% 100%);
}

.pt-icon::after{
  content:"";
  position:absolute;
  top:10px;
  left:15px;
  width:24px;
  height:13px;
  background:#FF7A00;
  border-radius:50%;
}

.pt-title-row h1{
  margin:0;
  font-size:30px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.05em;
}

.pt-dash{
  width:100%;
  max-width:420px;
  border-top:3px dashed #cfc6b8;
  margin-bottom:30px;
}

.pt-content h2{
  margin:0 0 18px;
  color:#08BEB8;
  font-size:20px;
  line-height:1.6;
  font-weight:900;
  letter-spacing:.04em;
}

.pt-lead{
  margin:0 0 28px;
  font-size:15px;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

.pt-spec-table{
  width:100%;
  max-width:560px;
  border:1px solid #fff;
  border-radius:8px;
  overflow:hidden;
  margin-bottom:26px;
  background:rgba(255,255,255,.35);
}

.pt-spec-row{
  display:grid;
  grid-template-columns:110px 1fr;
  border-bottom:1px solid #fff;
}

.pt-spec-row:last-child{
  border-bottom:none;
}

.pt-spec-row-4{
  grid-template-columns:110px 145px 110px 1fr;
}

.pt-spec-head,
.pt-spec-data{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:8px 16px;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
}

.pt-spec-head{
  justify-content:center;
  background:#fff;
  font-weight:900;
}

.pt-spec-data{
  background:rgba(255,255,255,.45);
}

.pt-btn{
  width:240px;
  height:64px;
  align-items:center;
  justify-content:space-between;
  padding:4% 13.5%;
  color:#222;
  background:#fff;
  border:3px solid #222;
  border-radius:999px;
  text-decoration:none;
  font-size:17px;
  font-weight:900;
  transition:.25s;
}

.pt-btn:hover{
  background:#222;
  color:#fff;
}

.pt-image-area{
  position:relative;
  z-index:2;
}

.pt-image-box{
  width:100%;
  min-height:540px;
  background:transparent;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.pt-image-box img{
  width:100%;
  max-width:960px;
  height:auto;
  display:block;
  border-radius:30px;
}

/* =========================================================
  Useful Rack 全体サイズ・レスポンシブ調整 完全版
  ※デザインは変更せず、サイズ・幅・余白のみ調整
========================================================= */

.ur-page,
.ur-page-wrap,
.ur-page-wrap *{
  box-sizing:border-box;
}

.ur-page{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.ur-hero-card,
.ur-category-tabs,
.ur-section,
.ur-feature-strip,
.ur-section .ww-products,
.ur-section .ww-grid,
.pt-inner{
  max-width:1080px;
}

/* ===============================
  PC：全体を一回り小さく中央へ
================================ */

@media (min-width:1025px){

  .ur-page{
    padding:56px 20px 88px;
  }

  .ur-hero-card{
    width:min(980px,100%);
    margin:0 auto 42px;
    border-radius:36px;
    margin-top: 100px;
  }

  .ur-hero-copy{
    padding:42px 40px;
  }

  .ur-series{
    font-size:13px;
  }

  .ur-hero-copy h1{
    font-size:clamp(42px,4.2vw,64px);
    margin-bottom:16px;
  }

  .ur-hero-copy p:last-child{
    font-size:16px;
  }

  .ur-category-tabs{
    width:min(940px,100%);
    gap:18px;
    margin:0 auto 58px;
  }

  .ur-category-tabs a{
    padding:16px 14px;
    border-radius:24px;
  }

  .ur-category-tabs img{
    width:104px;
    height:80px;
  }

  .ur-category-tabs span{
    font-size:14px;
  }

  .ur-section{
    width:min(1040px,100%);
    margin:0 auto 66px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr 340px;
    gap:34px;
    padding:32px;
    border-radius:30px;
    margin:0 auto 36px;
  }

  .ur-section-head.reverse{
    grid-template-columns:340px 1fr;
  }

  .ur-section-head h2{
    font-size:clamp(28px,3vw,38px);
  }

  .ur-section-head p{
    font-size:14px;
  }

  .ur-section-head li{
    font-size:12px;
    padding:8px 14px;
  }

  .ur-section-head img{
    width:76%;
    height:230px;
    padding:16px;
    margin:0 auto;
  }

  .pt-section{
    padding:92px 28px 70px;
  }

  .pt-inner{
    width:min(1080px,100%);
    grid-template-columns:46% 54%;
    gap:34px;
  }

  .pt-content{
    max-width:480px;
    margin:0 auto;
  }

  .pt-title-row{
    gap:14px;
    margin-bottom:18px;
  }

  .pt-icon{
    width:44px;
    height:29px;
  }

  .pt-icon::after{
    top:8px;
    left:13px;
    width:20px;
    height:11px;
  }

  .pt-title-row h1{
    font-size:26px;
  }

  .pt-dash{
    max-width:360px;
    margin-bottom:24px;
  }

  .pt-content h2{
    font-size:17px;
    line-height:1.55;
    margin-bottom:14px;
  }

  .pt-lead{
    font-size:13px;
    line-height:1.8;
    margin-bottom:22px;
  }

  .pt-spec-table{
    max-width:480px;
    margin-bottom:22px;
  }

  .pt-spec-row{
    grid-template-columns:92px 1fr;
  }

  .pt-spec-row-4{
    grid-template-columns:92px 118px 92px 1fr;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:36px;
    padding:7px 12px;
    font-size:12px;
  }

  .pt-btn{
    width:210px;
    height:56px;
    padding:4% 10%;
    font-size:15px;
  }

  .pt-image-box{
    min-height:360px;
    padding:10px;
  }

  .pt-image-box img{
    width:82%;
    max-width:560px;
    margin:0 auto;
  }

  .ur-section .ww-products{
    max-width:1040px;
  }

  .ur-section .ww-grid,
  .ww-grid{
    max-width:1040px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }

  .ur-section .ww-grid.tv-grid,
  .ww-grid.tv-grid{
    max-width:680px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ww-card{
    border-radius:16px;
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:58px;
    gap:10px;
  }

  .ww-head span{
    width:42px;
    height:42px;
    font-size:15px;
  }

  .ww-head h3{
    margin-top:4px;
    font-size:12px;
    line-height:1.55;
  }

  .ww-img{
    height:190px;
    margin-bottom:16px;
  }

  .ww-img img{
    width:82%;
    height:82%;
  }

  .ww-nav{
    width:26px;
    height:26px;
    font-size:18px;
    bottom:10px;
  }

  .ww-size{
    min-height:46px;
    padding:9px 10px;
    margin-bottom:16px;
  }

  .ww-size p{
    font-size:10px;
    line-height:1.45;
  }

  .ww-price{
    grid-template-columns:1fr 104px;
    min-height:38px;
    margin-bottom:18px;
  }

  .ww-price span,
  .ww-price strong{
    padding:7px;
    font-size:11px;
  }

  .ww-price small{
    font-size:8px;
  }

  .cart-order-btn{
    max-width:200px;
    height:48px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:15px;
  }

  .cart-order-icon{
    width:46px;
    border-left-width:2px;
  }

  .cart-order-icon svg{
    width:18px;
    height:18px;
  }

  .ur-feature-strip{
    width:min(1040px,100%);
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
  }

  .ur-feature-strip article{
    border-radius:24px;
    padding:17px 15px 19px;
  }

  .ur-feature-strip h3{
    min-height:72px;
    font-size:13px;
    line-height:1.5;
    margin-bottom:12px;
  }

  .ur-feature-strip img{
    width:88%;
    height:120px;
    margin:0 auto 12px;
    object-fit:contain;
    padding:6px;
  }

  .ur-feature-strip p{
    font-size:11px;
    line-height:1.7;
  }

  .ps_object1{ width:30%; }
  .ps_object2{ width:15%; }
  .ps_object3{ width:30%; }
  .ps_object4{ width:15%; }
}

/* ===============================
  iPad / Tablet：大きすぎ対策
================================ */

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

  .ur-page{
    padding:44px 18px 78px;
    overflow-x:hidden;
  }

  .ur-hero-card{
    width:min(880px,100%);
    margin:0 auto 38px;
    border-radius:30px;
  }

  .ur-hero-copy{
    padding:38px 32px 30px;
  }

  .ur-page h1,
  .ur-hero-copy h1{
    font-size:clamp(34px,6vw,52px);
  }

  .ur-hero-copy p:last-child{
    font-size:15px;
  }

  .ur-category-tabs{
    width:min(820px,100%);
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:48px;
  }

  .ur-category-tabs a{
    padding:14px 10px;
    border-radius:22px;
  }

  .ur-category-tabs img{
    width:88px;
    height:70px;
  }

  .ur-category-tabs span{
    font-size:13px;
  }

  .pt-section{
    padding:70px 22px 56px;
  }

  .pt-inner{
    width:min(820px,100%);
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  .pt-content{
    width:100%;
    max-width:560px;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:center;
  }

  .pt-title-row h1{
    font-size:25px;
  }

  .pt-dash{
    max-width:360px;
    margin:0 auto 22px;
  }

  .pt-content h2{
    font-size:17px;
  }

  .pt-lead{
    font-size:13px;
  }

  .pt-spec-table{
    max-width:540px;
    margin:0 auto 22px;
    text-align:left;
  }

  .pt-spec-head,
  .pt-spec-data{
    font-size:12px;
    min-height:36px;
    padding:7px 10px;
  }

  .pt-btn{
    width:205px;
    height:54px;
    margin:0 auto;
    font-size:15px;
  }

  .pt-image-box{
    min-height:300px;
    padding:0;
  }

  .pt-image-box img{
    width:64%;
    max-width:500px;
    margin:0 auto;
  }

  .ur-section{
    width:min(860px,100%);
    margin:0 auto 56px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr;
    gap:22px;
    padding:28px;
    border-radius:28px;
    text-align:center;
    margin:0 auto 30px;
  }

  .ur-section-head.reverse > div,
  .ur-section-head.reverse > img{
    order:initial;
  }

  .ur-section-head h2{
    font-size:clamp(26px,4.5vw,34px);
  }

  .ur-section-head p{
    font-size:14px;
  }

  .ur-section-head ul{
    justify-content:center;
  }

  .ur-section-head img{
    width:62%;
    height:220px;
    margin:0 auto;
  }

  .ur-section .ww-products{
    max-width:820px;
  }

  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid{
    max-width:820px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }

  .ww-card{
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:58px;
  }

  .ww-head span{
    width:42px;
    height:42px;
    font-size:15px;
  }

  .ww-head h3{
    font-size:12px;
    line-height:1.55;
  }

  .ww-img{
    height:190px;
  }

  .ww-img img{
    width:82%;
    height:82%;
  }

  .ww-size p{
    font-size:10px;
  }

  .ww-price span,
  .ww-price strong{
    font-size:11px;
  }

  .cart-order-btn{
    max-width:200px;
    height:48px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:15px;
  }

  .cart-order-icon{
    width:46px;
    border-left-width:2px;
  }

  .ur-feature-strip{
    width:min(820px,100%);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .ur-feature-strip article:last-child{
    grid-column:1 / -1;
    max-width:390px;
    margin:0 auto;
  }

  .ur-feature-strip article{
    padding:18px;
    border-radius:24px;
  }

  .ur-feature-strip h3{
    min-height:auto;
    font-size:14px;
  }

  .ur-feature-strip img{
    width:75%;
    height:130px;
    margin:0 auto 14px;
    object-fit:contain;
  }

  .ur-feature-strip p{
    font-size:12px;
  }

  .ps_object1{ width:32%; }
  .ps_object2{ width:18%; }
  .ps_object3{ width:34%; }
  .ps_object4{ width:18%; }
}

/* ===============================
  Mobile：横幅はみ出し防止＋小さめ
================================ */

@media (max-width:767px){

  .ur-page{
    padding:30px 12px 58px;
    overflow-x:hidden;
  }

  .ur-hero-card{
    width:100%;
    margin:0 auto 28px;
    border-radius:24px;
  }

  .ur-hero-copy{
    padding:28px 18px 22px;
  }

  .ur-series{
    font-size:11px;
  }

  .ur-hero-copy h1,
  .ur-page h1{
    font-size:clamp(28px,8vw,36px);
    line-height:1.25;
  }

  .ur-hero-copy p:last-child{
    font-size:14px;
  }

  .ur-category-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:38px;
  }

  .ur-category-tabs a{
    padding:13px 8px;
    border-radius:20px;
  }

  .ur-category-tabs img{
    width:78px;
    height:62px;
  }

  .ur-category-tabs span{
    font-size:12px;
  }

  .pt-section{
    padding:50px 14px 46px;
  }

  .pt-inner{
    width:100%;
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
  }

  .pt-content{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:center;
    gap:10px;
    margin-bottom:14px;
  }

  .pt-icon{
    width:38px;
    height:25px;
  }

  .pt-icon::after{
    top:7px;
    left:11px;
    width:18px;
    height:10px;
  }

  .pt-title-row h1{
    font-size:22px;
  }

  .pt-dash{
    max-width:260px;
    margin:0 auto 18px;
  }

  .pt-content h2{
    font-size:15px;
    line-height:1.55;
    margin-bottom:12px;
  }

  .pt-lead{
    font-size:12px;
    line-height:1.75;
    margin-bottom:18px;
  }

  .pt-spec-table{
    max-width:60%;
    margin:0 auto 20px;
    text-align:left;
  }

  .pt-spec-row,
  .pt-spec-row-4{
    grid-template-columns:86px 1fr;
  }

  .pt-spec-row-4 .pt-spec-head:nth-child(3),
  .pt-spec-row-4 .pt-spec-data:nth-child(4){
    border-top:1px solid #fff;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:34px;
    padding:7px 9px;
    font-size:11px;
    line-height:1.45;
  }

  .pt-btn{
    width:185px;
    height:50px;
    padding:2.5% 24px;
    margin:0 auto;
    font-size:14px;
  }

  .pt-image-box{
    min-height:230px;
    padding:0;
  }

  .pt-image-box img{
    width:76%;
    max-width:340px;
    margin:0 auto;
  }

  .ur-section{
    width:100%;
    margin:0 auto 46px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 16px;
    border-radius:24px;
    margin:0 auto 24px;
    text-align:center;
  }

  .ur-section-head.reverse > div,
  .ur-section-head.reverse > img{
    order:initial;
  }

  .ur-section-head h2{
    font-size:25px;
  }

  .ur-section-head p{
    font-size:13px;
  }

  .ur-section-head ul{
    justify-content:center;
    gap:7px;
  }

  .ur-section-head li{
    font-size:11px;
    padding:7px 10px;
  }

  .ur-section-head img{
    width:70%;
    height:180px;
    padding:12px;
    margin:0 auto;
  }

  .ur-section .ww-products,
  .ww-products{
    width:100%;
    padding:0;
    max-width:100%;
  }

  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid{
    width:100%;
    max-width:340px;
    grid-template-columns:1fr;
    gap:22px;
    margin:0 auto;
  }

  .ww-card{
    border-radius:16px;
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:56px;
    gap:9px;
  }

  .ww-head span{
    width:40px;
    height:40px;
    font-size:14px;
  }

  .ww-head h3{
    margin-top:4px;
    font-size:12px;
    line-height:1.5;
  }

  .ww-img{
    height:185px;
    margin-bottom:15px;
  }

  .ww-img img{
    width:80%;
    height:80%;
  }

  .ww-nav{
    width:26px;
    height:26px;
    bottom:10px;
    font-size:17px;
  }

  .ww-size{
    min-height:44px;
    padding:8px 9px;
    margin-bottom:15px;
  }

  .ww-size p{
    font-size:10px;
    line-height:1.45;
  }

  .ww-price{
    grid-template-columns:1fr;
    min-height:38px;
    margin-bottom:16px;
  }

  .ww-price strong{
    border-left:0;
    border-top:1px solid #d8d8d8;
  }

  .ww-price.is-single strong{
    border-top:0;
  }

  .ww-price span,
  .ww-price strong{
    font-size:11px;
    padding:7px;
  }

  .cart-order-btn{
    max-width:190px;
    height:46px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:14px;
  }

  .cart-order-icon{
    width:44px;
    border-left-width:2px;
  }

  .cart-order-icon svg{
    width:17px;
    height:17px;
  }

  .ur-feature-strip{
    width:100%;
    max-width:340px;
    grid-template-columns:1fr;
    gap:16px;
    margin:10px auto 0;
  }

  .ur-feature-strip article{
    border-radius:22px;
    padding:17px 15px;
  }

  .ur-feature-strip h3{
    min-height:auto;
    font-size:14px;
    margin-bottom:12px;
  }

  .ur-feature-strip img{
    width:76%;
    height:125px;
    margin:0 auto 12px;
    object-fit:contain;
    padding:4px;
  }

  .ur-feature-strip p{
    font-size:12px;
    line-height:1.7;
  }

  .ps_object1{ width:38%; }
  .ps_object2{ width:22%; }
  .ps_object3{ width:42%; }
  .ps_object4{ width:26%; }
}

@media (max-width:390px){
  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid,
  .ur-feature-strip{
    max-width:310px;
  }

  .pt-image-box img{
    width:82%;
  }

  .ww-img{
    height:170px;
  }

  .ur-section-head img{
    height:160px;
  }
}
.parts-lead{
  max-width:900px;
  margin:0 auto;
  color:#555;
  text-align:center;
  font-size:1.5rem;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

.parts-lead strong{
  color:#01C8BD;
  font-weight:900;
}

/* Tablet */
@media (max-width:1024px){

  .parts-lead{
    max-width:700px;
    font-size:1.2rem;
    line-height:1.9;
  }

}

/* Mobile */
@media (max-width:767px){

  .parts-lead{
    max-width:100%;
    padding:0 12px;
    font-size:14px;
    line-height:1.8;
    text-align:center;
  }

}
.ur-page-wrap .parts-hero-title{
  position:relative;
  z-index:3;
  text-align:center;
  margin:0 auto 58px;
}

.ur-page-wrap .parts-en{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin:0 0 20px;
  color:#01C8BD;
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
}

.ur-page-wrap .parts-en span{
  display:block;
  width:100px;
  height:2px;
  background:#01C8BD;
  border-radius:999px;
}

.ur-page-wrap .parts-hero-title h1{
  margin:0 0 28px;
  color:#242424;
  font-size:5rem;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.08em;
}

.ur-page-wrap .parts-lead{
  max-width:900px;
  margin:0 auto;
  color:#555;
  text-align:center;
  font-size:1.5rem;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

@media(max-width:1024px){
  .ur-page-wrap .parts-hero-title h1{
    font-size:4rem;
  }

  .ur-page-wrap .parts-lead{
    font-size:1.2rem;
  }
}

@media(max-width:767px){
  .ur-page-wrap .parts-en{
    gap:12px;
    font-size:17px;
  }

  .ur-page-wrap .parts-en span{
    width:42px;
  }

  .ur-page-wrap .parts-hero-title h1{
    font-size:32px;
  }

  .ur-page-wrap .parts-lead{
    padding:0 12px;
    font-size:14px;
  }
}

/* =========================================================
  FINAL OVERRIDE：iPad横並び / SP画像位置 / Hero位置調整
  ※デザインは変更せず、配置だけ調整
========================================================= */

/* Useful Rackの英字・タイトル全体を少し下げて見やすくする */
.ur-page-wrap .parts-hero-title{
  margin-top:56px;
  margin-bottom:58px;
}

/* iPad：メイン商品説明はPCと同じ横並びにする */
@media (min-width:768px) and (max-width:1024px){

  .pt-inner{
    display:grid;
    grid-template-columns:46% 54%;
    align-items:center;
    gap:28px;
    text-align:left;
  }

  .pt-content{
    display:block;
    max-width:480px;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:flex-start;
  }

  .pt-dash{
    margin:0 0 22px;
  }

  .pt-spec-table{
    margin:0 0 22px;
    text-align:left;
  }

  .pt-btn{
    margin:0;
  }

  .pt-image-area{
    width:100%;
  }

  .pt-image-box{
    min-height:300px;
    padding:0;
  }

  .pt-image-box img{
    width:82%;
    max-width:520px;
    margin:0 auto;
  }

  .ur-page-wrap .parts-hero-title{
    margin-top:100px;
  }
}

/* スマホ：メインだけ縦並び。写真を製造国テーブルの上に置く */
@media (max-width:767px){

  .pt-inner{
    display:flex;
    flex-direction:column;
    text-align:center;
  }

  /* .pt-contentの中身と画像を同じ階層として並べ替える */
  .pt-content{
    display:contents;
  }

  .pt-title-row{
    order:1;
    justify-content:center;
  }

  .pt-dash{
    order:2;
  }

  .pt-content h2{
    order:3;
  }

  .pt-lead{
    order:4;
  }

  .pt-image-area{
    order:5;
    width:100%;
  }

  .pt-spec-table{
    order:6;
  }

  .pt-btn{
    order:7;
  }

  .pt-image-box{
    min-height:210px;
    margin-bottom:18px;
    padding:0;
  }

  .pt-image-box img{
    width:78%;
    max-width:330px;
    margin:0 auto;
    background-color: white;
  }

  .ur-page-wrap .parts-hero-title{
    margin-top:100px;
    margin-bottom:44px;
    padding: 10%;
  }
}

/* =========================================================
  FINAL FIX：商品画像中央寄せ・見切れ防止
  ※デザインは変更せず、画像の配置と表示サイズのみ調整
========================================================= */

.ur-page-wrap .ww-img,
.ur-section .ww-img,
.ww-img{
  position:relative;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  height:250px;
  background:#fff;
  overflow:hidden;
  margin-bottom:20px;
}

.ur-page-wrap .ww-img img,
.ur-section .ww-img img,
.ww-img img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:82% !important;
  max-height:82% !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none;
}

.ur-page-wrap .ww-card:hover .ww-img img,
.ur-section .ww-card:hover .ww-img img,
.ww-card:hover .ww-img img{
  transform:none;
}

@media (min-width:1025px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:200px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:78% !important;
    max-height:78% !important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:190px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:76% !important;
    max-height:76% !important;
  }
}

@media (max-width:767px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:180px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:72% !important;
    max-height:72% !important;
  }
}

@media (max-width:390px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:168px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:70% !important;
    max-height:70% !important;
  }
}
/* iPad：仕様表をPCと同じ形に整える */
@media (min-width:768px) and (max-width:1024px){

  .pt-spec-row{
    grid-template-columns:92px 1fr;
  }

  .pt-spec-row-4{
    grid-template-columns:92px 1fr 92px 1fr;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:36px;
    padding:7px 10px;
    font-size:12px;
    line-height:1.45;
    white-space:nowrap;
  }

  .pt-spec-data{
    white-space:normal;
  }
}

/* =========================================================
   縦型シューズケース画像のみ：カード内に完全に収める
   他の商品カードには影響しません
========================================================= */

.ww-card--vertical-shoes .ww-img{
  overflow:hidden;
}

.ww-card--vertical-shoes .ww-img-link{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.ww-card--vertical-shoes .ww-img img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:72% !important;
  max-height:86% !important;
  margin:0 auto;
  padding:0;
  object-fit:contain;
  object-position:center;
  transform:none !important;
}

/* iPad */
@media (min-width:768px) and (max-width:1024px){
  .ww-card--vertical-shoes .ww-img img{
    max-width:80% !important;
    max-height:84% !important;
  }
}

/* スマートフォン */
@media (max-width:767px){
  .ww-card--vertical-shoes .ww-img img{
    max-width:64% !important;
    max-height:90% !important;
  }
}
/* ==========================
   ALL ITEM 見出し
========================== */

.vaultingbox-products-inner{
    text-align:center;
    margin-top: 100px;
}

.vaultingbox-products-en{
    margin:0 0 12px;
    color:var(--main);
    font-size:2rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    color: #01C8BD;
    display:flex;
    justify-content:center;
    align-items:center;
}

.vaultingbox-products-title{
    margin:0 0 60px;
    color:#222;
    font-size:clamp(30px,4vw,48px);
    line-height:1.42;
    font-weight:900;
    letter-spacing:.04em;
}



/* =========================================================
   COUNTER FIRST VIEW ONLY
   他ページと同じコンパクトなファーストビュー
   ※特徴カード・商品一覧・その他デザインには影響しません
========================================================= */

.useful-rack-page .counter-cushion-fv{
  position:relative;
  min-height:auto;
  padding:110px 28px 70px;
  overflow:hidden;
}

.useful-rack-page .counter-cushion-fv .pt-inner{
  position:relative;
  z-index:2;
  width:min(1080px,100%);
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:48% 52%;
  align-items:center;
  gap:34px;
}

.useful-rack-page .counter-cushion-fv .pt-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:460px;
  margin-left:auto;
}

.useful-rack-page .counter-cushion-fv .pt-title-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.useful-rack-page .counter-cushion-fv .pt-icon{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:42px;
  height:28px;
}

.useful-rack-page .counter-cushion-fv .pt-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(#0D92DF 0 35%,#7131C7 35% 70%,#08BEB8 70% 100%);
}

.useful-rack-page .counter-cushion-fv .pt-icon::after{
  content:"";
  position:absolute;
  top:8px;
  left:12px;
  width:20px;
  height:11px;
  border-radius:50%;
  background:#FF7A00;
}

.useful-rack-page .counter-cushion-fv .pt-title-row h1{
  margin:0;
  color:#242424;
  font-size:25px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.05em;
}

.useful-rack-page .counter-cushion-fv .pt-dash{
  width:100%;
  max-width:340px;
  margin-bottom:22px;
  border-top:3px dashed #cfc6b8;
}

.useful-rack-page .counter-cushion-fv .pt-content h2{
  margin:0 0 14px;
  color:#08BEB8;
  font-size:17px;
  line-height:1.6;
  font-weight:900;
  letter-spacing:.04em;
}

.useful-rack-page .counter-cushion-fv .pt-lead{
  margin:0 0 22px;
  color:#242424;
  font-size:13px;
  line-height:1.8;
  font-weight:700;
  letter-spacing:.04em;
}

.useful-rack-page .counter-cushion-fv .pt-spec-table{
  width:100%;
  max-width:460px;
  margin-bottom:22px;
  overflow:hidden;
  border:1px solid #fff;
  border-radius:8px;
  background:rgba(255,255,255,.35);
}

.useful-rack-page .counter-cushion-fv .pt-spec-row{
  display:grid;
  grid-template-columns:90px 1fr;
  border-bottom:1px solid #fff;
}

.useful-rack-page .counter-cushion-fv .pt-spec-row:last-child{
  border-bottom:none;
}

.useful-rack-page .counter-cushion-fv .pt-spec-head,
.useful-rack-page .counter-cushion-fv .pt-spec-data{
  min-height:40px;
  display:flex;
  align-items:center;
  padding:9px 10px;
  font-size:13px;
  line-height:1.5;
  font-weight:700;
}

.useful-rack-page .counter-cushion-fv .pt-spec-head{
  justify-content:center;
  background:#fff;
  font-weight:900;
}

.useful-rack-page .counter-cushion-fv .pt-spec-data{
  background:rgba(255,255,255,.45);
}

.useful-rack-page .counter-cushion-fv .pt-btn{
  width:210px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  color:#222;
  background:#fff;
  border:3px solid #222;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  transition:.25s;
}

.useful-rack-page .counter-cushion-fv .pt-btn:hover{
  color:#fff;
  background:#222;
}

.useful-rack-page .counter-cushion-fv .pt-image-area-pc{
  display:flex;
  justify-content:flex-start;
}

.useful-rack-page .counter-cushion-fv .pt-image-area-sp{
  display:none;
}

.useful-rack-page .counter-cushion-fv .pt-image-box{
  width:100%;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:#fff;
  border-radius:30px;
  box-shadow:0 18px 38px rgba(70,50,20,.12);
}

.useful-rack-page .counter-cushion-fv .pt-image-box img{
  display:block;
  width:100%;
  max-width:400px;
  height:auto;
  object-fit:contain;
  border-radius:22px;
}

@media(max-width:640px){
  .useful-rack-page .counter-cushion-fv{
    padding:52px 16px 42px;
  }

  .useful-rack-page .counter-cushion-fv .pt-inner{
    display:block;
    width:100%;
  }

  .useful-rack-page .counter-cushion-fv .pt-content{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
  }

  .useful-rack-page .counter-cushion-fv .pt-title-row{
    justify-content:center;
  }

  .useful-rack-page .counter-cushion-fv .pt-title-row h1{
    font-size:24px;
  }

  .useful-rack-page .counter-cushion-fv .pt-dash{
    margin-left:auto;
    margin-right:auto;
  }

  .useful-rack-page .counter-cushion-fv .pt-content h2{
    text-align:center;
  }

  .useful-rack-page .counter-cushion-fv .pt-lead{
    text-align:left;
  }

  .useful-rack-page .counter-cushion-fv .pt-image-area-pc{
    display:none;
  }

  .useful-rack-page .counter-cushion-fv .pt-image-area-sp{
    display:block;
    width:100%;
    margin:0 0 22px;
  }

  .useful-rack-page .counter-cushion-fv .pt-image-box{
    padding:12px;
    border-radius:22px;
  }

  .useful-rack-page .counter-cushion-fv .pt-image-box img{
    width:100%;
    max-width:280px;
    margin:0 auto;
    border-radius:16px;
  }

  .useful-rack-page .counter-cushion-fv .pt-spec-table{
    max-width:none;
  }

  .useful-rack-page .counter-cushion-fv .pt-btn{
    margin:0 auto;
  }
}

.hekimen-page-wrap .hero-wide .ps_object1{
  animation-delay:.2s;
}

.hekimen-page-wrap .hero-wide .ps_object2{
  animation-delay:.6s;
}

.hekimen-page-wrap .hero-wide .ps_object3{
  animation-delay:1s;
}

@keyframes svgPoyonUp{

  0%{
    opacity:0;
    transform:translateY(80px) scale(.8);
  }

  60%{
    opacity:1;
    transform:translateY(-12px) scale(1.05);
  }

  80%{
    transform:translateY(4px) scale(.98);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }

}
/* ===============================
  Counter page SVG 下からポワン
=============================== */

.ur-page-wrap .ps_object1,
.ur-page-wrap .ps_object2,
.ur-page-wrap .ps_object3,
.ur-page-wrap .ps_object4{
  opacity:0;
  animation:urSvgPoyonUp 2s cubic-bezier(.19,1,.22,1) forwards;
  will-change:transform, opacity;
}

.ur-page-wrap .ps_object1{ animation-delay:.2s; }
.ur-page-wrap .ps_object2{ animation-delay:.45s; }
.ur-page-wrap .ps_object3{ animation-delay:.7s; }
.ur-page-wrap .ps_object4{ animation-delay:.95s; }

@keyframes urSvgPoyonUp{
  0%{
    opacity:0;
    transform:translateY(90px) scale(.82);
  }

  60%{
    opacity:1;
    transform:translateY(-12px) scale(1.04);
  }

  80%{
    transform:translateY(5px) scale(.98);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
/* ==========================
   Order Button
========================== */

.cart-order-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;

    width:100%;
    max-width:250px;
    height:56px;

    margin:18px auto 0;

    background:#fff;
    border:3px solid #2c2c2c;
    border-radius:999px;

    color:#2c2c2c;
    text-decoration:none;
    overflow:hidden;

    transition:.3s;
}

.cart-order-text{
    flex:1;
    text-align:center;
    font-size:18px;
    font-weight:900;
    letter-spacing:.08em;
}

.cart-order-icon{
    width:52px;
    height:100%;
    border-left:3px solid #2c2c2c;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s;
}

.cart-order-icon svg{
    width:20px;
    height:20px;
}

/* Hover */

.cart-order-btn:hover{
    background:#2c2c2c;
    color:#fff;
}

.cart-order-btn:hover .cart-order-icon{
    border-left-color:#fff;
}

/* スマホ */

@media (max-width:767px){

    .cart-order-btn{
        max-width:210px;
        height:50px;
    }

    .cart-order-text{
        font-size:16px;
    }

    .cart-order-icon{
        width:46px;
    }

    .cart-order-icon svg{
        width:18px;
        height:18px;
    }

    .ur-section-head img{
  display: block;
  margin: 0 auto;   /* 真ん中 */
}

}


  .ur-feature-strip img{
    height:170px;
    object-fit:contain;
    object-position:center;
    padding:8px;
  }

/* ===============================
  main 商品説明
=============================== */

.pt-section{
  position:relative;
  min-height:auto;
  padding:145px 40px 100px;
  overflow:hidden;
}

.pt-inner{
  position:relative;
  z-index:2;
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
  gap:20px;
}

.pt-content{
  position:relative;
  z-index:2;
  padding-top:0;
}

.pt-title-row{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
}

.pt-icon{
  position:relative;
  width:52px;
  height:34px;
  display:block;
  flex:0 0 auto;
}

.pt-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(#0D92DF 0 35%, #7131C7 35% 70%, #08BEB8 70% 100%);
}

.pt-icon::after{
  content:"";
  position:absolute;
  top:10px;
  left:15px;
  width:24px;
  height:13px;
  background:#FF7A00;
  border-radius:50%;
}

.pt-title-row h1{
  margin:0;
  font-size:30px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.05em;
}

.pt-dash{
  width:100%;
  max-width:420px;
  border-top:3px dashed #cfc6b8;
  margin-bottom:30px;
}

.pt-content h2{
  margin:0 0 18px;
  color:#08BEB8;
  font-size:20px;
  line-height:1.6;
  font-weight:900;
  letter-spacing:.04em;
}

.pt-lead{
  margin:0 0 28px;
  font-size:15px;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

.pt-spec-table{
  width:100%;
  max-width:560px;
  border:1px solid #fff;
  border-radius:8px;
  overflow:hidden;
  margin-bottom:26px;
  background:rgba(255,255,255,.35);
}

.pt-spec-row{
  display:grid;
  grid-template-columns:110px 1fr;
  border-bottom:1px solid #fff;
}

.pt-spec-row:last-child{
  border-bottom:none;
}

.pt-spec-row-4{
  grid-template-columns:110px 145px 110px 1fr;
}

.pt-spec-head,
.pt-spec-data{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:8px 16px;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
}

.pt-spec-head{
  justify-content:center;
  background:#fff;
  font-weight:900;
}

.pt-spec-data{
  background:rgba(255,255,255,.45);
}

.pt-btn{
  width:240px;
  height:64px;
  align-items:center;
  justify-content:space-between;
  padding:4% 13.5%;
  color:#222;
  background:#fff;
  border:3px solid #222;
  border-radius:999px;
  text-decoration:none;
  font-size:17px;
  font-weight:900;
  transition:.25s;
}

.pt-btn:hover{
  background:#222;
  color:#fff;
}

.pt-image-area{
  position:relative;
  z-index:2;
}

.pt-image-box{
  width:100%;
  min-height:540px;
  background:transparent;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.pt-image-box img{
  width:100%;
  max-width:960px;
  height:auto;
  display:block;
  border-radius:30px;
}

/* =========================================================
  Useful Rack 全体サイズ・レスポンシブ調整 完全版
  ※デザインは変更せず、サイズ・幅・余白のみ調整
========================================================= */

.ur-page,
.ur-page-wrap,
.ur-page-wrap *{
  box-sizing:border-box;
}

.ur-page{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.ur-hero-card,
.ur-category-tabs,
.ur-section,
.ur-feature-strip,
.ur-section .ww-products,
.ur-section .ww-grid,
.pt-inner{
  max-width:1080px;
}

/* ===============================
  PC：全体を一回り小さく中央へ
================================ */

@media (min-width:1025px){

  .ur-page{
    padding:56px 20px 88px;
  }

  .ur-hero-card{
    width:min(980px,100%);
    margin:0 auto 42px;
    border-radius:36px;
    margin-top: 100px;
  }

  .ur-hero-copy{
    padding:42px 40px;
  }

  .ur-series{
    font-size:13px;
  }

  .ur-hero-copy h1{
    font-size:clamp(42px,4.2vw,64px);
    margin-bottom:16px;
  }

  .ur-hero-copy p:last-child{
    font-size:16px;
  }

  .ur-category-tabs{
    width:min(940px,100%);
    gap:18px;
    margin:0 auto 58px;
  }

  .ur-category-tabs a{
    padding:16px 14px;
    border-radius:24px;
  }

  .ur-category-tabs img{
    width:104px;
    height:80px;
  }

  .ur-category-tabs span{
    font-size:14px;
  }

  .ur-section{
    width:min(1040px,100%);
    margin:0 auto 66px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr 340px;
    gap:34px;
    padding:32px;
    border-radius:30px;
    margin:0 auto 36px;
  }

  .ur-section-head.reverse{
    grid-template-columns:340px 1fr;
  }

  .ur-section-head h2{
    font-size:clamp(28px,3vw,38px);
  }

  .ur-section-head p{
    font-size:14px;
  }

  .ur-section-head li{
    font-size:12px;
    padding:8px 14px;
  }

  .ur-section-head img{
    width:76%;
    height:230px;
    padding:16px;
    margin:0 auto;
  }

  .pt-section{
    padding:92px 28px 70px;
  }

  .pt-inner{
    width:min(1080px,100%);
    grid-template-columns:46% 54%;
    gap:34px;
  }

  .pt-content{
    max-width:480px;
    margin:0 auto;
  }

  .pt-title-row{
    gap:14px;
    margin-bottom:18px;
  }

  .pt-icon{
    width:44px;
    height:29px;
  }

  .pt-icon::after{
    top:8px;
    left:13px;
    width:20px;
    height:11px;
  }

  .pt-title-row h1{
    font-size:26px;
  }

  .pt-dash{
    max-width:360px;
    margin-bottom:24px;
  }

  .pt-content h2{
    font-size:17px;
    line-height:1.55;
    margin-bottom:14px;
  }

  .pt-lead{
    font-size:13px;
    line-height:1.8;
    margin-bottom:22px;
  }

  .pt-spec-table{
    max-width:480px;
    margin-bottom:22px;
  }

  .pt-spec-row{
    grid-template-columns:92px 1fr;
  }

  .pt-spec-row-4{
    grid-template-columns:92px 118px 92px 1fr;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:36px;
    padding:7px 12px;
    font-size:12px;
  }

  .pt-btn{
    width:210px;
    height:56px;
    padding:4% 10%;
    font-size:15px;
  }

  .pt-image-box{
    min-height:360px;
    padding:10px;
  }

  .pt-image-box img{
    width:82%;
    max-width:560px;
    margin:0 auto;
  }

  .ur-section .ww-products{
    max-width:1040px;
  }

  .ur-section .ww-grid,
  .ww-grid{
    max-width:1040px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }

  .ur-section .ww-grid.tv-grid,
  .ww-grid.tv-grid{
    max-width:680px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ww-card{
    border-radius:16px;
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:58px;
    gap:10px;
  }

  .ww-head span{
    width:42px;
    height:42px;
    font-size:15px;
  }

  .ww-head h3{
    margin-top:4px;
    font-size:12px;
    line-height:1.55;
  }

  .ww-img{
    height:190px;
    margin-bottom:16px;
  }

  .ww-img img{
    width:82%;
    height:82%;
  }

  .ww-nav{
    width:26px;
    height:26px;
    font-size:18px;
    bottom:10px;
  }

  .ww-size{
    min-height:46px;
    padding:9px 10px;
    margin-bottom:16px;
  }

  .ww-size p{
    font-size:10px;
    line-height:1.45;
  }

  .ww-price{
    grid-template-columns:1fr 104px;
    min-height:38px;
    margin-bottom:18px;
  }

  .ww-price span,
  .ww-price strong{
    padding:7px;
    font-size:11px;
  }

  .ww-price small{
    font-size:8px;
  }

  .cart-order-btn{
    max-width:200px;
    height:48px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:15px;
  }

  .cart-order-icon{
    width:46px;
    border-left-width:2px;
  }

  .cart-order-icon svg{
    width:18px;
    height:18px;
  }

  .ur-feature-strip{
    width:min(1040px,100%);
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
  }

  .ur-feature-strip article{
    border-radius:24px;
    padding:17px 15px 19px;
  }

  .ur-feature-strip h3{
    min-height:72px;
    font-size:13px;
    line-height:1.5;
    margin-bottom:12px;
  }

  .ur-feature-strip img{
    width:88%;
    height:120px;
    margin:0 auto 12px;
    object-fit:contain;
    padding:6px;
  }

  .ur-feature-strip p{
    font-size:11px;
    line-height:1.7;
  }

  .ps_object1{ width:30%; }
  .ps_object2{ width:15%; }
  .ps_object3{ width:30%; }
  .ps_object4{ width:15%; }
}

/* ===============================
  iPad / Tablet：大きすぎ対策
================================ */

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

  .ur-page{
    padding:44px 18px 78px;
    overflow-x:hidden;
  }

  .ur-hero-card{
    width:min(880px,100%);
    margin:0 auto 38px;
    border-radius:30px;
  }

  .ur-hero-copy{
    padding:38px 32px 30px;
  }

  .ur-page h1,
  .ur-hero-copy h1{
    font-size:clamp(34px,6vw,52px);
  }

  .ur-hero-copy p:last-child{
    font-size:15px;
  }

  .ur-category-tabs{
    width:min(820px,100%);
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:48px;
  }

  .ur-category-tabs a{
    padding:14px 10px;
    border-radius:22px;
  }

  .ur-category-tabs img{
    width:88px;
    height:70px;
  }

  .ur-category-tabs span{
    font-size:13px;
  }

  .pt-section{
    padding:70px 22px 56px;
  }

  .pt-inner{
    width:min(820px,100%);
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  .pt-content{
    width:100%;
    max-width:560px;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:center;
  }

  .pt-title-row h1{
    font-size:25px;
  }

  .pt-dash{
    max-width:360px;
    margin:0 auto 22px;
  }

  .pt-content h2{
    font-size:17px;
  }

  .pt-lead{
    font-size:13px;
  }

  .pt-spec-table{
    max-width:540px;
    margin:0 auto 22px;
    text-align:left;
  }

  .pt-spec-head,
  .pt-spec-data{
    font-size:12px;
    min-height:36px;
    padding:7px 10px;
  }

  .pt-btn{
    width:205px;
    height:54px;
    margin:0 auto;
    font-size:15px;
  }

  .pt-image-box{
    min-height:300px;
    padding:0;
  }

  .pt-image-box img{
    width:64%;
    max-width:500px;
    margin:0 auto;
  }

  .ur-section{
    width:min(860px,100%);
    margin:0 auto 56px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr;
    gap:22px;
    padding:28px;
    border-radius:28px;
    text-align:center;
    margin:0 auto 30px;
  }

  .ur-section-head.reverse > div,
  .ur-section-head.reverse > img{
    order:initial;
  }

  .ur-section-head h2{
    font-size:clamp(26px,4.5vw,34px);
  }

  .ur-section-head p{
    font-size:14px;
  }

  .ur-section-head ul{
    justify-content:center;
  }

  .ur-section-head img{
    width:62%;
    height:220px;
    margin:0 auto;
  }

  .ur-section .ww-products{
    max-width:820px;
  }

  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid{
    max-width:820px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }

  .ww-card{
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:58px;
  }

  .ww-head span{
    width:42px;
    height:42px;
    font-size:15px;
  }

  .ww-head h3{
    font-size:12px;
    line-height:1.55;
  }

  .ww-img{
    height:190px;
  }

  .ww-img img{
    width:82%;
    height:82%;
  }

  .ww-size p{
    font-size:10px;
  }

  .ww-price span,
  .ww-price strong{
    font-size:11px;
  }

  .cart-order-btn{
    max-width:200px;
    height:48px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:15px;
  }

  .cart-order-icon{
    width:46px;
    border-left-width:2px;
  }

  .ur-feature-strip{
    width:min(820px,100%);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .ur-feature-strip article:last-child{
    grid-column:1 / -1;
    max-width:390px;
    margin:0 auto;
  }

  .ur-feature-strip article{
    padding:18px;
    border-radius:24px;
  }

  .ur-feature-strip h3{
    min-height:auto;
    font-size:14px;
  }

  .ur-feature-strip img{
    width:75%;
    height:130px;
    margin:0 auto 14px;
    object-fit:contain;
  }

  .ur-feature-strip p{
    font-size:12px;
  }

  .ps_object1{ width:32%; }
  .ps_object2{ width:18%; }
  .ps_object3{ width:34%; }
  .ps_object4{ width:18%; }
}

/* ===============================
  Mobile：横幅はみ出し防止＋小さめ
================================ */

@media (max-width:767px){

  .ur-page{
    padding:30px 12px 58px;
    overflow-x:hidden;
  }

  .ur-hero-card{
    width:100%;
    margin:0 auto 28px;
    border-radius:24px;
  }

  .ur-hero-copy{
    padding:28px 18px 22px;
  }

  .ur-series{
    font-size:11px;
  }

  .ur-hero-copy h1,
  .ur-page h1{
    font-size:clamp(28px,8vw,36px);
    line-height:1.25;
  }

  .ur-hero-copy p:last-child{
    font-size:14px;
  }

  .ur-category-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:38px;
  }

  .ur-category-tabs a{
    padding:13px 8px;
    border-radius:20px;
  }

  .ur-category-tabs img{
    width:78px;
    height:62px;
  }

  .ur-category-tabs span{
    font-size:12px;
  }

  .pt-section{
    padding:50px 14px 46px;
  }

  .pt-inner{
    width:100%;
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
  }

  .pt-content{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:center;
    gap:10px;
    margin-bottom:14px;
  }

  .pt-icon{
    width:38px;
    height:25px;
  }

  .pt-icon::after{
    top:7px;
    left:11px;
    width:18px;
    height:10px;
  }

  .pt-title-row h1{
    font-size:22px;
  }

  .pt-dash{
    max-width:260px;
    margin:0 auto 18px;
  }

  .pt-content h2{
    font-size:15px;
    line-height:1.55;
    margin-bottom:12px;
  }

  .pt-lead{
    font-size:12px;
    line-height:1.75;
    margin-bottom:18px;
  }

  .pt-spec-table{
    max-width:60%;
    margin:0 auto 20px;
    text-align:left;
  }

  .pt-spec-row,
  .pt-spec-row-4{
    grid-template-columns:86px 1fr;
  }

  .pt-spec-row-4 .pt-spec-head:nth-child(3),
  .pt-spec-row-4 .pt-spec-data:nth-child(4){
    border-top:1px solid #fff;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:34px;
    padding:7px 9px;
    font-size:11px;
    line-height:1.45;
  }

  .pt-btn{
    width:185px;
    height:50px;
    padding:2.5% 24px;
    margin:0 auto;
    font-size:14px;
  }

  .pt-image-box{
    min-height:230px;
    padding:0;
  }

  .pt-image-box img{
    width:76%;
    max-width:340px;
    margin:0 auto;
  }

  .ur-section{
    width:100%;
    margin:0 auto 46px;
  }

  .ur-section-head,
  .ur-section-head.reverse{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 16px;
    border-radius:24px;
    margin:0 auto 24px;
    text-align:center;
  }

  .ur-section-head.reverse > div,
  .ur-section-head.reverse > img{
    order:initial;
  }

  .ur-section-head h2{
    font-size:25px;
  }

  .ur-section-head p{
    font-size:13px;
  }

  .ur-section-head ul{
    justify-content:center;
    gap:7px;
  }

  .ur-section-head li{
    font-size:11px;
    padding:7px 10px;
  }

  .ur-section-head img{
    width:70%;
    height:180px;
    padding:12px;
    margin:0 auto;
  }

  .ur-section .ww-products,
  .ww-products{
    width:100%;
    padding:0;
    max-width:100%;
  }

  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid{
    width:100%;
    max-width:340px;
    grid-template-columns:1fr;
    gap:22px;
    margin:0 auto;
  }

  .ww-card{
    border-radius:16px;
    padding:10px 10px 18px;
  }

  .ww-head{
    min-height:56px;
    gap:9px;
  }

  .ww-head span{
    width:40px;
    height:40px;
    font-size:14px;
  }

  .ww-head h3{
    margin-top:4px;
    font-size:12px;
    line-height:1.5;
  }

  .ww-img{
    height:185px;
    margin-bottom:15px;
  }

  .ww-img img{
    width:80%;
    height:80%;
  }

  .ww-nav{
    width:26px;
    height:26px;
    bottom:10px;
    font-size:17px;
  }

  .ww-size{
    min-height:44px;
    padding:8px 9px;
    margin-bottom:15px;
  }

  .ww-size p{
    font-size:10px;
    line-height:1.45;
  }

  .ww-price{
    grid-template-columns:1fr;
    min-height:38px;
    margin-bottom:16px;
  }

  .ww-price strong{
    border-left:0;
    border-top:1px solid #d8d8d8;
  }

  .ww-price.is-single strong{
    border-top:0;
  }

  .ww-price span,
  .ww-price strong{
    font-size:11px;
    padding:7px;
  }

  .cart-order-btn{
    max-width:190px;
    height:46px;
    border-width:2px;
  }

  .cart-order-text{
    font-size:14px;
  }

  .cart-order-icon{
    width:44px;
    border-left-width:2px;
  }

  .cart-order-icon svg{
    width:17px;
    height:17px;
  }

  .ur-feature-strip{
    width:100%;
    max-width:340px;
    grid-template-columns:1fr;
    gap:16px;
    margin:10px auto 0;
  }

  .ur-feature-strip article{
    border-radius:22px;
    padding:17px 15px;
  }

  .ur-feature-strip h3{
    min-height:auto;
    font-size:14px;
    margin-bottom:12px;
  }

  .ur-feature-strip img{
    width:76%;
    height:125px;
    margin:0 auto 12px;
    object-fit:contain;
    padding:4px;
  }

  .ur-feature-strip p{
    font-size:12px;
    line-height:1.7;
  }

  .ps_object1{ width:38%; }
  .ps_object2{ width:22%; }
  .ps_object3{ width:42%; }
  .ps_object4{ width:26%; }
}

@media (max-width:390px){
  .ur-section .ww-grid,
  .ur-section .ww-grid.tv-grid,
  .ww-grid,
  .ww-grid.tv-grid,
  .ur-feature-strip{
    max-width:310px;
  }

  .pt-image-box img{
    width:82%;
  }

  .ww-img{
    height:170px;
  }

  .ur-section-head img{
    height:160px;
  }
}
.parts-lead{
  max-width:900px;
  margin:0 auto;
  color:#555;
  text-align:center;
  font-size:1.5rem;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

.parts-lead strong{
  color:#01C8BD;
  font-weight:900;
}

/* Tablet */
@media (max-width:1024px){

  .parts-lead{
    max-width:700px;
    font-size:1.2rem;
    line-height:1.9;
  }

}

/* Mobile */
@media (max-width:767px){

  .parts-lead{
    max-width:100%;
    padding:0 12px;
    font-size:14px;
    line-height:1.8;
    text-align:center;
  }

}
.ur-page-wrap .parts-hero-title{
  position:relative;
  z-index:3;
  text-align:center;
  margin:0 auto 58px;
}

.ur-page-wrap .parts-en{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin:0 0 20px;
  color:#01C8BD;
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
}

.ur-page-wrap .parts-en span{
  display:block;
  width:100px;
  height:2px;
  background:#01C8BD;
  border-radius:999px;
}

.ur-page-wrap .parts-hero-title h1{
  margin:0 0 28px;
  color:#242424;
  font-size:5rem;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.08em;
}

.ur-page-wrap .parts-lead{
  max-width:900px;
  margin:0 auto;
  color:#555;
  text-align:center;
  font-size:1.5rem;
  line-height:1.9;
  font-weight:700;
  letter-spacing:.04em;
}

@media(max-width:1024px){
  .ur-page-wrap .parts-hero-title h1{
    font-size:4rem;
  }

  .ur-page-wrap .parts-lead{
    font-size:1.2rem;
  }
}

@media(max-width:767px){
  .ur-page-wrap .parts-en{
    gap:12px;
    font-size:17px;
  }

  .ur-page-wrap .parts-en span{
    width:42px;
  }

  .ur-page-wrap .parts-hero-title h1{
    font-size:32px;
  }

  .ur-page-wrap .parts-lead{
    padding:0 12px;
    font-size:14px;
  }
}

/* =========================================================
  FINAL OVERRIDE：iPad横並び / SP画像位置 / Hero位置調整
  ※デザインは変更せず、配置だけ調整
========================================================= */

/* Useful Rackの英字・タイトル全体を少し下げて見やすくする */
.ur-page-wrap .parts-hero-title{
  margin-top:56px;
  margin-bottom:58px;
}

/* iPad：メイン商品説明はPCと同じ横並びにする */
@media (min-width:768px) and (max-width:1024px){

  .pt-inner{
    display:grid;
    grid-template-columns:46% 54%;
    align-items:center;
    gap:28px;
    text-align:left;
  }

  .pt-content{
    display:block;
    max-width:480px;
    margin:0 auto;
  }

  .pt-title-row{
    justify-content:flex-start;
  }

  .pt-dash{
    margin:0 0 22px;
  }

  .pt-spec-table{
    margin:0 0 22px;
    text-align:left;
  }

  .pt-btn{
    margin:0;
  }

  .pt-image-area{
    width:100%;
  }

  .pt-image-box{
    min-height:300px;
    padding:0;
  }

  .pt-image-box img{
    width:82%;
    max-width:520px;
    margin:0 auto;
  }

  .ur-page-wrap .parts-hero-title{
    margin-top:100px;
  }
}

/* スマホ：メインだけ縦並び。写真を製造国テーブルの上に置く */
@media (max-width:767px){

  .pt-inner{
    display:flex;
    flex-direction:column;
    text-align:center;
  }

  /* .pt-contentの中身と画像を同じ階層として並べ替える */
  .pt-content{
    display:contents;
  }

  .pt-title-row{
    order:1;
    justify-content:center;
  }

  .pt-dash{
    order:2;
  }

  .pt-content h2{
    order:3;
  }

  .pt-lead{
    order:4;
  }

  .pt-image-area{
    order:5;
    width:100%;
  }

  .pt-spec-table{
    order:6;
  }

  .pt-btn{
    order:7;
  }

  .pt-image-box{
    min-height:210px;
    margin-bottom:18px;
    padding:0;
  }

  .pt-image-box img{
    width:78%;
    max-width:330px;
    margin:0 auto;
    background-color: white;
  }

  .ur-page-wrap .parts-hero-title{
    margin-top:100px;
    margin-bottom:44px;
    padding: 10%;
  }
}

/* =========================================================
  FINAL FIX：商品画像中央寄せ・見切れ防止
  ※デザインは変更せず、画像の配置と表示サイズのみ調整
========================================================= */

.ur-page-wrap .ww-img,
.ur-section .ww-img,
.ww-img{
  position:relative;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  height:250px;
  background:#fff;
  overflow:hidden;
  margin-bottom:20px;
}

.ur-page-wrap .ww-img img,
.ur-section .ww-img img,
.ww-img img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:82% !important;
  max-height:82% !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none;
}

.ur-page-wrap .ww-card:hover .ww-img img,
.ur-section .ww-card:hover .ww-img img,
.ww-card:hover .ww-img img{
  transform:none;
}

@media (min-width:1025px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:200px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:78% !important;
    max-height:78% !important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:190px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:76% !important;
    max-height:76% !important;
  }
}

@media (max-width:767px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:180px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:72% !important;
    max-height:72% !important;
  }
}

@media (max-width:390px){
  .ur-page-wrap .ww-img,
  .ur-section .ww-img,
  .ww-img{
    height:168px;
  }

  .ur-page-wrap .ww-img img,
  .ur-section .ww-img img,
  .ww-img img{
    max-width:70% !important;
    max-height:70% !important;
  }
}
/* iPad：仕様表をPCと同じ形に整える */
@media (min-width:768px) and (max-width:1024px){

  .pt-spec-row{
    grid-template-columns:92px 1fr;
  }

  .pt-spec-row-4{
    grid-template-columns:92px 1fr 92px 1fr;
  }

  .pt-spec-head,
  .pt-spec-data{
    min-height:36px;
    padding:7px 10px;
    font-size:12px;
    line-height:1.45;
    white-space:nowrap;
  }

  .pt-spec-data{
    white-space:normal;
  }
}

/* =========================================================
   縦型シューズケース画像のみ：カード内に完全に収める
   他の商品カードには影響しません
========================================================= */

.ww-card--vertical-shoes .ww-img{
  overflow:hidden;
}

.ww-card--vertical-shoes .ww-img-link{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.ww-card--vertical-shoes .ww-img img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:72% !important;
  max-height:86% !important;
  margin:0 auto;
  padding:0;
  object-fit:contain;
  object-position:center;
  transform:none !important;
}

/* iPad */
@media (min-width:768px) and (max-width:1024px){
  .ww-card--vertical-shoes .ww-img img{
    max-width:80% !important;
    max-height:84% !important;
  }
}

/* スマートフォン */
@media (max-width:767px){
  .ww-card--vertical-shoes .ww-img img{
    max-width:64% !important;
    max-height:90% !important;
  }
}
/* ==========================
   ALL ITEM 見出し
========================== */

.vaultingbox-products-inner{
    text-align:center;
    margin-top: 100px;
}

.vaultingbox-products-en{
    margin:0 0 12px;
    color:var(--main);
    font-size:2rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    color: #01C8BD;
    display:flex;
    justify-content:center;
    align-items:center;
}

.vaultingbox-products-title{
    margin:0 0 60px;
    color:#222;
    font-size:clamp(30px,4vw,48px);
    line-height:1.42;
    font-weight:900;
    letter-spacing:.04em;
}