body {
  margin: 0;
}

#measure_page {
  --h-title-color: #333;
  --p-text-color: #555;
  --back-color: #fff;
  --cta-color: #aaa;

  --h-size: 100px;
  --h-sub-size: 60px;
  --p-size01: 30px;
  --p-size02: 25px;
  --p-size03: 20px;
  --p-size04: 18px;
  --p-size05: 16px;
  --p-size06: 14px;

  position: relative;
}

#measure_page * {
  margin: 0;
  padding: 0;
  font-family: 'Noto Serif JP', serif !important;
  box-sizing: border-box;
  line-height: 1.6;
  transform-origin: center;
}

#measure_page strong {
  font-weight: bold;
}

#measure_page img {
  width: 100%;
  height: auto;
}

#measure_page ul {
  list-style: none;
}

#measure_page a {
  text-decoration: none;
}

#measure_page .section_inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

#measure_page .pc_none {
  display: none;
}

@media screen and (max-width:1920px) {
  #measure_page .section_inner {
    max-width: 1240px;
  }
}

@media screen and (max-width:1600px) {
  #measure_page {
    --h-size: 80px;
    --h-sub-size: 40px;
  }
}

@media screen and (max-width:1024px) {
  #measure_page {
    --h-size: min(calc(1vw * calc(60 / 7.68)), 80px);
    --p-size01: min(calc(1vw * calc(25 / 7.68)), 30px);
    --p-size02: min(calc(1vw * calc(20 / 7.68)), 25px);
    --p-size03: min(calc(1vw * calc(18 / 7.68)), 20px);
    --p-size04: min(calc(1vw * calc(16 / 7.68)), 18px);
  }
}

@media screen and (max-width:767px) {
  #measure_page {
    --h-size: min(calc(1vw * calc(40 / 3.75)), 60px);
    --h-sub-size: min(calc(1vw * calc(30 / 3.75)), 40px);
    --p-size01: min(calc(1vw * calc(20 / 3.75)), 25px);
    --p-size02: min(calc(1vw * calc(17 / 3.75)), 20px);
    --p-size03: min(calc(1vw * calc(16 / 3.75)), 18px);
    --p-size04: min(calc(1vw * calc(14 / 3.75)), 16px);
  }
}

@media screen and (max-width:767px) {
  #measure_page .sp_none {
    display: none;
  }

  #measure_page .pc_none {
    display: block;
  }

  #measure_page .comma_none {
    display: inline-block;
  }

  #measure_page .section_inner {
    padding: 0 10px;
  }
}




#measure_page .section001,
#measure_page .main_section {
  margin-bottom: 300px;
}

#measure_page .section001 .cnt_mv h1 {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto 60px;
  aspect-ratio: 1325 / 582;
}

#measure_page .section001 h2 {
  margin-bottom: 60px;
  font-size: var(--h-size);
  color: var(--h-title-color);
  font-weight: 500;
  text-align: center;
  line-height: 1;
}

#measure_page .section001 .read_txt {
  margin-bottom: 100px;
  font-size: var(--p-size02);
  text-align: center;
  line-height: 1.8;
  color: var(--p-text-color);
}

#measure_page .main_h2 {
  margin-bottom: 80px;
  color: var(--h-title-color);
  font-size: var(--h-sub-size);
  text-align: center;
}

#measure_page .main_h2_subTxt {
  color: var(--p-text-color);
  font-size: var(--p-size02);
  text-align: center;
  line-height: 1.8;
}

#measure_page .read_table .table_main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}

#measure_page .read_table .table_main li {
  position: relative;
  width: calc(calc(100% - 180px) / 4);
}

#measure_page .read_table .table_main li {
  margin: 0 auto 0 0;
}

#measure_page .read_table .table_main li::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  transform: translate(8px, 8px);
  display: block;
  width: 100%;
  height: 100%;
  background:
    color-mix(in srgb, var(--cta-color) 30%, transparent);
  transition: .5s all;
  z-index: 0;
}

#measure_page .read_table .table_main li a {
  position: relative;
  display: block;
  height: 60px;
  align-items: center;
  background: transparent;
  transition: .5s all;
  border: 1px solid var(--cta-color);
  box-sizing: border-box;
  z-index: 1;
}

#measure_page .read_table .table_main li a span {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  width: 100%;
  padding-left: 20px;
  color: var(--cta-color);
  font-size: 20px;
  line-height: 1.2;
  transition: .5s all;
  box-sizing: border-box;
}

#measure_page .read_table .table_main li:hover::after {
  transform: translate(0px, 0px);
  background: var(--cta-color);
}

#measure_page .read_table .table_main li:hover a span {
  color: #fff;
}


#measure_page .main_section .main_read_cnt {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}

#measure_page .main_section .main_read_cnt figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 800px;
  aspect-ratio: 1 / 1;
  z-index: 0;
}

#measure_page .main_section .main_read_cnt figure::before {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to left, var(--back-color), transparent 30%);
}

#measure_page .main_section .main_read_cnt .main_read_txt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  max-width: 900px;
  aspect-ratio: 9 / 8;
  margin: 0 0 0 auto;
  z-index: 2;
}

#measure_page .main_section .product_list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 60px;
  margin-bottom: 80px;
}

#measure_page .main_section .product_list li {
  width: calc(calc(100% - 120px) / 3);
}

#measure_page .main_section .product_list li a {
  position: relative;
  top: 0;
  transform: translateY(0);
  display: block;
  padding: 20px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 2px 2px 6px transparent, -2px 0px 6px transparent;
  transition: .8s all;
}

#measure_page .main_section .product_list li figure {
  margin-bottom: 20px;
}

#measure_page .main_section .product_list li .product_txt {
  padding-bottom: 20px;
  box-sizing: border-box;
}

#measure_page .main_section .product_list li .bland_name {
  margin-bottom: 10px;
  font-size: var(--p-size03);
  color: var(--p-text-color);
  text-align: center;
}

#measure_page .main_section .product_list li .bland_txt {
  font-size: var(--p-size04);
  color: var(--p-text-color);
  text-align: center;
  line-height: 1.8;
}

#measure_page .main_section .cta_box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  margin-top: 120px;
}

#measure_page .main_section .cta_btn {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

#measure_page .main_section .cta_box .cta_btn {
  margin: 0;
}

#measure_page .main_section .cta_btn a {
  display: block;
  padding: 15px;
  box-sizing: border-box;
  border: 1px solid var(--cta-color);
  background: #fff;
  transition: .6s all;
  color: var(--cta-color);
  font-size: var(--p-size04);
  text-align: center;
}

#measure_page .main_section .cta_box .cta_btn a {
  background: var(--cta-color);
  color: #fff;
}

#measure_page .main_section .cta_btn a:hover {
  background: var(--cta-color);
  color: #fff;
}

#measure_page .main_section .cta_box .cta_btn a:hover {
  background: #fff;
  color: var(--cta-color);
}

@media screen and (min-width:1025px) {
  #measure_page .main_section .product_list li a:hover {
    transform: translateY(-5px);
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .1), -2px 0px 6px rgba(0, 0, 0, .1);
  }
}

@media screen and (max-width:1920px) {
  #measure_page .read_table .table_main {
    gap: 40px;
  }

  #measure_page .read_table .table_main li {
    width: calc(calc(100% - 120px) / 4);
  }

  #measure_page .main_section .main_read_cnt {
    margin-bottom: 60px;
  }

  #measure_page .main_section .main_read_cnt figure {
    max-width: 600px;
  }

  #measure_page .main_section .main_read_cnt .main_read_txt {
    max-width: 800px;
    aspect-ratio: 7 / 6;
  }

  #measure_page .main_section .product_list {
    gap: 40px;
    margin-bottom: 60px;
  }

  #measure_page .main_section .product_list li {
    width: calc(calc(100% - 80px) / 3);
  }

  #measure_page .main_section .cta_box {
    margin-top: 100px;
    gap: 40px;
  }
}

@media screen and (max-width:1600px) {

  #measure_page .section001,
  #measure_page .main_section {
    margin-bottom: 150px;
  }

  #measure_page .main_section.section004,
  #measure_page .section005 {
    margin-bottom: 100px;
  }

  #measure_page .section001 .cnt_mv h1,
  #measure_page .section001 p.read_title_sub,
  #measure_page .section001 .read_img,
  #measure_page .section001 .read_txt {
    margin-bottom: 80px;
  }

  #measure_page .section001 .read_img,
  #measure_page .main_section .main_cnt_product {
    gap: 80px;
  }

  #measure_page .main_section .main_cnt_product ul {
    gap: 40px;
  }

  #measure_page .section001 .read_img li,
  #measure_page .main_section .main_cnt_product>figure,
  #measure_page .main_section .main_cnt_product ul {
    width: calc(calc(100% - 80px) / 2);
  }

  #measure_page .main_section .main_cnt_product ul li {
    width: calc(calc(100% - 40px) / 2);
  }

  #measure_page .section001 .read_img li:nth-of-type(2) {
    margin-top: 160px;
  }

  #measure_page .section001 .read_img li:last-of-type {
    margin-top: -320px;
    margin-left: 160px;
  }
}

@media screen and (max-width:1240px) {
  #measure_page .main_h2_subTxt {
    font-size: var(--p-size03);
  }

  #measure_page .main_section .main_read_cnt figure {
    max-width: calc(1vw * calc(600 / 12.4));
  }

  #measure_page .main_section .main_read_cnt .main_read_txt {
    max-width: calc(1vw * calc(800 / 12.4));
  }
}

@media screen and (max-width:1024px) {
  #measure_page .read_table .table_main {
    flex-wrap: wrap;
  }

  #measure_page .read_table .table_main li {
    width: calc(calc(100% - 40px) / 2);
  }

  #measure_page .main_h2 {
    margin-bottom: 60px;
  }

}

@media screen and (max-width:767px) {

  #measure_page .section001,
  #measure_page .main_section {
    margin-bottom: 120px;
  }

  #measure_page .main_section.section004,
  #measure_page .section005 {
    margin-bottom: 80px;
  }

  #measure_page .section001 .cnt_mv h1,
  #measure_page .section001 p.read_title_sub,
  #measure_page .section001 .read_img,
  #measure_page .section001 .read_txt,
  #measure_page .section001 h2 {
    margin-bottom: 50px;
  }

  #measure_page .section001 .read_txt {
    text-align: left;
  }

  #measure_page .main_h2 {
    margin-bottom: 20px;
  }

  #measure_page .main_h2_subTxt {
    text-align: left;
  }

  #measure_page .cta_btn {
    max-width: calc(100% - 20px);
  }

  #measure_page .txt_box .explanation_txt {
    margin-bottom: 30px;
  }

  #measure_page .cta_box {
    flex-direction: column;
    gap: 40px;
  }

  #measure_page .read_table .table_main {
    gap: 30px;
  }

  #measure_page .read_table .table_main li {
    width: calc(100% - 10px);
  }

  #measure_page .main_section .main_read_cnt figure {
    position: relative;
    max-width: 800px;
  }

  #measure_page .main_section .main_read_cnt figure::before {
    width:100%;
    background: linear-gradient(to top, var(--back-color), transparent 40%);
  }

  #measure_page .main_section .main_read_cnt .main_read_txt {
    max-width: 800px;
    margin-top: -25%;
    aspect-ratio: unset;
  }

  #measure_page .main_section .product_list {
    gap: 20px;
    margin-bottom: 40px;
  }

  #measure_page .main_section .product_list li {
    width: calc(calc(100% - 20px) / 2);
  }

  #measure_page .main_section .cta_box {
    gap: 30px;
  }

  #measure_page .main_section .product_list li a{
    padding: 10px;
  }
}



#measure_page .animation .main_read_cnt figure {
  transform: translateX(80px);
  opacity: 0;
  transition: .8s all;
}

#measure_page .animation .main_h2 {
  position: relative;
  transform: translateX(-80px);
  opacity: 0;
  transition: .8s all;
}

#measure_page .animation .main_h2_subTxt {
  opacity: 0;
  filter: blur(10px);
  transition: .8s .4s all;
}

#measure_page .animation .product_list li {
  opacity: 0;
  transition: .8s .8s all;
}

#measure_page .animation .product_list li:nth-of-type(2) {
  transition-delay: 1s;
}

#measure_page .animation .product_list li:nth-of-type(3) {
  transition-delay: 1.2s;
}

#measure_page .animation .product_list li:nth-of-type(4) {
  transition-delay: 1.4s;
}

#measure_page .animation .product_list li:nth-of-type(5) {
  transition-delay: 1.6s;
}

#measure_page .animation .product_list li:nth-of-type(6) {
  transition-delay: 1.8s;
}

#measure_page .animation.active .main_read_cnt figure,
#measure_page .animation.active .main_h2 {
  transform: translate(0);
  opacity: 1;
}

#measure_page .animation.active .main_h2_subTxt {
  opacity: 1;
  filter: blur(0);
}

#measure_page .animation.active .product_list li {
  opacity: 1;
}

@media screen and (max-width:767px) {
  #measure_page .animation .main_read_cnt figure {
    transform: translateY(50px);
  }

  #measure_page .animation .main_h2 {
    transform: translateY(-20px);
  }
}