@charset "utf-8";
:root {
  --blackColor: #000;
  --whiteColor: #fff;
  --fontColor: #454545;
  --grayColor: #AEAEAE;
  --redColor: #d3351a;
  --bgColor : #f0eeec;
  --bgRcolor :#FFEAEA;
  --bgBcolor :#E6F1FF;
  --bgGcolor :#EEE;
  --linkColor: #0c6db1;
  --blueColor: #1273E9;
  --yellowColor: #fef7e0;
}

/* memo */
/* 
・title
  font-size: 42px;       PC用
  font-size: 6.25vw;     SP用

・ul.note .note_item
  font-size: 16px;       PC用
  font-size: max(12px, 2.16vw); SP用

・通常p
  font-size: 30px;       PC用
  font-size: 4.79vw;   SP用
*/

/*----------------------------------*/
/* 共通
/*----------------------------------*/
body {
  background-color: var(--bgColor);
  color: var(--fontColor);
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}
h1, h2, h3, h4, h5, p, li {
  color: var(--fontColor);
}
img {
  width: 100%;
  height: auto;
  display: block;
}
p {
  font-size: 40px;
}
a {
  color: var(--linkColor);
  text-decoration: underline;
}
a.txt_link {
  display: inline;
}
.red {
  color: var(--redColor);
}
.bold {
  font-weight: 600;
}
.only_pc {
  display: none !important;
}
.only_sp {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .only_pc {
    display: block !important;
  }
  .only_sp {
    display: none !important;
  }
}

ul.note .note_item,
ul.note.asterisk .note_item,
ul.dot .dot_item {
  font-size: max(12px, 2.16vw);
  color: var(--fontColor);
  font-weight: 400;
  margin-top: 0;
  text-indent: -1em;
  padding-left: 1em;
}
ul.note .note_item::before {
  content: '※';
  font-size: inherit;
  margin-right: 0;
}
ul.note.asterisk .note_item::before {
  content: '＊';
}
ul.note .note_item.red, ul.note .note_item.red::before {
  color: var(--redColor);
}

ul.dot .dot_item::before {
  content: '・';
  font-size: inherit;
  margin-right: 0;
}
ol.note_order .note_order_item {
  font-size: max(12px, 2.16vw);
  color: var(--fontColor);
  font-weight: 400;
  margin-top: 0;
  text-indent: -2em;
  padding-left: 2em;
  counter-increment: num;
}
ol.note_order .note_order_item::before {
  font-size: inherit;
  margin-right: 0.5em;
  content: "※" counter(num);
}
@media screen and (min-width: 768px) {
  ul.note .note_item,
  ul.note.asterisk .note_item,
  ul.dot .dot_item,
  ol.note_order .note_order_item  {
    font-size: 16px;
  }
}

main {
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  background-color: var(--whiteColor);
  box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.5);
  /* border: 1px solid var(--grayColor); */
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  main {
    box-sizing: content-box;
  }
}

/*----------------------------------*/
/* header
/*----------------------------------*/
.header {
  background-color: #ffffff;
}
.header .inner {
  max-width: 1280px;
  padding: 12px 10px;
  box-sizing: border-box;
  text-align: center;
}
.header img {
  width: 74.667vw;
  display: block;
  max-width: calc((486 / 750) * 100vw);
}
@media screen and (min-width: 768px) {
  .header img {
    width: 280px;
  }
}

/*----------------------------------*/
/* fv
/*----------------------------------*/
.fv {
  width: 100%;
}
.fv ul.note {
  padding: 10px;
}
@media screen and (min-width: 768px) {
.fv ul.note {
  padding: 20px 40px 40px;
}
}

/*----------------------------------*/
/* section box
/*----------------------------------*/
.sec_box.bg_red {
  background-color: var(--bgRcolor);
}
.sec_box.bg_blue {
  background-color: var(--bgBcolor);
}
.sec_box .sec_title {
  color: var(--whiteColor);
  background-color: var(--blueColor);
  line-height: 1.2;
  font-size: max(5.68vw, 20px);
  font-weight: 900;
  text-align: center;
  padding: 10px;
  margin-bottom: 0;
}

.sec_inner {
  padding: 30px 5vw;
}
@media screen and (min-width: 768px) {
  .sec_box .sec_title {
    font-size: 42px;
    padding: 20px;
  }
  .sec_inner {
    padding: 60px 40px;
  }
}
/*----------------------------------*/
/* btn area
/*----------------------------------*/
.btn_area {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.btn_area a {
  display: block;
  width: 77.08vw;
  height: auto;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .btn_area a {
    width: 570px;
  }
}


/*----------------------------------*/
/* entry_checkbox
/*----------------------------------*/
section.e_area {
  margin-bottom: 10px;
}
.e_area .e_enabled {
  display: block;
}
.e_area .e_enabled._uncheck {
  display: none;
}
.e_area .e_disabled {
  display: none;
}
.e_area .e_disabled._uncheck {
  display: block;
}
.e_area input {
  display: none;
}
input+.check_label {
  display: flex;
  font-size: max(12px, 2.5vw);
  font-weight: 400;
  position: relative;
  padding-left: 30px;
  margin: 0 auto;
}
input+.check_label:before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  background-size: cover;
}
.e_area._uncheck input+.check_label:before {
  content: "";
  background-image: url(../images/icon_unchecked.png);
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  left: 4px;
  display: block;
  width: 14px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.e_area input+.check_label:before {
  content: "";
  background-image: url(../images/icon_checked.png);
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  left: 4px;
  display: block;
  width: 14px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.e_area .checkbox {
  display: block;
  width: fit-content;
  max-width: 77.08vw;
  margin: 10px auto 0;
  max-height: 570px;
  text-align: left;
}
.e_area a.txt_link {
  display: inline;
}
.e_disabled > img {
  display: block;
  width: 77.08vw;
  height: auto;
  max-width: 100%;
  margin: 0 auto;
}
.e_txt {
  padding: 10px;
}
.e_txt.bg_gray {
  background-color: #f0eeec;
}

@media screen and (min-width: 768px) {
  section.e_area {
    margin-bottom: 40px;
  }
  .e_area .checkbox {
    margin: 10px auto 0;
  }
  .e_disabled > img {
    max-width: 570px;
  }
  input+.check_label {
    max-width: 570px;
    font-size: 16px;
  }
  .e_area._uncheck input+.check_label:before {
    width: 20px;
    height: 20px;
  }
  .e_area input+.check_label:before {
    width: 20px;
    height: 20px;
  }
}


/*----------------------------------*/
/* parts_img
/*----------------------------------*/
.parts_img {
  margin: 0 auto;
  max-width: 654px;
  width: 88.38vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.parts_img.sec_label {
  margin-top: 30px;
  margin-bottom: 10px;
  width: 77.03vw;
}
.parts_img.step02_01 {
  width: 60vw;
  margin-bottom: 10px;
}
.parts_img.step02_02 {
  width: 68.92vw;
}
.parts_img img.arrow {
  max-width: 170px;
  width: 22.97vw;
  margin-top: 20px;
  margin-bottom: 20px;
}
.parts_img.flow ul.note {
  text-align: center;
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .parts_img.step02_01 {
    width: 444px;
    margin-bottom: 30px;
  }
  .parts_img.step02_02 {
    width: 510px;
    margin-top: 14px;
  }
}

/*----------------------------------*/
/* sec_step
/*----------------------------------*/
/* step_list */
.step_list {
  margin-top: 30px;
}
.step_list_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin-bottom: 65px;
}
.step_list_item:last-child {
  margin-bottom: 0;
}
.step_list_item .step_list_item_label {
  width: 26.04vw;
  height: auto;
  margin: auto;
  position: absolute;
  top: -40px;
}
.step_list_item .step_item_inner {
  background-color: var(--whiteColor);
  border-radius: 20px;
  padding: 18px 6.08vw;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

.step_item_inner .step_list_item_box_ttl {
  font-size: max(4.86vw, 16px);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 15px;
  text-align: center;
}
.step_item_inner p {
  font-size: 3.78vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.step_item_inner .line {
  width: 100%;
  margin-bottom: 20px;
}

.step_list_item .img {
  width: 77.08vw;
  margin-top: 20px;
}
.step_list_item_box > ul.note {
  text-align: left;
}


.step_list_item .box {
  border: solid 2px var(--grayColor);
  border-radius: 20px;
  padding: 3.1vw;
  margin-top: 10px;
}

.step_list_item .box .common_list_item {
  display: flex;
  align-items: flex-start;
  padding-bottom: 10px;
}
.step_list_item .box .common_list_item .small{
  font-size: max(12px, 2.7vw);
  font-weight: 700;
  line-height: 1.2;
}
.step_list_item .box .common_list_item > img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  margin-left: 0;
}
.step_list_item .box .common_list_item > p {
  font-size: 3.78vw;
  width: calc(100% - (20px + 10px));
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}
.step_list_item .box  > .common_list_item + .common_list_item {
  margin-top: 10px;
}
.step_list_item .note {
  text-align: center;
  margin: 5px 0 20px;
}

.slash_wrap {
  text-align: center;
  margin-bottom: 5px;
}
.slash_wrap .slash {
  position: relative;
  display: inline-block;
}
.slash_wrap .slash::before,
.slash_wrap .slash::after {
  content: '';
  background-color: var(--fontColor);
  width: 0.4vw;
  height: 2.1em;
  border-radius: 9999px;
  position: absolute;
  bottom: 0;
}
.slash_wrap .slash::after {
  transform: rotate(40deg);
  right: -1.8em;
  margin-left: 1.2em;
}
.slash_wrap .slash::before {
  transform: rotate(320deg);
  left: -1.8em;
  margin-right: 1.2em;
}

@media screen and (min-width: 768px) {
  .step_list {
  margin-top: 50px;
  }
  .parts_img.sec_label {
    margin-top: 60px;
    width: 570px;
  }
  .step_list_item .step_list_item_label {
    width: 200px;
    top: -80px;
  }
  .step_list_item .step_item_inner {
    padding: 30px;
    width: 660px;
  }
  .step_item_inner .step_list_item_box_ttl {
    font-size: 36px;
    margin-bottom: 30px;
  }
  .step_list_item .img {
    width: 570px;
    margin-top: 40px;
    margin-bottom: 60px;
  }
  .step_item_inner p {
    font-size: 28px;
  }
  .step_list_item .note {
    margin: 10px 0 40px;
  }
  .step_item_inner .line {
    margin-bottom: 30px;
  }
  .step_list_item .box {
    margin-top: 30px;
    padding: 30px 25px;
    width: 570px;
  }
  .step_list_item .box .common_list_item > img {
    width: 40px;
    height: 40px;
  }
  .step_list_item .box .common_list_item > p {
    font-size: 28px;
    width: calc(100% - (40px + 10px));
  }
  .step_list_item .box .common_list_item .small {
    font-size: 20px;
  }
  .slash_wrap {
    margin-bottom: 25px;
  }
  .slash_wrap .slash::before,
  .slash_wrap .slash::after {
    width: 0.2vw;
    height: 1.8em;
  }
}

/* pcのみ */
@media screen and (min-width: 768px) {
  .qr_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 auto 30px;
    max-width: 540px;
  }
  .qr01 {
    background-color: #EEE;
    border-radius: 20px;
    width: 336px;
    padding: 20px;
  }
  .qr01 > img {
    width: 144px;
    margin: 0 auto;
    height: auto;
  }
  .qr01.wide > img {
    width: 228px;
  }
  .qr02 {
    width: 180px;
    height: 180px;
  }
}

/*----------------------------------*/
/* quiz
/*----------------------------------*/
#quiz {
  padding-top: 40px;
  background-color: var(--bgBcolor);
}
.sec_quiz {
  border-radius: 20px 20px 0 0;
  margin: -16px 0;
  position: relative;
}
.sec_quiz .sec_inner{
  position: relative;
}
.sec_quiz .item_label{
  position: absolute;
  width: 33.78vw;
  height: auto;
  margin: auto;
  top: -2.5%;
  right: 50%;
  transform: translateX(50%);
}
.quiz {
  width: 100%;
  margin-top: 10px;
}
.quiz .quiz_bg {
  position: relative;
  background-color: var(--bgRcolor);
}
.quiz .quiz_midashi {
  text-align: center;
  background-color: #FF5656;
  line-height: 1.4;
  color: var(--whiteColor);
  font-weight: 900;
  max-width: 100%;
  padding: 10px 0;
  margin: 0 auto;
  border-radius: 20px;
  font-size: min(18px, 4.32vw);
  width: min(89.19vw, 660px);
}
.quiz .quiz_ttl_box {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--whiteColor);
  border: 2px solid #323232;
  z-index: 2;
  margin: 20px auto -50px;
  width: min(360px, 90%);
  padding: 8px;
}
.quiz .quiz_ttl_box > span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: 800;
  color: var(--whiteColor);
  width: 32px;
  height: 32px;
  background-color: var(--redColor);
  border-radius: 50%;
  margin-right: 8px;
  font-weight: 600;
}
.quiz .quiz_ttl_box > p {
  width: calc(100% - ( 32px + 8px));
  font-size: max(12px, 3.24vw);
  font-weight: 700;
  line-height: 1.4;
}
.quiz_wrap {
  position: relative;
  margin: 0 auto;
  padding: 65px 4.05vw 25px;
  background-color: var(--whiteColor);
  border-radius: 14px;
  z-index: 1;
}
.quiz .answer_box {
  gap: 0 4.05vw;
  width: 100%;
  justify-content: space-between;
  display: flex;
  margin-inline: auto;
}
.quiz_wrap .answer_box .answer {
  width: 100%;
}
.quiz_wrap .box {
  position: relative;
}
.quiz_wrap label {
  display: block;
  width: 100%;
  background-color: var(--whiteColor);
  border: 2px solid var(--blueColor);
  border-radius: 10px;
  cursor: pointer;
  padding: 8px;
  margin: 0 auto;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
}
.quiz_wrap input:checked + label {
background-color: var(--blueColor);
}
.quiz_wrap input:checked + label .num {
  color: var(--blueColor);
  background-color: var(--whiteColor);
}
.quiz_wrap input:checked + label .txt {
  color: var(--whiteColor);
}
.quiz_wrap input[type="radio"] {
  display: none;
}
.quiz_wrap .num {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
  width: 20px;
  height: 20px;
  margin: 0 auto 5px;
  color: var(--whiteColor);
  background-color: var(--blueColor);
  border-radius: 50%;
}
.quiz .quiz_wrap .txt {
  font-size: 15px;
  text-decoration: none;
  display: block;
  color: var(--blueColor);
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.04rem;
}
.quiz .quiz_wrap .answer_btn {
  width: 77.03vw;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 20px;
}

.quiz .quiz_wrap .answer_btn.hide {
  display: none;
}
.quiz .quiz_area_answer {
  display: none;
}
.quiz .quiz_area_answer.show {
  display: block;
}

.quiz_area_answer.answer_incorrect {
  position: relative;
  padding: 40px 10px;
  background-color: #E6F1FF;
  overflow: hidden;
  border-radius: 0 0 20px 20px;
}
.quiz_area_answer.answer_incorrect .solution {
  max-width: 478px;
  margin-inline: auto;
}
.quiz_area_answer_inner .incorrect {
  position: relative;
  width: 180px;
  margin-inline: auto;
  z-index: 2;
}
.quiz_area_answer.answer_correct {
  position: relative;
  padding: 0 0 10px 0;
  overflow: hidden;
  background-color: #FFF9E5;
  border-radius: 0 0 20px 20px;
}
.quiz_area_answer.answer_correct .solution {
  max-width: 480px;
  margin-inline: auto;
}
.quiz_area_answer_inner .correct {
  position: relative;
  z-index: 2;
  width: 180px;
  max-width: 100%;
  margin-inline: auto;
}
.quiz_bg.correct .quiz_wrap,
.quiz_bg.incorrect .quiz_wrap {
  border-radius: 14px 14px 0 0;
}
.quiz_area_answer .ashirai_box {
  position: relative;
  width: 100%;
  margin-inline: auto;
}
.ashirai_box .ashirai {
  position: absolute;
  width: 100%;
}
.correct > img {
  width: 100%;
  margin: auto;
  display: block;
  padding: 60px 0 0;
}
.ashirai > img {
  width: 100%;
  height: auto;
  max-height: 300px;
  display: block;
}

.quiz_area_answer_inner .sentence {
  font-size: 4.05vw;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.04rem;
  color: var(--fontColor);
  text-align: center;
  padding-top: 20px;
}

.quiz_area_answer_inner .campaign_code_box {
  width: 390px;
  padding: 30px 20px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--whiteColor);
  border-radius: 16px;
  margin: 30px auto 0;
}
.campaign_code_box > img {
  margin-inline: auto;
}
.quiz_area_answer_inner .campaign_code_txt {
  font-size: 30px;
  font-weight: 800;
  color: var(--fontColor);
  text-align: center;
}
.quiz_area_answer_inner .copy_btn {
  font-size: 14px;
  font-weight: 600;
  background-color: #454545;
  color: var(--whiteColor);
  border-radius: 30px;
  text-align: center;
  margin: 10px auto 0;
  padding: 10px 0;
  cursor: pointer;
  width: 320px;
  max-width: 100%;
}
.quiz_area_answer_inner .cta-wrap-q {
  width: 390px;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 5px;
  padding: 0 10px;
}
.quiz_area_answer_inner .note {
  text-align: center;
}
.correct_inner {
  padding: 2% 10px;
  position: relative;
}
.quiz ul.note {
  text-align: center;
}

/* quiz bg(spのみ) */
@media screen and (max-width: 767.9px) {
  .quiz .quiz_bg.correct,
  .quiz .quiz_bg.incorrect {
    pointer-events: none;
  }
  .quiz .quiz_bg.incorrect::before {
    position: absolute;
    content: "";
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(37, 37, 37, 0.6);
    z-index: 99;
  }
}

/* quiz modal(spのみ) */
@media screen and (max-width: 767.9px) {
  /* 正解_モーダル */
  .js_modalWrap {
    display: none;
    z-index: -1;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    overscroll-behavior-y: contain;
  }
  .js_modalWrap.active {
    animation: modalOpen 0.3s ease forwards;
    display: block;
  }
  .js_modalWrap.active2 {
    animation: modalClose 0.3s ease forwards;
    display: block;
  }
  /* 不正解_モーダル */
  .js_modalWrap02 {
    display: none;
    z-index: -1;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    overscroll-behavior-y: contain;
  }
  .js_modalWrap02.active {
    animation: modalOpen 0.3s ease forwards;
    display: block;
  }
  .js_modalWrap02.active2 {
    animation: modalClose 0.3s ease forwards;
    display: block;
  }

  .js_modalBG {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1;
  }
  .js_modalContWrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
  }
  .modal-content01 .js_modalContWrap {
    display: flex;
    align-items: flex-start;
  }
  .modal-content01 .js_modalContWrap,
  .modal-content03 .js_modalContWrap {
    display: flex;
    align-items: center;
  }
  .js_modalContInner {
    position: relative;
    width: 767px;
    max-width: 94%;
    background-color: #FFF9E5;
    border: 3px solid #c90010;
    border-radius: 20px;
    margin: 50px auto;
    overflow: hidden;
    z-index: 10;
  }
  .js_modalWrap02 .js_modalContInner {
    background-color: #E6F1FF;
    border: 3px solid #c90010;
  }
  .js_modalCont {
    position: relative;
    z-index: 12;
    padding: 40px 20px;
  }
  .modalClose-btn {
    width: 200px;
    margin: 30px auto 0;
    cursor: pointer;
    z-index: 1001;
    height: auto;
    padding: 0 10px;
  }
}

@keyframes modalOpen {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    z-index: 1000;
  }
}
@keyframes modalClose {
  0% {
    opacity: 1;
    z-index: 1000;
  }
  100% {
    opacity: 0;
  }
}


@media screen and (min-width: 768px) {
  #quiz {
    padding-top: 80px;
  }
  .sec_quiz {
    border-radius: 60px 60px 0 0;
    margin-top: -50px;
  }
  .sec_quiz .item_label {
    top: -3%;
    width: 250px;
  }
  .quiz {
    margin-top: 30px;
  }
  .quiz .quiz_midashi {
    font-size: 36px;
    padding: 15px 0;
  }
  .quiz_wrap_inner p {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 10px;
  }
  .quiz .quiz_ttl_box {
    width: 600px;
    padding: 15px;
    margin: 45px auto -50px;
  }
  .quiz .quiz_ttl_box > span {
    width: 60px;
    height: 60px;
    margin-right: 20px;
    font-size: 30px;
  }
  .quiz .quiz_ttl_box > p {
    font-size: 20px;
    width: calc(100% - (60px + 20px));
  }
}


/* modal */
.modal_btn_area {
  margin: 20px auto 0;
  width: 100%;
}
.modal_btn {
  max-width: 100%;
  width: 81.08vw;
  margin: 0 auto;
  background-color: #d9d9d9;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px 10px 10px;
  border: solid 1px #454545;
}
.modal_btn::before {
  content: "";
  background-image: url(../images/icon02.png);
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  right: 8px;
  width: 16px;
  height: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.modal_btn_text {
  font-size: max(12px, 2.7vw);
  font-weight: 700;
  line-height: 1.4;
}
.modal {
  width: 100%;
  height: 100%;
  display: none;
}

.modal_item {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 92%;
  max-width: 92vw;
  padding: 40px 3.4vw;
  max-height: 80vh;
  border-radius: 10px;
  height: min-content;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: clip;
  background-color: var(--whiteColor);
}
.modal_close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 20px;
  height: 20px;
  background-image: url(/assets/images/icon-cross.png);
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
.modal_item h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}
.modal_content {
  max-width: 860px;
  margin: 0 auto;
  text-align: left;
  font-size: max(12px, 3.78vw);
  line-height: 1.2;
  height: 400px;
  overflow-y: scroll;
  padding: 0 3vw;
}
.modal_content p {
  font-size: max(12px, 3.78vw);
  line-height: 1.2;
}
.modal_content dt {
  margin-top: 10px;
}
.modal_content dd {
  margin-bottom: 10px;
}
.modal_content img {
  margin-top: 5px;
  display: block;
  max-width: 400px;
}
.modal table {
  border-collapse: collapse;
  border-left: solid 1px var(--grayColor);
  border-top: solid 1px var(--grayColor);
  font-weight: 400;
  margin-top: 10px;
}
.modal table th {
  background-color: #e8e8e8;
  background-color: var(--bgGcolor);
  text-align: center;
  border-right: solid 1px var(--grayColor);
  border-bottom: solid 1px var(--grayColor);
  font-size: max(12px, 3.2vw);
  width: 30%;
  padding: 4px;
  font-weight: 400;
  vertical-align: top;
}
.modal table td {
  font-size: max(12px, 3.2vw);
  border-right: solid 1px var(--grayColor);
  border-bottom: solid 1px var(--grayColor);
  padding: 4px;
}

.modal_content,
.modal_content p,
.modal_content ul.note .note_item,
.modal_content ul.dot .dot_item,
.modal_content ol.note_order .note_order_item {
  font-size: max(12px, 3.2vw);
}

@media screen and (min-width: 768px) {
  .modal_btn_area {
    margin-top: 40px;
  }
  .modal_btn {
    width: 600px;
  }
  .modal_btn_text {
    font-size: 20px;
  }
  .modal_btn::before {
    width: 26px;
    height: 26px;
    right: 25px;
  }
  .modal_content,
  .modal_content p,
  .modal_content ul.note .note_item,
  .modal_content ul.dot .dot_item,
  .modal_content ol.note_order .note_order_item,
  .modal_content table th,
  .modal_content table td {
    font-size: 14px;
  }
}

/*----------------------------------*/
/* sec_bnr
/*----------------------------------*/
.bnr_area {
  width: 100%;
  max-width: 660px;
}


/*----------------------------------*/
/* accordion
/*----------------------------------*/
.accordion_head {
  cursor: pointer;
  padding: 10px 34px 10px 12px;
  position: relative;
  background-color: var(--whiteColor);
  display: flex;
  align-items: center;
}
.accordion_head > span {
  color: var(--whiteColor);
  background-color: var(--blueColor);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 900;
  margin-right: 16px;
  line-height: 1.0;
}
.accordion_head > p {
  font-size: max(4.05vw, 12px);
  font-weight: 700;
  color: var(--fontColor);
}
.accordion_head::after,
.accordion_head::before {
  content: '';
  display: block;
  position: absolute;
  width: 2px;
  height: 12px;
  right: 20px;
  background-color: var(--fontColor);
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.5s;
}
.accordion_head::before {
  transform: rotate(90deg);
}
.accordion_head.active::before {
  transform: rotate(270deg);
}
.accordion_head.active::after {
  transform: rotate(90deg);
}
.accordion_content {
  display: none;
  background-color: var(--whiteColor);
  padding: 0 12px 10px;
  font-size: max(12px, 3.78vw);
}
.accordion_content dt {
  font-size: max(12px, 3.78vw);
  font-weight: 600;
  margin-top: 5px;
}
.accordion_content p,
.accordion_content dd {
  font-size: max(12px, 3.78vw);
  font-weight: 400;
}
.accordion_content ul.note .note_item,
.accordion_content ul.dot .dot_item,
.accordion_content ol.note_order .note_order_item {
  font-size: max(12px, 3.78vw);
  font-weight: 400;
}
.accordion + .accordion {
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .accordion_head {
    padding: 20px 30px;
  }
  .accordion_head > span {
    width: 56px;
    height: 56px;
    font-size: 30px;
    margin-right: 30px;
  }
  .accordion_head > p {
    font-size: 16px;
    padding-right: 20px;
  }
  .accordion_head::after,
  .accordion_head::before {
    height: 20px;
    width: 4px;
    right: 30px;
  }
  .accordion_content {
    padding: 0 50px 20px 30px;
  }
  .accordion_content,
  .accordion_content p,
  .accordion_content dd,
  .accordion_content dt {
    font-size: 14px;
  }
  .accordion_content ul.note .note_item,
  .accordion_content ul.dot .dot_item,
  .accordion_content ol.note_order .note_order_item  {
    font-size: 14px;
  }
}

/*----------------------------------*/
/* sec_faq
/*----------------------------------*/
.faq_acc .accordion_head {
  border-radius: 20px;
  padding: 10px 34px 10px 12px;
}
.faq_acc .accordion_head.active {
  border-radius: 20px 20px 0 0;
}
.faq_acc .accordion_head > p {
  width: calc(100% - (28px + 16px));
}
.faq_acc .accordion_content {
  border-radius: 0 0 20px 20px;
}
.faq_acc .accordion_content p,
.faq_acc .accordion_content dd {
  width: calc(100% - (28px + 16px));
  margin-left: auto;
}
.faq_acc .accordion_content {
  padding: 0 34px 10px 12px;
}
@media screen and (min-width: 768px) {
  .faq_acc .accordion_head {
    padding: 20px 50px 20px 30px;
  }
  .faq_acc .accordion_head > p {
    width: calc(100% - (56px + 30px));
    font-size: 20px;
  }
  .faq_acc .accordion_content p,
  .faq_acc .accordion_content dd {
    width: calc(100% - (56px + 30px));
    font-size: 18px;
  }
  .faq_acc .accordion_content {
    padding: 0 50px 20px 30px;
  }
}

/*----------------------------------*/
/* sec_caution
/*----------------------------------*/
.sec_caution {
  background-color: var(--bgGcolor);
}
.caution_acc {
  margin-bottom: 30px;
}

/*----------------------------------*/
/* caution_scroll
/*----------------------------------*/
.caution_scroll {
  background-color: var(--whiteColor);
  border-radius: 10px;
  padding: 20px;
  height: 400px;
  overflow-y: scroll;
  line-height: 1.48;
  margin-bottom: 40px;
}
.caution_scroll .scroll_inner {
  padding: 0;
}
.caution_scroll .h2 {
  font-size: 4.32vw;
  margin: 16px 0 8px;
  font-weight: 600;
  text-align: center;
}
.caution_scroll .h3 {
  font-size: max(12px, 4.05vw, );
  margin: 16px 0 8px;
  font-weight: 600;
}
.caution_scroll .h4 {
  font-size: max(12px, 3.78vw);
  margin: 12px 0 8px;
  font-weight: 600;
}
.caution_scroll .h5 {
  font-size: max(12px, 3.78vw);
  margin: 12px 0 0;
}
.caution_scroll p,
.caution_scroll dd {
  font-size: max(12px, 3.78vw);
  font-weight: 400;
}
.caution_scroll .dot {
  position: relative;
  padding-left: 1em;
}
.caution_scroll .dot::before {
  content: '';
  background-color: var(--fontColor);
  font-size: inherit;
  width: 0.4em;
  height: 0.7em;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.caution_scroll ul li {
  font-size: max(12px, 3.78vw);
  margin-top: 2px;
  text-indent: -1em;
  padding-left: 1em;
}
.caution_scroll ul li::before {
  content: '・';
  font-size: inherit;
}
.caution_scroll a {
  font-size: inherit;
}

@media screen and (min-width: 768px) {
  .caution_scroll .h2 {
    font-size: 18px;
  }
  .caution_scroll .h3 {
    font-size: 16px;
  }
  .caution_scroll .h4 {
    font-size: 14px;
    margin: 12px 0 8px;
    font-weight: 600;
  }
  .caution_scroll .h5 {
    font-size: 14px;
    margin: 12px 0 0;
  }
  .caution_scroll p,
  .caution_scroll dd {
    font-size: 14px;
    font-weight: 400;
  }
  .caution_scroll .dot::before {
    content: '';
    background-color: var(--fontColor);
    font-size: inherit;
    width: 0.4em;
    height: 0.7em;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
  .caution_scroll ul li {
    font-size: 14px;
  }
}



/*----------------------------------*/
/* floating
/*----------------------------------*/
/* floating_bottom */
.floating_bottom {
  display: none;
}
.floating_bottom {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  text-align: center;
  background-color: rgba(34, 34, 34, 0.8);
  z-index: 99;
  display: none;
}
.floating_bottom > a {
  width: 300px;
  height: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
.floating_bottom a {
  color: var(--whiteColor);
}
.floating_display {
  display: flex;
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  padding: 2vw 0;
}
.floating_bottom .floating_display .btn_area {
  width: 49%;
}
.floating_bottom .floating_display .btn_area a,
.floating_bottom .floating_display .btn_area img,
.floating_bottom .floating_display .btn_area .e_disabled > img {
  width: 100%;
  height: auto;
}
.floating_bottom .floating_display .btn_area.e_area .checkbox {
  color: var(--whiteColor);
  margin-top: 0;
}
.floating_bottom ul.note .note_item {
  color: var(--whiteColor);
  text-align: left;
  font-size: max(8px, 2.5vw);
}
.floating_bottom input+.check_label {
  font-size: max(8px, 2.5vw);
}
@media screen and (min-width: 768px) {
  .floating_bottom .floating_display {
    padding: 15px 0;
  }
  .floating_bottom ul.note .note_item {
    text-align: center;
    font-size: 16px;
  }
  .floating_bottom input+.check_label {
    font-size: 16px;
  }
}