/*//////////////////////////////////////////////////

Title : snapDetail.scss
For   : IGA BENENT of the site

Created       : 2023-01-30
Last Modified : 2023-02-28

==========================================

Content
    01: commoon
    02: layout
    03: slider
    04: staffcard
    05: comment
    06: keyword
    07: wearItem
    08: CoordinateParts
    09: CoordinatePartsSortByPv

//////////////////////////////////////////////////*/
/* ===================== 01: commoon */
/* typography */
.benent--snapDetail .anchor {
  display: inline;
  color: var(--color-decoration);
  font-weight: 600;
  text-decoration: underline;
}
.benent--snapDetail .anchor:hover {
  text-decoration: underline;
}
.benent--snapDetail .benentParts__ttl {
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.15em;
}
.benent--snapDetail .benentParts__thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.benent--snapDetail .benentParts__desc .avator {
  grid-column: 1;
  grid-row: span 2;
  aspect-ratio: 1/1;
}
.benent--snapDetail .benentParts__desc .avator img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50vh;
}
.benent .displayCtrl .btnBase {
  font-weight: normal;
  letter-spacing: 0.125em;
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benent--snapDetail .benentParts__body {
    padding-inline: calc(30 * 100vw / 750);
  }
  .benent--snapDetail .benentParts__ttl {
    -webkit-margin-after: var(--dist-title, calc(30 * 100vw / 750));
            margin-block-end: var(--dist-title, calc(30 * 100vw / 750));
    font-size: calc(30 * 100vw / 750);
  }
  .benent--snapDetail .benentParts__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: calc(22 * 100vw / 750);
         column-gap: calc(22 * 100vw / 750);
    row-gap: calc(35 * 100vw / 750);
  }
  .benent--snapDetail .benentParts__desc {
    --size-avator: calc(60 * 100vw / 750);
    -webkit-margin-before: calc(12 * 100vw / 750);
            margin-block-start: calc(12 * 100vw / 750);
  }
  .benent--snapDetail .benentParts__descDetail {
    -webkit-margin-before: calc(12 * 100vw / 750);
            margin-block-start: calc(12 * 100vw / 750);
    font-size: calc(22 * 100vw / 750);
    line-height: calc(33 * 100vw / 750);
  }
  .benent--snapDetail .displayCtrl {
    padding-inline: calc(170 * 100vw / 750);
    -webkit-margin-before: calc(50 * 100vw / 750);
            margin-block-start: calc(50 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  #benent {
    --padding-inline: 0;
  }
  .benent--snapDetail .benentParts__ttl {
    -webkit-margin-after: var(--dist-title, 20px);
            margin-block-end: var(--dist-title, 20px);
    font-size: 18px;
  }
  .benent--snapDetail .benentParts__desc {
    --size-avator: 40PX;
    -webkit-margin-before: 12px;
            margin-block-start: 12px;
  }
  .benent--snapDetail .benentParts__desc .productName {
    line-height: 1.7142857143;
  }
  .benent--snapDetail .benentParts__descDetail {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    font-size: 12px;
    line-height: 20px;
  }
  .benent--snapDetail .displayCtrl .btnBase {
    height: 30px;
  }
}
/* ===================== 02: layout */
.benentDetail__detailsContents {
  border-top: var(--color-gray) 1px solid;
}
.benentDetail__footerContent .benentParts__body .btnBase {
  font-weight: 500;
}
.benentDetail__footerContent--otherSnap {
  background-color: var(--color-bg-1);
}
.benentDetail__footerContent--otherSnap .benentParts__desc {
  display: none;
}

/* --- carousel parts --- */
.benentDetail .carousel__btn {
  position: absolute;
  top: 50%;
  height: 100%;
  background-image: url(/Contents/ImagesPkg/benent/carousel-arrow.svg);
  background-size: var(--background-size, 100%);
  background-repeat: no-repeat;
  z-index: 1;
  cursor: pointer;
}
.benentDetail .carousel__btn--prev {
  transform: rotate(180deg) translateY(50%);
}
.benentDetail .carousel__btn--next {
  transform: rotate(0deg) translateY(-50%);
}
.benentDetail .carousel__thumbItem {
  aspect-ratio: 150/200;
}
.benentDetail .carousel__thumbItem img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.benentDetail .carousel__thumbItem.is-current {
  border: 1px solid var(--color-main);
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentDetail {
    font-size: calc(24 * 100vw / 750);
  }
  .benentDetail__details {
    padding-inline: calc(30 * 100vw / 750);
  }
  .benentDetail__detailsHead + .benentDetail__detailsContents {
    -webkit-margin-before: calc(60 * 100vw / 750);
            margin-block-start: calc(60 * 100vw / 750);
  }
  .benentDetail__detailsContents {
    -webkit-padding-before: calc(60 * 100vw / 750);
            padding-block-start: calc(60 * 100vw / 750);
  }
  .benentDetail__detailsContents .benentParts__body {
    padding-inline: 0;
  }
  .benentDetail__footerContent {
    -webkit-padding-before: calc(80 * 100vw / 750);
            padding-block-start: calc(80 * 100vw / 750);
  }
  .benentDetail__footerContent:first-of-type {
    -webkit-margin-before: calc(80 * 100vw / 750);
            margin-block-start: calc(80 * 100vw / 750);
  }
  .benentDetail__footerContent:not(:last-of-type) {
    -webkit-padding-after: calc(80 * 100vw / 750);
            padding-block-end: calc(80 * 100vw / 750);
  }
  .benentDetail__footerContent .benentParts__body .btnElem {
    --height-button: calc(80 * 100vw / 750);
    --fontsize-button: calc(30 * 100vw / 750);
    max-width: calc(350 * 100vw / 750);
    -webkit-margin-before: calc(50 * 100vw / 750);
            margin-block-start: calc(50 * 100vw / 750);
    margin-inline: auto;
  }
  /* --- carousel parts --- */
  .benentDetail .carousel__btn {
    --background-size: calc(20 * 100vw / 750);
    width: calc(80 * 100vw / 750);
    background-position: center;
  }
  .benentDetail .carousel__btn--prev {
    left: 0;
  }
  .benentDetail .carousel__btn--next {
    right: 0;
  }
  .benentDetail .carousel__thumbs {
    display: flex;
    -moz-column-gap: calc(15 * 100vw / 750);
         column-gap: calc(15 * 100vw / 750);
    -webkit-margin-before: calc(15 * 100vw / 750);
            margin-block-start: calc(15 * 100vw / 750);
    padding-inline: calc(30 * 100vw / 750);
    overflow-x: auto;
  }
  .benentDetail .carousel__thumbItem {
    width: calc(150 * 100vw / 750);
    flex-shrink: 0;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentDetail {
    font-size: 14px;
  }
  .benentDetail__inner {
    display: grid;
    grid-template-columns: 50% 1fr;
    -moz-column-gap: 6.7%;
         column-gap: 6.7%;
    width: 100%;
    margin-inline: auto;
  }
  .benentDetail__detailsHead + .benentDetail__detailsContents {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
  .benentDetail__detailsContents {
    -webkit-padding-before: 40px;
            padding-block-start: 40px;
  }
  .benentDetail__footerContent {
    -webkit-padding-before: 60px;
            padding-block-start: 60px;
  }
  .benentDetail__footerContent:first-of-type {
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
  }
  .benentDetail__footerContent:not(:last-of-type) {
    -webkit-padding-after: 60px;
            padding-block-end: 60px;
  }
  .benentDetail__footerContent .benentParts__body {
    display: grid;
    grid-template-columns: 1fr 110px;
    row-gap: 20px;
  }
  .benentDetail__footerContent .benentParts__body .btnElem {
    --height-button: 30px;
    --fontsize-button: 14px;
    grid-column: 2;
    grid-row: 1;
  }
  .benentDetail__footerContent .benentParts__ttl {
    grid-column: 1;
    grid-row: 1;
    --dist-title: 0;
  }
  .benentDetail__footerContent .benentParts__list {
    grid-column: span 2;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
  }
  .benentDetail__footerContent .benentParts__thumb {
    aspect-ratio: 175/233;
  }
  /* --- carousel parts --- */
  .benentDetail .carousel__btn {
    --background-size: 10px;
    width: 30px;
    background-position: center;
  }
  .benentDetail .carousel__btn--prev {
    left: 0;
  }
  .benentDetail .carousel__btn--next {
    right: 0;
  }
  .benentDetail .carousel__thumbs {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    max-width: 530px;
    width: 100%;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    margin-inline: auto;
  }
}
/* ===================== 03: slider */
.benentDetail__highlight img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.benentDetail__visual {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.benentDetail__visual .benentFavo {
  justify-content: center;
  flex-direction: column;
  position: absolute;
  border-radius: 50vh;
  color: var(--color-fashion);
  background-color: rgba(255, 255, 255, 0.8);
  z-index: var(--zindex-front);
}
.benentDetail__visual .benentFavo__ico {
  margin-inline: auto;
}
.benentDetail__visual .benentFavo__ico svg {
  display: block;
}
.benentDetail__visual .benentFavo__count {
  line-height: 1;
}
.benentDetail__visual .favorite-icon__wrapper > a {
  display: grid;
  place-content: center;

  padding: .75rem;
}
@media (min-width: 768px) {
  .benentDetail__visual .favorite-icon__wrapper > a {
    padding: 1rem;
  }
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentDetail__highlight {
    aspect-ratio: 750/1000;
  }
  .benentDetail__visual .benentFavo {
    width: calc(90 * 100vw / 750);
    height: calc(90 * 100vw / 750);
    top: calc(880 * 100vw / 750);
    right: calc(30 * 100vw / 750);
  }
  .benentDetail__visual .benentFavo__count {
    font-size: calc(22 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentDetail__highlight {
    max-width: 530px;
    aspect-ratio: 530/706;
  }
  .benentDetail__visual {
    max-width: 600px;
  }
  .benentDetail__visual .benentFavo {
    bottom: 10px;
    right: 45px;
    width: 68px;
    height: 68px;
  }
  .benentDetail__visual .benentFavo__ico {
    --icon-favo: 30px;
  }
  .benentDetail__visual .benentFavo__count {
    font-size: 12px;
  }
}
/* ===================== 04: staffcard */
.benentDetail .staffCard__panel {
  display: flex;
  align-items: center;
  background-color: var(--color-bg-1);
  border-radius: var(--border-radius);
}
.benentDetail .staffCard__icon {
  aspect-ratio: 1/1;
}
.benentDetail .staffCard__icon img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50vh;
}
.benentDetail .staffCard .benentDetail__detailTtl {
  font-weight: 600;
}
.benentDetail .staffCard .anchorElem {
  text-align: center;
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  #benent .benentDetail .staffCard__panel {
    --border-radius: calc(8 * 100vw / 750);
    --image-width: calc(180 * (100vw / 750));
    --column-gap: calc(50 * (100vw / 750));

    display: grid;
    row-gap: 0;

    /* margin-block-start: calc(40 * 100vw / 750); */
    margin-top: calc(30 * (100vw / 750));
    margin-bottom: calc(60 * (100vw / 750));
    padding-block: calc(40 * 100vw / 750);
    padding-inline: calc(40 * 100vw / 750);
  }
  #benent .benentDetail .staffCard__information-wrapper {
    display: grid;
    grid-template-columns: var(--image-width) 1fr;
    align-items: center;
    column-gap: var(--column-gap);
  }
  #benent .benentDetail .benentFollower__ctrl {
    flex-direction: column;
    align-items: flex-start;
    row-gap: calc(10 * (100vw / 750));

    width: calc(100% - (var(--image-width) + var(--column-gap)));
    margin-right: 0;
    margin-left: auto;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__count {
    display: flex;
    align-items: center;
    column-gap: calc(14 * (100vw / 750));
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__count > span {
    font-size: 1.25em;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico {
    width: calc(380 * (100vw / 750));
    height: calc(70 * (100vw / 750));
    background-color: var(--color-fashion);
    border: none;

    color: #fff;
    font-size: calc(28 * (100vw / 750));
    font-weight: 600;
  }
  .benentDetail .staffCard .benentDetail__detailTtl {
    font-size: calc(24 * 100vw / 750);
  }
  .benentDetail .staffCard .benentDetail__detailDesc {
    -webkit-margin-before: calc(20 * 100vw / 750);
            margin-block-start: calc(20 * 100vw / 750);
  }
  .benentDetail .staffCard .staffHeight {
    -webkit-margin-before: calc(20 * 100vw / 750);
            margin-block-start: calc(20 * 100vw / 750);
    font-size: calc(24 * 100vw / 750);
  }
  /* .benentDetail .staffCard .benentFollower {
    -webkit-margin-before: calc(25 * 100vw / 750);
            margin-block-start: calc(25 * 100vw / 750);
  } */
  .benentDetail .staffCard .anchorElem {
    -webkit-margin-before: calc(40 * 100vw / 750);
            margin-block-start: calc(40 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  #benent .benentDetail .staffCard__panel {
    --border-radius: 8px;

    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;

    margin-bottom: 40px;
    padding: 20px;
  }
  #benent .benentDetail .staffCard__information-wrapper {
    display: flex;
    align-items: center;
    column-gap: 20px;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ctrl {
    flex-direction: column;
    gap: 10px;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__count {
    display: flex;
    align-items: center;
    column-gap: 8px;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__count > span {
    font-size: 1.3em;
  }
  #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico {
    width: 160px;
    height: 30px;
    background-color: var(--color-fashion);
    border: solid 1px var(--color-fashion);

    color: #fff;
    font-size: 13px;
    font-weight: 600;
  }
  @media (hover: hover) {
    #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico {
      --transition-default: 200ms ease;
    }
    #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico--active {
      transition: color var(--transition-default), background var(--transition-default);
    }
    #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico--active:hover {
      background-color: transparent;
      color: var(--color-fashion);
    }
    #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico--inactive {
      transition: scale var(--transition-default), translate var(--transition-default);
    }
    #benent .benentDetail .staffCard__follow-count-wrapper .benentFollower__ico--inactive:hover {
      translate: 0 -.1rem;
      scale: 1.05;
    }
  }
  .benentDetail .staffCard__icon {
    width: 120px;
  }
  .benentDetail .staffCard .benentDetail__detailDesc {
    -webkit-margin-before: 8px;
            margin-block-start: 8px;
  }
  .benentDetail .staffCard .staffHeight {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
  /* .benentDetail .staffCard .benentFollower {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  } */
  .benentDetail .staffCard .anchorElem {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}
/* ===================== 05: comment */
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentDetail__comment .posttDate {
    font-size: calc(28 * 100vw / 750);
  }
  .benentDetail__comment .detail {
    -webkit-margin-before: calc(30 * 100vw / 750);
            margin-block-start: calc(30 * 100vw / 750);
    font-size: calc(28 * 100vw / 750);
    line-height: 1.6153846154;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentDetail__comment .postDate {
    font-size: 13px;
  }
  .benentDetail__comment .detail {
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    line-height: 1.7142857143;
  }
}
/* ===================== 06: keyword */
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentParts__body--keywords {
    -webkit-margin-before: calc(60 * 100vw / 750);
            margin-block-start: calc(60 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentParts__body--keywords {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}
/* ===================== 07: wearItem */
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentParts__body--wearItem {
    -webkit-margin-before: calc(60 * 100vw / 750);
            margin-block-start: calc(60 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentParts__body--wearItem {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
  .benentParts__body--wearItem .benentParts__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
/* ===================== 08: CoordinateParts */
.benentParts__body--coordinateParts .benentParts__desc .staffName,
.benentParts__body--coordinateParts .benentParts__desc .staffHeight {
  display: none;
}

/* --- for small viewport --- */
/* --- for large viewport --- */
/* ===================== 09: CoordinatePartsSortByPv */
.benentParts__body--coordinatePartsSortByPv .benentParts__desc {
  display: grid;
  grid-template-columns: var(--size-avator) 1fr;
}
.benentParts__body--coordinatePartsSortByPv .benentParts__desc > * {
  align-self: center;
}
.benentParts__body--coordinatePartsSortByPv .benentParts__desc .staffName {
  grid-column: 2;
  grid-row: 1;
}
.benentParts__body--coordinatePartsSortByPv .benentParts__desc .staffHeight {
  grid-column: 2;
  grid-row: 2;
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .benentParts__body--coordinatePartsSortByPv .benentParts__desc {
    -moz-column-gap: calc(10 * 100vw / 750);
         column-gap: calc(10 * 100vw / 750);
    row-gap: calc(10 * 100vw / 750);
    font-size: calc(22 * 100vw / 750);
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .benentParts__body--coordinatePartsSortByPv .benentParts__desc {
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
  .benentParts__body--coordinatePartsSortByPv .benentParts__desc .staffHeight {
    font-size: 13px;
  }
}
