.dual_mv .youtube {
  height: 430px !important;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .dual_mv .youtube {
    height: 50vw !important;
  }
}

.w-full {
  width: 100%;
}

.w-90 {
  width: 90%;
}

.w-fit {
  width: fit-content;
}

.flex {
  display: flex;
}

.flex-1 {
  flex: 1;
}

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

.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.justify-center {
  justify-content: center;
}

.mx-auto {
  margin-inline: auto;
}

.mt-1 {
  margin-top: .4rem;
}

.mt-2 {
  margin-top: .8rem;
}

.mt-3 {
  margin-top: 1.2rem;
}

.mt-4 {
  margin-top: 1.6rem;
}

.mt-5 {
  margin-top: 2rem;
}

.mt-6 {
  margin-top: 2.4rem;
}

.mt-7 {
  margin-top: 2.8rem;
}

.mt-8 {
  margin-top: 3.2rem;
}

.mt-9 {
  margin-top: 3.6rem;
}

.mt-10 {
  margin-top: 4rem;
}

.mt-15 {
  margin-top: 6rem;
}

.mt-20 {
  margin-top: 8rem;
}

.mb-1 {
  margin-bottom: .4rem;
}

.mb-2 {
  margin-bottom: .8rem;
}

.mb-3 {
  margin-bottom: 1.2rem;
}

.mb-4 {
  margin-bottom: 1.6rem;
}

.mb-5 {
  margin-bottom: 2rem;
}

.mb-6 {
  margin-bottom: 2.4rem;
}

.mb-7 {
  margin-bottom: 2.8rem;
}

.mb-8 {
  margin-bottom: 3.2rem;
}

.mb-9 {
  margin-bottom: 3.6rem;
}

.mb-10 {
  margin-bottom: 4rem;
}

.mb-15 {
  margin-bottom: 6rem;
}

.mb-20 {
  margin-bottom: 8rem;
}

.gap-1 {
  gap: .4rem;
}

.gap-2 {
  gap: .8rem;
}

.gap-3 {
  gap: 1.2rem;
}

.gap-4 {
  gap: 1.6rem;
}

.gap-5 {
  gap: 2rem;
}

.gap-6 {
  gap: 2.4rem;
}

.gap-7 {
  gap: 2.8rem;
}

.gap-8 {
  gap: 3.2rem;
}

.gap-9 {
  gap: 3.6rem;
}

.gap-10 {
  gap: 4rem;
}

.gap-x-1 {
  column-gap: .4rem;
}

.gap-x-2 {
  column-gap: .8rem;
}

.gap-x-3 {
  column-gap: 1.2rem;
}

.gap-x-4 {
  column-gap: 1.6rem;
}

.gap-x-5 {
  column-gap: 2rem;
}

.gap-x-6 {
  column-gap: 2.4rem;
}

.gap-x-7 {
  column-gap: 2.8rem;
}

.gap-x-8 {
  column-gap: 3.2rem;
}

.gap-x-9 {
  column-gap: 3.6rem;
}

.gap-x-10 {
  column-gap: 4rem;
}

.gap-y-1 {
  row-gap: .4rem;
}

.gap-y-2 {
  row-gap: .8rem;
}

.gap-y-3 {
  row-gap: 1.2rem;
}

.gap-y-4 {
  row-gap: 1.6rem;
}

.gap-y-5 {
  row-gap: 2rem;
}

.gap-y-6 {
  row-gap: 2.4rem;
}

.gap-y-7 {
  row-gap: 2.8rem;
}

.gap-y-8 {
  row-gap: 3.2rem;
}

.gap-y-9 {
  row-gap: 3.6rem;
}

.gap-y-10 {
  row-gap: 4rem;
}

.text-center {
  text-align: center;
}

.border {
  border-width: 1px;
}

.border-x {
  border-inline-width: 1px;
}

.borde-y {
  border-block-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-left {
  border-left-width: 1px;
}

.border-right {
  border-right-width: 1px;
}

.border-bottom {
  border-bottom-width: 1px;
}


.button {
  display: inline-block;
  padding: 1.4rem 4.6rem;
  border-radius: 6px;
  background-color: #FBD8BC;
  color: #EC6C01;
}

@media (max-width: 767px) {
  .sm\:flex {
    display: flex;
  }

  .sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.has-arrow-down {
  position: relative;
  padding-right: 5.6rem;

  &::after {
    position: absolute;
    right: 22px;
    top: 50%;
    content: '';
    width: 11px;
    height: 9px;
    background-color: #EC6C01;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateY(-50%);
  }
}

.has-before-arrow-down {
  position: relative;
  padding-left: 2rem;

  &::after {
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    width: 10px;
    height: 6px;
    background-color: #EC6C01;
    clip-path: polygon(1px 0, 50% calc(100% - 2px), calc(100% - 1px) 0, 100% 1px, 50% 100%, 0 1px);
    transform: translateY(-50%);
  }
}

.teiki-category-title {
  width: fit-content;
  margin-inline: auto;
  padding: .8rem 3rem;
  border: 1px solid;
  border-radius: 100vw;
  font-size: 2.2rem;
  color: #EC6C01;

  @media (max-width: 767px) {
    padding: .6rem 2.5rem;
    font-size: 1.8rem;
  }
}

.teiki-lead {
  max-width: 393px;
  margin-inline: auto;
  padding: 1.8rem;
  background-color: #FBD8BC;
  line-height: 1.3;
  text-align: center;
  font-size: 2.2rem;

  >span {
    font-size: 2.6rem;
    color: #EC6C01;
  }

  @media (max-width: 767px) {
    font-size: 1.8rem;

    >span {
      font-size: 2.3rem;

    }
  }
}

.teiki-category {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 30px;
  font-size: 1.6rem;

  &::before,
  &::after {
    content: '';
    flex: 1;
    display: block;
    height: 1px;
    background-color: #EC6C01;
  }
}

.teiki-product__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem 1.6rem;
  margin-bottom: 60px;

  @media (max-width: 767px) {
    grid-template-columns: 1fr;

  }
}


.teiki-product__item {
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 4%;
}

.teiki-product__description {
  display: grid;
  gap: .6rem;
}

.teiki-product__image {
  height: auto;
}

.teiki-product__badge {
  font-size: .9em;

  &[class*="--"] {
    display: flex;
    align-items: center;

    &::before {
      display: inline-block;
      content: '';
      width: 1.5em;
      height: 1em;
      margin-right: .2em;
      background: no-repeat left/cover;
    }
  }

  &.--1 {
    color: #F2AD0A;

    &::before {
      background-image: url(https://drmedion.itembox.design/item/common/img/rank1.jpg);
    }
  }

  &.--2 {
    color: #999999;

    &::before {
      background-image: url(https://drmedion.itembox.design/item/common/img/rank2.jpg);

    }
  }
}

.teiki-product__catch {
  font-size: 0.8em;
}

.teiki-product__title {
  font-size: 1.6rem;
  line-height: 1.4;

  >a {
    text-decoration: underline;
  }
}

.teiki-product__tag {
  margin-top: .5rem;

  >.tag_present {
    margin-bottom: 0;
  }
}

.teiki-product__review {
  margin-block: .5rem;
}

.teiki-product__prices {
  margin-bottom: .8rem;
}

.teiki-product__price {
  font-size: 1.6rem;
  line-height: 1.3;

  @media (max-width: 767px) {
    font-size: 1.5rem;
  }

  +.teiki-product__price {
    margin-top: .8rem;
  }
}

.teiki-product__price--badge {
  display: inline-block;
  vertical-align: top;
  font-size: .9em;
  border-radius: 2px;
  padding: .1rem .5rem .1rem;
  margin-left: .5rem;
  line-height: 1.3;
  background-color: #EC6C01;
  color: #ffffff;
}

.teiki-product__price--value {
  display: flex;
  align-items: baseline;
  color: #FF3300;
  font-weight: 600;
}

.teiki-product__price--number {
  font-size: 1.8em;
}

.teiki-product__price--basic {
  margin-top: .4rem;
  padding-top: .8rem;
  border-top: 1px solid #ddd;
  font-weight: 600;
}

.line__teiki.border-t {
  border-top: 1px solid #ddd;
  margin-bottom: 40px;
  padding-top: 20px;
}