[data-aspect-ratio="690:460"]:before {
  padding-top: calc((460 / 690) * 100%);
}

[data-aspect-ratio="388:690"]:before {
  padding-top: calc((690 / 388) * 100%);
}

[lang=en] body {
  font-size: 14px;
}

.heroImage {
  position: relative;
}

.heroMainText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  color: #fff;
  font-size: 60px;
  line-height: 1;
}

.heroSubText {
  position: absolute;
  left: 50%;
  bottom: 15px;
  transform: translateX(-50%);
  text-align: center;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  width: 100%;
}

.anchorImageButton {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.anchorImageButton_item {
  width: calc((99.99999%) / 3)
}

.anchorImageButton_itemInner {
  position: relative;
  display: block;
  padding-bottom: 18px;
  height: 100%;
}

.anchorImageButton_itemInner:after {
  margin: auto;
  position: absolute;
  content: "";
  background: url(https://www.uniqlo.mom/jp/ja/contents/feature/common/img/easybottoms/arrow.svg) no-repeat;
  bottom: 0;
  left: calc(50% - 7px);
  width: 14px;
  height: 7.52px
}

.featureContainer_item {
  display: flex;
  flex-wrap: wrap;
}

.featureContainer_imageWrap {
  width: calc((120 / 345) * 100%);
}

.featureContainer_content {
  flex: 1;
  margin-left: 15px;
}

.featureContainer_label {
  font-family: 'Helvetica Neue', Roboto, Helvetica, -apple-system, Yu Gothic UI, Segoe UI, sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.featureContainer_note {
  font-size: 12px;
  color: #7D7D7D;
}

.anchorImageButton_text {
  font-family: 'Helvetica Neue', Roboto, Helvetica, -apple-system, Yu Gothic UI, Segoe UI, sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

.fr-fixedAnchor.-slideAnchor.-horizontalScroll .fr-fixedAnchor_item {
  max-width: inherit;
}

.-noMarginBottom[data-component-type=ProductGridStyling] .fr-bff-product:last-child {
  margin-bottom: 0;
}

.fr-video_container.-portrait {
  width: calc((194 / 375) * 100%);
  margin-right: auto;
  margin-left: auto;
}

/* userRevier */
.userReviewsMore {
  margin-top: 32px;
}

.userReviewHeading {
  margin-top: 24px;
  font-size: 15px;
  line-height: 23px;
  font-weight: 700
}

[lang=en] .userReviewHeading {
  font-size: 18px;
  line-height: 24px;
}

.userReviewMain {
  margin-top: 16px;
}

.userReviewOther {
  margin-top: 21px;
}

.userReview+.userReview {
  margin-top: 24px;
}

.userReviewStars {
  display: flex;
  align-items: center
}

.userReviewStar {
  background: url(https://www.uniqlo.mom/jp/ja/contents/feature/common/img/common/star.svg) 0/5em 1em no-repeat;
  display: inline-block;
  height: 1em;
  vertical-align: sub;
  width: 1em
}

.userReviewStarImplicit {
  border: 0;
  clip: rect(1px 1px 1px 1px);
  height: 0;
  margin: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 0
}

.userReviewStar+.userReviewStar {
  margin-left: 3px
}

.userReviewStar.-half {
  background-position: -2em
}

.userReviewStar.-active {
  background-position: -4em
}

.userReviewComment {
  margin-top: 16px;
  font-size: 14px;
  line-height: 21px
}

[lang=en] .userReviewComment {
  line-height: 19px
}

.userReviewUser {
  margin-top: 16px;
  font-size: 11px;
  line-height: 16px;
  color: #7d7d7d;
}

[lang=en] .userReviewUser {
  font-size: 12px;
}

.userReviewAccordion {
  background-color: #fff;
  overflow: hidden
}

.userReviewAccordion+.userReviewAccordion {
  margin-top: 0
}

.userReviewAccordion_heading {
  font-family: 'Helvetica Neue', Roboto, Helvetica, -apple-system, Yu Gothic UI, Segoe UI, sans-serif;
  font-weight: 500;
  align-items: center;
  border: 1px solid #dadada;
  border-width: 1px 0;
  cursor: pointer;
  display: flex;
  font-size: 15px;
  line-height: 23px;
  padding: 16px 0;
}

[lang=en] .userReviewAccordion_heading {
  line-height: 20px;
}

.userReviewAccordion+.userReviewAccordion .userReviewAccordion_heading {
  border-top-width: 0
}

.userReviewAccordion_checkBox {
  display: none
}

.userReviewAccordion_headingInner {
  flex: 1
}

.userReviewAccordion_heading:after {
  align-items: center;
  display: flex;
  justify-content: center;
  content: "";
  background: url(https://www.uniqlo.mom/jp/ja/contents/feature/common/img/common/plus-glay.svg) 0/cover no-repeat;
  margin-left: auto;
  width: 12px;
  height: 12px
}

.userReviewAccordion_content {
  border-bottom: 1px solid #dadada;
  height: 0;
  opacity: 0;
  padding: 0;
  transition: .5s;
  visibility: hidden
}

.userReviewAccordion_contentInner {
  display: none
}

.userReviewAccordion_checkBox:checked+.userReviewAccordion_heading {
  border-bottom: 0
}

.userReviewAccordion_checkBox:checked+.userReviewAccordion_heading:after {
  background: url(https://www.uniqlo.mom/jp/ja/contents/feature/common/img/common/minus-glay.svg) 0/contain no-repeat
}

.userReviewAccordion_checkBox:checked+.userReviewAccordion_heading+.userReviewAccordion_content {
  height: auto;
  opacity: 1;
  visibility: visible;
  padding-top: 16px;
  padding-bottom: 32px;
}

.userReviewAccordion_checkBox:checked+.userReviewAccordion_heading+.userReviewAccordion_content .userReviewAccordion_contentInner {
  display: block
}

.imageTextContent {
  display: flex;
  flex-wrap: wrap;
}

.imageTextContent_imageWrap {
  width: calc((120 / 345) * 100%);
}

.imageTextContent_textWrap {
  flex: 1;
  margin-left: 15px;
}

.fr-fixedAnchor.js-fr-fixedAnchor.-deleteShadow {
  box-shadow: none;
}

.fr-fixedAnchor.js-fr-fixedAnchor.-deleteShadow.-isActive {
  box-shadow: 0 4px 2px -3px var(--color-gray150);
}

.fr-anchorButton_item.-halfToOneThird,
.fr-anchorButton_item.-halfToQuarter {
  width: 50%;
}

.fr-anchorButton_item.-fullToHalf,
.fr-anchorButton_item.-fullToOneThird {
  width: 100%;
}

.anchorAdjust {
  padding-top: 68px;
  margin-top: -68px;
}

.fr-fixedAnchor.-slideAnchor {
  display: none;
}

.fr-fixedAnchor.-slideAnchor.is-show {
  display: block;
  margin-top: -70px;
  animation: anchorShow 0.3s linear 0s;
}

@keyframes anchorShow {
  0% {
    opacity: 0.5;
    transform: translateY(-70px);
  }

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

.productDetail_body {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.productBody_image {
  width: calc((120 / 345) * 100%); 
}

.productBody_content {
  flex: 1;
  margin-left: 4vw;
}

.adviceWrapper {
  border: 1px #dadada solid;
  background-color: #f4f4f4;
  padding: 4vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.advisorImg {
  width: 26.667vw;
}

.advisor {
  width: 26.667vw;
  height: 26.667vw;
  border-radius: 50%;
}

.advisorComment {
  flex: 1;
  margin-left: 4vw;
}

.u_font_large {
  font-size: 16px;
}

.u_font_normal {
  font-size: 14px;
}

@media screen and (min-width: 813px) {
  [data-pc-aspect-ratio="1764:864"]:before {
    padding-top: calc((864 / 1764) * 100%);
  }

  /* override */
  a:hover:not(.fr-tabs_itemLink),
  a:hover img,
  a:hover p,
  a[href]:not(.fr-tabs_itemLink):hover,
  a[href]:hover img,
  a[href]:hover p,
  a[data-link]:hover,
  a[data-link]:hover img,
  .js-video:hover,
  .u_textLink:hover {
    cursor: pointer;
    opacity: 0.8;
    text-decoration: none;
  }
  .fr-linkButton {
    transition: 0.5s;
  }

  [lang=en] body {
    font-size: 16px;
  }

  .heroMainText {
    font-size: 80px;
  }

  .heroSubText {
    bottom: 40px;
    font-size: 30px;
  }

  .featureContainer {
    display: flex;
    flex-wrap: wrap;
  }

  .featureContainer_item {
    flex-direction: column;
    width: calc((100% - 48px) / 3);
    margin-left: 24px;
  }

  .featureContainer_item:first-of-type,
  .featureContainer_item:nth-of-type(3n + 1) {
    margin-left: 0;
  }

  .featureContainer_imageWrap {
    width: 100%;
  }

  .featureContainer_content {
    margin-left: 0;
  }

  .featureContainer_label {
    font-size: 16px;
  }

  .anchorImageButton_item {
    width: calc((99.99999%) / 6)
  }

  .anchorImageButton_itemInner {
    padding-bottom: 29px;
  }

  .anchorImageButton_text {
    font-size: 19px;
  }

  .fr-fixedAnchor.-horizontalScroll .fr-fixedAnchor_itemLink.-noPadding {
    padding: 0;
  }

  .-mainImageBFF[data-component-type=ProductGridStyling][data-component-column="1"] .fr-bff-product_imgWrapper {
    width: 126px;
  }

  .fr-video_container.-portrait {
    width: calc((351 / 1176) * 100%);
  }

  /* userReview */
  .userReviewsMore {
    margin-top: 40px;
  }

  .userReviewHeading {
    margin-top: 40px;
    font-size: 18px;
    line-height: 27px
  }

  [lang=en] .userReviewHeading {
    font-size: 25px;
    line-height: 34px;
  }

  .userReview+.userReview {
    margin-top: 40px;
  }

  .userReviewOther {
    margin-top: 28px;
  }

  .userReviewStars {
    text-align: center
  }

  .userReviewStar {
    font-size: 17px
  }

  .userReviewComment {
    font-size: 16px;
    line-height: 24px
  }

  [lang=en] .userReviewComment {
    line-height: 22px
  }

  .userReviewUser {
    font-size: 14px;
    line-height: 21px
  }

  .userReviewAccordion_heading {
    transition: opacity .6s;
    cursor: pointer
  }

  .userReviewAccordion_heading:hover {
    opacity: .7
  }

  .userReviewAccordion_heading {
    font-size: 18px;
    line-height: 27px;
    padding: 20px 0;
  }

  [lang=en] .userReviewAccordion_heading {
    font-size: 22px;
    line-height: 30px;
  }

  .userReviewAccordion_heading:after,
  .userReviewAccordion_headingInner {
    margin-right: 12px;
  }

  .userReviewAccordion_heading:after {
    color: #ababab;
    width: 16px;
    height: 16px
  }

  .userReviewAccordion_content {
    font-size: 14px;
    line-height: 19.6px
  }

  .userReviewAccordion_checkBox:checked+.userReviewAccordion_heading+.userReviewAccordion_content {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  .normalContetnt {
    margin-right: calc((75 / 1176) * 100%);
    margin-left: calc((75 / 1176) * 100%);
  }

  .smallContainer {
    margin-right: calc((150 / 1176) * 100%);
    margin-left: calc((150 / 1176) * 100%);
  }

  .littleContainer {
    margin-right: calc((300 / 1176) * 100%);
    margin-left: calc((300 / 1176) * 100%);
  }

  .imageTextContent_imageWrap {
    width: calc((186 / 576) * 100%);
  }

  .imageTextContent_textWrap {
    margin-left: 24px;
  }

  .swiper-button-next.-addPagenation,
  .swiper-button-prev.-addPagenation {
    top: calc(50% - 14px);
  }

  .fr-anchorButton_item.-halfToOneThird,
  .fr-anchorButton_item.-fullToOneThird {
    width: calc(99.99999% / 3);
  }

  .fr-anchorButton_item.-halfToQuarter {
    width: calc(100% / 4);
  }
  .fr-anchorButton_item.-fullToHalf {
    width: 50%;
  }

  .anchorAdjust {
    padding-top: 81px;
    margin-top: -81px;
  }

  .fr-fixedAnchor.-slideAnchor.is-show {
    margin-top: -83px;
  }

  @keyframes anchorShow {
    0% {
      opacity: 0.5;
      transform: translateY(-83px);
    }

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

  .productContents {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .productContents_image,
  .productBody_image {
    width: calc((99.99999% - 24px) / 2);
  }

  .productDetail_body,
  .productContents_detail,
  .productBody_content {
    flex: 1;
    margin-left: 24px;
  }

  .productDetail_functionList {
    width: 100%;
  }

  .adviceWrapper {
    padding: 30px 24px;
  }

  .advisorImg {
    width: calc((150 / 876) * 100%);
    height: 100%;
  }

  .advisor {
    width: 100%;
    height: 100%;
  }

  .advisorComment {
    margin-left: 24px;
  }

  .u_font_large {
    font-size: 18px;
  }

  .u_font_normal {
    font-size: 16px;
  }

  .u_alignPC_center {
    text-align: center;
  }
}

@media screen and (max-width: 812px) {
  .swiper-container.-noPaddingBottom {
    padding-bottom: 0;
  }

  .featureContainer_item:not(:first-of-type) {
    margin-top: 9px;
  }

  .anchorImageButton_item:nth-of-type(n + 4) {
    margin-top: 21px;
  }
}

@media screen and (max-width: 671px) {
  .fr-fixedAnchor.-slideAnchor.-horizontalScroll .fr-fixedAnchor_item {
    width: calc(100% / 3.5);
    max-width: calc(100% / 3.5);
    min-width: auto;
  }
}