@charset "UTF-8";
.cp-main-container {
  /* 白 */
  --cp-white-color: #fff;
  /* 黒 */
  --cp-black-color: #000;
  /* グレー */
  --cp-gray-color-500: #9fa0a0;
  --cp-gray-color-100: #cecece;
  --cp-gray-color-10: #f0f0f0;
  /* メインカラー */
  --cp-main-color: #06450e;
  --cp-main-color-light: #438d49;
  /* セクション見出し デコレーション */
  --cp-heading-deco-color: var(--cp-main-color);
  /* 応募方法ステップの外枠の線 */
  --cp-step-border: var(--cp-main-color-light);
  /* 応募方法ステップの見出しの背景 */
  --cp-step-heading-bg: var(--cp-main-color);
  /* ボタンテキスト */
  --cp-btn-color: var(--cp-black-color);
  /* ボタン背景 */
  --cp-btn-bg: var(--cp-gray-color-100);
  /* ボタン線 */
  --cp-btn-border: var(--cp-btn-bg);
  /* ボタンテキスト(ホバー時) */
  --cp-btn-color-hover: var(--cp-btn-color);
  /* ボタン背景(ホバー時) */
  --cp-btn-bg-hover: #e2e2e2;
  /* ボタン線(ホバー時) */
  --cp-btn-border-hover: var(--cp-btn-bg-hover);
  /* 応募規約 背景 */
  --cp-requirements-bg: var(--cp-gray-color-10);
  /* 応募規約 線 */
  --cp-requirements-border: var(--cp-gray-color-500);
  /* 本文テキスト */
  --cp-txt-color: var(--cp-black-color);
  /* リストテキスト */
  --cp-list-txt-color: var(--cp-black-color);
  /* 注釈テキスト */
  --cp-note-txt-color: var(--cp-black-color);
  /* 告知テキスト */
  --cp-notice-color: var(--cp-white-color);
  /* 告知テキスト背景 */
  --cp-notice-bg: #e30000;
}

.cp-main-container {
  --cp-font: 16;
}

/* ==========================================================================
  ELEMENT RESET
========================================================================== */
body {
  margin: 0;
}

.cp-main-container {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.cp-main-container *,
.cp-main-container *::before,
.cp-main-container *::after {
  box-sizing: border-box;
}
.cp-main-container h1,
.cp-main-container h2,
.cp-main-container h3,
.cp-main-container h4,
.cp-main-container h5,
.cp-main-container h6,
.cp-main-container p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
}
.cp-main-container ol,
.cp-main-container ul,
.cp-main-container dl {
  margin-top: 0;
  margin-bottom: 0;
}
.cp-main-container dd {
  margin-left: 0;
}
.cp-main-container ol,
.cp-main-container ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.cp-main-container a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.cp-main-container a {
  outline: 0;
}
.cp-main-container a:focus,
.cp-main-container button:focus {
  outline: 0;
}
.cp-main-container em {
  font-style: normal;
}
.cp-main-container figure {
  margin: 0;
}
.cp-main-container table {
  border-collapse: collapse;
}
.cp-main-container button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}
.cp-main-container button:focus {
  outline: none;
}
.cp-main-container input,
.cp-main-container button,
.cp-main-container select,
.cp-main-container textarea {
  line-height: inherit;
}
.cp-main-container textarea {
  resize: vertical;
}
.cp-main-container fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.cp-main-container legend {
  display: block;
  width: 100%;
  margin-bottom: 0;
  padding: 0;
  line-height: inherit;
}
.cp-main-container hr {
  margin: 0;
}
.cp-main-container hr {
  margin: 5rem 0;
  border: 1px #ccc solid;
}
.cp-main-container img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ==========================================================================
  UTILL
========================================================================== */
/* --------------------------------------------------------------------------
  フォント
-------------------------------------------------------------------------- */
.cp-main-container {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.cp-main-container p,
.cp-main-container button,
.cp-main-container input,
.cp-main-container optgroup,
.cp-main-container select,
.cp-main-container textarea {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.cp-main-container h1,
.cp-main-container h2,
.cp-main-container h3,
.cp-main-container h4,
.cp-main-container h5,
.cp-main-container h6 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* ==========================================================================
  CP COMPONENT
========================================================================== */
/* --------------------------------------------------------------------------
  HTML
-------------------------------------------------------------------------- */
.cp-main-container {
  font-size: 16px;
}

@media all and (min-width: 768px) and (max-width: 1365px) {
  .cp-main-container {
    font-size: 14px;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container {
    font-size: 16px;
  }
}
/* --------------------------------------------------------------------------
  非表示
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-block--sp {
    /* スマホ時のみ出る */
    display: none;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-block--pc {
    /* PC時のみ出る */
    display: none;
  }
}

/* --------------------------------------------------------------------------
  CP-SVG
-------------------------------------------------------------------------- */
.cp-main-container .cp-svg {
  position: relative;
  display: block;
  width: 100%;
}
.cp-main-container .cp-svg::before {
  display: block;
  padding-top: 100%;
  content: "";
}
.cp-main-container .cp-svg > svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------------------------------------------------
  CP-IMG
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-img__label {
    width: 100%;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-img__label {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
  CP-SECTION-SEC
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-sec__in {
    max-width: calc(1000 / var(--cp-font) * 1em);
    margin: 0 auto;
    padding: 0 calc(20 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-sec__body {
    padding: calc(40 / var(--cp-font) * 1em) 0;
  }
  .cp-main-container .cp-page-sec__body:first-child {
    padding-bottom: calc(20 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-sec:nth-child(2) .cp-page-sec__body {
    padding-top: calc(20 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-sec:last-child .cp-page-sec__body {
    padding-bottom: calc(120 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-sec-block + .cp-page-sec-block {
    margin-top: calc(32 / var(--cp-font) * 1em);
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-sec__in {
    margin: 0 auto;
    padding: 0 calc(30 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-sec__body {
    padding: calc(40 / var(--cp-font) * .5em) 0;
  }
  .cp-main-container .cp-page-sec:first-child .cp-page-sec__body {
    padding-top: calc(56 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-sec:last-child .cp-page-sec__body {
    padding-bottom: calc(120 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-sec-block + .cp-page-sec-block {
    margin-top: calc(32 / var(--cp-font) * .5em);
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-TITLE
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-title {
    text-align: center;
  }
  .cp-main-container .cp-page-title__in {
    margin-bottom: calc(32 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-title__label {
    font-size: calc(32 / var(--cp-font) * 1em);
    font-weight: bold;
    line-height: 1.5;
  }
  .cp-main-container .cp-page-title-notice {
    display: none;
  }
  .cp-main-container .cp-page-title-notice__in {
    background: var(--cp-notice-bg);
    width: 100%;
    border-radius: calc(10 / var(--cp-font) * 1em);
    padding: calc(8 / var(--cp-font) * 1em) calc(20 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-title-notice__label {
    color: var(--cp-notice-color);
    font-size: calc(32 / var(--cp-font) * 1em);
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-title {
    text-align: center;
  }
  .cp-main-container .cp-page-title__in {
    margin-bottom: calc(28 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-title__label {
    font-size: calc(44 / var(--cp-font) * .5em);
    font-weight: bold;
    line-height: 1.5;
  }
  .cp-main-container .cp-page-title-notice {
    display: none;
  }
  .cp-main-container .cp-page-title-notice__in {
    background: var(--cp-notice-bg);
    width: 100%;
    border-radius: calc(10 / var(--cp-font) * .5em);
    padding: calc(8 / var(--cp-font) * .5em) calc(20 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-title-notice__label {
    color: var(--cp-notice-color);
    font-size: calc(32 / var(--cp-font) * .5em);
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-SEC-HEADING
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-sec-heading {
    margin-bottom: calc(40 / var(--cp-font) * 1em);
    text-align: center;
  }
  .cp-main-container .cp-page-sec-heading__in {
    display: inline-block;
    position: relative;
    padding-bottom: calc(32 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-sec-heading__in::before {
    content: "";
    display: block;
    width: calc(112 / var(--cp-font) * 1em);
    padding-top: calc(4 / var(--cp-font) * 1em);
    background: var(--cp-heading-deco-color);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .cp-main-container .cp-page-sec-heading__label {
    font-size: calc(28 / var(--cp-font) * 1em);
    font-weight: bold;
    line-height: 1.5;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-sec-heading {
    margin-bottom: calc(40 / var(--cp-font) * .5em);
    text-align: center;
  }
  .cp-main-container .cp-page-sec-heading__in {
    display: inline-block;
    position: relative;
    padding-bottom: calc(32 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-sec-heading__in::before {
    content: "";
    display: block;
    width: calc(142 / var(--cp-font) * .5em);
    padding-top: calc(8 / var(--cp-font) * .5em);
    background: var(--cp-heading-deco-color);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .cp-main-container .cp-page-sec-heading__label {
    font-size: calc(36 / var(--cp-font) * .5em);
    font-weight: bold;
    line-height: 1.4166666667;
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-SEC-MV
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-img {
    max-width: calc(1200 / var(--cp-font) * 1em);
    margin: 0 auto 0;
  }
  .cp-main-container .cp-img__label {
    width: 100%;
    height: auto;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-img {
    max-width: calc(1380 / var(--cp-font) * .5em);
    margin: 0 auto 0;
  }
  .cp-main-container .cp-img__label {
    width: 100%;
    height: auto;
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-TXT
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-txt {
    --cp-txt-size: 18;
    --cp-txt-line-height: calc(30 / 18);
  }
  .cp-main-container .cp-page-txt__label {
    color: var(--cp-txt-color);
    font-size: calc(var(--cp-txt-size) / var(--cp-font) * 1em);
    font-weight: 400;
    line-height: var(--cp-txt-line-height);
    word-break: break-all;
  }
  .cp-main-container .cp-page-txt__label--dl {
    display: flex;
  }
  .cp-main-container .cp-page-txt--dt {
    flex-shrink: 0;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-txt {
    --cp-txt-size: 28;
    --cp-txt-line-height: calc(44 / 28);
  }
  .cp-main-container .cp-page-txt__label {
    color: var(--cp-txt-color);
    font-size: calc(var(--cp-txt-size) / var(--cp-font) * .5em);
    font-weight: 400;
    line-height: var(--cp-txt-line-height);
    word-break: break-all;
  }
  .cp-main-container .cp-page-txt__label--dl {
    display: flex;
  }
  .cp-main-container .cp-page-txt--dt {
    flex-shrink: 0;
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-LIST
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-list {
    --cp-list-txt-size: 18;
    --cp-list-txt-line-height: 1.5;
  }
  .cp-main-container .cp-page-list-item {
    color: var(--cp-list-txt-color);
    font-size: calc(var(--cp-list-txt-size) / var(--cp-font) * 1em);
    font-weight: 400;
    line-height: var(--cp-list-txt-line-height);
    display: flex;
    justify-content: start;
  }
  .cp-main-container .cp-page-list-item__deco {
    flex-shrink: 0;
  }
  .cp-main-container .cp-page-list--num .cp-page-list-item__deco {
    display: block;
    min-width: calc(var(--cp-list-txt-size) * 2 / var(--cp-font) * 1em);
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-list {
    --cp-list-txt-size: 28;
    --cp-list-txt-line-height: calc(44 / 28);
  }
  .cp-main-container .cp-page-list-item {
    color: var(--cp-list-txt-color);
    font-size: calc(var(--cp-list-txt-size) / var(--cp-font) * .5em);
    font-weight: 400;
    line-height: var(--cp-list-txt-line-height);
    display: flex;
    justify-content: start;
  }
  .cp-main-container .cp-page-list-item__deco {
    flex-shrink: 0;
  }
  .cp-main-container .cp-page-list-item__label {
    word-break: break-all;
  }
  .cp-main-container .cp-page-list--num .cp-page-list-item__deco {
    display: block;
    min-width: calc(var(--cp-list-txt-size) / var(--cp-font) * .5em);
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-NOTE
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-note {
    --cp-note-size: 18;
    --cp-note-line-height: 1.5;
  }
  .cp-main-container .cp-page-note-txt {
    color: var(--cp-note-txt-color);
    font-size: calc(var(--cp-note-size) / var(--cp-font) * 1em);
    font-weight: 400;
    line-height: var(--cp-note-line-height);
    display: flex;
    justify-content: start;
  }
  .cp-main-container .cp-page-note-txt::before {
    content: "※";
    flex-shrink: 0;
  }
  .cp-main-container .cp-page-note__label {
    word-break: break-all;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-note {
    --cp-note-size: 28;
    --cp-note-line-height: calc(44 / 28);
  }
  .cp-main-container .cp-page-note-txt {
    color: var(--cp-note-txt-color);
    font-size: calc(var(--cp-note-size) / var(--cp-font) * .5em);
    font-weight: 400;
    line-height: var(--cp-note-line-height);
    display: flex;
    justify-content: start;
  }
  .cp-main-container .cp-page-note-txt::before {
    content: "※";
    flex-shrink: 0;
  }
  .cp-main-container .cp-page-note__label {
    word-break: break-all;
  }
}

/* --------------------------------------------------------------------------
  cp-page-btn
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-btn {
    --cp-btn-txt-size: 20;
    --cp-btn-ico-size: 12;
    --cp-btn-width: 400;
    --cp-btn-height: 58;
    text-align: center;
    display: block;
    margin: calc(20 / var(--cp-font) * 1em) auto 0;
    width: calc(var(--cp-btn-width) / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-btn__in {
    background: var(--cp-btn-bg);
    border: solid var(--cp-btn-border) calc(1 / var(--cp-font) * 1em);
    border-radius: 9999px;
    padding: 0 calc(42 / var(--cp-font) * 1em);
    height: 100%;
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn:hover .cp-page-btn__in {
    background: var(--cp-btn-bg-hover);
    border-color: var(--cp-btn-border-hover);
  }
  .cp-main-container .cp-page-btn__body {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: calc(8 / var(--cp-font) * 1em) 0;
    min-height: calc(var(--cp-btn-height) / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-btn-txt__label {
    color: var(--cp-btn-color);
    font-size: calc(var(--cp-btn-txt-size) / var(--cp-font) * 1em);
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn:hover .cp-page-btn-txt__label {
    color: var(--cp-btn-color-hover);
  }
  .cp-main-container .cp-page-btn-ico {
    width: calc(var(--cp-btn-ico-size) / var(--cp-font) * 1em);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-right: calc(-24 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-btn-ico svg {
    fill: var(--cp-btn-color);
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn:hover .cp-page-btn-ico svg {
    fill: var(--cp-btn-color-hover);
  }
  .cp-main-container .cp-page-btn--back .cp-page-btn-ico {
    right: auto;
    left: 0;
    margin-left: calc(-24 / var(--cp-font) * 1em);
    margin-right: 0;
  }
  .cp-main-container .cp-page-btn--back .cp-page-btn-ico svg {
    transform: rotate(180deg);
  }
  .cp-main-container .cp-page-btn--disabled {
    --cp-btn-bg: var(--cp-gray-color-100);
    --cp-btn-color: var(--cp-gray-color-10);
    pointer-events: none;
  }
  .cp-main-container .cp-page-btn--disabled .cp-page-btn__in,
  .cp-main-container .cp-page-btn--disabled:hover .cp-page-btn__in {
    background: var(--cp-btn-bg);
  }
  .cp-main-container .cp-page-btn--disabled .cp-page-btn-txt__label,
  .cp-main-container .cp-page-btn--disabled:hover .cp-page-btn-txt__label {
    color: var(--cp-btn-color);
  }
  .cp-main-container .cp-page-btn--disabled .cp-page-btn-ico svg,
  .cp-main-container .cp-page-btn--disabled:hover .cp-page-btn-ico svg {
    fill: var(--cp-btn-color);
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-btn {
    --cp-btn-txt-size: 32;
    --cp-btn-ico-size: 25;
    --cp-btn-width: 690;
    --cp-btn-height: 110;
    text-align: center;
    display: block;
    margin: 0 auto 0;
    width: calc(var(--cp-btn-width) / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-btn__in {
    background: var(--cp-btn-bg);
    border: solid var(--cp-btn-border) calc(1 / var(--cp-font) * .5em);
    border-radius: 9999px;
    padding: 0 calc(42 / var(--cp-font) * .5em);
    height: 100%;
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn__body {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: calc(8 / var(--cp-font) * .5em) 0;
    min-height: calc(var(--cp-btn-height) / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-btn-txt__label {
    color: var(--cp-btn-color);
    font-size: calc(var(--cp-btn-txt-size) / var(--cp-font) * .5em);
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn-ico {
    width: calc(var(--cp-btn-ico-size) / var(--cp-font) * .5em);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-right: calc(-10 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-btn-ico svg {
    fill: var(--cp-btn-color);
    transition: all 0.3s ease;
  }
  .cp-main-container .cp-page-btn--back .cp-page-btn-ico {
    right: auto;
    left: 0;
    margin-left: calc(-10 / var(--cp-font) * .5em);
    margin-right: 0;
  }
  .cp-main-container .cp-page-btn--back .cp-page-btn-ico svg {
    transform: rotate(180deg);
  }
}

/* --------------------------------------------------------------------------
  CP-PAGE-STEP
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-step-list {
    --cp-step-gap: 16;
    display: flex;
    gap: calc(var(--cp-step-gap) / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-step-list--3col {
    --cp-item: 3;
  }
  .cp-main-container .cp-page-step-list--4col {
    --cp-item: 4;
  }
  .cp-main-container .cp-page-step-list-item {
    width: calc((100% - var(--cp-step-gap) * (var(--cp-item) - 1) / var(--cp-font) * 1em) / var(--cp-item));
  }
  .cp-main-container .cp-page-step {
    border: solid calc(4 / var(--cp-font) * 1em) var(--cp-step-border);
    border-radius: calc(10 / var(--cp-font) * 1em);
    height: 100%;
  }
  .cp-main-container .cp-page-step__in {
    padding: calc(40 / var(--cp-font) * 1em) calc(20 / var(--cp-font) * 1em) calc(32 / var(--cp-font) * 1em);
    height: 100%;
  }
  .cp-main-container .cp-page-step-heading {
    text-align: center;
  }
  .cp-main-container .cp-page-step-heading__in {
    display: inline-block;
    background: var(--cp-step-heading-bg);
    border-radius: 9999px;
    padding: calc(6 / var(--cp-font) * 1em) calc(20 / var(--cp-font) * 1em);
    min-width: calc(117 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-step-heading__body {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cp-main-container .cp-page-step-heading__label--sub {
    color: var(--cp-white-color);
    font-size: calc(18 / var(--cp-font) * 1em);
    font-weight: 400;
    line-height: 1;
    margin-right: calc(4 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-step-heading__label {
    color: var(--cp-white-color);
    font-size: calc(18 / var(--cp-font) * 1em);
    font-weight: bold;
    line-height: 1;
  }
  .cp-main-container .cp-page-step-read-ico {
    max-width: calc(106 / var(--cp-font) * 1em);
    margin: calc(32 / var(--cp-font) * 1em) auto 0;
  }
  .cp-main-container .cp-page-step-read-txt {
    margin-top: calc(40 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-step-read-txt__label {
    font-size: calc(18 / var(--cp-font) * 1em);
    font-weight: 400;
    font-weight: bold;
    line-height: 1.7;
    letter-spacing: 0;
    word-break: break-all;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-step-list-item {
    width: 100%;
  }
  .cp-main-container .cp-page-step-list-item + .cp-page-step-list-item {
    margin-top: calc(25 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step {
    border: solid calc(8 / var(--cp-font) * .5em) var(--cp-step-border);
    border-radius: calc(20 / var(--cp-font) * .5em);
    height: 100%;
  }
  .cp-main-container .cp-page-step__in {
    padding: calc(24 / var(--cp-font) * .5em) calc(30 / var(--cp-font) * .5em) calc(20 / var(--cp-font) * .5em);
    height: 100%;
    position: relative;
  }
  .cp-main-container .cp-page-step-heading {
    text-align: center;
  }
  .cp-main-container .cp-page-step-heading__in {
    display: inline-block;
    background: var(--cp-step-heading-bg);
    border-radius: 9999px;
    padding: calc(9 / var(--cp-font) * .5em) calc(20 / var(--cp-font) * .5em);
    min-width: calc(167 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step-heading__body {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cp-main-container .cp-page-step-heading__label--sub {
    color: var(--cp-white-color);
    font-size: calc(28 / var(--cp-font) * .5em);
    font-weight: 400;
    line-height: 1;
    margin-right: calc(6 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step-heading__label {
    color: var(--cp-white-color);
    font-size: calc(28 / var(--cp-font) * .5em);
    font-weight: bold;
    line-height: 1;
  }
  .cp-main-container .cp-page-step-read {
    display: flex;
    align-items: start;
    margin-top: calc(30 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step-read::before {
    content: "";
    display: block;
    width: calc(132 / var(--cp-font) * .5em);
    margin-right: calc(40 / var(--cp-font) * .5em);
    flex-shrink: 0;
  }
  .cp-main-container .cp-page-step-read-ico {
    width: calc(132 / var(--cp-font) * .5em);
    margin-right: calc(40 / var(--cp-font) * .5em);
    flex-shrink: 0;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-left: calc(40 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step-read-txt {
    margin-top: calc(-14 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-step-read-txt__label {
    font-size: calc(28 / var(--cp-font) * .5em);
    font-weight: 400;
    font-weight: bold;
    line-height: 1.7857142857;
    letter-spacing: 0;
    word-break: break-all;
  }
}

.step1-round-img {
  border-radius: 50%;
}

/* --------------------------------------------------------------------------
  CP-PAGE-REQUIREMENTS
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-page-requirements__container {
    margin-top: calc(32 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-requirements {
    background: var(--cp-requirements-bg);
    border-radius: calc(10 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-requirements + .cp-page-requirements {
    margin-top: calc(16 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-requirements__in {
    padding: calc(56 / var(--cp-font) * 1em) calc(64 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-requirements-heading {
    position: relative;
    padding-bottom: calc(20 / var(--cp-font) * 1em);
    margin-bottom: calc(20 / var(--cp-font) * 1em);
  }
  .cp-main-container .cp-page-requirements-heading::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(1 / var(--cp-font) * 1em);
    background: var(--cp-requirements-border);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .cp-main-container .cp-page-requirements-heading__label {
    font-size: calc(24 / var(--cp-font) * 1em);
    font-weight: bold;
    line-height: 1.4166666667;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-page-requirements__container {
    margin-top: calc(32 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-requirements {
    background: var(--cp-requirements-bg);
    border-radius: calc(20 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-requirements + .cp-page-requirements {
    margin-top: calc(32 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-requirements__in {
    padding: calc(24 / var(--cp-font) * .5em) calc(38 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-requirements-heading {
    position: relative;
    padding-bottom: calc(24 / var(--cp-font) * .5em);
    margin-bottom: calc(24 / var(--cp-font) * .5em);
  }
  .cp-main-container .cp-page-requirements-heading::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(2 / var(--cp-font) * .5em);
    background: var(--cp-requirements-border);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .cp-main-container .cp-page-requirements-heading__label {
    font-size: calc(32 / var(--cp-font) * .5em);
    font-weight: bold;
    line-height: 1.5;
  }
}

/* --------------------------------------------------------------------------
  CP-OTHER-TEMPLATE
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-main-container .cp-link-txt {
    text-decoration: underline;
  }
  .cp-main-container .cp-link-txt:hover {
    text-decoration: none;
  }
  .cp-main-container .cp-color-main {
    color: var(--cp-main-color);
  }
  .cp-main-container .cp-color-main-light {
    color: var(--cp-main-color-light);
  }
  .cp-main-container .cp-color-red {
    color: #e30000;
  }
  .cp-main-container .cp-bold {
    font-weight: bold;
  }
}
@media all and (max-width: 767px) {
  .cp-main-container .cp-link-txt {
    text-decoration: underline;
  }
  .cp-main-container .cp-color-main {
    color: var(--cp-main-color);
  }
  .cp-main-container .cp-color-main-light {
    color: var(--cp-main-color-light);
  }
  .cp-main-container .cp-color-red {
    color: #e30000;
  }
  .cp-main-container .cp-bold {
    font-weight: bold;
  }
}

/* --------------------------------------------------------------------------
  キャンペーン終了
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .cp-ended .cp-page-title-notice {
    display: block;
  }
  .cp-ended .cp-page-title-notice + .cp-page-img {
    margin-top: calc(8 / var(--cp-font) * 1em);
  }
}
@media all and (max-width: 767px) {
  .cp-ended .cp-page-title-notice {
    display: block;
  }
  .cp-ended .cp-page-title-notice + .cp-page-img {
    margin-top: calc(8 / var(--cp-font) * .5em);
  }
}
