.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: 1.8rem;
  color: #EC6C01;

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

.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.3rem;
  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.5em;
}

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

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

.cancel-confirm-dialog {
    --duration: 0.3s;
    --scale: 0.6;
    max-width: 640px;
    margin: auto;
    padding: 1rem;
    border: 0;
    background: transparent;
    opacity: 0;
    scale: var(--scale);
    transition: all var(--duration) allow-discrete;

    &[open] {
        opacity: 1;
        scale: 1;

        @starting-style {
            opacity: 0;
            scale: var(--scale);
        }
    }

    &::backdrop {
        background-color: rgb(0 0 0 / 50%);
        opacity: 0;
        transition: display var(--duration) allow-discrete, opacity var(--duration);
    }

    &[open]::backdrop {
        opacity: 1;

        @starting-style {
            opacity: 0;
        }
    }

    .dialog__inner {
        position: relative;
        background: white;
        padding: 3rem min(5%, 3rem);
        box-shadow: 0 0 4px rgb(0 0 0 / .2);
    }
.dialog__body {
margin-top: 2rem;}

    .dialog__text {
        +.dialog__text {
            margin-top: 1rem;
        }
    }

    .dialog__footer {
        margin-top: 2rem;
        text-align: center;

        .fs-c-buttonContainer {
            justify-content: center;
            margin-top: 1.5rem;
            padding: 0;
        }
    }
}

html {
/*scroll-behavior: smooth;*/
scroll-padding-top: 120px;

@media (max-width: 959px) {
scroll-padding-top: 70px;
}
}
