@charset "UTF-8";
@media (min-width: 768px) {
  .p-fine-what__media__body {
    order: 2;
  }
}

@media (min-width: 768px) {
  .p-fine-what__media__image {
    order: 1;
  }
}

.p-fine-purpose__top-inner {
  --container-width: 112rem;
}

.p-fine-purpose__full-image {
  height: clamp(18rem, 22.5vw, 36rem);
  padding-left: min(5vw, 8rem);
  margin-bottom: clamp(4.5rem, 5.625vw, 9rem);
}
.p-fine-purpose__full-image * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-fine-purpose__contents {
  display: grid;
  gap: 6rem;
  counter-reset: counter;
}

.p-fine-purpose__content__body {
  padding-left: clamp(4rem, 5vw, 8rem);
}
@media (min-width: 768px) {
  .p-fine-purpose__content__body:where(.p-fine-purpose__content:nth-of-type(odd) *) {
    order: 2;
  }
}

.p-fine-purpose__content__title {
  --margin: clamp(calc(2rem / 2), calc(100vw * 20 / 1600), 2rem);
  position: relative;
  padding-left: var(--margin);
  margin-bottom: clamp(1.5rem, 1.875vw, 3rem);
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 1.6875vw, 2.7rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color);
  letter-spacing: 0.08em;
}
.p-fine-purpose__content__title:where(.p-fine-purpose__content:nth-of-type(odd) *) {
  --color: #0d396b;
}
.p-fine-purpose__content__title:where(.p-fine-purpose__content:nth-of-type(even) *) {
  --color: #7f4f8d;
}
.p-fine-purpose__content__title::before, .p-fine-purpose__content__title::after {
  position: absolute;
  font-family: var(--font-lora);
  font-weight: 400;
  line-height: 1;
  color: var(--color);
}
.p-fine-purpose__content__title::before {
  top: -2.5em;
  right: calc(100% + var(--margin) / 4);
  font-size: 0.4074074074em;
  line-height: 13.2px;
  letter-spacing: 0.4em;
  content: "Purpose";
}
.p-fine-purpose__content__title::after {
  top: -0.2em;
  right: calc(100% + var(--margin) / 2);
  font-size: 2.2222222222em;
  letter-spacing: 0.05em;
  content: "" counter(counter, decimal-leading-zero);
  counter-increment: counter 1;
}

.p-fine-purpose__content__text {
  margin-bottom: 0;
}

ul.p-fine-purpose__content__text {
  padding-left: 1em;
}
ul.p-fine-purpose__content__text > li {
  position: relative;
}
ul.p-fine-purpose__content__text > li::before {
  position: absolute;
  left: -1em;
  content: "・";
}

@media (min-width: 768px) {
  .p-fine-purpose__content__image:where(.p-fine-purpose__content:nth-of-type(odd) *) {
    order: 1;
  }
}

/*# sourceMappingURL=fine.css.map */
