@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 1165px / sp 375px） -------*/
:root {
  /* color */
  --color-primary: #e95513;
  --color-font-brown: #42210b;
  --color-font-gray: #4c4948;

  /* size */
  --size-10: min(0.858vw, 10px);
  --size-15: min(1.288vw, 15px);
  --size-20: min(1.717vw, 20px);
  --size-25: min(2.146vw, 25px);
  --size-30: min(2.575vw, 30px);
  --size-40: min(3.433vw, 40px);
  --size-50: min(4.292vw, 50px);
  --size-60: min(5.15vw, 60px);
  --size-70: min(6.009vw, 70px);
  --size-80: min(6.867vw, 80px);
  --size-90: min(7.725vw, 90px);
  --size-100: min(8.584vw, 100px);

  /* font */
  --font-txt-sm:   min(1.373vw, 1.6rem);
  --font-txt-base: min(1.459vw, 1.7rem);
  --font-txt-md:   min(1.717vw, 2rem);
  --font-txt-lg:   min(1.888vw, 2.2rem);
  --font-txt-xl:   min(2.06vw, 2.4rem);
  --font-txt-2xl:  min(2.232vw, 2.6rem);
  --font-txt-3xl:  min(2.403vw, 2.8rem);
  --font-txt-4xl:  min(2.747vw, 3.2rem);
}
@media (max-width: 767px) {
  :root {
    /* size */
    --size-10: min(2.667vw, 12px);
    --size-15: min(4vw, 18px);
    --size-20: min(5.333vw, 24px);
    --size-25: min(6.667vw, 30px);
    --size-30: min(8vw, 35px);
    --size-40: min(10.667vw, 46px);
    --size-50: min(13.333vw, 58px);
    --size-60: min(16vw, 70px);
    --size-70: min(18.667vw, 82px);
    --size-80: min(21.333vw, 92px);
    --size-90: min(24vw, 110px);
    --size-100: min(26.667vw, 120px);

    /* font */
    --font-txt-sm:   min(2.667vw, 1.3rem); /* 1rem */
    --font-txt-base: min(2.933vw, 1.4rem); /* 1.1rem */
    --font-txt-md:   min(3.2vw, 1.5rem); /* 1.2rem */
    --font-txt-lg:   min(3.467vw, 1.6rem); /* 1.3rem */
    --font-txt-xl:   min(3.733vw, 1.8rem); /* 1.4rem */
    --font-txt-2xl:  min(4vw, 1.9rem); /* 1.5rem */
    --font-txt-3xl:  min(4.267vw, 2rem); /* 1.6rem */
    --font-txt-4xl:  min(4.8vw, 2.2rem); /* 1.8rem */
  }
}


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


/* ------ box -------*/
body {
  background-color: #fff;
  overflow-y: scroll;
}
#pageWrapper{
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
section {
  position: relative;
  width: 100%;
}
.container {
  max-width: 1165px; /* 1135px + 30px*/
  margin: 0 auto;
  position: relative;
  padding: 0 var(--size-15);
  width: 100%;
}
@media screen and (max-width: 767px){
  body{
    min-width: 100%;
  }
  .container {
    padding: 0;
    width: 88%;
  }
}


/* ------ text -------*/
html {
  font-size: 62.5%;
}
body {
  color: #000;
  font-family: "Montserrat","Zen Kaku Gothic Antique","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.7rem;
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.7;
}
main p{
  margin-bottom: 1em;
}
main p:last-child{
  margin-bottom: 0;
}
@media screen and (max-width: 767px){
  body {
    font-size: var(--font-txt-base);
  }
}


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


/* ------ margin -------*/
.mb_0{
  margin-bottom: 0;
}
.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);
}
@media screen and (max-width: 767px) {
  .mb_30{
    margin-bottom: var(--size-20);
  }
  .mb_40{
    margin-bottom: var(--size-25);
  }
  .mb_50{
    margin-bottom: var(--size-30);
  }
  .mb_60{
    margin-bottom: var(--size-35);
  }
  .mb_80{
    margin-bottom: var(--size-40);
  }
}


/* ------ 配置 -------*/
.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;
  }
}


/* =======================================
    03. Components（button / card / badge）
======================================= */
/* ------ title -------*/
.ttl_main{
  position: relative;
  text-align: center;
  z-index: 10;
}
.ttl_main img{
  height: min(6.608vw, 75px);
}
.ttl_sub{
  margin-bottom: var(--size-40);
}
.ttl_main img, .ttl_sub img{
  margin: 0 auto;
}
.ttl_item{
  font-size: 1.7rem; /* 固定 */
  font-weight: 500;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px){
  .ttl_main img{
    height: 8.533vw; /* 32px */
    width: auto;
  }
  .ttl_sub{
    margin-bottom: var(--size-15);
  }
  .ttl_item{
    font-size: var(--font-txt-md);
    font-weight: bold;
  }
}

/* .txt_products_link */
.txt_products_link{
  font-size: var(--font-txt-3xl);
  font-weight: bold;
  letter-spacing: 0.075em;
  text-align: center;
}
.txt_products_link a{
  color: var(--color-primary);
}

/* .txt_emsp */
.txt_emsp.pc{
  display: inline-block;
}
@media screen and (max-width: 767px){
  .txt_emsp.pc{
    display: none;
  }
}

/* .marker */
.marker_yellow{
  padding: 0 0.15em;
  background: linear-gradient(transparent 70%,#ffff00 70%);
}

/* .font-weight */
.regular{
  font-weight: 500;
}


/* ------ btn -------*/
/* a */
a{
  color: #000;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a:hover{
    text-decoration: underline;
  }
}

/* btn */
.btn{
  display: inline-block;
}
.btn_text{
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .btn:hover{
    text-decoration: none;
    transform:scale(0.95);
    transition: 0.3s all;
    opacity: 1;
  }
  .btn_text:hover{
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .btn{
    display: block;
  }
}
/* .btn_application */
.btn_application img{
  width: min(51.661vw, 700px); /* 1355px */
}
@media screen and (max-width: 767px) {
  .btn_application img{
    width: min(72vw, 350px);
  }
}

/* .link_box */
.link_box {
  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;
}
@media screen and (max-width: 767px) {
  .link_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}


/* ------ background -------*/
/* .bg_shine */
.bg_shine{
  background-image: url(../img/bg_shine_min.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
.bg_shine .section-pad{
  padding-top: 0;
  padding-bottom: var(--size-100);
}
@media screen and (max-width: 767px) {
  .bg_shine .section-pad{
    padding-bottom: var(--size-50);
  }
}

/* .bd_box */
.bd_box{
  background:
    url(../img/bg_bd_top_pc.png) no-repeat center top / 100% auto,
    url(../img/bg_bd_bottom_pc.png) no-repeat center bottom / 100% auto;
  padding-top: 6.6%;
  padding-bottom: 6.6%;
  position: relative;
}
.bd_box .inner{
  background: url(../img/bg_bd_pc.png) repeat-y center top / 100% auto;
  padding: 0 var(--size-70);
  padding-bottom: 0;
}
.bd_box .ttl_main{
  position: absolute;
  top: -36px;
  left: calc(50% - 266px);
  line-height: 0;
}
@media screen and (max-width: 767px){
  .bd_box{
    background:
    url(../img/bg_bd_top_sp.png) no-repeat center top / 100% auto,
    url(../img/bg_bd_bottom_sp.png) no-repeat center bottom / 100% auto;
  padding-top: 9.333%;
  padding-bottom: 9.333%;
  }
  .bd_box .inner{
    background: url(../img/bg_bd_sp.png) repeat-y center top / 100% auto;
    padding: 2vw var(--size-20) 0;
  }
  .bd_box .ttl_main{
    top: calc(var(--size-15) * -1);
    left: calc(50% - 30.133vw);
  }
}


/* ------ list -------*/
/* .list_box */
.list_box{
  position: relative;
  margin: 0;
}
.list_box li::before{
  content: '・';
}
@media screen and (max-width: 767px){
  .list_box li{
    padding-left: 1em;
    position: relative;
  }
  .list_box li::before{
    position: absolute;
    left: 0;
  }
}

/* .list_circle_box */
.list_circle_box{
  position: relative;
  margin: 0;
}
.list_circle_box li::before{
  content: '○';
}
@media screen and (max-width: 767px){
  .list_circle_box li{
    position: relative;
    padding-left: 1em;
  }
  .list_circle_box li::before{
    position: absolute;
    left: 0;
  }
}

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


/* =======================================
    04. Layout（header / footer / grid）
======================================= */
/* ------ footer -------*/
footer{
  background-color: #f2f2f2;
  padding: var(--size-30);
  text-align: center;
}
.ttl_campaign{
  font-size: var(--font-txt-4xl);
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
  text-align: center;
}
.ttl_campaign span{
  border-bottom: 1px solid;
  display: inline-block;
  padding: 0 var(--size-30) 5px;
}
.txt_campaign_01{
  color: var(--color-font-gray);
  font-size: var(--font-txt-lg);
}
.txt_campaign_02{
  font-size: var(--font-txt-4xl);
  font-weight: bold;
  margin-bottom: 0.5em;
}
.txt_campaign_03{
  color: var(--color-font-gray);
  text-align: left;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 630px;
}
@media screen and (max-width: 767px){
  footer{
    padding: var(--size-30) var(--size-15);
  }
  .ttl_campaign{
    letter-spacing: 0.05em;
  }
  .ttl_campaign span{
    padding: 0 var(--size-10) min(1.333vw, 5px);
  }
}

/* ------ flex-box -------*/
.col2,.col3{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
@media screen and (max-width: 767px) {
  .col2,.col3{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}


/* =======================================
    05. Pages（#pageTop）
======================================= */
/* ------ #mainvisual_box -------*/
#mainvisual_box img{
  margin: 0 auto;
  width: 100%;
}


/* ------ #about_box -------*/
#about_box .container{
  max-width: 1355px; /* 1355px */
}
.ttl_about{
  color: var(--color-font-brown);
  font-size: min(2.362vw, 3.2rem); /* 1355px */
  font-weight: 700;
  margin-bottom: 0.5em;
  letter-spacing: -0.02em;
  line-height: 1.5;
  text-align: center;
}
.ttl_about strong{
  font-weight: 800;
}
.txt_about{
  color: var(--color-font-brown);
  font-size: min(1.771vw, 2.4rem); /* 1355px */
  font-weight: 700;
  margin-bottom: 1.5em;
  text-align: center;
}
#about_box .txt_products_link{
  font-size: min(2.066vw, 2.8rem); /* 1355px */
}
#about_box .txt_products_link span{
  display: inline-block;
  border-top: 1px solid #00297a;
  padding: var(--size-10) var(--size-100) 0;
}
.icon_about{
  position: absolute;
  top: min(11.808vw, 160px); /* 1355px */
  right: min(4.428vw, 60px); /* 1355px */
  height: auto;
  width: min(11.808vw, 160px); /* 1355px */
  z-index: 1;
}
.img_about{
  margin-bottom: 2em;
}
.img_about img{
  width: 100%;
}
@media screen and (min-width: 768px){
  #about_box{
    padding: var(--size-50) 0;
  }
}
@media screen and (max-width: 767px){
  #about_box{
    padding: var(--size-30) 0;
  }
  .ttl_about{
    font-size: var(--font-txt-3xl);
    margin-bottom: 1em;
  }
  .txt_about{
    font-size: var(--font-txt-lg);
  }
  #about_box .txt_products_link{
    font-size: var(--font-txt-3xl);
  }
  #about_box .txt_products_link span{
    padding: var(--size-10) var(--size-10) 0;
  }
  .icon_about {
    top: -2.667vw;
    right: -2.667vw;
    width: 14.667vw;
  }
  .img_about{
    margin: 0 auto var(--size-20);
    width: 96%;
  }
  #about_box .fadeInUp{
    opacity: 1 !important;
  }
  #about_box .animated{
    animation: none;
  }
}


/* ------ #prize_box -------*/
#prize_box{
  background-image: url(../img/bg_prize_min.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
#prize_box .container{
  max-width: 1190px; /* 1160px */
}
#prize_box .ttl_main{
  margin-bottom: 2em;
}
@media screen and (max-width: 767px){
  #prize_box{
    padding-bottom: var(--size-20);
  }
  #prize_box .container{
    width: 100%;
  }
  #prize_box .ttl_main{
    margin-bottom: 1em;
  }
}

/* .prize_list_box */
.prize_list_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--size-10) 0;
}
.prize_list_box img{
  height: auto;
  width: 100%;
}
.img_prize_a, .img_prize_b{
  width: 49%;
}
.img_prize_c{
  width: 100%;
}
@media screen and (max-width: 767px){
  #prize_box .container{
    width: 100%;
  }
  .prize_list_box{
    gap: 0;
  }

}


/* ------ #application-methods_box -------*/
#application-methods_box{
  padding-top: var(--size-100);
}
#application-methods_box .inner{
  padding-top: var(--size-10);
}
@media screen and (max-width: 767px){
  #application-methods_box{
    padding-top: var(--size-50);
  }
}

/* .list_application-methods */
.list_application-methods li{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1em;

  background-image: url(../img/line_dots.svg);
  background-size: auto 5px;
  background-position: bottom center;
  background-repeat: no-repeat;

  padding: 0 var(--size-15);
  padding-bottom: calc(var(--size-30) + 2.5px);
  margin-bottom: var(--size-30);
}
.list_application-methods li:last-child{
  background: none;
  padding-bottom: 0;
}
.img_application-methods{
  width: min(21.888vw, 255px);
}
.txt_application-methods{
  color: var(--color-font-brown);
  font-size: var(--font-txt-2xl);
  font-weight: 900;
  line-height: 1.4;
}
@media screen and (max-width: 767px){
  .list_application-methods li{
    grid-template-columns: 1fr;
    gap: var(--size-15);

    background-size: auto 3px;
    padding: 0 var(--size-10);
    padding-bottom: calc(var(--size-20) + 1.5px);
    margin-bottom: var(--size-20);
  }
  .img_application-methods{
    width: min(70%, 255px);
    margin: 0 auto;
  }
}

/* .txt_notes */
#application-methods_box .txt_notes{
  font-size: var(--font-txt-sm);
  margin-bottom: var(--size-60);
  padding-left: 3em;
}
@media screen and (max-width: 767px){
  #application-methods_box .txt_notes{
    margin-bottom: var(--size-50);
    padding-left: 0;
  }
}

/* .date_box */
#application-methods_box .date_box{
  border: 3px solid var(--color-primary);
  border-radius: var(--size-20);  
  margin: 0 auto var(--size-30);
  padding: var(--size-30) var(--size-40) var(--size-20);
  position: relative;
  width: min( 64.807vw, 755px);
}
#application-methods_box .ttl_date{
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--font-txt-3xl);
  font-weight: 900;
  padding: 2px;
  text-align: center;
  width: min(39.313vw, 458px);
}
#application-methods_box .ttl_date{
  position: absolute;
  top: calc(var(--size-30) * -1);
  left: calc(50% - min(19.657vw, 229px));
}
#application-methods_box .txt_date{
  color: var(--color-primary);
  font-size:  min(3.004vw, 35px);
  font-weight: bold;
  margin-bottom: 0;
  text-align: center;
}
#application-methods_box .txt_date span{
  font-size: 140%;
}
@media screen and (max-width: 767px){
  #application-methods_box .date_box{
    border: 2px solid var(--color-primary);
    border-radius: var(--size-10);  
    margin: 0 auto var(--size-20);
    padding: var(--size-30) var(--size-15) var(--size-10);
    width: 100%;
  }
  #application-methods_box .ttl_date{
    top: min(-1.545vw, -18px);
  }
  #application-methods_box .txt_date{
    font-size: var(--font-txt-4xl);
    line-height: 1.2;
    margin-bottom: 0.5em;
  }
}


/* .deadline_box */
.deadline_box{
  border: 2px solid var(--color-primary);
  border-radius: 5px;  
  display: grid;
  grid-template-columns: auto 1fr;
}
.deadline_box .ttl_deadline{
  border-right: 2px solid var(--color-primary);
  color: var(--color-primary);
  font-size: var(--font-txt-lg);
  font-weight: bold;
  display: flex;
  margin: 0;
  padding: var(--size-10) var(--size-20);
  align-items: center;
  text-align: center;
}
.deadline_box .list_deadline{
  padding: var(--size-10) var(--size-20);
}
.deadline_box .ttl_deadline_sub{
  background-color: var(--color-primary);
  border-radius: 50px;
  color: #fff;
  display: inline-block;
  margin-right: 0.5em;
  width: min(10.3vw, 120px);
  text-align: center;
}
.deadline_box .txt_deadline{
  color: var(--color-primary);
  font-size: var(--font-txt-2xl);
  font-weight: bold;
}
@media screen and (max-width: 767px){
  .deadline_box{
    grid-template-columns: 1fr;
  }
  .deadline_box .ttl_deadline{
    border-right: none;
    border-bottom: 2px solid var(--color-primary);
    justify-content: center;
    padding: 5px var(--size-15);
  }
  .deadline_box .list_deadline{
    padding: var(--size-15);
  }
  .deadline_box .list_deadline li{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5em;
  }
  .deadline_box .list_deadline li:last-child{
    margin-bottom: 0;
  }
  .deadline_box .ttl_deadline_sub{
    display: inline-block;
    margin-bottom: 0.5em;
    width: min(26.667vw, 120px); /* 100px */
  }
}

#application-methods_box .txt_bottom{
  color: var(--color-font-gray);
  font-size: var(--font-txt-sm);
  letter-spacing: -0.02em;
}


/* ------ #products_box -------*/
#products_box .bd_box{
  padding-bottom: 3.3%;
}
#products_box .bd_box .inner{
  position: relative;
}
#products_box .txt_products_link{
  line-height: 1.5;
}
@media screen and (max-width: 767px){
  #products_box .bd_box{
    padding-bottom: 6.6%;
  }
}

/* .list_products */
.list_products{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 5px;
  margin: 0 auto var(--size-30);
  width: min(78.97vw, 920px);
}
.list_products li{
  text-align: center;
}
.list_products li img{
  width: min(12.446vw, 145px);
  height: auto;
}
@media screen and (max-width: 767px){
  .list_products{
    gap: var(--size-20) 6%;
    width: 100%;
  }
  .list_products li img{
    width: min(21.333vw, 80px);
    height: auto;
  }
}
@media screen and (max-width: 430px){
  .list_products li.products_07,
  .list_products li.products_08,
  .list_products li.products_09,
  .list_products li.products_10{
    width: 30%;
  }
}

/* .txt_etc */
#products_box p.txt_etc{
  font-size: var(--font-txt-3xl);
  font-weight: bold;
  position: absolute;
  right: min(16.309vw, 190px);
  bottom: min(6.009vw, 70px);
  margin: 0;
}
@media screen and (max-width: 767px){
  #products_box p.txt_etc{
    right: 5.333vw; /* 20px */
    bottom: 13.333vw; /* 50px */
  }
}


/* ------ #stores_box -------*/
#stores_box .bd_box{
  padding-bottom: 3.3%;
}
#stores_box .inner{
  padding: 0;
}
#stores_box p{
  text-align: center;
}
#stores_box p.txt_stores{
  color: var(--color-font-brown);
  font-size: min(4.721vw, 5.5rem);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
#stores_box p.txt_small{
  font-size: var(--font-txt-base);
}
@media screen and (max-width: 767px){
  #stores_box .bd_box{
    padding-bottom: 6.6%;
  }
  #stores_box p{
    line-height: 1.5;
  }
  #stores_box p.txt_stores{
    font-size: var(--font-txt-4xl);
    line-height: 1.4;
    margin-bottom: 1em;
  }
}


/* ------ #application-requirements_box -------*/
#application-requirements_box{
  padding-bottom: var(--size-60);
}
#application-requirements_box dt{
  margin-top: var(--size-40);
}
@media screen and (max-width: 767px){
  #application-requirements_box p,
  #application-requirements_box dl,
  #application-requirements_box ul{
    line-height: 1.5;
  }
  #application-requirements_box dt{
    font-weight: bold;
    margin-top: var(--size-20);
  }
  #application-requirements_box .ttl_sub img{
    width: 50vw;
  }
}

/* .list_prize */
.list_prize span{
  display: inline-block;
  padding-left: 1em;
}
@media screen and (max-width: 767px){
  .list_prize li{
    margin-bottom: 0.5em;
  }
  .list_prize span{
    display: block;
    padding-left: 1em;
  }
}

/* faq */
.ttl_faq{
  margin: 0 auto 4vw;
  text-align: center;
}
.txt_question{
  font-size: var(--font-txt-lg);
  font-weight: bold;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0.5em;
}
.txt_question::before{
  content: '';
  display: inline-block;
  background-image: url(../img/icon_question.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  margin-right: 10px;
  width: 33px;
  height: 29px;
}
.txt_answer{
  padding-left: 30px;
}
.txt_answer::before{
  content: '';
  display: inline-block;
  background-image: url(../img/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  margin-right: 15px;
  margin-left: 5px;
  width: 10px;
  height: 15px;
}
@media screen and (max-width: 767px){
  .ttl_faq{
    width: 40vw;
  }
  .txt_question{
    font-size: var(--font-txt-md);
    margin-bottom: 0.5em;
  }
  .txt_question::before{
    margin-right:min(1.333vw, 5px);
    width: min(4.267vw, 16px);
    height: min(4.8vw, 18px);
  }
  .txt_answer{
    padding-left: var(--size-15);
    line-height: 1.5;
  }
  .txt_answer::before{
    margin-right: min(1.333vw, 5px);
    margin-left: 0;
    width: min(1.867vw, 7px);
    height: var(--size-10);
  }
}


/* ------ #receipt-registration_box -------*/
#receipt-registration_box{
  background-color: #fbe9dc;
}
#receipt-registration_box .ttl_main{
  margin-bottom: 2em;
}
@media screen and (max-width: 767px){
  #receipt-registration_box .ttl_main{
    margin-bottom: 1.5em;
  }
}

/* .receipt_box */
.receipt_box{
  background-color: #fff;
  border: 3px solid #000;
  border-radius:var(--size-20);
  margin: 0 auto;
  padding: var(--size-30);
  text-align: center;
  width: min(50.3vw, 586px);
}
@media screen and (max-width: 767px){
  .receipt_box{
    border: 2px solid #000;
    border-radius:var(--size-10);
    padding: var(--size-15);
    width: 88%;
  }
}