/*----------------------------------------

	LOVE_DISTANCE CSS

-----------------------------------------*/
main {
  background-repeat: no-repeat;
  background-position: top;
}
@media screen and (min-width: 769px) {
  main {
    background-image: url(/asset/img/project/love_distance/love_distance_p01.webp);
    background-size: 1600px auto;
  }
}
@media screen and (max-width: 768px) {
  main {
    background-image: url(/asset/img/project/love_distance/love_distance_p01-sp.webp);
    background-size: 100% auto;
  }
}

@media screen and (min-width: 769px) {
  .c-title__wrap {
    padding-block-start: 240px;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap {
    padding-block-start: 30.75vw;
  }
}
.c-title__wrap .c-box {
  display: grid;
}
@media screen and (min-width: 769px) {
  .c-title__wrap .c-box {
    width: min(1280px, 90%);
    grid-template-columns: 1fr auto 1fr;
    align-items: flex-start;
    gap: 538px 0;
  }
}
.c-title__wrap .c-box .c-title-unique {
  display: grid;
}
@media screen and (min-width: 769px) {
  .c-title__wrap .c-box .c-title-unique {
    grid-column: 2/3;
    grid-row: 1/2;
    gap: 18px;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap .c-box .c-title-unique {
    gap: 1.5vw;
  }
}
.c-title__wrap .c-box .c-title-unique span {
  text-align: center;
  font-weight: var(--font-medium);
}
.c-title__wrap .c-box .c-title-unique .font14_12 {
  color: var(--color-primarydefault);
  line-height: 1;
}
.c-title__wrap .c-box .c-title-unique .font48_28 {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-title__wrap .c-box .c-title-unique .font48_28 {
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap .c-box .c-title-unique .font48_28 {
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) {
  .c-title__wrap .c-box .upperpage {
    grid-column: 3/4;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap .c-box .upperpage {
    margin-block-start: 5.25vw;
  }
}
@media screen and (min-width: 769px) {
  .c-title__wrap .c-box > div {
    grid-column: 1/-1;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .c-title__wrap .c-box > div {
    margin-block-start: 75.75vw;
  }
}
.c-title__wrap .c-box > div .font18_16 {
  line-height: 2.5;
  text-align: center;
}

.links {
  background-color: var(--color-ghostwhite);
}
@media screen and (min-width: 769px) {
  .links {
    margin-block-start: 180px;
    padding-block: 26px;
  }
}
@media screen and (max-width: 768px) {
  .links {
    margin-block-start: 20vw;
    padding-block: 5vw;
  }
}
.links a {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  gap: 0.7em;
}
.links .font16_14 {
  order: 2;
}
@media screen and (min-width: 769px) {
  .links .font16_14 {
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .links .font16_14 {
    line-height: 1.5;
  }
}
.links .c-icon-base {
  order: 1;
}
@media screen and (min-width: 769px) {
  .links .c-icon-base {
    height: 20px;
    width: 20px;
  }
}
@media screen and (max-width: 768px) {
  .links .c-icon-base {
    height: 5vw;
    width: 5vw;
  }
}
.links .c-icon-base::after {
  width: 70%;
  height: 70%;
  background-image: url(/asset/img/common/ic-dots-white.svg);
}
@media (hover: hover) {
  .links a:hover .c-icon-base::after {
    background-image: url(/asset/img/common/ic-dots-white.svg);
  }
}

/*----------------------------------------
	- CAMPAIGN
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .campaign {
    margin-block-start: 120px;
  }
}
@media screen and (max-width: 768px) {
  .campaign {
    margin-block-start: 20vw;
  }
}
.campaign .box01 {
  position: relative;
}
.campaign .box01::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  display: block;
  width: 100%;
  background: linear-gradient(-45deg, #F9D3E4 0%, #FFF0F3 100%);
}
@media screen and (min-width: 769px) {
  .campaign .box01::before {
    top: 216px;
    height: calc(100% - 216px - 216px);
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01::before {
    top: 0;
    height: calc(100% - 38.25vw);
  }
}
.campaign .box01 .c-box {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .c-box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .c-box {
    padding-inline: 0;
  }
}
.campaign .box01 .font16_14 {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item01 {
    width: min(860px, 90%);
    margin-inline: auto;
  }
}
.campaign .box01 .item01 iframe {
  height: auto;
  width: 100%;
  aspect-ratio: 860/622;
}
.campaign .box01 .item02 {
  display: grid;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item02 {
    width: min(930px, 90%);
    margin-inline: auto;
    margin-block-start: 120px;
    grid-template-columns: 1fr 32.26%;
    grid-template-rows: auto 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item02 {
    padding-inline: 6vw;
    margin-block-start: 15vw;
  }
}
.campaign .box01 .item02 .font30_22 {
  font-weight: var(--font-medium);
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item02 .font30_22 {
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item02 .font30_22 {
    letter-spacing: 0.03em;
  }
}
.campaign .box01 .item02 .font16_14 {
  display: grid;
  height: -moz-fit-content;
  height: fit-content;
  gap: 1lh;
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item02 .font16_14 {
    margin-block-start: 5vw;
  }
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item02 p:last-child {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item02 p:last-child {
    margin-block-start: 6vw;
    padding-inline: 17.75vw;
  }
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item03 {
    width: min(1100px, 90%);
    margin-inline: auto;
    margin-block-start: 100px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item03 {
    margin-block-start: 12.5vw;
  }
}
.campaign .box01 .item03 figure {
  display: grid;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item03 figure {
    grid-template-columns: 1fr 45.454% 1fr;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item03 figure {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item03 figure img:nth-of-type(1) {
    grid-column: 1/-1;
  }
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item03 figure img:nth-of-type(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.campaign .box01 .item03 .font16_14 {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item03 .font16_14 {
    margin-block-start: 84px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item03 .font16_14 {
    margin-block-start: 10.5vw;
    padding-inline: 6vw;
  }
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item04 {
    margin-block-start: 84px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item04 {
    margin-block-start: 11vw;
  }
}
.campaign .box01 .item04 figure {
  display: grid;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item04 figure {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item04 figure {
    grid-template-columns: repeat(2, 1fr);
  }
}
.campaign .box01 .item04 .font16_14 {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item04 .font16_14 {
    width: min(1100px, 90%);
    margin-inline: auto;
    margin-block-start: 84px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item04 .font16_14 {
    margin-block-start: 10.5vw;
    padding-inline: 6vw;
  }
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item05 {
    width: min(1100px, 90%);
    margin-inline: auto;
    margin-block-start: 100px;
    display: grid;
    grid-template-columns: 62.5455% 1fr;
    align-items: center;
    gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item05 {
    margin-block-start: 10.5vw;
  }
}
.campaign .box01 .item05 figure {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item05 figure {
    height: -moz-fit-content;
    height: fit-content;
    margin-block: 0 auto;
  }
}
.campaign .box01 .item05 .font16_14 {
  display: grid;
  gap: 1lh;
}
@media screen and (min-width: 769px) {
  .campaign .box01 .item05 .font16_14 {
    height: 100%;
    align-content: space-around;
  }
}
@media screen and (max-width: 768px) {
  .campaign .box01 .item05 .font16_14 {
    height: -moz-fit-content;
    height: fit-content;
    margin-block-start: 6vw;
    padding-inline: 6vw;
  }
}

/*----------------------------------------
	- AWARD
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .award {
    margin-block-start: 180px;
  }
}
@media screen and (max-width: 768px) {
  .award {
    margin-block-start: 20vw;
    padding-inline: 0;
  }
}
.award dl {
  display: grid;
}
@media screen and (min-width: 769px) {
  .award dl {
    grid-column: 2/3;
    grid-template-columns: 160px 1fr 1fr;
    gap: 20px 40px;
    margin-block-start: 62px;
  }
}
@media screen and (max-width: 768px) {
  .award dl {
    margin-block-start: 7vw;
    padding-inline: 6vw;
  }
}
.award dl .font22_18 {
  font-weight: var(--font-medium);
  height: -moz-fit-content;
  height: fit-content;
  border-block-end: 1px solid var(--color-primarydefault);
}
@media screen and (min-width: 769px) {
  .award dl .font22_18 {
    letter-spacing: 0.03em;
    line-height: 1.5;
    grid-column: 1/2;
    grid-row: 1/6;
    padding-block-end: 14px;
  }
}
@media screen and (max-width: 768px) {
  .award dl .font22_18 {
    line-height: 1.69;
    padding-block-end: 1.25vw;
    margin-block-end: 6vw;
    max-width: 28vw;
  }
}
.award dl dd {
  display: grid;
}
@media screen and (min-width: 769px) {
  .award dl dd {
    grid-template-rows: auto auto 1fr;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(2) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(3) {
    grid-column: 2/3;
    grid-row: 3/4;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(4) {
    grid-column: 2/4;
    grid-row: 4/5;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(5) {
    grid-column: 2/4;
    grid-row: 5/6;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(n+6) {
    grid-column: 3/4;
  }
}
.award dl dd .font20_16 {
  color: var(--color-primarydark);
  font-weight: var(--font-medium);
}
@media screen and (min-width: 769px) {
  .award dl dd .font20_16 {
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 768px) {
  .award dl dd .font20_16 {
    line-height: 2;
  }
}
.award dl dd .font16_14 {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .award dl dd + dd {
    margin-block-start: 2.75vw;
  }
}
.award figure {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 769px) {
  .award figure {
    padding-inline: 200px 0;
    margin-block-start: 64px;
  }
}
@media screen and (max-width: 768px) {
  .award figure {
    margin-block-start: 8vw;
  }
}