@charset "UTF-8";

/* =======================================
    01.Base（reset / base / typography）
======================================= */
/* ------ Reset -------*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
html,body {
  -webkit-text-size-adjust: 100%;
}


/* ------ root（pc 750px / sp 375px） -------*/
:root {
  /* color */
  --color-primary: #f963ac;
  --color-secondary: #fee0ee;
  --color-yellow: #fff9cd;

  /* size */
  --size-10:  min(1.333vw, 10px);
  --size-15:  min(2vw, 15px);
  --size-20:  min(2.667vw, 20px);
  --size-25:  min(3.333vw, 25px);
  --size-30:  min(4vw, 30px);
  --size-40:  min(5.333vw, 40px);
  --size-50:  min(6.667vw, 50px);
  --size-60:  min(8vw, 60px);
  --size-70:  min(9.333vw, 70px);
  --size-80:  min(10.667vw, 80px);
  --size-90:  min(12vw, 90px);
  --size-100: min(13.333vw, 100px);

  /* font */
  --font-size-3xl:  min(7.867vw, 5.9rem);
  --font-size-2xl:  min(5.733vw, 4.3rem);
  --font-size-xl:   min(5.2vw, 3.9rem);
  --font-size-lg:   min(4.667vw, 3.5rem);
  --font-size-md:   min(3.867vw, 2.9rem);
  --font-size-sm:   min(3.333vw, 2.5rem);
  --font-size-base: min(2.8vw, 2.1rem);
  --font-size-xs:   min(2vw, 1.5rem);
}

@media screen and (max-width: 750px) {
  :root {
    /* size */
    --size-10:  min(2.667vw, 10px);
    --size-15:  min(4vw, 15px);
    --size-20:  min(5.333vw, 20px);
    --size-25:  min(6.667vw, 25px);
    --size-30:  min(8vw, 30px);
    --size-40:  min(10.667vw, 40px);
    --size-50:  min(13.333vw, 50px);
    --size-60:  min(16vw, 60px);
    --size-70:  min(18.667vw, 70px);
    --size-80:  min(21.333vw, 80px);
    --size-90:  min(24vw, 90px);
    --size-100: min(26.667vw, 100px);

    /* font */
    --font-size-3xl:  min(7.467vw, 3.2rem); /* 375px時 約2.8rem */
    --font-size-2xl:  min(6.4vw, 3rem);   /* 375px時 約2.4rem */
    --font-size-xl:   min(5.333vw, 2.4rem);   /* 375px時 約2rem */
    --font-size-lg:   min(4.8vw, 2.2rem);   /* 375px時 約1.8rem */
    --font-size-md:   min(4.533vw, 2.1rem); /* 375px時 約1.7rem */
    --font-size-sm:   min(4vw, 1.9rem);     /* 375px時 約1.5rem */
    --font-size-base: min(3.733vw, 1.8rem); /* 375px時 約1.4rem */
    --font-size-xs:   min(3.2vw, 1.6rem);   /* 375px時 約1.2rem */
  }
}


/* ------ Responsive -------*/
.pc {
  display: block;
}
.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}


/* ------ box -------*/
body {
  background-color: #fff;
}
#pageWrapper{
  margin: 0 auto;
  max-width: 750px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
section {
  margin: 0 auto;
  position: relative;
  width: 90.667%;
}
.container {
  margin: 0 auto;
  position: relative;
  padding: var(--size-50) var(--size-40);
  width: 100%;
}
.case{
  position: relative;
}
@media screen and (max-width: 750px) {
  body{
    min-width: 100%;
  }
  .container {
    padding: var(--size-25);
  }
}


/* ------ text -------*/
html {
  font-size: 62.5%;
}
body{
  color: #424242;
  font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: var(--font-size-base);
  font-weight: 400;
  /* letter-spacing: 0.02em; */
  line-height: 1.6;
}
main p{
  margin-bottom: 1.5em;
}
main p:last-child{
  margin-bottom: 0;
}


/* =======================================
  02. Utilities（margin / padding etc）
======================================= */
/* ------ padding -------*/
.section-mb{
  margin-bottom: var(--size-70);
}
.case-mb{
  margin-bottom: var(--size-50);
}
.box-mb{
  margin-bottom: var(--size-30);
}
@media screen and (max-width: 750px) {
  .section-mb{
    margin-bottom: var(--size-40);
  }
  .case-mb{
    margin-bottom: var(--size-30);
  }
  .box-mb{
    margin-bottom: var(--size-25);
  }
}


/* ------ margin -------*/
.mb_0{
  margin-bottom: 0;
}
.mb_20{
  margin-bottom: var(--size-20);
}
.mb_25{
  margin-bottom: var(--size-25);
}
.mb_30{
  margin-bottom: var(--size-30);
}
.mb_40{
  margin-bottom: var(--size-40);
}
.mb_50{
  margin-bottom: var(--size-50);
}
.mb_60{
  margin-bottom: var(--size-60);
}
.mb_80{
  margin-bottom: var(--size-80);
}
.mb_100{
  margin-bottom: var(--size-100);
}


/* ------ 配置 -------*/
.center{
  text-align: center;
}


/* ------ fadeInUp -------*/
.fadeInUp{
  -webkit-transform: translateZ(0);
  /* display: none; */
  opacity: 0;
}
.fadeInUp.animated {
  /* アニメーションのプロパティを指定 */
  -webkit-transform: translateZ(0);
  animation-name: animated;
  animation-duration: 1s;
  animation-timing-function: ease;
  position: relative;
  opacity: 1;
}
@keyframes animated {
  from {
    opacity: 0;
    bottom: -20px;
  }
  to {
    opacity: 1;
    bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .no-animation {
    opacity: 1 !important;
    animation: none !important;
  }
}


/* ------ visually-hidden -------*/
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}



/* =======================================
    03. Components（button / card / badge）
======================================= */
/* ------ title -------*/
.ttl_main{
  line-height: 1.2;
  margin-bottom: calc(min(5.333vw, 40px) * -1);
  text-align: center;
  position: relative;
  z-index: 10;
}
.ttl_main img{
  width: auto;
  height: min(10.667vw, 80px);
}
.ttl_sub {
  color: var(--color-primary);
  font-size: var(--font-size-3xl);
  font-weight: bold;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
  text-align: center;
}
.ttl_item{
  background-color: var(--color-secondary);
  border-radius: 100px;
  color: var(--color-primary);
  font-size: var(--font-size-sm);
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
  padding: 0.15em;
  text-align: center;
}
.txt_center{
  text-align: center;
}
.txt_small{
  font-size: 90%;
}
.txt_xsmall{
  font-size: 80%;
}
.txt_large{
  font-size: 150%;
}
.txt_pink{
  color: var(--color-primary);
}
.txt_orange{
  color: #f05a23;
}
.txt_blue{
  color: #29a9e0;
}


/* .txt_marker */
.txt_marker{
  display: inline;
  background: linear-gradient(transparent 70%, var(--color-yellow) 70%);
  padding: 0 0.25em 0;
}

/* .txt_note */
.txt_note{
  color: #000;
  font-size: var(--font-size-xs);
  margin-top: 0.5em;
  text-align: right;
  text-shadow:
  1.5px 0 #fff,
  -1.5px 0 #fff,
   0 1.5px #fff,
   0 -1.5px #fff,
   1.5px 1.5px #fff,
  -1.5px 1.5px #fff,
   1.5px -1.5px #fff,
  -1.5px -1.5px #fff;
}
@media screen and (max-width: 750px) {
  .txt_note {
    text-shadow:
      1px 0 #fff,
     -1px 0 #fff,
      0 1px #fff,
      0 -1px #fff,
      1px 1px #fff,
     -1px 1px #fff,
      1px -1px #fff,
     -1px -1px #fff;
  }
}


/* ------ btn -------*/
.btn, a.btn {
  color: #fff;
  display: block;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  transition: 0.3s all;
}
@media screen and (min-width: 751px) {
  .btn:hover{
    text-decoration: none;
    transform:scale(0.95);
  }
}
.btn:last-child{
  margin-bottom: 0;
}
.btn.none{
  pointer-events: none;
}

/* .btn_apply */
.btn_apply{
  width: min(84.8vw, 636px);
}

/* a.txt_link */
a.txt_link{
  color: #424242;
  text-decoration: underline;
}
a.txt_link.txt_pink{
  color: var(--color-primary);
}
@media screen and (min-width: 751px) {
  a.txt_link:hover{
    text-decoration: none;
  }
}

/* .btn_link */
.btn_link{
  background-color: var(--color-secondary);
  color: var(--color-primary);
  display: block;
  font-size: 110%;
  font-weight: bold;
  padding: 0.25em;
  text-align: center;
  text-decoration: none;
  width: 100%;

  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (min-width: 751px) {
  .btn_link:hover{
    opacity: 0.7;
  }
}


/* ------ background -------*/
/* .bg_sparkle */
.bg_sparkle{
  background-image: url(../img/bg_sparkle.jpg);
  background-position: top center;
  background-repeat: repeat-y;
  background-size: 100% auto;
}

/* .bg_gradation */
.bg_gradation{
  background-image: url(../img/bg_gradation_top.png),url(../img/bg_gradation_bottom.png);
  background-position: top center, bottom center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: min(3.733vw, 28px) 0;
}
.bg_gradation .inner{
  background-image: url(../img/bg_gradation.png);
  background-position: top center;
  background-repeat: repeat-x;
  background-size: auto 100%;
  padding: var(--size-50) 0 var(--size-30);
}
@media screen and (max-width: 750px) {
  .bg_gradation .inner{
    padding: var(--size-30) 0 var(--size-20);
  }
}

/* .bg_white */
.bg_white{
  background-color: #fff;
}

/* .white_box */
.white_box{
  background-color: #fff;
  border-radius: var(--size-25);
  padding: var(--size-80) var(--size-40) var(--size-50);
}
@media screen and (max-width: 750px) {
  .white_box{
    border-radius: var(--size-15);
    padding: var(--size-40) var(--size-20) var(--size-25);
  }
}


/* ------ img -------*/
@media screen and (max-width: 750px){
  img{
    width: 100%;
  }
}


/* ------ .deco -------*/
.deco{
  position: absolute;
}



/* ------ arrow -------*/
.arrow_r{
  display: inline-block;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #fff;
  margin-right: 10px;
  margin-left: 5px;
}


/* ------ list_box -------*/
/* .list_box */
.list_box li{
  position: relative;
  padding-left: 1.2em;
  /* line-height: 1.7; */
}
.list_box li::before{
  content: '・';
  position: absolute;
  left: 0;
}

/* .list_circle_box */
.list_circle_box li{
  position: relative;
  padding-left: 1.2em;
  /* line-height: 1.7; */
}
.list_circle_box li::before{
  content: '●';
  position: absolute;
  left: 0;
}

/* list_note_box */
.list_note_box li{
  position: relative;
  padding-left: 1.2em;
  /* line-height: 1.7; */
}
.list_note_box li::before{
  content: '※';
  position: absolute;
  left: 0;
}



/* ------ accordion 共通 -------*/
/* base (共通) */
.accordion{
  list-style: none;
}

/* .accordion_head */
.accordion_head{
  position: relative;
  width: 100%;
}

/* .accordion_trigger */
.accordion_trigger{
  border: 0;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  position: relative;
  box-sizing: border-box;
  width: 100%;
}

/* .accordion_mark_parent */
.accordion_mark_parent{
  position: absolute;
  top: 50%;
  right: var(--size-40);
  width: var(--size-40);
  height: var(--size-40);
  display: grid;
  place-items: center;
  transform:translateY(-50%);
}
.accordion_mark_parent::before{
  content: "";
  background: url(../img/icon_arrow.svg) no-repeat center / contain;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform .3s ease;
}
.accordion_trigger[aria-expanded="true"] .accordion_mark_parent::before{
  transform: rotate(180deg);
}
@media screen and (max-width:750px){
  .accordion_mark_parent{
    right: var(--size-20);
    width: var(--size-20);
    height: var(--size-20);
  }
}

/* .accordion_mark_child */
.accordion_mark_child{
  position: absolute;
  top: 50%;
  right: var(--size-30);
  width: var(--size-30);
  height: var(--size-30);
  display: grid;
  place-items: center;
  transform: translateY(-50%);
}
.accordion_mark_child::before{
  content: "";
  background-image: url(../img/icon_open.svg);
  background-size: 100% auto;
  display: inline-block;
  width: var(--size-30);
  height: var(--size-30);
}
.accordion_trigger[aria-expanded="true"] .accordion_mark_child::before{
  content: "";
  background-image: url(../img/icon_close.svg);
}
@media screen and (max-width:750px){
  .accordion_mark_child{
    right: var(--size-20);
    width: var(--size-15);
    height: var(--size-15);
  }
  .accordion_mark_child::before{
    width: var(--size-15);
    height: var(--size-15);
  }
}

/* .accordion_panel */
.accordion_panel_parent{
  display: none;
}
.accordion_panel_child{
  overflow: hidden;
  height: 0;
  transition: height .3s ease;
}


/* ------ .scroll_box -------*/
.scroll_box {
  height: 430px;
  overflow-y: scroll;
  padding-right: var(--size-10);
}
/* Firefox のスクロールバーを強制的に表示 */
@-moz-document url-prefix() {
  .scroll_box {
      scrollbar-width: auto !important;
  }
}
/* Chrome / Safari / Edge のスクロールバーを表示 */
.scroll_box::-webkit-scrollbar {
  width: 8px;
}
.scroll_box::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 6px;
}
.scroll_box::-webkit-scrollbar-track {
  background: #f1f1f1;
}
@media screen and (max-width: 750px) {
  .scroll_box {
    height: 400px;
  }
}


/* ------ .popup_box -------*/
.popup_box{
  display: none;

  position: fixed;
  inset: 0;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, .6);
  z-index: 9999;
}
.popup_box.is-show {
  display: flex;
}
.popup_box.is-hide {
  display: none;
}
.popup_box .inner{
  position: relative;
  max-width: 80%;
}

/* .btn */
.btn_popup{
  transition: .3s;
}
.btn_popup_close {
  border: 0;
  background: #fff;
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  padding: 0;
  transition: .3s;

  position: absolute;
  top: -20px;
  right: -20px;

  width: 40px;
  height: 40px;

  z-index: 1;
}
.btn_popup_close::before,
.btn_popup_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  width: 18px;
  height: 2px;

  background: #000;
  border-radius: 999px;
}
.btn_popup_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.btn_popup_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (hover: hover) {
  .btn_popup:hover,
  .btn_popup_close:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 750px) {
  .btn_popup_close {
    width: 30px;
    height: 30px;
  }
  .btn_popup_close::before,
  .btn_popup_close::after {
    width: 14px;
  }
}


/* ------ .floating_box -------*/
.floating_box{
  position: fixed;
  left: 0;
  bottom: 0;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: .3s;
  
  text-align: center;
  width: 100%;
  z-index: 999;
}
.floating_box.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (hover: hover) {
  .floating_box:hover{
    opacity: 0.7;
  }
}
/* フローティングバナー表示時 */
#contents_wrap section:last-child{
  padding-bottom: min(13.733vw,103px);
}


/* =======================================
    04. Layout（header / footer / grid）
======================================= */
/* ------ flex-box -------*/
.col2,.col3{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
/* @media screen and (max-width: 750px) {
  .col2,.col3{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
} */



/* =======================================
    05. Pages
======================================= */
/* ------ #mv_box -------*/
#mv_box{
  width: 100%;
}
#mv_box img{
  display: block;
  height: auto;
}


/* ------ #about_box -------*/
#about_box{
  padding-top: var(--size-20);
  margin-bottom: var(--size-50);
  text-align: center;
  width: 100%;
}
#about_box .ttl_about img{
  width: min(99.333vw, 745px);
}
#about_box .btn_apply{
  margin-top: calc(var(--size-30) * -1);
}
@media screen and (max-width: 750px) {
  #about_box{
    padding-top: var(--size-10);
    margin-bottom: var(--size-30);
  }
  #about_box .btn_apply{
    margin-top: calc(var(--size-10) * -1);
  }
}


/* ------ #prize_box キャンペーン景品 -------*/
#prize_box{
  margin-bottom: var(--size-40);
}
.ttl_prize{
  margin-bottom: calc(min(5.333vw, 50px) * -1);
}
.ttl_prize img{
  height: min(16.667vw, 125px);
}
#prize_box .white_box{
  box-shadow:
  0 0 20px rgba(255, 123, 196, 0.5),
  0 0 40px rgba(255, 123, 196, 0.3),
  0 0 60px rgba(255, 123, 196, 0.2);
  padding: var(--size-80) 0 var(--size-30);
}
@media screen and (max-width: 750px) {
  #prize_box .white_box{
    padding: var(--size-40) 0 var(--size-20);
  }
}

/* .top_box */
#prize_box .top_box{
  margin-bottom: 1.5em;
  padding: 0 var(--size-40);
}
#prize_box .top_box p{
  font-size: var(--font-size-sm);
  font-weight: 500;
  margin-bottom: 0;
  text-align: center;
}
#prize_box .top_box p .txt_pink{
  font-weight: bold;
}
#prize_box .top_box p:nth-child(2){
  background-image: url(../img/line_dots.svg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding-top: var(--size-30);
  margin-top: var(--size-30);
}
@media screen and (max-width: 750px) {
  #prize_box .top_box{
    padding: 0 var(--size-20);
  }
  #prize_box .top_box p:nth-child(2){
    background-size: 130% auto;
    padding-top: var(--size-20);
    margin-top: var(--size-20);
  }
}

/* .img_box */
#prize_box .img_box{
  text-align: center;
}
.img_prize{
  margin-bottom: 1em;
  width: min(80vw, 600px);
}
.img_prize_a{
  width: min(89.867vw, 674px);
}
.img_prize_b{
  margin-left: calc(var(--size-15) * -1);
  margin-top: calc(var(--size-10) * -1);
  width: min(87.333vw, 655px);
}
@media screen and (max-width: 750px) {
  .img_prize_a{
    margin-bottom: var(--size-10);
  }
}


/* ------ #entry-condition_box 応募条件 -------*/
.ttl_entry-condition{
  background-image: url(../img/ttl_entry-condition_sub.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  aspect-ratio: 506 / 67;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: var(--font-size-md);
  font-weight: bold;
  padding-bottom: min(1.333vw, 10px);
  letter-spacing: 0.05em;
  width: min(67.467vw, 506px);
  margin: 0 auto 0.5em;
}
.txt_entry-condition{
  color: var(--color-primary);
  font-size: var(--font-size-lg);
  font-weight: 800;
  margin-bottom: 1em;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
}
.txt_entry-condition .txt_marker img{
  padding-bottom: min(1.333vw, 10px);
  margin-right: min(0.667vw, 5px);
  width: min(23.333vw, 175px);
}
.txt_date{
  color: var(--color-primary);
  font-size: var(--font-size-lg);
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-bottom: 0;
  text-align: center;
}
#entry-condition_box .txt_large{
  font-size: 122%; /* 4.4rem */
}
#entry-condition_box .txt_small{
  font-size: 72%; /* 2.6rem */
}
.icon_arrow_pink{
  display: block;
  margin: 0.75em auto 0.25em;
  width: min(4.267vw, 32px);
}
#entry-condition_box .list_note_box{
  font-size: var(--font-size-xs);
  margin-bottom: var(--size-20);
}
@media screen and (max-width: 750px) {
  .txt_entry-condition{
    line-height: 1.4;
  }
}

/* .product_box */
.product_box{
  background-color: #fff9cd;
  border-radius: var(--size-30);
  margin-bottom: var(--size-20);
  position: relative;
  padding: var(--size-30);

  display: flex;
  justify-content: space-between;
}
.img_product_01, .img_product_02, .img_product_03{
  width: auto;
  height: min(31.2vw, 234px);
}
.txt_example{
  position: absolute;
  top: calc(min(6.667vw, 50px ) * -1);
  left: calc(min(2.667vw, 20px ) * -1);
  width: min(15.067vw, 113px);
}
@media screen and (max-width: 750px) {
  .product_box{
    border-radius: var(--size-15);
    padding: var(--size-20);
  }
}

/* .step_box */
.step_box{
  text-align: center;
}
.step_box img{
  display: inline-block;
  margin: 0 auto 0.5em;
}
.step_box img:last-child{
  margin-bottom: 0;
}
.img_step_01,
.img_step_03{
  width: min(43.333vw, 325px);
}
.img_step_02{
  position: relative;
  left: min(1.733vw, 13px);
  width: min(48.8vw, 366px);
}


/* ------ #receipt_box レシート登録方法 -------*/
#receipt_box{
  margin-top: var(--size-30);
}
#receipt_box .white_box{
  padding-top: var(--size-100);
}
.ttl_receipt{
  margin-bottom: calc(min(14vw, 105px) * -1);
}
.ttl_receipt img{
  height: min(29.067vw, 218px);
}
.txt_receipt_top{
  font-size: var(--font-size-lg);
  font-weight: bold;
  margin-bottom: 1em;
  text-align: center;
}
.img_receipt_top{
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: min(74.267vw, 557px);
}
@media screen and (max-width: 750px) {
  #receipt_box .white_box{
    padding-top: var(--size-60);
  }
}

/* .notice_box */
.notice_box{
  background-color: #f05a23;
  border-radius: var(--size-30);
  padding: var(--size-25) var(--size-10);
  text-align: center;
}
.notice_box p{
  color: #fff;
  font-size: var(--font-size-lg);
  font-weight: bold;
  line-height: 1.44;
}
.notice_box img{
  margin-bottom: 0.5em;
  width: min(7.2vw, 54px);
}
@media screen and (max-width: 750px) {
  .notice_box{
    border-radius: var(--size-15);
    padding: var(--size-15);
  }
}


/* ------ accordion 見た目 -------*/
/* 親アコーディオン  */
.accordion_trigger_parent{
  background:#fff262;
  color: #424242;
  font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: var(--font-size-md);
  font-weight: bold;
  padding: var(--size-30);
  padding-right: var(--size-60);
  letter-spacing: 0.05em;
  text-align: center;
}
.accordion_panel_parent .accordion_content{
  padding-top: var(--size-40);
}
.accordion_panel_parent .ttl_sub{
  margin-bottom: 0.8em;
}
@media screen and (max-width: 750px) {
  .accordion_trigger_parent{
    padding: var(--size-20);
    padding-right: var(--size-40);
  }
  .accordion_panel_parent .accordion_content{
    padding-top: var(--size-30);
  }
}

/* 子アコーディオン */
.receipt_item{
  background:#f0f0f0;
  border-radius: var(--size-30);
}
.accordion_trigger_child,
.accordion_title{
  color: #323232;
  font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: var(--font-size-xl);
  font-weight: 800;
  padding: var(--size-30);
  text-align: center;
}
.accordion_trigger_child{
  padding-right:var(--size-60);
}
.accordion_panel_child .accordion_content,
.receipt_content{
  padding: 0 var(--size-30) var(--size-40);
}
@media screen and (max-width: 750px) {
  .receipt_item{
    border-radius: var(--size-15);
  }
  .accordion_trigger_child,
  .accordion_title{
    padding: var(--size-20);
  }
  .accordion_trigger_child{
    padding-right:var(--size-40);
  }
  .accordion_panel_child .accordion_content,
  .receipt_content{
    padding: 0 var(--size-15) var(--size-30);
  }
}

.txt_receipt{
  color: #323232;
  font-size: var(--font-size-md);
  font-weight: bold;
  margin-bottom: 1em;
}
.txt_receipt.txt_large{
  font-size: var(--font-size-lg);
}
.ttl_receipt_sub{
  font-size: var(--font-size-lg);
  font-weight: bold;
  margin-bottom: 0.25em;
}
.txt_receipt_sub{
  color: #323232;
  font-size: min(3.733vw, 28px);
  font-weight: bold;
  text-align: center;
}
.accordion_panel_child li{
  color: #323232;
  font-weight: 500;
}
.line{
  background-color: #323232;
  display: block;
  margin: 0 auto var(--size-30);
  height: 1px;
  width: 74%;
}
.ng_box, .ok_box{
  text-align: center;
}
.label_receipt{
  background-color: #f05a23;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-size: var(--font-size-lg);
  font-weight: bold;
  margin-bottom: 0.25em;
  padding: 0 1em;
  line-height: 1.4;
  text-align: center;
}
.ok_box .label_receipt{
  background-color: #29a9e0;
}
.receipt_item_04 .accordion_content .txt_receipt,
.receipt_item_05 .accordion_content > p{
  width: 85%;
  margin: 0 auto 1em;
}
.receipt_item_03 .txt_receipt.txt_center{
  margin-bottom: 2em;
}
@media screen and (max-width: 750px) {
  .txt_receipt.txt_large{
    font-size: var(--font-size-md);
  }
  .receipt_item_03 .txt_small{
    font-size: 76%;
  }
  .receipt_item_04 .accordion_content .txt_receipt,
  .receipt_item_05 .accordion_content > p{
    width: 100%;
  }
}

/* .img_receipt */
.img_receipt{
  display: block;
  margin: 0 auto var(--size-30);
}
.img_receipt:last-child{
  margin-bottom: 0;
}

.img_receipt_01_a{
  width: min(36.8vw, 276px);
}
.img_receipt_01_b{
  width: min(70.667vw, 530px);
}
.img_receipt_02{
  width: min(60.933vw, 457px);
}
.img_receipt_03_a{
  width: min(51.333vw, 385px);
  position: relative;
  left: min(2.667vw, 20px)
}
.img_receipt_03_b{
  width: min(52.133vw, 391px);
  position: relative;
  left: min(2.667vw, 20px)
}
.img_receipt_04_a{
  width: min(36.533vw, 274px);
}
.img_receipt_04_b{
  width: min(48.8vw, 366px);
}
.img_receipt_05_a{
  width: min(48.8vw, 366px);
}
.img_receipt_05_b{
  width: min(57.867vw, 434px);
  margin: var(--size-60) auto;
}
.img_receipt_06_a{
  width: min(48.8vw, 366px);
}
.img_receipt_06_b{
  width: min(70.667vw, 530px);
  margin-bottom: var(--size-40);
}
@media screen and (max-width: 750px) {
  .img_receipt_05_b{
    margin: var(--size-30) auto;
  }
  .img_receipt_06_b{
    margin-bottom: var(--size-30);
  }
}






/* ------ #application-terms_box 応募要項 -------*/
#application-terms_box .ttl_sub{
  font-size: var(--font-size-lg);
}
#application-terms_box .case{
  background-image: url(../img/line_dots.svg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding-top: var(--size-50);
  margin-top: var(--size-50);
}
#application-terms_box .case:nth-of-type(1){
  background: none;
  margin-top: var(--size-40);
  padding-top: 0;
}
@media screen and (max-width: 750px) {
  #application-terms_box .ttl_sub{
    font-size: var(--font-size-xl);
  }
  #application-terms_box .case {
    background-size: 120% auto;
    margin-top: var(--size-30);
    padding-top: var(--size-30);
  }
  #application-terms_box .case:nth-of-type(1){
    margin-top: var(--size-20);
  }
}
#application-terms_box p{
  margin-bottom: 0.25em;
}
#application-terms_box .list_note_box {
  margin-bottom: 0.5em;
}
#application-terms_box .list_note_box:last-child{
  margin-bottom: 0;
}
#application-terms_box .list_note_box li{
  font-size: var(--font-size-xs);
}
#application-terms_box .space{
  display: inline-block;
  width: 2.5em;
}
@media screen and (max-width: 750px) {
  #application-terms_box .space{
    display: none;
  }
}


/* ------ #faq_box よくある質問 -------*/
#faq_box .ttl_sub{
  letter-spacing: 0;
}
#faq_box .case{
  background-image: url(../img/line_dots.svg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding-top: var(--size-50);
  margin-top: var(--size-50);
}
#faq_box .case:nth-child(1){
  background: none;
  margin-top: 0;
  padding-top: 0;
}
#faq_box .question, #faq_box .answer{
  padding-left: var(--size-40);
}
#faq_box .question {
  color: var(--color-primary);
  font-size: var(--font-size-sm);
  font-weight: bold;
  position: relative;
}
#faq_box .answer {
  margin-top: var(--size-15);
  position: relative;
}
#faq_box .question::before{
  content: '';
  background-image: url(../img/icon_q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 31px;
  width: 26px;
  position: absolute;
  top: 7px;
  left: 0;
}
@media screen and (max-width: 750px) {
  #faq_box .case {
    background-size: 120% auto;
    margin-top: var(--size-30);
    padding-top: var(--size-30);
    padding-left: 0;
  }
  #faq_box .question, #faq_box .answer {
    padding-left: var(--size-25);
  }
  #faq_box .question::before{
    height: 22px;
    width: 16px;
    top:  min(0.8vw, 3px);
  }
  #faq_box .answer{
    font-size: 94%;
  }
  #faq_box .answer::before{
    top: min(1.6vw, 6px);
    left: min(3.733vw, 14px);
  }
}


/* ------ #banner_box バナーエリア -------*/
#banner_box{
  margin-bottom: var(--size-100);
}
#banner_box .btn{
  width: min(86.667vw, 650px);
}


/* ------ #contact_box コンタクト -------*/
#contact_box{
  width: 100%;
}
#contact_box .container{
  padding-left: var(--size-70);
  padding-right: var(--size-70);
}
@media screen and (max-width: 750px) {
  #contact_box .container{
    padding-left: var(--size-20);
    padding-right: var(--size-20);
  }
}
.ttl_contact{
  background-color: var(--color-secondary);
  color: var(--color-primary);
  font-size: var(--font-size-sm);
  font-weight: bold;
  padding: 0.25em;
  margin-bottom: 1em;
  text-align: center;
}
.ttl_contact_sub{
  font-weight: bold;
  margin-bottom: 0.5em;;
  text-align: center;
}

/* .txt_mail */
a.txt_mail{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;

  color: #424242;
  font-size: var(--font-size-md);
  font-weight: bold;
  margin-bottom: 1em;
  text-decoration: none;

  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a.txt_mail::before{
  content:'';
  display: inline-block;
  background-image: url(../img/icon_mail.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-right: var(--size-15);
  height: 31px;
  width: 39px;
}
@media screen and (min-width: 751px) {
  #contact_box a.txt_mail:hover{
    text-decoration: none;
    opacity: 0.7;
  }
}
@media screen and (max-width: 750px) {
  #contact_box a.txt_mail{
    font-size: var(--font-size-lg);
  }
  #contact_box a.txt_mail::before{
    margin-right: var(--size-10);
    height: var(--size-20);
    width: var(--size-25);
  }
}

/* .txt_contact */
.txt_contact{
  font-size: 82%;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .txt_contact{
    font-size: var(--font-size-xs);
  }
}

/* .list_note_box */
#contact_box .list_note_box li{
  font-size: var(--font-size-xs);
}


/* ------ coming soon -------*/
.comingsoon#pageWrapper::before{
  content: '';
  display: block;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.txt_comingsoon{
  display: none;
  font-size: 8rem;
  font-weight: bold;
  position: absolute;
  top: 338px;
  text-align: center;
  width: 100%;
  z-index: 2;
}
.comingsoon .txt_comingsoon{
  display: block;
}
@media screen and (max-width: 750px) {
  .txt_comingsoon{
    font-size: 5rem;
    top: 200px;
  }
}