@charset "utf-8";
/* CSS Document */

/* リセット ここから↓↓ */
body {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #2c2c2c;
}
.pagebody_inner {
  max-width: 100%;
  padding: 0;
}
.contact_page_wrap label {
  font-weight: 500;
  display: block;
  margin-bottom: 0;
  padding-left: 0;
  text-indent: 0;
}
.mail_form select, 
.mail_form textarea, 
.mail_form input[type="tel"], 
.mail_form input[type="text"], 
.mail_form input[type="email"], 
.mail_form input[type="password"] {
  width: 100%;
  border: 1px solid #acacac;
  border-radius: 4px;
  /* padding: 7px 15px; */
  padding: 9px 15px 5px;
  background-color: #fff;
  font-size: 16px;
  line-height: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.mail_form textarea {
  height: 184px;
  padding: 15px;
}
.mail_form input[type="submit"] {
  width: auto;
  max-width: none;
  color: transparent;
  padding: 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  font-size: inherit;
  font-weight: 400;
  transition: all 0.3s;
}
.mail_form input[type="submit"]:hover {
  background-color: inherit;
}
.form_message {
  background-color: #ffffcb;
  border: 2px solid #cc0022;
  color: #cc0022;
}
/* リセット ここまで↑↑ */


/* 共通部品 ここから↓↓ */
.bl_section {
  padding: 60px 0;
}
@media screen and (min-width: 768px) {
  .bl_section {
    padding: 80px 0;
  }
}
.hp_bgBlue {
  background-color: #e1f4ff !important;
}
.hp_bgWhite {
  background-color: #fff !important;
}
.hp_underline {
  text-decoration: underline !important;
}
.hp_clrRed {
  color: #b02323 !important;
}
.el_lv2Heading {
  text-align: center;
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.26315789;
}
@media screen and (min-width: 768px) {
  .el_lv2Heading {
    font-size: 38px;
  }
}
.ly_centered {
  width: calc(100% - 40px);
  max-width: 1000px;
  margin-inline: auto;
}
/* 共通部品 ここまで↑↑ */


/* 吉本さん ここから↓↓ */

body{
  color: #2c2c2c;
}
/* 768px以下非表示 */
@media screen and (max-width: 768px) {
  .disp_pc{
  display: none;
  }
}
/* 768px以上非表示 */
@media screen and (min-width: 768px) {
  .disp_sp{
    display: none;
  }
}
.hp_bgLightBlue {
  background-color: #90daf5;
}
.ds_c_gray{
  color: #505260;
}
.ds_c_red{
  color: #B02323;
}
.ds_c_blue{
  color: #0077bd;
}
.ds_c_yellow{
  color: #ffd83b;
}
.ds_c_light_blue{
  color: #90d0f5;
}
.ds_c_black{
  color: #2c2c2c;
}
.ds_text_mb{
  font-weight: bold;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .ds_text_mb{
    font-size: 16px;
  }
}
.ds_heading_s{
  font-size: 18px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ds_heading_s{
    font-size: 20px;
  }
}
.ds_heading_m{
  font-size: 22px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ds_heading_m{
    font-size: 24px;
  }
}
.ds_heading_l{
  font-size: 26px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ds_heading_l{
    font-size: 30px;
  }
}
.ds_heading_spl{
  font-size: 28px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ds_heading_spl{
    font-size: 38px;
  }
}
.ds_content_wrap{
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 40px 20px;
}
@media screen and (min-width: 768px) {
  .ds_content_wrap{
    padding: 60px 40px;
  }
}
.ds_content_title{
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 15px;
  padding-left: 10px;
  color: #0077bd;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .ds_content_title{
    font-size: 24px;
    margin-bottom: 15px;
  }
}
.ds_content_title::after{
  content: "";
  position: absolute;
  transform: translateY(-50%);
  top: calc(50% - 5%);
  left: 0px;
  width: 4px;
  height: 110%;
  background-color: #0077bd;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .ds_content_title::after{
    top: calc(50% - 8%);
    height: 90%;
  }
}
.ds_content_title p{
  line-height: 1em;
  font-weight: bold;
}
.ds_content_title small{
  font-weight: normal;
  font-size: 0.8em;
  line-height: 1em;
}
.ds_cmn_info_table,
.ds_cmn_info_table tr,
.ds_cmn_info_table th,
.ds_cmn_info_table td{
  border: none;
}
.ds_cmn_info_table{
  border-collapse: separate;
  overflow: hidden;
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table{
      border: solid 1px #0077bd;
  }
}
.ds_cmn_info_table tr{
  border-radius: 4px;
  display: block;
  border: solid 1px #0077bd;
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table tr{
    display: table-row;
  }
}
.ds_cmn_info_table tr:not(:last-child){
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table tr:not(:last-child){
    margin-bottom: auto;
  }
}
.ds_cmn_info_table th,
.ds_cmn_info_table td{
  padding: 1em 0.5em;
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table th,
  .ds_cmn_info_table td{
    padding: 2em 1em;
    display: table-cell;
  }
}
.ds_cmn_info_table th{
  background-color: #0077bd;
  color: #FFF;
  text-align: left;
  vertical-align:top
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table th{
    border-bottom: solid 1px #FFFFFF;
    width: 25%;
  }
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table tr:last-child th{
    border-bottom: none;
  }
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table td{
    border-bottom: solid 1px #0077bd;
    width: 75%;
  }
}
@media screen and (min-width: 768px) {
  .ds_cmn_info_table tr:last-child td{
    border-bottom: none;
  }
}
.list_dot_lightblue{
  list-style: none;
  line-height: 1.6em;
}
.list_dot_lightblue li{
  position: relative;
  padding-left: 1.0em;
}
.list_dot_lightblue li::before{
  position: absolute;
  top: 0.3em;
  left: 0%;

  content: "";
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #90d0f5;
}

header{
  background-color: #FFF;
  position: relative;
}
@media screen and (min-width: 768px) {
  header{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba( 255, 255, 255, 0);
  }
}
.ds_header_wrap{
  margin: 10px auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ds_header_wrap{
    margin: 30px auto  10px;
  }
}
.ds_header_wrap img{
  max-width: 550px;
  width: 100%;
}

.ds_footer{
  width: 100%;
  height: auto;
  padding-top: 30px;
  padding-bottom: 30px;
}
.ds_footer_company_wrap{
  margin: 40px auto 60px;

  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .ds_footer_company_wrap{
    justify-content: space-between;
  }
}
.ds_footer_company_content{
  border: dashed 2px #0077BD;
  border-radius: 10px;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;

  width: 100%;
}
@media screen and (max-width: 767px) {
  .ds_footer_company_content:not(:last-child){
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .ds_footer_company_content{
    width: calc(100% / 2 - 20px);
    padding: 30px 40px;
  }
}

.ds_footer_company_logo{
  margin-bottom: 20px;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .ds_footer_company_logo{
  }
}
.ds_footer_company_logo img{
  max-width: 220px;
  width: calc(100% - 20px);
}

.ds_footer_company_text{
  text-align: center;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .ds_footer_company_text{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-grow: 2;
    font-size: 16px;
  }
}
.ds_footer_company_message{
  margin-bottom: 30px;
  text-align: center;
}
.ds_copyright_wrap{
  text-align: center;
}

.bgimh_firstview{
  background-image:
    url(/image/ryuginsignage/img_triangle_r.png),
    url(/image/ryuginsignage/img_triangle_l.png),
    linear-gradient(#e5f6fc 0%, #f4fcfe 100%);
  background-repeat:
    no-repeat,
    no-repeat;
  background-position: 
    top right,
    bottom left;
  background-size: 
    contain,
    contain,
    contain;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
    .bgimh_firstview{
      padding-bottom: 20px;
      background-size: 
        350px,
        400px,
        contain;
    }
}
.ds_firstview_wrap{
  max-width: 1180px;
  margin: 20px auto 0;
  padding: 40px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #FFFFFF;
  border: dashed 1px #0077bd;
  border-radius: 40px;
  width: calc(100% - 40px);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .ds_firstview_wrap{
    margin-top: 60px;
    padding: 40px;
    justify-content: space-between;
  }
}
.ds_firstview_heading{
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ds_firstview_heading{
    width: 48%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
.ds_firstview_heading h1{
  font-size: 25px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ds_firstview_heading h1{
    margin-top: 20px;
    font-size: 40px;
  }
}
.ds_firstview_heading h1::after{
    content: "";
    background-image: url(/image/ryuginsignage/icon_yoyaku01_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 200px;
    height: 100px;
    top: -90px;
    left: 0%;
}
@media screen and (min-width: 400px) {
  .ds_firstview_heading h1::after{
    left: 0%;
  }
}
@media screen and (min-width: 500px) {
  .ds_firstview_heading h1::after{
    left: 10%;
  }
}
@media screen and (min-width: 600px) {
  .ds_firstview_heading h1::after{
    left: 20%;
  }
}
@media screen and (min-width: 768px) {
  .ds_firstview_heading h1::after{
    background-image: url(/image/ryuginsignage/icon_yoyaku01_pc.png);
    width: 26%;
    height: 60%;
    top: -16%;
    left: -3%;
  }
}
@media screen and (min-width: 940px) {
  .ds_firstview_heading h1::after{
    width: 26%;
    height: 60%;
    top: -25%;
    left: -3%;
  }
}
@media screen and (min-width: 1024px) {
  .ds_firstview_heading h1::after{
    width: 26%;
    height: 70%;
    top: -30%;
    left: -3%;
  }
}
@media screen and (min-width: 1240px) {
  .ds_firstview_heading h1::after{
    width: 26%;
    height: 70%;
    top: -36%;
    left: -3%;
  }
}
.ds_firstview_heading h1 > img{
  display: block;
  margin: 10px auto 0px;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  .ds_firstview_heading h1 > img{
    max-width: 100%;
  }
}

.ds_firstview_heading p{
  margin-top: 20px;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .ds_firstview_heading p{
    font-size: 20px;
  }
}
.ds_firstview_img{
  margin-top: 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_firstview_img{
    margin-top: auto;
    width: 48%;
  }
}
.ds_firstview_img img{
  border-radius: 8px;
}
.ds_firstview_img p{
  margin-top: 10px;
}
.ds_firstview_btn{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_firstview_btn{
    width: 45%;
  }
}

.el_contactBtn {
  position: relative;
  width: 100%;
  max-width: 470px;
  min-height: 70px;
  margin-inline: auto;
  background-color: #cc0022;
  border-radius: calc(70px / 2);
  box-shadow: 0 6px 0 0 #980d24;
  transition: box-shadow 0.2s ease-out, transform 0.3s ease-out;

  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  color: #FFFFFF !important;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .el_contactBtn {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 900px) {
  .el_contactBtn {
      font-size: 30px;
  }
}

.el_contactBtn.disp_pc{
  display: none;
}
.el_contactBtn.disp_sp{
  display: flex;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .el_contactBtn.disp_pc{
    margin-bottom: 16px;
    display: flex;
  }
  .el_contactBtn.disp_sp{
    display: none;
  }
}

.el_contactBtn:hover {
  background-color: #980d24;
  box-shadow: none;
  transform: translateY(6px);
}
.el_contactBtn::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(90deg);
  width: 22px;
  height: 22px;
  background: url("/image/ryuginsignage/icon_arrow.svg") no-repeat center;
  background-size: 22px 22px;
}
.el_contactBtn > input[type="submit"].submit {
  display: block;
  width: 100%;
  padding: 21px 40px 19px;
  color: #fff;
  border-radius: calc(70px / 2);
  font-weight: 700;
  font-size: 20px;
  border: none;
  background-color: #cc0022;
}
.ds_aboutLED_wrap{
  margin: 40px auto 10px;
  text-align: center;
}
.ds_aboutLED_wrap h2{
  text-align: center;
}
.ds_aboutLED_wrap p{
  text-align: left;
}
@media screen and (min-width: 768px) {
  .ds_aboutLED_wrap p{
    text-align: center;
  }
}

.ds_merit_section{
  margin-top: 0px;
  padding-top: 0px;
}
.bgimg_building{
  background-image: url(/image/ryuginsignage/bg02_sp.png);
  background-position: bottom left;
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .bgimg_building{
    background-image: url(/image/ryuginsignage/bg02_pc.png);
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
.ds_merit_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ds_merit_content{
  position: relative;
  border: solid 2px #0077bd;
  border-radius: 20px;
  background-color: #FFFFFF;

  padding: 20px 15px;
  width: 100%;

  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .ds_merit_content{
      margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .ds_merit_content{
    padding: 20px 20px;
    width: 30%;
  }
}
.ds_merit_content_title{
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding-left: calc(60px / 2 + 20px);

  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .ds_merit_content_title{
    padding-left: calc(60px / 2 + 10px);
  }
}
.ds_merit_content_title h3{
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .ds_merit_content_title h3{
      font-size: 24px;
  }
}
.ds_merit_icon{
    position: absolute;
    left: 0%;
    transform: translateX(-40%);
    width: 60px;
    height: 60px;
}
@media screen and (min-width: 768px) {
  .ds_merit_icon{
    transform: translateX(-60%);
  }
}
.ds_merit_content_text{
  margin-top: 20px;
  border-top: dashed 1px #acacac;
  padding-top: 20px;
  width: 100%;
  flex-grow: 1;
}

.ds_location_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ds_location_head{
  margin: 0 auto 20px;
  padding: 0.3em 0.5em;
  width: 100%;

  border-radius: 4px;
  background-color: #2c2c2c;
  color: #FFFFFF;
  font-size: 26px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ds_location_head{
    padding: 0.6em 1em 0.5em;
    width: auto;
  }
}
.ds_location_text{
  font-weight: bold;
  font-size: 16px;
}

.ds_spec_wrap{
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .ds_spec_wrap{
    justify-content: space-between;
  }
}
.ds_spec_img{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_spec_img{
    width: 40%;
  }
}
.ds_spec_text{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_spec_text{
    width: calc(60% - 30px);
  }
}
.ds_spec_text_title{
  margin-top: 40px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .ds_spec_text_title{
  margin-top: 15px;
  }
}
.ds_spec_text_title small{
  font-size: 20px;
  font-weight: lighter;
}
.ds_spec_text_title h4{
  font-size: 30px;
}
.ds_spec_tabel,
.ds_spec_tabel th,
.ds_spec_tabel td{
  border: none;
}
.ds_spec_tabel th,
.ds_spec_tabel td{
  display: block;
}
@media screen and (min-width: 768px) {
  .ds_spec_tabel th,
  .ds_spec_tabel td{
    display: table-cell;
  }
}
.ds_spec_tabel th{
  background-color: #90d0f5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .ds_spec_tabel th{
    display: inline-block;
    border-right: solid 10px #FFF;
    border-bottom: solid 10px #FFF;
    width: 100%;
  }
}
.ds_spec_tabel td{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_spec_tabel td{
    width: 60%;
  }
}
.ds_regu_wrap{
  margin-top: 30px;
  border: solid 2px #0077bd;
  border-radius: 20px;
  padding: 50px 30px;
}
.ds_regu_img{
  margin: 30px auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_regu_img{
    max-width: 768px;
  }
}

.ds_step_content{
  display: flex;
  flex-wrap: wrap;
}
.ds_step_content:not(:last-child){
  margin-bottom: 30px;
}
.ds_step_img{
  display: flex;
  align-items: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_step_img{
    width: 110px;
    height: 110px;
  }
}
.ds_step_img img{
  margin-right: 20px;
  width: 50px;
  height: 50px;
}
@media screen and (min-width: 768px) {
  .ds_step_img img{
    margin-right: auto;
    width: auto;
    height: auto;
  }
}
.ds_step_text{
  margin-top: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_step_text{
    margin-top: auto;
    margin-left: 30px;
    width: calc(100% - 110px - 30px);
  }
}
.ds_step_no{
  font-size: 24px;
  font-weight: bold;
}
.ds_step_main{
  font-size: 16px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ds_step_main{
      font-size: 18px;
  }
}
.ds_step_sub{
  font-size: 16px;
}

.ds_step_example_wrap{
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .ds_step_example_wrap{
    justify-content: space-between;
  }
}
.ds_step_example_img{
  margin-bottom: 20px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ds_step_example_img{
    margin-top: auto;
    margin-bottom: auto;
    width: 30%;
  }
}
.ds_step_example_text{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ds_step_example_text{
    width: calc(70% - 30px)
  }
}
.ds_step_example_text ol{
  counter-reset:number;
  list-style-type: none!important;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .ds_step_example_text ol{
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.ds_step_example_text li{
  position: relative;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 1.8em;
}
.ds_step_example_text li::before{
  position: absolute;
  counter-increment: number 1;
  content: counter(number) "";
  border-radius: 50%;

  display: flex;
  align-items: baseline;
  justify-content: center;
  width: 1.4em;
  height: 1.4em;
  left: 0;

  background-color: #0077bd;
  color: #FFF;
}

.ds_section_price img{
  width: 100%;
}
/* 吉本さん ここまで↑↑ */


/* メールフォーム ここから↓↓ */
@media screen and (min-width: 768px) {
  .un_contact__mtSpace {
    margin-top: 98px;
  }
}
.un_contact_lv3Heading {
  position: relative;
  margin: 40px 0 15px;
  padding-left: 14px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .un_contact_lv3Heading {
    margin: 60px 0 15px;
  }
}
.un_contact_lv3Heading::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-radius: 8px;
  background-color: #0077bd;
}
.un_contact .el_lv2Heading {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .un_contact .el_lv2Heading {
    margin-bottom: 50px;
  }
}

.bl_flowList {
  display: flex;
  gap: 0 35px;
}
.bl_flowList > li {
  position: relative;
  width: calc((100% - 70px) / 3);
  /* padding: 0 10px 17px; */
  padding: 0 0 17px;
  font-size: 16px;
  line-height: 1.55555556;
}
@media screen and (min-width: 768px) {
  .bl_flowList > li {
    font-size: 18px;
  }
}
.bl_flowList > li::before {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% - 13px);
  height: 6px;
  background-color: #818181;
}
.bl_flowList > li::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 14px;
  height: 12px;
  background-color: #818181;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.bl_flowList > li:last-child::after {
  content: none;
}
.bl_flowList > li .num {
  display: block;
  margin-bottom: 5px;
  font-size: 24px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .bl_flowList > li .num {
    font-size: 34px;
  }
}
.bl_flowList > li.is_current {
  font-weight: 700;
}
.bl_flowList > li.is_current .num {
  color: #0077bd;
}
.bl_flowList > li.is_current::before,
.bl_flowList > li.is_current::after {
  background-color: #0077bd;
}

.bl_formTable {
  margin: 0 -20px;
  padding: 40px 20px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .bl_formTable {
    margin: 0;
    padding: 40px 50px;
    border-radius: 16px;
  }
}
.bl_formTable table {
  width: 100%;
  border: none;
}
.bl_formTable table tr:first-child th {
  padding-top: 0;
}
/* @media screen and (min-width: 768px) {
  .bl_formTable table tr:first-child th {
    padding-top: 8px;
  }
} */
@media screen and (min-width: 768px) {
  .bl_formTable table tr:first-child td {
    padding-top: 0;
  }
}

.bl_formTable table:not(:has(+ .el_btnList)) tr:last-child td {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .bl_formTable table:not(:has(+ .el_btnList)) tr:last-child th {
    border-bottom: none;
    padding-bottom: 0;
  }
}

.bl_formTable th,
.bl_formTable td {
  display: block;
  border-top: none;
  border-right: none;
  border-left: none;
}
@media screen and (min-width: 768px) {
  .bl_formTable th,
  .bl_formTable td {
    display: table-cell;
  }
}
.bl_formTable th {
  padding: 25px 0 0 0;
  text-align: left;
  background-color: transparent;
  font-weight: 500;
  vertical-align: top;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .bl_formTable th {
    padding: 33px 20px 25px 0;
    border-bottom: 1px dashed #acacac;
  }
}
.bl_formTable td {
  padding: 16px 0 25px 0;
  border-bottom: 1px dashed #acacac;
}
@media screen and (min-width: 768px) {
  .bl_formTable td {
    width: 64%;
    padding: 25px 30px 25px 0;
  }
}
.bl_formTable td > *:first-child {
  margin-top: 0 !important;
}
.bl_formTable td > *:last-child {
  margin-bottom: 0 !important;
}
.bl_formTable td .ttl {
  font-size: 16px;
  line-height: 1.625;
}
.bl_formTable td .start {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.bl_formTable_ttls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}
.bl_formTable_ttl {
  font-size: 16px;
  line-height: 1.625;
}
.bl_formTable_required {
  display: inline-block;
  margin-bottom: 3px;
  padding: 4px 5px 2px;
  border: 1px solid #b02323;
  color: #b02323;
  border-radius: 2px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
}
.bl_formTable_note {
  position: relative;
  margin: 8px 0;
  padding-left: 1em;
  font-size: 14px;
  line-height: 1.57142857;
}
.bl_formTable_note::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}
.bl_formTable_error {
  display: block;
  margin: 8px 0;
  color: #b02323;
  font-size: 14px;
  line-height: 1.57142857;
}
.bl_formTable_txt {
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.57142857;
}
.bl_formTable_list {
  margin: 8px 0;
}
.bl_formTable_list > li {
  position: relative;
  padding-left: 1em;
}
.bl_formTable_list > li::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}

.el_input__sm {
  width: 40% !important;
}
.el_input__error,
.el_month__error,
.el_textarea__error {
  border: 1px solid #b02323 !important;
  background-color: #FFF7F7 !important;
}
.el_checkbox__error + .el_checkbox_ttl::before {
  border: 1px solid #b02323;
  background-color: #FFF7F7;
}
.el_radio__error + .el_radio_ttl::before {
  border: 1px solid #b02323;
  background-color: #FFF7F7;
}

.el_radio_ttl {
  position: relative;
  padding-left: calc(16px + 9px);
  font-size: 16px;
  line-height: 1.625;
  cursor: pointer;
}
.el_radio_ttl::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
  width: 15px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #acacac;
}
.el_radio_ttl::after {
  content: '';
  position: absolute;
  top: 6px;
  left: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color:#0077bd;
  opacity: 0;
}
.el_radio_label + .el_radio_label {
  margin-top: 8px;
}
.el_radio {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.el_radio:checked + .el_radio_ttl::before {
  border-color: #0077bd;
}
.el_radio:checked + .el_radio_ttl::after {
  opacity: 1;
}

.el_checkbox_ttl {
  position: relative;
  padding-left: calc(16px + 9px);
  font-size: 16px;
  line-height: 1.625;
  cursor: pointer;
}
.el_checkbox_ttl::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 2px;
  border: 1px solid #acacac;
  background-color: #fff;
}
.el_checkbox_ttl::after {
  content: '';
  position: absolute;
  top: 8px;
  left: 4px;
  transform: rotate(-40deg);
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0;
}
.el_checkbox_label + .el_checkbox_label {
  margin-top: 8px;
}
.el_checkbox {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.el_checkbox:checked + .el_checkbox_ttl::before {
  background-color: #0077bd;
  border-color: #0077bd;
}
.el_checkbox:checked + .el_checkbox_ttl::after {
  opacity: 1;
}
.el_month {
  border-radius: 2px;
  border: 1px solid #acacac;
}

.el_link {
  position: relative;
  color: #0077bd !important;
  transition: opacity 0.3s ease-out;
}
.el_link[target="_blank"]::after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 2px;
  margin: 0 4px 0 2px;
  transform: translateY(3px);
  background: url("/image/ryuginsignage/icon_externallink.svg") no-repeat center;
  background-size: 18px 18px;
}
@media screen and (min-width: 768px) {
  .el_link[href^="tel"] {
    pointer-events: none;
    color: #111 !important;
    text-decoration: none;
  }
}
.el_link:hover {
  opacity: 0.7;
  color: #0077bd;
}

.el_btnList {
  display: flex;
  flex-direction: column;
  gap: 30px 0;
  margin-top: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .el_btnList {
    flex-direction: row;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .el_btnList > li {
    width: 100%;
  }
}

.el_submitBtn,
.el_submitBtn__gray {
  position: relative;
  width: 100%;
  max-width: 295px;
  min-height: 70px;
  margin-inline: auto;
  background-color: #cc0022;
  border-radius: calc(70px / 2);
  box-shadow: 0 6px 0 0 #980d24;
  transition: box-shadow 0.2s ease-out, transform 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .el_submitBtn {
    min-width: auto;
    max-width: 470px;
  }
}
.el_submitBtn:hover,
.el_submitBtn__gray:hover {
  background-color: #980d24;
  box-shadow: none;
  transform: translateY(6px);
}
.el_submitBtn::after,
.el_submitBtn__gray::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url("/image/ryuginsignage/icon_arrow.svg") no-repeat center;
  background-size: 22px 22px;
}
@media screen and (min-width: 768px) {
  .el_submitBtn::after,
  .el_submitBtn__gray::after {
    right: 25px;
    width: 32px;
    height: 32px;
    background-size: 32px 32px;
  }
}
.el_submitBtn > input[type="submit"].submit {
  display: block;
  width: 100%;
  padding: 21px 40px 19px;
  color: #fff;
  border-radius: calc(70px / 2);
  font-weight: 700;
  font-size: 20px;
}
.el_submitBtn__gray {
  background-color: #818181;
  box-shadow: 0 6px 0 0 #5b5b5b;
}
.el_submitBtn__gray:hover {
  background-color: #5b5b5b;
}
.el_submitBtn__gray::after {
  right: auto;
  left: 15px;
  transform: translateY(-50%) scale(-1, 1);
  background-image: url("/image/ryuginsignage/icon_arrow_gray.svg");
}
@media screen and (min-width: 768px) {
  .el_submitBtn__gray::after {
    left: 25px;
  }
}

/* メールフォーム ここまで↑↑ */