@charset "UTF-8";
.page-goods .block-goods-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 15px;
}
.page-goods .pane-goods-header {
  margin-top: 0;
}
.page-goods .pane-goods-left-side {
  width: 440px;
  margin-right: 0;
}
.page-goods .pane-goods-right-side {
  width: 736px;
}
.page-goods .pane-goods-right-side form {
  display: block;
}
.page-goods .pane-goods-right-side a {
  color: #0f64b9;
}
.page-goods .block-goods-detail--color-variation-goods-image .swiper-slider-main img {
  vertical-align: top;
}
.page-goods .block-goods-detail--color-variation-goods-thumbnail-form {
  margin-top: 24px;
}
.page-goods .block-goods-detail--color-variation-goods-thumbnail-form .block-goods-gallery li {
  width: 60px;
  margin-right: 16px !important;
  margin-bottom: 0;
}
.page-goods .block-goods-detail--color-variation-goods-thumbnail-form .block-goods-gallery li figure {
  width: 100%;
  height: 100%;
}
.page-goods .block-goods-detail--color-variation-goods-thumbnail-form .block-goods-gallery li img {
  vertical-align: top;
}
.page-goods .block-goods-name {
  margin-bottom: 36px;
}
.page-goods .block-goods-name .block-goods-name--text {
  margin: 0;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.42;
}
.page-goods .block-goods-comment1 {
  margin-top: 36px;
  font-size: 24px;
}
.page-goods .block-goods-comment {
  margin-top: 20px;
  font-size: 21px;
  font-weight: bold;
  display: none;
}
.page-goods .block-goods-comment2 {
  margin-top: 80px;
  font-size: 16px;
}
.page-goods .block-goods-comment8 {
  margin-top: 20px;
  font-size: 21px;
  font-weight: bold;
}
.page-goods .block-goods-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 30px;
  font-family: "Lato", sans-serif;
  font-size: 17px;
}
.page-goods .block-goods-price::after {
  margin-right: 20px;
  font-weight: 600;
  text-decoration: none;
  content: "価格";
}
.page-goods .block-goods-price .block-goods-price--on-sales-comment {
  width: 100%;
  color: #f00;
}
.page-goods .block-goods-price .net-price {
  display: none;
}
.page-goods .block-goods-price .price {
  color: #121212;
}
.page-goods .block-goods-price .default-price,
.page-goods .block-goods-price .price {
  font-size: 33px;
}
.page-goods .block-goods-price .default-price::after,
.page-goods .block-goods-price .price::after {
  display: inline-block;
  font-size: 17px;
  content: "税込";
}
.page-goods .block-goods-price .default-price small,
.page-goods .block-goods-price .price small {
  font-size: 25px;
}
.page-goods .block-goods-price .default-price::after {
  margin-left: 4px;
  text-decoration: line-through;
}
.page-goods .block-goods-price:has(.default-price) .price {
  color: #f00;
}
.page-goods .block-goods-price:has(.default-price) .price::before {
  font-weight: bold;
  content: "→";
}
.page-goods .goods-detail-descriptionwrap {
  padding: 24px 40px;
  margin: 40px 0;
  background-color: #fff;
}
.page-goods .goods-detail-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
.page-goods .goods-detail-description + .goods-detail-description {
  margin-top: 24px;
}
.page-goods .goods-detail-description dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
}
.page-goods .goods-detail-description dd {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.page-goods .block-cart-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page-goods .block-cart-btns .block-add-cart {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.page-goods .block-cart-btns .block-add-cart .btn-primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 64px;
  margin: 0;
  font-size: 15px;
  color: #fff;
  text-align: center;
  background-color: #333;
  border: 1px solid #333;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.page-goods .block-cart-btns .block-add-cart .btn-primary:hover {
  background-color: #000;
}
.page-goods .block-cart-btns .block-add-cart .btn-primary::after {
  display: block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  content: "";
  background: url("../../img/design/icn/icn-cart_wh.png") no-repeat center center/24px;
}
.page-goods .block-cart-btns .block-goods-favorite {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64px;
          flex: 0 0 64px;
  width: 64px;
}
.page-goods .block-cart-btns .block-goods-favorite .block-goods-favorite--btn,
.page-goods .block-cart-btns .block-goods-favorite .block-goods-favorite-registed--btn {
  display: block;
  width: 100%;
  height: 64px;
  margin: 0;
  font-size: 0;
  color: #fff;
  text-align: center;
  background: #fff url("../../img/design/icn/icn-fav.png") no-repeat center center/24px;
  border: 1px solid #333;
}
.page-goods .block-cart-btns .block-goods-favorite .block-goods-favorite-registed--btn {
  background: #fff url("../../img/design/icn/icn-fav_registed.png") no-repeat center center/24px;
}
.page-goods .block-contact-about-goods {
  margin-top: 24px;
}
.page-goods .block-contact-about-goods .block-contact-about-goods--btn {
  display: block;
  margin: 0;
  color: #333;
  text-align: center;
  background-color: #fff;
  border: 1px solid #333;
}
.page-goods .btn-listen {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 280px;
  min-height: 64px;
  color: #333;
  text-align: center;
  background-color: #fff;
  border: 1px solid #333;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.page-goods .btn-listen:hover {
  color: #fff;
  background-color: #1f1f1f;
}
.page-goods .btn-listen::before {
  display: block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  content: "";
  background: url("../../img/design/icn/icn-listen.png") no-repeat center center/24px;
}
.page-goods .pane-goods-center h2 {
  padding-bottom: 20px;
  margin-bottom: 24px;
  font-size: 19px;
  font-weight: bold;
  border-bottom: 1px solid #ebebeb;
}
.page-goods .pane-goods-center iframe[src*="youtube.com"] {
  display: block;
  max-width: 100%;
  margin-inline: auto;
}
.page-goods .pane-goods-center iframe[src*="youtube.com"]:not(:first-child) {
  margin-top: 24px;
}
.page-goods .block-goods-comment3 {
  margin-top: 40px;
}
.page-goods .block-goods-comment4 {
  margin-top: 80px;
}
.page-goods .block-goods-comment4 dl:not(:first-child) {
  margin-top: 40px;
}
.page-goods .block-goods-comment4 dl dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 280px;
  padding-bottom: 8px;
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: bold;
  border-bottom: 1px solid #ebebeb;
}
.page-goods .block-goods-comment4 dl dd ul li + li {
  margin-top: 10px;
}
.page-goods .block-goods-comment5 {
  margin-top: 80px;
}
.page-goods .block-goods-user-review {
  display: none;
}
.page-goods .block-goods-footer-cart {
  display: none;
}

#item_history_container .block-recent-item--header, .block-related .block-related--header {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  margin-top: 0;
  margin-bottom: 32px;
  font-family: "Josefin Sans", sans-serif;
  font-size: 33px;
  font-weight: 600;
  text-align: left;
  border-top: 0;
}
#item_history_container .block-recent-item--header span, .block-related .block-related--header span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: normal;
  color: #b8b8b8;
}

.block-related {
  margin-top: 80px;
  overflow: hidden;
  overflow: hidden;
}
.block-related .block-related--header span {
  color: #7b7b7b;
}
.block-related .block-goods-list-d {
  width: 1256px;
}
.block-related .block-goods-list-d--items {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.block-related .block-goods-list-d--items li {
  margin-right: 24px;
}

#goodsdetail_itemhistory {
  display: none;
}

.pane-right-menu #item_history_container {
  padding-block: 0;
  margin-block: 0;
}

#item_history_container {
  width: auto;
  padding-top: 80px;
  padding-bottom: 96px;
  margin: 96px 0 0;
  background-color: #eee;
  overflow: hidden;
}
#item_history_container .block-recent-item--header span {
  color: #7b7b7b;
}
#item_history_container .block-recent-item--items {
  width: 1256px;
  margin: 0 auto;
}

.block-thumbnail-h {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 24px 0;
}
.block-thumbnail-h .block-thumbnail-h--item,
.block-thumbnail-h li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 228px;
  margin: 0 24px 0 0;
}
.block-thumbnail-h .block-thumbnail-h--goods-image {
  width: auto;
  margin-bottom: 16px;
}
.block-thumbnail-h .block-thumbnail-h--goods-image figure {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.block-thumbnail-h .block-thumbnail-h--goods-image figure img {
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.block-thumbnail-h .block-thumbnail-h--goods-image a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.block-thumbnail-h .block-thumbnail-h--goods-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
.block-thumbnail-h .block-thumbnail-h--goods-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: auto;
  padding: 0;
}
.block-thumbnail-h .block-thumbnail-h--goods-details {
  display: block;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: auto;
}
.block-thumbnail-h .variation-name {
  display: none;
}
.block-thumbnail-h .block-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  margin-bottom: 8px;
}
.block-thumbnail-h .block-icon img {
  width: auto;
  height: 24px;
  vertical-align: top;
}
.block-thumbnail-h--goods-name {
  display: -webkit-box;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  max-height: 3em;
  overflow: hidden;
  font-size: 19px;
  font-weight: 500;
  text-decoration: none;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.block-thumbnail-h--goods-name a {
  text-decoration: none;
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
[data-browse-mode=P] .block-thumbnail-h--goods-name a:hover {
  opacity: 0.75;
}

.block-thumbnail-h--goods-name a:hover {
  text-decoration: none;
}
.block-thumbnail-h--comment {
  display: -webkit-box;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  max-height: 3em;
  margin-top: 8px;
  overflow: hidden;
  font-size: 15px;
  font-weight: bold;
  text-overflow: ellipsis;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.block-thumbnail-h--price-infos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: auto;
  margin-top: 8px;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
}
.block-thumbnail-h--price-infos:has(.default-price) .price::before {
  font-size: 15px;
  content: "→";
}
.block-thumbnail-h--price-title {
  display: none;
}
.block-thumbnail-h--scomment {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.block-thumbnail-h .price {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  font-size: 21px;
  font-weight: 500;
  color: #f00;
  text-align: left;
}
.block-thumbnail-h .price::after {
  font-size: 15px;
  content: "（税込）";
}
.block-thumbnail-h .price small {
  font-size: 16px;
}
.block-thumbnail-h .net-price {
  display: none;
}
.block-thumbnail-h .default-price {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
}
.block-thumbnail-h .default-price small {
  font-size: 16px;
}
.block-thumbnail-h .default-price::after {
  font-size: 14px;
  content: "（税込）";
}
.block-thumbnail-h--stock-items {
  display: none;
  width: auto;
  text-align: left;
}
.block-thumbnail-h--add-cart {
  display: none;
}
.block-thumbnail-h--add-cart .block-list-add-cart-btn {
  width: auto;
  margin: 0;
}
.block-thumbnail-h--goods-comment {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  padding: 8px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #7b7b7b;
  background-color: #fff;
}
.block-goods-list-d--items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px 0;
}
.block-goods-list-d--items li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 228px;
  margin: 0;
}
.block-goods-list-d--items li:not(:nth-child(4n)) {
  margin-right: 24px;
}
.block-goods-list-d .block-goods-list-d--image {
  width: auto;
  margin-bottom: 16px;
}
.block-goods-list-d .block-goods-list-d--image figure {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.block-goods-list-d .block-goods-list-d--image figure img {
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.block-goods-list-d .block-goods-list-d--image a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.block-goods-list-d .block-goods-list-d--item-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
.block-goods-list-d .block-goods-list-d--item-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: auto;
  padding: 0;
  flex-grow: 1;
}
.block-goods-list-d .block-goods-list-d--item-details {
  display: flex;
  flex-direction: column;
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
  margin-top: auto;
  flex-grow: 1;
}
.block-goods-list-d .block-goods-list-d--item-details-left {
  flex-basis: auto;
  flex-grow: 1;
}
.block-goods-list-d .variation-name {
  display: none;
}
.block-goods-list-d .block-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  margin-bottom: 8px;
}
.block-goods-list-d .block-icon img {
  width: auto;
  height: 24px;
  vertical-align: top;
}
.block-goods-list-d--goods-name {
  display: -webkit-box;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  max-height: 3em;
  overflow: hidden;
  font-size: 19px;
  font-weight: 500;
  text-decoration: none;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.block-goods-list-d--goods-name a {
  text-decoration: none;
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}
[data-browse-mode=P] .block-goods-list-d--goods-name a:hover {
  opacity: 0.75;
}

.block-goods-list-d--goods-name a:hover {
  text-decoration: none;
}
.block-goods-list-d--comment {
  display: -webkit-box;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  max-height: 3em;
  margin-top: 8px;
  overflow: hidden;
  font-size: 15px;
  font-weight: bold;
  text-overflow: ellipsis;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.block-goods-list-d--price-infos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: auto;
  margin-top: 8px;
  margin-bottom: 12px;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
}
.block-goods-list-d--price-infos:has(.default-price) .price::before {
  font-size: 15px;
  content: "→";
}
.block-goods-list-d--price-title {
  display: none;
}
.block-goods-list-d--scomment {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.block-goods-list-d .price {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  font-size: 21px;
  font-weight: 500;
  color: #f00;
  text-align: left;
}
.block-goods-list-d .price::after {
  font-size: 15px;
  content: "（税込）";
}
.block-goods-list-d .price small {
  font-size: 16px;
}
.block-goods-list-d .net-price {
  display: none;
}
.block-goods-list-d .default-price {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
}
.block-goods-list-d .default-price small {
  font-size: 16px;
}
.block-goods-list-d .default-price::after {
  font-size: 14px;
  content: "（税込）";
}
.block-goods-list-d--stock-items {
  display: none;
  width: auto;
  text-align: left;
}
.block-goods-list-d--add-cart {
  flex-basis: auto;
}
.block-goods-list-d--add-cart .btn-primary {
    color: #fff;
    border: none;
    background-color: #000000;
}
.block-goods-list-d--add-cart .block-list-add-cart-btn {
  width: auto;
  margin: 0;
}
.block-goods-list-d--goods-comment {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  padding: 8px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #7b7b7b;
  background-color: #fff;
}
/* -- 追加 -- */
.block-no-code-cms--goods-list--display-column-number-4 {
  display: -ms-grid;
  display: grid;
  place-content: center;
  gap: 20px;
}
.block-no-code-cms--goods-list--display-column-number-4 img {
  max-width: 180px;
}

/* -- 追加ここまで -- */
.block-no-code-cms--goodslist-item-image > a {
  display: -ms-grid;
  display: grid;
  place-content: center;
}

.block-no-code-cms--goods-description {
  width: 180px;
  margin: 20px auto 0;
}

.block-genre-page {
  width: 100%;
}
.block-genre-page .block-pickup-list-p {
  width: 100%;
}
.block-genre-page .block-pickup-list-p--items {
  width: 100%;
  display: -ms-grid;
  display: grid;
  gap: 40px;
}
.block-genre-page .block-pickup-list-p--items li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.block-genre-page .block-pickup-list-p--items li .block-pickup-list-p--item-body {
  width: 100%;
  padding: 1em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 180px 1fr;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  background-color: #fff;
}
.block-genre-page .block-pickup-list-p--items li .block-pickup-list-p--image {
  width: 100%;
  aspect-ratio: 1/1;
}
.block-genre-page .block-pickup-list-p--items li .block-pickup-list-p--image figure {
  width: 180px;
  height: 180px;
}
.block-genre-page .block-pickup-list-p--items li .block-pickup-list-p--item-description {
  width: 100%;
  padding: 0;
}
.block-genre-page .block-pickup-list-p--items li .block-list-add-cart-btn {
  margin: 20px 0 0 auto;
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.block-genre-page .block-pickup-list-p--items li .block-list-add-cart-btn:hover {
  opacity: 0.7;
}

.block-goods-list-h--goods-comment {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  padding: 8px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #7b7b7b;
  background-color: #fff;
}

/* -- 追加ここまで -- */
.block-top-event--header a {
  color: #2c3e50; /* ミッドナイトブルー */
  text-decoration: underline;
  text-shadow: 2px 2px 4px rgba(180, 180, 180, 0.4), -1px -1px 2px rgba(180, 180, 180, 0.2);
  font-weight: bold;
  letter-spacing: 0.04em;
  display: inline-block;
  padding: 0.2em 0.5em;
  -webkit-transition: text-shadow 0.3s ease;
  transition: text-shadow 0.3s ease;
}
@media screen and (min-width: 1256px) {
  .block-related {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  }
  #item_history_container {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  }
  .block-related {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  }
  #item_history_container {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  }
}
@media screen and (max-width: 768px) {
  .block-top-event--header a {
    text-shadow: 1px 1px 2px rgba(180, 180, 180, 0.3);
    letter-spacing: 0.03em;
    padding: 0.1em 0.3em;
  }
}
/* === TOPページの縦余白を圧縮 === */
.top-info { margin-bottom: 36px !important; } /* 80 → 36 */

.top-info--header,
.block-pagecategory .block-pagecategory-caption--text {
  margin-bottom: 12px !important;            /* 32 → 12 */
}

.block-pagecategory-page-list--frame {
  margin-bottom: 16px !important;            /* 40 → 16 */
}

/* （必要なら）キービジュアル直下も詰める */
.top-kv { margin-bottom: 24px !important; }  /* 40 → 24 */

/* カード内部の行間を軽く詰めて密度UP */
.top-info--item-vertical { gap: .6em !important; } /* 1em → 0.6em */
.album-row-a { gap: .35em !important; }            /* .5em → .35em */
.top-info--item-grid { gap: 4px !important; }      /* 5px → 4px */

/* ===== 再入荷商品カードをギュッと詰める（PC） ===== */
/* 1) li の行間（縦）を詰める：20px → 8px */
.block-top-event--goods .block-goods-list-d li { margin-bottom: 6px !important; }

/* 2) 画像の下の余白を詰める：16px → 8px */
.block-top-event--goods .block-goods-list-d .block-goods-list-d--image { margin-bottom: 6px !important; }

/* 3) 価格ブロックの"下押し"をやめる（auto → 6px） */
.block-top-event--goods .block-goods-list-d .block-goods-list-d--item-details,
.block-top-event--goods .block-goods-list-d .block-goods-list-d--item-details-left {
  /* margin-top: 4px !important; */
}

/* 4) タイトル/コメントの"固定高さ"を解除して自然に縮むように */
.block-top-event--goods .block-goods-list-d--goods-name,
.block-top-event--goods .block-goods-list-d--goods-comment {
  height: auto !important;
}

/* 5) 文字の行間も少しだけタイトに */
.block-top-event--goods .block-goods-list-d--goods-name a { line-height: 1.25; }
.block-top-event--goods .block-goods-list-d--goods-comment { line-height: 1.25; margin-top: 4px; }

/* 一覧カードの価格を黒に（全リスト共通） */
/* 全体は黒（既存） */
.block-goods-list-d .price { color:#111 !important; }

/* 早割ラベルの後に並ぶ .price（=割引後）だけ赤に */
.block-goods-list-d--price-infos .block-goods-list-d--scomment ~ .price {
  color:#d62828 !important;
}
/* ===== SP表示だけ効かせる（iPhone向け） ===== */
@media (max-width: 768px){

  /* 余白を詰める */
  .block-goods-list-d li { margin-bottom: 6px !important; }
  .block-goods-list-d .block-goods-list-d--image { margin-bottom: 6px !important; }
  .block-goods-list-d .block-goods-list-d--item-details,
  .block-goods-list-d .block-goods-list-d--item-details-left { margin-top: 2px !important; }

  /* 等高の固定高さを解除 + 行間 */
  .block-goods-list-d--goods-name,
  .block-goods-list-d--goods-comment { height: auto !important; }
  .block-goods-list-d--goods-name a { line-height: 1.20; }
  .block-goods-list-d--goods-comment { line-height: 1.20; margin-top: 2px; }

  /* 価格色：基本は黒、割引後だけ赤 */
  .block-goods-list-d .price { color:#111 !important; }
  .block-goods-list-d--price-infos .block-goods-list-d--scomment ~ .price {
    color:#d62828 !important;
  }
}
/* ニュース&インフォ：前の見た目に戻す（gridを撤回） */
.page-pagecategory .block-pagecategory-page-list--frame{
  display: block !important;
  grid-template-columns: unset !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}
/* コンテナに「右マージン相殺」だけ入れる */
.page-pagecategory .block-pagecategory-page-list--frame{
  margin-right: -24px;   /* ← 横のスキマ量に合わせて同値を入れる */
}

/* 1カード（dl）の間隔を調整：横=24px / 縦=28px が目安 */
.page-pagecategory .block-pagecategory-page-list--page{
  margin: 0 24px 28px 0; /* ← 横 / 縦 のスキマはここで微調整 */
}

/* 画像とテキストの間も少しだけ整える（任意） */
.page-pagecategory .block-pagecategory-page-list--page-image{
  margin-bottom: 8px;    /* 6~12pxあたりで好みに調整 */
}
@media (max-width: 768px){
  .page-pagecategory .block-pagecategory-page-list--frame{ margin-right: -16px; }
  .page-pagecategory .block-pagecategory-page-list--page{ margin: 0 16px 20px 0; }
  .page-pagecategory .block-pagecategory-page-list--page-image{ margin-bottom: 6px; }
}
/* ===========================
   《サブスクヒット専用》配色＆サムネ拡大
   対象: #splide04（ULTRA PUSH のみ）
   =========================== */

/* ベース（フォールバック） */
#splide04 .top-info--item{
  --sub-bg: #f7f7f9;
  --sub-fg: #111;
  --sub-bd: #e5e7eb;
  background: var(--sub-bg) !important;
  color: var(--sub-fg) !important;
  border: 1px solid var(--sub-bd) !important;
  border-radius: 8px;
}

/* タイトル/本文は読みやすい濃色で統一 */
#splide04 .top-info--item-ttl,
#splide04 .top-info--item-ttl a,
#splide04 .album-text-b .artist,
#splide04 .album-text-b .title,
#splide04 .album-desc-b {
  color: var(--sub-fg) !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* hover の軽いフィードバック */
#splide04 .top-info--item:hover{
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  filter: brightness(.99);
}

/* ---- サムネイルを大きく・正方形固定 ---- */
#splide04 .album-row-b{
  display:flex; align-items:center; gap: 12px;
  /* ここで一括調整：サイズを変えたい時は数値だけ変更 */
  --thumb: 120px;
}
#splide04 .album-row-b .album-thumb-b{
  flex: 0 0 var(--thumb);
  width: var(--thumb); height: var(--thumb);
  aspect-ratio: 1 / 1; overflow: hidden;
  border-radius: 6px;
}
#splide04 .album-row-b .album-img-b{
  width:100%; height:100%;
  object-fit: cover; display:block;
}

/* ===========================
   トークン別の淡色パレット（ULTRA PUSHのみ）
   =========================== */

/* 1: J-INDIES / ROCK / J-POP */
#splide04 .top-info--item[data-type="SUBSUC1"],
#splide04 .top-info--item[data-type="J-INDIES / ROCK / J-POP"]{
  --sub-bg:#f6faff; --sub-bd:#dbe8f6;
}
/* 2: ROCK / POPS */
#splide04 .top-info--item[data-type="SUBSUC2"],
#splide04 .top-info--item[data-type="ROCK / POPS"]{
  --sub-bg:#fef7f4; --sub-bd:#f3dfd7;
}
/* 3: 和モノ / 歌謡曲 */
#splide04 .top-info--item[data-type="SUBSUC3"],
#splide04 .top-info--item[data-type="和モノ / 歌謡曲"]{
  --sub-bg:#faf6ff; --sub-bd:#e4dbf5;
}
/* 4: 日本語RAP */
#splide04 .top-info--item[data-type="SUBSUC4"],
#splide04 .top-info--item[data-type="日本語RAP"]{
  --sub-bg:#f4fbf6; --sub-bd:#d9eee0;
}
/* 5: HIPHOP/R&B */
#splide04 .top-info--item[data-type="SUBSUC5"],
#splide04 .top-info--item[data-type="HIPHOP/R&B"],
#splide04 .top-info--item[data-type="HIPHOP/R&amp;B"]{
  --sub-bg:#fef6fb; --sub-bd:#f1dbe8;
}
/* 6: SOUL / BLUES */
#splide04 .top-info--item[data-type="SUBSUC6"],
#splide04 .top-info--item[data-type="SOUL / BLUES"]{
  --sub-bg:#f3f9ff; --sub-bd:#d6e7fb;
}
/* 7: JAZZ */
#splide04 .top-info--item[data-type="SUBSUC7"],
#splide04 .top-info--item[data-type="JAZZ"]{
  --sub-bg:#f8fff6; --sub-bd:#e0f1db;
}
/* 8: CLASSIC / NEWAGE */
#splide04 .top-info--item[data-type="SUBSUC8"],
#splide04 .top-info--item[data-type="CLASSIC / NEWAGE"]{
  --sub-bg:#f9f9f2; --sub-bd:#e7e4cf;
}
/* 9: CLUB/DANCE */
#splide04 .top-info--item[data-type="SUBSUC9"],
#splide04 .top-info--item[data-type="CLUB/DANCE"]{
  --sub-bg:#f6f8ff; --sub-bd:#dbe2fb;
}
/* 10: Reggae / World */
#splide04 .top-info--item[data-type="SUBSUC10"],
#splide04 .top-info--item[data-type="Reggae / World"],
#splide04 .top-info--item[data-type="REGGAE/World"]{
  --sub-bg:#f5fff7; --sub-bd:#d8f1dc;
}
/* 11: K-POP */
#splide04 .top-info--item[data-type="SUBSUC11"],
#splide04 .top-info--item[data-type="K-POP"]{
  --sub-bg:#fff6fb; --sub-bd:#f0d8e8;
}
/* 12: SOUNDTRACK / 映像作品 */
#splide04 .top-info--item[data-type="SUBSUC12"],
#splide04 .top-info--item[data-type="SOUNDTRACK / 映像作品"],
#splide04 .top-info--item[data-type="SOUNDTRACK/映像作品"]{
  --sub-bg:#f6ffff; --sub-bd:#d8eeee;
}
/* 13: SOLID RECORDS */
#splide04 .top-info--item[data-type="SUBSUC13"],
#splide04 .top-info--item[data-type="SOLID RECORDS"]{
  --sub-bg:#f7f7f7; --sub-bd:#e5e5e5;
}
@media screen and (min-width: 1256px) {
  .block-related {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  }
  #item_history_container {
    padding-inline: calc(var(--vw) * 50 - 50%);
    margin-inline: calc(50% - var(--vw) * 50);
  } /* ← これは #item_history_container を閉じるカッコ */
}   /* ← これが不足していた！ @media を閉じるカッコ */

/* STREAMING HIT（サブスクヒット）の配色 */
.top-info.top-info--subsuc .top-info--item{
  --sub-bg:#f7f7f9; --sub-fg:#111; --sub-bd:#e5e7eb;
  background:var(--sub-bg) !important;
  color:var(--sub-fg) !important;
  border:1px solid var(--sub-bd) !important;
  border-radius:8px;
}
.top-info.top-info--subsuc .top-info--item-ttl,
.top-info.top-info--subsuc .top-info--item-ttl a,
.top-info.top-info--subsuc .album-text-b .artist,
.top-info.top-info--subsuc .album-text-b .title,
.top-info.top-info--subsuc .album-desc-b { color:var(--sub-fg) !important; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC1"] { --sub-bg:#f6faff; --sub-bd:#dbe8f6; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC2"] { --sub-bg:#fef7f4; --sub-bd:#f3dfd7; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC3"] { --sub-bg:#faf6ff; --sub-bd:#e4dbf5; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC4"] { --sub-bg:#f4fbf6; --sub-bd:#d9eee0; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC5"] { --sub-bg:#fef6fb; --sub-bd:#f1dbe8; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC6"] { --sub-bg:#f3f9ff; --sub-bd:#d6e7fb; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC7"] { --sub-bg:#f8fff6; --sub-bd:#e0f1db; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC8"] { --sub-bg:#f9f9f2; --sub-bd:#e7e4cf; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC9"] { --sub-bg:#f6f8ff; --sub-bd:#dbe2fb; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC10"]{ --sub-bg:#f5fff7; --sub-bd:#d8f1dc; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC11"]{ --sub-bg:#fff6fb; --sub-bd:#f0d8e8; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC12"]{ --sub-bg:#f6ffff; --sub-bd:#d8eeee; }
.top-info.top-info--subsuc .top-info--item[data-type="SUBSUC13"]{ --sub-bg:#f7f7f7; --sub-bd:#e5e5e5; }

/* （任意）サムネを正方形で少し大きく */
.top-info.top-info--subsuc .album-row-b{ display:flex; align-items:center; gap:12px; --thumb:120px; }
.top-info.top-info--subsuc .album-thumb-b{ flex:0 0 var(--thumb); width:var(--thumb); height:var(--thumb); aspect-ratio:1/1; overflow:hidden; border-radius:6px; }
.top-info.top-info--subsuc .album-img-b{ width:100%; height:100%; object-fit:cover; display:block; }

/* 1) 外側：アイテム箱は中身サイズに追従（高さだけ固定） */
.page-goods .block-variation.block-size .block-variation--item,
.page-goods .block-variation.block-size .block-size--item {
  width: auto !important;          /* ← 固定200pxを撤回 */
  height: 50px !important;
  flex: 0 0 auto;                   /* 伸縮させない（中身基準） */
  box-sizing: border-box;
}

/* 2) クリック面：中身で可変。横パディングで程よい幅に */
.page-goods .block-variation.block-size .block-size--item-term {
  display: inline-flex !important;  /* 行内で横に並ぶボタン化 */
  align-items: center !important;
  justify-content: center !important;
  height: 50px !important;
  width: auto !important;           /* ← 100%を撤回して可変に */
  padding: 0 16px !important;       /* 横の余白で見た目の幅を作る */
  min-width: 96px;                  /* 極端に短い表記の最小幅（任意） */
  max-width: 240px;                 /* 長すぎ対策（任意） */
  box-sizing: border-box;
  cursor: pointer;
}

/* 3) 内側テキスト：50×50固定とtable-cellを無効化して親に追従 */
.page-goods .block-variation.block-size .block-size--item-term > span {
  display: inline-block !important; /* ← table-cell を潰す */
  width: auto !important;
  height: auto !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;          /* 長い文言は…で省略 */
  word-break: normal !important;    /* break-all を撤回 */
}

/* 並びの余白と折返し */
.page-goods .block-variation.block-size .block-variation--item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* === PC 商品詳細：バリエーションボタン 装飾（赤系・四角）=== */

/* 枠＆背景（通常） */
.page-goods .block-variation.block-size .block-variation--item,
.page-goods .block-variation.block-size .block-size--item {
  position: relative;
  border: 0;                     /* 既定ボーダーは使わない */
  border-radius: 0;              /* 角丸なし（四角） */
  background-clip: padding-box;
  background-color: #fff0f5;     /* 薄いピンク */
  color: #333;
  transition: all 0.2s ease-in-out;
}

/* 既定が dt 側にボーダーを持っているので、明示的に無効化＋四角 */
.page-goods .block-variation.block-size .block-variation--item dt,
.page-goods .block-variation.block-size .block-size--item-term {
  border: 0 !important;
  border-radius: 0 !important;   /* 念のため */
}

/* 擬似要素で四辺のピンク枠を最前面に描画（常に下辺も見せる） */
.page-goods .block-variation.block-size .block-variation--item::after,
.page-goods .block-variation.block-size .block-size--item::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #f48fb1;     /* 明るいピンクの枠 */
  border-radius: 0;              /* 角丸なし（四角） */
  pointer-events: none;
  box-sizing: border-box;
}

/* ホバー（PCのみ視覚フィードバック） */
.page-goods .block-variation.block-size .block-variation--item:hover,
.page-goods .block-variation.block-size .block-size--item:hover {
  background-color: #fce4ec;
}

/* 選択中（active）：濃ピンク塗りつぶし＋白抜き、枠も同色 */
.page-goods .block-variation.block-size .block-variation--item.active,
.page-goods .block-variation.block-size .block-size--item.active,
.page-goods .block-variation.block-size .block-variation--item.active dt,
.page-goods .block-variation.block-size .block-size--item.active .block-size--item-term,
.page-goods .block-variation.block-size .block-size--item.active .block-size--item-term > span {
  background-color: #d81b60 !important;  /* 濃いピンク */
  color: #fff !important;                /* 白抜き */
  font-weight: bold;
}
.page-goods .block-variation.block-size .block-variation--item.active::after,
.page-goods .block-variation.block-size .block-size--item.active::after {
  border-color: #d81b60;                 /* 枠も濃いピンク */
}

/* ===== Header Search Emphasis &#8211; Calm ver. (PC+SP) ===== */
.cmn-header .cmn-header-search form{
  border: 1px solid #333 !important;   /* 2px→1pxに減衰、黒→ダークグレー */
  border-radius: 24px;                  /* Rも少しだけ弱め */
  box-shadow: 0 1px 0 rgba(0,0,0,.10);  /* 影を半分以下に */
  transition: box-shadow .15s ease;     /* 幅の伸縮は廃止 */
}

/* ボタンは真っ黒からややトーンダウン */
.cmn-header .cmn-header-search form button{
  background: #222;
  border-left: 1px solid #222;
  padding: 0 14px;                      /* 16px→14pxで存在感を少し縮小 */
}
.cmn-header .cmn-header-search form button img{
  filter: invert(1) brightness(1.05);   /* 反転は維持、明度だけ控えめ */
}

/* 入力域は一回りだけコンパクトに */
.cmn-header .cmn-header-search .cmn-header-search--keyword{
  font-size: 13px;                      /* 14px→13px */
  padding: 12px 10px 12px 16px;         /* 14px→12px */
}
.cmn-header .cmn-header-search .cmn-header-search--keyword::placeholder{
  color: #777;                          /* 目立ちすぎない灰色 */
}

/* フォーカス時の強調も半分に */
.cmn-header .cmn-header-search:focus-within form{
  box-shadow: 0 0 0 2px rgba(0,0,0,.18);
  /* transformなし（跳ねさせない） */
}

/* PC幅：常時の横幅は軽く増やすだけ（拡張アニメはなし） */
@media (min-width: 1024px){
  .cmn-header .cmn-header-search form{ width: 520px; } /* 480→520px程度 */
}

/* SP幅：横いっぱい、枠は1pxのまま */
@media (max-width: 767px){
  .cmn-header .cmn-header-search{ border: none; }
  .cmn-header .cmn-header-search form{ width: 100%; }
}
/* ニュース＆インフォ：カード見出し（PC） */
.block-pagecategory-page-list--page-caption{
  font-size: 13px !important;  /* 16px → 14px に縮小 */
  line-height: 1.6;            /* 読みやすさ調整（任意） */
}

/* ニュース＆インフォ：カード見出し（SP） */
@media (max-width: 767px){
  .block-pagecategory-page-list--page-caption{
    font-size: 13px !important; /* SP側も少しだけ小さく */
    line-height: 1.6;
  }
}

/* ===== FEATURES（特集）: クリーン & 数字トークン ===== */

/* リスト箱 */
.top-features--list{ list-style:none; padding:0; margin:0; }

/* スライド（Splideが .top-info--item を拾う） */
.top-features--list .top-info--item{
  width: calc(285px + 2em) !important;   /* テキスト2文字ぶん拡張 */
  border: 3px solid var(--feature-color, #dcdcdc);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  overflow: hidden;
  margin-right: 16px;
}
.top-features--list .top-info--item:last-child{ margin-right: 0; }

/* クリック面（内側余白は最小限） */
.top-features--list .feature-link{
  display:flex; flex-direction:column;
  gap:4px;
  padding:4px 6px 6px;
  color:inherit; text-decoration:none;
}

/* ① 小見出し（キャンペーン/セール等）：枠色に連動 */
.top-features--list .feature-copy{
  margin:0 0 4px;
  font-weight:800;
  font-size:1.1rem;
  line-height:1.25;
  color:var(--feature-color, #222);
}

/* ② 画像：自然比率・非トリミング（ratio-*を無効化） */
.top-features--list .feature-figure{ margin:2px 0 4px; border-radius:3px; overflow:visible; }
.top-features--list .feature-figure.ratio-square,
.top-features--list .feature-figure.ratio-rect{ aspect-ratio:auto !important; }
.top-features--list .feature-figure > img{ width:100%; height:auto; object-fit:contain; display:block; }

/* ③ バッジ & 説明（説明は4行固定） */
.top-features--list .feature-meta{ padding:0; }
.top-features--list .feature-badge{
  font-weight:800; font-size:.96rem; letter-spacing:.01em;
  color:var(--feature-color, #666); margin:0;
}
.top-features--list .feature-desc{
  font-size:.90rem; line-height:1.55;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden;
}

/* Hover（PCのみ） */
@media (hover:hover){
  .top-features--list .top-info--item:hover{
    box-shadow:0 3px 10px rgba(0,0,0,.10);
    transform: translateY(-0.5px);
    transition:.18s;
  }
}

/* ===== Color Tokens（no01~no20）===== */
/* 使い方：<li class="top-info--item no07"> など */
.top-features--list .top-info--item.no01{ --feature-color:#6BBF00; } /* lime */
.top-features--list .top-info--item.no02{ --feature-color:#2E7D32; } /* deep green */
.top-features--list .top-info--item.no03{ --feature-color:#10B981; } /* emerald */
.top-features--list .top-info--item.no04{ --feature-color:#14B8A6; } /* teal */
.top-features--list .top-info--item.no05{ --feature-color:#06B6D4; } /* cyan */
.top-features--list .top-info--item.no06{ --feature-color:#0EA5E9; } /* sky */
.top-features--list .top-info--item.no07{ --feature-color:#0099FF; } /* blue */
.top-features--list .top-info--item.no08{ --feature-color:#4F46E5; } /* indigo */
.top-features--list .top-info--item.no09{ --feature-color:#7C3AED; } /* violet */
.top-features--list .top-info--item.no10{ --feature-color:#B000B5; } /* purple */
.top-features--list .top-info--item.no11{ --feature-color:#D946EF; } /* fuchsia */
.top-features--list .top-info--item.no12{ --feature-color:#EC4899; } /* pink */
.top-features--list .top-info--item.no13{ --feature-color:#F43F5E; } /* rose */
.top-features--list .top-info--item.no14{ --feature-color:#E53935; } /* red */
.top-features--list .top-info--item.no15{ --feature-color:#E87D0D; } /* orange */
.top-features--list .top-info--item.no16{ --feature-color:#F59E0B; } /* amber */
.top-features--list .top-info--item.no17{ --feature-color:#F6C90E; } /* yellow */
.top-features--list .top-info--item.no18{ --feature-color:#6B8E23; } /* olive */
.top-features--list .top-info--item.no19{ --feature-color:#8D6E63; } /* brown */
.top-features--list .top-info--item.no20{ --feature-color:#64748B; } /* slate */

/* ===== SP（&#8804;768px）上書き ===== */
@media (max-width:768px){
  .top-features--list .top-info--item{
    width: calc(100vw - 64px) !important;   /* 1枚表示・左右余白32px */
    margin-right:12px !important;
  }
  .top-features--list .top-info--item:last-child{ margin-right:0 !important; }
  .top-features--list .feature-link{ padding:6px 10px 10px !important; gap:4px !important; }
  .top-features--list .feature-desc{ font-size:.9rem !important; }
}

/* === サブスクヒット（横型カード）の文字あふれ対策 === */
.top-info--item-horizontal .album-text-b{ min-width: 0; }

/* 長語の強制改行と改行禁止の解除 */
.top-info--item-horizontal .album-text-b .artist,
.top-info--item-horizontal .album-text-b .title{
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* （任意）2行で省略して高さを揃えるなら */
.top-info--item-horizontal .album-text-b .artist,
.top-info--item-horizontal .album-text-b .title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== Gold暴発キルスイッチ（安全版・末尾推奨） ===== */

/* 1) 予期せぬ全画面オーバーレイを完全無効化（背景色は触らない） */
html::before, html::after,
body::before, body::after{
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* 2) 予約枠以外の .top-info--item に付けられた ::before を全否定 */
.top-info:not(.top-info--reserve) .top-info--item::before{
  content: none !important;
  background: none !important;
}

/* 3) 予約枠だけ再定義（必要最小限の淡い金） */
.top-info.top-info--reserve .top-info--item{ position: relative; overflow: hidden; }
.top-info.top-info--reserve .top-info--item::before{
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(135deg,
    rgba(255,247,214,.20) 0%,
    rgba(255,230,128,.20) 40%,
    rgba(255,201, 75,.20) 100%) !important;
}

/* ===== ULTRA PUSH: YouTubeネイティブサイズ対応（A案完全置換） ===== */
.reco-card{
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:8px;
  padding:1em;
  min-height:380px;
  display:flex;
  flex-direction:column;
  overflow:hidden;              /* 角丸と中身を揃える */
}
.reco-media{
  position:relative;
  aspect-ratio:16/9;            /* YouTube標準比率 */
  border-radius:6px;
  overflow:hidden;
  margin-bottom:1em;
}
.reco-media iframe{
  width:100%;
  height:100%;
  border:0;
  transform: translateZ(0);     /* GPU加速でレンダリング品質向上 */
}
.reco-caption{ font-size:1em; line-height:1.7; color:#222; }
.reco-caption a{ color:inherit; text-decoration:none; }

/* Splide はトラックを clip する必要がある */
.reco-splide .splide__track{ overflow: hidden; }

/* ===== 一時フォールバック（.reco-card への移行が完了したら削除） ===== */
.reco-splide .splide__slide > div:not(.reco-card){
  background:#fafafa !important;
  border:1px solid #e5e5e5 !important;
  border-radius:8px !important;
  box-shadow:0 1px 3px rgba(0,0,0,.06) !important;
  padding:1em; /* 旧インラインの余白を補完 */
}
/* === オススメ新入荷（is-recommend）: data-type配色を殺して番号方式に置換 === */
.top-info.is-recommend .top-info--item {
  /* ベース色（何も指定が無いカードの既定値） */
  --tile:#fff; --line:#e5e7eb; --fg:#111;
  background: var(--tile) !important;
  border: 1px solid var(--line) !important;
  color: var(--fg) !important;
}

/* top.cssにある [data-type="…"] をこのセクションでは無効化 */
.top-info.is-recommend .top-info--item[data-type] {
  background: var(--tile) !important;
  border-color: var(--line) !important;
}
.top-info.is-recommend .top-info--item-ttl,
.top-info.is-recommend .top-info--item-ttl a { color: var(--fg) !important; }
/* === オススメ新入荷（is-recommend）番号カラー === */
.top-info.is-recommend .top-info--item.no01 { --tile:#fff7ec; --line:#ffc8a0; }
.top-info.is-recommend .top-info--item.no02 { --tile:#eef9f1; --line:#a7debe; }
.top-info.is-recommend .top-info--item.no03 { --tile:#eef3ff; --line:#a9bff7; }
.top-info.is-recommend .top-info--item.no04 { --tile:#fff0f4; --line:#f8b8cf; }
.top-info.is-recommend .top-info--item.no05 { --tile:#f2fff5; --line:#bfe8c8; }
.top-info.is-recommend .top-info--item.no06 { --tile:#f6fbff; --line:#cfe5f8; }
.top-info.is-recommend .top-info--item.no07 { --tile:#fff9f0; --line:#f6d4a8; }
.top-info.is-recommend .top-info--item.no08 { --tile:#f4f8ff; --line:#c8d5fb; }
.top-info.is-recommend .top-info--item.no09 { --tile:#fff6fb; --line:#f0cde5; }
.top-info.is-recommend .top-info--item.no10 { --tile:#f8fff6; --line:#d9efcf; }
.top-info.is-recommend .top-info--item.no11 { --tile:#f7f7f7; --line:#e5e5e5; }
.top-info.is-recommend .top-info--item.no12 { --tile:#f9f4ff; --line:#d8c9f6; }

/* 見出しの下線や文字色が白カードで沈むのを防ぐ（必要なら） */
.top-info.is-recommend .top-info--item-ttl { text-shadow:none; }
.top-info--item-horizontal .album-text-b{ min-width:0; }
.top-info--item-horizontal .album-text-b .artist,
.top-info--item-horizontal .album-text-b .title{
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ===============================
   TOP 汎用トークン（修正版）
   =============================== */
:root{
  --rail-pad: 48px;              /* 矢印位置やパディング用の基準値 */
  --news-card-w: 228px;          /* ニュース：カード幅 */
  --news-gap: 16px;              /* ニュース：カード間隔 */
}

/* TOPのコンテナは常にレール内に収める（SPECIAL以降の左詰まり解消） */
@media (min-width:1024px){
  .page-top .pane-left-menu{ display:none !important; } /* ← これは維持 */
  .page-top .pane-contents > .container{
    /* 既定(=1256px)のまま。full-bleed化は"持ち上げ"で行う */
    display:block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* width:100% の指定があれば削除 */
  }
}


/* ===============================
   ニュース＆インフォ (#top-news)
   "横一列・固定幅カード"を強制
   =============================== */

/* 過去のflex化・wrap指定などをまず無効化（親容器は素のblockでOK） */
.page-top #top-news .block-pagecategory-page-list,
.page-top #top-news .block-pagecategory-page-list > ul{
  display:block !important;
  flex-wrap:initial !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Splideがいる時：横並び・折返し禁止＋gap */
.page-top #top-news .splide__track > .splide__list{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap: var(--news-gap) !important;
}

/* スライド幅は"固定"。dl（カード本体）にも同期させる */
.page-top #top-news .splide__slide,
.page-top #top-news .block-pagecategory-page-list--page{
  box-sizing:border-box !important;
  flex: 0 0 var(--news-card-w) !important;
  width: var(--news-card-w) !important;
  max-width: var(--news-card-w) !important;
}

/* 画像はカード幅いっぱい（はみ出し防止） */
.page-top #top-news .block-pagecategory-page-list--page-image img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

/* Splideが付かない（CMS素DOM）場合のフォールバック：横スクロール */
.page-top #top-news .block-pagecategory-page-list:not(.splide){
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--news-gap) !important;
  overflow-x:auto !important;
}
.page-top #top-news .block-pagecategory-page-list:not(.splide) > *{
  flex:0 0 var(--news-card-w) !important;
  width:var(--news-card-w) !important;
  max-width:var(--news-card-w) !important;
}

/* テキストだけ軽く整える（任意） */
.page-top #top-news .block-pagecategory-page-list--page-caption{
  font-size:13px !important; line-height:1.55 !important; padding:6px 12px 12px !important;
}
.page-top #top-news .block-pagecategory-page-list--date{
  font-size:11px !important; padding:0 12px !important;
}

/* ===============================
   4枚目だけ余白ずれる古い4nロジックの撲滅（TOPだけ）
   =============================== */
@media (min-width:1024px){
  .page-top .block-goods-list-d--items{ gap:24px !important; }
  .page-top .block-goods-list-d--items li{ margin-right:0 !important; }
}

/* ==== ここからフルブリード対応==== */

/* フルブリード要素はコンテナ制限を受けない */
.page-top .full-bleed{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ULTRA PUSH（.reco-splide）：レール内100%＋矢印位置 */
.page-top .top-info,
.page-top .top-info--listwrap,
.page-top .reco-splide{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.reco-splide .splide__track{ overflow:hidden; }
.page-top .reco-splide .splide__arrow{
  width:44px; height:44px; border-radius:9999px;
  background:#fff; border:1px solid #ddd; box-shadow:0 2px 6px rgba(0,0,0,.10);
  opacity:1;
}
.page-top .reco-splide .splide__arrow--prev{ left: var(--rail-pad) !important; }
.page-top .reco-splide .splide__arrow--next{ right: var(--rail-pad) !important; }

/* NEWS（#top-news）&#8212;Splide統一の見た目＆フォールバック */
.page-top #top-news .news-splide{ width:100%; position:relative; }
.page-top #top-news .news-splide .splide__track{ overflow:visible; }
.page-top #top-news .news-splide .splide__list{ gap: var(--news-gap); }
.page-top #top-news .news-splide .splide__slide > *{ width:100%; }

/* NEWS：矢印の見やすさ + 配置 */
.page-top #top-news .news-splide .splide__arrow{
  width:44px; height:44px; border-radius:9999px;
  background:#fff; border:1px solid #ddd; box-shadow:0 2px 6px rgba(0,0,0,.10);
  opacity:1;
}
.page-top #top-news .news-splide .splide__arrow--prev{ left: var(--rail-pad) !important; }
.page-top #top-news .news-splide .splide__arrow--next{ right: var(--rail-pad) !important; }
.page-top #top-news .news-splide .splide__arrow:disabled{ visibility:hidden !important; }

/* NEWS：画像のはみ出し防止 */
.page-top #top-news .block-pagecategory-page-list--page-image img{
  width:100% !important; height:auto !important; display:block !important;
}

/* NEWS：非常時（Splide未読込）フォールバック＝横スクロール */
.page-top #top-news .block-pagecategory-page-list:not(.splide){
  display:flex !important; flex-wrap:nowrap !important;
  gap: var(--news-gap) !important; overflow-x:auto !important;
  -webkit-overflow-scrolling: touch; scroll-snap-type:x proximity;
}
.page-top #top-news .block-pagecategory-page-list:not(.splide) > *{
  flex: 0 0 var(--news-card-w) !important;
  width: var(--news-card-w) !important;
  max-width: var(--news-card-w) !important;
}

/* === Splide 矢印の見た目を全スライダーで統一 === */
.splide__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 9999px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,.10);
  color: #111;
  display: flex; align-items: center; justify-content: center;
  opacity: 1;
}
.splide__arrow svg{ display:none; }
.splide__arrow--prev{ left: var(--rail-pad, 24px); }
.splide__arrow--next{ right: var(--rail-pad, 24px); }
.splide__arrow--prev::before{ content:"\2039"; font-size: 20px; line-height: 1; }
.splide__arrow--next::before{ content:"\203A"; font-size: 20px; line-height: 1; }

/* ← これが左矢印を消していた。無効化する */
.page-top #top-news .news-splide .splide__arrow:disabled{
  visibility: visible !important;
  opacity: .45;
  pointer-events: none;
}

/* ULTRA PUSH も統一（個別の白丸背景などを上書き） */
.reco-splide .splide__arrow{
  left: var(--rail-pad, 24px);
  right: auto;
}
.reco-splide .splide__arrow--next{ left: auto; right: var(--rail-pad, 24px); }

/* ===== NEWS のトラックは必ずクリップ（横はみ出し防止） ===== */
.page-top #top-news .news-splide .splide__track{ overflow:hidden !important; }

/* === NEWS/RECO だけ矢印統一（他スライダーは触らない） === */
.page-top #top-news .news-splide .splide__track{ overflow:hidden; } /* 画面外は隠す */
.page-top #top-news .news-splide .splide__arrow,
.page-top .reco-splide .splide__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 9999px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,.10);
  color: #111;
  display: flex; align-items: center; justify-content: center;
  opacity: 1;
}
.page-top #top-news .news-splide .splide__arrow svg,
.page-top .reco-splide .splide__arrow svg{ display:none; }

.page-top #top-news .news-splide .splide__arrow--prev{ left: var(--rail-pad, 24px); }
.page-top #top-news .news-splide .splide__arrow--next{ right: var(--rail-pad, 24px); }
.page-top .reco-splide .splide__arrow--prev{ left: var(--rail-pad, 24px); }
.page-top .reco-splide .splide__arrow--next{ right: var(--rail-pad, 24px); }

.page-top #top-news .news-splide .splide__arrow--prev::before,
.page-top .reco-splide .splide__arrow--prev::before{ content:"\2039"; font-size:20px; line-height:1; }
.page-top #top-news .news-splide .splide__arrow--next::before,
.page-top .reco-splide .splide__arrow--next::before{ content:"\203A"; font-size:20px; line-height:1; }

/* NEWS だけ：無効時も位置を保持（フェードのみ） */
.page-top #top-news .news-splide .splide__arrow:disabled{
  visibility: visible !important;
  opacity: .45;
  pointer-events: none;
}
/* === Splide 矢印：全セクション統一 & 画面内配置 === */
.page-top .splide { position: relative; }
.page-top .splide__track { overflow: visible; } /* 矢印を切らない */

.splide__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 9999px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,.10);
  display: flex; align-items: center; justify-content: center;
  color:#111; opacity:1; z-index: 3;
}
.splide__arrow svg{ display:none; }
.splide__arrow--prev{ left: var(--rail-pad, 24px); }
.splide__arrow--next{ right: var(--rail-pad, 24px); }

/* disabled でも形は残して"薄く"する（チラつき抑止） */
.splide__arrow:disabled{ visibility: visible !important; opacity:.4; pointer-events:none; }

/* メルカートCMSブロックのフルブリード対応 */
@media (min-width: 1024px) {
  /* CMSが出力する商品リストブロックをフルブリード化 */
  .page-top .block-related,
  .page-top .block-recent-item--items,
  .page-top .block-recommend,
  .page-top .block-restock,
  .page-top .block-newarrivals {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* CMSブロックのコンテナも調整 */
  .page-top .block-related .block-goods-list-d,
  .page-top .block-recent-item--items,
  .page-top .block-recommend .block-goods-list-d {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Splideトラックの overflow 制御（必須） */
.page-top .block-related.splide .splide__track,
.page-top .block-recent-item--items.splide .splide__track,
.page-top .block-recommend.splide .splide__track {
  overflow: hidden !important;
}

/* CMSブロック用の統一矢印スタイル */
.page-top .block-related.splide .splide__arrow,
.page-top .block-recent-item--items.splide .splide__arrow,
.page-top .block-recommend.splide .splide__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,.10);
  color: #111;
  opacity: 1;
  z-index: 3;
}

.page-top .block-related.splide .splide__arrow--prev,
.page-top .block-recent-item--items.splide .splide__arrow--prev,
.page-top .block-recommend.splide .splide__arrow--prev {
  left: var(--rail-pad, 24px);
}

.page-top .block-related.splide .splide__arrow--next,
.page-top .block-recent-item--items.splide .splide__arrow--next,
.page-top .block-recommend.splide .splide__arrow--next {
  right: var(--rail-pad, 24px);
}

/* 無効時も形を保持 */
.page-top .block-related.splide .splide__arrow:disabled,
.page-top .block-recent-item--items.splide .splide__arrow:disabled,
.page-top .block-recommend.splide .splide__arrow:disabled {
  visibility: visible !important;
  opacity: .45;
  pointer-events: none;
}

/* 矢印の中身（テキスト矢印） */
.page-top .block-related.splide .splide__arrow svg,
.page-top .block-recent-item--items.splide .splide__arrow svg,
.page-top .block-recommend.splide .splide__arrow svg {
  display: none;
}

.page-top .block-related.splide .splide__arrow--prev::before,
.page-top .block-recent-item--items.splide .splide__arrow--prev::before,
.page-top .block-recommend.splide .splide__arrow--prev::before {
content: "\2039";
  font-size: 20px;
  line-height: 1;
}

.page-top .block-related.splide .splide__arrow--next::before,
.page-top .block-recent-item--items.splide .splide__arrow--next::before,
.page-top .block-recommend.splide .splide__arrow--next::before {
content: "\203A";
  font-size: 20px;
  line-height: 1;
}
/* ===== Splide 安全オーバーライド（user.js と整合させる） ===== */
/* 1) track は必ずクリップ（クローンでページ幅が伸びるのを防止） */
.page-top .news-splide .splide__track,
.page-top .reco-splide .splide__track,
.page-top .block-related.splide .splide__track,
.page-top .block-recent-item--items.splide .splide__track,
.page-top .block-recommend.splide .splide__track {
  overflow: hidden !important;  /* ここは絶対に hidden にする（JS も同じ期待） */
}

/* 2) wrapper は overflow:visible で矢印を外に出す（見た目用） */
.page-top .news-splide,
.page-top .reco-splide,
.page-top .splide {
  overflow: visible !important;
  position: relative !important;
}

/* 3) list は横一列・折返し禁止（JS 固定幅と合わせる） */
.page-top .news-splide .splide__list,
.page-top .reco-splide .splide__list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
  gap: var(--news-gap, 16px) !important;
}

/* 4) 矢印は常に表示位置を維持（disabled時はフェード） */
.page-top .news-splide .splide__arrow,
.page-top .reco-splide .splide__arrow {
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  left: var(--rail-pad, 24px) !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 9999 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.page-top .news-splide .splide__arrow--next,
.page-top .reco-splide .splide__arrow--next {
  left: auto !important;
  right: var(--rail-pad, 24px) !important;
}
.page-top .news-splide .splide__arrow:disabled,
.page-top .reco-splide .splide__arrow:disabled {
  opacity: .45 !important;
  pointer-events: none !important;
}

/* 5) フルブリード要素の内側は中央揃えの max-width を維持（layout 崩れ防止） */
.page-top .full-bleed > .container,
.page-top .full-bleed > .inner {
  max-width: 1256px; /* 必要なら適宜変更 */
  margin: 0 auto;
  box-sizing: border-box;
}

/* 6) 最終フォールバック：Splide未読み込みでも横スクロールは安全に */
.page-top #top-news .block-pagecategory-page-list:not(.splide){
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--news-gap, 16px) !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x proximity !important;
}
.page-top #top-news .block-pagecategory-page-list:not(.splide) > *{
  flex: 0 0 var(--news-card-w) !important;
  width: var(--news-card-w) !important;
  max-width: var(--news-card-w) !important;
}

/* ===== ここまで Splide 安全オーバーライド ===== */

 /* ===== full-bleed（安全版）===== */
 .full-bleed{
   box-sizing:border-box;
   width:100%; max-width:none;
   margin-inline: calc(50% - var(--vw) * 50);
   padding-inline: calc(var(--vw) * 50 - 50%);
   overflow: visible;
 }

/* Splide未適用の横並びフォールバックも左に余白を付ける */
.block-pagecategory-page-list:not(.splide),
.top-info--list:not(.splide){ padding-left: var(--rail-pad); padding-right: var(--rail-pad); }
/* ===== TOPヒーロー直下~テンプレ2の縦余白をコンパクト化 ===== */

/* 1) ヒーローの下マージンを弱める */
.pane-contents .top-kv{
  margin-bottom: clamp(8px, 1.8vw, 16px) !important;
}

/* 2) カウンタ/進捗バーの占有を縮小 */
.pane-contents .top-kv .top-kv_count{
  margin-top: 6px !important;
  line-height: 1 !important;
}
.pane-contents .top-kv .splide__progress{
  height: 2px !important;
  margin: 0 8px !important;
}
.pane-contents .top-kv .splide__progress__bar{
  height: 100% !important;
}

/* 3) テンプレ2（検索キーワード）側の内側余白を詰める */
#block_of_top_free2{
  /* 上下だけ薄く（PC/SP共通） */
  padding: clamp(6px, 1vw, 10px) 16px clamp(12px, 1.6vw, 16px) !important;
  margin-bottom: clamp(12px, 2vw, 20px) !important; /* 次セクションとも詰める */
}
#block_of_top_free2 .keyword-block__title{
  margin: 0 0 10px !important;
}
/* オプション：カウンタをスライダーに重ね表示（空白をほぼゼロに） */
.top-kv_slider{ position: relative !important; }
.top-kv_slider .top-kv_count{
  position: absolute !important;
  left: 50%; bottom: 8px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.6);
  padding: 2px 8px; border-radius: 12px;
  margin: 0 !important;
}

/* ========== 手動改行用のCSS ========== */
/* flexboxコンテナ内で任意の位置で改行するための制御 */

#block_of_top_free2 .keyword-break {
  width: 100%;           /* 親要素の幅いっぱいに広がる */
  height: 0;             /* 視覚的な高さは0（空間を取らない） */
  flex-basis: 100%;      /* flexboxで改行を強制する */
  margin: 0;             /* 余白なし */
  padding: 0;            /* 内側余白なし */
}

/* 使い方：
   HTMLで改行したい位置に以下を挿入
   <div class="keyword-break"></div>

   例：
   <div class="keyword-item">キーワード1</div>
   <div class="keyword-item">キーワード2</div>
   <div class="keyword-break"></div> ← ここで改行
   <div class="keyword-item">キーワード3</div>
   <div class="keyword-item">キーワード4</div>
*/


/* ================================================
   Header A-Pattern (PC) - 2TIER PINK VERSION
   VER: v2025-08-31-16
   DATE: 2025-08-31 JST
   SCOPE: PC (&#8805;769px) / user.css
   PURPOSE: ピンク帯2段構成でジャンル統合・白ピンク白解消
   ================================================ */
@media (min-width:769px){

  /* ---- 共通土台（幅大幅拡張） ---- */
  .cmn-header{ background:#fff !important; position:relative !important; z-index:100 !important; }
  .cmn-header .cmn-inner{ max-width:1800px !important; margin:0 auto !important; } /* 1600px → 1800px */

  /* ==================================================
     1) 黒帯：左寄せ・幅拡張で全項目表示
     ================================================== */
  .cmn-utility{
    background:#0f1114 !important; color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
  }
  .cmn-utility .cmn-inner{
    height:52px !important; display:flex !important; align-items:center !important;
    justify-content:flex-start !important; /* 左寄せに戻す */
    padding:0 24px !important; /* パディング調整 */
    overflow:visible !important;
  }

  /* メニューリスト（全パターン対応） */
  .cmn-utility .gnav-main,
  .cmn-utility .cmn-gnav,
  .cmn-utility .gnav-primary{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
    gap:14px !important; /* 16px → 14px に微調整 */
    overflow-x:auto !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
    overscroll-behavior-x:contain !important;
    width:100% !important;
  }
  .cmn-utility .gnav-main::-webkit-scrollbar,
  .cmn-utility .cmn-gnav::-webkit-scrollbar,
  .cmn-utility .gnav-primary::-webkit-scrollbar{ display:none !important; }

  .cmn-utility .gnav-main > li,
  .cmn-utility .cmn-gnav > li,
  .cmn-utility .gnav-primary > li{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* メニューリンク（長方形ホバー対応） */
  .cmn-utility .gnav-main > li > a,
  .cmn-utility .cmn-gnav > li > a,
  .cmn-utility .gnav-primary > li > a{
    position:relative !important; display:block !important;
    line-height:40px !important; padding:6px 10px !important; /* パディング微調整 */
    color:#fff !important; text-decoration:none !important;
    font-weight:800 !important; letter-spacing:.02em !important;
    white-space:nowrap !important;
    transition:all 0.2s ease !important;
    border-radius:4px !important;
    border:1px solid transparent !important;
  }

  /* ホバーエフェクト：長方形罫線 */
  .cmn-utility .gnav-main > li > a:hover,
  .cmn-utility .cmn-gnav > li > a:hover,
  .cmn-utility .gnav-primary > li > a:hover{
    background:rgba(255,255,255,.1) !important;
    border:1px solid rgba(255,255,255,.4) !important;
    transform:translateY(-1px) !important;
  }

  /* アクティブ状態 */
  .cmn-utility .gnav-main > li > a.is-current,
  .cmn-utility .cmn-gnav > li > a.is-current,
  .cmn-utility .gnav-primary > li > a.is-current{
    background:rgba(255,255,255,.15) !important;
    border:1px solid rgba(255,255,255,.5) !important;
  }

  /* SALEアイテム特別処理 */
  .cmn-utility .gnav-main > li > a.is-sale,
  .cmn-utility .cmn-gnav > li > a.is-sale,
  .cmn-utility .gnav-primary > li > a.is-sale{
    color:#ff6b6b !important;
  }
  .cmn-utility .gnav-main > li > a.is-sale:hover,
  .cmn-utility .cmn-gnav > li > a.is-sale:hover,
  .cmn-utility .gnav-primary > li > a.is-sale:hover{
    background:rgba(255,107,107,.15) !important;
    border:1px solid rgba(255,107,107,.6) !important;
    color:#ff6b6b !important;
  }

  /* 旧構造を完全無効化 */
  .cmn-utility .util-sub{ display:none !important; }

  /* ==================================================
     2) ピンク帯：2段構成（ロゴ/検索＋ジャンル統合）
     ================================================== */
  .cmn-header-pink-2tier{
    background:linear-gradient(135deg, #ff30c5 0%, #ff4dc9 50%, #ff6bce 100%) !important;
    border-bottom:1px solid rgba(255,255,255,.3) !important;
    box-shadow:0 2px 12px rgba(255,48,197,.2) !important;
  }

  /* 上段：ロゴ/検索/ユーザーリンク */
  .cmn-header-content{
    background:transparent !important; /* グラデーションを透過 */
    display:flex !important; align-items:center !important; gap:18px !important;
    padding:12px 0 !important; border-bottom:1px solid rgba(255,255,255,.15) !important;
  }
  .cmn-header-content .cmn-header-logo{
    position:static !important; left:auto !important; transform:none !important;
    width:auto !important; margin:0 !important;
  }
  .cmn-header-content .cmn-header-logo img{
    height:48px !important; width:auto !important; display:block !important;
    filter:none !important; box-shadow:none !important;
  }

  .cmn-header-center{ flex:1 1 auto !important; }
  .cmn-header .cmn-header-search form{
    width:auto !important; margin:0 !important;
    border:2px solid rgba(255,255,255,.95) !important;
    border-radius:28px !important; background:#fff !important;
    box-shadow:0 3px 12px rgba(0,0,0,.15) !important;
  }
  .cmn-header .cmn-header-search--keyword{
    padding:11px 18px !important; color:#111 !important; font-size:14px !important;
  }
  .cmn-header .cmn-header-search--keyword::placeholder{ color:#8d8d8d !important; }
  .cmn-header .cmn-header-search--submit,
  .cmn-header .cmn-header-search--submit img{
    filter:none !important; opacity:.9 !important;
  }

  .cmn-header-content .util-right{
    margin-left:16px !important; flex:0 0 auto !important;
    display:flex !important; gap:12px !important; align-items:center !important;
  }
  .cmn-header-content .util-right a{
    color:#fff !important; text-decoration:none !important; font-weight:800 !important;
    padding:8px 14px !important; border:1px solid rgba(255,255,255,.4) !important;
    border-radius:8px !important; background:rgba(0,0,0,.2) !important;
    transition:all .2s ease !important;
  }
  .cmn-header-content .util-right a:hover{
    background:#fff !important; color:#333 !important; border-color:#fff !important;
    transform:translateY(-1px) !important;
  }

  /* 下段：ジャンル一覧（干渉対策・強制上書き版） */
  .cmn-header-pink-2tier .cmn-header-genres-integrated,
  .cmn-header-genres-integrated{
    background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 100%) !important;
    padding:4px 0 6px !important;
    margin:0 !important;
    min-height:auto !important;
    height:auto !important;
  }
  .cmn-header-pink-2tier .cmn-header-genres-integrated .cmn-inner,
  .cmn-header-genres-integrated .cmn-inner{
    max-width:1800px !important; margin:0 auto !important; padding:0 !important;
  }
  .cmn-header-pink-2tier .cmn-header-genres-integrated .genre-shortcuts-pink,
  .cmn-header-genres-integrated .genre-shortcuts-pink,
  .cmn-header-genres-integrated .genre-shortcuts{
    display:flex !important; flex-wrap:wrap !important; gap:4px 10px !important;
    list-style:none !important; margin:0 !important; padding:0 !important;
    justify-content:center !important;
  }
  .cmn-header-pink-2tier .cmn-header-genres-integrated .block-genre-tree--item,
  .cmn-header-genres-integrated .block-genre-tree--item{
    margin:0 !important; padding:0 !important; width:auto !important; height:auto !important;
  }
  .cmn-header-pink-2tier .cmn-header-genres-integrated .block-genre-tree--item > a,
  .cmn-header-genres-integrated .block-genre-tree--item > a,
  .cmn-header-genres-integrated a{
    display:block !important; padding:4px 12px !important;
    background:transparent !important; color:#ffffff !important; text-decoration:none !important;
    border:1px solid transparent !important; border-radius:14px !important;
    font-weight:800 !important; line-height:1.0 !important; letter-spacing:.03em !important;
    transition:all .3s ease !important; font-size:12px !important;
    text-shadow:0 1px 2px rgba(0,0,0,.8) !important;
    margin:0 !important; min-height:auto !important; height:auto !important;
    box-sizing:border-box !important;
  }
  .cmn-header-genres-integrated .block-genre-tree--item > a:hover{
    background:rgba(255,255,255,.12) !important; color:#fff !important;
    border:1px solid rgba(255,255,255,.25) !important;
    transform:translateY(-2px) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.15) !important;
    text-shadow:0 1px 3px rgba(0,0,0,.4) !important;
  }
  .cmn-header-genres-integrated .block-genre-tree--item > a span{
    white-space:nowrap !important; font-feature-settings:"palt" !important;
  }

  /* 旧アイコン群は使わない */
  .cmn-header-nav{ display:none !important; }

  /* ==================================================
     3) 旧白帯・旧タグ列・旧ジャンル帯は廃止
     ================================================== */
  .cmn-primary{ display:none !important; }
  .cmn-header-tags-alt{ display:none !important; }
  .cmn-header-genres{ display:none !important; } /* 旧ジャンル部分は2段ピンク帯に統合済み */

  /* 段差吸収 */
  .cmn-header-notice + .cmn-utility{ border-bottom:1px solid rgba(255,255,255,.15) !important; }

}
/* ===== / Header A-Pattern (PC) 2TIER PINK v2025-08-31-16 ===== */

/* === YouTubeネイティブ幅を単一変数に統一（Splideと完全一致・GPT修正版） === */
:root{
  --yt-card-w: 480px;   /* 既定 480x270（hqdefaultと相性◎） */
}

@media (min-width:1440px){
  :root{ --yt-card-w: 560px; }  /* 大画面は 560x315 */
}

@media (max-width:768px){
  :root{ --yt-card-w: 85vw; }   /* スマホは画面幅基準 */
}

/* 旧ルールを上書き：スライド幅は常に --yt-card-w に一本化 */
.page-top .reco-splide .splide__slide{
  width: var(--yt-card-w) !important;
}

/* 不要/無効指定の打ち消し（iframe には意味がないため） */
.reco-media iframe{
  image-rendering: auto !important;
}


/* =========================================================
   商品詳細 コメントDL(1&#12316;9) ソフトカード化 + 埋め込み中央寄せ
   ver: 2025-09-02-02 (soft override)
   ========================================================= */

/* 1) カード化（comment1&#12316;9すべて） */
.page-goods dl[class^="block-goods-comment"]{
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.04) !important;
  border-radius: 10px !important;
  box-shadow:
    0 0.5px 1px rgba(0,0,0,.04),
    0 3px 8px rgba(0,0,0,.035) !important;
  padding: 14px 16px !important;
  margin: 14px 0 !important;
  overflow: hidden !important;
}

/* 2) 中身の整形 */
.page-goods dl[class^="block-goods-comment"] dd{
  margin: 0 !important;
  line-height: 1.7 !important;
}

/* 3) 画像・埋め込みのフィット＆角丸 */
.page-goods dl[class^="block-goods-comment"] img,
.page-goods dl[class^="block-goods-comment"] iframe{
  display: block !important;
  max-width: 100% !important;
  border: 0 !important;
  border-radius: 8px !important;
}

/* 4) YouTube/Linkfire を常に中央寄せ */
.page-goods dl[class^="block-goods-comment"] iframe[src*="youtube.com"],
.page-goods dl[class^="block-goods-comment"] iframe[data-lnk-widget],
.page-goods dl[class^="block-goods-comment"] iframe[src*="lnk.to"]{
  margin-inline: auto !important;
}

/* 5) （任意）PCだけ 0.5px 持ち上げる */
@media (hover:hover){
  .page-goods dl[class^="block-goods-comment"]:hover{
    transform: translateY(-0.5px);
    box-shadow:
      0 1px 6px rgba(0,0,0,.055),
      0 0.5px 1px rgba(0,0,0,.035) !important;
  }
}
/* ===== コメントDL(1&#12316;9) 背景をやわらかい灰白に  v2025-09-02-04 ===== */
.page-goods dl[class^="block-goods-comment"]{
  /* 固定色：ほんのりグレー寄りの白 */
  background: #f7f8fa !important;             /* #fff → #f7f8fa に */
  border-color: rgba(0,0,0,.03) !important;   /* 枠も薄く */
}

/* ブラウザが対応していれば “背景グレーに自動追従” 版を優先 */
@supports (background: color-mix(in srgb, white 92%, transparent)){
  .page-goods dl[class^="block-goods-comment"]{
    background: color-mix(in srgb, white 92%, transparent) !important;
  }
}
/* 互換フォールバック：半透明の白でコントラストを柔らかく */
@supports not (background: color-mix(in srgb, white 92%, transparent)){
  .page-goods dl[class^="block-goods-comment"]{
    background: rgba(255,255,255,.92) !important; /* 数字↑↓で濃淡微調整：.90&#12316;.95 */
  }
}
/* =========================================================
   決済方法選択画面（ログイン/ゲスト）
   見出し色 + カード化 + くっきり調整
   target : PC（/css/usr/user.css）
   scope  : .page-login
   ver    : 2025-09-02-uv-login-card-v2
   ========================================================= */

/* === 見出し色（H1/H2） ================================== */
.page-login .block-login h1 {
  color: #111; /* H1: ログイン */
}

.page-login .block-login h2,
.page-login .block-login h2 span,
.page-login .common_headline2_area_ span,
.page-login .block-login--first-time-header,
.page-login .block-login--first-time-header .block-login--first-time-title {
  color: #111; /* H2: 会員/LINE/Amazon/初めての方 */
}

/* H2の下線を濃くして輪郭を強調 */
.page-login .block-login h2,
.page-login .block-login .block-login--first-time-header {
  margin: 0 0 12px;
  padding-bottom: 7px;
  border-bottom: 2px solid rgba(0,0,0,0.14); /* ←くっきり */
}

/* === カード化（会員ログイン／LINE／Amazon／ゲスト） ===== */
.page-login .block-login .block-login--member-frame,
.page-login .block-login .block-login--first-time {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10); /* ←境界を少し濃く */
  border-radius: 10px;
  /* 影をやや強めに（上下2層） */
  box-shadow:
    0 1px 2px rgba(0,0,0,0.08),
    0 6px 16px rgba(0,0,0,0.06);
  padding: 18px 20px;
  margin: 18px 0;
  overflow: hidden;
}

/* 右カラム内（LINE/Amazon）カード間の余白 */
.page-login .block-login .block-login--social-frame .block-login--first-time + .block-login--first-time {
  margin-top: 18px;
}

/* === フォーム内の“行”の区切りを可視化 ================== */
.page-login .block-login .fieldset .form-group {
  margin-bottom: 12px;
}
.page-login .block-login .fieldset .form-group:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(0,0,0,0.10); /* 行の区切り */
}

/* === 埋め込み・画像のはみ出し防止＆角丸 ================= */
.page-login .block-login img,
.page-login .block-login iframe {
  max-width: 100%;
  display: block;
  border-radius: 8px;
}

/* === ホバーでわずかに浮かせる（PCのみ） ================ */
@media (hover: hover) {
  .page-login .block-login .block-login--member-frame:hover,
  .page-login .block-login .block-login--first-time:hover {
    transform: translateY(-0.5px);
    box-shadow:
      0 2px 6px rgba(0,0,0,0.10),
      0 8px 20px rgba(0,0,0,0.08);
  }
}


/* =========================================================
   カート画面（お買い物かご）
   カード化 + くっきりシャドウ + 角丸
   target : PC（/css/usr/user.css）
   scope  : .page-cart
   ver    : 2025-09-02-uv-cart-card-v1
   ========================================================= */

/* 0) 共通トーン：背景をほんのり白寄せ（対応環境はcolor-mix） */
@supports (background: color-mix(in srgb, white 92%, transparent)) {
  .page-cart .__uv-card { background: color-mix(in srgb, white 92%, transparent); }
}
@supports not (background: color-mix(in srgb, white 92%, transparent)) {
  .page-cart .__uv-card { background: rgba(255,255,255,0.92); }
}

/* 1) 商品行（左の各アイテム） */
.page-cart .block-cart--goods-list > li {
  box-sizing: border-box;
  background: #fff;                 /* 0) で上書き */
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), 0 6px 16px rgba(0,0,0,0.06);
  padding: 12px 14px;
  margin: 14px 0;
  overflow: hidden;
}
.page-cart .block-cart--goods-list > li + li { margin-top: 16px; }

/* 1.1) 画像も角丸に合わせる */
.page-cart .block-cart--goods-list-image img { border-radius: 8px; display: block; }

/* 1.2) さりげないホバー浮き（PCのみ） */
@media (hover: hover) {
  .page-cart .block-cart--goods-list > li:hover {
    transform: translateY(-0.5px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.10), 0 8px 20px rgba(0,0,0,0.08);
  }
}

/* 2) 右サイド（ご注文手続き／AmazonPay／店舗受取） */
.page-cart .block-cart--procedure-container {
  box-sizing: border-box;
  background: #fff;                 /* 0) で上書き */
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), 0 6px 16px rgba(0,0,0,0.06);
  padding: 16px 18px;
}

/* 3) インフォメーションのカード化（発売前～の注意文） */
.page-cart .block-cart--infomation {
  background: #fff;                 /* 0) で上書き */
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), 0 6px 16px rgba(0,0,0,0.06);
  padding: 10px 12px;
  margin: 12px 0 18px;
}

/* 4) ステップバー全体も薄くカード化（現在地の視認性アップ） */
.page-cart .block-order-flow--step ul {
  background: #fff;                 /* 0) で上書き */
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.05);
  padding: 8px 10px;
}

/* オプション：商品名のリンクだけ少し強めに（可読性） */
.page-cart .block-cart--goods-list-item-name a { color: #111; font-weight: 600; }



/* =========================================================
   注文確認画面（estimate）
   カード化 + くっきりシャドウ + 見出し整形
   target : PC（/css/usr/user.css）
   scope  : .page-estimate
   ver    : 2025-09-02-uv-estimate-card-v1
   ========================================================= */

/* === ステップバー ================================================= */
.page-estimate .block-order-flow--step ul{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.05);
  padding:8px 10px;
}

/* === 左カラム：確認ボックス群 ==================================== */
.page-estimate .block-order-estimate--confirmation-list>li{
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.06);
  padding:14px 16px;
  margin:14px 0;
}
.page-estimate .block-order-estimate--confirmation-title h3{
  margin:0 0 10px;
  padding-bottom:6px;
  border-bottom:2px solid rgba(0,0,0,.14);
  color:#111;
  font-weight:600;
}

/* === 商品リスト =================================================== */
.page-estimate .block-order-estimate--goods{
  margin-top:18px;
}
.page-estimate .block-order-estimate--goods-title{
  margin:0 0 12px;
  padding-bottom:7px;
  border-bottom:2px solid rgba(0,0,0,.14);
  color:#111;
  font-weight:600;
}
.page-estimate .block-order-estimate--goods-list>li{
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.06);
  padding:14px 16px;
  margin:14px 0;
  overflow:hidden;
}
.page-estimate .block-order-estimate--goods-item-image img{
  display:block; border-radius:8px;
}
@media(hover:hover){
  .page-estimate .block-order-estimate--goods-list>li:hover{
    transform:translateY(-0.5px);
    box-shadow:0 2px 6px rgba(0,0,0,.10),0 8px 20px rgba(0,0,0,.08);
  }
}

/* === 右サイド：確定／合計パネル ================================== */
.page-estimate .block-order-estimate--procedure-container{
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.06);
  padding:16px 18px;
}
.page-estimate .block-order-estimate--total{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.10);
  font-weight:700;
  color:#111;
}
.page-estimate .block-order-estimate--price-items dt,
.page-estimate .block-order-estimate--price-items dd{
  padding:6px 0;
  border-top:1px dashed rgba(0,0,0,.10);
}

/* === 備考エリア =================================================== */
.page-estimate .block-order-estimate--comment{
  margin-top:18px;
}
.page-estimate .block-order-estimate--comment-title{
  margin:0 0 10px;
  padding-bottom:6px;
  border-bottom:2px solid rgba(0,0,0,.14);
  color:#111;
  font-weight:600;
}
.page-estimate .block-order-estimate--comment-content{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.05);
  padding:12px;
}
.page-estimate .block-order-estimate--comment-content textarea{
  width:100%; box-sizing:border-box;
  border:1px solid rgba(0,0,0,.12);
  border-radius:8px;
  padding:8px 10px;
}

/* === リンク色の微調整（可読性） ================================== */
.page-estimate .block-order-estimate--goods-item-name{ color:#111; font-weight:600; }



/* =========================================================
   マイページ（customer menu）
   カード化 + くっきりシャドウ + 見出し整形
   target : PC（/css/usr/user.css）
   scope  : .page-menu
   ver    : 2025-09-02-uv-mypage-card-v1
   ========================================================= */

/* === 見出し（H1/H2） ==================================== */
.page-menu .block-mypage h1 {
  color:#111;
  margin: 0 0 14px;
}
.page-menu .block-mypage h2 {
  margin: 20px 0 12px;
  padding-bottom: 7px;
  border-bottom: 2px solid rgba(0,0,0,.14);
  color:#111;
  font-weight:600;
}

/* === “ようこそ/ポイント” バーを軽く立体化 ================= */
.page-menu .block-mypage--customer-status{
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 6px 16px rgba(0,0,0,.06);
  overflow: hidden; /* バーが2分割でも角を丸めて一体感 */
}

/* === タイル（アカウント連携/お買い物情報/お客様情報/問い合わせ） === */
/* 各セクションの “items” リスト直下のタイルを一括カード化 */
.page-menu .block-mypage ul[class$="-items"] > li > div{
  box-sizing: border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 6px 16px rgba(0,0,0,.06);
  padding:14px 16px;
  margin:10px 0;
  overflow:hidden;
}
/* サムネやアイコンの角丸整合（将来画像が入っても崩さない） */
.page-menu .block-mypage ul[class$="-items"] img{ border-radius:8px; display:block; }

/* タイル内の行間・区切り（説明文の可読性UP） */
.page-menu .block-mypage dl{ margin:0; }
.page-menu .block-mypage dl dt{ font-weight:600; color:#111; }
.page-menu .block-mypage dl dd{ margin:6px 0 0; color:#333; }
.page-menu .block-mypage dl dd + dd{
  padding-top:6px;
  border-top:1px dashed rgba(0,0,0,.10);
}

/* タイルのホバー（PCのみ） */
@media (hover:hover){
  .page-menu .block-mypage ul[class$="-items"] > li > div:hover{
    transform: translateY(-0.5px);
    box-shadow: 0 2px 6px rgba(0,0,0,.10), 0 8px 20px rgba(0,0,0,.08);
  }
}

/* === “退会リンク” まわりの間合い調整 ===================== */
.page-menu .block-mypage--withdrawal-link{
  margin-top: 18px;
}

/* [ver20250903] KV：プログレス＆カウンター全非表示 */
.page-top .top-kv .top-kv_count { display: none !important; }

/* 念のため（単体で残っても消す） */
.page-top .top-kv .splide__progress,
.page-top .top-kv .js-slider-fv_current,
.page-top .top-kv .js-slider-fv_total { display: none !important; }
