@charset "UTF-8";
/* --------------------------------------------------
Contents
-------------------------------------------------- */
.campaignHead { position: relative; overflow: hidden; padding: 10.2rem 0 10.8rem; }
.campaignHead__title { margin: 0 0 1rem; }
.campaignHead__titleLogo { width: 19rem; padding: 0 0 0 0.6rem; margin: 0 auto 2rem; position: relative; }
.campaignHead__titleLogoImage img { aspect-ratio: 1000 / 77; }
.campaignHead__titleLogoLine { width: 14.8rem; position: absolute; left: 0; top: -0.8rem; }
.campaignHead__titleLogoLine img { aspect-ratio: 1000 / 239; }
.campaignHead__titleText { font-size: 3.2rem; letter-spacing: 0.05em; line-height: 1.06; margin: 0 0 0.8rem; }
.campaignHead__titleJp { font-weight: 700; font-size: 1.2rem; }
.campaignHead__contentDesc { font-size: 1.2rem; line-height: 2.17; margin: 0 0 2.4rem; }
.campaignHead__contentPeriodTitle { font-size: 1.4rem; margin: 0 0 1rem; }
.campaignHead__contentPeriodText { font-size: 1.2rem; display: inline-block; padding: 0 0 0.6rem; border-bottom: 0.1rem solid; }
.campaignHead__decoLine { position: absolute; }
.campaignHead__decoLine svg path { fill: none; stroke: var(--acc-color); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1; }
.campaignHead__decoLine--1 { width: 13.5rem; left: -9.5rem; top: 0.8rem; }
.campaignHead__decoLine--1 svg path { stroke-dashoffset: 1195; stroke-dasharray: 1195; }
body.isLoaded .campaignHead__decoLine--1 svg path { stroke-dashoffset: 0; transition: stroke-dashoffset 4s var(--draw) 0s; }
.campaignHead__decoLine--2 { width: 24.5rem; right: -13.4rem; top: -9.4rem; }
.campaignHead__decoLine--2 svg path { stroke-dashoffset: 1120; stroke-dasharray: 1120; }
body.isLoaded .campaignHead__decoLine--2 svg path { stroke-dashoffset: 0; transition: stroke-dashoffset 4s var(--draw) 1.5s; }
.campaignHead__decoLine--3 { width: 55.5rem; min-width: 100%; height: 25.8rem; left: 50%; bottom: -12rem; transform: translate(-50%, 0) rotate(-11deg); }
.campaignHead__decoLine--3 svg { height: 100%; }
.campaignHead__decoLine--3 svg path { stroke-dashoffset: 1760; stroke-dasharray: 1760; }
body.isLoaded .campaignHead__decoLine--3 svg path { stroke-dashoffset: 0; transition: stroke-dashoffset 4s var(--draw) 3s; }
.campaignContent { width: 84%; margin: 0 auto; position: relative; z-index: 2; }
.campaignSection { padding: 5rem 0; }
.campaignSection__title { height: 2.8rem; display: flex; justify-content: center; align-items: center; font-size: 1.4rem; letter-spacing: 0.1em; background: var(--primary-color); color: var(--white-color); margin: 0 0 2.5rem; }
.campaignSection__titleLink { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; position: relative; }
.campaignSection__titleIcon { position: absolute; right: 1.2rem; aspect-ratio: 1; top: 50%; transform: translate(0, -50%); width: 1.6rem; }
.campaignSection__titleIcon::before, .campaignSection__titleIcon::after { display: block; content: ""; background: currentColor; position: absolute; }
.campaignSection__titleIcon::before { left: calc((100% - .1rem) / 2); top: 0; bottom: 0; width: 0.1rem; transition: oppacity 0.2s var(--ease) 0s, transform 0.2s var(--ease) 0s; }
.campaignSection__title.isOpen .campaignSection__titleIcon::before { opacity: 0; transform: rotate(90deg); }
.campaignSection__titleIcon::after { left: 0; right: 0; top: calc((100% - .1rem) / 2); height: 0.1rem; }
.campaignSection__content[data-togglecontent] { display: none; }
.campaignSection:first-child { padding-top: 0; }
.campaignSection:last-child { padding-bottom: 0; }

.apply { padding: 1rem 0 0; }
.apply__list { display: flex; flex-direction: column; row-gap: 7rem; }
.apply__listItem { width: 100%; }
.apply__listItemTitle { margin: 0 0 3.5rem; }
.apply__listItemTitleIcon { width: 7rem; margin: 0 auto 2rem; }
.apply__listItemTitleIcon img { aspect-ratio: 1; }
.apply__listItemTitleTool { display: inline-block; margin: 0 auto; font-size: 1.4rem; padding: 0 0 0.6rem; border-bottom: 0.1rem solid; }
.apply__listItemContentStep { text-align: left; display: flex; flex-direction: column; row-gap: 2rem; position: relative; }
.apply__listItemContentStepItem { position: relative; padding: 0 0 0 6rem; }
.apply__listItemContentStepItemNumber { font-size: 1.4rem; letter-spacing: 0.05em; position: absolute; left: 0; top: 0.3rem; }
.apply__listItemContentStepItemText { font-size: 1.2rem; line-height: 1.83; }
.apply__listItemContentStepItemText a { color: var(--acc-color); }
.apply__listItemContentStepItemCaption { font-size: 1.1rem; line-height: 1.5; margin: 1rem 0 0; }
.apply__listItemContentStepItem:nth-child(1)::after { display: block; content: ""; position: absolute; left: 2.4rem; top: 3rem; bottom: -1.5rem; width: 0.1rem; background: var(--acc-color); }

.presentItem__head { font-size: 1.2rem; line-height: 2.17; margin: 0 0 12.5rem; }
.presentItem__slider { position: relative; margin: 0 0 2.5rem; }
.presentItem__sliderImage img { aspect-ratio: 316 / 474; }
.presentItem__slider .swiper-button-prev, .presentItem__slider .swiper-button-next { width: 3.3rem; height: auto; margin: 0; top: 50%; transform: translate(0, -50%); padding: 1rem; }
.presentItem__slider .swiper-button-prev img, .presentItem__slider .swiper-button-next img { width: 1.5rem; aspect-ratio: 15 / 27; filter: grayscale(1) brightness(0); }
.presentItem__slider .swiper-button-prev::after, .presentItem__slider .swiper-button-next::after { display: none; }
.presentItem__slider .swiper-button-prev { left: 0; }
.presentItem__slider .swiper-button-next { right: 0; }
.presentItem__foot { font-size: 1.2rem; line-height: 2.17; }

.term__content { font-size: 1.2rem; line-height: 2.17; }

.termDetail__content { background: #F2F2F2; padding: 2rem 4.76%; font-size: 1rem; line-height: 2.2; }
.termDetail__contentListItem { position: relative; padding: 0 0 0 1em; }
.termDetail__contentListItem::before { display: block; content: "・"; position: absolute; left: 0; top: 0; }
.termDetail__contentList + .termDetail__contentTitle { margin: 2.2em 0 0; }
.termDetail__contentClose { margin: 2.5rem 0 0; font-size: 1rem; }
.termDetail__contentCloseLink { display: inline-flex; align-items: center; column-gap: 1rem; }
.termDetail__contentCloseLink img { width: 0.8rem; aspect-ratio: 1; filter: grayscale(1) brightness(0); }

@media screen and (min-width: 768px) { .campaignHead { padding: 25rem 0 50rem; }
  .campaignHead__title { margin: 0 0 4rem; }
  .campaignHead__titleLogo { width: 42.7rem; padding: 0 0 0 1.3rem; margin: 0 auto 2.6rem; }
  .campaignHead__titleLogoLine { width: 33.1rem; top: -1.9rem; }
  .campaignHead__titleText { font-size: 5.2rem; margin: 0 0 2rem; }
  .campaignHead__titleJp { font-size: 2rem; }
  .campaignHead__content { font-weight: 500; }
  .campaignHead__contentDesc { font-size: 1.6rem; line-height: 2.19; margin: 0 0 5rem; }
  .campaignHead__contentPeriodTitle { font-size: 1.6rem; margin: 0 0 1.3rem; }
  .campaignHead__contentPeriodText { font-size: 1.6rem; }
  .campaignHead__decoLine--1 { width: 32rem; left: -9.2rem; top: -3.7rem; }
  body.isLoaded .campaignHead__decoLine--1 svg path { stroke-dashoffset: 0; transition-duration: 3s; }
  .campaignHead__decoLine--2 { width: 49.7rem; right: -5rem; top: -15.2rem; }
  body.isLoaded .campaignHead__decoLine--2 svg path { stroke-dashoffset: 0; transition-duration: 3s; }
  .campaignHead__decoLine--3 { width: 159.5rem; height: 39.4rem; bottom: 13.4rem; transform: translate(-50%, 0); }
  body.isLoaded .campaignHead__decoLine--3 svg path { stroke-dashoffset: 0; transition-duration: 3s; }
  .campaignContent { margin: -20rem auto 0; width: 100rem; max-width: 96%; }
  .campaignSection { padding: 6rem 0; }
  .campaignSection__title { width: 21rem; height: 3rem; font-size: 2rem; margin: 0 auto 3.5rem; }
  .campaignSection__titleLink { transition: background 0.4s var(--easeout) 0s; }
  .campaignSection__titleLink:hover { background: var(--acc-color); }
  .apply { padding: 3rem 0 0; }
  .apply__list { row-gap: 12rem; }
  .apply__listItem { width: 100%; }
  .apply__listItemTitle { margin: 0 0 5rem; }
  .apply__listItemTitleIcon { width: 7rem; margin: 0 auto 3.5rem; }
  .apply__listItemTitleTool { font-weight: 500; font-size: 1.8rem; }
  .apply__listItemContentStep { width: 48rem; margin: 0 auto; }
  .apply__listItemContentStepItem { padding: 0 0 0 10rem; }
  .apply__listItemContentStepItemNumber { font-size: 2rem; }
  .apply__listItemContentStepItemText { font-weight: 500; font-size: 1.6rem; line-height: 1.75; }
  .apply__listItemContentStepItemCaption { font-weight: 500; font-size: 1.4rem; }
  .apply__listItemContentStep::after { left: 3.5rem; top: 4rem; bottom: 4rem; }
  .presentItem__head { font-weight: 500; font-size: 1.6rem; line-height: 2.19; }
  .presentItem__slider { margin: 0 0 10rem; }
  .presentItem__slider .swiper-wrapper { justify-content: space-between; }
  .presentItem__slider .swiper-slide { width: 31.6%; }
  .presentItem__slider .swiper-button-prev, .presentItem__slider .swiper-button-next { display: none; }
  .presentItem__foot { font-weight: 500; font-size: 1.6rem; line-height: 1.88; }
  .term { width: 80rem; max-width: 100%; margin: 0 auto; }
  .term__content { font-weight: 500; font-size: 1.6rem; line-height: 2.19; }
  .termDetail { width: 75rem; max-width: 100%; margin: 0 auto; }
  .termDetail__content { padding: 2rem 2%; font-weight: 500; font-size: 1.4rem; line-height: 1.71; }
  .termDetail__contentList + .termDetail__contentTitle { margin: 1.71em 0 0; }
  .termDetail__contentClose { font-size: 1.4rem; }
  .termDetail__contentCloseLink { column-gap: 1.3rem; }
  .termDetail__contentCloseLink img { width: 0.6rem; } }
