@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@300&family=Barlow:wght@300;500;700&display=swap");
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
  #navSP {
    display: none;
  }
}
#cnt {
  position: relative;
}
#content {
  color: #000000;
  border-bottom: 7px solid #292929;
  overflow-x: hidden;
}
p {
  font-size: 16px;
  letter-spacing: 0.02em;
}
img {
  max-width: 100%;
}
section {
  width: 1000px;
  margin: 0 auto;
  text-align: center;
  box-sizing: border-box;
  position: relative;
}
picture {
  display: block;
}
small {
  font-size: 12px;
  display: block;
}
/* register */
#register {
  position: fixed; /*固定*/
  bottom: 0px; /*場所を右下に移動*/
  right: 5px; /*場所を右下に移動*/
  z-index: 9999;
  width: 160px;
}
#register.float:hover {
  opacity: .9;
  bottom: 0 !important;
}
#register:hover {
  opacity: .8;
}
@media (max-width: 767px) {
  #register {
    width: 140px;
  }
}
/* 汎用 */
.ta_c {
  text-align: center !important;
}
.ta_l {
  text-align: left !important;
}
.font_size_10 {
  font-size: 10px !important;
}
.font_size_11 {
  font-size: 11px !important;
}
.font_size_12 {
  font-size: 12px !important;
}
.font_size_13 {
  font-size: 13px !important;
}
.font_size_14 {
  font-size: 14px !important;
}
.font_size_15 {
  font-size: 15px !important;
}
.font_size_16 {
  font-size: 16px !important;
}
.font_size_17 {
  font-size: 17px !important;
}
.font_size_18 {
  font-size: 18px !important;
}
.font_size_19 {
  font-size: 19px !important;
}
.font_size_20 {
  font-size: 20px !important;
}
.font_size_21 {
  font-size: 21px !important;
}
.font_size_22 {
  font-size: 22px !important;
}
.font_size_23 {
  font-size: 23px !important;
}
.font_size_24 {
  font-size: 24px !important;
}
.font_size_25 {
  font-size: 25px !important;
}
.font_size_26 {
  font-size: 26px !important;
}
.font_size_27 {
  font-size: 27px !important;
}
.font_size_28 {
  font-size: 28px !important;
}
.font_size_29 {
  font-size: 29px !important;
}
.font_size_30 {
  font-size: 30px !important;
}
.font_size_31 {
  font-size: 31px !important;
}
.font_size_32 {
  font-size: 32px !important;
}
.font_size_33 {
  font-size: 33px !important;
}
.font_size_34 {
  font-size: 34px !important;
}
.font_size_35 {
  font-size: 35px !important;
}
a.text_link {
  color: #184286;
  font-weight: bold;
}
.font_red {
  color: #d9052e;
}
.font_bold {
  font-weight: bold;
}
.incentive_txt .note {
  color:#222;
  font-size: 13px;
}
.text_center {
  text-align: center;
}
.text_left {
  text-align: left;
  max-width: 800px;
  margin: 0 auto;
}
.margin_center {
  margin: 0 auto;
}
.flex_between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flex_w_center {
  display: flex;
  justify-content: center;
}
.note {
  color: #666666;
}
.indent {
  color: #666666;
}
.indent_1 {
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.5em;
  font-size: 12px;
  color: #666666;
  text-align: left;
}
.mgt_30 {
  margin-top: 30px !important;
}
.mgb_5 {
  margin-bottom: 5px !important;
}
.mgb_10 {
  margin-bottom: 10px !important;
}
.mgb_15 {
  margin-bottom: 15px !important;
}
.mgb_20 {
  margin-bottom: 20px !important;
}
.mgb_25 {
  margin-bottom: 25px !important;
}
.mgb_30 {
  margin-bottom: 30px !important;
}
.mgb_35 {
  margin-bottom: 35px !important;
}
.mgb_40 {
  margin-bottom: 40px !important;
}
.mgb_45 {
  margin-bottom: 45px !important;
}
.mgb_50 {
  margin-bottom: 50px !important;
}
.mgb_60 {
  margin-bottom: 60px !important;
}
.mgb_70 {
  margin-bottom: 70px !important;
}
.mgb_80 {
  margin-bottom: 80px !important;
}
.mgb_90 {
  margin-bottom: 90px !important;
}
.mgb_100 {
  margin-bottom: 100px !important;
}
.mgb_110 {
  margin-bottom: 110px !important;
}
.mgb_120 {
  margin-bottom: 120px !important;
}
.mgr_20 {
  margin-right: 20px !important;
}
@media (min-width: 768px) {
  .contentHeadArea {
    display: none;
  }
  #content {
    position: relative;
  }
  /* サイドナビ */
  #nav {
    width: 153px;
    position: absolute;
    top: 200px;
    z-index: 9999;
  }
  #nav.fixed {
    position: fixed;
    top: 20px;
  }
  #nav li {
    margin-bottom: 13px;
  }
  #nav li a.nav_item {
    font-family: 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
    line-height: 1.2;
    display: flex;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    align-items: center;
    width: 220px;
    height: 60px;
    margin-left: -70px;
    padding: 5px 5px 5px 75px;
    box-sizing: border-box;
    border: 2px solid #000;
    background-color: #FFF;
    box-shadow: 2px 2px rgba(0, 0, 0, 0.4);
  }
  #nav li.on a {
    color: #fff;
    margin-left: -60px;
    background-color: #e19e18;
  }
  #nav li a.nav_item.register {
    background-color: #FDDC0A;
  }
  #nav li a.nav_item:hover {
    margin-left: -60px;
  }
}
/*----------------------------------------------------
  ここからスマホ用
----------------------------------------------------*/
@media (max-width: 767px) {
  body {
    min-width: 100%;
  }
  .pc {
    display: none !important;
  }
  .wrap {
    width: 100%;
    margin: 0 auto;
  }
  .img_100 {
    width: 100%;
  }
  p {
    font-size: 14px;
    text-align: left;
  }
  section {
    width: 100%;
    padding: 35px 18px;
  }
  .indent_1 {
    text-indent: -1em;
    margin-left: 1em;
    font-size: 12px;
    display: block;
    text-align: left !important;
  }
  .ta_c_sp {
    text-align: center !important;
  }
  .ta_l_sp {
    text-align: left !important;
  }
  .font_size_10_sp {
    font-size: 10px !important;
  }
  .font_size_11_sp {
    font-size: 11px !important;
  }
  .font_size_12_sp {
    font-size: 12px !important;
  }
  .font_size_13_sp {
    font-size: 13px !important;
  }
  .font_size_14_sp {
    font-size: 14px !important;
  }
  .font_size_15_sp {
    font-size: 15px !important;
  }
  .font_size_16_sp {
    font-size: 16px !important;
  }
  .font_size_17_sp {
    font-size: 17px !important;
  }
  .font_size_18_sp {
    font-size: 18px !important;
  }
  .font_size_19_sp {
    font-size: 19px !important;
  }
  .font_size_20_sp {
    font-size: 20px !important;
  }
  .font_size_21_sp {
    font-size: 21px !important;
  }
  .font_size_22_sp {
    font-size: 22px !important;
  }
  .font_size_23_sp {
    font-size: 23px !important;
  }
  .font_size_24_sp {
    font-size: 24px !important;
  }
  .font_size_25_sp {
    font-size: 25px !important;
  }
  .font_size_26_sp {
    font-size: 26px !important;
  }
  .font_size_27_sp {
    font-size: 27px !important;
  }
  .font_size_28_sp {
    font-size: 28px !important;
  }
  .font_size_29_sp {
    font-size: 29px !important;
  }
  .font_size_30_sp {
    font-size: 30px !important;
  }
  .font_size_31_sp {
    font-size: 31px !important;
  }
  .font_size_32_sp {
    font-size: 32px !important;
  }
  .font_size_33_sp {
    font-size: 33px !important;
  }
  .font_size_34_sp {
    font-size: 34px !important;
  }
  .font_size_35_sp {
    font-size: 35px !important;
  }
  .mgb_5_sp {
    margin-bottom: 5px !important;
  }
  .mgb_10_sp {
    margin-bottom: 10px !important;
  }
  .mgb_15_sp {
    margin-bottom: 15px !important;
  }
  .mgb_20_sp {
    margin-bottom: 20px !important;
  }
  .mgb_25_sp {
    margin-bottom: 25px !important;
  }
  .mgb_30_sp {
    margin-bottom: 30px !important;
  }
  .mgb_35_sp {
    margin-bottom: 35px !important;
  }
  .mgb_40_sp {
    margin-bottom: 40px !important;
  }
  .mgb_45_sp {
    margin-bottom: 45px !important;
  }
  .mgb_50_sp {
    margin-bottom: 50px !important;
  }
  .mgb_60_sp {
    margin-bottom: 60px !important;
  }
  .mgb_70_sp {
    margin-bottom: 70px !important;
  }
  .mgb_80_sp {
    margin-bottom: 80px !important;
  }
  .mgb_90_sp {
    margin-bottom: 90px !important;
  }
  .mgb_100_sp {
    margin-bottom: 100px !important;
  }
  .mgb_110_sp {
    margin-bottom: 110px !important;
  }
  .mgb_120_sp {
    margin-bottom: 120px !important;
  }
  /*
		グローバルナビ
  =================================================================*/
  header {
    /* [disabled]position: fixed; */
    top: 0;
    border-top: solid 3px #d20a0a;
    z-index: 9999;
    width: 100%;
  }
  .menubtn {
    position: fixed;
    top: 11px;
    right: 18px;
    border: 1px solid #000;
    padding: 10px 12.5px 15px;
    width: 50px;
    height: 50px;
    background: url(../image/menubtn_open.png) center 84% / 70% no-repeat;
    ;
  }
  .active.menubtn {
    background: url(../image/menubtn_close.png) center 84% / 50% no-repeat;
    ;
  }
  .menubtn_text {
    font-size: 10px;
  }
  .menu, .menu span {
    position: absolute;
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu {
    width: 23px;
    height: 16px;
    z-index: 10;
  }
  .menu_open {
    opacity: 0;
  }
  .menu span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #D20A0A;
    z-index: 10;
  }
  .menu span:nth-of-type(1) {
    top: 0px;
  }
  .menu span:nth-of-type(2) {
    top: 7px;
  }
  .menu span:nth-of-type(3) {
    bottom: 0px;
  }
  .menu_close.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(7px) rotate(45deg);
  }
  .menu_close.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu_close.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
  }
  .menu_open.active {
    display: none;
    opacity: 0;
  }
  .menu_close.active {
    display: inline-block;
  }
  #navSP {
    position: fixed;
    top: 68px;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 100vh;
    opacity: 0;
    background-color: #D20A0A;
    transition: all 0.3s ease-in-out;
    visibility: hidden;
  }
  #navSP.active {
    right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
  }
  #navSP ul {
    margin: 70px 0 0;
  }
  #navSP ul li {
    list-style-type: none;
    margin-bottom: 20px;
  }
  #navSP ul li a {
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
  }
  #navSP ul li a:hover {
    color: #f65d5d;
  }
  #nav {
    display: none;
  }
  .section_A {
    padding: 50px 0 60px;
  }
  .overview_inn {
    width: 92%;
    padding: 5px;
  }
  .now-text {
    font-size: 20px;
    width: 58px;
    height: 58px;
    top: -50px;
    left: 0px;
  }
  .hedding_overview {
    font-size: 20px;
    padding: 5px 0;
    letter-spacing: 2px;
  }
  .hedding_overview::after {
    bottom: -20px;
    margin-left: -17.5px;
    border-width: 20px 17.5px 0 17.5px;
  }
  .dot-text {
    position: relative;
    background-image: none;
  }
  .dot-text::before {
    content: "";
    position: absolute;
    top: 0;
    left: 2.5vw;
    width: 4px;
    height: 4px;
    background: url(../image/dot-text.png) 0 0 / cover no-repeat;
  }
  .bg_white {
    padding: 50px 20px 10px;
  }
  .imgsArea {
    display: none;
  }
  .overview_details dl {
    display: block;
    padding: 32px 0;
  }
  .overview_details dl dt {
    width: 100%;
    margin-bottom: 20px;
  }
  .overview_details dl dd {
    width: 100%;
  }
  .nebiki_cycle1 {
    width: 100%;
  }
  .flex_between {
    align-items: center;
  }
  .flex_between a:first-of-type {
    margin-bottom: 30px;
  }
  a.link_btns {
    width: 100%;
    height: 14.4vw;
    font-size: 5vw;
  }
  a.link_btns_font_s {
    font-size: 4vw;
  }
  a.btn_white_bottom_s {
    height: 14.4vw;
  }
  a.btn_white_long {
    background: url(../image/btn_5.png) 0 0 / cover no-repeat;
    padding-right: 20px;
  }
  #overview .bg_white {
    display: flex;
    flex-direction: column;
  }
  .dot_list > li, .number_list > li, .square_list > li {
    font-size: 14px;
  }
}
@media (max-width: 320px) {
  a.link_btns {
    height: 14vw;
  }
  a.btn_white_bottom_s {
    height: 14vw;
  }
}
/* ------------------------------------------------------------
202602
------------------------------------------------------------ */
.row {
  max-width: 96%;
  padding: 0 20px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .row {
    padding: 0 5px;
  }
}
article.bg01 {
  background: #f6f5f2;
  padding: 80px 0;
}
article.bg02 {
  background: #fff;
  padding: 0;
}
article section {
  max-width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  article.bg01 {
    padding: 40px 10px;
  }
  article.bg02 {
    background: #fff;
    padding: 0 10px;
  }
}
.intextlink {
  text-decoration: underline;
}
.notes {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 16px;
}
.notes.dot {
  text-indent: -0.5em;
  padding-left: 0.5em;
}
.notes > li:before {
  content: "※";
}
.notes.dot > li {
  padding-left: 1em;
}
.notes.dot > li:before {
  content: "・";
}
.dot_list > li {
  text-indent: -1em;
  padding-left: 1em;
}
.dot_list > li:before {
  content: "●";
}
.square_list > li {
  text-indent: -1em;
  padding-left: 1em;
}
.square_list > li:before {
  content: "■";
}
.number_list {
  counter-reset: number;
}
.number_list > li {
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.number_list > li:before {
  counter-increment: number;
  content: "("counter(number) ")";
}
.headline {
  text-align: center;
}
.headline .lead {
  font-size: 20px;
  font-weight: 600;
  padding-bottom: 0.5em;
}
.headline_title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 1px;
}
.headline_title .large {
  font-size: 38px;
  font-weight: 600;
}
.headline .notes {
  padding: 20px 20px 10px;
}
@media only screen and (max-width: 767px) {
  .headline .lead {
    font-size: 12px;
  }
  .headline_title {
    font-size: 18px;
  }
}
/* ------------------------------------------------------------

------------------------------------------------------------ */
.site-header .masthead {
  background-color: #fff;
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  padding: 20px;
}
.footer {
  padding: 60px 60px 100px;
}
.footer__company, .footer__nav {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  padding: 20px;
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 20px 10px 100px;
  }
}
/* ------------------------------------------------------------

------------------------------------------------------------ */
.js-switch_card, .js-switch_card2, .change_card {
  display: none;
}
.hide {
  opacity: 0;
  width: 0 !important;
  height: 0 !important;
}
.card_type_block.active, .js-switch_card.is-active, .js-switch_card2.is-active, .section-add_card .content.show, .change_card.is-active {
  display: block;
  animation: fade 0.5s ease;
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* .selected_result {
  display: none;
}
.selected_result.is-active {
  display: block;
} */
@media only screen and (max-width: 767px) {
  .selected_result {
    border: 1px solid #f2f2f2;
  }
}
.selected_result {
  background: #f0eee7;
}
@media only screen and (min-width: 641px) {
  .show-small {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .hide-small {
    display: none !important;
  }
}
/* ------------------------------------------------------------
card_type_list
------------------------------------------------------------ */
/*.card_type_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid #004097;
  padding: 0 20px;
}
.card_type_list .tab {
  width: 49.5%;
  text-align: center;
  background-color: #004097;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 15px 10px;
  letter-spacing: 0.15em;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  opacity: 0.3;
}
.card_type_list .tab.active {
  opacity: 1;
  pointer-events: none;
}
.card_type_list .tab:hover {
  cursor: pointer;
}*/
.card_type_block_in .card_list {
  padding: 15px 0 0;
}
.card_type_block_in .card_list .js-card-trigger {
  cursor: pointer;
}
.card_type_block_in .card_list .js-card-trigger .card {
  text-align: center;
  padding: 12px 8px;
}
.card_type_block_in .card_list .js-card-trigger .card img {
  width: 160px;
  /* padding-top: 20px; */
}
.card_type_block_in .card_list .js-card-trigger.is-active .card {
  /* width: 120px;
  filter: drop-shadow(0px 4px 6px rgba(76, 91, 102, 0.6));
  padding-top: 14px;
  border-radius: 5px;
  box-shadow: 0px 0px 10px 2px rgb(0 64 151 / 60%); */
  border-radius: 8px;
  border: 2px solid #d9052e;
  background: #f0eee7;
}
.card_type_block_in .card_list .js-card-trigger .card figcaption {
  font-size: 12px;
  line-height: 1.3;
  font-weight: 400;
  padding-top: 15px;
}
.card_type_block_in .card_list .js-card-trigger .notes {
  padding-top: 0.5em;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .card_type_block_in .card_list {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .card_type_block_in .card_list .js-card-trigger {
    width: 20%;
  }
}
@media only screen and (max-width: 767px) {
  .card_type_list {
    padding: 0 10px;
  }
  .card_type_list .tab {
    width: 49%;
    font-size: 15px;
    padding: 10px;
  }
  .card_type_block_in .card_list {
    padding: 20px 0;
  }
  .card_type_block_in .card_list .js-card-trigger {
    padding: 0;
  }
  .card_type_block_in .card_list .js-card-trigger .card {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .card_type_block_in .card_list .js-card-trigger .card img {
    width: 60px;
    padding: 0;
    margin-right: 15px;
  }
  .card_type_block_in .card_list .js-card-trigger.is-active .card img {
    width: 80px;
  }
  .card_type_block_in .card_list .js-card-trigger .card figcaption {
    padding-top: 0;
    font-size: 12px;
    font-weight: 500;
    width: 64%;
  }
}
/* ------------------------------------------------------------
selected_area
------------------------------------------------------------ */
.selected_area .selected_title {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  background-color: #f0eee7;
  padding: 25px;
  position: relative;
  margin-top: 30px;
}
.selected_area .selected_title .card_thum {
  position: absolute;
  width: 66px;
  left: 70px;
  top: 50%;
  transform: translateY(-50%);
}
.selected_area .selected_title .small {
  font-size: 12px;
}
.selected_area .notes {
  width: 94%;
  margin: 0 auto;
  font-size: 13px;
  text-align: left;
  padding-bottom: 25px;
}
.selected_area .notes span {
  display: none;
}
.selected_area .notes span.is-active {
  display: inline;
}
.join .selected_area .selected_title {
  font-size: 24px;
  letter-spacing: 1px;
  padding: 30px 0 20px;
}
.join .selected_area .selected_title span {
  font-size: 16px;
  display: block;
}
@media only screen and (max-width: 767px) {
  .selected_area .selected_title {
    padding: 25px 10px 15px 70px;
    font-size: 13px;
    margin-top: 0;
  }
  .selected_area .selected_title .small {
    font-size: 10px;
  }
  .selected_area .selected_title.on-rose-switch {
    padding: 15px 10px;
  }
  .selected_area .selected_title .card_thum {
    left: 10px;
    width: 50px;
  }
  .selected_area .notes {
    margin: 0 auto;
    padding-left: calc(10px + 1em);
    padding-right: 10px;
    padding-bottom: 25px;
  }
  .join .selected_area .selected_title {
    font-size: 20px;
    padding: 30px 15px 20px;
  }
}
/* ------------------------------------------------------------
incentive_box
------------------------------------------------------------ */
.incentive_box {
  padding: 0 10px 25px;
}
.incentive_box .item {
  padding: 20px;
  background: #fff;
  border: 2px solid #333;
  border-radius: 8px;
}
.join .incentive_box {
  background: #fff;
  margin: 0 30px;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
}
.join .incentive_box .item {
  background: none;
  border: none;
  width: 70%;
}
.join .	incentive_box {
  margin: 0 30px;
}
.join .incentive_box .introduction.item {
  width: 30%;
  padding: 30px 0 30px 50px;
}
.join .incentive_box .introduction.item .card_data {
  font-size: 13px;
  padding: 10px 0 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .join .incentive_box {
    margin: 0 10px;
  }
  .join .incentive_box .introduction.item {
    width: 70%;
    padding: 20px 0 0;
    margin: 0 auto;
  }
  .join .incentive_box .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .incentive_box {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .incentive_box .item {
    display: flex;
    width: 48%;
    flex-direction: row;    /* アイコンと数字を横に並べる */
    justify-content: center; 
    align-items: center;    /* 箱に対して中身を縦中央に配置 */
  }
  .incentive_box .item .target {
    margin-top: -10px;
  }
}
@media only screen and (max-width: 767px) {
  .incentive_box .item {
    padding: 15px;
  }
  .incentive_box .item:first-child {
    margin-bottom: 10px;
  }
}
.incentive_box .item .target {
  text-align: center;
  width: 110px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*.incentive_box .item .target img {
  height: 60px;
  min-height: 60px;
}*/
.incentive_box .item .target figcaption {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  padding: 5px 0 0;
}
/*@media only screen and (min-width: 768px) {
  .incentive_box .item .target img,
  .incentive_box .item .target figcaption {
    position: relative;
    bottom: 10px;
    left: 0;
  }
  @media all and (-ms-high-contrast: none) {
    .incentive_box .item .target img,
    .incentive_box .item .target figcaption {
      bottom: 20px;
    }
  }
}*/
@media only screen and (min-width: 768px) {
  .incentive_box .item .target {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .incentive_box .item .target {
    width: 100%;
  }
  .incentive_box .item .target figcaption {
    font-size: 16px;
    padding: 0;
  }
  .incentive_box .item .target img {
    width: 35px;
    margin-right: 10px;
  }
}
.incentive_box .item .incentive {
  display: flex;
  justify-content: center;
  align-items: center;    /* 中央揃えに変更 */
  flex-direction: column; /* 縦並びに変更 */
  min-height: 120px;      /* 左右のバランスをとるための高さ確保 */
}
.incentive_box .item .incentive .incentive_txt {
  line-height: 1.4;
}
.incentive_box .item .incentive .incentive_txt .small {
  font-size: 15px;
  font-weight: 400;
  display: inline-block;
  line-height: 1.3;
}
.incentive_box .item .incentive .incentive_txt .large {
  font-family: "Barlow", sans-serif;
  font-size: 64px;
  color: #d9052e;
  font-weight: 700;
  letter-spacing: 0;
  padding-bottom: 10px;
  display: inline-block;
  line-height: 1;
  font-variant-numeric: tabular-nums; /* 数字の幅を等幅にする */
  min-width: 3em;                  /* 領域を固定（数値の桁数に合わせて調整） */
  display: inline-block;
  text-align: center;
}
.incentive_box .item .incentive .incentive_items {
  width: 100%;
  line-height: 1;
  background-color: #faf4f6;
  color: #000;
  padding-bottom: 15px;
  padding-right: 10px;
  padding-left: 20px;
  margin-top: 20px;
  position: relative;
}
.incentive_box .item .incentive .incentive_items:before {
  content: "";
  position: absolute;
  top: -30px;
  left: calc(50% - 20px);
  margin: 10px auto 0;
  width: 40px;
  height: 20px;
  border-style: solid;
  border-width: 0 20px 20px 20px;
  border-color: transparent transparent #faf4f6 transparent;
  box-sizing: border-box;
}
.incentive_box .item .incentive .on-pearl-switch .incentive_items, .incentive_box .item .incentive .on-pearl2-switch2 .incentive_items {
  background-color: rgba(39, 183, 179, 0.1);
}
.incentive_box .item .incentive .on-pearl-switch .incentive_items:before, .incentive_box .item .incentive .on-pearl2-switch2 .incentive_items:before {
  border-color: transparent transparent rgba(39, 183, 179, 0.1) transparent;
}
.incentive_box .item .incentive .incentive_items {
  padding-top: 10px;
  line-height: 1.3;
}
.incentive_box .item .incentive p.incentive_items {
  text-align: center;
  padding-top: 15px;
}
.incentive_box .item .incentive .incentive_items > li {
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}
.incentive_box .item .incentive .incentive_items > li:not(:first-child) {
  padding-top: 10px;
}
.incentive_box .item .incentive .incentive_items .incentive_items_s {
  font-size: 13px;
}
.incentive_box .item .incentive .incentive_items .incentive_items_m {
  font-size: 16px;
}
.incentive_box .item .incentive .incentive_items .incentive_items_ss {
  font-size: 11px;
}
.incentive_box .item .incentive .incentive_items .point {
  width: 150px;
  max-width: 100%;
  /* padding: 0 0 5px; */
  /* vertical-align: middle; */
  display: inline-block;
}
.incentive_box .item .incentive .incentive_items .incentive_items_l {
  font-size: 20px;
  letter-spacing: 0;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  margin: 0 2px;
}
.incentive_box .item .incentive .incentive_txt .medium {
  font-size: 18px;
  font-weight: 600;
  display: inline-block;
}
.incentive_box .item .incentive .incentive_txt .notes {
  display: block;
  width: 100%;
  margin-top: 5px;
  text-align: left;
}
.join .incentive_box .item .incentive {
  width: 100%;
}
.join .incentive_box .item .incentive .incentive_txt .medium {
  font-size: 22px;
  margin: 6px 0 0;
}
.join .incentive_box .item .incentive .incentive_txt .notes {
  text-align: center;
}
.join .incentive_box .item .incentive .incentive_point {
  display: flex;
  justify-content: center;
}
.join .incentive_box .item .incentive .incentive_point li {
  width: 33.333%;
  border: 1px solid #aaa;
  border-radius: 3px;
}
.join .incentive_box .item .incentive .incentive_point li + li {
  margin-left: 10px;
}
.join .incentive_box .item .incentive .incentive_point li .point_num {
  background: #aaa;
  color: #fff;
  padding: 4px;
}
.join .incentive_box .item .incentive .incentive_point li .point_ditail {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  min-height: 80px;
}
.join .incentive_box .item .incentive .incentive_point li .point_ditail p {
  font-size: 14px;
  line-height: 1.3;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .join .incentive_box .item .incentive .incentive_txt .medium {
    font-size: 16px;
    margin: 10px 0 0;
    text-align: center;
  }
  .join .incentive_box .item .incentive .incentive_point li .point_ditail p {
    font-size: 12px;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .incentive_box .item .incentive {
    width: 100%;
    padding-left: 15px;
  }
  .incentive_box .item {
    display: flex;
    flex-direction: row; /* 横並び構造を維持しつつ */
    align-items: center;  /* 縦軸で中央揃えにする */
  }
  .incentive_box .item .incentive .incentive_txt {
    padding-left: 15px;
  }
  .incentive_box .item .incentive .incentive_items {
    width: calc(100% + 105px);
    left: -105px;
  }
}
@media only screen and (max-width: 767px) {
  .incentive_box .item .incentive {
    padding: 6px 0 0;
  }
  .incentive_box .item .incentive .incentive_txt {
    text-align: center;
    font-size:16px;
    margin-top:0;
  }
  .incentive_box .item .incentive .incentive_txt .small {
    font-size: 14px;
    letter-spacing: 0.07em;
  }
  .incentive_box .item .incentive .incentive_txt .large {
    font-size: 50px;
  }
  .incentive_box .item .incentive .incentive_txt .medium {
    font-size: 15px;
  }
  .incentive_box .item .incentive .incentive_items .incentive_items_ss {
    font-size: 10px;
  }
}
/* ------------------------------------------------------------
section-hero
------------------------------------------------------------ */
.section-hero {
  background-color: #004097;
  color: #fff;
}
.section-hero .content .fv_img {
  padding: 25px 0 0;
  text-align: center;
}
.section-hero .content .fv_cp_block {
  font-weight: 700;
  padding: 20px 0 25px;
}
.section-hero .content .fv_cp_block .lead {
  font-size: 18px;
  font-weight: 500;
  background-color: #99b3d5;
  text-align: center;
  padding: 5px;
  line-height: 1.5;
  border-radius: 20px;
  letter-spacing: 0.25em;
  margin-bottom: 10px;
}
.section-hero .content .fv_cp_block .fv_cp {
  display: flex;
  justify-content: center;
  align-items: center;
}
.section-hero .content .fv_cp_block .fv_cp .max {
  width: 1em;
  line-height: 1.2;
  text-align: center;
  font-size: 20px;
  margin-right: 5px;
}
.section-hero .content .fv_cp_block .fv_cp .num {
  font-family: "Barlow", sans-serif;
  letter-spacing: 0;
  font-size: 60px;
  line-height: 1;
  padding-bottom: 5px;
  margin-right: 5px;
}
.section-hero .content .fv_cp_block .fv_cp .normal {
  font-size: 16px;
  line-height: 1.3;
}
.section-hero .content .fv_cp_block .fv_cp .normal em {
  font-size: 20px;
  font-style: normal;
}
@media only screen and (min-width: 768px) {
  .section-hero .content .fv_img img {
    width: 720px;
    max-width: 100%;
  }
  .section-hero .content .fv_cp_block .lead {
    margin: 0 auto 10px;
    width: 56%;
  }
}
@media only screen and (max-width: 767px) {
  .section-hero .content .fv_img {
    padding: 15px 0 0;
  }
  .section-hero .content .fv_cp_block {
    padding: 20px 0;
  }
  .section-hero .content .fv_cp_block .lead {
    font-size: 14px;
    max-width: 300px;
    margin: 0 auto 10px;
    padding: 3px;
  }
  .section-hero .content .fv_cp_block .fv_cp .max {
    font-size: 13px;
    margin-right: 5px;
  }
  .section-hero .content .fv_cp_block .fv_cp .num {
    font-size: 38px;
    margin-right: 5px;
  }
  .section-hero .content .fv_cp_block .fv_cp .normal {
    font-size: 12px;
    line-height: 1.2;
  }
  .section-hero .content .fv_cp_block .fv_cp .normal em {
    font-size: 15px;
    display: block;
  }
}
/* ------------------------------------------------------------
entry
------------------------------------------------------------ */
.section-entry {
  background-color: #434343;
  padding: 20px;
  text-align: center;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  animation: fade 0.5s ease;
  z-index: 99;
}
.entry_btn_wrap {
  text-align: center;
  padding: 20px 0 40px
}
@media only screen and (max-width: 767px) {
  .entry_btn_wrap {
    padding: 20px 10px;
  }
}
.content .entry_btn {
  background-color: #d70c19;
  color: #fff;
  position: relative;
  line-height: 1.5;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  border-radius: 8px;
  text-align: center;
  padding: 18px 0;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60%;
  margin: 0 auto;
  box-shadow: 0px 4px 0px 0px rgb(179 12 22);
}
.content .entry_btn::before {
  position: absolute;
  left: 16%;
  top: 19px;
  content: '';
  display: inline-block;
  width: 28px;
  height: 28px;
  background-image: url(../image/ico_step1.svg);
  background-size: contain;
  vertical-align: middle;
}
.content .entry_btn:after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -5px;
  transform: rotate(45deg);
}
.content .entry_btn .small {
  display: block;
  font-size: 16px;
  font-weight: 700;
}
.content .entry_btn .small {
  font-size: 14px;
  margin-right: 6px;
}
.join .content .entry_btn {
  display: block;
}
.join .content .entry_btn::before {
  position: absolute;
  left: 4%;
  top: 30px;
}
@media only screen and (max-width: 767px) {
  .section-entry {
    padding: 20px 0;
  }
  .content .entry_btn {
    font-size: 16px;
    letter-spacing: 1px;
    padding: 10px 0;
    width: 100%;
  }
  .content .entry_btn::before {
    left: 3%;
    top: 8px;
  }
  .join   .content .entry_btn {
    font-size: 15px;
  }
  .join .content .entry_btn::before {
    left: 2%;
    width: 25px;
    height: 25px;
    top: 20px;
  }
}
@media (min-width: 768px) and (max-width: 1027px) {
  .content .entry_btn::before {
    left: 3%;
  }
}
/* ------------------------------------------------------------
section-lead
------------------------------------------------------------ */
.section-lead {
  padding: 35px 0;
}
.section-lead .headline .headline_title {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.section-lead .headline .headline_title:before {
  content: "";
  display: inline-block;
  width: 83px;
  height: 83px;
  background: url(../images_v2/ico-gift_02.svg) no-repeat center center;
  background-size: 100% 100%;
  margin-right: 30px;
}
@media only screen and (max-width: 767px) {
  .section-lead {
    padding: 20px 0;
  }
  .section-lead .headline .headline_title {
    font-size: 16px;
  }
  .section-lead .headline .headline_title:before {
    width: 50px;
    height: 50px;
    margin-right: 10px;
  }
}
.section-lead .content .announce_block {
  text-align: center;
}
.section-lead .content .announce_block .announce_title {
  padding-bottom: 30px;
}
.section-lead .content .announce_block .announce_title .announce_title_inner {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  display: inline-block;
  border-bottom: 3px solid;
}
.section-lead .content .announce_block .announce_txt {
  text-align: left;
  font-size: 16px;
  font-weight: 500;
  display: inline-block;
}
.section-lead .content .announce_block .announce_txt .underline {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
}
.section-lead .content .announce_block .announce_txt .center {
  text-align: center;
  display: block;
  padding-top: 1em;
}
@media only screen and (max-width: 767px) {
  .section-lead .content .announce_block .announce_title {
    padding-bottom: 15px;
  }
  .section-lead .content .announce_block .announce_title .announce_title_inner {
    font-size: 17px;
  }
  .section-lead .content .announce_block .announce_txt {
    font-size: 13px;
  }
}
/* ------------------------------------------------------------
section-select
------------------------------------------------------------ */
.section-select {
  background-color: #fff;
  padding: 50px 0;
  margin-bottom: 30px;
  box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.06);
}
.section-select .headline {
  padding-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .section-select {
    padding: 0;
  }
  .section-select .headline {
    padding-top: 20px;
  }
}
.card_type_block .card_type_title {
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 15px 10px;
  letter-spacing: 0.15em;
  position: relative;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
.card_type_block.personal .card_type_title {
  background-color: #d9052e;
}
.card_type_block.business .card_type_title {
  background-color: #333;
}
.card_type_all_wrap {}
@media only screen and (min-width: 768px) {
  .card_type_select {
    text-align: center;
  }
  .card_type_all_wrap {
    display: inline-flex;
    width: 100%;
  }
  .card_type_all_wrap .card_type_block.business {
    margin-right: 2px;
    width: 25%;
  }
  .card_type_all_wrap .card_type_block.personal {
    width: 75%;
  }
  .card_type_all_wrap .card_type_block .card_type_block_in .card_list .js-card-trigger {
    width: calc(915px / 4);
  }
  /* .card_type_block.personal .card_type_title:after {
    content: "";
    width: calc(100% + 25px);
    height: 2px;
    position: absolute;
    right: -20px;
    bottom: 0;
    background-color: #004097;
  }
  .card_type_block.business .card_type_title:after {
    content: "";
    width: calc(100% + 20px);
    height: 2px;
    position: absolute;
    left: -20px;
    bottom: 0;
    background-color: #004097;
  } */
  /* .section-add_card .card_type_all_wrap .card_type_block .card_type_block_in .card_list .js-card-trigger {
    width: calc(895px / 6);
  } */
}
@media only screen and (max-width: 767px) {}
/* ------------------------------------------------------------
section-add_card
------------------------------------------------------------ */
.section-add_card {
  background-color: #fff;
  padding: 0 0 50px;
  box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.06);
}
.section-add_card .headline {
  padding-top: 45px;
  padding-bottom: 45px;
  position: relative;
  /* cursor: pointer; */
}
.section-add_card .headline:before, .section-add_card .headline:after {
  /* content: ""; */
  width: 40px;
  height: 2px;
  position: absolute;
  right: 30px;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  background-color: #999999;
}
.section-add_card .headline:after {
  transform: translateY(-50%) rotate(90deg);
  animation: fade 0.5s ease;
}
.section-add_card .headline.show:after {
  display: none;
}
.section-add_card .headline .lead span {
  display: none;
}
.section-add_card .headline .lead span.is-active {
  display: inline;
}
.section-add_card .content {
  /* display: none; */
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .section-add_card {
    padding: 0 0 30px;
  }
  .section-add_card .headline {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .section-add_card .headline:before, .section-add_card .headline:after {
    right: 15px;
    top: calc(50% + 25px);
    width: 30px;
  }
}
/* ------------------------------------------------------------
section-step
------------------------------------------------------------ */
.section-step {
  background-color: #fff;
  padding: 30px 0 45px;
  box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.06);
}
@media only screen and (max-width: 767px) {
  .section-step {
    padding: 40px 0;
    margin-top: 0;
  }
}
.section-step .headline {
  padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .section-step .headline {
    padding-bottom: 25px;
  }
}
@media only screen and (min-width: 768px) {
  .section-step .content .step_flow {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
  }
}
.section-step .content .step_flow li {
  width: 32%;
  border: 2px solid #d9052e;
  border-radius: 8px;
  position: relative;
  padding: 38px 30px 30px;
  display: flex;
  flex-direction: column;   /* 中身を縦に並べる */
  justify-content: center;  /* 中身を縦方向の中央に配置 */
}
.section-step .content .step_flow li .entry_url {
  display: flex;            /* blockから変更 */
  justify-content: center;  /* 横中央 */
  align-items: center;      /* 縦中央 */
  margin: 0 auto 20px;      /* 下のマージンだけ残す */
}
/* STEP内の画像サイズを制限し、縦横比を維持して中央に配置する */
.section-step .content .step_flow li img {
  width: 100%;            /* 親要素の幅を超えないようにする */
  max-width: 100px;       /* アイコンの最大サイズを指定（STEP2のアイコン群に合わせる） */
  height: auto;           /* 縦横比を維持 */
  margin: 0 auto 10px;    /* 左右中央に配置し、下のテキストとの間に余白を作る */
  display: block;
}

/* スマホ表示でのサイズ調整（必要に応じて） */
@media only screen and (max-width: 767px) {
  .section-step .content .step_flow li img {
    max-width: 80px;      /* スマホでは少し小さく調整 */
  }
}
.section-step .content .step_flow li:not(:last-child)::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 12px;
  border-color: transparent transparent transparent #d9052e;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -18px;
}
.section-step .content .step_flow li .step_num {
  border: 2px solid #d9052e;
  color: #d9052e;
  text-align: center;
  border-radius: 50px;
  position: absolute;
  background: #fff;
  padding: 0 30px;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
}
.section-step .content .step_flow li .step_num .step {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0;
}
.section-step .content .step_flow li .step_num .num {
  font-size: 24px;
  font-style: normal;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  padding: 0 0 0 4px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .section-step .content .step_flow li:not(:last-child)::before {
    top: auto;
    bottom: -26px;
    margin: auto;
    right: 0;
    left: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 12px solid #d9052e;
  }
  .section-step .content .step_flow li .step_num {
    line-height: 1;
    padding: 2px 30px 4px;
  }
  .section-step .content .step_flow li .step_num .step {
    font-size: 16px;
  }
}
.section-step .content .step_flow li .txt {
  text-align: center;
}
.section-step .content .step_flow li .txt img {
  max-height: 60px;
  margin-bottom: 5px;
}
.section-step .content .step_flow li .step_img {
  text-align: center;
  border: 1px solid #ddd;
  padding: 10px;
}
.section-step .content .step_flow li .step_img img {
  /* height: 100%; */
  width: 400px;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .section-step .content .step_flow li .txt .btn-img {
    /* width: calc(100% - 180px); */
  }
  .section-step .content .step_flow li .step_img {
    /* width: 90px;
    height: 90px; */
  }
}
@media only screen and (max-width: 767px) {
  .section-step .content .step_flow li .txt .btn-img {
    /* width: calc(100% - 180px); */
  }
  .section-step .content .step_flow li {
    width: 100%;
    padding: 30px 20px 20px;
    margin: 30px 0 0;
  }
  .section-step .content .step_flow li:not(:last-child) {
    padding-bottom: 40px;
  }
}
.section-step .content > .notes {
  padding-top: 30px;
  font-size: 13px;
  text-align: left;
}
.section-step .content > .notes .omatome {
  display: block;
  padding: 6px 0;
  margin-left: 2em;
}
.section-step .content > .notes .omatome span {
  position: relative;
}
.section-step .content > .notes .omatome span::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #d9052e;
  border-right: solid 1px #d9052e;
  position: absolute;
  top: 50%;
  left: -12px;
  margin-top: -3px;
  transform: rotate(45deg);
}
/* ------------------------------------------------------------
section-notes
------------------------------------------------------------ */
.section-notes{
  padding: 0 20px;
}
.section-notes .content .notes_title, .section-notes .content .notes {
  font-size: 14px;
  line-height: 1.75;
  font-weight: 400;
  text-align: left;
}
.section-notes .content .notes_title {
  font-size: 16px;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .section-notes {
    padding: 0 18px 50px;
  }
  .section-notes .content .notes_title {
    font-size: 16px;
  }
  .section-notes .content .notes {
    font-size: 13px;
  }
}
.site-footer {
  margin-bottom: 110px;
}
@media only screen and (min-width: 641px) {
  .site-footer .row {
    max-width: 1020px;
  }
}
/** SECTION FAQ
==============================================*/
.section-faq {
  background-color: #fff;
  padding: 80px 0 20px;
}
.section-faq .headline .headline_lead {
  font-weight: 300;
  margin-bottom: 40px;
}
.section-faq .headline .headline_title {
  letter-spacing: 0.2em;
}
@media screen and (min-width: 641px) {
  .section-faq .headline {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 1px;
  }
  .section-faq .headline .headline_lead {
    font-size: 20px;
  }
}
@media screen and (max-width: 640px) {
  .section-faq {
    padding: 0;
  }
  .section-faq .headline {
    padding-top: 35px;
    padding-bottom: 30px;
  }
  .section-faq .headline .headline_lead {
    font-size: 15px;
    line-height: 1.5;
  }
  .section-faq .headline .headline_title {
    font-size: 20px;
  }
}
@media screen and (min-width: 641px) {
  .section-faq .content {
    padding-bottom: 75px;
  }
}
@media screen and (max-width: 640px) {
  .section-faq .content {
    /* padding-right: 25px;
    padding-left: 25px; */
    padding-bottom: 55px;
  }
}
.faq-index {
  display: flex;
  justify-content: center;
}
.faq-index > li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq-index > li:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7.5px 0 7.5px;
  border-color: #004097 transparent transparent transparent;
  margin-left: 2px;
}
.faq-index > li a {
  color: #004097;
  font-weight: 400;
}
@media screen and (min-width: 641px) {
  .faq-index {
    align-items: center;
    margin-bottom: 55px;
  }
  .faq-index > li:not(:last-child) {
    margin-right: 20px;
  }
  .faq-index > li a {
    padding: 5px;
  }
}
@media screen and (max-width: 640px) {
  .faq-index {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .faq-index > li {
    width: calc(50% - 10px);
  }
  .faq-index > li:nth-child(odd) {
    margin-right: 10px;
  }
  .faq-index > li a {
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) {
  .faq-block:not(:first-child) {
    margin-top: 65px;
  }
}
@media screen and (max-width: 640px) {
  .faq-block:not(:first-child) {
    margin-top: 20px;
  }
}
.faq-block__headline {
  text-align: left;
  background-color: #f0eee7;
  font-weight: 600;
  position: relative;
}
.faq-block__headline span {
  border-left: 6px solid #d70c19;
  padding: 0 0 0 6px;
}
@media screen and (min-width: 641px) {
  .faq-block__headline {
    font-size: 20px;
    padding: 15px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 640px) {
  .faq-block__headline {
    font-size: 16px;
    padding: 10px 5px;
    margin-bottom: 15px;
  }
}
.section-faq .content .accordion_dl {
  counter-reset: number;
  text-align: left;
  border-bottom: 1px solid #d2d2d2;
  
}
.section-faq .content .accordion_dl > dt {
  display: flex;
  position: relative;
  border-top: 1px solid #d2d2d2;
  cursor: pointer;
}
.section-faq .content .accordion_dl > dt .txt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 500;
}
.section-faq .content .accordion_dl > dt .txt:before, .section-faq .content .accordion_dl > dt .txt:after {
  content: "";
  width: 16px;
  height: 2px;
  background-color: #d70c19;
  position: absolute;
}
.section-faq .content .accordion_dl > dt .txt:before {
  right: 5px;
  top: calc(50% - 1px);
}
.section-faq .content .accordion_dl > dt .txt:after {
  right: 5px;
  top: calc(50% - 1px);
  transform: rotate(90deg);
}
.section-faq .content .accordion_dl > dt.active .txt:after {
  opacity: 0;
}
@media screen and (min-width: 641px) {
  .section-faq .content .accordion_dl {
    margin: 0 12px;
  }
  .section-faq .content .accordion_dl > dt:not(:first-child) {
    margin-top: 5px;
  }
  .section-faq .content .accordion_dl > dt .txt {
    padding: 10px;
    width: calc(100% - 60px);
    font-size: 18px;
  }
}
@media screen and (max-width: 640px) {
  .section-faq .content .accordion_dl > dt {
    justify-content: flex-start;
    align-items: center;
  }
  .section-faq .content .accordion_dl > dt .txt {
    padding: 10px 25px 10px 15px;
    width: calc(100% - 30px);
  }
}
.section-faq .content .accordion_dl > dd > *:not(:first-child) {
  padding-top: 1em;
}
@media screen and (min-width: 641px) {
  .section-faq .content .notes {
    font-size: 13px;
    margin-top: 10px;
  }
  .section-faq .content .accordion_dl > dd {
    padding: 30px 20px 50px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 640px) {
  .section-faq .content .accordion_dl > dd {
    padding: 20px 15px 30px;
  }
  .section-faq .content .accordion_dl > dd .notes {
    font-size: 13px;
    margin-top: 10px;
  }
}
.section-faq .content .accordion_dl > dd .step_list {
  counter-reset: number;
}
.section-faq .content .accordion_dl > dd .step_list > li {
  padding-bottom: 20px;
}
.section-faq .content .accordion_dl > dd .step_list > li:not(:first-child) {
  padding-top: 20px;
}
.section-faq .content .accordion_dl > dd .step_list > li:not(:last-child) {
  border-bottom: 1px solid #4d4d4d;
}
.section-faq .content .accordion_dl > dd .step_list .box > .txt {
  position: relative;
}
.section-faq .content .accordion_dl > dd .step_list .box > .txt:before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  border: 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.section-faq .content .accordion_dl > dd .step_list .box > .img {
  margin-top: 10px;
  display: block;
  padding: 15px;
  border-radius: 5px;
}
@media screen and (min-width: 641px) {
  .section-faq .content .accordion_dl > dd .step_list .box > .txt {
    padding-left: 40px;
  }
  .section-faq .content .accordion_dl > dd .step_list .box > .txt:before {
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 640px) {
  .section-faq .content .accordion_dl > dd .step_list .box > .txt {
    padding-left: 30px;
  }
  .section-faq .content .accordion_dl > dd .step_list .box > .txt:before {
    width: 22px;
    height: 22px;
  }
  .section-faq .content .accordion_dl > dd .step_list .box > .img {
    border: 1px solid #cdcdcd;
  }
}
/** SECTION README
==============================================*/
.section-readme {
  background-color: #fff;
  padding: 60px 0 80px;
}
@media screen and (min-width: 641px) {
  /*.section-readme {
    margin-top: 50px;
  }*/
  .section-readme .headline {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 640px) {
  .section-readme {
    padding: 30px 0 30px;
  }
  .section-readme .headline {
    padding-bottom: 25px;
  }
}
.readme-block {
  height: 300px;
  overflow-y: scroll;
  border: 1px solid #c2c2c2;
  text-align: left;
  font-weight: 500;
  margin: 0 0 6px;
}
.readme-block__ttl {
  font-weight: 500;
  text-align: center;
  color: #d9052e;
}
.readme-dl > dt {
  font-weight: 500;
}
@media screen and (min-width: 641px) {
  .readme-block {
    padding: 30px;
  }
  .readme-block__ttl {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .readme-dl > dt:not(:first-child) {
    margin-top: 30px;
  }
  .readme-dl > dt {
    font-size: 16px;
    margin: 0 0 4px;
  }
  .readme-dl > dd {
    font-size: 14px;
    font-weight: 400;
  }
}
@media screen and (max-width: 640px) {
  .readme-block {
    padding: 30px 15px;
  }
  .readme-block__ttl {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .readme-dl > dt:not(:first-child) {
    margin-top: 20px;
  }
  .readme-dl > dt {
    font-size: 14px;
  }
  .readme-dl > dd {
    font-size: 12px;
  }
}
a.card_btn {
  text-decoration: none;
  background: #d70c19;
  color: #fff !important;
  padding: 6px 30px 6px;
  border-radius: 6px;
  box-shadow: 0px 4px 0px 0px rgb(179 12 22);
  font-weight: bold;
  font-size: 18px;
  position: relative;
  display: block;
}
a.card_btn span.a_inner::before {
  position: absolute;
  left: 23px;
  top: 18px;
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../image/ico_step1.svg);
  background-size: contain;
  vertical-align: middle;
}
a.card_btn span.a_inner::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -5px;
  transform: rotate(45deg);
}
a.card_btn span.a_inner span.txtsmall {
  display: block;
  font-size: 13px;
}

/* 835px以上では非表示 */
@media screen and (min-width: 835px) {
  .br-switch {
    display: none;
  }
}

/* 834px以下では表示（block） */
@media screen and (max-width: 834px) {
  .br-switch {
    display: block;
    content: ""; /* 改行を確実にするため */
  }
}

/* ------------------------------------------------------------
FAQアンカー位置補正
------------------------------------------------------------ */
.faq-block {
  /* margin-top: 65px 分を相殺して、タイトルが最上部に来るようにする */
  scroll-margin-top: 65px; 
}