/* subttl */



/* flex */

.flex{
  display: flex;
}

.flex.--aend{
  align-items: flex-end;
}


.flex.--arrow > *:first-child{
  flex: 0 0 40%;
}
.flex.--arrow > *:last-child{
  flex: 0 0 50%;
}
.flex.--arrow > *:nth-child(2){
  flex: 0 0 10%;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* effect */
.flex.--point3{
  gap: 2em 1.5em;
  line-height: 1.75;
}
.flex.--point3 > .flex_item{
  padding:2em;
  flex: 1 1 33%;
  border: 1px solid #099c7f;
  color: #099c7f;
}


/* caption */
.figure--normal .caption-special{
  display: flex;
  border: 1px solid #099c7f;
  margin-bottom: 0;
  padding: 0;
  color: #099c7f;
  margin-left: -1px;
  margin-right: -1px;
}
.caption-special > *:first-child{
  border-right: 1px solid #099c7f;
  flex:1 0 10em;
  padding: 1em;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.caption-special > *:last-child{
  padding: 1em;
}
.lh-s{
  line-height: 1.5 !important;
}


/* el_h3 */
.el_h3{
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0;
}


/* list */
.list-bold{
  font-weight: bold;
  line-height: 1.75;
}


/* notion */
.notion{
  padding: 3em;
  border: 1px solid #dedede;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0;
}
.notion_item + .notion_item{
  margin-top: 2em;
}


/* flow */
.list_flow_item{
  display: flex;
  gap: 1em;
}
.list_flow_item + .list_flow_item{
  margin-top: 3.5em;
}
.list_flow_item + .list_flow_item.--border{
  position: relative;
  margin-top: 7em;
  margin-bottom: 7em;
  text-align: center;
}
.list_flow_item.--border::before{
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  background-color: #B1B1B1;
  flex: 1 0 100%;
}
.list_flow_item_txt{
  display: inline-block;
  background-color: #ffffff;
  padding: 0.25em;
  font-size: 1.2em;
  margin-left: auto;
  margin-right: auto;
}
.list_flow_item_arrow{
  display: inline-block;
  position: absolute;
  top: calc(50% + 1.2em);
  font-size: 2em;
  left: 50%;
  transform: translate(-50%, -50%);
}
.num_flow{
  flex: 0 0 2em;
  border: 1px solid #B1B1B1;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-weight: bold;
  font-size: 1.4em;
}
.ttl_flow{
  font-size: 1.4em;
  font-weight: bold;
}
.body_flow{
  line-height: 1.75;
  margin-bottom: 0;
}
.body_flow.--box{
  padding: 1em;
  border: 1px solid #B1B1B1;
}
.content_flow_sub{
  padding-left: 1em;
  margin-top: 1em;
  border-left:1px solid #B1B1B1;
  line-height: 1.75;
}


/* list */
.list_item{
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.75;
}
.list_item + .list_item{
  margin-top: 0.5em;
}


/* table pricelist */
.table-blue-pricelist{
  /* padding-top: 2em;
  padding-bottom: 2em; */
  padding-bottom: 0.5em;
}
.table-blue-pricelist_row{
  display: flex;
  align-items: baseline;
}
.table-blue-pricelist_row.--bt{
  border-top: 1px solid #B1B1B1;
  padding-top: 0.8em;
}
.table-blue-pricelist_row + .table-blue-pricelist_row{
  margin-top: 0.15em;
}
.table-blue-pricelist_row.--bb{
  padding-bottom: 1.8em;
  border-bottom: 1px solid #B1B1B1;
}
.table-blue-pricelist_th{
  flex: 1 0 12em;
  font-size: 1.4em;
  margin-bottom: 0;
  line-height: 1.5;
}
.table-blue-pricelist_th.--s{
  flex: 0 0 8em;
}
.table-blue-pricelist_td{
  flex: 1 1 66.66%;
  font-size: 1.6em;
}
.table-blue-pricelist_td.--total{
  line-height: 1.2;
}
.blue-price-num{
  font-size: 1.1em;
  display: inline-block;
}
.blue-price-num.--s{
  font-size: 0.8em;
}
.blue-price-num.--l{
  font-size: 1.5em;
}
.blue-price-unit{
  font-size: 16px;
}
.fs-normal{
  font-size: 16px;
}
.fw-normal{
  font-weight: normal;
}
.table-blue-pricelist_list .list_item{
  line-height: 1.3;
}
.dis-ib{
  display: inline-block;
}

@media screen and (max-width: 991px) {
  .flex{
    flex-direction: column;
  }
  .el_h3{
    font-size: 1em;
  }
  .flex.--arrow > *:nth-child(2) > *{
    transform: rotate(90deg);
  }
  .table-blue-pricelist_row{
  }
  .table-blue-pricelist_th{
    font-size: 1.1em;
    flex-basis: 9em;
    padding-right: 1em;
  }
  .table-blue-pricelist_td{
    /* line-height: 1.25; */
  }
  .blue-price-num{
    font-size: 1em;
  }
  .blue-price-num.--l{
    font-size: 1.2em;
  }
  .fs-normal{
    font-size: 0.8em;
    line-height: 1.5;
  }
}