@charset "UTF-8";

.mark-annotation {
  font-size: 70%;
  vertical-align: top;
}

.page-goods .block-topic-path--category {
  margin-bottom: 32px;
  padding-inline: 20px;
}

.block-topic-path--delimiter {
  position: relative;
  margin-right: 13px;
}

.block-topic-path--category-item:last-child a {
  color: #005baa;
}
.bread-crumb-bottom {
  padding-inline: 20px;
}

.block-icon img {
  aspect-ratio: unset;
}

.goods-note {
  border: 1px solid #cc1f1f;
  background-color: #fffafa;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.6;
  padding: 27px 31px 23px;
  max-width: 968px;
  margin-inline: auto;
}

.goods-note strong {
  color: #af0000;
  font-weight: 500;
}

.goods-link-list {
  display: flex;
  column-gap: 1em;
  margin-top: 18px;
}

.goods-note-link {
  color: #005baa;
  font-size: 13px;
}

.block-goods-detail {
  display: flex;
  flex-flow: row wrap;
  column-gap: 56px;
  max-width: 968px;
  margin: 10px auto 0;
  padding-inline: 20px;
}

/* focusのために並び順調整 */
.pane-goods-left-side {
  margin-top: 12px;
  width: min(48.5% - 28px, 100% - 464px - 56px);
}
.pane-goods-right-side {
  width: max(51.5% - 28px, 464px);
}

.pane-goods-side-order1 {
  order: 1;
}

.pane-goods-side-order2 {
  order: 2;
}

.pane-goods-side-order3 {
  order: 3;
}

.pane-goods-side-order4 {
  order: 4;
}

@media screen and (max-width: 767px) {
  #product-detail {
    display: contents;
  }

  #block-buy {
    display: contents;
  }
}

.block-goods-detail--color-variation-goods-image .swiper-slider-main {
  order: 1;
  background-color: #fff;
  border-radius: 30px;
  box-sizing: border-box;
  margin-inline: auto;
  padding: 5%;
  width: 80%;
}

.block-goods-detail--color-variation-goods-thumbnail-control .color-variation-prev,
.block-goods-detail--color-variation-goods-thumbnail-control .color-variation-next {
  cursor: pointer;
}

.block-goods-detail .block-goods-detail--color-variation-goods-image .block-goods-detail-line-item {
  background-color: #fff;
}

.block-goods-detail--color-variation-goods-image .block-goods-detail--color-variation-goods-thumbnail-form {
  order: 2;
}

.pane-goods-left-side .block-goods-gallery {
  margin-block: 24px;
  overflow: auto;
}

.pane-goods-left-side .block-goods-gallery .swiper-slide {
  flex-basis: auto;
  width: auto;
  min-width: auto;
  height: auto;
  min-height: auto;
}

.pane-goods-left-side .block-goods-gallery div a {
  border: 1px solid transparent;
  border-radius: 8px;
  box-sizing: border-box;
  display: block;
  padding: 10px;
}

.pane-goods-left-side .block-goods-gallery div.swiper-slide-thumb-active a {
  border: 1px solid #005baa;
  border-radius: 8px;
}

.block-goods-gallery div figure {
  width: 49px;
  height: 49px;
}

.block-goods-detail--color-variation-goods-thumbnail-control .color-variation-prev,
.block-goods-detail--color-variation-goods-thumbnail-control .color-variation-next {
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.block-goods-category {
  order: 10;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.block-goods-category-link {
  color: #005baa;
  font-size: 16px;
  font-weight: 400;
}

.block-goods-favorite {
  order: unset;
}

.block-goods-favorite .block-goods-favorite--btn {
  aspect-ratio: 1;
  background-color: #fff;
  border: 1px solid #005baa;
  border-radius: 50%;
  color: #005baa;
  font-size: 9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0;
  padding: 0;
  width: 56px;
}

.block-goods-favorite .block-goods-favorite--btn::before {
  background: url(/ga/common/img/ico_bookmark.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0;
}

.block-goods-favorite .block-goods-favorite-registed--btn {
  aspect-ratio: 1;
  background-color: #fff;
  border: 1px solid #005baa;
  border-radius: 50%;
  color: #005baa;
  font-size: 9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0;
  padding: 0;
  width: 56px;
}

.block-goods-favorite .block-goods-favorite-registed--btn::before {
  background: url(/ga/common/img/ico_bookmark_registed.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0;
}

.block-goods-name {
  order: 20;
  margin-block: 10px 0;
}

.page-goods .block-goods-name h1 {
  font-weight: 600;
  margin-bottom: 0;
}

.block-goods-comment {
  order: 30;
  font-size: 18px;
  font-weight: 600;
  margin-block: 13px 0;
}

.page-goods .block-icon {
  order: 40;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 21px 0;
}

.block-icon img {
  height: 28px;
}

.block-icon > span,
.block-icon > span + span {
  margin-inline: 0;
}

.block-goods-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  order: 50;
  margin-top: 8px;
}

.block-goods-tag li img {
  font-size: 12px;
  height: 28px;
  width: auto;
}

.goods-detail-description-wrapper {
  order: 60;
  display: flex;
  flex-direction: column;
  margin-top: 19px;
}

.goods-detail-description {
  display: inline-block;
  padding: 0;
}

.goods-detail-description.block-goods-spec dt,
.goods-detail-description.block-goods-spec dd {
  display: inline-block;
  font-size: 16px;
  width: fit-content;
}

.goods-detail-note {
  order: 70;
  color: #af0000;
  font-size: 13px;
  margin-top: 24px;
}

.block-goods-points-wrapper {
  order: 80;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 15px;
}

.block-goods-point-area {
  order: unset;
  color: #005baa;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  width: fit-content;
}

.block-goods-point {
  font-size: 22px;
  order: unset;
  width: auto;
}

.block-goods-points-link {
  font-size: 16px;
  text-decoration: underline;
}

@media (hover: hover) {
  .block-goods-points-link:hover {
    text-decoration: none;
  }
}

.block-goods-price {
  border-top: none;
}

.block-switch-goods-wrapper {
  order: 90;
  border-top: none;
  margin: calc((1em - 1lh) / 2 + 19px) 0 0;
  padding: 0;
}

.block-switch-goods--button {
  flex-direction: column;
}

.btn-switch-goods {
  border: 1px solid #acacac;
  border-radius: 20px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 15px;
  padding: 25px;
  width: calc(100% - 4px);
}

.btn-switch-goods + .btn-switch-goods {
  margin-top: 9px;
}

@media (hover: hover) {
  .btn-switch-goods:not(.this):hover {
    background-color: #eaf6fc;
    border: 2px solid #005baa;
    padding: 24px;
  }
}

.block-switch-goods--button > .this {
  background-color: #eaf6fc;
  border: 2px solid #005baa;
}

.price::after,
.default-price::after {
  content: " 税込";
}

.block-goods-first-limited-order-limit-qty-message {
  background-color: #fff;
  border: 1px solid #af0000;
  color: #af0000;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.4px;
  line-height: 1.35;
  margin-top: 5px;
  padding-block: 3px;
  width: 100%;
}

.btn-switch-goods-main {
  width: calc(100% - 32px - 15px);
}

.btn-switch-goods .btn-switch-goods-radio {
  background-color: #fff;
  border: 1px solid #acacac;
  border-radius: 50%;
  display: inline-block;
  flex: 32px 0 0;
  position: relative;
  height: 32px;
  width: 32px;
}

.btn-switch-goods .btn-switch-goods-radio input {
  display: none;
}

.btn-switch-goods.this .btn-switch-goods-radio::after {
  content: "";
  background-color: #005baa;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 18px;
  width: 18px;
}

.btn-switch-goods-col1,
.btn-switch-goods-col2 {
  display: flex;
  align-items: center;
}

.btn-switch-goods-col2 {
  margin-top: 10px;
}

.has-default + .btn-switch-goods-col2 {
  align-items: flex-start;
  margin-top: 10px;
}

.block-goods-price--default-price,
.block-goods-price--price {
  margin-left: auto;
}

.btn-switch-goods-kind {
  font-size: 18px;
  font-weight: 600;
}

.btn-switch-goods-amount {
  font-size: 16px;
  font-weight: 400;
  margin-left: 1em;
}

.block-goods-price--default-price {
  font-size: 13px;
  font-weight: 400;
  position: relative;
  text-decoration: none;
}

.block-goods-price--default-price::before {
  content: "";
  background-color: #333;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  height: 2px;
  width: calc(100% - 4.25em);
}

.block-goods-price--default-price--point::before {
  content: "";
  background-color: #333;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  height: 2px;
  width: calc(100%);
}

.block-goods-price--price {
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
}

.has-default + .btn-switch-goods-col2 .block-goods-price--price {
  color: #af0000;
}

.block-goods-price-num {
  font-size: 24px;
  margin-inline: 3px 13px;
}

.block-goods-price-yen {
  font-size: 18px;
}

.block-goods-not-available-method {
  border-top: none;
  color: #005baa;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  margin-block: 0;
  padding-top: 0;
}

.block-goods-not-available-method--big {
  font-size: 22px;
}

.block-variation {
  margin-top: 0;
}

.block-goods-qty {
  font-size: 18px;
  text-align: center;
  margin-top: 30px;
}

.block-add-cart {
  margin-top: 30px;
}

.block-add-cart .block-add-cart--btn,
.go-questionnaire,
.questionnaire-cancel,
.block-add-no-stock--btn {
  background-color: #ffe900;
  border: none;
  border-radius: 100px;
  color: #005baa;
  display: grid;
  grid-template-columns: 1fr 32px;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 600;
  transition: all 0.3s;
  margin: 28px auto 0;
  padding: 20px;
  position: relative;
  cursor: pointer;
  width: 80%;
}

#questionnaire .block-add-cart--btn {
  background-color: #005baa;
  color: #fff;
  font-size: 16px;
  width: 400px;
}

#questionnaire .questionnaire-cancel,
.block-add-no-stock--btn {
  color: #fff;
  background-color: #6f6f6f;
  margin-top: 16px;
  width: 400px;
}

@media (hover: hover) {
  .go-questionnaire:hover,
  .block-add-cart--btn:hover {
    background-color: #005baa;
    color: #fff;
  }

  #questionnaire .block-add-cart--btn:hover {
    background-color: #ffe900;
    color: #005baa;
  }

  #questionnaire .questionnaire-cancel:hover,
  .block-add-no-stock--btn:hover {
    background-color: #333;
  }
}

.block-add-cart .block-add-cart--btn::after,
.go-questionnaire::after,
.questionnaire-cancel::after,
.block-add-no-stock--btn::after {
  content: "";
  background-image: url(/ga/common/img/ico_archivelink_large.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 36px;
  width: 36px;
}

.block-add-cart-note {
  color: #af0000;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 13.5px;
  font-size: 13px;
  margin-top: 24px;
}

.block-add-cart-note-item::before {
  content: "※";
}

.block-add-cart-note2 {
  color: #333;
  font-size: 13px;
  line-height: 1.85;
  margin-top: 30px;
}

.block-add-cart-link-area {
  text-align: center;
  margin-top: 30px;
}

.block-add-cart-link a {
  color: #005baa;
  font-size: 16px;
  text-decoration: underline;
  position: relative;
}

.block-add-cart-link a::after {
  content: "";
  border-top: 2px solid #005baa;
  border-right: 2px solid #005baa;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  height: 0.5em;
  width: 0.5em;
}

@media (hover: hover) {
  .block-add-cart-link a:hover {
    text-decoration: none;
  }
}

.block-add-no-stock {
  margin-top: 30px;
  text-align: center;
}

.block-add-no-stock-txt {
  font-size: 18px;
}

.block-add-no-stock--btn {
  margin-top: 30px;
}

.block-add-no-stock-note {
  color: #af0000;
  margin-top: 30px;
}

.block-add-img {
  margin-top: 28px;
  width: 100%;
}

/* その他のバリエーション、おすすめ商品 */
.block-pickup-list-wrapper {
  margin-top: 39px;
}

.block-pickup-list-wrapper + .block-pickup-list-wrapper {
  margin-top: 71px;
}

.block-accessory-list {
  background-color: #fff;
  margin: 0;
  padding: 0;
}

.block-accessory-list--name {
  font-size: 18px;
  font-weight: 600;
}

#select-qty {
  line-height: 1;
  border-radius: 10px;
}

.block-pickup-list-p .block-pickup-list-p--items {
  grid-template-columns: 1fr;
}

.block-pickup-list-p--item {
  padding: 17px 15px;
}

.block-pickup-list-p--items a {
  display: flex;
  column-gap: 10px;
}

.block-pickup-list-p--items a::after {
  content: "";
  border-top: 3px solid #005baa;
  border-right: 3px solid #005baa;
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  height: 8px;
  width: 8px;
}

.block-pickup-list-p--goods-image {
  width: 66px;
}

.block-pickup-list-p--goods-image figure {
  background-color: #fff;
  padding: 0;
  height: 66px;
  width: 66px;
}

.block-pickup-list-p--goods-description {
  width: 60%;
}

.block-pickup-list-p--goods-name {
  color: #333;
  font-size: 13px;
}

.block-pickup-list-p .block-pickup-list-p--item .block-pickup-list-p--price-infos .block-pickup-list-p--price-items .price,
.block-pickup-list-p .block-pickup-list-p--item .block-pickup-list-p--price-infos .block-pickup-list-p--price-items .net-price {
  color: #333;
  font-size: 15px;
}

.net::after,
.price.net::after,
.net-price::after,
.default-net::after {
  content: "(税込)";
  font-size: 7px;
}

@media screen and (max-width: 767px) {
  .block-goods-detail {
    flex-flow: column nowrap;
  }
  .pane-goods-right-side,
  .pane-goods-left-side {
    width: auto;
  }
  .block-header-info-frame .block-header-info {
    padding: 4px 0 7px;
    white-space: normal;
  }

  .page-goods .block-topic-path--category {
    margin-bottom: 36px;
    padding: 10px 0 10px 23.5px;
    overflow: scroll;
    white-space: nowrap;
  }

  .block-topic-path--list li {
    display: inline;
  }

  .goods-note {
    font-size: 14px;
    padding: 16px;
    margin-inline: 20px;
  }

  .goods-link-list {
    flex-direction: column;
    margin-top: 7.5px;
  }

  .pane-goods-left-side {
    display: contents;
  }

  .block-goods-category {
    display: contents;
  }

  .block-goods-category-link-wrapper {
    order: 10;
  }

  .block-icon {
    order: 30;
  }

  .goods-image-area {
    order: 60;
  }

  .block-goods-detail {
    padding-inline: 20px;
  }

  .block-goods-detail .block-goods-detail--color-variation-goods-image .swiper-slider-main {
    background-color: #fff;
    margin-block: 20px 32px;
    padding: 12.4vw 10.4vw;
    width: 100%;
  }

  .block-goods-detail .swiper-slider-main img {
    width: 66.5vw;
  }

  .block-goods-gallery div {
    flex-basis: content;
    min-width: unset;
    width: 13.87vw;
  }

  .pane-goods-left-side .block-goods-gallery div a {
    padding: 1.86vw;
  }

  .block-goods-gallery div figure {
    height: 13.87vw;
    width: 13.87vw;
  }

  .block-goods-detail--color-variation-goods-thumbnail-form .swiper-slider-thumbnail {
    margin: 0;
  }

  .block-goods-favorite {
    order: 70;
    margin-top: 15px;
  }

  .block-goods-favorite .block-goods-favorite--btn,
  .block-goods-favorite .block-goods-favorite-registed--btn {
    aspect-ratio: unset;
    border-radius: 500px;
    flex-direction: row;
    column-gap: 3px;
    font-size: 14px;
    margin-inline: auto 0;
    padding: 3px 35px 3px 25px;
    width: fit-content;
  }

  .block-goods-comment {
    order: 80;
    font-size: 18px;
    margin-top: 32.5px;
  }

  .goods-detail-description-wrapper {
    order: 90;
    font-size: 14px;
    margin-top: 34.5px;
  }

  .goods-detail-note {
    order: 100;
    font-size: 14px;
    margin-top: 30px;
  }

  .block-goods-points-wrapper {
    order: 110;
    font-size: 14px;
    margin-top: 40px;
  }

  .block-goods-point-area {
    font-size: 14px;
    align-items: flex-end;
    width: 100%;
  }

  .goods-detail-description {
    order: unset;
    font-size: 20px;
    line-height: 1;
    width: fit-content;
  }

  .block-goods-points-link {
    margin-top: 7px;
  }

  .block-switch-goods-wrapper {
    order: 120;
    margin-top: 32px;
  }

  .btn-switch-goods {
    align-items: center;
    justify-content: space-between;
    column-gap: 3.07vw;
    padding: 6vw 4.53vw;
  }

  .btn-switch-goods-main {
    width: calc(100% - 9.07vw);
  }

  .btn-switch-goods-kind {
    font-size: 4.5vw;
    text-align: left;
  }

  .block-goods-price--default-price {
    font-size: 3.47vw;
  }

  .block-goods-price-num {
    font-size: 4.8vw;
    margin-inline: 0 1vw;
  }

  .btn-switch-goods-amount {
    font-size: 3.73vw;
    margin-left: 0;
  }

  .btn-switch-goods .btn-switch-goods-radio {
    flex: 6vw 0 0;
    height: 6vw;
    width: 6vw;
  }

  .btn-switch-goods.this .btn-switch-goods-radio::after {
    height: 3.33vw;
    width: 3.33vw;
  }

  .block-goods-price--default-price {
    align-self: flex-end;
  }

  .block-accessory-list {
    order: 210;
  }

  .block-goods-category-link {
    font-size: 18px;
  }

  .block-goods-name {
    margin-top: 13.5px;
  }

  .page-goods .block-goods-name h1 {
    font-size: 24px;
    line-height: 1.5;
  }

  .page-goods .block-icon {
    margin-top: 20px;
  }

  .block-goods-cat-tag {
    width: 23.47vw;
  }

  .block-goods-cat-tag img {
    height: auto;
    vertical-align: middle;
  }
  .block-goods-price--price {
    font-size: 3.3vw;
  }

  .block-goods-price--price::after,
  .block-goods-price--net-price::after {
    font-size: 3.3vw;
  }

  .block-goods-price--default-price::after {
    font-size: 3.3vw;
  }

  .block-goods-first-limited-order-limit-qty-message {
    font-size: 4.27vw;
  }

  .has-default + .btn-switch-goods-col2 {
    margin-top: 0;
  }

  .btn-switch-goods-col2 {
    column-gap: 5.33vw;
  }

  .block-goods-not-available-method {
    border-top: none;
    font-size: 14px;
    margin: 24px 0 0;
    padding: 0;
  }

  .block-goods-not-available-method--big {
    font-size: 18px;
  }

  .block-goods-qty {
    font-size: 18px;
    margin-top: 14px;
  }

  #select-qty {
    border-radius: 10px;
    font-size: 4vw;
    height: 11.87vw;
    width: 18.13vw;
  }

  .block-add-cart {
    margin-top: 16px;
  }

  .block-add-cart .block-add-cart--btn,
  .go-questionnaire,
  .questionnaire-cancel,
  .block-add-no-stock--btn {
    font-size: 16px;
    grid-template-columns: 1fr 26px;
    line-height: 1;
    margin-top: 16px;
    padding: 17px;
    width: 100%;
  }

  .block-add-cart .block-add-cart--btn::after,
  .go-questionnaire::after,
  .questionnaire-cancel::after,
  .block-add-no-stock--btn::after {
    height: 26px;
    width: 26px;
  }

  .block-add-cart-note {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 1.28;
    margin-left: 1em;
    text-indent: -1em;
    row-gap: 25px;
  }

  .block-add-cart-note2 {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 1.28;
    margin-top: 20px;
  }

  .block-add-cart-link-area {
    margin-top: 40px;
  }

  .block-add-cart-link {
    border-top: 1px solid #bdbdbd;
    text-align: left;
    width: 100%;
  }

  .block-add-cart-link:last-child {
    border-bottom: 1px solid #bdbdbd;
  }

  .block-add-cart-link a {
    display: inline-block;
    padding: 15px 0 15px 20px;
    text-decoration: none;
    width: 100%;
  }

  .block-add-cart-link a::after {
    right: 7.33vw;
  }

  .block-pickup-list-wrapper {
    margin-top: 56px;
  }

  h2.block-accessory-list--name {
    font-size: 18px;
    padding: 0;
  }

  .block-pickup-list-wrapper + .block-pickup-list-wrapper {
    margin-top: 35px;
  }
}

.block-goods-info {
  margin: 160px auto 0;
  padding-inline: 20px;
  max-width: 968px;
}

.block-goods-info--target-title {
  font-size: 24px;
  font-weight: 700;
}

.block-goods-info--target-text {
  border: 1px solid #005baa;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.6;
  padding: 32px;
}

.block-goods-info--package-insert {
  display: flex;
  gap: 32px;
  margin-top: 32px;
}

.block-goods-info--package-insert-link {
  align-items: center;
  border: 1px solid #005baa;
  border-radius: 60px;
  color: #005baa;
  display: flex;
  font-size: 18px;
  gap: 16px;
  height: 65px;
  justify-content: center;
  width: 239px;
}

.block-goods-info--package-insert-list {
  display: flex;
  flex-direction: column;
}

.block-goods-info--package-insert-list a {
  border-bottom: 1px solid #005baa;
  color: #005baa;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  padding-right: 24px;
  position: relative;
  width: fit-content;
}

.block-goods-info--package-insert-list a:hover {
  text-decoration: none;
}

.block-goods-info--package-insert-list a span {
  font-size: 12px;
}

.block-goods-info--package-insert-list a::after {
  border: 1px solid currentColor;
  border-bottom: 0;
  border-left: 0;
  box-sizing: border-box;
  color: #005baa;
  content: "";
  display: inline-block;
  height: 8px;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateX(-25%) translateY(-50%) rotate(45deg);
  vertical-align: middle;
  width: 8px;
}

.block-goods-info--news-link {
  background: #f6f6f4;
  border-radius: 8px;
  color: #005baa;
  display: inline-flex;
  font-size: 16px;
  font-weight: 500;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
  margin-top: 32px;
  padding: 27px 28px 27px 24px;
  width: 100%;
}

.block-goods-info--common-title {
  border: none;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
  padding: 0;
}

.block-goods-info--brand {
  margin-top: 30px;
}

.block-goods-info--brand-link {
  align-items: center;
  border: 1px solid #005baa;
  border-radius: 8px;
  display: flex;
  gap: 16px;
  padding: 8px 20px 8px 24px;
  width: fit-content;
}

.block-goods-info--brand-logo {
  width: 123px;
}

.block-goods-info--brand-image {
  width: 71px;
}

.block-goods-info--specs {
  margin-top: 32px;
}

.block-goods-info--specs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.block-goods-info--specs-link {
  align-items: center;
  border: 1px solid #005baa;
  border-radius: 8px;
  color: #005baa;
  display: inline-flex;
  font-size: 16px;
  font-weight: 500;
  height: 44px;
  justify-content: space-between;
  line-height: 1.125;
  padding-inline: 16px 12px;
  width: 178px;
}

.block-goods-info--specs-link::after {
  border: 1px solid currentColor;
  border-bottom: 0;
  border-left: 0;
  box-sizing: border-box;
  color: #005baa;
  content: "";
  display: inline-block;
  height: 8px;
  line-height: 1;
  transform: translateY(-25%) rotate(135deg);
  vertical-align: middle;
  width: 8px;
}

@media (max-width: 767px) {
  .block-goods-info {
    padding-inline: 20px;
    margin-top: 39px;
  }

  .page-goods .pane-main {
    width: 100%;
  }

  .block-goods-info--target-text {
    background: #eaf6fc;
    border: none;
    font-size: 16px;
    padding: 16px;
  }

  .block-goods-info--package-insert {
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
  }

  .block-goods-info--package-insert-link {
    font-size: 16px;
    gap: 0;
    height: 56px;
    justify-content: flex-start;
    padding-inline: 28px 19px;
    width: 100%;
  }

  .block-goods-info--package-insert-link-pdf {
    margin-right: 14px;
  }

  .block-goods-info--package-insert-link-pdf img {
    vertical-align: middle;
  }

  .block-goods-info--package-insert-link-icon {
    margin-left: auto;
  }

  .block-goods-info--package-insert-list a {
    align-content: center;
    font-size: 16px;
    height: 60px;
    line-height: 1.15;
    padding: 10px 24px;
    width: 100%;
  }

  .block-goods-info--package-insert-list a:nth-child(1) {
    border-top: 1px solid #005baa;
  }

  .block-goods-info--news-link {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 38px;
    padding: 12px;
  }

  .block-goods-info--common-title {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .block-goods-info--brand-link {
    gap: 24px;
    justify-content: center;
    max-width: 378px;
    width: 100%;
  }

  .block-goods-info--specs-list li {
    width: calc(50% - 9px);
  }

  .block-goods-info--specs-link {
    font-size: 14px;
    width: 100%;
  }
}

.info-detail-contents {
  margin-top: 120px;
}

.bg__blue {
  background-color: #eaf6fc;
  padding: 43px 96px;
  transition: all 1s;
}

.bg__blue:has(.accordion__header) {
  padding: 0;
}

.bg__blue .accordion__header {
  padding: 43px 96px;
}

.bg__blue:has(.accordion__header.is-open) {
  padding-bottom: 96px;
}

.bg__blue:has(.accordion__header) .accordion__panel {
  box-sizing: border-box;
  padding-inline: 96px;
}

.bg__blue + .bg__blue {
  margin-top: 16px;
}

.category__title {
  font-size: 24px;
  font-weight: 600;
  border-bottom: none;
  padding: 0 0 0 1em;
  margin-bottom: 0;
  position: relative;
}

.category__title::before {
  content: "";
  width: 12.8px;
  height: 12.8px;
  background-color: #005baa;
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.mb45 {
  margin-bottom: 45px;
}

.topSpace__text {
  font-size: 18px;
  line-height: 1.4;
  color: #333;
  margin-bottom: 13px;
}

.blue__deco {
  color: #005baa;
  font-size: 32px;
  font-weight: 900;
}

.img__container {
  margin-bottom: 32px;
  background-color: #b1b1b1;
  width: 100%;
  height: 500px;
  border-radius: 27px;
}

.bg__white {
  background-color: #fff;
  padding: 32px 32px 27px;
  border-radius: 20px;
}

.bg__white + .topSpace__text {
  margin-top: 24px;
}

.bg__white + .bg__white {
  margin-top: 32px;
}

.bg__white p {
  line-height: 1.6;
  color: #333;
  font-size: 16px;
}

.bg__white p.product-name {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 1.6em;
}

.bg__white ul li {
  line-height: 1.6;
  color: #333;
  font-size: 16px;
}

.bg__white ul li .list__inner {
  margin-left: -1em;
}

.mt20 {
  margin-top: 20px;
}

.mt24 {
  margin-top: 24px;
}

.list__dot {
  padding-left: 1em;
  position: relative;
}

.list__dot::before {
  content: "";
  background-color: #333;
  border-radius: 999px;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.bg__white .note__text {
  display: inline-block;
  color: #005baa;
  text-decoration: underline;
}

.mt__list--item {
  margin-top: 32px;
}

.small__dot--text {
  padding-left: 1em;
  position: relative;
}

p.small__dot--text::before {
  content: "〇";
  font-size: 12px;
  padding-right: 0.3em;
}

.bg__white .dose__text {
  font-size: 18px;
  color: #005baa;
}

.note__block {
  margin-top: 32px;
}

.bg__white p.question {
  border-bottom: 1px solid #707070;
  color: #005baa;
  display: flex;
  align-items: center;
  column-gap: 12px;
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 14.7px;
}

.bg__white p.question::before {
  content: "Q";
  background-color: #005baa;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 500;
  height: 32px;
  width: 32px;
}

.answer {
  padding-top: 16.3px;
}

.answer a {
  color: #005baa;
}

.answer .annotation {
  font-size: 13px;
}

/* =============================
    accordion
===============================*/
.accordion {
  width: 100%;
}

.accordion__header {
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: all 1s;
}

.accordion__icon {
  position: relative;
  width: 42px;
  height: 42px;
  background-color: #fff;
  border-radius: 999px;
  border: 2px solid #005baa;
}

.accordion__icon::before,
.accordion__icon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  top: 50%;
  background: #005baa;
  transition: transform 0.3s ease;
}

.accordion__icon::after {
  transform: rotate(90deg);
}

.accordion__header.is-open {
  margin-bottom: 40px;
}

.accordion__header.is-open .accordion__icon::after {
  transform: rotate(90deg) scaleX(0);
}

.accordion__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1.0s ease-in-out;
}

.accordion__panel.is-open {
  max-height: 5000vh;
}

.faq__more {
  margin-top: 40px;
}

.faq__more-btn {
  background-color: #ffe900;
  border: none;
  border-radius: 100px;
  color: #333;
  display: grid;
  grid-template-columns: 1fr 44px;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 600;
  transition: all 0.3s;
  margin: 28px auto 0;
  padding: 20px;
  position: relative;
  text-align: center;
  min-width: 300px;
  width: 43%;
}

.faq__more-btn::after {
  content: "";
  content: "";
  background-image: url(/ga/common/img/ico_archivelink_large.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 44px;
  width: 44px;
}

@media (hover: hover) {
  .faq__more-btn:hover {
    color: #fff;
    background-color: #005baa;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .info-detail-contents {
    margin-top: 80px;
  }

  .page-goods .pane-main {
    padding-inline: 0;
    width: 100%;
  }

  .accordion__header.is-open {
    margin-bottom: 0;
  }

  .bg__blue {
    padding: 7.2vw 6.4vw;
  }

  .bg__blue:has(.accordion__header) {
    padding: 0;
  }

  .bg__blue .accordion__header {
    padding: 7.2vw 6.4vw;
  }

  .bg__blue:has(.accordion__header.is-open) {
    padding-bottom: 6.4vw;
  }

  .bg__blue:has(.accordion__header.is-open) {
    padding-bottom: 23.5px;
  }

  .bg__blue:has(.accordion__header) .accordion__panel {
    padding: 0 6.4vw;
  }

  .category__title {
    font-size: 36px;
  }

  .category__title.mb45 {
    margin-bottom: 26px;
  }

  .bg__white p {
    font-size: 28px;
  }

  .bg__white ul li {
    font-size: 28px;
  }

  .topSpace__text {
    font-size: 32px;
    margin-top: 62px;
  }

  .bg__white .dose__text {
    font-size: 32px;
  }

  .note__block {
    font-size: 28px;
  }

  .faq__more-btn {
    padding: 33px 30px;
    margin-top: 32px;
  }

  .accordion__icon {
    width: 54px;
    height: 54px;
  }

  .bg__white p.question {
    font-size: 16px;
    line-height: 1.5;
    align-items: flex-start;
  }

  .bg__white p.question::before {
    font-size: 15px;
    flex: 26px 0 0;
    line-height: 1;
    height: 26px;
    width: 26px;
  }

  .answer .annotation {
    font-size: 12px;
  }

  .faq__more {
    margin-top: 16px;
  }

  .faq__more-btn {
    font-size: 16px;
    line-height: 1;
    grid-template-columns: 1fr 26.5px;
    padding: 17px;
    margin-bottom: 16px;
  }

  .faq__more-btn::after {
    height: 26.5px;
    width: 26.5px;
  }

  .category__title {
    font-size: 18px;
  }

  .bg__white p {
    font-size: 14px;
  }

  .bg__white ul li {
    font-size: 14px;
  }

  .topSpace__text {
    font-size: 16px;
    margin-top: 31px;
  }

  .bg__white .dose__text {
    font-size: 16px;
  }

  .note__block {
    font-size: 14px;
  }

  .accordion__icon {
    width: 27px;
    height: 27px;
  }

  .accordion__icon::before,
  .accordion__icon::after {
    width: 11px;
    top: 45%;
  }
}

@media screen and (max-width: 375px) {
  .page-goods .pane-main {
    width: 100%;
  }

  .bg__blue {
    padding: 28px 24px 21px;
  }

  .bg__white {
    padding: 17px 17px 11.5px;
  }
}

/* commitment */
.block-commitment {
  margin-top: 37px;
  padding: 0 20px 120px;
}

.commitment-hdg-lv3 {
  border-bottom: none;
  font-size: 26px;
  font-weight: 600;
}

.commitment-list {
  margin-top: 26px;
}

.commitment-hdg-lv4 {
  font-size: 18px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .block-commitment {
    margin-top: 36px;
    padding-inline: 20px;
    padding-bottom: 40px;
  }

  .commitment-hdg-lv3 {
    font-size: 16px;
    margin-bottom: 0;
    padding: 0;
  }

  .commitment-list {
    margin-top: 10px;
  }

  .commitment-hdg-lv4 {
    font-size: 16px;
    padding: 0;
    margin-bottom: 11px;
  }
}

/* another product */
.another-product {
  background: url(/ga/common/img/bg-blue.png);
  background-repeat: repeat;
  background-size: contain;
  padding-block: 114px 118px;
  margin-inline: calc(50% - 50vw);
}

.another-product .container {
  padding-inline: 20px;
}

.another-product-hdg-lv3 {
  border-bottom: none;
  font-size: 26px;
  font-weight: 600;
}

.swiper-control {
  margin-top: 16px;
}

.another-product .swiper {
  overflow: visible;
}

.another-product .swiper-slide {
  width: 130px;
}

.another-product .swiper-slide img {
  border-radius: 8px;
  overflow: hidden;
}

.another-product .swiper-button-prev,
.another-product .swiper-button-next {
  background: #fff url(/ga/common/img/column-slider-left.png) center center no-repeat;
  border: #005baa solid 2px;
  border-radius: 999px;
  position: static;
  display: block;
  margin-top: 0;
  height: 47px;
  width: 47px;
}

.another-product .swiper-button-next {
  background: #fff url(/ga/common/img/column-slider-right.png) center center no-repeat;
}

.another-product .swiper-navigation-icon,
.another-product .swiper-button-next:after,
.another-product .swiper-button-prev:after {
  display: none;
}

.another-product .swiper-pagination {
  position: relative;
  max-width: 490px;
  height: 10px;
  background: #fff;
  margin-left: 14px;
  margin-right: 14px;
  border: #2c5baa solid 2px;
  border-radius: 999px;
}

.swiper-control {
  display: flex;
  align-items: center;
  justify-content: center;
}

.another-product-name {
  font-size: 13px;
  font-weight: 600;
  margin-top: 5px;
}

.another-product-more-btn {
  background-color: #ffe900;
  border: none;
  border-radius: 100px;
  color: #333;
  display: grid;
  grid-template-columns: 1fr 44px;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 600;
  transition: all 0.3s;
  margin: 28px auto 0;
  padding: 20px;
  position: relative;
  text-align: center;
  min-width: 300px;
  width: 43%;
}

.another-product-more-btn::after {
  content: "";
  content: "";
  background-image: url(/ga/common/img/ico_archivelink_large.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 44px;
  width: 44px;
}

.another-product .swiper-scrollbar {
  display: none;
}

.another-product .swiper-horizontal > .swiper-pagination-progressbar,
.another-product .swiper-pagination-progressbar.swiper-pagination-horizontal,
.another-product .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.another-product .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  height: 10px;
}

.another-product .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #2c5baa;
  border-radius: 999px;
}

@media (hover: hover) {
  .another-product-more-btn:hover {
    background-color: #005baa;
    color: #fff;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .another-product {
    padding: 36px 20px 40px;
  }

  .another-product-hdg-lv3 {
    font-size: 18px;
    padding: 0;
    margin-bottom: 13.5px;
  }

  .another-product .swiper-slide img {
    max-width: unset;
  }

  .another-product-more-btn {
    font-size: 16px;
    line-height: 1;
    grid-template-columns: 1fr 26.5px;
    padding: 17px;
    margin-bottom: 16px;
  }

  .another-product-more-btn::after {
    height: 26.5px;
    width: 26.5px;
  }

  .another-product .swiper-control {
    margin-top: 30px;
  }

  .another-product .swiper-button-next,
  .another-product .swiper-button-prev {
    visibility: hidden;
    height: 0;
  }

  .another-product .swiper-horizontal > .swiper-scrollbar,
  .another-product .swiper-scrollbar.swiper-scrollbar-horizontal {
    display: block;
    height: 10px;
  }

  .another-product .swiper-pagination {
    display: none;
  }
}

/* info selfcare */
.info-selfcare {
  padding: 114px 20px 104px;
}

.info-selfcare-hdg-lv3 {
  border-bottom: none;
  font-size: 26px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .info-selfcare {
    padding: 36px 20px 0;
  }

  .info-selfcare-hdg-lv3 {
    font-size: 18px;
    padding: 0;
    margin-bottom: 14px;
  }
}

/* 適正使用チェック */
.questionnaire {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s;
  height: 0;
}

.questionnaire.open {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  height: 100dvh;
  width: 100vw;
  z-index: 10000;
}

.questionnaire-content {
  background-color: #fff;
  margin-inline: auto;
  overflow: scroll;
  position: absolute;
  top: 10%;
  left: calc((100% - 72.5%) / 2);
  color: #333;
  padding: 10.77% 11.3% 9.375%;
  width: 72.5%;
  height: 80dvh;
}

.questionnaire-close {
  background-color: #005baa;
  border: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  position: fixed;
  top: 10%;
  right: calc((100% - 72.5%) / 2);
  cursor: pointer;
  height: 68px;
  width: 68px;
  white-space: nowrap;
}

.questionnaire-close::before {
  content: "×";
  display: block;
  font-size: 30px;
  height: 40px;
  width: 40px;
}

.questionnaire-head {
  font-size: 13px;
  font-weight: 600;
}

.questionnaire-hdg {
  border-bottom: none;
  font-size: 32px;
  text-align: center;
  margin-block: 53px;
}

.questionnaire-text {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}

.questionnaire-text--red {
  color: #af0000;
}

.questionnaire-main {
  margin-top: 50px;
}

.questionnaire-main > li {
  padding-block: 27.2px 30.5px;
}

.questionnaire-main > li:not(:nth-last-child(-n + 2)) {
  border-bottom: 1px solid #bdbdbd;
  padding-block: 27.2px 30.5px;
}

.questionnaire-main > li:last-child {
  padding-top: 108px;
}

.questionnaire-main .question-text,
.last-question-text {
  border-radius: 8px;
  display: block;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  align-items: center;
  column-gap: 14px;
  margin-bottom: 21px;
}

.last-question-text {
  font-size: 16px;
  font-weight: 400;
  margin-top: 20px;
}

.question-required::after {
  content: "必須";
  border: 1px solid #af0b00;
  color: #af0b00;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
}

.questionnaire-main input[type="text"],
.questionnaire-main textarea {
  border-radius: 8px;
  font-size: 18px;
  padding: 8px 19px;
  width: 100%;
}

.question-radio {
  display: flex;
  column-gap: 27px;
  font-size: 16px;
}

.question-item {
  list-style: disc;
  margin-left: 2em;
}

.mt47 {
  margin-top: 47px;
}

.question-radio + input[type="text"] {
  margin-top: 24px;
}

.last-question {
  font-size: 22px;
}

.last-question + .question-radio {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .questionnaire-content {
    top: 5dvh;
    left: 6vw;
    padding: 8.67vw 4.93vw;
    height: 90dvh;
    width: 88vw;
  }

  .questionnaire-close {
    font-size: 2.4vw;
    top: 5dvh;
    right: 6vw;
    height: 11.07vw;
    width: 11.07vw;
  }

  .questionnaire-close::before {
    content: "×";
    display: block;
    font-size: 4vw;
    height: 5.33vw;
    width: 5.33vw;
  }

  .questionnaire-head {
    font-size: 14px;
    margin-inline: auto;
    width: 61vw;
  }

  .questionnaire-hdg {
    font-size: 31.5px;
    margin-block: 31.5px 36px;
  }

  .questionnaire-text {
    font-size: 16px;
    line-height: 1.34;
    text-align: left;
  }

  .questionnaire-main {
    margin-top: 18px;
  }

  .questionnaire-main > li {
    padding-block: 18px;
  }

  .questionnaire-main > li:not(:nth-last-child(-n + 2)) {
    border-bottom: none;
  }

  .questionnaire-main > li:last-child {
    padding-block: 86px 0;
  }

  .questionnaire-main .question-text,
  .last-question-text {
    margin-bottom: 13.5px;
  }

  .question-radio + input[type="text"] {
    margin-top: 15px;
  }

  .questionnaire-main input[type="text"],
  .questionnaire-main textarea {
    font-size: 16px;
  }

  .question-required::after {
    font-size: 10px;
    padding: 1.5px 5.5px;
  }

  .question-radio {
    column-gap: 21.5px;
  }

  .mt47 {
    margin-top: 34px;
  }

  .last-question {
    font-size: 18px;
  }

  .last-question + .question-radio {
    margin-top: 11.5px;
  }

  .block-add-cart .block-add-cart--btn {
    margin-top: 16px;
  }

  .questionnaire-cancel {
    font-size: 16px;
    grid-template-columns: 1fr 26px;
    line-height: 1;
    margin-top: 16px;
    padding: 17px;
    width: 100%;
  }

  .questionnaire-cancel::after {
    height: 26px;
    width: 26px;
  }

  #questionnaire .block-add-cart--btn,
  #questionnaire .questionnaire-cancel,
  .block-add-no-stock--btn {
    width: 100%;
  }
}

/* for dummy */
.dummy {
  background-color: rgba(0, 0, 0, 0.78);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 336px;
  width: 352px;
}

@media screen and (max-width: 767px) {
  .dummy {
    height: 55.2vw;
    width: 70.4vw;
  }
}

.block-goods-category-link{
    font-weight: 400!important;
}
.goods-detail-note.is-black{
    color: #000000;
}
@media screen and (min-width: 769px) {
    .btn-switch-goods{
        padding: 18px;
    }
}
@media screen and (max-width: 767px) {
    .btn-switch-goods-col1, .btn-switch-goods-col2 {
        flex-wrap: wrap;
    }
    .btn-switch-goods {
        padding: 6vw 3.53vw;
    }
    .block-goods-price--default-price {
        transform: translateX(0px);
    }
}
@media (hover: hover) {
    .btn-switch-goods:not(.this):hover {
        padding: 18px;
    }
}

p.small__dot--text::before {
  display: none;
}

.info-detail-contents .bg__white.is-empty{
    display: none;
}
.info-detail-contents .bg__white.is-empty + .note__block{ 
    margin-top: 0;
}
@media screen and (min-width: 769px) {
    .block-goods-detail--color-variation-goods-image .swiper-slider-main{
        width: 65%;
        padding: 2%;
    }
}

#lightbox .lb-dataContainer .lb-details .lb-caption{
    display: none!important;
}
@media screen and (min-width: 769px) {
    .info-detail-contents + .bread-crumb-bottom{
        margin-top: 50px;
    }
}

.text-link{
    color: #005baa;
}
.mt__list--item{
    margin-top: 16px;
}

.m-center {
	margin: 0 auto;
}


.mt-80 {
	margin-top: 80px;
}

.mb-80 {
	margin-bottom: 80px;
}


.mt-40 {
	margin-top: 40px;
}

.mb-40 {
	margin-bottom: 40px;
}


.mt-32 {
	margin-top: 32px;
}

.mb-32 {
	margin-bottom: 32px;
}


.mt-24 {
	margin-top: 24px;
}

.mb-24 {
	margin-bottom: 24px;
}


.mt-16 {
	margin-top: 16px;

}

.mb-16 {
	margin-bottom: 16px;
}

.mb-12 {
	margin-bottom: 12px;
}


.mt-8 {
	margin-top: 8px;
}

.mb-8 {
	margin-bottom: 8px;
}


.ml-20 {
	margin-left: 20px;
}

.pl-16 {
	padding-left: 16px;
}

.bg-white {
	background-color: #fff;
}

.bg-gray {
	background-color: #f6f6f4;
}

.bg-blue {
	background-color: #eaf6fc;
}

.bg-orange {
	background-color: #fdf2ea;
}


.marker {
	background-color: #ffff00;
	display: inline;
}


.txt-blue {
	color: #005baa;
}


.txt-red {
	color: #db342e;

}

.bold-txt{
    font-weight: bold;
}

.l-ttl {
    font-size: 20px;
}
@media screen and (max-width: 768px) {
    .l-ttl {
        font-size: 18px;
    }
}
/* ==========================================
 * 表組み
 * ========================================== */

@media (max-width: 768px) {
  .table-scroll {
    overflow-x: scroll;
  }
}

.table {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 8px;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  background-color: #fff;
}

.table tbody {
  width: 100%;
  display: table;
}

.table th,
.table td {
  padding: 16px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  text-align: left;
}

.table th {
  width: 30%;
  font-family: "Hiragino UD Sans W6 JIS2004", sans-serif;
}

@media (max-width: 768px) {
  .table th {
    width: 40%;
  }
}

.table td {
  width: 70%;
}

@media (max-width: 768px) {
  .table td {
    width: 60%;
  }
}

.table caption {
  text-align: left;
}

/* table--01 */

.table--01 tr:first-child:last-child th {
  border-radius: 8px 0 0 8px;
}

.table--01 tr:first-child:last-child td {
  border-radius: 0 8px 8px 0;
}

.table--01 tr:first-child th {
  border-radius: 8px 0 0 0;
}

.table--01 tr:first-child td {
  border-radius: 0 8px 0 0;
}

.table--01 tr:last-child th {
  border-radius: 0 0 0 8px;
}

.table--01 tr:last-child td {
  border-radius: 0 0 8px 0;
}

.table--01 tr th {
  background-color: #005baa;
  color: #fff;
}

@media (max-width: 768px) {
  .table--01.sp-table tr:first-child th {
    border-radius: 8px 8px 0 0;
  }

  .table--01.sp-table tr:last-child th {
    border-radius: 0;
  }

  .table--01.sp-table tr:first-child td {
    border-radius: 0;
  }

  .table--01.sp-table tr:last-child td {
    border-radius: 0 0 8px 8px;
  }

  .table--01.sp-table th,
  .table--01.sp-table td {
    width: 100%;
    display: block;
  }
}

/* table--02 */

.table--02 tr:first-child:last-child th {
  border-radius: 8px 0 0 8px;
}

.table--02 tr:first-child:last-child td {
  border-radius: 0 8px 8px 0;
}

.table--02 tr:first-child th {
  border-radius: 8px 0 0 0;
}

.table--02 tr:first-child td {
  border-radius: 0 8px 0 0;
}

.table--02 tr:last-child th {
  border-radius: 0 0 0 8px;
}

.table--02 tr:last-child td {
  border-radius: 0 0 8px 0;
}

@media (max-width: 768px) {
  .table--02 {
    display: inline-table;
  }
}

.table--02 thead th {
  border-radius: 8px 8px 0 0;
  background-color: #005baa;
  color: #fff;
}

.table--02 tbody tr:last-child th {
  border-radius: 0 0 0 8px;
}

.table--02 tbody tr:last-child td {
  border-radius: 0 0 8px 0;
}

.table--02 tbody th {
  width: 25%;
  font-family: "Hiragino UD Sans W3 JIS2004", sans-serif;
}

@media (max-width: 768px) {
  .table--02 tbody th {
    width: 35%;
  }
}

.table--02 tbody td {
  width: 75%;
  text-align: left;
}

@media (max-width: 768px) {
  .table--02 tbody td {
    width: 65%;
  }
}

.table--02 tbody td.full {
  text-align: left;
  width: 100%;
}
.table--02 tr th {
  background-color: #005baa;
  color: #fff;
}
/* table--03 */

.table--03 {
  table-layout: fixed;
  font-family: "Hiragino UD Sans W3 JIS2004", sans-serif;
}

@media (max-width: 768px) {
  .table--03 {
    display: inline-table;
  }
}

.table--03 thead th {
  background-color: #005baa;
  color: #fff;
  text-align: center;
  width: 100%;
}

.table--03 thead th:first-child {
  border-radius: 8px 0 0 0;
}

.table--03 thead th:last-child {
  border-radius: 0 8px 0 0;
}

.table--03 tbody {
  display: contents;
}

@media (max-width: 768px) {
  .table--03 tbody tr:first-child th {
    border-radius: 8px 0 0 8px;
  }

  .table--03 tbody tr:first-child:has(+ tr) th {
    border-radius: 8px 0 0 0;
    width: 40%;
  }

  .table--03 tbody tr:first-child:has(+ tr) td {
    border-radius: 0 8px 0 0 !important;
    width: 60%;
  }

  .table--03 tbody tr:first-child td:last-child {
    border-radius: 0 8px 8px 0;
  }
}

.table--03 tbody tr:last-child td:first-child {
  border-radius: 0 0 0 8px;
}

.table--03 tbody tr:last-child td:last-child {
  border-radius: 0 0 8px 0;
}

.table--03 tbody tr:last-child th {
  border-bottom-left-radius: 8px;
}

.table--03 tbody th.item {
  background-color: #005baa;
  color: #fff;
}

@media (max-width: 768px) {
  .table--03 tbody th.item {
    width: 100%;
  }
}

.table--03 tbody td {
  width: 100%;
}

/* table--04 */

.table--04 {
  table-layout: fixed;
}

@media (max-width: 768px) {
  .table--04 {
    width: 100%;
    min-width: 1120px;
  }
}

.table--04 thead th {
  background-color: #005baa;
  color: #fff;
}

.table--04 thead th:first-child {
  border-radius: 8px 0 0 0;
}

.table--04 thead th:last-child {
  border-radius: 0 8px 0 0;
}

.table--04 tbody {
  display: contents;
}

.table--04 tbody tr:last-child th:first-child {
  border-radius: 0 0 0 8px;
}

.table--04 tbody tr:last-child td:last-child {
  border-radius: 0 0 8px 0;
}

.table--04 tbody tr th {
  background-color: #f5f5f5;
  color: #333;
}

.border-gray {
	border: 1px solid #ddd;
}

.border-gray-02 {
	border: 1px solid #707070;
}

.border-red {
	border: 1px solid #FF0000;
}

.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.radius {
	border-radius: 8px;
}

.radius-02 {
	border-radius: 4px;
}
@media (max-width: 768px) {
    .bg__white{
        border-radius: 10px;
    }
}
.bg__white + .table-box{
    margin-top: 40px;
}
.table-box + .table-box{
    margin-top: 40px;
}
@media (max-width: 768px) {
    .bg__white + .table-box{
        margin-top: 20px;
    }
    .table-box + .table-box{
        margin-top: 20px;
    }
}

.nostock{
  display: block;
  text-align: left;
  color:red;
  font-weight: 600;
  font-size:80%;
}

/*入荷申し込みのセレクトボックスを非表示*/
.block-variation-arrival-notice--form{
  display: none;
}

.block-variation-arrival-notice--btn{
  background: #005baa;
  border: none;
  color:#fff
}
@media screen and (max-width:767px){
  .block-variation-back-order{
    order: 130;
    margin-top: 6cqw;
  }
  .block-variation-arrival-notice--btn{
    padding: 15px 0;
  }  
}

.bg__white sup{
  vertical-align: super!important;
  font-size: smaller!important;
}

.bg__white.is-empty + .table-box{
  margin-top: 0;
}

.accordion__header.is-open{
  margin-bottom: 0;
}

.bg__white p{
  display: flex;
}
.note__block p{
  display: flex;
}
.bg__white .ind-1{
  text-indent: 1em;
}
.bg__white .ind-2{
  text-indent: 2em;
}
.bg__white .ind-25 {
  text-indent: 2.5em;
}
.bg__white .ind-3{
  text-indent: 3em;
}

.note-maru{
  display: flex;
}
.note-kaku{
  display: flex;
}
.note-ten{
  display: flex;
}
.note-kome{
  display: flex;
}

/* ==========================================
   第1階層（親リスト）： 1. 形式
========================================== */
ol.order__list.is-not-num,
ul.order__list.is-not-num {
  counter-reset: main-counter; /* 親カウンタのリセット */
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.order__list.is-not-num > li {
  counter-increment: main-counter; /* 親カウンタのカウントアップ */
  display: table;                  /* ぶら下がり位置を揃える構成 */
  width: 100%;
}

.order__list.is-not-num > li + li{
  margin-top: .8em;
}

.order__list.is-not-num > li::before {
  content: counter(main-counter) "."; /* 「1.」形式 */
  display: table-cell;
  width: 1.8em;                     /* 番号エリアの幅（長さに合わせて調整可） */
  padding-right: 0.4em;
  white-space: nowrap;
  vertical-align: top;
}


/* ==========================================
   第2階層（子リスト）：（1）形式
========================================== */
.order__list.is-not-num > li > .order__list.is-not-num {
  counter-reset: sub-counter; /* 子カウンタのリセット */
  padding-left: 0;
  margin-top: 0.5em;
}

.order__list.is-not-num > li > .order__list.is-not-num > li {
  counter-increment: sub-counter; /* 子カウンタのカウントアップ */
  display: table;
  width: 100%;
}

.order__list.is-not-num > li > .order__list.is-not-num > li + li{
  margin-top: 0;
}

.order__list.is-not-num > li > .order__list.is-not-num > li::before {
  content: "(" counter(sub-counter) ")"; /* 「(1)」形式 */
  display: table-cell;
  width: 2.2em;                        /* 番号エリアの幅 */
  padding-right: 0.4em;
  white-space: nowrap;
  vertical-align: top;
}

.goods-detail-note.is-kome + .goods-detail-note{
  margin-top: 10px;
}

.bg__white sub{
  font-size:smaller!important;
}

.dbn{
  display: none;
}

.block-add-no-stock{
  order:125;
}

.bg__white p.product-name{
  display: block;
}
.bg__white p.product-name sub{
  font-size:.75em;
}

.mt-0{
  margin-top:0!important;
}
@media screen and (max-width:767px){
.sw90p{
  width: 90%;
}
.sw80p{
  width: 80%;
}
.sw70p{
  width: 70%;
}
.sw60p{
  width: 60%;
}
.sw50p{
  width: 50%;
}
.sw40p{
  width: 40%;
}
.sw30p{
  width: 30%;
}
.sw20p{
  width: 20%;
}
.sw10p{
  width: 10%;
}
.sw0p{
  width: 0%;
}
}
@media screen and (min-width:768px){
.pw90p{
  width: 90%;
}
.pw80p{
  width: 80%;
}
.pw70p{
  width: 70%;
}
.pw60p{
  width: 60%;
}
.pw50p{
  width: 50%;
}
.pw40p{
  width: 40%;
}
.pw30p{
  width: 30%;
}
.pw20p{
  width: 20%;
}
.pw10p{
  width: 10%;
}
.pw0p{
  width: 0%;
}
}
li.list-style-red::before{
  color:#db342e;
}

.info-detail-contents .category__title{
  background: transparent;
}

