@charset "UTF-8";
.Footer__wrapper{
 margin:0 !important;
}
.Footer__wrapper{
  background: #fff;
}
.Footer__content{
  background: #fff;
}
.Footer__layoutB .Footer__content{
  padding-bottom: 0;
}
/* CSS Document */
a:hover{
 opacity: 0.8;
}
/* ---- 共通 -----*/
.bold{
  font-weight: bold;
}
.txt-yellow{
  color: #FFE200;
}
.txt-green{
  color: #07A32B;
}
.txt-orange{
  color: #FF6600 !important;
}
.txt-center{
  text-align: center;
}
.txt-right{
  text-align: right;
}
.narrow-height{line-height:1.2;}
.speech-bubble{
  position: relative;
  display: inline-block;
}
.marker {
  background: linear-gradient(transparent 60%, #ff0 60%);
}
.flex_box{
  display: flex;
}
.flex_box.wrap{
  flex-wrap: wrap;
}
.flex_box.middle{
  align-items: center;
}
.flex_box.center{
  justify-content: center;
}
.speech-bubble::before,
.speech-bubble::after{
  content:"";
  display: block;
  position: absolute;
  width: 0;
  height: 1.5em;
  border-left: 2px solid #333;
  left: -1.2em;
  top:0;
  transform: rotate(-35deg);
}
.speech-bubble::after{
  left: inherit;
  right: -.9em;
  transform: rotate(35deg);
}
.speech-bubble.green::before,
.speech-bubble.green::after{
  border-color: #07A32B;
}
.Header__inner{
  max-width: 100rem;
  margin: 0 auto;
}
.Header__content{
  grid-template-columns:154px 1fr;
}
.Header__layout{
  background-color: #fff;
  padding: 0 25px;
}
.Header__logo{
  width: 142px;
  padding: 6px 0;
}
.Header__content p{
  font-size: 1.2rem;
}
.inner{
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
  padding: 0 2rem;
}
.contents_wrap{
  font-size: 1.8rem;
  padding: 6rem 0;
}
.contents_wrap.yellow{
  background-color: #FFF6D5;
}
.contents_wrap.orange{
  background-color: #F99427;
}
hr.dot-border{
  border:none;
  height: 10px;
  background-image : linear-gradient(to right, #07A32B 4px, transparent 4px);
  background-size: 16px 4px;
  background-repeat: repeat-x; 
  background-position: left bottom;
  margin: 3em 0;
}
.hide{
  display: none;
}
.hide-pc{
  display: none;
}
.hide-tab{
  display: none;
}
.hide-sp{
  display: block;
}
.pc-only{
  display: block;
}
.sp-only{
  display: none;
}
.open_window{
  display:inline-block;
  width:1em;
  margin:0 .2em;
}
/* utility */
.fsize10{ font-size:1.0rem !important; }
.fsize11{ font-size:1.1rem !important; }
.fsize12{ font-size:1.2rem !important; }
.fsize13{ font-size:1.3rem !important; }
.fsize14{ font-size:1.4rem !important; }
.fsize15{ font-size:1.5rem !important; }
.fsize16{ font-size:1.6rem !important; }
.fsize17{ font-size:1.7rem !important; }
.fsize18{ font-size:1.8rem !important; }
.fsize19{ font-size:1.9rem !important; }
.fsize20{ font-size:2.0rem !important; }
.fsize21{ font-size:2.1rem !important; }
.fsize22{ font-size:2.2rem !important; }
.fsize23{ font-size:2.3rem !important; }
.fsize24{ font-size:2.4rem !important; }
.fsize26{ font-size:2.6rem !important; }
.fsize28{ font-size:2.8rem !important; }
.fsize32{ font-size:3.2rem !important; }
.fsize36{ font-size:3.6rem !important; }
.fsize40{ font-size:4.0rem !important; }
.fsize44{ font-size:4.4rem !important; }
.fsize48{ font-size:4.8rem !important; }

.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 1rem !important; }
.mb20 { margin-bottom: 2rem !important; }
.mb30 { margin-bottom: 3rem !important; }
.mb40 { margin-bottom: 4rem !important; }
.mb50 { margin-bottom: 5rem !important; }
.mb60 { margin-bottom: 6rem !important; }
.mb70 { margin-bottom: 7rem !important; }
.mb80 { margin-bottom: 8rem !important; }
.mb1em { margin-bottom: 1.2em !important; }

.mt0 { margin-top: 0 !important; }
.mt10 { margin-top: 1rem !important; }
.mt20 { margin-top: 2rem !important; }
.mt30 { margin-top: 3rem !important; }
.mt40 { margin-top: 4rem !important; }
.mt50 { margin-top: 5rem !important; }
.mt60 { margin-top: 6rem !important; }
.mt70 { margin-top: 7rem !important; }
.mt80 { margin-top: 8rem !important; }
.mt1em { margin-top: 1.2em !important; }

.pb0 { padding-bottom: 0 !important; }
.pb10 { padding-bottom: 1rem !important; }
.pb20 { padding-bottom: 2rem !important; }
.pb30 { padding-bottom: 3rem !important; }
.pb40 { padding-bottom: 4rem !important; }
.pb50 { padding-bottom: 5rem !important; }
.pb60 { padding-bottom: 6rem !important; }
.pb70 { padding-bottom: 7rem !important; }
.pb80 { padding-bottom: 8rem !important; }
.pb1em { padding-bottom: 1.2em !important; }

.pt0 { padding-top: 0 !important; }
.pt10 { padding-top: 1rem !important; }
.pt20 { padding-top: 2rem !important; }
.pt30 { padding-top: 3rem !important; }
.pt40 { padding-top: 4rem !important; }
.pt50 { padding-top: 5rem !important; }
.pt60 { padding-top: 6rem !important; }
.pt70 { padding-top: 7rem !important; }
.pt80 { padding-top: 8rem !important; }
.pt1em { padding-top: 1.2em !important; }

/* ---- テーブル -----*/
.table_green{
  width: 100%;
}
.table_green th,.table_green td{
  padding: 1em;
  position: relative;
}
.table_green tr:nth-child(even) td{
  background: #D5EDDB;
}
.table_green tr:nth-child(odd) td{
  background: #E5F3E8;
}
.table_green th{
  color: #fff;
  background: #009944;
}
.table_green th + th::before,
.table_green td + td::before{
  content: "";
  height: 70%;
  position: absolute;
  border-left: 1px solid #fff;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.w30{ width:30%; }
.w50{ width:50%; }
.w100{ width: 100%; }
.max_w340{ max-width: 34rem; }
.max_w400{ max-width: 40rem; }
.max_w480{ max-width: 48rem; }
.max_w540{ max-width: 54rem; }
.max_w680{ max-width: 68rem; }
.max_w900{ max-width: 90rem; }
.margin_auto{ margin-left: auto; margin-right: auto; }
.margin_r_auto{ margin-right: auto; }
.margin_l_auto{ margin-right: auto; }

/* ---- 見出し -----*/
.headding_a{
  color:#07A32B;
  font-size: 3.6rem;
  text-align: center;
  margin-bottom: 1.2em;
  position: relative;
  line-height: 1;
}
.headding_a span{
  display: inline-block;
  margin-bottom: 1em;
  line-height: 1;
}
.headding_b{
  background: #009944;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 3.6rem;
  padding: 1.5em 0;
}
.headding_c{
  color: #07A32B;
  text-align: center;
  font-weight: bold;
  font-size: 3.2rem;
  margin: 0 0 1em;
  position: relative;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
.headding_c::before,
.headding_c::after{
  content: "";
  display:block;
  position: absolute;
  width:1.4em;
  height:1.4em;
  background: url(../image/tmp_icon_mile.png) 0 0 no-repeat;
  background-size: contain;
  left:0;
  top:0;
  bottom:0;
  margin: auto;
}
.headding_c::after{
  left: inherit;
  right:0;
}
.headding_d{
  color: #333;
  display: inline;
}
.headding_d span{
  color: #FF6600;
}

/* ---- note -----*/
.note_list{
  font-size: 1.4rem;
  list-style: none;
  line-height: 1.3;
}
.note_list li{
  margin-bottom: .5em;
}
.note_list.indent1 li{
  text-indent: -1em;
  padding-left: 1em;
}
.note_list.indent2 li{
  text-indent: -1.8em;
  padding-left: 1.8em;
}

/* ---- タブ -----*/
.tab_contents{
  overflow: hidden;
  background: #fff;
}
.tabs{
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.tabs .tab{
  display: block;
  width: 49%;
  background: #E5F3E8;
  color: #009944;
  font-weight: bold;
  padding: 1em 0;
  position: relative;
  border-bottom: 1px solid #009944;
  position: relative;
}
.point .tabs .tab::after{
  content: "";
  position:absolute;
  left:0;
  right: 0;
  bottom: .5em;
  margin: auto;
  width: .6em;
  height: .6em;
  border-right: 2px solid #009944;
  border-bottom: 2px solid #009944;
  transform:rotate(45deg);
}
.tabs .tab+.tab{
  border-left: 1px solid #009944;
}
.green .tabs .tab{
  background: #E5F3E8;
  border: 2px solid #009944;
  border-bottom: none;
  color: #009944;
  border-radius: 1em 1em 0 0;
}
.green .tabs .tab.active{
  background: #fff;
}
.point .tabs .tab.active::after{
  transform:rotate(-135deg);
}
.tabs .tab.active{
  background: #FFF6D5;
  border-bottom: 1px solid #FFF6D5;
}
.green .tabs .tab.active::after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 9px solid #ffffff;
  border-bottom: 0;
  z-index: 2;
  bottom: -8px;
  left:0;
  right:0;
  margin: auto;
}
.tab_body{
  background: #FFF6D5;
  padding: 1em;
}
.green .tab_body{
  border: 2px solid #009944;
  border-radius: 0 0 1em 1em;
  overflow: hidden;
  padding: 0;
}

/* ---- MV -----*/
.mainVisual{
  background-color: #EDE5A8;
  position: relative;
}
.mainVisual::before,
.mainVisual::after{
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  background: url(../image/tmp_stripe_bar.svg) center 0 repeat-x;
}
.mainVisual h1{
  width: 100%;
  max-width: 128rem;
  margin: 0 auto;
}

/* ---- コンバージョン -----*/
.conversion_wrap{
  background-color: #fff;
  padding: 4rem 0;
}
.conversion_layout{
  max-width: 88rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;  
}
.conversion_item{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 1rem;
}
.conversion_btn a{
  width: 100%;
  max-width: 44rem;
  min-height: 7rem;
  margin: 0 auto;
  padding-top: 1.6rem;
  background-color: #F99427;
  border-radius: 3.5rem;
  color: #fff;
  line-height: 1.2;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  text-decoration: none;
  display: block;
  position: relative;
}
.conversion_btn.darkOrange a{
  background-color: #FF6600;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}
.conversion_btn a span{
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
}
.conversion_btn a img{
  margin: 0 .5rem;
} 
.conversion_btn a img.blank{
  display: inline;
} 
/* ---- Local Menu -----*/
.contents_wrap.local_menu{
  padding: 0;
  margin:0;
}
.local_menu{
  background: #009944;
}
.local_menu ul{
  display: flex;
  width: 100%;
  max-width: 90rem;
  justify-content: center;
  margin: auto;
  padding: 0;
}
.local_menu ul li{
  list-style: none;
  width: 25%;
}
.local_menu ul li a{
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  text-decoration: none;
  line-height: 1.2;
  font-weight: bold;
  font-size: 1.8rem;
  border: 2px solid #fff;
  border-radius: .8em;
  padding: .5em;
  margin: 1em .4em;
  position: relative;
}
.local_menu ul li a::after {
  content: "";
  position: absolute;
  right:.8em;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 8px solid #ffffff;
  border-bottom: 0;
}

/* ---- intro ----- */

/* --- campaign --- */
.contents_wrap.campaign{
  padding: 6rem 0 0;
}
.contents_wrap.campaign + .conversion_wrap{
  padding: 6rem 0;
}
.tokuten{
  border: 2px solid #F08300;
  border-radius: .7em;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  font-weight: bold;
}
.tokuten__ttl{
  background: #F08300;
  color: #fff;
  font-size: 3.6rem;
  line-height: 1.2;
  text-align: center;
  padding: .3em .5em;
}
.tokuten__ttl span{
  display:block;
  font-size: 1.4rem;
  letter-spacing: .2em;
  text-indent: .1em;
  white-space: nowrap;
}
.tokuten__txt{
  padding: .5em .8em;
  width: 100%;
}

/* ---- ポイント -----*/
#point .speech-bubble::before,
#point .speech-bubble::after{
  content:"";
  display: block;
  position: absolute;
  width: 0;
  height: 2.5em;
  border-left: 2px solid #fff;
  left: -1.5em;
  top:.5em;
  transform: rotate(-35deg);
}
#point .speech-bubble::after{
  left: inherit;
  right: -1.5em;
  transform: rotate(35deg);
}
.point .tab{
  text-align: center;
  white-space: nowrap;
}
.point .tab span.label{
  display: inline-block;
  background: #009944;
  color: #fff;
  border-radius: 2em;
  padding: .5rem 1em;
  line-height: 1;
}
.point .tab span.tab_text{
  display: flex;
  align-items: center;
  text-align: left;
}
.point .tab p{
  display: flex;
  align-items: center;
  text-align: left;
}
.point .tab img{
  width: 8rem;
  height: 8rem;
  margin-left: .8em;
  margin-right: .5em;
}
.point .tab em{
  font-style: normal;
  margin-right: auto;
  color: #333;
  font-size: clamp(1.4rem,2vw, 1.8rem);
}
.point .tab_body{
  padding: 1.5em;
}
.point_box{
  text-align:center;
  padding: 1em 0;
  width: 50%;
}
.point_box.w100{
  width: 100%;
  padding-top:0;
}
.point_box+.point_box{
  border-left: dotted 2px #009944;
}
.point_box img{
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
}
/* --- debit -- */
.debit_img{
  width: 30rem;
  margin-right: 2.5em;
}
.debit_img p{
  display: block;
}
.debit_img img{
  max-width: 30rem;
}
.debit_txt{
  width: 100%;
  background: #fff;
  border-radius: 1em;
  padding: 2em;
}

/* ---- メリット -----*/
.contents_wrap.merit{
  position: relative;
  text-align: center;
}
.bubble{
  background-color: #07A32B;
  color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
  border-radius: 3rem;
  padding: 1rem 8rem;
  display: inline-block;
  margin: -6rem auto ;
  position: relative;
}
.bubble::after{
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 18px solid #07A32B;
  border-bottom: 0;
}
.debit_layout{
  display: flex;
  justify-content: space-evenly;  
}
.debit_item img{
  width: 22rem;
  margin: 0 auto 1rem;
}
.debit_item p{
  text-align: center;
  font-size: 2.1rem;
  font-weight: bold;
}

/* about */
.about__logo {
  display: block;
  width: 20.8rem;
  height: 15.2rem;
  white-space: nowrap;
  position: relative;
}
.about__logo span{
  display: inline-block;
  position: absolute;
  width: 2em;
  right: -2.5em;
  bottom: 0;
  font-weight: bold;
}
.about__box{
  border: 3px solid #009944;
  border-radius: 1.5em;
  padding: 4em 4em 2em;
}
/* ---- 注意 -----*/
.attention{
  background: #E5F3E8;
}

ul.attention_item{
  font-size:1.4rem;
  width: 100%;
  margin:  0 auto;
  padding: 2em 0 0;
  list-style: none;
}
ul.attention_item li{
  margin-bottom: 1.5rem;
  padding-left: 2rem;
  position: relative;
}
ul.attention_item li:last-child{
  margin-bottom: 0;
}
ul.attention_item li::before{
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #333;
  border-radius: 50%;
}
.attention ul ul li{
  list-style-type: none;
  padding-left: 0;
}
ul.attention_item ul li::before{
  left: -1em;
  width: 4px;
  height: 4px
}


/* ---- 流れ -----*/
.step_layout{
  padding-top: 2rem;
  padding-bottom: 3rem;
}
.step_item{
  max-width: 82rem;
  margin: 0 auto 5.5rem;
  background-color: #fff;
  border:solid 2px #07A32B;
  position: relative;
  border-radius: 1em;
}
.step_item:last-child{
  margin-bottom: 2em;
}
.step_item::before, .step_item::after{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #07A32B;
  border-radius: 50%;
  bottom: -1.6rem;
  left: 50%;
  transform: translateX(-50%);
}
.step_item::after{
  bottom: -3.2rem;
}
.step_item:last-of-type::before, .step_item:last-of-type::after{
  display:none;
}
.step_ttl{
  width: 17rem;
  background-color: #07A32B;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  border-radius: 2.6rem;
  padding: .8rem 0;
  margin: -2rem auto 0;
  text-align: center;
}
.step_item_inner{
  margin: 2rem 0 4rem;
  display: flex;
  justify-content: center;
}
.step_item_inner.step1 .conversion_btn a{
  width: 30rem;
  margin: 1rem 2rem 0;
} 
.step_txt{
  width: 40%;
  font-weight: bold;
  font-size: 1.8rem;
  align-self: center;
}
.step_img{
  width: 30%;
}
.step_item_inner.step1{
  flex-wrap: wrap;
}
.step_item_inner.step1 .app{
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}
.step_item_inner.step1 .app .step_img{
  width: 8rem;
  margin: 0 2rem 0 0;
}
.step_item_inner.step1 .app p{
  font-weight: bold;
  align-self: center;
}
.debit_banner{
  max-width:82rem;
  margin: auto;
  text-decoration: none;
  text-align: center;
  display: block;
  border: 3px solid #F08300;
  border-radius: 1em;
  overflow: hidden;
  background: #fff;
}
.debit_banner__ttl{
  padding: .7em 0 1em;
  background: #F08300;
  color: #fff;
  position: relative;
}
.debit_banner__ttl::after{
    content: "";
    position: absolute;
    right: .8em;
    top:0;
    bottom:0;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: .5em solid transparent;
    border-left: .5em solid #fff;
    border-top: .5em solid transparent;
    border-bottom: .5em solid transparent;
    margin: auto;
}
.debit_banner__img{
  max-width: 64rem;
  margin: auto;
  padding: 1em 0;
  border-radius: 0 0 1em 1em;
  overflow: hidden;
}

/* --- flow --- */
.flow_btn{
  justify-content: center;
}
.flow_btn a{
  display: flex;
  align-items: center;
  font-weight: bold;
  height: 11rem;
  background: #009944;
  color: #fff;
  text-decoration: none;
  border-radius: .8em;
  padding: 0 1.5em 0 1em;
  position: relative;
  text-indent: .5em;
}
.flow_btn a span{
  display: block;
  margin-bottom: .5em;
}
.flow_btn a::after{
  content: "";
  position: absolute;
  right: 0;
  left:0;
  bottom: .6em;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: .6em solid transparent;
  border-left: .6em solid transparent;
  border-top: .6em solid #fff;
  border-bottom: 0;
}
.flow_btn a:last-child{
  background: #FF8B00;
}
.flow_btn a+a{
  margin-left: 1.5em;
}
.flow_btn a img{
  height:11rem;
}

/* --- splide --- */

.splide__slide{
  padding: 2em;
  background: #fff;
  border-radius: 1em;
  border: 3px solid #009944;
}
.orange .splide__slide{
  border: 3px solid #F08300;
}
.splide__slide{
  font-size: 1.4rem;
}
.splide__pagination{
  margin-top: .8em;
}
.splide__pagination li button{
  height: .8em;
  width: .8em;
  background: #fff;
  border: 1px solid #009944;
  border-radius: 1em;
  margin: 0 .1em;
}
.splide__pagination li button.is-active{
  background: #009944;
}
.orange .splide__pagination li button{
  border: 1px solid #F08300;
}
.orange .splide__pagination li button.is-active{
  background: #F08300;
}
.splide__arrow {
  background: #000;
  border: 0;
  color: #e5eeee;
  cursor: pointer;
  position: absolute;
  top: 45%;
  z-index:2;
  border-radius: 3em;
  width: 2.5em;
  height:2.5em;
}
.splide__arrow svg{
  fill: #fff;
  width: 60%;
  height: 60%;
  margin: auto;
}
.splide__arrow--prev{
  left: 27%;
  transform: scaleX(-1) translateY(-48%);
}
.splide__arrow--next{
  right: 27%;
  transform: translateY(-48%);
}
.splide__arrow:disabled{
    opacity: .1;
    pointer-events: none;
}


/* --- slide --- */
.splide__slide .flex_box{
  max-width: 36rem;
  margin: auto;
}
.app_icon{
  width: 6em;
  margin-right: 1em;
}

#slider1-slide01 .flex_box p,
#slider2-slide01 .flex_box p{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 30rem;
}
img.capture_img{ width: 11rem; margin-left: 1em;  aspect-ratio: 0.61;  }
.capture_img2{ width: 15rem; margin-left: auto; margin-right: auto; }
.capture_img3{ width: 20rem; margin-left: auto; margin-right: auto; }

#slider2-slide01 .conversion_btn.darkOrange a{
  max-width: 14em;
  min-height: 3em;
}
#slider1-slide01 .conversion_btn.darkOrange a{
  background: #009944;
  max-width: 14em;
  min-height: 3em;
}
#slider1-slide07 .speech-bubble::before, 
#slider1-slide07 .speech-bubble::after{
  border-color: #F99427;
}




/*================================================
* Smartphone Style
================================================*/

@media screen and (max-width: 768px) {

/* ---- 共通 -----*/
.Header__layout{
  padding: 0;
}
.inner{
  padding: 0 2rem;
}
.hide-pc{
  display: block;
}
.hide-tab{
  display: block;
}
.hide-sp{
  display: none;
}
.pc-only{
  display: none;
}
.tab-only{
  display: block;
}
.contents_wrap{
  padding: 3rem 0;
  font-size: 1.6rem;
}
hr.dot-border{
  height: 8px;
  background-image : linear-gradient(to right, #07A32B 3px, transparent 3px);
  background-size: 12px 3px;
  background-repeat: repeat-x; 
  background-position: left bottom;
  margin: 2em 0;
}
/* ---- 見出し -----*/
.headding_a{
  font-size: 2.4rem;
}
.headding_b{
  font-size: 2.4rem;
  padding: 1em 0;
}
.headding_c{
  font-size: 2.4rem;
  margin-bottom: 1em;
}
.headding_c span > span{
  font-size: 4rem;
}
.headding_c span.fs4{
  font-size: 3rem;
}
/* ---- note -----*/
.note_list{
  font-size: 1.2rem;
}
.note_list br{
  display:none;
}
/* ---- コンバージョン -----*/
.conversion_wrap{
  padding: 3rem 0;
}
.conversion_layout{
  display: block;
}
.conversion_item:first-child{
  margin-bottom: 0;
}
.conversion_btn a{
  width: 100%;
  max-width: 37rem;
  font-size: 1.8rem;
}
/* ---- Local Menu -----*/
.local_menu ul{
  flex-wrap: wrap;
  padding:.8em 0;
}
.local_menu ul li{
  list-style: none;
  width: 47%;
}
.local_menu ul li a{
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

  font-size: 1.4rem;
  border: 2px solid #fff;
  border-radius: .8em;
  padding: .5em 1em .5em .5em;
  margin: .4em .4em;
}
/* ---- intro -----*/

/* --- campaing --- */
.contents_wrap.campaign{
  padding: 3rem 0 0;
}
.contents_wrap.campaign + .conversion_wrap{
  padding: 3rem 0;
}
.tokuten__ttl{
  padding: .3em .2em;
}
.tokuten__ttl span{
}
.tokuten__txt{
  padding: .5em .5em;
  width: 100%;
}
/* ---- ポイント -----*/
.contents_wrap.point{
  padding:0;
}
.point .tab span{
  font-size: 1.4rem;
}
.point .tab p{
  display: block;
}
.point .tab img{
  margin: .5em auto;
  width: 6rem;
  height: 6rem;
}
.point .tab span.tab_text{
  display: block;
}
.point .tab em{
  display: block;
  margin-left: inherit;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.3;
  color: #333;
}
.point .tab_body{
  padding: 1.5em 1em 1em;
}
.point_box{
  width: 100%;
}
.point .tabs .tab{
  padding: 1em 0 1.5em;
}
.point .tabs .tab::after{
  bottom: .4em;
}
/* ---- メリット -----*/
.bubble{
  font-size: 2.4rem;
}
.debit_layout{
  display: block;
  margin-top: 3rem;
  margin-bottom: 0;
}
.merit_item{
  margin-bottom: 4rem;  
}
/* --- about ---- */
.about__logo{
  width: 14.6rem;
  height:10.6rem;
}
.about__box{
  border: 2px solid #009944;
  border-radius: 1em;
  padding: 2em 1em 1em;
}

/* -- debit -- */
.debit_img{
  width: 20rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2em;
}
.debit_img img{
  width: 100%;
}
.debit_item{
  display: flex;
  align-items: center;
}
.debit_item img{
  width: 15rem;
  margin: 0 0 1em 0;
}
.debit_item:last-of-type img{
  margin:0;
}
.debit_item p{
  font-size:1.8rem;
  text-align: left;
  padding-left: 1em;
  margin-right: auto;
}

/* ---- 流れ -----*/
.step_layout:last-of-type{
  padding-bottom: 0;
}
.step_ttl{
  width: 15rem;
  font-size: 2.1rem;
}
.step_item{
  max-width: 60rem;  
}
.step_item_inner{
  margin: 2rem 0;
  display: block;
  justify-content: center;
}
.step_txt{
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
}
.step_img{
  width: 40%;
  margin: 2rem auto 0;
}
.step_img.step2{
  width: 30%;  
}
.step_item_inner.step1 .conversion_btn a{
  width: 29rem;
  min-height: 6rem;
  margin: 1rem auto 0;
  padding-top: 1.1rem;
}
.step_item_inner.step1 .conversion_btn.darkOrange a{
  padding-top: 0;
}
.step_item_inner.step1{
  flex-wrap: wrap;
}
.debit_banner__img{
  padding:0;
}
.flex_box.flex{
  display: flex
}
.flex_box.flow_btn{
  display: flex;
}
.flow_btn a{
  display: flex;
  align-items: center;
  font-weight: bold;
  text-decoration: none;
  border-radius: .8em;
  padding: 0 .5em 0 .3em;
  position: relative;
  text-indent: 0;
  width: 50%;
  height: 6rem;
  line-height: 1.3;
}
.flow_btn a img{
  height: 6rem;
  margin-right: .5em;
}
.flow_btn a+a{
  margin-left: .8em;
  background: #FF8B00;
}
.flow_btn a::after{
  bottom: .3em;
}

.splide__slide{
  padding: 1.5em;
  border: 2px solid #009944;
}
.orange .splide__slide{
  border: 2px solid #F08300;
}
.splide__arrow--prev{
  left: .5em;
}
.splide__arrow--next{
  right: .5em;
}
}

@media screen and (max-width: 640px) {
.flex_box{ display: block; }
.sp-flex{ display: flex !important; }
/* utility */
.sp-fsize10{ font-size:1.0rem !important; }
.sp-fsize11{ font-size:1.1rem !important; }
.sp-fsize12{ font-size:1.2rem !important; }
.sp-fsize13{ font-size:1.3rem !important; }
.sp-fsize14{ font-size:1.4rem !important; }
.sp-fsize15{ font-size:1.5rem !important; }
.sp-fsize16{ font-size:1.6rem !important; }
.sp-fsize17{ font-size:1.7rem !important; }
.sp-fsize18{ font-size:1.8rem !important; }
.sp-fsize19{ font-size:1.9rem !important; }
.sp-fsize20{ font-size:2.0rem !important; }
.sp-fsize21{ font-size:2.1rem !important; }
.sp-fsize22{ font-size:2.2rem !important; }
.sp-fsize23{ font-size:2.3rem !important; }
.sp-fsize24{ font-size:2.4rem !important; }
.sp-fsize26{ font-size:2.6rem !important; }
.sp-fsize28{ font-size:2.8rem !important; }
.sp-fsize32{ font-size:3.2rem !important; }
.sp-fsize36{ font-size:3.6rem !important; }
.sp-fsize40{ font-size:4.0rem !important; }
.sp-fsize44{ font-size:4.4rem !important; }
.sp-fsize48{ font-size:4.8rem !important; }
.sp-mb0 { margin-bottom: 0 !important; }
.sp-mb10 { margin-bottom: 1rem !important; }
.sp-mb20 { margin-bottom: 2rem !important; }
.sp-mb30 { margin-bottom: 3rem !important; }
.sp-mb40 { margin-bottom: 4rem !important; }
.sp-mb50 { margin-bottom: 5rem !important; }
.sp-mb60 { margin-bottom: 6rem !important; }
.sp-mb70 { margin-bottom: 7rem !important; }
.sp-mb80 { margin-bottom: 8rem !important; }
.sp-mt0 { margin-top: 0 !important; }
.sp-mt10 { margin-top: 1rem !important; }
.sp-mt20 { margin-top: 2rem !important; }
.sp-mt30 { margin-top: 3rem !important; }
.sp-mt40 { margin-top: 4rem !important; }
.sp-mt50 { margin-top: 5rem !important; }
.sp-mt60 { margin-top: 6rem !important; }
.sp-mt70 { margin-top: 7rem !important; }
.sp-mt80 { margin-top: 8rem !important; }
.sp-pb0 { padding-bottom: 0 !important; }
.sp-pb10 { padding-bottom: 1rem !important; }
.sp-pb20 { padding-bottom: 2rem !important; }
.sp-pb30 { padding-bottom: 3rem !important; }
.sp-pb40 { padding-bottom: 4rem !important; }
.sp-pb50 { padding-bottom: 5rem !important; }
.sp-pb60 { padding-bottom: 6rem !important; }
.sp-pb70 { padding-bottom: 7rem !important; }
.sp-pb80 { padding-bottom: 8rem !important; }
.sp-pb1em { padding-bottom: 1em !important; }
.sp-pt0 { padding-top: 0 !important; }
.sp-pt10 { padding-top: 1rem !important; }
.sp-pt20 { padding-top: 2rem !important; }
.sp-pt30 { padding-top: 3rem !important; }
.sp-pt40 { padding-top: 4rem !important; }
.sp-pt50 { padding-top: 5rem !important; }
.sp-pt60 { padding-top: 6rem !important; }
.sp-pt70 { padding-top: 7rem !important; }
.sp-pt80 { padding-top: 8rem !important; }
.sp-pt1em { padding-top: 1em !important; }
.sp-txt-left{
  text-align: left;
}
.hide-tab{
  display: none;
}
.hide-sp{
  display: none;
}
.pc-only{
  display: none;
}
.tab-only{
  display: none;
}
.sp-only{
  display: block;
}
.point_box+.point_box{
  border: none;
}
.step_img{
  width: 50%;
}
.step_img.step2{
  width: 55%;  
}
.step_img.step3{
  width: 70%;  
}
.step_img.step4{
  width: 70%;  
}
.point_item{
  width: 100%;
  margin-bottom: 3rem;
}
.capture_img{ width: 10rem; margin-left: .8em;}
}
@media screen and (max-width: 599px){
  html {
    font-size: calc(100vw/38);
  }
}