@charset "UTF-8";
:root {
  --color-key1: #daedd9;
  --color-key2: #b6f2b3;
  --color-key3: #5cb531;
  --color-key4: #008CD0;
  --color-white: #fff;
  --color-black: #232122;
  --color-gray: #e8e8e8;
  --color-lightGray: #f5f6f7;
  --color-red: #d80000;
  --color-yellow: #FFEC00;
  --color-beige: #FFE699;
  --color-orange: #DB7A1A;
  --color-green: #00833F;
  --color-lightGreen: #E2F0D9;
  --color-courseRed: #DC1E1E;
  --color-lightRed: #FBE3E3;
  --color-courseNavy: #202285;
  --color-lightBlue: #DDEBF7;
}

a * {
  pointer-events: none;
}

/* layout */
.separate {
  padding: min(12.8vw, 96px) 0;
}
@media print, screen and (min-width: 751px) {
  .separate {
    padding: min(7.27vw, 80px) 0;
  }
}
.separate--bgcKey2 {
  background-color: var(--color-lightGreen);
}
.separate--bgcGray {
  background-color: var(--color-lightGray);
}

/* font size */
.hp_fontSz14 {
  font-size: 1.08em;
}
@media print, screen and (min-width: 751px) {
  .hp_fontSz14 {
    font-size: 0.88em;
  }
}

.hp_fontSz16 {
  font-size: 1em;
}
@media print, screen and (min-width: 751px) {
  .hp_fontSz16 {
    font-size: 1em;
  }
}

.hp_fontSz18 {
  font-size: 1.15em;
}
@media print, screen and (min-width: 751px) {
  .hp_fontSz18 {
    font-size: 1.13em;
  }
}

/* margin */
.hp_mt20 {
  margin-top: min(2.66vw, 20px) !important;
}
@media print, screen and (min-width: 751px) {
  .hp_mt20 {
    margin-top: 20px !important;
  }
}

/* marker */
.hp_text-marker {
  background: var(--color-key1);
  background: linear-gradient(0deg, var(--color-key1) 0%, var(--color-key1) 35%, transparent 35%);
}
.hp_text-marker2 {
  background: var(--color-yellow);
  background: linear-gradient(0deg, var(--color-yellow) 0%, var(--color-yellow) 35%, transparent 35%);
}

/* Btn */
.el_campaignBtn {
  font-size: 1.38em;
  display: grid;
  place-content: center;
}
@media print, screen and (min-width: 751px) {
  .el_campaignBtn {
    width: 54.54vw;
    max-width: 600px;
    font-size: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
}
.el_campaignBtn--fontSz-s {
  font-size: 0.72em;
  font-weight: normal;
}
@media print, screen and (min-width: 751px) {
  .el_campaignBtn--fontSz-s {
    font-size: 0.67em;
  }
}

/* ふきだし */
.el_campaignFukidashi {
  display: inline-grid;
  place-content: center;
  padding: min(2vw, 15px) min(3.33vw, 25px);
  font-weight: bold;
  background-color: var(--color-beige);
  border-radius: min(4.26vw, 32px);
  text-align: center;
  line-height: 1.3;
}
@media print, screen and (min-width: 751px) {
  .el_campaignFukidashi {
    padding: 15px 20px;
    font-size: 1.13em;
    border-radius: 24px;
  }
}
.el_campaignFukidashi--right {
  border-bottom-right-radius: 0;
}
.el_campaignFukidashi--left {
  border-bottom-left-radius: 0;
}

.el_campaignFukidashi_green {
  display: inline-grid;
  place-content: center;
  padding: min(2vw, 15px) min(3.33vw, 25px);
  font-weight: bold;
  background-color: var(--color-key2);
  border-radius: min(4.26vw, 32px);
  text-align: center;
  line-height: 1.3;
}

@media print, screen and (min-width: 751px) {
  .el_campaignFukidashi_green {
    padding: 15px 20px;
    font-size: 1.13em;
    border-radius: 24px;
  }
}
.el_campaignFukidashi_green--right {
  border-bottom-right-radius: 0;
}
.el_campaignFukidashi_green--left {
  border-bottom-left-radius: 0;
}

.el_campaignFukidashi_yellow {
  display: inline-grid;
  place-content: center;
  padding: min(4vw, 30px) min(3.33vw, 25px);
  font-size: 160%;
  font-weight: bold;
  background-color: var(--color-yellow);
  border-radius: min(12vw, 50px);
  text-align: center;
  line-height: 1.3;
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .el_campaignFukidashi_yellow {
    padding: 15px 15px;
    font-size: 1.5em;
    border-radius: 50px;
  }
}
.el_campaignFukidashi_yellow--right {
  border-bottom-right-radius: 0;
}
.el_campaignFukidashi_yellow--left {
  border-bottom-left-radius: 0;
}

/* アイコン */
.el_campaignIcon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  transform: translateY(0.2em);
}

/* 基本フォントサイズ */
.campaign {
  font-size: clamp(0.81rem, 0rem + 3.47vw, 1.63rem);
}
@media print, screen and (min-width: 751px) {
  .campaign {
    font-size: clamp(0.81rem, 0.41rem + 0.86vw, 1rem);
  }
}

.u-ft110 {
  font-size: 110%;
}

.u-ft120 {
  font-size: 120%;
}

.u-ft130 {
  font-size: 130%;
}

.u-ft140 {
  font-size: 140%;
}

.u-ft150 {
  font-size: 150%;
}

/* 別窓アイコン小 */
@media print, screen and (min-width: 751px) {
  .textLinkIco-blank::before {
    top: 0.1em;
    width: min(2.360156vw, 20px);
  }
}

/* 終了対応
-----------------------------------*/
.campaignEnd {
  margin: min(5.3333333vw, 20px) auto;
}
@media print, screen and (min-width: 751px) {
  .campaignEnd {
    margin: min(2.5390625vw, 26px) auto;
  }
}
.campaignEnd-inner {
  padding: 0 min(4vw, 15px);
}
@media print, screen and (min-width: 751px) {
  .campaignEnd-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 min(2.27vw, 25px);
    box-sizing: content-box;
  }
}
.content .campaignEnd-inner {
  padding: 0;
}

.campaignEnd-inner p {
  font-size: 1.13em;
}
@media print, screen and (min-width: 751px) {
  .campaignEnd-inner p {
    font-size: 1.25em;
  }
}

/* Title
-----------------------------------*/
.campaignTtl {
  font-size: 2em;
  font-weight: bold;
  text-align: center;
  margin-bottom: min(8vw, 60px);
}
@media print, screen and (min-width: 751px) {
  .campaignTtl {
    font-size: 3em;
    margin-bottom: min(5.45vw, 60px);
  }
}
.campaignTtl--underline {
  position: relative;
  padding-bottom: min(6.66vw, 50px);
}
@media print, screen and (min-width: 751px) {
  .campaignTtl--underline {
    padding-bottom: min(4.54vw, 50px);
  }
}
.campaignTtl--underline::after {
  content: "";
  width: min(20.53vw, 154px);
  height: clamp(0.06rem, 0.03rem + 0.14vw, 0.13rem);
  background-color: var(--color-black);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media print, screen and (min-width: 751px) {
  .campaignTtl--underline::after {
    width: min(14vw, 154px);
    height: 2px;
  }
}

/* mainVisual
-----------------------------------*/
.campaignHeader-mainvisual {
  text-align: center;
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-mainvisual {
    margin: min(2.27vw, 25px);
  }
}
.campaignHeader-mainvisual_img {
  display: block;
}
.campaignHeader-mainvisual_img > img {
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
}
.campaignHeader-contents {
  margin-top: min(5.33vw, 40px);
  margin-bottom: clamp(1.75rem, 0.23rem + 6.48vw, 4.69rem);
}
.campaignHeader-label {
  display: grid;
  place-content: center;
  padding: 0.5em;
  color: var(--color-white);
  font-weight: bold;
  background: var(--color-red);
  border-radius: min(1.06vw, 8px);
  margin-left: -1.9230769231vw;
  margin-right: -1.9230769231vw;
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-label {
    font-size: 1.25em;
    margin: auto;
    border-radius: 4px;
  }
}
.campaignHeader-period {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: min(2.66vw, 20px) 0;
  margin-top: min(2.66vw, 20px);
  margin-bottom: min(8vw, 60px);
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period {
    gap: 15px 0;
    margin-top: min(2.72vw, 30px);
    margin-bottom: min(3.63vw, 40px);
  }
}
.campaignHeader-period .w-space {
  white-space: nowrap;
}
.campaignHeader-period_ttl {
  flex-basis: 26.81%;
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_ttl {
    flex-basis: 24.35%;
    min-height: 74px;
  }
}
.campaignHeader-period_ttl:first-of-type {
  background-color: var(--color-lightGreen);
  color: var(--color-black);
  white-space: nowrap;
}
.campaignHeader-period_ttl.el_campaignFukidashi {
  padding-left: min(1.33vw, 10px);
  padding-right: min(1.33vw, 10px);
  font-size: clamp(0.75rem, -0.13rem + 3.73vw, 1.63rem);
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_ttl.el_campaignFukidashi {
    font-size: 1.13em;
  }
}
.campaignHeader-period_date-wrapper {
  flex-basis: 66.66%;
  display: flex;
  letter-spacing: -0.04em;
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date-wrapper {
    flex-basis: 71.79%;
  }
}
.campaignHeader-period_date {
  display: grid;
  align-items: end;
  font-weight: bold;
  line-height: 1.1;
}
.campaignHeader-period_date:not(:first-of-type) {
  position: relative;
  margin-left: calc(1em + 10px);
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date:not(:first-of-type) {
    margin-left: calc(1.25em + 10px);
  }
}
.campaignHeader-period_date:not(:first-of-type)::before {
  content: "～";
  position: absolute;
  bottom: 0.1em;
  left: calc(-1em - 5px);
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date:not(:first-of-type)::before {
    font-size: 1.25em;
  }
}
.campaignHeader-period_date-year {
  font-size: clamp(0.69rem, 0rem + 2.93vw, 1.38rem);
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date-year {
    font-size: 1.13em;
  }
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date-md {
    font-size: 1.25em;
  }
}
.campaignHeader-period_date-md .num {
  font-size: 1.62em;
  font-weight: 900;
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_date-md .num {
    font-size: 1.9em;
  }
}
.campaignHeader-period_date-md .num2 {
  font-size: 1.12em;
}

/* 賞品
-----------------------------------*/
.campaignPrize {
  overflow: hidden;
  padding-bottom: min(12.8vw, 96px);
  border-radius: min(4vw, 30px);
  background-color: var(--color-white);
  box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.09);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize {
    padding-bottom: min(7.27vw, 80px);
    border-radius: 30px;
  }
}
.campaignPrize + .campaignPrize {
  margin-top: 7.6923076923vw;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize + .campaignPrize {
    margin-top: min(3.90625vw, 40px);
  }
}
.campaignPrize-ttl {
  color: var(--color-white);
  background-color: var(--color-green);
  text-align: center;
  padding: min(1.86vw, 14px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-ttl {
    padding: 10px;
  }
}
.campaignPrize-ttl .lsS {
  letter-spacing: 0.2em !important;
}
.campaignPrize-ttl .lsM {
  letter-spacing: 0.6em !important;
}
.campaignPrize-ttl .lsL {
  letter-spacing: 1.2em !important;
}
.campaignPrize-ttl > span {
  display: inline-block;
  font-size: 1.85em;
  font-weight: bold;
  letter-spacing: 0.6em;
  transform: translateX(0.3em); /* ← letter-spacingのズレを修正 */
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-ttl > span {
    font-size: 2.25em;
  }
}
.campaignPrize-contents {
  max-width: 860px;
  margin: 0 auto;
  padding: min(12vw, 90px) min(5.33vw, 40px) 0;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-contents {
    padding-top: min(3.63vw, 40px);
  }
}
.campaignPrize-fukidashi {
  margin-top: min(9.33vw, 70px);
  margin-bottom: min(4vw, 30px);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 1em;
  text-align: center;
  font-size: 1.23em;
  font-weight: bold;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-fukidashi {
    margin-top: min(4.54vw, 50px);
    margin-bottom: min(1.81vw, 20px);
    font-size: 1.5em;
    gap: 1.4em;
  }
}
.campaignPrize-fukidashi > span {
  display: inline-block;
  padding-bottom: 0.4em;
}
.campaignPrize-fukidashi::before, .campaignPrize-fukidashi::after {
  content: "";
  width: min(0.53vw, 4px);
  height: 2.66em;
  background-color: var(--color-black);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-fukidashi::before, .campaignPrize-fukidashi::after {
    width: 3px;
    height: 3.54em;
  }
}
.campaignPrize-fukidashi::before {
  transform: rotate(-25deg);
}
.campaignPrize-fukidashi::after {
  transform: rotate(25deg);
}
.campaignPrize-item {
  padding: min(7.33vw, 55px) min(6.66vw, 50px);
  border: min(0.8vw, 6px) solid var(--color-gray);
  border-radius: min(2.66vw, 20px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item {
    padding: min(5.45vw, 60px) min(7.27vw, 80px);
    border-width: 3px;
    border-radius: 20px;
  }
}
.campaignPrize-item + .campaignPrize-item {
  margin-top: min(5.33vw, 40px);
}
.campaignPrize-item_ttl {
  margin-bottom: min(8vw, 60px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_ttl {
    margin-bottom: min(3.27vw, 36px);
  }
}
.campaignPrize-item_ttl > span {
  display: inline-block;
  padding: 0.3em 1em;
  color: var(--color-white);
  font-size: 1.15em;
  font-weight: bold;
  background-color: var(--color-orange);
  border-radius: 50vw;
  border-bottom-left-radius: 0;
  box-shadow: 0.19em 0.19em 0px 0px var(--color-beige);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_ttl > span {
    font-size: 1.88em;
  }
}
.campaignPrize-item_img {
  margin: min(2.66vw, 20px) auto;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_img {
    margin: min(1.81vw, 20px) auto;
  }
}
.campaignPrize-item_img > img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 90%;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_img > img {
    max-width: 440px;
  }
}
.campaignPrize-item_lead {
  font-size: 1.38em;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_lead {
    font-size: 2.25em;
  }
}
.campaignPrize-item_lead .num {
  font-size: 1.56em;
}
.campaignPrize-item_lead .point {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 1.94em;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-shadow: 0.06em 0.06em 0px var(--color-key3);
  padding-right: 0.2em;
}
.campaignPrize-item_line {
  border: none;
  border-top: clamp(0.06rem, 0rem + 0.27vw, 0.13rem) solid var(--color-gray);
  margin: min(5.33vw, 40px) auto;
}
@media print, screen and (min-width: 751px) {
  .campaignPrize-item_line {
    border-top-width: 1px;
    margin: 30px auto;
  }
}
.campaignPrize .compartment {
  margin-top: min(3.46vw, 26px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize .compartment {
    margin-top: min(3.63vw, 40px);
  }
}
.campaignPrize .Apply3 {
  font-size: clamp(16px, 5vw, 38px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize .Apply3 {
    font-size: clamp(23px, 3vw, 32px);
  }
}
.campaignPrize .Apply10 {
  font-size: clamp(16px, 7.5vw, 38px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize .Apply10 {
    font-size: clamp(23px, 4vw, 42px);
  }
}
.campaignPrize .Apply20 {
  font-size: clamp(16px, 10vw, 38px);
}
@media print, screen and (min-width: 751px) {
  .campaignPrize .Apply20 {
    font-size: clamp(23px, 5vw, 52px);
  }
}

/* エントリー方法
-----------------------------------*/
.campaignEntry-lead {
  text-align: left;
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-lead {
    text-align: center;
  }
}
.campaignEntry-link {
  display: flex;
  justify-content: center;
  gap: 0.6em 1.4em;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-link {
    font-size: 0.88em;
  }
}

/* 注意事項
-----------------------------------*/
@media print, screen and (min-width: 751px) {
  .campaignNotes {
    font-size: 1em;
  }
}

/* 通学定期券の購入もおトクに！
-----------------------------------*/
.btn_point .btn_mobile img {
  max-width: 95px;
  vertical-align: middle;
}
.btn_point .btn_jre img {
  max-width: 145px;
  vertical-align: middle;
}

/* campaignFooter
-----------------------------------*/
.campaignFooter {
  padding: min(13.33vw, 100px) 0 min(12vw, 90px);
  border-bottom: 1px solid var(--color-gray);
}
@media print, screen and (min-width: 751px) {
  .campaignFooter {
    padding: min(5.45vw, 60px) 0 min(9.09vw, 100px);
  }
}

/* 通学定期券の購入もおトクに！
-----------------------------------*//*# sourceMappingURL=style.css.map */

/* キャンペーン期間（2行）
-----------------------------------*/
.campaignHeader-period--first {
  margin-bottom: min(4vw, 30px);
}
/* 期間ラベル：横幅が狭いときだけ「キャンペーン／期間」「エントリー／期間」を2行にする */
.br-narrow {
  display: none;
}
@media only screen and (max-width: 750px) {
  .br-narrow {
    display: inline;
  }
}
.campaignHeader-period_ttl.el_campaignFukidashi {
  min-width: 6.8em;
}
/* SP（750px以下）：期間エリアをvwで縮小し、どの幅でも見た目と間隔が同じになるようにする */
@media only screen and (max-width: 750px) {
  .campaignHeader-period {
    justify-content: flex-start;
    font-size: 3vw;
  }
  .campaignHeader-period_ttl.el_campaignFukidashi {
    flex: 0 0 24.7vw;
    width: 24.7vw;
    min-width: 0;
    padding-left: 2.4vw;
    padding-right: 2.4vw;
    font-size: 2.9vw;
  }
  .campaignHeader-period .campaignHeader-period_date-wrapper {
    flex: 0 0 auto;
    min-width: 0;
    margin-left: min(5.5vw, 30px);
  }
  .campaignHeader-period_date-year {
    font-size: 0.85em;
  }
  .campaignHeader-period_date:not(:first-of-type) {
    margin-left: calc(1em + 2.7vw);
  }
  .campaignHeader-period_date:not(:first-of-type)::before {
    left: calc(-1em - 1.35vw);
  }
}
/* PCは横幅が狭くても吹き出しの幅を固定（日付が下に落ちないようにする） */
@media print, screen and (min-width: 751px) {
  .campaignHeader-period_ttl.el_campaignFukidashi {
    flex: 0 0 190px;
    width: 190px;
  }
  .campaignHeader-period .campaignHeader-period_date-wrapper {
    flex: 1 1 0;
    margin-left: 30px;
  }
}
@media print, screen and (min-width: 751px) {
  .campaignHeader-period--first {
    margin-bottom: 20px;
  }
}

/* コース選択（アンカーリンク）
-----------------------------------*/
.campaignCourseNav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.2vw, 30px);
  text-align: center;
}
.campaignCourseNav_item {
  padding: min(4vw, 30px) min(3vw, 24px);
  border: 1px solid;
  border-radius: min(4vw, 20px);
}
.campaignCourseNav_item--red {
  background-color: var(--color-lightRed);
  border-color: var(--color-courseRed);
}
.campaignCourseNav_item--blue {
  background-color: var(--color-lightBlue);
  border-color: var(--color-courseNavy);
}
.campaignCourseNav_img > img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}
.campaignCourseNav_name {
  margin-top: 0.8em;
  font-weight: bold;
  line-height: 1.4;
}
.campaignCourseNav_btn {
  margin-top: 0.8em;
}
.campaignCourseNav_btn .singleBtn-c02 {
  max-width: 320px;
}
@media only screen and (max-width: 750px) {
  .campaignCourseNav_name {
    font-size: 0.9em;
  }
  .campaignCourseNav_btn .singleBtn-c02 {
    padding-left: 8vw;
    padding-right: 2vw;
    font-size: clamp(11px, 3.2vw, 24px);
  }
  .campaignCourseNav_btn .singleBtn-c02::after {
    left: 2.4vw;
  }
}

/* コース詳細
-----------------------------------*/
.campaignCourse {
  margin-top: min(10.66vw, 60px);
  padding: min(5.33vw, 30px);
  border: 1px solid var(--color-black);
  border-radius: min(4vw, 20px);
  scroll-margin-top: 20px;
}
.campaignCourse--red {
  background-color: var(--color-lightRed);
  border-color: var(--color-courseRed);
}
.campaignCourse--blue {
  background-color: var(--color-lightBlue);
  border-color: var(--color-courseNavy);
}
.campaignCourse-ttl {
  color: var(--color-white);
}
.campaignCourse-ttl--red {
  background-color: var(--color-courseRed);
}
.campaignCourse-ttl--navy {
  background-color: var(--color-courseNavy);
}
.campaignCourse-entry {
  margin-top: min(6.4vw, 40px);
}
.campaignCourse-entry .singleBtnHolder_item {
  display: block;
}
.campaignCourse-entry .el_campaignBtn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 100%;
  font-size: 1.15em;
}

/* エントリー方法（2ボタン）
-----------------------------------*/
.campaignEntry-btns {
  display: grid;
  gap: min(4vw, 20px);
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-btns {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.campaignEntry-btns .el_campaignBtn {
  display: grid;
  place-content: center;
  width: 100%;
  max-width: 100%;
  font-size: 1.15em;
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-btns .el_campaignBtn {
    font-size: 1.1em;
  }
}
.campaignEntry-guideBtn {
  width: 100%;
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-guideBtn {
    width: min(60vw, 560px);
  }
}
.campaignEntry-guideBtn > a {
  display: block;
  padding-left: 5.1282051282vw;
}
@media print, screen and (min-width: 751px) {
  .campaignEntry-guideBtn > a {
    padding-left: 28px;
  }
}

/* 注意事項（見出し）
-----------------------------------*/
.campaignNotes-ttl {
  margin-top: 2em;
  margin-bottom: 0.6em;
  font-size: 0.94em;
  font-weight: bold;
}
.campaignNotes-ttl:first-of-type {
  margin-top: 0;
}

/* SP用エントリーボタン（フロート要素）
-----------------------------------*/
@media only screen and (max-width: 750px) {
  .campaignCourse-entry {
    display: none;
  }
  .spFlowEntry {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 3.8461538462vw;
    width: 100%;
    background-color: #fff;
  }
  .spFlowEntry._col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(1.46484375vw, 10px);
  }
  .spFlowEntry._col2 > .singleBtn {
    padding-left: 6.4vw;
    padding-right: 1vw;
    font-size: clamp(10px, 2.7vw, 18px);
    line-height: 1.4;
  }
  .spFlowEntry._col2 > .singleBtn::after {
    left: 2.2vw;
  }
  .globalFooter_bottom {
    padding-bottom: 33.3333333333vw;
  }
  .pagetopBtn {
    bottom: 26.1538461538vw;
  }
}
