
@charset "UTF-8";

/*****************
l_scrollTbl l_tbl
*****************/
.l_scrollTblWrap{
  width:  100%;
  margin-bottom: 50px;
  margin-bottom: 5px;
}
@media (max-width: 900px) {
  .l_scrollTblWrap{
    overflow-x: scroll;
    width: calc(100% + 7.85vw);/*(98vw - 84.3vw) /2*/
  }
}
.l_tbl{
  margin-bottom: 50px;
  width: 100%;
  table-layout: fixed;
}
.l_scrollTblWrap .l_tbl{
  margin-bottom: 0;
}
.l_tbl.l_scrollTbl{
  width: 100%;
  margin-bottom: 20px;
  margin-right: 20px;
  min-width: 800px;
  table-layout: fixed;
  white-space:nowrap
}
.l_tbl.l_scrollTbl.l_scrollTbl_01 .el_tblTtl{
  font-size: min(2vw,16px);
}
.l_tbl{
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
}
.l_tbl th{
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  text-align: center;
}
.l_tbl td{
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  height: 70px;
  padding: 13px 0 15px;
  font-size: min(2.2vw,18px);
  letter-spacing: .05em;
  line-height: 1.25;
  text-align: center;
}
.l_tbl p{
  padding: 0 40px;
  text-align: left;
}
.el_tblTtl{
  background: #092253;
  padding: 13px 0 15px;
  font-size: min(2.5vw,20px);
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.25;
  text-align: center;
  color: #fff;
}
.el_tblSttl{
  background: #eee;
  font-weight: 400;
}
.el_tblTtl small{
  font-size: min(1.1vw,9px);
}
.l_tbl .el_tax{
  font-size: min(1.25vw,10px);
}
.l_tbl .el_supple{
  font-size: min(1.6vw,13px);
}
.l_stbl{
  width: min(63.7vw,510px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}
.el_atten{
  font-size: min(2vw,16px);  
}
.l_scrollTblTxt{
  margin-top: -20px;
  font-size: min(2.2vw,18px);
  text-align: left;
}

@media (max-width: 768px) {
  .l_tbl{
    margin-bottom: 13.9vw;
  }
  .l_tbl.l_scrollTbl{
    margin-right: 6.6vw; 
    margin-bottom: 4vw;
  }
  .l_tbl.l_scrollTbl.l_scrollTbl_01 .el_tblTtl{
    font-size: min(3.4vw,20px);
  }
  .l_tbl.l_scrollTbl.l_scrollTbl_01 td{
    height: 14vw;
    font-size: 3.4vw;
  }
  .l_tbl td{
    height: 9.3vw;
    font-size: 4.3vw;
  }
  .l_tbl p{
    padding: 0 5.1vw;
  }
  .el_tblTtl{
    font-size: 4.3vw;
  }
  .el_tblSttl{
    font-size: 3.4vw;
  }
  .el_tblTtl small{
    font-size: 2vw;
  }
  .l_tbl .el_tax{
    font-size: 2.5vw;
  }
  .l_tbl .el_supple{
    font-size: 2.8vw;
  }
  .l_stbl{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.25vw;
  }
  .el_atten{
    font-size: 3.75vw;  
  }
  .l_scrollTblTxt{
    margin-top: -2vw;  
    font-size: 3.1vw;  
  }
}

/* 価格表変更 */
.l_priceTbl .el_tblTtl .el_small{
  font-size: min(1.75vw,14px);
}
.l_priceTbl.l_tbl {
  height: auto;
}
.l_priceTbl tr:nth-of-type(odd) {
  background: #f0f9fd;
}

.l_priceTbl.l_tbl td{
  height: auto;
  padding: 13px 0 0;
}
.l_priceTbl.l_tbl th{
  position: sticky;
  top: 0;
  z-index: 1;
}
.l_priceTbl.l_tbl th:first-child {
  width: 140px;
}
.l_priceTbl.l_tbl td.l_numberBooks{
  padding-bottom: 13px;
  font-size: min(2.75vw,22px);
}
td.l_numberBooks .el_small{
  font-size: min(2vw,16px);
}

.l_numberPrice{
  display: flex;
  flex-direction: column;
}
.l_numberPrice_price{
  padding-bottom: 13px;
  border-bottom: 1px solid #707070;
}
.l_numberPrice_price p {
    text-align: center;
    font-size: min(3vw,24px);
}
.l_numberPrice_price .el_small {
  font-size: min(2.25vw,18px);
}
.l_numberPrice_breakdown{
  display: flex;
  align-items: center;
}
.l_numberPrice_total{
  width: 60%;
  padding-block: 5px;
}
.l_numberPrice_total dl{
  display: flex;
  padding-inline: 9px;
  align-items: center;
}
.l_numberPrice_total dt{
  position: relative;
  display: flex;
  height: 24px;
  margin-right: 20px;
  padding-inline: 7px 3px;
  align-items: center;
  font: min(1.5vw,12px) normal;
  background: #092253;
  color: #fff;
}
.l_numberPrice_total dt:after{
  content: "";
  position: absolute;
  right: -8px;
  width: 0;
  height: 0;
  border-left: 8px solid #092253;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
.l_numberPrice_total dd{
  font-size: min(2vw,16px);
  padding-top: 2px;
}
.l_numberPrice_total dd .el_small{
  font-size: min(1.5vw,12px);
}

.l_numberPrice_postage{
  width: 40%;
  padding-block: 5px;
  border-left: 2px dotted #707070;
}
.l_numberPrice_postage dl{
  display: flex;
  justify-content: center;
  align-items: center;
}
.l_numberPrice_postage  dt{
  font: min(1.75vw,14px) normal;
  padding-right: 5px;
}
.l_numberPrice_postage dd{
  font-size: min(2vw,16px);
  padding-top: 2px;
}
.l_numberPrice_postage dd .el_small{
  font-size: min(1.5vw,12px);
}
.l_priceTbl tr.l_otoku{
  background: #fdfae6;
}
.l_otoku .l_numberPrice_price p{
  color: #ff0000;
  position: relative;
  display: inline-block;
}
.l_otoku .l_numberPrice_price p::before{
  content: "";
  position: absolute;
  background: url(../img/img_recom.png) no-repeat;
  background-size: contain;
  width: 38px;
  height: 44px;
  left: -10px;
  top: -8px;
}

@media (max-width: 768px) {
  .l_priceTbl .el_tblTtl .el_small{
    font-size: 2.5vw;
  }
  .l_priceTbl.l_tbl td{
  }
  .l_priceTbl.l_tbl th:first-child {
    width: 20%;
  }
  .l_priceTbl.l_tbl td.l_numberBooks{
    font-size: 4.3vw;
  }
  td.l_numberBooks .el_small{
    font-size: 3vw;
  }
  .l_numberPrice{
  }
  .l_numberPrice_price{

  }
  .l_numberPrice_price p {
    font-size: 4.3vw;
  }
  .l_numberPrice_price .el_small {
    font-size: 3vw;
  }
  .l_numberPrice_breakdown{
  }
  .l_numberPrice_total{
    width: 65%;
    padding-block: 5px;
  }
  .l_numberPrice_total dl{
    display: flex;
    padding-inline: 9px;
  }
  .l_numberPrice_total dt{
    height: 20px;
    margin-right: 15px;
    font-size: 2vw;
  }
  .l_numberPrice_total dt:after{
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
  .l_numberPrice_total dd{
    font-size: 3.5vw;
    padding-top: .8vw;
  }
  .l_numberPrice_total dd .el_small{
    font-size: 2vw;
  }
  .l_numberPrice_postage{
    width: 35%;
  }
  .l_numberPrice_postage dl{
  }
  .l_numberPrice_postage  dt{
    font-size: 3vw;
  }
  .l_numberPrice_postage dd{
    font-size: 3.5vw;
    padding-top: .8vw;
  }
  .l_numberPrice_postage dd .el_small{
    font-size: 2vw;
  }
  .l_otoku .l_numberPrice_price p::before{
    width: 7vw;
    height: 8vw;
    left: -3.5vw;
    top: -1.5vw;
  }
}