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

	ACT_OF_LOVE CSS

-----------------------------------------*/
@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: 160px 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;
  }
}
.c-title__wrap .c-box .c-title-unique .font32_20 {
  line-height: 1.5;
  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: 14.5vw;
    padding-inline: 3vw;
  }
}
.c-title__wrap .c-box > div p {
  line-height: 2.5;
  text-align: center;
  display: grid;
  gap: 1lh;
}

.links {
  background-color: var(--color-ghostwhite);
}
@media screen and (min-width: 769px) {
  .links {
    margin-block-start: 177px;
    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);
  }
}

/*----------------------------------------
	- BOOK
-----------------------------------------*/
@media screen and (min-width: 769px) {
  .book {
    margin-block-start: 120px;
  }
}
@media screen and (max-width: 768px) {
  .book {
    margin-block-start: 20vw;
  }
}
.book .box01 {
  position: relative;
}
.book .box01::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  display: block;
  width: 100%;
  background: linear-gradient(125deg, #F9D3E4 0%, #FFF0F3 100%);
}
@media screen and (min-width: 769px) {
  .book .box01::before {
    top: 160px;
    height: calc(100% - 160px - 160px);
  }
}
@media screen and (max-width: 768px) {
  .book .box01::before {
    top: 20vw;
    height: calc(100% - 20vw - 20vw);
  }
}
.book .box01 .c-box {
  display: grid;
}
@media screen and (min-width: 769px) {
  .book .box01 .c-box {
    width: min(1120px, 90%);
    margin-inline: auto;
    grid-template-columns: 1fr 30.3843%;
    grid-template-rows: auto auto 1fr auto;
    gap: 0 40px;
  }
}
.book .box01 .font16_14 {
  letter-spacing: 0.06em;
  line-height: 2.75;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .book .box01 .font16_14 {
    line-height: 2.5;
  }
}
.book .box01 figure {
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 769px) {
  .book .box01 .txt01 {
    grid-column: 2/3;
    grid-row: 1/2;
    margin-block-start: 80px;
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 768px) {
  .book .box01 .txt01 {
    grid-row: 2/3;
    margin-block-start: 6vw;
  }
}
.book .box01 .txt02 {
  display: grid;
  gap: 1lh;
}
@media screen and (min-width: 769px) {
  .book .box01 .txt02 {
    grid-column: 1/2;
    grid-row: 3/5;
    margin-block-start: 80px;
  }
}
@media screen and (max-width: 768px) {
  .book .box01 .txt02 {
    margin-block-start: 6vw;
  }
}
@media screen and (min-width: 769px) {
  .book .box01 .img01 {
    grid-column: 1/2;
    grid-row: 1/3;
    width: 113.5135%;
  }
}
@media screen and (max-width: 768px) {
  .book .box01 .img01 {
    grid-row: 1/2;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}
.book .box01 .img02 {
  display: grid;
}
@media screen and (min-width: 769px) {
  .book .box01 .img02 {
    grid-column: 2/3;
    grid-row: 2/4;
    margin-block-start: 90px;
    gap: 28px;
  }
}
@media screen and (max-width: 768px) {
  .book .box01 .img02 {
    grid-row: 3/4;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5vw;
    margin-block-start: 7.5vw;
  }
}
@media screen and (min-width: 769px) {
  .book .box01 .img03 {
    grid-column: 1/3;
    grid-row: 4/5;
    margin-block-start: 90px;
    margin-inline: auto 0;
    width: 64.3432%;
  }
}
@media screen and (max-width: 768px) {
  .book .box01 .img03 {
    margin-block-start: 5vw;
  }
}
.book .box02 {
  display: grid;
}
@media screen and (min-width: 769px) {
  .book .box02 {
    margin-block-start: 80px;
    gap: 35px;
  }
}
@media screen and (max-width: 768px) {
  .book .box02 {
    margin-block-start: 9vw;
    gap: 5vw;
  }
}
.book .box02 p {
  text-align: center;
}
.book .box02 p.font16_14 {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .book .box02 a {
    padding-block: 17px;
  }
}

/*----------------------------------------
	- AWARD
-----------------------------------------*/
.award {
  display: grid;
}
@media screen and (min-width: 769px) {
  .award {
    grid-template-columns: 1fr min(1100px, 90%) 1fr;
    margin-block-start: 160px;
  }
}
@media screen and (max-width: 768px) {
  .award {
    margin-block-start: 19.75vw;
  }
}
.award > .font16_14 {
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .award > .font16_14 {
    grid-column: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .award > .font16_14 {
    padding-inline: 6vw;
  }
}
.award figure {
  display: grid;
}
@media screen and (min-width: 769px) {
  .award figure {
    grid-column: 1/-1;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin-block-start: 64px;
  }
}
@media screen and (max-width: 768px) {
  .award figure {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5vw;
    margin-block-start: 8vw;
  }
}
.award figure img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(1) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(2) {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(3) {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(4) {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(5) {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 768px) {
  .award figure img:nth-child(6) {
    grid-column: 2/3;
    grid-row: 3/4;
  }
}
.award dl {
  display: grid;
}
@media screen and (min-width: 769px) {
  .award dl {
    grid-column: 2/3;
    grid-template-columns: 160px 1fr 1fr;
    gap: 23px 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/5;
    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(-n+4) {
    grid-column: 2/3;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(5) {
    grid-column: 3/4;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(6) {
    grid-column: 3/4;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 769px) {
  .award dl dd:nth-of-type(7) {
    grid-column: 3/4;
    grid-row: 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.5vw;
  }
}