#contents {
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 4rem;
}
#contents .htype_prdct01 {
  position: relative;
  padding-bottom: 1.5rem;
  text-align: center;
  margin-bottom: clamp(2rem, 2.78vw, 4rem);
}
#contents .htype_prdct01 p {
  font-family: "Red Hat Display", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 2.6rem;
  font-size: clamp(1.4rem, 1.9vw, 2.6rem);
  font-weight: 700;
  margin-bottom: 0;
  margin-block: calc((1cap - 1lh) / 2);
  letter-spacing: 0.1em;
  padding-left: -0.1em;
}
#contents .htype_prdct01 h3 {
  font-size: clamp(2rem, 2.1vw, 3rem);
  letter-spacing: 0.05em;
  padding-left: -0.05em;
}
#contents .htype_prdct01::before, #contents .htype_prdct01::after {
  content: "";
  display: block;
  position: absolute;
}
#contents .htype_prdct01::before {
  background: #FFF;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  bottom: 0;
}
#contents .htype_prdct01::after {
  background: #1B9CD3;
  width: 10em;
  height: 3px;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
}
#contents .htype_prdct01.darkmode {
  color: #FFF;
}
#contents .htype_prdct01.darkmode::after {
  background: #CB3C3F;
}
#contents hgroup .series {
  background: #CFEDF2;
  color: #1D88B9;
  border-radius: 5px;
  text-align: center;
  padding: 5px 1rem;
  margin-bottom: 1rem;
}
#contents .htype_prdct02 {
  font-size: 2.6rem;
  font-size: clamp(1.8rem, 1.9vw, 2.6rem);
  color: #1D88B9;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 3rem;
}
#contents .htype_prdct03 {
  font-size: clamp(1.6rem, 1.6vw, 2.2rem);
  color: #1D88B9;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #F5F5F5;
  position: relative;
}
#contents .htype_prdct03:after {
  content: "";
  width: 6rem;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  background: #1D88B9;
}
#contents .pageInnerLink {
  background: #EEF6F7;
  border-radius: 5px;
  padding: 2rem;
}
#contents .pageInnerLink ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
#contents .pageInnerLink ul li {
  width: fit-content;
}
#contents .pageInnerLink ul li a {
  display: block;
  color: #1D88B9;
  border: 1px solid #1D88B9;
  border-radius: 3px;
  text-align: center;
  padding: 3px 2rem;
  font-size: 1.6rem;
  background: #FFF;
  letter-spacing: 0.05em;
  padding-left: -0.05em;
}
@media screen and (max-width: 768px) {
  #contents .pageInnerLink ul {
    display: block;
  }
  #contents .pageInnerLink ul li {
    width: auto;
  }
  #contents .pageInnerLink ul li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
#contents .prdctbox01 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFF;
  border-radius: 8px;
  padding: 3rem;
  gap: 30px;
}
#contents .prdctbox01 a .photo {
  order: 1;
  width: 100px;
}
#contents .prdctbox01 a .text {
  width: calc(100% - 130px);
  order: 2;
}
#contents .prdctbox01 a .text h4 {
  font-weight: 700;
  margin-bottom: 1rem;
  font-size: 3rem;
  display: flex;
  gap: 0rem;
}
#contents .prdctbox01 a .text h4.en {
  font-size: 3rem;
  font-family: "Red Hat Display", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  letter-spacing: 0.03em;
  padding-left: -0.03em;
  color: #1D88B9;
}
#contents .prdctbox01 a .text h4::before {
  content: "";
  width: 3.4rem;
  aspect-ratio: 1/1;
  border-radius: 3px;
  background: #FFF url(/lib/img/cmn/icon_arrow_03.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #contents .prdctbox01 a {
    display: grid;
    grid-template-rows: 1fr;
    padding: 3rem 1rem;
  }
  #contents .prdctbox01 a .photo {
    order: 1;
    width: 50%;
    text-align: center;
    margin: 0 auto;
  }
  #contents .prdctbox01 a .text {
    width: 100%;
    order: 2;
  }
  #contents .prdctbox01 a .text h4 {
    font-size: 2.4rem;
  }
  #contents .prdctbox01 a .text h4.en {
    font-size: clamp(2.4rem, 2.1vw, 3rem);
    letter-spacing: 0.05em;
    padding-left: -0.05em;
  }
  #contents .prdctbox01 a .text h4::before {
    width: 3rem;
  }
}
#contents .prdctbox02 {
  margin-top: clamp(2rem, 5.5vw, 8rem);
  display: grid;
  grid-template-columns: 50% 45%;
  gap: 5%;
}
@media screen and (max-width: 768px) {
  #contents .prdctbox02 {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5.5vw, 8rem);
  }
}
#contents .prdctbox03 {
  margin-top: clamp(2rem, 5.5vw, 8rem);
  display: grid;
  grid-template-columns: 60% 35%;
  gap: 5%;
}
@media screen and (max-width: 768px) {
  #contents .prdctbox03 {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5.5vw, 8rem);
  }
}
#contents .prdctbox04 {
  margin-top: clamp(2rem, 5.5vw, 8rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5.5vw, 8rem);
}
@media screen and (max-width: 768px) {
  #contents .prdctbox04 {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5.5vw, 8rem);
  }
}
#contents .prdctbox05 {
  margin-top: clamp(2rem, 5.5vw, 8rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5.5vw, 8rem);
}
#contents .prdctbox05 > * {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 1rem clamp(2rem, 5.5vw, 8rem);
}
#contents .prdctbox05 > * .htype_prdct03 {
  margin-bottom: 1rem;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  #contents .prdctbox05 {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 2.75vw, 4rem);
  }
}
#contents .topline01 {
  padding-top: clamp(2rem, 2.78vw, 4rem);
  margin-top: clamp(2rem, 5.5vw, 8rem);
  border-top: 1px solid #1D88B9;
}
#contents .topline01 > .prdctbox03 {
  margin-top: 0;
}
#contents .makerLink {
  margin-top: 5rem;
}
#contents .makerLink dt {
  color: #1D88B9;
  margin-bottom: 1rem;
  font-size: 1.8rem;
}
#contents .makerLink dd > a {
  margin: 0 auto 0 0;
}

/* productsTop
------------------------------------ */
#productsTop .leadblock .lead {
  font-size: clamp(2rem, 2.1vw, 3rem);
  color: #1B9CD3;
  font-weight: 500;
  text-align: center;
}
#productsTop .leadblock p {
  margin: clamp(2rem, 5.5vw, 8rem) auto;
  text-align: center;
}
#productsTop > section {
  position: relative;
  margin: clamp(2rem, 5.5vw, 8rem) auto;
  padding: 2rem;
  padding-top: clamp(2rem, 2.78vw, 4rem);
  padding-bottom: clamp(2rem, 5.5vw, 8rem);
}
#productsTop > section::before {
  content: "";
  width: calc(100vw - 4rem);
  height: 100%;
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  border-radius: 8px;
}
#productsTop .gehealthcareBlock::before {
  background: #314D68;
}
#productsTop .gehealthcareBlock > ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem 1vw;
}
#productsTop .gehealthcareBlock > ul > li {
  width: calc(33% - 0.6666666667vw);
}
#productsTop .gehealthcareBlock > ul > li > a {
  aspect-ratio: 286/130;
  color: #FFF;
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  padding: 2rem 1vw 2rem 2vw;
  transition: 0.5s;
  z-index: 0;
}
#productsTop .gehealthcareBlock > ul > li > a.menu01 {
  background: url(/lib/img/cmn/menu_product_ge_01.webp) no-repeat center center/cover;
}
#productsTop .gehealthcareBlock > ul > li > a.menu02 {
  background: url(/lib/img/cmn/menu_product_ge_02.webp) no-repeat center center/cover;
}
#productsTop .gehealthcareBlock > ul > li > a.menu03 {
  background: url(/lib/img/cmn/menu_product_ge_03.webp) no-repeat center center/cover;
}
#productsTop .gehealthcareBlock > ul > li > a.menu04 {
  background: url(/lib/img/cmn/menu_product_ge_04.webp) no-repeat center center/cover;
}
#productsTop .gehealthcareBlock > ul > li > a.menu05 {
  background: url(/lib/img/cmn/menu_product_ge_05.webp) no-repeat center center/cover;
}
#productsTop .gehealthcareBlock > ul > li > a:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #314D68;
  opacity: 0.6;
  border: 2px solid #FFF;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transition: 0.5s;
}
#productsTop .gehealthcareBlock > ul > li > a:hover {
  opacity: 1;
}
#productsTop .gehealthcareBlock > ul > li > a:hover:before {
  opacity: 0.8;
}
#productsTop .gehealthcareBlock > ul > li > a span, #productsTop .gehealthcareBlock > ul > li > a dl {
  position: relative;
  z-index: 2;
  font-size: clamp(1.4rem, 1.4vw, 2rem);
  padding-left: calc(clamp(1.4rem, 1.3vw, 1.8rem) + 1vw);
}
#productsTop .gehealthcareBlock > ul > li > a span::before, #productsTop .gehealthcareBlock > ul > li > a dl::before {
  content: "";
  width: clamp(1.4rem, 1.3vw, 1.8rem);
  aspect-ratio: 1;
  background: #FFF url(/lib/img/cmn/icon_arrow_02.png) no-repeat 0/contain;
  display: block;
  border-radius: 2px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#productsTop .gehealthcareBlock > ul > li > a dl {
  width: 100%;
}
#productsTop .gehealthcareBlock > ul > li > a dl dd {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid #FFF;
  font-size: clm(1.4, rem, 1.6);
}
#productsTop .gehealthcareBlock .dotlist {
  margin-top: 1rem;
  color: #FFF;
}
@media screen and (max-width: 768px) {
  #productsTop .gehealthcareBlock > ul {
    display: block;
  }
  #productsTop .gehealthcareBlock > ul > li {
    width: 100%;
    margin-top: 3rem;
  }
}
#productsTop .medicalBlock::before {
  background: #588CA1;
}
#productsTop .medicalBlock > ul {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
}
#productsTop .medicalBlock > ul > li > a {
  display: block;
  background: rgba(29, 136, 185, 0.6);
  border: 1px solid #FFF;
  padding: 1rem 2vw 1rem 3vw;
  aspect-ratio: 46/17;
  border-radius: 5px;
  color: #FFF;
  font-size: clamp(1.4rem, 1.4vw, 2rem);
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5vw;
}
#productsTop .medicalBlock > ul > li > a::before {
  content: "";
  width: clamp(1.4rem, 1.39vw, 1.8rem);
  aspect-ratio: 1;
  background: #FFF url(/lib/img/cmn/icon_arrow_02.png) no-repeat 0/contain;
  display: block;
  border-radius: 2px;
  z-index: 2;
}
#productsTop .medicalBlock > ul > li > a.menu01 {
  background: url(/lib/img/cmn/menu_product_general_01.webp) no-repeat center center/cover;
}
#productsTop .medicalBlock > ul > li > a.menu02 {
  background: url(/lib/img/cmn/menu_product_general_02.webp) no-repeat center center/cover;
}
#productsTop .medicalBlock > ul > li > a.menu03 {
  background: url(/lib/img/cmn/menu_product_general_03.webp) no-repeat center center/cover;
}
#productsTop .medicalBlock > ul > li > a.menu04 {
  background: url(/lib/img/cmn/menu_product_general_04.webp) no-repeat center center/cover;
}
#productsTop .medicalBlock > ul > li > a:after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #186D92;
  opacity: 0.6;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transition: 0.5s;
}
#productsTop .medicalBlock > ul > li > a:hover {
  opacity: 1;
}
#productsTop .medicalBlock > ul > li > a:hover:after {
  opacity: 0.8;
}
#productsTop .medicalBlock > ul > li > a span {
  z-index: 2;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  #productsTop .medicalBlock > ul {
    display: block;
  }
  #productsTop .medicalBlock > ul > li {
    width: 100%;
    margin-top: 1rem;
  }
}
#productsTop .startupBlock::before {
  background: #E2F0F3;
}
#productsTop .infectionBlock::before {
  background: #94BECA;
}

/* products/ #versanabalance
------------------------------------ */
#versanabalance .photo {
  max-width: 340px;
  margin: 0 auto;
}

/* products/ #vscanHandheldUltrasound
------------------------------------ */
#vscanHandheldUltrasound .prdctbox04 .photo {
  max-width: 480px;
  margin: 0 auto;
}

/* products/ #medicalCategory
------------------------------------ */
#medicalCategory > section {
  display: flex;
  justify-content: space-between;
  padding-top: clamp(2rem, 2.78vw, 4rem);
  border-top: 1px solid #1D88B9;
  margin-top: clamp(4rem, 5.5vw, 8rem);
}
#medicalCategory > section:nth-child(even) {
  flex-direction: row-reverse;
}
#medicalCategory > section .text {
  width: 50%;
}
#medicalCategory > section .photo {
  width: 45%;
}
@media screen and (max-width: 768px) {
  #medicalCategory > section {
    display: block;
  }
  #medicalCategory > section .text {
    width: 100%;
    margin-bottom: 3rem;
  }
  #medicalCategory > section .photo {
    width: 100%;
  }
}

/* products/ #optilaser
------------------------------------ */
#optilaser .box {
  padding-top: clamp(2rem, 2.78vw, 4rem);
  margin-top: clamp(2rem, 5.5vw, 8rem);
  border-top: 1px solid #1D88B9;
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: clamp(2rem, 3vw, 4rem);
}
#optilaser .box .logo {
  max-width: 240px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #optilaser .box {
    grid-template-columns: 1fr;
  }
}
#optilaser .youtube {
  margin: clamp(2rem, 3vw, 4rem) auto;
  max-width: 870px;
}
#optilaser .youtube iframe {
  aspect-ratio: 16/9;
  height: 100%;
  border-radius: 15px;
}

/* products/ #moonbeam3
------------------------------------ */
#moonbeam3 > section {
  margin-top: clamp(2rem, 5.5vw, 8rem);
  padding-top: clamp(1rem, 1.39vw, 2rem);
  border-top: 1px solid #1D88B9;
}
#moonbeam3 > section .htype_prdct02 {
  text-align: center;
}
#moonbeam3 > section > section {
  margin-top: clamp(2rem, 2.78vw, 4rem);
}
#moonbeam3 .vi {
  margin-bottom: clamp(2rem, 2.78vw, 4rem);
}