.lal_prodct_btn{margin-top: 20px;}
.lal_section {
    margin-bottom: 30px;
}

@media screen and (min-width: 768px), print{
  .lal_pageNavi {
    ul {
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      li {
        padding: 0 11px;
      }
    }
  }
}

/*============================
.lal_prodct_main
============================*/

.lal_prodct_main{
  
 .mt10{margin-top: 10px;}
 .mt20{margin-top: 20px;}
 .mt30{margin-top: 30px;}
 .mt40{margin-top: 40px;}
 .mb20{margin-bottom: 20px;}
 .mb30{margin-bottom: 30px;}
 .mb40{margin-bottom: 40px;}
 .fc_red{color: #fb0020;}
 .center{text-align: center;}


  figure{margin: 0;}

  .lal_list {
    list-style: none;
    padding-left: 30px;
  }

  .prod-item-subtxt{
    color: #39A373;
    margin: 5px 0px 15px;
    font-size: 15px;
    border-bottom: solid 1px #39A373;
    margin-top: 40px;
  }
  h3+.prod-item-subtxt{margin-top: 0;}
  figure.cBox figcaption{width: fit-content;margin: auto;}


  /* list */
  ul.disc{
    list-style: disc;
    padding-left: 1.5em;
  }

  /* 段組み */
  .flex-wrap{
      display: flex;
      gap:20px;
      
      &.col2>*{width: calc(100% / 2);}
      &.col3>*{width: calc(100% / 3);}
  }
  .grid-wrap{
      display: grid;
      gap:10px;
      
      &.col2{grid-template-columns: repeat(2,1fr);}
      &.col3{grid-template-columns: repeat(3,1fr);}
  }


  /* 丸数字リスト */
  .num-list{
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin: 0;

    li {
      font-size: 13px;
      padding-left: 1.5em;
      position: relative;
    }
    li:before {
      content: counter(my-counter);
      counter-increment: my-counter;
      border: 1px solid #595757;
      border-radius: 50%;
      box-sizing: border-box;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 1.2em;
      width: 1.2em;
      position: absolute;
      top: 0;
      left: 0;
      padding-top: 2px;
    }

  }
 
  /* video_area */
  .video_area {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 16 / 9;
    
    iframe {
      width: 100%;
      height: 100%;
    }
  }


  .prod-item-graph01{
    figure{margin-top: 20px;}
    figcaption{
      display: flex;
      align-items: center;
      font-size: 15px;
      font-style: italic;
    }
    .ico01:before,
    .ico02:before,
    .ico03:before,
    .ico04:before,
    .ico05:before,
    .ico06:before{
      background-position: 0 center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 2.5em;
      height: 2.5em;
      content:"";
      display: inline-block;
      margin-right: 2px;
    }
    .ico01:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico01.png);}
    .ico02:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico02.png);}
    .ico03:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico03.png);background-size: 80% auto;}
    .ico04:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico04.png);}
    .ico05:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico05.png);}
    .ico06:before{background-image:url(/jp/lal/products/images/ribo_nat/ribo_nat_ico06.png);}
  }
  
  .kit-spec{
    td{ padding: 5px !important;text-align: left;vertical-align: top;}
  }

  .prod-item-kit{
    .name{font-size: 16px;line-height: 1.4;font-weight: bold;}
    >div:last-child{
      display: flex;
      flex-direction: column;
      
      p{margin-top: auto;}
    }
  }



}





/* ========= */
@media screen and (min-width: 768px), print {
.flex-box-cont {display: flex;}
}

  .prod-step-wrapper {
    margin-bottom: 30px;
    @media screen and (max-width: 768px) {
      display: flex;
      gap: 10px;
      .stepbox {
        width: calc(100% - 40px);
        order: 2;
      }
      .totalbox {
        width: 40px;
        order: 1;
      }
    }
    .gap20-50 {
      @media screen and (min-width: 768px), print {
        gap: 20px 50px;
      }
    }
    .prod-step {
      position: relative;
      max-width: 400px;
      flex: 1;
      @media screen and (max-width: 768px) {
        &:not(:first-child) {
          margin-top: 50px;
        }
      }
      &:not(:first-child):before {
        @media screen and (max-width: 768px) {
          content: "";
          position: absolute;
          top: -40px;
          left: 50%;
          transform: translate(-50%, 0);
          display: inline-block;
          width: 49.4px;
          height: 30px;
          background: #3aaa78;
          clip-path: polygon(0 43.4%, 29.8% 43.4%, 29.8% 0, 70.2% 0, 70.2% 43.4%, 100% 43.4%, 50% 100%);
        }

        @media screen and (min-width: 768px), print {
          content: "";
          position: absolute;
          top: 30%;
          left: -10px;
          transform: translateX(-100%);
          zoom: 80%;
          display: inline-block;
          width: 38px;
          height: 38.2px;
          background: #3aaa78;
          clip-path: polygon(0 27.7%, 49.8% 27.7%, 49.8% 0, 100% 50%, 49.8% 100%, 49.8% 72.3%, 0 72.3%);
        }
      }
      dt {
        border: 1px solid #2e9265;
        background: #3aaa78;
        color: #fff;
        line-height: 2;
        text-align: center;
        font-weight: bold;
      }
      dd {
        display: flex;
        flex-direction: column;
        figure {
          text-align: center;
          img {
            max-height: 120px;
          }
          @media screen and (max-width: 768px) {
            margin-inline-start: 0;
            margin-inline-end: 0;
          }
        }
        .item-list01 {
          margin-bottom: 1em;
          li {
            margin-left: 1.3em;
            font-weight: bold;
          }
        }
      }
      .time {
        text-align: center;
        font-weight: bold;
        color: #3aaa78;
        font-size: 1.1em;
      }
      .label {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 84%;
        margin: 0 auto;
        list-style: none;

        li {
          border: 1px solid #c55a11;
          text-align: center;
          font-weight: bold;
          padding: 4px 2px;
          margin: 0;
          &.kit00 {
            background: none;
            border: none;
          }
          &.kit01 {
            background: color-mix(in srgb, #f4b183 10%, white);
          }
          &.kit02 {
            background: color-mix(in srgb, #f4b183 25%, white);
            border-top: none;
            border-bottom: none;
          }
          &.kit03 {
            background: color-mix(in srgb, #f4b183 50%, white);
          }
        }
      }
    }
    .total {
      background: #3aaa78;
      color: #fff;
      font-weight: bold;
      padding: 5px 0;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      &::after {
        content: "";
        position: absolute;
        display: inline-block;
        vertical-align: middle;
        color: #3aaa78;
        border-style: solid;
        line-height: 1;
        width: 0;
        height: 0;
        border-color: transparent;
      }
      @media screen and (max-width: 768px) {
        width: 20px;
        margin: 0 10px;
        height: calc(100% - 20px);
        &::after {
          bottom: -20px;
          left: 50%;
          transform: translate(-50%, 0);
          border-width: 20px 20px;
          border-bottom: 0;
          border-top-color: currentColor;
        }
      }
      @media screen and (min-width: 768px), print {
        width: calc(100% - 30px);
        margin: 20px 0;
        & br {
          display: none;
        }
        &::after {
          top: 50%;
          right: -30px;
          transform: translate(0, -50%);
          border-width: 30px 30px;
          border-right: 0;
          border-left-color: currentColor;
        }
      }
    }
    p.note-small {
      font-size: 0.75em;
      margin: 0 15px;
      @media screen and (min-width: 768px), print {
        margin: 0 30px;
      }
    }
  }

  @media screen and (max-width: 768px) {
    figure.f-sp-mx0 {
      margin-inline-start: 0;
      margin-inline-end: 0;
    }
  }
  .pc-flex-wrap {
    @media screen and (min-width: 768px), print {
      display: flex;
      gap: 20px;

      &.mw700-bet-center {
        max-width: 700px;
        justify-content: space-between;
        margin: 0 auto;
      }

      &.bet-middle {
        justify-content: space-between;
        align-items: center;
      }
      & figure {
        margin-inline-start: 0;
        margin-inline-end: 0;
      }
      &.col3-col1 > figure {
        width: calc(100% / 3);
      }
    }
    & figure {
      max-width: 390px;
      margin-inline-start: 0;
      margin-inline-end: 0;
    }
  }
  /* 段組み */
  .flex-wrap {
    display: flex;
    gap: 20px;
    &.col2 > * {
      width: calc(100% / 2);
    }
    &.col3 > * {
      width: calc(100% / 3);
    }
    &.j-center {
      justify-content: center;
    }
  }
  .grid-wrap {
    display: grid;
    gap: 20px;
    &.col2 {
      grid-template-columns: repeat(2, 1fr);
    }
    &.col3 {
      grid-template-columns: repeat(3, 1fr);
    }
    &.col3-col1 {
      @media screen and (min-width: 768px), print {
        grid-template-columns: repeat(3, 1fr);
      }
      & figure {
        max-width: 400px;
        margin-inline-start: 0;
        margin-inline-end: 0;
      }
    }
  }

  p.result {
    border: 1px solid #000;
    background: #eee;
    padding: 10px 15px;
    text-align: center;
    line-height: 1.2;
    font-weight: bold;
    margin: 30px auto 0;
    max-width: 700px;
  }
