@charset "utf-8";

body {
  font-family: "Hiragino Kaku Gothic ProN", Noto Sans JP, Meiryo, sans-serif;
}

.is-open .bottomFixedCV .share-button {
  display: block;
}

.is-open .bottomFixedCV .c-button[data-size="m"] {
  width: 293px;
  margin: 5px auto 8px;
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

.header-pc,
.bg-pc,
.cv-area {
  display: none;
}

button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

button:disabled {
  background-color: #777777;
}

sup {
  font-size: 10px;
  vertical-align: super;
  font-weight: bold;
}

.c-text {
  font-size: 12px;
  font-weight: bold;
}

#wrap {
  width: 100%;
  max-width: 375px;
  margin: auto;
  background: #fff;
}

.img-pc {
  display: none;
}

.is-pc .img-pc {
  display: block;
}

.is-pc .img-sp {
  display: none;
}

.img-webview {
  display: none;
}

.is-webview .img-webview {
  display: block;
}

.is-webview .img-sp {
  display: none;
}

.copyMessage {
  visibility: hidden;
  max-width: 500px;
  margin: 10px auto 0;
  text-align: right;
  transition: opacity 1s ease-out;
  font-size: 12px;
}

.l-section__inner {
  padding-left: 20px;
  padding-right: 20px;
}

.c-list[data-type=kome]>li {
  padding-left: 15px;
  font-size: 11px;
  font-weight: bold;
}

.c-list[data-type=number]>li {
  margin-left: 15px;
  font-size: 11px;
  list-style-type: decimal;
  font-weight: bold;
  color: #666;
}

.c-list[data-type=number]>li ul {
  margin-bottom: 5px;
}

.c-list[data-type=number]>li li {
  font-weight: bold;
}


header {
  width: 100%;
  max-width: 375px;
  margin: auto;
  padding: 9px 10px;
  border-bottom: 1px solid #cccccc;
  box-sizing: border-box;
}

header h1 img {
  width: 150px;
}

.mv {
  background: url('/function/promotion/referral2601_open/img/img_mv_bg.png') no-repeat top;
  background-size: 100%;
  background-color: #fff8e0;
  padding-bottom: 35px;
}

.mv h2 {
  width: 345px;
  margin: auto;
  padding-top: 26px;
  transform: translateX(4px);
}

.mv-box {
  margin-top: 12px;
  border-radius: 10px;
  overflow: hidden;
}

.mv-box__head {
  background-color: #F56800;
  text-align: center;
  padding: 8px 0;
}

.mv-box__head img {
  width: 114px;
}

.mv-box__contents {
  background-color: #fff;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding-bottom: 20px;
}

.mv-box__contents p {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.7;
}

.modal-button {
  width: 143px;
  background-color: #fff;
  border: 1px solid #834F4D;
  border-radius: 3px;
  font-size: 12px;
  font-weight: bold;
  color: #834F4D;
  display: block;
  margin: 5px auto 0;
  cursor: pointer;
  padding: 6px 6px;
  padding-left: 23px;
  text-align: left;
  position: relative;
}

.modal-button::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 9px;
  width: 14px;
  height: 14px;
  background: url(/function/promotion/referral2601_open/img/icon_modal.svg) no-repeat center center;
  background-size: contain;
  transform: translateY(-50%);
}

.share {
  margin-top: 39px;
}

.share-head {
  width: 294px;
  margin: auto;
}

.share-button {
  width: 293px;
  margin: 20px auto 8px;
}

.share-button li+li {
  margin-top: 15px;
}

.share-button li button {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  height: 68px;
  position: relative;
}

.share-button li button::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.share-button__line {
  background-color: #2CC23F;
}

.share-button__mail {
  background-color: #0276FF;
}

.share-button__copy {
  background-color: #555555;
}

.share-button__line::before {
  left: 17px;
  width: 42px;
  height: 42px;
  background: url(/function/promotion/referral2601_open/img/icon_line.svg) no-repeat center center;
  background-size: contain;
}

.share-button__mail::before {
  left: 17px;
  width: 42px;
  height: 42px;
  background: url(/function/promotion/referral2601_open/img/icon_mail.svg) no-repeat center center;
  background-size: contain;
}

.share-button__copy::before {
  left: 27px;
  width: 24px;
  height: 31px;
  background: url(/function/promotion/referral2601_open/img/icon_copy.svg) no-repeat center center;
  background-size: contain;
}

.share-note {
  font-size: 11px;
  color: #666;
  font-weight: bold;
  margin-bottom: 10px;
}

.share-note span {
  display: block;
  font-size: 11px;
  margin-top: 10px;
  line-height: 1.6;
  font-weight: bold;
}

.referral {
  padding-top: 54px;
  background-color: #f2f2f2;
  background-image: radial-gradient(circle, #ffffff 2.25px, transparent 2.25px), radial-gradient(circle, #ffffff 2.25px, transparent 2.25px);
  background-position: 0 0, 12.75px 12.5px;
  background-size: 25.5px 25px;
}

.referral-head {
  width: 180px;
  margin: auto;
}

.c-tab__container {
  margin-top: 27px;
  margin-bottom: 0;
}

.c-tab__contents {
  margin-top: 0;
}

.c-tab__panel {
  padding: 60px 20px 50px;
  background: linear-gradient(#ffdbb1 0%, #ffe9cb 100%);
}

.c-tab__panel:last-child {
  background: linear-gradient(#c4f5a8 0%, #f2ffe3 100%);
}

.c-tab__item:not(.is-selected) {
  background-color: #fff;
}

.c-tab__list {
  border: none;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.c-tab__item {
  display: table-cell;
  position: relative;
  bottom: 0;
  border: none;
  border-radius: 15px 15px 0 0;
  vertical-align: middle;
}

.c-tab__item.is-selected {
  border: none;
  background-color: #F56800;
}

.c-tab__item:nth-child(2).is-selected {
  border: none;
  background-color: #1BAC2E;
}

.c-tab__item.is-selected::before {
  display: none;
}

.c-tab__item>a img.is-selected {
  display: none;
}

.c-tab__item.is-selected>a img {
  display: none;
}

.c-tab__item.is-selected>a img.is-selected {
  display: block;
}

.c-tab__item>a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 13px 6px 7px;
}

.c-tab__item:nth-child(1)>a img {
  width: 82px;
}

.c-tab__item:nth-child(2)>a img {
  width: 90px;
}

.c-tab[data-col="2"] .c-tab__item {
  width: 43%;
}

.referral-stepBox {
  width: 100%;
  position: relative;
  background-color: #fff;
  border-radius: 5px 5px 0 0;
  padding-top: 44px;
  padding-bottom: 20px;
}

.referral-stepBox+.referral-pointBox {
  margin-top: 43px;
}

.referral-stepBox__label {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #F56800;
  border-radius: 50%;
  width: 53px;
  height: 53px;
  display: flex;
  justify-content: center;
}

.c-tab__panel:last-child .referral-stepBox__label {
  background-color: #29AC2D;
}

.referral-stepBox__label img {
  width: 22px;
  transform: translateX(-2px);
}

.referral-stepBox__head {
  font-size: 23px;
  font-weight: bold;
  color: #834F4D;
  text-align: center;
  margin-bottom: 8px;
}

.referral-stepBox__text {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
}

.referral-stepBox__img_01 {
  width: 287px;
  display: block;
  margin: 10px auto 0;
  transform: translateX(6px);
}

.referral-stepBox__img_01.img-pc {
  display: none;
}

.referral-stepBox__img_01.img-webview {
  display: none;
}

.is-pc .referral-stepBox__img_01.img-pc {
  display: block;
}

.is-webview .referral-stepBox__img_01.img-webview {
  display: block;
}

.referral-stepBox::after {
  content: '';
  border: 168px solid transparent;
  border-top: 24px solid #fff;
  position: absolute;
  bottom: -192px;
  left: 50%;
  transform: translateX(-50%);
}

.referral-pointBox {
  border-radius: 5px;
  overflow: hidden;
}

.referral-pointBox__head {
  background-color: #F56800;
  text-align: center;
  padding: 12px 0;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
}

.c-tab__panel:last-child .referral-pointBox__head {
  background-color: #00A317;
}

.referral-pointBox__contents {
  background-color: #fff;
  padding: 16px 14px;
}

.referral-stepBox__img_02 {
  width: 292px;
  margin-bottom: 10px;
}

.referral-stepBox__note {
  background-color: #F7F7F7;
  padding: 16px 18px 23px;
  margin-top: 25px;
}

.referral-stepBox__note .modal-button {
  margin-top: 15px;
}

.faq {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #F2F2F2;
}

.faq-head {
  margin: 0px auto 23px;
  width: 206px;
}

.faq .c-accordion {
  box-shadow: none;
  border: 1px solid #F56800;
  border-radius: 4px;
  background-color: #fff;
}

.faq .c-accordion .c-accordion__head {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.6;
  border-radius: 4px;
  background-color: #fff;
  font-weight: bold;
  padding: 10px 12px 10px;
  padding-right: 35px;
  min-height: 32px;
}

.c-accordion__head::after,
.c-accordion__head::before {
  background-color: #F56800;
  width: 15px;
  height: 1.5px;
}

.faq .c-accordion .c-accordion__head span {
  position: relative;
  background: url(/function/promotion/referral2601_open/img/icon_question.svg) no-repeat center / contain;
  display: block;
  width: 23px;
  height: 23px;
  margin-right: 13px;
  flex-shrink: 0;
}

.faq .c-accordion__body {
  background-color: #fff;
  border-radius: 0 0 4px 4px;
  border-top: 1px solid #F56800;
  padding-top: 15px;
  padding-bottom: 10px;
  font-size: 13px;
  line-height: 1.4;
}

.faq__item+.faq__item {
  margin-top: 15px;
}

.faq-note {
  margin-top: 10px;
  font-size: 12px;
  font-weight: bold;
}

.faq__item .c-list[data-type=number]>li {
  margin-left: 15px;
  font-size: 12px;
  list-style-type: decimal;
  font-weight: bold;
  color: #333;
}

.c-list[data-type=dot]>li {
  position: relative;
  padding-left: 12px;
  font-size: 12px;
  font-weight: bold;
}

.faq__item .c-list[data-type=kome] {
  margin-top: 10px;
}

.amex-box {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 18px 17px;
  margin-right: 20px;
  margin-left: 20px;
  margin-top: 40px;
}

.amex-box p {
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
}

.amex-box sup {
  font-size: 14px;
  vertical-align: baseline;
}

.campaignNumber {
  text-align: right;
  margin-top: 41px;
  margin-bottom: 18px;
  padding-right: 10px;
  line-height: 1.3;
  font-size: 14px;
}

address {
  margin-bottom: 10px;
  padding: 10px;
  border-top: 1px solid #f3f3f3;
  font-size: 12px;
  font-style: normal;
  line-height: 1.2;
}

address .contact_name {
  font-weight: 700;
}

address .contact_tel {
  font-size: 23px;
  font-weight: bold;
}

.footer_bottom {
  padding: 25px 15px;
  font-size: 14px;
  background-color: #f3f3f3;
  color: #888;
  text-align: center;
  line-height: 1.5;
}


.referral-stepBox__img_04 {
  width: 279px;
  display: block;
  margin: 8px auto 6px;
  transform: translateX(2px);
}

.referral-stepBox__img_05 {
  width: 164px;
  margin: 29px auto 0;
  display: block;
}

.referral-stepBox+.referral-stepBox {
  margin-top: 70px;
}

.referral-stepBox__label.step02 img {
  width: 24px;
  transform: translateX(-1px);
}

.referral-pointBox__text {
  width: 94px;
  margin: 33px auto 10px;
}

.referral-pointBox__list li {
  position: relative;
  padding-left: 37px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
}

.referral-pointBox__list li+li {
  margin-top: 16px;
}

.referral-pointBox__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  background: url(/function/promotion/referral2601_open/img/icon_referral_01.svg) no-repeat center center;
  background-size: 100%;
}

.referral-pointBox__list li:nth-child(2)::before {
  background: url(/function/promotion/referral2601_open/img/icon_referral_02.svg) no-repeat center center;
  background-size: 100%;
}

.referral-pointBox__list li:nth-child(3)::before {
  background: url(/function/promotion/referral2601_open/img/icon_referral_03.svg) no-repeat center center;
  background-size: 100%;
}

.referral-promotion {
  margin-top: 33px;
  border-radius: 5px;
  background-color: #FFFCF4;
  padding: 40px 20px;
}

.referral-promotion__img {
  display: block;
  margin: 20px auto;
  width: 254px;
}

.referral-promotion .c-accordion__container {
  border-radius: 8px;
  border: 1px solid #CCCCCC;
  overflow: hidden;
  margin-top: 15px;
  background-color: #fff;
}

.referral-promotion button {
  background-color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  padding: 8px 12px;
  padding-right: 35px;
  position: relative;
  text-align: left;
  border: 1px solid #CCCCCC;
  border-radius: 8px;
  margin-top: 15px;
  color: #333333;
}

.referral-promotion button span {
  font-weight: bold;
  color: #F56800;
  display: block;
}

.referral-promotion button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  background: url(/function/promotion/referral2601_open/img/icon_modal.svg) center center / contain no-repeat;
}

.referral-promotion .c-accordion__head::after,
.referral-promotion .c-accordion__head::before {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 14px;
  background-color: #F56800;
  width: 13px;
  height: 1.5px;
  transform: translateY(-50%);
  content: '';
}

.referral-promotion .c-accordion__head::after {
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: all .2s ease;
}

.referral-promotion .c-accordion__head.is-open::after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.referral-promotion .c-accordion__body {
  border-top: 1px solid #CCCCCC;
  padding: 0;
  padding-top: 19px;
  margin: auto;
  box-sizing: border-box;
  width: 90%;
}

.mt15 {
  margin-top: 15px;
}

.c-list[data-type=circle]>li {
  font-size: 12px;
  font-weight: bold;
  padding-left: 15px;
  text-indent: -15px;
}

.c-list[data-type=asterisk-number-half_colon]>li {
  font-size: 11px;
  font-weight: bold;
}

.c-link.arrow {
  margin-left: 15px;
  font-size: 12px;
  font-weight: bold;
}

.c-link.arrow::before {
  position: absolute;
  content: '▶︎';
  left: -14px;
  color: #333333;
}

.bottomFixedCV {
  display: none;
  box-sizing: border-box;
  background: white;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 375px;
  z-index: 100;
  padding: 10px 20px;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 0 20px rgba(21, 21, 21, 0.3);
}

.is-pc .bottomFixedCV {
  display: none !important;
}

.bottomFixedCV .share-button {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.bottomFixedCV .share-button li button {
  width: 104px;
  font-size: 15px;
  height: 45px;
}

.bottomFixedCV .share-button li+li {
  margin-top: 0;
}

.bottomFixedCV .share-button li button::before {
  display: none;
}

.bottomFixedCV__head {
  width: 181px;
  margin: 0 auto 7px;
}

.is-webview .bottomFixedCV__head {
  width: 240px;
}

.is-webview .bottomFixedCV .copyMessage {
  margin-top: min(5px, calc(5 / 375 * 100vw));
  font-size: min(12px, calc(11 / 375 * 100vw));
}

.is-webview .bottomFixedCV .share-button {
  display: block;
}

.is-webview .bottomFixedCV .share-button li,
.is-webview .bottomFixedCV .share-button li button {
  width: 100%;
}

.js-bottomArea.is-shown {
  display: block;
}

.crr__text {
  text-align: left;
  max-height: 70vh;
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 7px;
}

.benefitsDetails__hdg {
  position: relative;
  margin-top: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e5e5e5;
  color: #eb5505;
  font-size: 14px;
  font-weight: 700;
}

.benefitsDetails__hdg:after {
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 70px;
  height: 1px;
  background: #e9561e;
  content: '';
}

.benefitsDetails__lead {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: bold;
}

.benefitsDetails__list {
  margin-top: 15px;
  font-size: 12px;
}

.benefitsDetails__fontSmall li {
  color: #666;
  font-size: 11px;
}

.benefitsDetails__list li {
  display: table;
  line-height: 1.4;
  font-weight: bold;
}

.benefitsDetails__listLead,
.benefitsDetails__listIcon {
  font-weight: bold;
}

.benefitsDetails__list .benefitsDetails__listIcon {
  display: table-cell;
}

.benefitsDetails__list .benefitsDetails__list {
  margin-top: 0;
}

.benefitsDetails__mgT0 {
  margin-top: 0 !important;
}

.disabled-list {
  margin-top: 0;
}

.disabled-list .c-list[data-type=dot]>li {
  font-size: 11px;
}

.bottomFixedCV .disabled-list {
  margin-top: 10px;
}

.is-param .disabled-list {
  display: none;
}

.share-button li button:disabled:hover {
  cursor: unset;
}

@media all and (max-width: 640px) {
  #wrap {
    max-width: 100%;
  }

  sup {
    font-size: calc(10 / 375 * 100vw);
  }

  .c-text {
    font-size: calc(12 / 375 * 100vw);
  }

  .copyMessage {
    max-width: calc(500 / 375 * 100vw);
    margin: calc(10 / 375 * 100vw) auto 0;
  }

  .l-section__inner {
    padding-left: calc(20 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
  }

  .c-list[data-type=kome]>li {
    padding-left: calc(15 / 375 * 100vw);
    font-size: calc(11 / 375 * 100vw);
  }

  .c-list[data-type=number]>li {
    margin-left: calc(15 / 375 * 100vw);
    font-size: calc(11 / 375 * 100vw);
  }

  .c-list[data-type=number]>li ul {
    margin-bottom: calc(5 / 375 * 100vw);
  }

  header {
    max-width: calc(375 / 375 * 100vw);
    padding: calc(9 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #cccccc;
  }

  header h1 img {
    width: calc(150 / 375 * 100vw);
  }

  .mv {
    padding-bottom: calc(35 / 375 * 100vw);
  }

  .mv h2 {
    width: calc(345 / 375 * 100vw);
    padding-top: calc(26 / 375 * 100vw);
    transform: translateX(calc(4 / 375 * 100vw));
  }

  .mv-box {
    margin-top: calc(12 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
  }

  .mv-box__head {
    padding: calc(8 / 375 * 100vw) 0;
  }

  .mv-box__head img {
    width: calc(114 / 375 * 100vw);
  }

  .mv-box__contents {
    padding: calc(15 / 375 * 100vw);
    gap: calc(7 / 375 * 100vw);
    padding-bottom: calc(20 / 375 * 100vw);
  }

  .mv-box__contents p {
    font-size: calc(12 / 375 * 100vw);
  }

  .modal-button {
    width: calc(143 / 375 * 100vw);
    border: calc(1 / 375 * 100vw) solid #834F4D;
    border-radius: calc(3 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    margin: calc(5 / 375 * 100vw) auto 0;
    padding: calc(6 / 375 * 100vw) calc(6 / 375 * 100vw);
    padding-left: calc(23 / 375 * 100vw);
  }

  .modal-button::after {
    right: calc(9 / 375 * 100vw);
    width: calc(14 / 375 * 100vw);
    height: calc(14 / 375 * 100vw);
  }

  .share {
    margin-top: calc(39 / 375 * 100vw);
  }

  .share-head {
    width: calc(294 / 375 * 100vw);
  }

  .share-button {
    width: calc(293 / 375 * 100vw);
    margin: calc(20 / 375 * 100vw) auto calc(8 / 375 * 100vw);
  }

  .share-button li+li {
    margin-top: calc(15 / 375 * 100vw);
  }

  .share-button li button {
    border-radius: calc(5 / 375 * 100vw);
    font-size: calc(18 / 375 * 100vw);
    height: calc(68 / 375 * 100vw);
  }

  .share-button__line::before {
    left: calc(17 / 375 * 100vw);
    width: calc(42 / 375 * 100vw);
    height: calc(42 / 375 * 100vw);
  }

  .share-button__mail::before {
    left: calc(17 / 375 * 100vw);
    width: calc(42 / 375 * 100vw);
    height: calc(42 / 375 * 100vw);
  }

  .share-button__copy::before {
    left: calc(27 / 375 * 100vw);
    width: calc(24 / 375 * 100vw);
    height: calc(31 / 375 * 100vw);
  }

  .share-note {
    font-size: calc(11 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }

  .share-note span {
    font-size: calc(11 / 375 * 100vw);
    margin-top: calc(10 / 375 * 100vw);
  }

  .referral {
    padding-top: calc(54 / 375 * 100vw);
    background-image: radial-gradient(circle, #ffffff calc(2.25 / 375 * 100vw), transparent calc(2.25 / 375 * 100vw)), radial-gradient(circle, #ffffff calc(2.25 / 375 * 100vw), transparent calc(2.25 / 375 * 100vw));
    background-position: 0 0, calc(12.75 / 375 * 100vw) calc(12.5 / 375 * 100vw);
    background-size: calc(25.5 / 375 * 100vw) calc(25 / 375 * 100vw);
  }

  .referral-head {
    width: calc(180 / 375 * 100vw);
  }

  .c-tab__container {
    margin-top: calc(27 / 375 * 100vw);
  }

  .c-tab__panel {
    padding: calc(60 / 375 * 100vw) calc(20 / 375 * 100vw) calc(50 / 375 * 100vw);
  }

  .c-tab__list {
    gap: calc(10 / 375 * 100vw);
  }

  .c-tab__item {
    border-radius: calc(15 / 375 * 100vw) calc(15 / 375 * 100vw) 0 0;
  }

  .c-tab__item>a {
    padding: calc(13 / 375 * 100vw) calc(6 / 375 * 100vw) calc(7 / 375 * 100vw);
  }

  .c-tab__item:nth-child(1)>a img {
    width: calc(82 / 375 * 100vw);
  }

  .c-tab__item:nth-child(2)>a img {
    width: calc(90 / 375 * 100vw);
  }

  .referral-stepBox {
    border-radius: calc(5 / 375 * 100vw) calc(5 / 375 * 100vw) 0 0;
    padding-top: calc(44 / 375 * 100vw);
    padding-bottom: calc(20 / 375 * 100vw);
  }

  .referral-stepBox+.referral-pointBox {
    margin-top: calc(43 / 375 * 100vw);
  }

  .referral-stepBox__label {
    top: calc(-25 / 375 * 100vw);
    width: calc(53 / 375 * 100vw);
    height: calc(53 / 375 * 100vw);
  }

  .referral-stepBox__label img {
    width: calc(22 / 375 * 100vw);
    transform: translateX(calc(-2 / 375 * 100vw));
  }

  .referral-stepBox__head {
    font-size: calc(23 / 375 * 100vw);
    margin-bottom: calc(8 / 375 * 100vw);
  }

  .referral-stepBox__text {
    font-size: calc(12 / 375 * 100vw);
  }

  .referral-stepBox__img_01 {
    width: calc(287 / 375 * 100vw);
    margin: calc(10 / 375 * 100vw) auto 0;
    transform: translateX(calc(6 / 375 * 100vw));
  }

  .referral-stepBox::after {
    border: calc(168 / 375 * 100vw) solid transparent;
    border-top: calc(24 / 375 * 100vw) solid #fff;
    bottom: calc(-191 / 375 * 100vw);
  }

  .referral-pointBox {
    border-radius: calc(5 / 375 * 100vw);
  }

  .referral-pointBox__head {
    padding: calc(12 / 375 * 100vw) 0;
    font-size: calc(16 / 375 * 100vw);
  }

  .referral-pointBox__contents {
    padding: calc(16 / 375 * 100vw) calc(14 / 375 * 100vw);
  }

  .referral-stepBox__img_02 {
    width: calc(292 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }

  .referral-stepBox__note {
    padding: calc(16 / 375 * 100vw) calc(18 / 375 * 100vw) calc(23 / 375 * 100vw);
    margin-top: calc(25 / 375 * 100vw);
  }

  .referral-stepBox__note .modal-button {
    margin-top: calc(15 / 375 * 100vw);
  }

  .faq {
    padding-top: calc(40 / 375 * 100vw);
    padding-bottom: calc(40 / 375 * 100vw);
  }

  .faq-head {
    margin: calc(0 / 375 * 100vw) auto calc(23 / 375 * 100vw);
    width: calc(206 / 375 * 100vw);
  }

  .faq .c-accordion {
    border: calc(1 / 375 * 100vw) solid #F56800;
    border-radius: calc(4 / 375 * 100vw);
  }

  .faq .c-accordion .c-accordion__head {
    font-size: calc(14 / 375 * 100vw);
    border-radius: calc(4 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw) calc(12 / 375 * 100vw) calc(10 / 375 * 100vw);
    padding-right: calc(35 / 375 * 100vw);
    min-height: calc(32 / 375 * 100vw);
  }

  .c-accordion__head::after,
  .c-accordion__head::before {
    width: calc(15 / 375 * 100vw);
    height: calc(1.5 / 375 * 100vw);
  }

  .faq .c-accordion .c-accordion__head span {
    width: calc(23 / 375 * 100vw);
    height: calc(23 / 375 * 100vw);
    margin-right: calc(13 / 375 * 100vw);
  }

  .faq .c-accordion__body {
    border-radius: 0 0 calc(4 / 375 * 100vw) calc(4 / 375 * 100vw);
    border-top: calc(1 / 375 * 100vw) solid #F56800;
    padding-top: calc(15 / 375 * 100vw);
    padding-bottom: calc(10 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
  }

  .faq__item+.faq__item {
    margin-top: calc(15 / 375 * 100vw);
  }

  .faq-note {
    margin-top: calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .faq__item .c-list[data-type=number]>li {
    margin-left: calc(15 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .c-list[data-type=dot]>li {
    padding-left: calc(12 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .faq__item .c-list[data-type=kome] {
    margin-top: calc(10 / 375 * 100vw);
  }

  .amex-box {
    border: calc(1 / 375 * 100vw) solid #ccc;
    border-radius: calc(8 / 375 * 100vw);
    padding: calc(18 / 375 * 100vw) calc(17 / 375 * 100vw);
    margin-right: calc(20 / 375 * 100vw);
    margin-left: calc(20 / 375 * 100vw);
    margin-top: calc(40 / 375 * 100vw);
  }

  .amex-box p {
    font-size: calc(12 / 375 * 100vw);
  }

  .amex-box sup {
    font-size: calc(14 / 375 * 100vw);
  }

  .campaignNumber {
    margin-top: calc(41 / 375 * 100vw);
    margin-bottom: calc(18 / 375 * 100vw);
    padding-right: calc(10 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }

  address {
    margin-bottom: calc(10 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw);
    border-top: calc(1 / 375 * 100vw) solid #f3f3f3;
    font-size: calc(12 / 375 * 100vw);
  }

  address .contact_tel {
    font-size: calc(23 / 375 * 100vw);
  }

  .footer_bottom {
    padding: calc(25 / 375 * 100vw) calc(15 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }


  .referral-stepBox__img_04 {
    width: calc(279 / 375 * 100vw);
    margin: calc(8 / 375 * 100vw) auto calc(6 / 375 * 100vw);
    transform: translateX(calc(2 / 375 * 100vw));
  }

  .referral-stepBox__img_05 {
    width: calc(164 / 375 * 100vw);
    margin: calc(29 / 375 * 100vw) auto 0;
  }

  .referral-stepBox+.referral-stepBox {
    margin-top: calc(70 / 375 * 100vw);
  }

  .referral-stepBox__label.step02 img {
    width: calc(24 / 375 * 100vw);
    transform: translateX(calc(-1 / 375 * 100vw));
  }

  .referral-pointBox__text {
    width: calc(94 / 375 * 100vw);
    margin: calc(33 / 375 * 100vw) auto calc(10 / 375 * 100vw);
  }

  .referral-pointBox__list li {
    padding-left: calc(37 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }

  .referral-pointBox__list li+li {
    margin-top: calc(16 / 375 * 100vw);
  }

  .referral-pointBox__list li::before {
    width: calc(29 / 375 * 100vw);
    height: calc(29 / 375 * 100vw);
  }

  .referral-promotion {
    margin-top: calc(33 / 375 * 100vw);
    border-radius: calc(5 / 375 * 100vw);
    padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
  }

  .referral-promotion__img {
    margin: calc(20 / 375 * 100vw) auto;
    width: calc(254 / 375 * 100vw);
  }

  .referral-promotion .c-accordion__container {
    border-radius: calc(8 / 375 * 100vw);
    border: calc(1 / 375 * 100vw) solid #CCCCCC;
    margin-top: calc(15 / 375 * 100vw);
  }

  .referral-promotion button {
    background-color: #fff;
    font-size: calc(12 / 375 * 100vw);
    font-weight: bold;
    line-height: 1.5;
    padding: calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
    padding-right: calc(35 / 375 * 100vw);
    position: relative;
    text-align: left;
    border: calc(1 / 375 * 100vw) solid #CCCCCC;
    border-radius: calc(8 / 375 * 100vw);
    margin-top: calc(15 / 375 * 100vw);
  }

  .referral-promotion button span {
    font-weight: bold;
    color: #F56800;
    display: block;
  }

  .referral-promotion button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(9 / 375 * 100vw);
    width: calc(14 / 375 * 100vw);
    height: calc(14 / 375 * 100vw);
    transform: translateY(-50%);
    background: url(/function/promotion/referral2601_open/img/icon_modal.svg) center center / contain no-repeat;
  }

  .referral-promotion .c-accordion__head::after,
  .referral-promotion .c-accordion__head::before {
    right: calc(14 / 375 * 100vw);
    width: calc(13 / 375 * 100vw);
    height: calc(1.5 / 375 * 100vw);
  }

  .referral-promotion .c-accordion__body {
    border-top: calc(1 / 375 * 100vw) solid #CCCCCC;
    padding-top: calc(19 / 375 * 100vw);
  }

  .mt15 {
    margin-top: calc(15 / 375 * 100vw);
  }

  .c-list[data-type=circle]>li {
    font-size: calc(12 / 375 * 100vw);
    padding-left: calc(15 / 375 * 100vw);
    text-indent: calc(-15 / 375 * 100vw);
  }

  .c-list[data-type=asterisk-number-half_colon]>li {
    font-size: calc(11 / 375 * 100vw);
  }

  .c-link.arrow {
    margin-left: calc(15 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .c-link.arrow::before {
    left: calc(-14 / 375 * 100vw);
  }

  .bottomFixedCV {
    width: calc(375 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) 0 0;
    box-shadow: 0 0 calc(20 / 375 * 100vw) rgba(21, 21, 21, 0.3);
  }

  .bottomFixedCV .share-button li button {
    width: calc(104 / 375 * 100vw);
    font-size: calc(15 / 375 * 100vw);
    height: calc(45 / 375 * 100vw);
  }

  .bottomFixedCV__head {
    width: calc(181 / 375 * 100vw);
    margin: 0 auto calc(7 / 375 * 100vw);
  }

  .is-webview .bottomFixedCV__head {
    width: calc(240 / 375 * 100vw);
  }

  .crr__text {
    padding-right: calc(10 / 375 * 100vw);
  }

  .benefitsDetails__hdg {
    margin-top: calc(20 / 375 * 100vw);
    padding-bottom: calc(5 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #e5e5e5;
    font-size: calc(14 / 375 * 100vw);
  }

  .benefitsDetails__hdg:after {
    bottom: calc(-1 / 375 * 100vw);
    width: calc(70 / 375 * 100vw);
    height: calc(1 / 375 * 100vw);
  }

  .benefitsDetails__lead {
    margin-top: calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .benefitsDetails__list {
    margin-top: calc(15 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }

  .benefitsDetails__fontSmall li {
    font-size: calc(11 / 375 * 100vw);
  }

  .bottomFixedCV .disabled-list {
    margin-top: calc(10 / 375 * 100vw);
  }

  .disabled-list .c-list[data-type=dot]>li {
    font-size: calc(11 / 375 * 100vw);
  }

  .c-button[data-size="m"] {
    max-width: calc(450 / 375 * 100vw);
    padding-top: calc(12 / 375 * 100vw);
    padding-right: calc(40 / 375 * 100vw);
    padding-bottom: calc(12 / 375 * 100vw);
    padding-left: calc(40 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }

  .is-open .bottomFixedCV .c-button[data-size="m"] {
    width: calc(293 / 375 * 100vw);
    margin: calc(5 / 375 * 100vw) auto calc(8 / 375 * 100vw);
    display: block;
  }
}

@media (min-width: 641px) and (max-width: 959px) {
  .bg-pc {
    display: block;
    background-color: #f2f2f2;
    background-image: radial-gradient(circle, #ebebeb 3.5px, transparent 3.5px), radial-gradient(circle, #ebebeb 3.5px, transparent 3.5px);
    background-position: 0 0, 20px 18px;
    background-size: 40px 36px;
    min-height: 100vh;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media (min-width: 960px) {

  .header-pc,
  .bg-pc,
  .cv-area {
    display: block;
  }

  .header-sp {
    display: none;
  }

  .header-pc {
    width: 100%;
    border-top: 3px solid #EB5205;
    background-color: #fff;
    z-index: 100;
  }

  .header-pc header {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 23px 20px;
    border-bottom: none;
    box-sizing: border-box;
  }

  .header-pc header h1 img {
    width: 190px;
  }

  .header-pc .l-section__inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .container-pc {
    position: relative;
    width: 990px;
    margin: auto;
    padding: 0 15px;
    box-sizing: border-box;
  }

  #wrap {
    margin-top: 0;
    margin-left: 0;
  }

  .cv-area {
    top: min(calc(140 / 760 * 100vh), 140px);
    right: 50%;
    transform: translateX(103%);
    position: fixed;
    max-width: 585px;
    background-color: #fff;
    border-radius: 20px;
    padding: 0 43px 40px;
    box-sizing: border-box;
  }

  .cv-area__head {
    width: 469px;
    margin: auto;
    margin-top: -38px;
  }

  .bg-pc {
    background-color: #f2f2f2;
    background-image: radial-gradient(circle, #ebebeb 3.5px, transparent 3.5px), radial-gradient(circle, #ebebeb 3.5px, transparent 3.5px);
    background-position: 0 0, 20px 18px;
    background-size: 40px 36px;
    min-height: 100vh;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .js-bottomArea.is-shown {
    display: none;
  }

  .cv-area .share-button {
    width: 462px;
    margin: 35px auto 8px;
  }

  .cv-area .share-button li button {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
    height: 90px;
    position: relative;
  }

  .cv-area .share-button li+li {
    margin-top: 25px;
  }

  .cv-area .share-button__mail::before,
  .cv-area .share-button__line::before {
    left: 45px;
    width: 64px;
    height: 52px;
  }

  .cv-area .share-button__copy::before {
    left: 60px;
    width: 34px;
    height: 39px;
  }

  .cv-area .share-note {
    font-size: 19px;
    margin-bottom: 16px;
    margin-top: 23px;
  }

  .cv-area .share-note span {
    font-size: 15px;
    margin-top: 10px;
  }

  .cv-area .c-list[data-type=number]>li {
    margin-left: 15px;
    font-size: 15px;
  }

  .cv-area .c-list[data-type=kome]>li {
    font-size: 15px;
  }

  .cv-area .c-list[data-type=dot]>li {
    font-size: 15px;
  }

  .cv-area {
    max-width: min(calc(585 / 1045 * 100vh), 585px);
    padding: 0 min(calc(43 / 1045 * 100vh), 43px) min(calc(40 / 1045 * 100vh), 40px);
  }

  .cv-area__head {
    width: min(calc(469 / 1045 * 100vh), 469px);
    margin: auto;
    margin-top: min(calc(-38 / 1045 * 100vh), -38px);
  }

  .cv-area .share-button {
    width: min(calc(462 / 1045 * 100vh), 462px);
    margin: min(calc(35 / 1045 * 100vh), 35px) auto min(calc(8 / 1045 * 100vh), 8px);
  }

  .cv-area .share-button li button {
    width: min(calc(462 / 1045 * 100vh), 462px);
    font-size: min(calc(22 / 1045 * 100vh), 22px);
    height: min(calc(90 / 1045 * 100vh), 90px);
  }

  .cv-area .share-button li+li {
    margin-top: min(calc(25 / 1045 * 100vh), 25px);
  }

  .cv-area .share-note {
    font-size: min(calc(19 / 1045 * 100vh), 19px);
    margin-bottom: min(calc(16 / 1045 * 100vh), 16px);
    margin-top: min(calc(23 / 1045 * 100vh), 23px);
  }

  .cv-area .share-note span {
    font-size: min(calc(15 / 1045 * 100vh), 15px);
    margin-top: min(calc(10 / 1045 * 100vh), 10px);
  }

  .cv-area .c-list[data-type=number]>li {
    margin-left: min(calc(15 / 1045 * 100vh), 15px);
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  .cv-area .c-list[data-type=kome]>li {
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  .cv-area .c-list[data-type=dot]>li {
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  .cv-area .copyMessage {
    max-width: 500px;
    margin: min(calc(10 / 1045 * 100vh), 10px) auto 0;
    font-size: min(calc(12 / 1045 * 100vh), 12px);
  }

  .cv-area .share-button__mail::before,
  .cv-area .share-button__line::before {
    left: min(calc(45 / 1045 * 100vh), 45px);
    width: min(calc(64 / 1045 * 100vh), 64px);
    height: min(calc(52 / 1045 * 100vh), 52px);
  }

  .cv-area .share-button__copy::before {
    left: min(calc(60 / 1045 * 100vh), 60px);
    width: min(calc(34 / 1045 * 100vh), 34px);
    height: min(calc(39 / 1045 * 100vh), 39px);
  }

  body:not(.is-param) .cv-area {
    max-width: min(calc(585 / 1045 * 100vh), 585px);
    padding: 0 min(calc(43 / 1045 * 100vh), 43px) min(calc(40 / 960 * 1030vh), 40px);
  }

  body:not(.is-param) .cv-area__head {
    width: min(calc(469 / 1045 * 100vh), 469px);
    margin: auto;
    margin-top: min(calc(-38 / 1045 * 100vh), -38px);
  }

  body:not(.is-param) .cv-area .share-button {
    width: min(calc(462 / 1045 * 100vh), 462px);
    margin: min(calc(35 / 1045 * 100vh), 35px) auto min(calc(8 / 1045 * 100vh), 8px);
  }

  body:not(.is-param) .cv-area .share-button li button {
    width: min(calc(462 / 1045 * 100vh), 462px);
    font-size: min(calc(22 / 1045 * 100vh), 22px);
    height: min(calc(90 / 1045 * 100vh), 90px);
  }

  body:not(.is-param) .cv-area .share-button li+li {
    margin-top: min(calc(25 / 1045 * 100vh), 25px);
  }

  body:not(.is-param) .cv-area .share-note {
    font-size: min(calc(19 / 1045 * 100vh), 19px);
    margin-bottom: min(calc(16 / 1045 * 100vh), 16px);
    margin-top: min(calc(23 / 1045 * 100vh), 23px);
  }

  body:not(.is-param) .cv-area .c-list[data-type=number]>li {
    margin-left: min(calc(15 / 1045 * 100vh), 15px);
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  body:not(.is-param) .cv-area .c-list[data-type=number]>li+li {
    margin-top: min(calc(5 / 1045 * 100vh), 5px);
  }

  body:not(.is-param) .cv-area .c-list[data-type=kome]>li {
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  body:not(.is-param) .cv-area .c-list[data-type=dot]>li {
    font-size: min(calc(15 / 1045 * 100vh), 15px);
  }

  body:not(.is-param) .cv-area .copyMessage {
    max-width: 500px;
    margin: min(calc(10 / 1045 * 100vh), 10px) auto 0;
    font-size: min(calc(12 / 1045 * 100vh), 12px);
  }

  body:not(.is-param) .cv-area .share-button__mail::before,
  body:not(.is-param) .cv-area .share-button__line::before {
    left: min(calc(45 / 1045 * 100vh), 45px);
    width: min(calc(64 / 1045 * 100vh), 64px);
    height: min(calc(52 / 1045 * 100vh), 52px);
  }

  body:not(.is-param) .cv-area .share-button__copy::before {
    left: min(calc(60 / 1045 * 100vh), 60px);
    width: min(calc(34 / 1045 * 100vh), 34px);
    height: min(calc(39 / 1045 * 100vh), 39px);
  }
}


@media all and (min-width: 960px) and (max-width: 1200px) {
  .cv-area {
    transform: translateX(calc(570 / 1200 * 100vw));
  }
}
