@charset "UTF-8";
#sp_flow_menu {
  box-sizing: border-box;
  overflow: hidden;
  margin: 20px 10px;
  border: 1px solid #cccccc;
  border-radius: 5px;
}
#sp_flow_menu li {
  box-sizing: border-box;
  position: relative;
  width: 50%;
  float: left;
  border-bottom: 1px solid #cccccc;
}
#sp_flow_menu li a {
  display: block;
  height: 50px;
}
#sp_flow_menu li a .sp_menu_txt {
  position: relative;
  top: 10px;
  left: 5px;
  height: 30px;
  width: auto;
}
#sp_flow_menu li a .sp_menu_step {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: auto;
  z-index: 1;
}
#sp_flow_menu li:nth-child(5), #sp_flow_menu li:nth-child(6) {
  border-bottom: none;
}
#sp_flow_menu li:nth-child(odd) {
  border-right: 1px solid #cccccc;
}

#sp_flow_index {
  background-color: #ffffff;
  font-size: 12px;
}
#sp_flow_index .index_step_title_area {
  padding: 0 10px;
  position: relative;
}
#sp_flow_index .index_step_title_area .index_step_title {
  border-bottom: 1px dotted #000;
  line-height: 1em;
  margin-bottom: 5px;
}
#sp_flow_index .index_step_title_area .index_step_title img {
  width: 170px;
  height: 45px;
}
#sp_flow_index .index_step_title_area .index_step_title span {
  position: absolute;
  top: 13px;
  right: 10px;
}
#sp_flow_index .index_step_title_area .index_step_title span img {
  width: 83px;
  height: 23px;
}
#sp_flow_index .index_step_title_area .index_step_subtitle img {
  width: 100%;
  height: auto;
}
#sp_flow_index .flow_index_menu {
  border-top: 1px solid #1fbba6;
}
#sp_flow_index .flow_index_menu li a {
  display: block;
  height: 30px;
  line-height: 30px;
  font-size: 14px;
  color: #515151;
  background-color: #e9f4f1;
  padding: 0 0 0 10px;
  border-bottom: 1px solid #1fbba6;
  background-image: url(../img/flow/sp_icn_list_arrow.png);
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: 98% 50%;
}
#sp_flow_index .flow_index_menu.mg30 {
  margin-bottom: 30px;
}

#flow_box_headline {
  position: relative;
  margin: 20px 10px 10px;
  padding: 5px 10px 0px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
#flow_box_headline img {
  width: auto;
  height: 40px;
}
#flow_box_headline .sp_headline_step {
  position: absolute;
  top: 0;
  right: 10px;
  width: 64px;
  height: auto;
}

.sp_flow_headings {
  position: relative;
  font-size: 17px;
  font-weight: bold;
  text-indent: 15px;
  border-bottom: 1px solid #ccc;
  padding: 5px 0 10px;
  margin: 0 10px 0 10px;
}
.sp_flow_headings:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 5px;
  height: 26px;
  background-color: #8cc63f;
}

.sp_flow_headings.small {
  font-size: 13px;
}

.sp_flow_subheadings {
  margin: 5px 0 5px 10px;
  font-weight: bold;
  color: #feaf48;
}

.flow_step02_box {
  margin: 5px 10px 10px;
  padding: 10px 0;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.flow_step02_box .flow_step02_txt {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}
.flow_step02_box .flow_step02_img img {
  width: 100%;
  height: auto;
}
.flow_step02_box .txt_c01 {
  color: #7cc653;
}
.flow_step02_box .txt_c02 {
  color: #1fbba6;
}
.flow_step02_box .txt_c03 {
  color: #fc9a30;
}

.btn_flow {
  margin: 0 10px 30px;
}
.btn_flow a {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  height: 30px;
  text-indent: 10px;
  line-height: 28px;
  font-size: 14px;
  color: #515151;
  background-color: #e9f4f1;
  border-radius: 5px;
  border: 1px solid #1fbba6;
}
.btn_flow a:after {
  position: absolute;
  top: 0;
  right: 10px;
  content: "";
  display: block;
  width: 15px;
  height: 100%;
  background-image: url(../img/flow/sp_icn_list_arrow.png);
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: 0 50%;
}

.btn_flow.short {
  margin: 20px 10px 10px;
}
.btn_flow.short a {
  font-size: 13px;
}

.btn_flow.list {
  margin: 0 10px 10px;
}

.sp_attend {
  position: relative;
  margin: 0 10px 10px;
  text-indent: 35px;
  color: #ea5353;
  font-size: 12px;
  border: 1px solid #cccccc;
  height: 30px;
  line-height: 30px;
  border-radius: 15px;
}
.sp_attend:after {
  content: "※";
  text-indent: 0;
  font-size: 21px;
  line-height: 26px;
  text-align: center;
  color: #ffffff;
  position: absolute;
  display: block;
  top: 2px;
  left: 2px;
  width: 26px;
  height: 26px;
  background-color: #ea5353;
  border-radius: 13px;
}

.sp_attend_2 {
  position: relative;
  margin: 0 10px 10px;
  padding: 10px 0 10px 35px;
  color: #ea5353;
  font-size: 12px;
  border: 1px solid #cccccc;
  height: 30px;
  line-height: 1.25;
  border-radius: 15px;
}
.sp_attend_2:after {
  content: "!";
  text-indent: 0;
  font-size: 21px;
  line-height: 26px;
  text-align: center;
  color: #ffffff;
  position: absolute;
  display: block;
  top: 13px;
  left: 2px;
  width: 26px;
  height: 26px;
  background-color: #ea5353;
  border-radius: 13px;
}

.sp_attend.small {
  text-indent: 33px;
  font-size: 10px;
}

.flow_step03_box {
  margin: 10px 10px 30px;
}
.flow_step03_box .pic_box {
  margin: 0 0 10px;
}
.flow_step03_box .pic_box .pic img {
  width: 100%;
  height: auto;
}
.flow_step03_box .txt_box {
  font-size: 13px;
  line-height: 1.5;
}
.flow_step03_box .txt_box .flow_step03_large_txt {
  font-size: 14px;
  margin-bottom: 10px;
}
.flow_step03_box .txt_box .flow_sub_headings {
  position: relative;
  display: block;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  margin-bottom: 5px;
  margin-right: 10px;
}
.flow_step03_box .txt_box .flow_sub_headings:before {
  content: "■ ";
  color: #8cc63f;
}
.flow_step03_box .txt_box .flow_btn_img {
  height: 15px;
  width: auto;
}
.flow_step03_box .txt_box a {
  color: #006837;
  text-decoration: underline;
}
.flow_step03_box .txt_box #sp_kakunin_pic {
  width: 100%;
  height: auto;
}
.flow_step03_box #seven_img img {
  width: 100%;
}
.flow_step03_box .asterisk {
  color: #ea5353;
}
.flow_step03_box .icn_arrow_green, .flow_step03_box .icn_square_green {
  vertical-align: text-bottom;
}
