@charset "UTF-8";
.p-product {
  padding-bottom: 16rem;
}
@media screen and (max-width: 767px) {
  .p-product {
    padding-bottom: 7rem;
  }
}
@media print, screen and (min-width: 768px) {
  .p-product .c-note p {
    font-size: 1.6rem;
  }
}
.p-product p {
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-product p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-product .c-photoset .img {
    margin: 0 0 3rem;
  }
}
.p-product .c-photoset .c-note {
  margin: 5rem 0 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-product .c-photoset .c-note {
    margin-top: 3rem;
  }
  .p-product .c-photoset .c-note p {
    margin-bottom: 1.5rem;
    font-size: 1.2rem;
  }
}
.p-product .c-photoset .c-linklist {
  margin-top: 5rem;
}
.p-product .c-photoset.m-powered {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-product .c-photoset.m-powered {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-product .c-linklist li a {
    padding: 0 0.5rem;
  }
  .p-product .c-linklist li a .u-window {
    margin-left: 0.5rem;
  }
}
.p-product .feature-unit {
  background: #fff;
}
.p-product .feature-unit .txt {
  background: #fff;
  padding: 4rem 4rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-product .feature-unit .txt {
    padding: 2.5rem 1.5rem;
  }
}
.p-product .feature-unit .txt .en {
  text-align: center;
  font-family: "Tomorrow", sans-serif;
  color: #366a47;
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-product .feature-unit .txt .en {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.p-product .feature-unit .txt .ttl {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-product .feature-unit .txt .ttl {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
    line-height: 1.3;
  }
}
.p-product .feature-unit .txt .detail {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-product .feature-unit .txt .detail {
    font-size: 1.2rem;
    line-height: 1.8333333333;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-product .feature-unit .txt .detail .u-note {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-product .other-grid {
    gap: 4rem 2rem;
  }
}
.p-product .other-unit .txt {
  padding-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-product .other-unit .txt {
    padding-top: 2rem;
  }
}
.p-product .other-unit .txt .en {
  text-align: center;
  font-family: "Tomorrow", sans-serif;
  color: #366a47;
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-product .other-unit .txt .en {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.p-product .other-unit .txt .ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-product .other-unit .txt .ttl {
    font-size: 1.4rem;
    margin-bottom: 0.6rem;
  }
}
.p-product .other-unit .txt .detail {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-product .other-unit .txt .detail {
    font-size: 1.2rem;
    line-height: 1.8333333333;
    margin-bottom: 1.5rem;
  }
}
.p-product .other-unit .txt .c-linklist {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-product .other-unit .txt .c-linklist {
    margin-top: 0.5rem;
  }
}
.p-product .other-unit .txt .c-linklist li {
  width: 100%;
}
.p-product .c-section + .c-section {
  margin-top: 13rem;
}
@media screen and (max-width: 767px) {
  .p-product .c-section + .c-section {
    margin-top: 7rem;
  }
}

.p-checker {
  margin-top: 10rem;
}

.p-caliper {
  margin: 10rem 0;
}

.c-productTbl {
  width: 100%;
  position: relative;
  margin: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .c-productTbl {
    margin: 4rem 0 6rem;
  }
}
.c-productTbl th, .c-productTbl td {
  border: 1px solid #c3c5c4;
  vertical-align: middle;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-productTbl th, .c-productTbl td {
    border-right: none;
    border-left: none;
  }
}
.c-productTbl th:first-of-type, .c-productTbl td:first-of-type {
  border-left: none;
}
.c-productTbl th:last-of-type, .c-productTbl td:last-of-type {
  border-right: none;
}
.c-productTbl thead {
  background: #e5e5e5;
}
.c-productTbl thead th {
  font-size: 1.4rem;
  padding: 1.2rem 0;
}
@media screen and (max-width: 767px) {
  .c-productTbl thead th {
    font-size: 1rem;
    white-space: nowrap;
    padding: 0.7rem 0;
  }
}
.c-productTbl thead th:nth-of-type(1) {
  width: 9.2rem;
}
@media screen and (max-width: 767px) {
  .c-productTbl thead th:nth-of-type(1) {
    width: auto;
  }
}
.c-productTbl thead th:nth-of-type(2) {
  width: 13rem;
}
@media screen and (max-width: 767px) {
  .c-productTbl thead th:nth-of-type(2) {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-productTbl thead th:nth-of-type(4) {
    width: 11.5rem;
  }
}
.c-productTbl thead .head-range {
  position: relative;
  padding-bottom: 3rem;
}
.c-productTbl thead .head-range:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 59.8rem;
  height: 2.1rem;
  background: url(../img/product/fig_table_scale.svg) no-repeat right top/cover;
}
@media screen and (max-width: 767px) {
  .c-productTbl thead .head-range {
    padding: 0.7rem 0;
  }
  .c-productTbl thead .head-range:after {
    content: none;
  }
}
.c-productTbl tbody th {
  padding: 0.5rem 0;
}
.c-productTbl tbody td {
  font-size: 1.6rem;
  padding: 1rem 0;
  background: #fff;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .c-productTbl tbody td {
    font-size: 1.2rem;
    padding: 0.7rem 0;
  }
}
.c-productTbl tbody td:last-child {
  text-align: left;
  padding-left: 1rem;
}
.c-productTbl tbody td a {
  color: #366a47;
}
.c-productTbl tbody td a .u-window {
  vertical-align: middle;
  position: relative;
  top: -1px;
}
.c-productTbl tbody td.range {
  padding: 0;
  width: 72rem;
}
@media screen and (max-width: 767px) {
  .c-productTbl tbody td.range {
    width: auto;
  }
}
.c-productTbl tbody td.range .range-date {
  display: inline-block;
  width: calc(100% - 60.2rem);
  text-align: center;
  margin-top: 1.1rem;
}
@media screen and (max-width: 767px) {
  .c-productTbl tbody td.range .range-date {
    width: auto;
    margin: 0;
    padding: 0.7rem 0;
  }
}
.c-productTbl tbody td.range .range-scale {
  display: inline-block;
  position: relative;
  height: 3.9rem;
  background: url(../img/product/bg_table_scale.png) no-repeat right top/100% 100%;
  width: 59.8rem;
  vertical-align: top;
}
.c-productTbl tbody td.range .range-scale .scale-line {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 1.8rem;
  background: #b7b350;
  /*left、widthはhtmlのdate値に記載*/
}
.c-productTbl-wrap {
  overflow: clip;
  position: relative;
  height: 22.3rem;
  margin: 6rem 0;
}
@media screen and (max-width: 767px) {
  .c-productTbl-wrap {
    height: 15.3rem;
    margin: 4rem 0;
    border-bottom: 1px solid #c3c5c4;
  }
}
.c-productTbl-wrap .c-productTbl {
  margin: 0;
}
.c-productTbl-wrap.is-open thead.is-sticky {
  position: sticky;
  /* tbody内のセルより手前に表示する */
  z-index: 1;
  top: 59px;
}
@media screen and (max-width: 767px) {
  .c-productTbl-wrap.is-open thead.is-sticky {
    top: 50px;
  }
}
.c-productTbl-wrap.is-open .arrow {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.c-productTbl-btn {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  color: #366a47;
  font-family: "Tomorrow", sans-serif;
  font-size: 1.1rem;
  width: 100%;
  height: 6rem;
  background: #fff;
  -webkit-box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.1);
  padding-top: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 3;
  cursor: pointer;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-productTbl-btn:hover {
    background: #ddd;
  }
}
@media screen and (max-width: 767px) {
  .c-productTbl-btn {
    height: 4rem;
  }
}
.c-productTbl-btn .arrow {
  position: absolute;
  left: 0;
  right: 0;
  top: 2rem;
  margin: 0 auto;
  background: url(../img/common/icn_menulist.png) no-repeat left top/contain;
  width: 1.1rem;
  height: 0.7rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-productTbl-btn .arrow {
    width: 0.8rem;
    height: 0.5rem;
    top: 0.9rem;
  }
}

.c-contact {
  padding: 6rem 0 0;
}
@media screen and (max-width: 767px) {
  .c-contact {
    padding-top: 0;
  }
}

* + .m-mt85 {
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  * + .m-mt85 {
    margin-top: 6rem;
  }
}

* + .m-mt135 {
  margin-top: 13.5rem;
}
@media screen and (max-width: 767px) {
  * + .m-mt135 {
    margin-top: 6rem;
  }
}