@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800;900&display=swap");
:root {
  --yellow: #ffab00;
  --blue: #1125b5;
  --orange: #fe260c;
  --white: #fffdf5;
  --text: #1125b5;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--text);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.olh-page {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  background: url("./img/back-img.webp") center top/cover repeat-y;
}

.inner {
  margin-inline: auto;
}

/* FV */
.fv {
  padding: min(2.2222222222vw, 24px) 0 min(2.7777777778vw, 30px);
  text-align: center;
}

.fv__inner {
  padding: min(2.3148148148vw, 25px) min(2.962962963vw, 32px);
  margin-inline: auto;
  max-width: 1300px;
}

.fv__top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2.4074074074vw, 26px);
  gap: min(2.4074074074vw, 26px);
  margin-bottom: min(0.7407407407vw, 8px);
  margin: 0 min(1.8518518519vw, 20px) min(1.3888888889vw, 15px);
  height: min(6.4814814815vw, 70px);
  height: min(6.4814814815vw, 70px);
}

.fv__logos {
  display: flex;
  align-items: center;
  height: 100%;
  gap: min(2.3148148148vw, 25px);
}

.fv__mini {
  height: min(6.4814814815vw, 70px);
}

.fv__cheer {
  height: min(6.4814814815vw, 70px);
}

.fv__cross {
  color: #111;
  font-size: min(2.7777777778vw, 30px);
  font-weight: 900;
}

.fv__project {
  margin: 0;
  color: var(--blue);
  font-size: min(6.4814814815vw, 70px);
  font-weight: 900;
  line-height: 1;
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}

.fv__main-logo {
  display: block;
  width: 100%;
  margin: 0 auto min(0.7407407407vw, 8px);
  filter: drop-shadow(0 5px 0 rgba(255, 255, 255, 0.8));
}

.fv__members {
  display: block;
  max-width: 100%;
  margin: min(1.8518518519vw, 20px) auto;
}

.fv__catch {
  margin: 0 auto min(2.7777777778vw, 30px);
  font-weight: 900;
  width: 78%;
}

/* intro */
.intro {
  max-width: 1040px;
  margin: 0 auto;
}

.intro__title,
.section-title {
  position: relative;
  margin: 0 auto min(2.2222222222vw, 24px);
  color: var(--blue);
  font-size: min(4.4444444444vw, 48px);
  font-weight: 900;
  text-align: center;
  line-height: 1.25;
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}
.intro__title .p-inner,
.section-title .p-inner {
  display: block;
  padding-left: min(17.5925925926vw, 190px);
}

.intro__title::before,
.intro__title::after {
  content: "";
  display: inline-block;
  width: min(16.6666666667vw, 180px);
  border-top: 4px dotted rgba(17, 37, 181, 0.55);
  vertical-align: middle;
  margin: 0 min(1.6666666667vw, 18px);
}

.intro__lead {
  display: inline-block;
  margin: min(1.6666666667vw, 18px) 0 min(2.5925925926vw, 28px);
  padding: min(0.7407407407vw, 8px) min(1.6666666667vw, 18px);
  color: var(--blue);
  font-size: min(2.962962963vw, 32px);
  font-weight: 900;
  letter-spacing: -0.03em;
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}
.intro__lead .mid-ch {
  font-size: min(4.2592592593vw, 46px);
  color: #a46e37;
  /* チアにも同じ白フチ */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}
@media (max-width: 767px) {
  .intro__lead .mid-ch {
    font-size: min(6.9333333333vw, 26px);
  }
}

.intro__steps {
  width: 100%;
  height: min(7.037037037vw, 76px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(1.8518518519vw, 20px);
}

.intro__step {
  width: min(25.9259259259vw, 280px);
  height: 100%;
  padding: min(0.8333333333vw, 9px) min(1.6666666667vw, 18px) min(1.0185185185vw, 11px);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(0.9259259259vw, 10px);
  color: #fff;
  text-shadow: 3px 3px 3px #333;
  background: linear-gradient(180deg, #4a5ee0 0%, #1125b5 70%, #0c1a8c 100%);
  border-radius: 10px;
  font-size: min(2.7777777778vw, 30px);
  font-weight: 900;
  letter-spacing: 0.1em;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.18);
}
.intro__step .one {
  text-shadow: none;
}

.intro__step:nth-of-type(3),
.intro__step:nth-of-type(5) {
  background: linear-gradient(180deg, #ffd54d 0%, #ffab00 70%, #e69500 100%);
  color: #fff;
}

.intro__step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(2.7777777778vw, 30px);
  height: min(2.7777777778vw, 30px);
  margin-right: min(0.7407407407vw, 8px);
  background: #fff;
  color: var(--blue);
  border-radius: 5px;
  font-weight: 900;
}

.intro__arrow {
  width: 0;
  height: 0;
  border-left: 20px solid var(--blue);
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
}

/* sections */
.section {
  padding: min(1.7592592593vw, 19px) min(2.962962963vw, 32px);
}

.message {
  padding-top: min(0.7407407407vw, 8px);
  text-align: center;
}

@media (max-width: 767px) {
  .collabo {
    padding-top: min(21.3333333333vw, 80px) !important;
    padding-bottom: 0 !important;
  }
}

.message__title {
  margin: 0 auto min(5vw, 54px);
  color: var(--blue);
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
  max-width: 800px;
  font-size: min(4.6296296296vw, 50px);
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.35;
}
.message__title .start {
  font-size: min(4.2592592593vw, 46px);
}
@media (max-width: 767px) {
  .message__title .start {
    font-size: min(5.3333333333vw, 20px);
  }
}

.message__text {
  max-width: 865px;
  margin: 0 auto min(4.6296296296vw, 50px);
  padding-left: min(4.2592592593vw, 46px);
  color: var(--blue);
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
  font-size: min(2.5925925926vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.4;
  text-align: left;
}

.period-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.7777777778vw, 30px);
  padding-right: min(6.4814814815vw, 70px);
}
@media (max-width: 767px) {
  .period-inner {
    padding-right: 0;
    gap: min(5.3333333333vw, 20px);
    justify-content: left;
  }
}

.period__label {
  color: #222;
  font-size: min(3.1481481481vw, 34px);
  font-weight: 900;
}

.period__date,
.period__date2 {
  display: block;
  color: var(--orange);
  /* 白フチ＋少し影 */
  text-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5), -4px 4px 0 rgba(255, 255, 255, 0.5), 4px -4px 0 rgba(255, 255, 255, 0.5), -4px -4px 0 rgba(255, 255, 255, 0.5), 0 4px 0 rgba(255, 255, 255, 0.5), 4px 0 0 rgba(255, 255, 255, 0.5), 0 -4px 0 rgba(255, 255, 255, 0.5), -4px 0 0 rgba(255, 255, 255, 0.5), 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
  font-size: min(5vw, 54px);
  font-weight: 900;
  line-height: 1.4;
}

.period__date2 {
  margin-bottom: min(1.8518518519vw, 20px);
  padding-left: min(11.1111111111vw, 120px);
  width: min(74.0740740741vw, 800px);
  margin: 0 auto min(1.8518518519vw, 20px);
  display: flex;
  justify-content: end;
}
@media (max-width: 767px) {
  .period__date2 {
    width: 100%;
    font-size: min(6.9333333333vw, 26px);
    margin-bottom: min(5.3333333333vw, 20px);
  }
}

/* card */
.card {
  width: min(100%, 1280px);
  margin-inline: auto;
  padding: min(6.0185185185vw, 65px) min(1.8518518519vw, 20px) min(6.4814814815vw, 70px);
  background: rgba(255, 255, 255, 0.84);
  border: 4px solid #ffb22a;
  border-radius: 20px;
  box-shadow: 0 6px 0 rgba(179, 105, 0, 0.25);
}

.card-lead {
  margin: 0 auto min(2.5925925926vw, 28px);
  width: min(69.4444444444vw, 750px);
  max-width: 920px;
  font-size: min(1.8518518519vw, 20px);
  font-weight: 800;
  line-height: 1.45;
}

.card-text {
  width: min(87.037037037vw, 940px);
  margin: 0 auto min(1.1111111111vw, 12px);
  font-size: min(2.037037037vw, 22px);
  font-weight: 800;
  line-height: 1.45;
}

.tieup-inner {
  letter-spacing: -0.08em;
}

.tieup-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.5925925926vw, 28px);
  margin-bottom: min(0.9259259259vw, 10px);
}

.mini-card {
  min-height: min(14.8148148148vw, 160px);
  padding: min(2.5925925926vw, 28px) min(2.2222222222vw, 24px);
  background: #fff;
  background: linear-gradient(180deg, #faf6ed 0%, #ffefc9 100%);
  border: 4px solid #ffb22a;
  border-radius: 15px;
  text-align: center;
  box-shadow: 4px 4px 0 rgba(255, 171, 0, 0.45);
}
.mini-card__inner {
  width: min(22.962962963vw, 248px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .mini-card__inner {
    width: min(58.6666666667vw, 220px);
  }
}

.mini-card:nth-of-type(2) h3 {
  margin-bottom: min(3.8888888889vw, 42px);
}
@media (max-width: 767px) {
  .mini-card:nth-of-type(2) h3 {
    margin-bottom: min(2.6666666667vw, 10px);
  }
}

.mini-card:nth-of-type(3) h3 {
  margin-bottom: min(3.8888888889vw, 42px);
}
@media (max-width: 767px) {
  .mini-card:nth-of-type(3) h3 {
    margin-bottom: min(2.6666666667vw, 10px);
  }
}

.mini-card h3 {
  margin: 0 0 min(1.2962962963vw, 14px);
  color: var(--blue);
  font-size: min(2.2222222222vw, 24px);
  font-weight: 900;
  line-height: 1.4;
}

.mini-card p {
  margin: 0;
  font-size: min(2.037037037vw, 22px);
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: left;
}

.special-box {
  width: min(78.7037037037vw, 850px);
  max-width: 980px;
  margin: 0 auto min(2.962962963vw, 32px);
  padding: min(2.4074074074vw, 26px) min(5.5555555556vw, 60px) min(2.7777777778vw, 30px);
  background: #fff;
  border: 3px solid #ffb22a;
  border-left: 13px solid #ffab00;
  border-radius: 15px;
}

.special-box:last-child {
  margin-bottom: min(3.1481481481vw, 34px);
}

.special-box h3 {
  margin: 0 0 min(1.1111111111vw, 12px);
  color: var(--blue);
  font-size: min(2.4074074074vw, 26px);
  font-weight: 900;
}

.special-box p {
  margin: 0;
  font-size: min(1.8518518519vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}

.present-list {
  width: min(83.3333333333vw, 900px);
  max-width: 1060px;
  margin: 0 auto min(2.7777777778vw, 30px);
  justify-content: center;
}

.present-item {
  width: 100%;
  height: min(9.2592592593vw, 100px);
  display: flex;
  align-items: center;
  gap: min(2.5925925926vw, 28px);
  min-height: min(5.9259259259vw, 64px);
  padding: min(0.9259259259vw, 10px) min(2.5925925926vw, 28px);
  margin-bottom: min(1.8518518519vw, 20px);
  background: #fff;
  border: 3px solid var(--yellow);
  border-radius: 999px;
  font-size: min(2.037037037vw, 22px);
  font-weight: 900;
}
.present-item .item-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2.5925925926vw, 28px);
}

.present-item .count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(15.2777777778vw, 165px);
  min-width: min(12.037037037vw, 130px);
  height: min(4.6296296296vw, 50px);
  padding: min(0.7407407407vw, 8px) min(1.6666666667vw, 18px);
  color: #fff;
  background: linear-gradient(180deg, #ffd54d 0%, #ffab00 70%, #e69500 100%);
  border-radius: 999px;
  font-size: min(2.2222222222vw, 24px);
  font-weight: 900;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .present-item .count {
    font-size: min(3.7333333333vw, 14px);
    width: min(18.6666666667vw, 70px);
    height: min(8vw, 30px);
    padding: 0;
    min-width: auto;
  }
}

.notes-card {
  padding: min(7.4074074074vw, 80px) min(5.1851851852vw, 56px);
  border-color: #6d92ff;
  box-shadow: 0 6px 0 rgba(17, 37, 181, 0.18);
}

.note-block {
  padding: 0 0 min(3.7037037037vw, 40px);
  margin-bottom: min(2.5925925926vw, 28px);
  border-bottom: 2px dotted rgba(17, 37, 181, 0.35);
}

.note-block:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.note-block h3 {
  margin: 0 0 min(2.037037037vw, 22px);
  font-size: min(2.7777777778vw, 30px);
  font-weight: 900;
}

.note-block p {
  margin: 0;
  padding-left: min(2.7777777778vw, 30px);
  font-size: min(2.037037037vw, 22px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.4;
}
.note-block p .tanka {
  padding-left: min(0.9259259259vw, 10px);
}

/* app */
.app-section {
  padding: min(4.0740740741vw, 44px) 0 min(6.4814814815vw, 70px);
  text-align: center;
}

.app-section h2 {
  margin: 0 0 min(0.9259259259vw, 10px);
  color: var(--blue);
  font-size: min(5.1851851852vw, 56px);
  font-weight: 900;
  /* 白フチ＋少し影 */
  text-shadow: 4px 4px 0 rgba(255, 255, 255, 0.5), -4px 4px 0 rgba(255, 255, 255, 0.5), 4px -4px 0 rgba(255, 255, 255, 0.5), -4px -4px 0 rgba(255, 255, 255, 0.5), 0 4px 0 rgba(255, 255, 255, 0.5), 4px 0 0 rgba(255, 255, 255, 0.5), 0 -4px 0 rgba(255, 255, 255, 0.5), -4px 0 0 rgba(255, 255, 255, 0.5), 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}
.app-section h2 .what {
  font-size: min(3.7037037037vw, 40px);
}
@media (max-width: 767px) {
  .app-section h2 .what {
    font-size: min(6.4vw, 24px);
  }
}

.app-section p {
  margin: 0 0 min(1.8518518519vw, 20px);
  color: var(--blue);
  font-size: min(3.8888888889vw, 42px);
  font-weight: 900;
  line-height: 1.45;
  /* 白フチ＋少し影 */
  text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.5), -3px 3px 0 rgba(255, 255, 255, 0.5), 3px -3px 0 rgba(255, 255, 255, 0.5), -3px -3px 0 rgba(255, 255, 255, 0.5), 0 3px 0 rgba(255, 255, 255, 0.5), 3px 0 0 rgba(255, 255, 255, 0.5), 0 -3px 0 rgba(255, 255, 255, 0.5), -3px 0 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(255, 255, 255, 0.5), -2px 2px 0 rgba(255, 255, 255, 0.5), 2px -2px 0 rgba(255, 255, 255, 0.5), -2px -2px 0 rgba(255, 255, 255, 0.5), 0 5px 6px rgba(0, 0, 0, 0.18);
}

/* ===============================
  メイン青ボタン（上）
=============================== */
.blue-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: min(1.1111111111vw, 12px);
  width: min(51.8518518519vw, 560px);
  height: min(7.4074074074vw, 80px);
  color: #fff;
  font-size: min(2.962962963vw, 32px);
  font-weight: 700;
  text-decoration: none;
  border-radius: 999px;
  /* グラデーション */
  background: linear-gradient(180deg, #3a63ff 0%, #1d2bbf 100%);
  /* 立体感（重要） */
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.2), inset 0 3px 6px rgba(255, 255, 255, 0.5), inset 0 -3px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  position: relative;
}

.blue-btn {
  position: relative;
}

.blue-btn::after {
  content: "";
  position: absolute;
  inset: 3px;
  /* 内側に3px */
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  pointer-events: none;
}

.fixed-btn {
  position: relative;
}

.fixed-btn::after {
  content: "";
  position: absolute;
  inset: 3px;
  /* 内側に3px */
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  pointer-events: none;
}

/* 押した感じ */
.blue-btn:hover {
  transform: translateY(3px);
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 3px rgba(255, 255, 255, 0.9), inset 0 3px 6px rgba(255, 255, 255, 0.5), inset 0 -3px 6px rgba(0, 0, 0, 0.2);
}

/* fixed */
.fixed-buttons {
  background: orange;
  padding: min(7.4074074074vw, 80px) min(2.7777777778vw, 30px) min(9.2592592593vw, 100px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fixed-buttons-inner {
  display: flex;
  justify-content: center;
  z-index: 50;
  display: flex;
  gap: min(3.1481481481vw, 34px);
  height: min(5.9259259259vw, 64px);
}
@media (max-width: 767px) {
  .fixed-buttons-inner {
    flex-direction: column;
    align-items: center;
    height: min(37.3333333333vw, 140px);
    gap: min(5.3333333333vw, 20px);
  }
}

.fixed-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(25.9259259259vw, 280px);
  min-height: min(5vw, 54px);
  padding: min(0.9259259259vw, 10px) min(2.4074074074vw, 26px);
  color: #fff;
  border-radius: 999px;
  font-size: min(2.962962963vw, 32px);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
}

.fixed-btn--orange {
  width: min(33.3333333333vw, 360px);
  height: min(7.4074074074vw, 80px);
  background: var(--yellow);
}

.fixed-btn--blue {
  width: min(51.8518518519vw, 560px);
  height: min(7.4074074074vw, 80px);
  background: var(--blue);
  /* グラデーション */
  background: linear-gradient(180deg, #3a63ff 0%, #1d2bbf 100%);
}

.sp-only {
  display: none;
}

/* SP */
@media (max-width: 767px) {
  .inner,
  .fv__inner {
    padding: min(8vw, 30px) min(4.2666666667vw, 16px) 0;
    max-width: 400px;
  }
  .fv {
    padding: min(2.6666666667vw, 10px) 0 min(4.8vw, 18px);
  }
  .fv__top {
    width: 100%;
    height: auto;
    gap: min(1.6vw, 6px);
    margin-left: 0;
    margin-right: 0;
    margin-bottom: min(3.2vw, 12px);
  }
  .fv__logos {
    gap: min(1.6vw, 6px);
    height: min(8vw, 30px);
  }
  .fv__mini {
    height: 100%;
  }
  .fv__cheer {
    height: 100%;
  }
  .fv__cross {
    font-size: min(4.5333333333vw, 17px);
  }
  .fv__project {
    font-size: min(5.8666666667vw, 22px);
  }
  .fv__main-logo {
    width: 98vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: min(6.6666666667vw, 25px);
    max-width: none;
  }
  .fv__members {
    width: 100%;
    max-width: none;
    margin-bottom: min(3.7333333333vw, 14px);
  }
  .fv__catch {
    margin-bottom: min(5.8666666667vw, 22px);
    width: 95%;
    text-shadow: 2px 2px 0 rgba(177, 101, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.15);
  }
  .intro__title,
  .section-title {
    margin-bottom: min(4.2666666667vw, 16px);
    font-size: min(6.1333333333vw, 23px);
    line-height: 1.35;
    text-shadow: 1.5px 1.5px 0 #fff, 0 2px 0 #ffca30;
  }
  .intro__title::before,
  .intro__title::after {
    width: min(11.2vw, 42px);
    margin: 0 min(1.8666666667vw, 7px);
    border-top-width: 2px;
  }
  .intro__lead {
    margin-bottom: min(3.2vw, 12px);
    margin-top: 0;
    padding: min(1.3333333333vw, 5px) min(2.6666666667vw, 10px);
    font-size: min(4.8vw, 18px);
    line-height: 1.4;
  }
  .intro__steps {
    flex-direction: column;
    gap: min(2.6666666667vw, 10px);
    margin-top: min(26.6666666667vw, 100px);
  }
  .intro__step {
    width: min(69.3333333333vw, 260px);
    font-size: min(4.2666666667vw, 16px);
    height: min(13.3333333333vw, 50px);
    padding: min(4.2666666667vw, 16px);
  }
  .intro__step span {
    width: min(5.3333333333vw, 20px);
    height: min(5.3333333333vw, 20px);
    margin-right: min(1.3333333333vw, 5px);
    font-size: min(3.2vw, 12px);
  }
  .intro__arrow {
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 13px solid var(--blue);
    border-bottom: none;
  }
  .section {
    padding: 0;
    padding-top: 0;
  }
  .message {
    padding-top: min(2.6666666667vw, 10px);
  }
  .message__title {
    margin-bottom: min(4.2666666667vw, 16px);
    font-size: min(5.8666666667vw, 22px);
  }
  .message__text {
    width: min(90.6666666667vw, 340px);
    margin-bottom: min(8vw, 30px);
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.6;
    padding-left: 0;
  }
  .period {
    flex-direction: column;
    gap: min(1.0666666667vw, 4px);
  }
  .period__label {
    font-size: min(3.7333333333vw, 14px);
  }
  .period__date {
    font-size: min(6.9333333333vw, 26px);
  }
  .card {
    padding: min(7.4666666667vw, 28px) min(2.6666666667vw, 10px) min(8vw, 30px);
    border-width: 2px;
    border-radius: 10px;
    box-shadow: 0 3px 0 rgba(179, 105, 0, 0.25);
  }
  .card-lead,
  .card-text {
    width: min(77.3333333333vw, 290px);
    margin-bottom: min(4.8vw, 18px);
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.5;
  }
  .tieup-grid {
    grid-template-columns: 1fr;
    gap: min(4.8vw, 18px);
  }
  .mini-card {
    min-height: min(30.9333333333vw, 116px);
    padding: min(4.8vw, 18px) min(3.2vw, 12px);
    border-width: 2px;
    border-radius: 10px;
  }
  .mini-card h3 {
    margin-bottom: min(2.1333333333vw, 8px);
    font-size: min(4.2666666667vw, 16px);
  }
  .mini-card p {
    font-size: min(3.7333333333vw, 14px);
  }
  .special-box {
    margin-bottom: min(5.3333333333vw, 20px) !important;
    padding: min(5.3333333333vw, 20px) min(3.2vw, 12px);
    border-width: 2px;
    border-radius: 7px;
    width: 95%;
    border-top: solid 8px #ffb22a;
  }
  .special-box h3 {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.5;
  }
  .special-box p {
    font-size: min(3.2vw, 12px);
    line-height: 1.4;
  }
  .present-list {
    gap: min(2.6666666667vw, 10px);
    width: 100%;
  }
  .present-item {
    gap: min(2.1333333333vw, 8px);
    height: min(17.0666666667vw, 64px);
    padding: min(1.6vw, 6px) min(2.1333333333vw, 8px);
    border-width: 2px;
    font-size: min(3.2vw, 12px);
    line-height: 1.4;
  }
  .present-item span {
    min-width: min(15.4666666667vw, 58px);
    padding: min(1.3333333333vw, 5px) min(2.1333333333vw, 8px);
    font-size: min(2.4vw, 9px);
  }
  .notes-card {
    padding: min(6.4vw, 24px) min(4.2666666667vw, 16px);
  }
  .note-block {
    padding-bottom: min(4.8vw, 18px);
    margin-bottom: min(4.8vw, 18px);
  }
  .note-block h3 {
    font-size: min(3.7333333333vw, 14px);
    margin-bottom: min(3.7333333333vw, 14px);
  }
  .note-block p {
    font-size: min(3.2vw, 12px);
    line-height: 1.7;
    padding-left: min(3.7333333333vw, 14px);
    padding-left: 1.6em;
    text-indent: -1em;
  }
  .app-section {
    padding: min(4.8vw, 18px) 0 min(10.6666666667vw, 40px);
  }
  .app-section h2 {
    font-size: min(6.4vw, 24px);
  }
  .app-section p {
    font-size: min(4.5333333333vw, 17px);
  }
  .blue-btn {
    width: min(85.3333333333vw, 320px);
    height: min(16vw, 60px);
    font-size: min(5.3333333333vw, 20px);
  }
  .fixed-buttons {
    bottom: min(3.2vw, 12px);
    gap: min(2.1333333333vw, 8px);
    height: 220px;
    height: min(58.6666666667vw, 220px);
  }
  .fixed-btn {
    width: min(85.3333333333vw, 320px);
    height: min(16vw, 60px) !important;
    font-size: min(5.3333333333vw, 20px);
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
/* PC */
@media (min-width: 768px) {
  .pc-only {
    display: block;
  }
}
@media (max-width: 767px) {
  .section.present,
  .section.member {
    padding: min(7.4666666667vw, 28px) 0;
  }
  .section.present .inner,
  .section.member .inner {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 0 min(4.2666666667vw, 16px);
  }
  .section.present .card,
  .section.member .card {
    background: rgba(255, 255, 255, 0.86);
    border: 2px solid #ffab00;
    border-radius: 16px;
    padding: min(9.0666666667vw, 34px) min(3.2vw, 12px) min(7.4666666667vw, 28px);
    box-shadow: 0 4px 10px rgba(255, 171, 0, 0.35);
  }
  .section.present .section-title,
  .section.member .section-title {
    width: min(77.3333333333vw, 290px);
    margin: 0 auto min(5.8666666667vw, 22px);
    color: #1125b5;
    font-size: min(5.3333333333vw, 20px);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: -0.04em;
    text-align: left;
    white-space: nowrap;
    /* 白フチ */
    text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff, 1.5px 1.5px #fff, -1.5px 1.5px #fff, 1.5px -1.5px #fff, -1.5px -1.5px #fff;
  }
  .section.present .present-list,
  .section.member .present-list {
    display: flex;
    flex-direction: column;
    gap: min(3.2vw, 12px);
  }
  .section.present .present-item,
  .section.member .present-item {
    display: flex;
    align-items: center;
    min-height: min(12.8vw, 48px);
    padding: min(2.1333333333vw, 8px) min(2.6666666667vw, 10px) min(2.1333333333vw, 8px);
    border: 2px solid #ffab00;
    border-radius: 999px;
    background: #fff;
    color: #1125b5;
    font-size: min(3.4666666667vw, 13px);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    margin-bottom: 0;
  }
  .item-inner {
    display: flex;
    align-items: center;
    gap: min(2.6666666667vw, 10px);
  }
  .section.present .count,
  .section.member .count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(19.7333333333vw, 74px);
    height: min(8.5333333333vw, 32px);
    margin-right: min(2.1333333333vw, 8px);
    border-radius: 999px;
    background: linear-gradient(180deg, #ffd54d 0%, #ffab00 100%);
    color: #fff;
    font-size: min(3.2vw, 12px);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }
  .section.member {
    padding-top: 0;
  }
  .section.member .card {
    padding-top: min(8vw, 30px);
  }
  .section.member .section-title {
    margin-bottom: min(5.8666666667vw, 22px);
  }
  .section.member .take {
    margin-left: 0;
  }
  .notes-section .notes-inner {
    padding-top: 0;
  }
}
/* =================================
 タイアップ限定特典
================================= */
.tieup-campaign .card {
  padding-bottom: min(5.5555555556vw, 60px);
}
.tieup-campaign .tieup-lead {
  width: min(85.1851851852vw, 920px);
  max-width: 100%;
  margin: 0 auto min(3.7037037037vw, 40px);
}
.tieup-campaign .tieup-lead p {
  margin-bottom: min(1.2962962963vw, 14px);
  font-size: min(2.2222222222vw, 24px);
  font-weight: 800;
  line-height: 1.6;
  text-align: center;
}
.tieup-campaign .tieup-lead .tieup-period {
  margin-bottom: min(0.462962963vw, 5px);
}
.tieup-campaign .tieup-lead .posiblue {
  font-size: min(1.8518518519vw, 20px);
}
@media (max-width: 767px) {
  .tieup-campaign .tieup-lead .posiblue {
    font-size: min(3.4666666667vw, 13px);
    text-align: left;
  }
}
.tieup-campaign .campaign-condition {
  margin-bottom: min(1.8518518519vw, 20px);
}
@media (max-width: 767px) {
  .tieup-campaign .campaign-condition {
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
.tieup-campaign .condition-box {
  width: min(85.1851851852vw, 920px);
  max-width: 100%;
  margin: 0 auto;
  padding: min(3.3333333333vw, 36px) min(3.8888888889vw, 42px);
  background: #fff;
  border: 3px solid #ffb22a;
  border-left: 14px solid #ffab00;
  border-radius: 16px;
}
.tieup-campaign .condition-box h3 {
  margin-bottom: min(1.8518518519vw, 20px);
  color: var(--blue);
  font-size: min(2.962962963vw, 32px);
  font-weight: 900;
}
.tieup-campaign .condition-box li {
  margin-bottom: min(1.2962962963vw, 14px);
  font-size: min(2.037037037vw, 22px);
  font-weight: 800;
  line-height: 1.6;
}
.tieup-campaign .condition-note {
  margin-top: min(1.6666666667vw, 18px);
  font-size: min(1.6666666667vw, 18px);
  line-height: 1.7;
}
.tieup-campaign .prize-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2.5925925926vw, 28px);
  margin-bottom: min(4.4444444444vw, 48px);
}
.tieup-campaign .prize-box {
  padding: min(3.1481481481vw, 34px) min(2.7777777778vw, 30px);
  background: rgba(255, 255, 255, 0.96);
  border: 3px solid #ffb22a;
  border-radius: 18px;
  box-shadow: 0 4px 0 rgba(255, 171, 0, 0.25);
}
.tieup-campaign .prize-box h3 {
  margin-bottom: min(1.6666666667vw, 18px);
  color: var(--blue);
  font-size: min(2.5925925926vw, 28px);
  font-weight: 900;
  line-height: 1.5;
}
.tieup-campaign .prize-box p {
  margin-bottom: min(1.4814814815vw, 16px);
  font-size: min(1.8518518519vw, 20px);
  line-height: 1.7;
  font-weight: 700;
}
.tieup-campaign .prize-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(7.5925925926vw, 82px);
  height: min(3.8888888889vw, 42px);
  margin-bottom: min(2.037037037vw, 22px);
  color: #fff;
  background: linear-gradient(180deg, #ffd54d 0%, #ffab00 100%);
  border-radius: 999px;
  font-size: min(2.2222222222vw, 24px);
  font-weight: 900;
}
.tieup-campaign .prize-note {
  font-size: min(1.4814814815vw, 16px);
  line-height: 1.7;
}
.tieup-campaign .winner-box {
  width: min(90.7407407407vw, 980px);
  max-width: 100%;
  margin: 0 auto;
  padding: min(3.8888888889vw, 42px) min(3.5185185185vw, 38px);
  background: rgba(255, 255, 255, 0.92);
  border: 3px solid #6d92ff;
  border-radius: 18px;
}
.tieup-campaign .winner-box h3 {
  margin-bottom: min(1.6666666667vw, 18px);
  color: var(--blue);
  font-size: min(3.1481481481vw, 34px);
  font-weight: 900;
  text-align: center;
}
.tieup-campaign .winner-box .winner-item-wrap {
  display: block;
  width: min(22.2222222222vw, 240px);
  margin: 0 auto min(1.8518518519vw, 20px);
}
@media (max-width: 767px) {
  .tieup-campaign .winner-box .winner-item-wrap {
    width: min(64vw, 240px);
  }
}
.tieup-campaign .winner-box .winner-item-wrap p {
  font-weight: bold;
  margin-bottom: min(0.7407407407vw, 8px);
  font-size: min(1.4814814815vw, 16px);
}
@media (max-width: 767px) {
  .tieup-campaign .winner-box .winner-item-wrap p {
    font-size: min(4.2666666667vw, 16px);
  }
}
.tieup-campaign .winner-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.8518518519vw, 20px);
  margin-bottom: min(2.7777777778vw, 30px);
}
.tieup-campaign .winner-item {
  padding: min(2.2222222222vw, 24px) min(1.8518518519vw, 20px);
  background: #fff;
  border: 2px solid #ffb22a;
  border-radius: 14px;
}
.tieup-campaign .winner-item p {
  font-size: min(1.6666666667vw, 18px);
  line-height: 1.7;
  font-weight: 700;
}
.tieup-campaign .winner-num {
  display: inline-block;
  margin-bottom: min(1.4814814815vw, 16px);
  padding: min(0.7407407407vw, 8px) min(1.4814814815vw, 16px);
  background: var(--blue);
  color: #fff;
  border-radius: 999px;
  font-size: min(1.6666666667vw, 18px);
  font-weight: 900;
}
@media (max-width: 767px) {
  .tieup-campaign .winner-num {
    padding: min(2.1333333333vw, 8px) min(4.2666666667vw, 16px);
  }
}
.tieup-campaign .winner-note p {
  font-size: min(1.2037037037vw, 13px);
  line-height: 1.6;
  font-weight: 700;
  padding-left: 1em;
  text-indent: -1em;
}
@media (max-width: 767px) {
  .tieup-campaign .winner-note p {
    font-size: min(3.4666666667vw, 13px);
  }
}

/* =========================
 SP
========================= */
@media (max-width: 767px) {
  .tieup-campaign .tieup-lead {
    margin-bottom: min(7.4666666667vw, 28px);
  }
  .tieup-campaign .tieup-lead p {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.7;
  }
  .tieup-campaign .condition-box {
    padding: min(5.8666666667vw, 22px) min(4.2666666667vw, 16px);
    border-left: min(2.6666666667vw, 10px) solid #ffab00;
  }
  .tieup-campaign .condition-box h3 {
    font-size: min(5.3333333333vw, 20px);
  }
  .tieup-campaign .condition-box li {
    font-size: min(3.7333333333vw, 14px);
    padding-left: 1em;
    text-indent: -1em;
  }
  .tieup-campaign .condition-note {
    font-size: min(3.2vw, 12px);
  }
  .tieup-campaign .prize-grid {
    grid-template-columns: 1fr;
    gap: min(5.3333333333vw, 20px);
    margin-bottom: min(7.4666666667vw, 28px);
  }
  .tieup-campaign .prize-box {
    padding: min(5.8666666667vw, 22px) min(4.2666666667vw, 16px);
  }
  .tieup-campaign .prize-box h3 {
    font-size: min(4.2666666667vw, 16px);
  }
  .tieup-campaign .prize-box p {
    font-size: min(3.4666666667vw, 13px);
  }
  .tieup-campaign .prize-label {
    width: min(16vw, 60px);
    height: min(8.5333333333vw, 32px);
    font-size: min(4.2666666667vw, 16px);
  }
  .tieup-campaign .prize-note {
    font-size: min(2.9333333333vw, 11px);
  }
  .tieup-campaign .winner-box {
    padding: min(5.8666666667vw, 22px) min(3.7333333333vw, 14px);
  }
  .tieup-campaign .winner-box h3 {
    font-size: min(5.3333333333vw, 20px);
  }
  .tieup-campaign .winner-list {
    grid-template-columns: 1fr;
    gap: min(3.7333333333vw, 14px);
  }
  .tieup-campaign .winner-item {
    padding: min(4.8vw, 18px) min(3.7333333333vw, 14px);
  }
  .tieup-campaign .winner-item p {
    font-size: min(3.4666666667vw, 13px);
    padding-left: 1.3em;
  }
  .tieup-campaign .winner-num {
    font-size: min(3.4666666667vw, 13px);
  }
  .tieup-campaign .winner-note {
    font-size: min(3.2vw, 12px);
    line-height: 1.7;
  }
}/*# sourceMappingURL=style.new02.css.map */