@charset "UTF-8";

:root {
  --viewport: 750;
}

#conts .mainVisual {
  padding: 0 20px
}

#conts .leadBox {
  margin-top: 25px;
  padding: 0 20px
}

#conts .leadBox p {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.6
}

#conts .leadBox p:first-child {
  margin-top: 0
}

#conts .leadBox p strong {
  padding: 0 2px;
  font-weight: 700;
  background: linear-gradient(transparent 75%, #f5904c 0)
}

#conts .courseSec {
  margin-top: 55px
}

#conts .courseSec h2 {
  padding-bottom: 9pt;
  background: url(../../img/menuprice/index/bg_course01.png)no-repeat center bottom;
  font-size: 3rem;
  font-weight: 700;
  text-align: center
}

#conts .courseSec h2 .small {
  font-size: 2.4rem
}

#conts .courseSec h2 .blue {
  color: #001c5d
}

#conts .courseSec h2 .orange {
  color: #f16100
}

#conts .courseSec .imgBox {
  margin-top: 15px;
  text-align: center
}

#conts .courseSec .introText {
  margin: 50px 20px 0;
  padding: 25px 0 23px;
  background: #eee;
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center
}

#conts .courseSec .introText strong {
  font-weight: 700
}

#conts .courseSec .introText strong span {
  color: #f16100
}

#conts .assuranceBox {
  margin-top: 50px;
  padding: 0 20px
}

#conts .assuranceBox p {
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: right
}

#conts .completeSec {
  margin-top: 55px
}

#conts .completeSec .inner {
  padding: 0 20px
}

#conts .completeSec .inner .completeWrap {
  margin-top: 30px
}

#conts .completeSec .inner .completeWrap .imgBox {
  float: left
}

#conts .completeSec .inner .completeWrap .textBox {
  float: right;
  width: 33pc;
}

#conts .completeSec .inner .completeWrap .textBox table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: solid 2px #f16100;
}

#conts .completeSec .inner .completeWrap .textBox table td, #conts .completeSec .inner .completeWrap .textBox table th {
  border: 1px solid #f16100;
  color: #001c5d;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  vertical-align: middle
}

#conts .completeSec .inner .completeWrap .textBox table th {
  padding: 15px 0 9pt;
  background: #fff8d7;
  font-size: 1.5rem
}

#conts .completeSec .inner .completeWrap .textBox table th:nth-child(1) {
  width: 217px
}

#conts .completeSec .inner .completeWrap .textBox table th:nth-child(2) {
  width: 148px
}

#conts .completeSec .inner .completeWrap .textBox table td {
  padding: 20px 0 18px;
  font-size: 1.6rem
}

#conts .completeSec .inner .completeWrap .textBox table .basic td {
  font-size: 1.8rem
}

#conts .completeSec .inner .completeWrap .textBox table tr:last-child td {
  padding: 25px 0 22px
}

#conts .completeSec .inner .completeWrap .textBox table td.price {
  font-size: 2rem
}

#conts .completeSec .inner .completeWrap .textBox table .basic td.price {
  color: #ff2900
}

#conts .completeSec .inner .completeWrap .textBox table .basic td.finish {
  font-size: 1.5rem
}

#conts .completeSec .inner .completeWrap .textBox table .basic td.finish>span {
  color: #4ea750;
  font-size: 2rem
}

#conts .completeSec .inner .completeWrap .textBox table .basic td.finish>span .small {
  font-size: 1.2rem
}

#conts .completeSec .inner .attList {
  margin-top: 25px
}

#conts .completeSec .inner .attList li {
  font-size: 1.4rem;
  line-height: 1.8
}

#conts .completeSec .inner .attSec {
  margin-top: 20px;
  padding: 25px 30px 20px;
  background: url(../../img/menuprice/index/bg_att01.png)repeat 0 0
}

#conts .completeSec .inner .attSec h3 {
  color: #bba171;
  font-size: 2.5rem;
  font-weight: 700
}

#conts .completeSec .inner .attSec p {
  margin-top: 20px;
  font-size: 1.5rem;
  line-height: 1.6
}

#conts .completeSec .inner .attSec .att {
  margin-top: 0;
  font-size: 1.4rem
}

#conts .completeSec .inner .attSec .cmnBtn01 {
  margin-top: 15px;
  text-align: center
}

#conts .completeSec .inner .attSec .cmnBtn01 a {
  padding: 10px 0 8px;
  width: 520px;
  font-size: 1.8rem
}

#conts .partsSec {
  margin-top: 75pt
}

#conts .partsSec .inner {
  padding: 0 20px
}

#conts .partsSec .inner .partsWrap {
  margin-top: 30px
}

#conts .partsSec .inner .partsWrap .imgBox {
  float: left;
  padding-left: 50px
}

#conts .partsSec .inner .partsWrap .textBox {
  float: right;
  width: 530px;
  padding-top: 20px
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap {
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap:last-child {
  margin-top: 29px
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
   border: solid 2px #f16100;
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap table td, #conts .partsSec .inner .partsWrap .textBox .tableWrap table th {
  border: 1px solid #f16100;
  color: #001c5d;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  vertical-align: middle
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap table th {
  padding: 13px 0 10px;
  background: #fff8d7;
  font-size: 1.5rem
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap:first-child table th:nth-child(1), #conts .partsSec .inner .partsWrap .textBox .tableWrap:last-child table th:nth-child(1) {
  width: 271px
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap:last-child table th:nth-child(2) {
  width: 8pc
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap table td {
  padding: 9pt 0 9px;
  font-size: 1.6rem
}

#conts .partsSec .inner .partsWrap .textBox .tableWrap:first-child table td.price {
  font-size: 2rem
}

#conts .partsSec .inner .attList {
  margin-top: 25px
}

#conts .partsSec .inner .attList li {
  font-size: 1.4rem;
  line-height: 1.8
}

#conts .hb_cv {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}
#conts .hb_cv_box {
    text-align: center;
    margin: 0 18px;
}
#conts .hb_cv_btn {
    opacity: 1;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none !important;
    color: #FFF !important;
    background-color: #BAA171;
    background-repeat: no-repeat;
    background-position: 97% 50%;
    background-image: url(../../img/new-index/arw03_wh_r.svg);
    background-size: 44px;
    width: 460px;
    height: 100px;
    border-radius: 18px;
    font-size: 22px;
}

#conts .appearanceSec {
  margin-top: 95px
}

#conts .appearanceSec .inner {
  padding: 0 20px
}

#conts .appearanceSec .inner .appWrap {
  margin-top: 27px
}

#conts .appearanceSec .inner .appWrap .imgBox {
  float: left;
  padding-left: 50px
}

#conts .appearanceSec .inner .appWrap .textBox {
  float: right;
  width: 33pc;
  margin-top: 26px;
}

#conts .appearanceSec .inner .appWrap .textBox table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: solid 2px #f16100;
}

#conts .appearanceSec .inner .appWrap .textBox table td, #conts .appearanceSec .inner .appWrap .textBox table th {
  border: 1px solid #f16100;
  color: #001c5d;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  vertical-align: middle
}

#conts .appearanceSec .inner .appWrap .textBox table th {
  padding: 15px 0 13px;
  background: #fff8d7;
  font-size: 1.5rem
}

#conts .appearanceSec .inner .appWrap table th:nth-child(1) {
  width: 277px
}

#conts .appearanceSec .inner .appWrap table th:nth-child(2) {
  width: 8pc
}

#conts .appearanceSec .inner .appWrap .textBox table td {
  padding: 1pc 0 14px;
  font-size: 1.6rem
}

#conts .appearanceSec .inner .appWrap .textBox table td.setText {
  font-size: 1.5rem
}

#conts .appearanceSec .inner .attList {
  margin-top: 25px
}

#conts .appearanceSec .inner .attList li {
  font-size: 1.4rem;
  line-height: 1.8
}

#conts .anesthesiaSec {
  margin-top: 90px
}

#conts .anesthesiaSec .headLine01 {
  padding: 6px 0 2px;
  background: #a6a6a6
}

#conts .anesthesiaSec .inner {
  padding: 0 20px
}

#conts .anesthesiaSec .inner .detailSec {
  margin-top: 30px
}

#conts .anesthesiaSec .inner .detailSec h3 {
  color: #bba171;
  font-size: 1.9rem;
  font-weight: 700
}

#conts .anesthesiaSec .inner .detailSec .lead {
  margin-top: 15px;
  font-size: 1.5rem;
  line-height: 1.6
}

#conts .anesthesiaSec .inner .detailSec .detailWrap {
  display: -webkit-flex;
  display: flex;
  margin-top: 30px
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .imgBox {
  width: 390px;
  margin-right: 40px
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox {
  width: 530px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #bba171;
  -webkit-border-radius: 6px;
  border-radius: 6px
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl {
  padding: 70px 30px 0;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd, #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt {
  font-size: 2rem;
  line-height: 1.2;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt {
  clear: left;
  float: left;
  width: 145px;
  padding-right: 135px;
  background: url(../../img/menuprice/index/line_anesthesia01.png)no-repeat 9pc center;
  font-weight: 700;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd {
  margin-bottom: 35px;
  padding-left: 295px;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd.cream {
  margin-bottom: 50px;
  padding-top: .5em;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd span {
  color: #bba171;
  font-weight: 700;
  box-sizing: content-box;
}

#conts .anesthesiaSec .inner .attList {
  margin-top: 25px
}

#conts .anesthesiaSec .inner .attList li {
  font-size: 1.4rem;
  line-height: 1.8
}

#conts .anesthesiaSec .inner .attSec {
  margin-top: 25px;
  padding: 25px 30px 20px;
  background: url(../../img/menuprice/index/bg_att01.png)repeat 0 0
}

#conts .anesthesiaSec .inner .attSec h3 {
  color: #bba171;
  font-size: 2.5rem;
  font-weight: 700
}

#conts .anesthesiaSec .inner .attSec p {
  margin-top: 20px;
  font-size: 1.5rem;
  line-height: 1.6
}

#conts .reportSec {
  margin-top: 75pt
}

@media screen and (max-width:767px) {
  #conts .headLine01 {
    padding: 8px 10px;
    text-align: left
  }
  #conts .mainVisual {
    padding: 0 7px
  }
  #conts .leadBox {
    margin-top: 10px;
    padding: 0 7px
  }
  #conts .leadBox p {
    font-size: 1.4rem
  }
  #conts .courseSec {
    margin-top: 30px
  }
  #conts .courseSec h2 {
    font-size: 4.9vw;
    background-size: 92% auto;
    background-position: center 65%
  }
  #conts .courseSec h2 .small {
    font-size: 4vw
  }
  #conts .courseSec .imgBox {
    margin: 8px 7px 0
  }
  #conts .courseSec .introText {
    margin: 15px 7px 0;
    padding: 9pt 10px;
    font-size: 1.4rem;
    line-height: 1.8
  }
  #conts .assuranceBox {
    margin-top: 25px;
    padding: 0 7px
  }
  #conts .assuranceBox p {
    margin: 10px 0 0 1;
    text-indent: -1;
    font-size: 1.2rem;
    text-align: left
  }
  #conts .completeSec {
    margin-top: 30px
  }
  #conts .completeSec .imgBox {
    margin-top: 10px
  }
  #conts .completeSec .inner {
    padding: 0 7px
  }
  #conts .completeSec .inner .priceBox {
    margin-top: 10px;
    border: 1px solid #000;
    text-align: center;
    line-height: 1.4
  }
  #conts .completeSec .inner .priceBox .ttl {
    padding: 5px 0;
    background: #fff8d6;
    font-size: 1.5rem;
    font-weight: 700
  }
  #conts .completeSec .inner .priceBox .price {
    padding: 6px 0 0;
    color: #00b050;
    font-size: 4.2rem;
    font-weight: 700
  }
  #conts .completeSec .inner .priceBox .price>span {
    font-size: 2.6rem
  }
  #conts .completeSec .inner .priceBox .price>span .small {
    font-size: 1.4rem
  }
  #conts .completeSec .inner .attSec {
    margin-top: 15px;
    padding: 20px;
    background: #eee
  }
  #conts .completeSec .inner .attSec h3 {
    font-size: 15px
  }
  #conts .completeSec .inner .attSec .att, #conts .completeSec .inner .attSec p {
    margin-top: 10px;
    font-size: 14px
  }
  #conts .completeSec .cmnBtn01 {
    margin-top: 15px;
    padding: 0 7px;
    text-align: center
  }
  #conts .completeSec .cmnBtn01 a {
    width: 100%;
    padding: 10px 0;
    font-size: 3.4vw
  }
  #conts .completeSec .inner .attList {
    margin-top: 25px
  }
  #conts .completeSec .inner .attList li {
    font-size: 1.2rem
  }
  #conts .partsSec {
    margin-top: 50px
  }
  #conts .partsSec .inner {
    padding: 0
  }
  #conts .partsSec .inner .allParts .ttl,
  #conts .partsSec .inner .menuList .ttl,
  #conts .appearanceSec .inner .menuList .ttl {
    font-size: 2.6vw;
    font-weight: bold;
    margin-bottom: 3px;
  }
  #conts .partsSec .inner .allParts {
    padding: 10px 10px 15px;
    border-bottom: 1px solid #333;
    line-height: 1.4
  }
  #conts .partsSec .inner .allParts .imgBox {
    float: left
  }
  #conts .partsSec .inner .allParts .imgBox .img {
    width: 57px;
    margin-top: 3px
  }
  #conts .partsSec .inner .allParts .textBox {
    padding: 25px 0 0 25%
  }

  #conts .partsSec .inner .allParts .textBox .parts {
    font-size: 3.4vw;
    font-weight: 700
  }
  #conts .partsSec .inner .allParts .textBox .priceText {
    margin-top: 7px;
    font-size: 3.4vw
  }
  #conts .partsSec .inner .allParts .textBox .priceText span {
    margin-left: 18px;
    font-size: 4.8vw;
    font-weight: 700
  }
  #conts .hb_cv {
    display: block;
    margin: 30px auto 0;
    width: 72%;
  }
  #conts .hb_cv_box {
    margin: 20px 0 0;
  }
  #conts .hb_cv_btn {
    width: 100%;
    height: 55px;
    border-radius: 9px;
    font-size: 13px;
    background-size: 20px;
  }
  #conts .menuList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: 1px solid #333
  }
  #conts .menuList li {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #333
  }
  #conts .menuList li:nth-child(odd) {
    padding: 10px 5px 10px 10px;
    border-right: 1px dotted #333
  }
  #conts .menuList li:nth-child(even) {
    padding: 10px 10px 10px 5px
  }
  #conts .menuList li .ttl img {
    width: auto;
    height: 13px
  }
  #conts .menuList li .imgBox {
    float: left;
    width: 57px;
    margin-top: 3px
  }
  #conts .menuList li .priceList {
    float: right;
    padding-top: 3px
  }
  #conts .menuList li .priceList dt {
    padding-top: 3px;
    font-size: 3.4vw
  }
  #conts .menuList li .priceList dd {
    font-size: 3.6vw;
    text-align: right
  }
  #conts .partsSec .inner .attList {
    margin-top: 5px;
    padding: 0 7px
  }
  #conts .partsSec .inner .attList li {
    font-size: 1.2rem
  }
  #conts .appearanceSec {
    margin-top: 25px
  }
  #conts .appearanceSec .inner {
    padding: 0
  }
  #conts .appearanceSec .inner .attList {
    margin-top: 5px;
    padding: 0 7px
  }
  #conts .appearanceSec .inner .attList li {
    font-size: 1.2rem
  }
  #conts .anesthesiaSec {
    margin-top: 25px
  }
  #conts .anesthesiaSec .headLine01 {
    padding: 8px 10px
  }
  #conts .anesthesiaSec .inner {
    padding: 0 7px
  }
  #conts .anesthesiaSec .inner .detailSec {
    margin-top: 15px
  }
  #conts .anesthesiaSec .inner .detailSec h3 {
    font-size: 15px
  }
  #conts .anesthesiaSec .inner .detailSec .lead {
    margin-top: 10px;
    font-size: 14px
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap {
    display: block;
    margin-top: 10px
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .imgBox {
    width: 100%;
    margin: 0
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox {
    width: 100%;
    margin-top: 20px;
    -webkit-border-radius: 0;
    border-radius: 0
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl {
    padding: 15px 9pt
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd, #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt {
    font-size: 15px
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt {
    width: 75pt;
    padding-right: 25%;
    background: url(../../img/menuprice/index/line_anesthesia01_sp.png)repeat-x center;
    -webkit-background-size: 3px 2px;
    background-size: 3px 2px
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt span {
    display: inline-block;
    width: 75pt;
    padding-right: 10px;
    background: #fff
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd {
    margin-bottom: 15px;
    padding-left: 60%
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd.cream {
    margin-bottom: 25px;
    padding-top: .7em
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd:last-child {
    margin-bottom: 0
  }
  #conts .anesthesiaSec .inner .attSec {
    margin-top: 15px;
    padding: 0;
    background: 0
  }
  #conts .anesthesiaSec .inner .attSec h3 {
    color: #000;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6
  }
  #conts .anesthesiaSec .inner .attSec p {
    margin-top: 0;
    font-size: 14px
  }
  #conts .anesthesiaSec .inner .attList {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dotted #333
  }
  #conts .anesthesiaSec .inner .attList li {
    font-size: 1.2rem
  }
  #conts .reportSec {
    margin-top: 50px
  }
  #conts .reportSec .headLine01 {
    padding: 8px 0;
    text-align: center
  }
}

@media screen and (max-width:340px) {
  #conts .completeSec .cmnBtn01 a {
    font-size: 1.2rem
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dt {
    padding-right: 12%
  }
  #conts .anesthesiaSec .inner .detailSec .detailWrap .textBox dl dd {
    padding-left: 53%
  }
}

/*2021/05/06追記*/

.tableWrap_add th,td {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.partsTable_sp {
  border: solid 2px #f16100;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 20px;
}
.partsTable_sp th{
  padding: 13px 0 10px;
    background: #fff8d7;
    font-size: 1.5rem;
    border: 1px solid #f16100;
}
.partsTable_sp td{
  padding: 9pt 0 9px;
    font-size: 1.6rem;
    border: 1px solid #f16100;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    vertical-align: middle;
}
/**/
.partsTable_sp_bottom {
  border: solid 2px #f16100;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 20px;
}
.partsTable_sp_bottom th{
  padding: 13px 0 10px;
    background: #fff8d7;
    font-size: 1.5rem;
    border: 1px solid #f16100;
}
.partsTable_sp_bottom td{
  padding: 9pt 0 9px;
    font-size: 1.6rem;
    border: 1px solid #f16100;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    vertical-align: middle;
}
.partsTable_sp_bottom .setText{
  font-size: 1.1rem;
}
/**/
.partsTable_add {
  border: solid 2px #f16100;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 20px;
}
.partsTable_add th{
  padding: 13px 0 10px;
    background: #fff8d7;
    font-size: 1.5rem;
    border: 1px solid #f16100;
}
.partsTable_add td{
  padding: 9pt 0 9px;
    font-size: 1.6rem;
    border: 1px solid #f16100;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    vertical-align: middle;
}
.partsTable_add_sp {
  border: solid 2px #f16100;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 20px;
}
.partsTable_add_sp th{
  padding: 13px 0 10px;
    background: #fff8d7;
    font-size: 1.5rem;
    border: 1px solid #f16100;
}
.partsTable_add_sp td{
  padding: 9pt 0 9px;
    font-size: 1.6rem;
    border: 1px solid #f16100;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    vertical-align: middle;
}
/**/
.priceBox_spOnly_top{
  margin-top: 10px;
}
.priceBox_spOnly_top table .basic td.price{
 color: #ff2900;
}
.priceBox_spOnly_top table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 2px solid #f16100;
}
.priceBox_spOnly_top thead{
  display: table-header-group;
  vertical-align: middle;
}
.priceBox_spOnly_top tr{
  display: table-row;
  vertical-align: inherit;
}
.priceBox_spOnly_top th{
  padding: 15px 0 9pt;
  background: #fff8d7;
  font-size: 1.5rem;
}
.priceBox_spOnly_top td{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.priceBox_spOnly_top th,td{
  padding: 15px 0 9pt;
  font-size: 1.5rem;
  border: 1px solid #f16100;
  color: #001c5d;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  vertical-align: middle;
}
/**/
 .tableSP_add th,td {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.tableSP_add {
  border: solid 2px #f16100;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 20px;
}
.tableSP_add thead{
    background: #fff8d7;
}
.tableSP_add th{
    padding: 13px 0 10px;
    font-size: 1.5rem;
    border: 1px solid #f16100;
}
.tableSP_add td{
    padding: 9pt 0 9px;
    font-size: 1.6rem;
    border: 1px solid #f16100;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    vertical-align: middle;
}

#conts .priceArea .font_red {
  color: #BC2413;
}

#conts .priceArea {
  margin-top: 0;
}
#conts .priceArea .inner {
  padding: 0 calc(100vw / var(--viewport) * 10);
}
#conts .priceArea .flex {
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#conts .priceArea .flex li {
  width: 48.9%; /*calc(100vw / var(--viewport) * 357)*/
}
#conts .priceArea .imgBox.icon10off {
  position: relative;
}
#conts .priceArea .imgBox.icon10off::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  background: url(../../../../../../../common/img/icon/icon_10off.gif) center/cover no-repeat;
  width: 56px;
  height: 56px;
  display: none;
}
#conts .priceArea .flex li .imgBox .planName {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  line-height: 1.25;
  background: #000;
  display: flex;
  height: calc(100vw / var(--viewport) * 134);
  padding: 0.3em 0;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
#conts .priceArea .flex li .imgBox .planName .sub {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 1.25;
}
#conts .priceArea .flex li .box {
  align-items: stretch;
  margin-top: calc(100vw / var(--viewport) * 17);
}
#conts .priceArea .flex li .box .th {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  background: #000;
  width: calc(100vw / var(--viewport) * 104);
  display: flex;
  justify-content: center;
  align-items: center;
}
#conts .priceArea .flex li .box .td {
  width: calc(100% - calc(100vw / var(--viewport) * 104));
  border: 2px solid #000;
  border-left: none;
  padding: 0.5em 0 0.5em ;
  box-sizing: border-box;
}
#conts .priceArea .flex li .box .td .totalPrice {
  font-size: calc(100vw / var(--viewport) * 45);
  /* margin-bottom: 0.2em; */
  font-family: "din-2014", sans-serif;
  font-weight: 600;
}
#conts .priceArea .flex li .box .td .totalPrice img {
  height: calc(100vw / var(--viewport) * 51);
  vertical-align: middle;
  margin: 0 0.02em;
}
#conts .priceArea .flex li .box .td .once {
  font-size: calc(100vw / var(--viewport) * 26);
}
#conts .priceArea .flex li .box .td .oncePrice {
  font-size: calc(100vw / var(--viewport) * 40);
}
#conts .priceArea .flex li .box .td .oncePrice img {
  height: calc(100vw / var(--viewport) * 32);
  vertical-align: middle;
  margin: 0 0.02em;
}
#conts .priceArea .flex li:nth-child(n + 3) .imgBox .planName {
  background: #053650;
}
#conts .priceArea .flex li.wide {
  width: 100%;
}
#conts .priceArea .flex li.wide .box .th {
  background: #053650;
}
#conts .priceArea .caption {
  font-size: 1.2rem;
  margin-top: calc(100vw / var(--viewport) * 17);
}
#conts .priceArea .caption .indent_1em {
  line-height: 1.67;
  text-indent: -1em;
  padding-left: 1em;
}

#conts .priceArea#parts {
  margin-top: 30px;
}
#conts .priceArea#parts h2 {
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
#conts .priceArea#parts .planName {
  height: calc(100vw / var(--viewport) * 76);
  background: #053650;
  padding: 0;
  justify-content: center;
}
#conts .priceArea#parts .flex li .box .th {
  background: #053650;
}
#conts .priceArea#parts .flex li .box .td.pd {
  padding: 0.5em 0;
}

#conts .priceArea#appearance {
  margin-top: 30px;
}
#conts .priceArea#appearance h2 {
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
#conts .priceArea#appearance .planName {
  background: #053650;
}
#conts .priceArea#appearance .flex li .box .th {
  background: #053650;
}
#conts .priceArea#appearance .flex li .box .td.pd {
  padding: 0.5em 0;
}

@media screen and (max-width:767px) {
  #conts .priceArea .flex li:nth-child(-n + 2) {
    margin-bottom: calc(100vw / var(--viewport) * 36);
  }
  #conts .priceArea .imgBox.icon10off::before {
    top: calc(100vw / var(--viewport) * 10);
    left: calc(100vw / var(--viewport) * 10);
    width: calc(100vw / var(--viewport) * 80);
    height: calc(100vw / var(--viewport) * 80);
  }
  #conts .priceArea .flex li .box .td .once {
    border-top: 2px dotted #000;
    width: calc(100vw / var(--viewport) * 218);
    padding-top: 0.4em;
    margin: 0 auto;
  }

  #conts .priceArea#parts .flex li:nth-child(-n + 4) {
    margin-bottom: calc(100vw / var(--viewport) * 36);
  }
}
@media screen and (min-width:768px) {
  #conts .priceArea .inner {
    padding: 0;
  }
  #conts .priceArea .flex {
    position: relative;
  }
  #conts .priceArea .flex li {
    width: 238px;
  }
  #conts .priceArea .flex li .imgBox .planName {
    font-size: 16px;
    line-height: 1.5;
    height: 56px;
    padding: 0 0 5px;
    justify-content: center;
  }
  #conts .priceArea .flex li .imgBox .planName .sub {
    font-size: 11px;
  }
  #conts .priceArea .flex li .box {
    margin-top: 10px;
  }
  #conts .priceArea .flex li .box .th {
    font-size: 16px;
    width: 90px;
  }
  #conts .priceArea .flex li .box .td {
    width: calc(100% - 90px);
  }
  #conts .priceArea .flex li .box .td .totalPrice {
    font-size: 28px;
  }
  #conts .priceArea .flex li .box .td .totalPrice img {
    height: 28px;
  }
  #conts .priceArea .flex li .box .td .pc_flex {
    width: 128px;
    margin: 0 auto;
    border-top: 2px dotted #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0.1em;
  }
  #conts .priceArea .flex li .box .td .once {
    font-size: 8px;
    margin-right: 0.6em;
  }
  #conts .priceArea .flex li .box .td .oncePrice {
    font-size: 18px;
  }
  #conts .priceArea .flex li .box .td .oncePrice img {
    height: 17px;
  }
  #conts .priceArea .flex li.wide {
    width: 492px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  #conts .priceArea .flex li.wide .box .th {
    width: 120px;
  }
  #conts .priceArea .flex li.wide .box .td {
    width: calc(100% - 120px);
  }
  #conts .priceArea .caption {
    margin-top: 30px;
  }

  #conts .priceArea#parts {
    margin-top: 75px;
  }
  #conts .priceArea#parts h2 {
    margin-bottom: 17px;
  }
  #conts .priceArea#parts ul.flex {
    width: 746px;
    margin: 0 auto;
  }
  #conts .priceArea#parts .planName {
    height: 40px;
  }
  #conts .priceArea#parts .flex li .box {
    height: 64px;
  }
  #conts .priceArea#parts .flex li .box:last-child {
    /* height: auto; */
  }
  #conts .priceArea#parts .flex li .box .td.pd {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #conts .priceArea#parts .flex li:nth-child(-n + 3) {
    margin-bottom: 18px;
  }

  #conts .priceArea#appearance {
    margin-top: 75px;
  }
  #conts .priceArea#appearance h2 {
    margin-bottom: 17px;
  }
  #conts .priceArea#appearance .flex li .box {
    height: 64px;
  }
  #conts .priceArea#appearance .flex li .box .td.pd {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.ttl_aco {
  cursor: pointer;
  position: relative;
}
.ttl_aco::after {
  content: "";
  display: block;
  width: 39px;
  height: 39px;
  background: url(../../img/menu/icon_plus.png) no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 55px;
}
.ttl_aco.open::after {
  background: url(../../img/menu/icon_minus.png);
  content: "";
  display: block;
  width: 39px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 55px;
}
.body_aco {
  display: none;
}
@media screen and (max-width:767px) {
  .ttl_aco::after {
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    right: 10px;
  }
  .ttl_aco.open::after {
    width: 20px;
    height: 5px;
    top: 50%;
    right: 10px;
  }
}

:root {
  --waribikiColor: #0a94a4;
}
#contents #doujiwari {
  margin-top: 30px;
}
#contents #doujiwari .pageTtl {
  background: var(--waribikiColor);
}
#contents #doujiwari .moreBtn {
  margin-left: 7px;
  margin-right: 7px;
}
#contents #doujiwari .moreBtn a {
  background: var(--waribikiColor);
  padding: 9px 0;
}
#conts #waribiki {
  margin-top: 30px;
}
#conts #waribiki .headLine01 {
  text-align: center;
}
#waribiki .inner,
#waribiki .inner > div {
  position: relative;
}
#conts #waribiki .inner {
  padding: 0 7px;
  margin: 0;
}
#waribiki .lead {
  font-size: 1.2rem;
  text-align: left;
  line-height: 2.7rem;
  padding: 0 7px;
  margin: 20px auto;
}
#waribiki .lead + img {
    width: 8.3333vw;
  display: block;
  margin: 0 auto calc(100vw / var(--viewport) * 46);
}
#waribiki ul li {
  color: var(--waribikiColor);
  font-weight: bold;
  background: #eee;
  padding-bottom: calc(100vw / var(--viewport) * 52);
  margin-top: calc(100vw / var(--viewport) * 40);
}
#waribiki ul li .flex {
  display: flex;
  justify-content: space-between;
}
#waribiki ul li .name {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 36);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  background: var(--waribikiColor);
  height: calc(100vw / var(--viewport) * 100);
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#waribiki ul li .name p {
  width: 58%;
}
#waribiki ul li .name .sub {
  font-size: calc(100vw / var(--viewport) * 24);
}
#waribiki ul li .relative {
  padding: calc(100vw / var(--viewport) * 25) calc(100vw / var(--viewport) * 16) 0 calc(100vw / var(--viewport) * 12);
  align-items: flex-start;
  position: relative;
}
#waribiki ul li .imgBox {
  width: 45%;
}
#waribiki ul li .imgBox img {
  margin-top: calc(100vw / var(--viewport) * -105);
}
#waribiki ul li .textBox {
  /* width: 53%; */
  width: 49%;
  text-align: center;
}
#waribiki ul li .textBox img {
  width: 40vw;
}
#waribiki ul li .textBox .midashi .count {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 24);
  background: var(--waribikiColor);
  width: calc(100vw / var(--viewport) * 86);
  height: calc(100vw / var(--viewport) * 48);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: calc(100vw / var(--viewport) * 19);
}
#waribiki ul li .textBox .midashi {
  height: calc(100vw / var(--viewport) * 58);
}
#waribiki ul li .textBox .balloon {
  font-size: calc(100vw / var(--viewport) * 23);
  text-align: center;
  width: 100%;
  height: calc(100vw / var(--viewport) * 58);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--waribikiColor);
  margin: calc(100vw / var(--viewport) * 15) auto calc(100vw / var(--viewport) * 20);
  position: relative;
  box-sizing: border-box;
}
#waribiki ul li .textBox .balloon:before {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  border: calc(100vw / var(--viewport) * 13) solid transparent;
  border-top: calc(100vw / var(--viewport) * 20) solid #eee;
  z-index: 2;
}
#waribiki ul li .textBox .balloon:after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  border: calc(100vw / var(--viewport) * 13) solid transparent;
  border-top: calc(100vw / var(--viewport) * 20) solid var(--waribikiColor);
  z-index: 1;
}
#waribiki ul li .textBox .partsBox {
  text-align: center;
  margin-bottom: calc(100vw / var(--viewport) * 10);
}
#waribiki ul li .textBox .partsBox .flex {
  font-size: calc(100vw / var(--viewport) * 30);
  align-items: center;
  margin-bottom: calc(100vw / var(--viewport) * 20);
}
#waribiki ul li .textBox .partsBox .flex .blueBox,
#waribiki ul li .textBox .partsBox .flex .blackBox {
  color: #fff;
  font-size: calc(100vw / var(--viewport) * 22);
  height: calc(100vw / var(--viewport) * 42);
  display: flex;
  justify-content: center;
  align-items: center;
}
#waribiki ul li .textBox .partsBox .flex .blueBox {
  width: calc(100vw / var(--viewport) * 86);
  background: var(--waribikiColor);
}
#waribiki ul li .textBox .partsBox .flex .blackBox {
  width: calc(100vw / var(--viewport) * 242);
  background: #000;
}
#waribiki ul li .textBox .partsBox .text {
  font-size: calc(100vw / var(--viewport) * 32);
  line-height: 1.16;
  margin-bottom: calc(100vw / var(--viewport) * 18);
}
#waribiki ul li .textBox .partsBox .price {
  text-align: right;
}
#waribiki ul li .textBox .partsBox .price img {
  height: calc(100vw / var(--viewport) * 54);
}
#waribiki ul li .textBox .ttl_aco {
  color: #000;
  font-size: calc(100vw / var(--viewport) * 21);
  line-height: calc(100vw / var(--viewport) * 58);
  text-align: center;
  background: #AFAFAF;
  width: 100%;
  padding-right: calc(100vw / var(--viewport) * 42);
  box-sizing: border-box;
}
#waribiki ul li .textBox .ttl_aco:after {
  width: calc(100vw / var(--viewport) * 18);
  height: calc(100vw / var(--viewport) * 18);
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
  right: calc(100vw / var(--viewport) * 24);
}
#waribiki ul li .textBox .ttl_aco.open:after {
}
#waribiki ul li .priceBox {
  font-size: calc(100vw / var(--viewport) * 26);
  line-height: 1.76;
  width: calc(100vw / var(--viewport) * 610);
  margin: calc(100vw / var(--viewport) * 42) auto 0;
  display: none;
}
#waribiki ul li .priceBox .flex {
  height: calc(100vw / var(--viewport) * 64);
  border-bottom: 2px solid #888;
}
#waribiki ul li .priceBox .flex:first-child {
  border-top: 2px solid #888;
}
#waribiki ul li .priceBox .flex span {
  display: flex;
  align-items: center;
}
#waribiki ul li .priceBox .flex span:nth-child(1) {
  justify-content: flex-start;
}
#waribiki ul li .priceBox .flex span:nth-child(2) {
  width: calc(100vw / var(--viewport) * 152);
  justify-content: space-around;
}
#waribiki ul li .priceBox img {
  height: calc(100vw / var(--viewport) * 33);
  vertical-align: middle;
}
#waribiki ul li .caption {
  /* font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: calc(100vw / var(--viewport) * 322);
  bottom: calc(100vw / var(--viewport) * -4); */
  font-size: calc(100vw / var(--viewport)* 24);
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: calc(100vw / var(--viewport)* 75);
    bottom: calc(100vw / var(--viewport)* -34);
    color: #000;
}

@media screen and (max-width:767px) {
  _::-webkit-full-page-media, _:future, :root #waribiki ul li .textBox .balloon {
    letter-spacing: -0.05em;
  }
}

@media screen and (min-width:768px) {
  #contents #doujiwari {
    margin-top: 75px;
  }
  #contents #doujiwari .pageTtl {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  #contents #doujiwari .moreBtn {
    margin: 30px 0 0;
  }
  #contents #doujiwari .moreBtn a {
    font-size: 2.4rem;
    padding: 12px 0;
  }
  #doujiwari .moreBtn a.open::after {
    top: 50% !important;
    transform: translateY(-50%);
    margin: 0;
  }
  #conts #waribiki .inner {
    padding: 0;
  }
  #waribiki .lead {
    font-size: 2.2rem;
    text-align: center;
    line-height: 4rem;
    padding: 0;
    margin: 35px auto;
  }
  #waribiki .lead + img {
    width: 60px;
    margin-bottom: 26px;
  }
  #waribiki .pc_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #waribiki ul li {
    width: 493px;
    padding-bottom: 24px;
    margin-top: 14px;
  }
  #waribiki ul li .name {
    font-size: 16px;
    height: 68px;
    box-sizing: border-box;
  }
  #waribiki ul li .name p {
    width: 49%;
  }
  #waribiki ul li .name .sub {
    font-size: 11px;
  }
  #waribiki ul li .relative {
    padding: 60px 22px 0;
  }
  #waribiki ul li .imgBox {
    width: 234px;
  }
  #waribiki ul li .imgBox img {
    margin-top: -119px;
  }
  #waribiki ul li .textBox {
    width: 206px;
    transform: translate(0,-30px);
  }
  #waribiki ul li .textBox .midashi {
    height: 33px;
  }
  #waribiki ul li .textBox .midashi .count {
    font-size: 12px;
    width: 47px;
    height: 25px;
    margin-right: 7px;
  }
  #waribiki ul li .textBox .balloon {
    font-size: 13px;
    width: 206px;
    height: 31px;
    border: 1px solid var(--waribikiColor);
    margin: 9px auto 15px;
  }
  #waribiki ul li .textBox .balloon:before {
    bottom: -14px;
    border: 5px solid transparent;
    border-top: 10px solid #eee;
  }
  #waribiki ul li .textBox .balloon:after {
    bottom: -16px;
    border: 5px solid transparent;
    border-top: 10px solid var(--waribikiColor);
  }
  #waribiki ul li .textBox .partsBox {
    margin-bottom: 7px;
  }
  #waribiki ul li .textBox .partsBox .flex {
    font-size: 17px;
    margin-bottom: 10px;
  }
  #waribiki ul li .textBox .partsBox .flex .blueBox,
  #waribiki ul li .textBox .partsBox .flex .blackBox {
    font-size: 11px;
    height: 24px;
  }
  #waribiki ul li .textBox .partsBox .flex .blueBox {
    width: 47px;
  }
  #waribiki ul li .textBox .partsBox .flex .blackBox {
    width: 131px;
  }
  #waribiki ul li .textBox .partsBox .text {
    font-size: 18px;
    margin-bottom: 16px;
  }
  #waribiki ul li .textBox .partsBox .price img {
    height: 31px;
  }
  #waribiki ul li .textBox .ttl_aco {
    font-size: 12px;
    line-height: 32px;
    padding-right: 17px;
  }
  #waribiki ul li .textBox .ttl_aco:after {
    width: 10px;
    height: 10px;
    right: 12px;
    background-size: contain;
  }
  #waribiki ul li .textBox .ttl_aco.open:after {
    width: 10px;
    height: 2.5px;
  }
  #waribiki ul li .priceBox {
    font-size: 16px;
    width: 374px;
    margin: 30px auto 0;
  }
  #waribiki ul li .priceBox .flex {
    height: 38px;
    margin-bottom: 1px;
  }
  #waribiki ul li .priceBox .flex span:nth-child(2) {
    width: 93px;
  }
  #waribiki ul li .priceBox img {
    height: 21px;
  }
  #waribiki ul li .caption {
    /* font-size: 12px;
    left: 250px;
    bottom: 0px; */
    left: 83px;
    bottom: -14px;
    font-size: 15px;
    color: #000;
    font-weight: 600;
  }
}


@media screen and (min-width:768px) {
  #conts .priceArea#parts .flex li .box .td.cp10th {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
  }
  #conts .priceArea#parts .flex li .box .td.cp10th:before {
    display: block;
    content: "";
    width: 108px;
    height: 23px;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-top: 0.6em;
    margin-inline: auto;
  }
  #conts .priceArea#higePrice .flex li .box .td.cp10th:before {
    display: block;
    content: "";
    width: 108px;
    height: 23px;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-top: 0.6em;
    margin-inline: auto;
  }
  #conts .priceArea .flex li .box .td.cp10th .totalPrice {
    margin-bottom: 0;
  }
  #waribiki ul li .relative.cp10th {
    align-items: center;
  }
  #waribiki ul li .cp10th .textBox {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
    padding-bottom: 90px;
  }
  #waribiki ul li .cp10th .textBox::before {
    display: block;
    content: "";
    width: 108px;
    height: 23px;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-bottom: 10px;
    justify-self: flex-end;
    display: none !important;
  }
}

@media screen and (max-width:767px) {
  #conts .priceArea#parts .flex li .box .td.cp10th:before {
    display: block;
    content: "";
    width: 26.667vw;
    height: 5.897vw;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-top: 1.4em;
    margin-inline: auto;
  }
  #conts .priceArea#higePrice .flex li .box .td.cp10th:before {
    display: block;
    content: "";
    width: 26.667vw;
    height: 5.897vw;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-top: 1.4em;
    margin-inline: auto;
  }
  #conts .priceArea .flex li .box .td.cp10th .totalPrice {
    margin-bottom: 0.3em;
  }
  #waribiki ul li .relative.cp10th {
    align-items: center;
  }
  #waribiki ul li .cp10th .textBox {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
    padding-bottom: 17.067vw;
  }
  #waribiki ul li .cp10th .textBox::before {
    /* display: block;
    content: "";
    width: 26.667vw;
    height: 5.897vw;
    background: url(../../../assets/img/common/cp_10th_h_2.webp) no-repeat;
    background-size: contain;
    margin-bottom: 10px;
    justify-self: flex-end; */
  }
  #waribiki ul li .textBox figure {
    width: 100%;
  }
}
