@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700;800;900&family=Open+Sans:wght@300;400;500;600;700;800&display=swap");
html {
  scroll-behavior: auto;
}

:root {
  --black: #161616;
  --bg_gray: #F2F2F2;
  --gray: #E7E7E7;
  --font_color: #161616;
  --white: #fff;
  --corp_green: #008132;
  --accent-red: #EA1818;
  --light-blue: #33A9E6;
  --dark-blue01: #030546;
  --dark-blue02: #000333;
  font-size: 10px;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  color: var(--font_color);
  position: relative;
}

@media screen and (min-width: 768px) {
  body {
    min-width: none !important;
  }
}
main {
  font-size: initial;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
  overflow: hidden;
}
@media screen and (max-width: 1100px) {
  main {
    width: 100%;
  }
}

a {
  text-decoration: none;
  transition-duration: 0.3s;
  color: var(--accent_color);
}

a:where(:not(.wp-element-button)) {
  color: var(--accent_color);
}

* ul {
  padding-left: 0;
}

.wrap_primary {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 5rem;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .wrap_primary {
    padding: 0 2rem;
    max-width: initial;
    box-sizing: border-box;
  }
}
.wrap_primary.none_padding {
  padding: 0;
}

ul li {
  list-style: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 765px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.link_btn.normal {
  position: relative;
  z-index: 3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  background: var(--dark-blue01);
  color: var(--white);
  position: relative;
  border-radius: 5rem;
  width: -moz-fit-content;
  width: fit-content;
}
.link_btn.normal:hover {
  background-color: var(--light-blue);
}
.link_btn.contact_btn {
  display: block;
  padding: 4.5rem;
  background-color: var(--light-blue);
  position: relative;
  font-size: 2rem;
  text-align: center;
  width: 100%;
  max-width: 80rem;
  box-shadow: 0px 5px 5px rgba(3, 5, 70, 0.2);
  color: var(--white);
  font-weight: bold;
  letter-spacing: 0.1em;
  border-radius: 1rem;
  overflow: hidden;
  transition-duration: 0.3s;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .link_btn.contact_btn {
    padding: 4.5rem 2rem;
  }
}
.link_btn.contact_btn span {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.link_btn.contact_btn::before {
  content: "";
  display: block;
  background-image: url(../images/common/contact_btn_bg.png);
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.link_btn.contact_btn::after {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background-image: url(../images/common/new_window_wh.png);
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 765px) {
  .link_btn.contact_btn::after {
    width: 2rem;
    height: 2rem;
    bottom: 1.5rem;
  }
}
.link_btn.contact_btn:hover {
  opacity: 0.5;
  transition-duration: 0.3s;
}

.pager {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  padding: 9rem 0 0 0;
}
@media screen and (max-width: 765px) {
  .pager {
    padding: 4rem 0 0 0;
  }
}
.pager .pager_bar {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0;
}
@media screen and (max-width: 765px) {
  .pager .pager_bar {
    gap: 5px;
  }
}
.pager .page-numbers {
  background-color: var(--white);
  border: 1px solid var(--font_color);
  border-radius: 10px;
  width: 4.5rem;
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--font_color);
  font-size: 1.6rem;
  overflow: hidden;
}
.pager .page-numbers:hover {
  background-color: var(--font_color);
  color: var(--white);
}
.pager .current {
  background-color: var(--font_color);
  color: var(--white);
}
.pager .prev,
.pager .next {
  position: relative;
}
.pager .prev::before,
.pager .next::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--font_color);
  border-right: 2px solid var(--font_color);
}
.pager .prev:hover,
.pager .next:hover {
  background-color: var(--font_color);
}
.pager .prev:hover::before,
.pager .next:hover::before {
  border-top: 2px solid var(--white);
  border-right: 2px solid var(--white);
}
.pager .prev::before {
  left: 4px;
  transform: rotate(-135deg);
}
.pager .next::before {
  right: 4px;
  transform: rotate(45deg);
}

.column2 {
  display: flex;
}

.page_nation_block {
  padding: 3rem 0;
}
.page_nation_block ul {
  padding: 0 !important;
}
.page_nation_block ul li {
  list-style: none !important;
}
.page_nation_block a {
  text-decoration: none !important;
}
.page_nation_block .pagination {
  justify-content: center;
  padding: 0 1rem;
}
.page_nation_block .page-numbers {
  display: flex;
  justify-content: center;
  list-style: none;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0;
}
.page_nation_block .page-numbers li:not(:last-of-type) {
  margin-bottom: 0;
}
.page_nation_block .page-numbers li::before {
  display: none;
}
.page_nation_block .page-numbers li .prev,
.page_nation_block .page-numbers li .next {
  position: relative;
  height: 5rem;
  width: 5rem;
  box-sizing: border-box;
  background-color: var(--light-blue);
}
.page_nation_block .page-numbers li .prev::before,
.page_nation_block .page-numbers li .next::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.page_nation_block .page-numbers li .prev::before {
  transform: rotate(-135deg);
}
.page_nation_block .page-numbers li a,
.page_nation_block .page-numbers li span {
  font-size: 1.6rem;
  padding: 1rem;
  width: 5rem;
  height: 5rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white) !important;
  background-color: var(--light-blue);
  text-decoration: none;
  border: 1px solid transparent;
  box-sizing: border-box;
}
.page_nation_block .page-numbers li a:hover,
.page_nation_block .page-numbers li span:hover {
  border-color: transparent;
  background-color: var(--dark-blue01);
}
.page_nation_block .page-numbers li .current {
  border-color: transparent;
  background-color: var(--dark-blue01);
  font-weight: bold;
}
.page_nation_block .page-numbers li .current::after {
  display: none;
}

.body_lock {
  overflow: hidden !important;
}

.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 2rem;
  box-sizing: border-box;
  z-index: 8888;
  height: 7.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(4px);
}
@media screen and (max-width: 1100px) {
  .header {
    width: 100%;
    height: 7.5rem;
    backdrop-filter: none;
    padding: 0 1rem;
  }
}
.header .inner_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.header .main_logo a {
  display: block;
  transition-duration: 0.3s;
  min-width: 15rem;
}
.header .main_logo a:hover {
  opacity: 0.8;
  transition-duration: 0.3s;
}
.header .main_logo_img {
  max-width: 21rem;
  position: relative;
  z-index: 999;
  width: 100%;
}
@media screen and (max-width: 1100px) {
  .header .main_logo_img {
    max-width: 18rem;
  }
}
.header .sub-menu {
  position: absolute;
  top: 5.9rem;
  padding: 2rem;
  box-sizing: border-box;
  display: flex;
  visibility: hidden;
  transition-duration: 0.3s;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(4px);
  flex-wrap: wrap;
  gap: 1rem;
  width: 50rem;
  opacity: 0;
  align-items: stretch;
}
@media screen and (max-width: 1100px) {
  .header .sub-menu {
    position: relative;
    visibility: visible;
    opacity: 1;
    background: transparent;
    backdrop-filter: none;
    padding: 0;
    top: 0;
    flex-direction: column;
    gap: 0;
  }
}
.header .sub-menu li {
  flex: 0 0 48%;
}
@media screen and (max-width: 1100px) {
  .header .sub-menu li {
    flex: 0 0 100%;
  }
}
.header .sub-menu li a {
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  border-radius: 5px;
  background: var(--dark-blue01);
  color: var(--white);
  text-align: center;
  font-weight: 500;
  line-height: 1.3;
  font-size: 1.4rem;
  padding: 1rem;
  min-width: 18rem;
  height: 100%;
  box-sizing: border-box;
  min-height: 56.38px;
}
.header .sub-menu li a[target=_blank] {
  position: relative;
}
.header .sub-menu li a[target=_blank]::after {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  background-image: url(../images/common/new_window_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  transition-duration: 0.3s;
  position: absolute;
  bottom: 6px;
  right: 6px;
}
@media screen and (max-width: 1100px) {
  .header .sub-menu li a[target=_blank]::after {
    position: relative;
    display: inline-block;
    background-image: url(../images/common/new_window_bk.png);
    bottom: 0;
    right: 0;
    margin: 0 5px;
  }
}
@media screen and (max-width: 1100px) {
  .header .sub-menu li a[target=_blank]:hover::after {
    background-image: url(../images/common/new_window_blu.png);
    transition-duration: 0.3s;
  }
}
@media screen and (max-width: 1100px) {
  .header .sub-menu li a {
    visibility: visible;
    opacity: 1;
    background: transparent;
    backdrop-filter: none;
    color: var(--black);
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 1.2rem;
    padding: 0.5rem 1em;
    min-height: initial;
    text-align: left;
    font-weight: 400;
  }
  .header .sub-menu li a br {
    display: none;
  }
}
.header .sub-menu li a:hover {
  background-color: var(--light-blue);
  color: var(--white);
}
@media screen and (max-width: 1100px) {
  .header .sub-menu li a:hover {
    background: transparent;
    color: var(--light-blue);
  }
}
.header .menu-item-has-children {
  position: relative;
}
.header .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--black);
  line-height: 1;
  width: 7px;
  height: 7px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin-left: 1rem;
  vertical-align: middle;
}
@media screen and (max-width: 1100px) {
  .header .menu-item-has-children > a::after {
    display: none;
  }
}
.header .menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
  transition-duration: 0.3s;
}
.header .menu-item-has-children:hover .sub-menu li a {
  visibility: visible;
  opacity: 1;
  transition-duration: 0.3s;
}

.gnav_menu_area {
  width: 100%;
}

.gnav-menu {
  width: 100%;
  display: flex;
  justify-content: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 1100px) {
  .gnav-menu {
    display: none;
    flex-direction: column;
  }
}
.gnav-menu a {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  position: relative;
  padding: 0 1.3rem;
  white-space: nowrap;
  line-height: 4rem;
}
@media screen and (max-width: 1100px) {
  .gnav-menu a {
    padding: 1rem 0;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.gnav-menu a::after {
  transition-duration: 0.3s;
}
.gnav-menu a:hover {
  color: var(--light-blue);
}
.gnav-menu a:hover::after {
  color: var(--light-blue);
}
.gnav-menu .current a,
.gnav-menu .current-page-ancestor a,
.gnav-menu .current_page_item a {
  color: var(--light-blue);
}
.gnav-menu .current a::after,
.gnav-menu .current-page-ancestor a::after,
.gnav-menu .current_page_item a::after {
  color: var(--light-blue);
}

.toggle_menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 0 auto;
  gap: 2rem;
  box-sizing: border-box;
  width: inherit;
}
@media screen and (max-width: 1100px) {
  .toggle_menu {
    display: none;
    position: fixed;
    top: 7.5rem;
    width: 100%;
    height: calc(100vh - 75px);
    background: rgba(255, 255, 255, 0.95);
    left: 0;
    padding: 0 1rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1rem;
  }
}

.primary_button_area {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 700px) {
  .primary_button_area {
    flex-direction: column;
    gap: 1rem;
  }
}
.primary_button_area .p-btn {
  font-size: 1.8rem;
  color: var(--white);
  background-color: #ccc;
  border-radius: 5rem;
  display: inline-block;
  white-space: nowrap;
  padding: 0 2rem;
  font-weight: bold;
  line-height: 4rem;
  box-sizing: border-box;
  box-shadow: 0 5px 10px rgba(3, 5, 70, 0.1);
  transition-duration: 0.3s;
  text-align: center;
}
.primary_button_area .p-btn:hover {
  opacity: 0.4;
  transition-duration: 0.3s;
}
@media screen and (max-width: 700px) {
  .primary_button_area .p-btn {
    font-size: 1.4rem;
    line-height: 3rem;
  }
}
.primary_button_area .primary_A {
  background-color: var(--dark-blue02);
}
.primary_button_area .primary_B {
  background-color: var(--light-blue);
}

.menu-btn {
  height: 4rem;
  width: 4rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: transparent;
  box-sizing: border-box;
  border-radius: 50%;
  display: none;
  margin-left: 2rem;
}
@media screen and (max-width: 1100px) {
  .menu-btn {
    display: flex;
  }
}
.menu-btn:hover {
  cursor: pointer;
}
.menu-btn .line,
.menu-btn .line:before,
.menu-btn .line:after {
  content: "";
  display: block;
  height: 2px;
  width: 30px;
  background-color: var(--black);
  position: relative;
  transition: 0.3s;
}
.menu-btn .line:before {
  bottom: 9px;
}
.menu-btn .line:after {
  top: 9px;
}

.is-togglemenu-active {
  background: rgba(255, 255, 255, 0.95);
}
.is-togglemenu-active .toggle_menu {
  display: flex;
}
.is-togglemenu-active .toggle_menu .gnav-menu {
  display: flex;
}
.is-togglemenu-active .menu-btn .line {
  background-color: transparent;
}
.is-togglemenu-active .menu-btn .line:before {
  transform: rotate(45deg);
  bottom: -1px;
  background-color: var(--black);
}
.is-togglemenu-active .menu-btn .line:after {
  transform: rotate(-45deg);
  top: -1px;
  background-color: var(--black);
}

.logged-in .header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .logged-in .header {
    top: 46px;
  }
}
.logged-in .toggle_menu {
  top: 107px;
}
@media screen and (max-width: 782px) {
  .logged-in .toggle_menu {
    top: 121px;
  }
}
@media screen and (max-width: 1199px) {
  .logged-in .header_menu_area {
    top: 120px;
  }
}
@media screen and (max-width: 782px) {
  .logged-in .header_menu_area {
    top: 134px;
  }
}

.footer {
  color: var(--white);
}
@media screen and (max-width: 1100px) {
  .footer {
    width: 100%;
  }
}
.footer .area_wrap {
  position: relative;
}
.footer .area_wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--dark-blue01);
  mix-blend-mode: multiply;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.footer .area_wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/common/footer_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5;
  mix-blend-mode: hard-light;
  opacity: 0.5;
}
.footer .area_wrap .wrap_primary {
  width: 100%;
  position: relative;
  padding-top: 5.4rem;
  padding-bottom: 5rem;
  gap: 2rem;
}
@media screen and (max-width: 900px) {
  .footer .area_wrap .wrap_primary {
    flex-direction: column-reverse;
    align-items: center;
    gap: 3rem;
  }
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .wrap_primary {
    align-items: flex-start;
  }
}
.footer .area_wrap .infomation_block {
  flex: 1 1 30%;
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .infomation_block {
    margin: 0 auto;
  }
}
.footer .area_wrap .infomation_block a {
  display: inline-block;
  margin-bottom: 3rem;
  max-width: 18.2rem;
  transition-duration: 0.3s;
}
.footer .area_wrap .infomation_block a:hover {
  opacity: 0.7;
  transition-duration: 0.3s;
}
@media screen and (max-width: 900px) {
  .footer .area_wrap .infomation_block a {
    margin: 0 auto 3rem auto;
    max-width: 20rem;
  }
}
.footer .area_wrap .infomation_block .main_logo_img {
  width: 100%;
}
.footer .area_wrap .infomation_block .company_name,
.footer .area_wrap .infomation_block .address {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 900px) {
  .footer .area_wrap .infomation_block .company_name,
  .footer .area_wrap .infomation_block .address {
    text-align: center;
  }
}
.footer .area_wrap .infomation_block .company_name {
  font-weight: bold;
}
.footer .area_wrap .infomation_block .address {
  margin-top: 1em;
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .infomation_block .address {
    margin-top: 0.5rem;
  }
}
.footer .area_wrap .footer_menu_block {
  flex: 1 1 70%;
  display: flex;
  align-items: baseline;
  gap: 2rem;
}
@media screen and (max-width: 900px) {
  .footer .area_wrap .footer_menu_block {
    gap: 2rem;
  }
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .footer_menu_block {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0;
  }
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .footer_menu_block .menu-box {
    width: 100%;
  }
}
.footer .area_wrap .footer_menu_block .menu-box .title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 730px) {
  .footer .area_wrap .footer_menu_block .menu-box .title {
    margin-top: 2rem;
  }
}
.footer .area_wrap .footer_menu_block .menu-box .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--white);
  margin-top: 1rem;
}
.footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a {
  font-size: 1.6rem;
  display: block;
  font-weight: bold;
  padding: 0 2rem 2rem 0;
  line-height: 1.5;
  transition-duration: 0.3s;
  white-space: nowrap;
}
@media screen and (max-width: 900px) {
  .footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a {
    font-size: 1.6rem;
    width: 100%;
  }
}
.footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a[target=_blank] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a[target=_blank]::after {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background-image: url(../images/common/new_window_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  transition-duration: 0.3s;
}
.footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a[target=_blank]:hover::after {
  background-image: url(../images/common/new_window_blu.png);
  transition-duration: 0.3s;
}
.footer .area_wrap .footer_menu_block .menu-box .common-gnav-menu .menu-item a:hover {
  color: var(--light-blue);
  transition-duration: 0.3s;
}
.footer .area_wrap .footer_menu_block .menu-box .menu-small a {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 840px) {
  .footer .area_wrap .footer_menu_block .menu-box .menu-small a {
    font-size: 1.4rem;
  }
}
.footer .toTop {
  position: absolute;
  bottom: 2rem;
  right: 1rem;
}
.footer .toTop .arrow_top {
  display: block;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  border-radius: 50%;
}
.footer .toTop .arrow_top::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--black);
  line-height: 1;
  width: 7.5px;
  height: 7.5px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(25%) rotate(-45deg);
  vertical-align: middle;
}
.footer .copyright {
  background-color: #000;
  color: var(--white);
  padding: 2rem 0;
  font-size: 1.4rem;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 1100px) {
  .footer .copyright {
    width: 100%;
  }
}
@media screen and (max-width: 765px) {
  .footer .copyright {
    font-size: 1.4rem;
  }
}

.product_list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
  max-width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 854px) {
  .product_list {
    justify-content: center;
  }
}
.product_list .product_thumb {
  width: 38rem;
  position: relative;
  margin-bottom: 1rem;
}
.product_list .product_thumb::after {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1rem;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--light-blue);
  z-index: -100;
}
.product_list .product_thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.product_list .product_thumb a:hover .thumbnail img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.product_list .product_thumb a:hover .text::after {
  transform: translateX(5px);
  transition-duration: 0.3s;
}
.product_list .product_thumb a[target=_blank] .text::after {
  background-image: url(../images/common/new_window_wh.png);
  width: 20px;
  height: 20px;
}
.product_list .product_thumb a[target=_blank]:hover .text::after {
  transform: initial;
}
.product_list .product_thumb a span {
  display: block;
}
.product_list .product_thumb a .title {
  box-sizing: border-box;
  width: 100%;
  background-color: var(--dark-blue01);
  color: var(--white);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  padding: 1rem 3rem;
  position: relative;
  min-height: 4.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product_list .product_thumb a .title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -1px;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  width: 13px;
  height: 13px;
  background-color: var(--bg_gray);
  transform: scale(1.1);
}
.product_list .product_thumb a .article_info {
  height: 16.7rem;
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-direction: column;
  padding: 2rem;
  box-sizing: border-box;
}
.product_list .product_thumb a .thumbnail {
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.product_list .product_thumb a .thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  left: 0%;
  right: 0%;
  top: 0%;
  bottom: 0%;
  background: linear-gradient(180deg, rgba(217, 217, 217, 0) 0%, #514C4C 57%);
  mix-blend-mode: multiply;
}
.product_list .product_thumb a .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-duration: 0.3s;
}
.product_list .product_thumb a .text {
  width: 100%;
}
.product_list .product_thumb a .text::after {
  content: "";
  display: block;
  width: 20px;
  height: 7px;
  background-image: url(../images/common/arrow_right_wh.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  transition-duration: 0.3s;
}
.product_list .product_thumb a .logo {
  background-color: var(--white);
  border-radius: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px;
  margin: 0 0 0 auto;
  width: 10.5rem;
  text-align: center;
}
.product_list .product_thumb a .logo img {
  margin: 0 0 0 auto;
  max-width: 10rem;
  max-height: 4rem;
}
.product_list .product_thumb a .description {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--white);
  margin-top: 5px;
  width: 80%;
  line-height: 1.5;
}

.article_list.simple {
  width: 100%;
}
.article_list.simple .article_item {
  border-bottom: 1px solid #D1D1D1;
  padding-bottom: 4rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 900px) {
  .article_list.simple .article_item {
    padding-bottom: 2rem;
  }
}
.article_list.simple .article_item .data {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.6rem;
}
.article_list.simple .article_item .title {
  margin-top: 2.4rem;
  width: inherit;
}
.article_list.simple .article_item .title a {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  transition-duration: 0.3s;
  line-height: 1.5;
  padding-right: 2rem;
  box-sizing: border-box;
}
.article_list.simple .article_item .title a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--black);
  line-height: 1;
  width: 14px;
  height: 14px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: auto;
  margin: auto;
  transition-duration: 0.3s;
}
.article_list.simple .article_item .title a:hover {
  color: var(--light-blue);
  transition-duration: 0.3s;
}
.article_list.simple .article_item .title a:hover::after {
  color: var(--light-blue);
  right: -3px;
  transition-duration: 0.3s;
}

.tag_btn {
  display: block;
  background: var(--corp_green);
  color: var(--white);
  font-weight: bold;
  border-radius: 5rem;
  font-size: 1.2rem;
  padding: 5px 15px;
}

a.tag_btn {
  opacity: 1;
  transition-duration: 0.3s;
}
a.tag_btn:hover {
  opacity: 0.7;
  transition-duration: 0.3s;
}

.post_date {
  font-weight: 400;
  font-size: 1.4rem;
}

.catalog_list {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  margin-top: 4rem;
}
.catalog_list .list_item {
  flex: 0 0 30%;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 40rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 765px) {
  .catalog_list .list_item {
    flex: 0 0 46%;
  }
}
@media screen and (max-width: 600px) {
  .catalog_list .list_item {
    flex: 1 1 100%;
    margin: 0 auto 4rem auto;
  }
}
.catalog_list .list_item .image {
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.catalog_list .list_item .image .image_link {
  display: block;
  overflow: hidden;
}
.catalog_list .list_item .image .image_link img {
  transform: scale(1);
  transition-duration: 0.3s;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.catalog_list .list_item .image .image_link:hover img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.catalog_list .list_item .title {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  min-height: 4em;
  line-height: 1.3;
}
.catalog_list .list_item p.tag_btn {
  font-size: 1.2rem;
  padding: 0 3rem;
  display: inline-block;
  box-sizing: border-box;
  margin: 1.5rem 0 3px 0;
  border: 1px solid var(--corp_green);
  color: var(--corp_green);
  background: transparent;
  border-radius: 0;
}
.catalog_list .list_item .link_btn {
  width: 100%;
  height: 4rem;
  font-size: 1.4rem;
  box-sizing: border-box;
}

.spec_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem;
}
.spec_table th,
.spec_table td {
  padding: 1.5rem 2rem;
  border: 1px solid #ccc;
  font-size: 1.6rem;
  line-height: 1.5;
  box-sizing: border-box;
}
.spec_table tr:nth-of-type(odd) {
  background-color: #f7f7f7;
}
.spec_table th {
  color: #333;
  font-weight: bold;
  width: 40%;
  text-align: left;
}
.spec_table td {
  color: #333;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .spec_table {
    display: block;
    width: 100%;
  }
  .spec_table tbody,
  .spec_table tr,
  .spec_table th,
  .spec_table td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .spec_table tr {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .spec_table tr:last-of-type {
    border-bottom: 1px solid #ccc;
  }
  .spec_table tr th,
  .spec_table tr td {
    border: none;
    padding: 1.2rem 1.5rem;
  }
  .spec_table tr th {
    background-color: #f7f7f7;
    border-bottom: 1px solid #eee;
  }
  .spec_table tr td {
    background-color: #fff;
  }
  .spec_table tr:last-child {
    margin-bottom: 0;
  }
}

.sub_page {
  padding-top: 7.8rem;
}
@media screen and (max-width: 1100px) {
  .sub_page {
    padding-top: 7.5rem;
  }
}
.sub_page .content {
  padding: 6rem 0 10rem 0;
}
@media screen and (max-width: 900px) {
  .sub_page .content {
    padding: 4rem 0;
  }
}
.sub_page .content .group {
  padding: 0 0 6rem 0;
}
.sub_page .content .group:last-of-type {
  padding: 0;
}
@media screen and (max-width: 900px) {
  .sub_page .content .group {
    padding: 0 0 4rem 0;
  }
}
.sub_page .content p {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
}
.sub_page .content p strong {
  color: var(--accent-red);
  font-weight: bold;
}
.sub_page .content p a {
  color: var(--light-blue);
  font-weight: inherit;
  text-decoration: underline;
}
.sub_page .content p a[target=_blank]:not(:has(img))::after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  width: 1em;
  height: 1em;
  background-image: url(../images/common/new_window_blu.png);
  background-size: contain;
  position: relative;
  top: 2px;
}
.sub_page .content p a:hover {
  text-decoration: none;
  color: var(--dark-blue01);
}
.sub_page .content p.center {
  text-align: center;
}
.sub_page .content p.left {
  text-align: left;
}
.sub_page .content p.right {
  text-align: right;
}
@media screen and (max-width: 900px) {
  .sub_page .content p.right.sp_left {
    text-align: left;
  }
}
.sub_page .content p.size-l {
  font-size: 2rem;
}
.sub_page .content p.size-m {
  font-size: 1.8rem;
  line-height: 1.5;
}
.sub_page .content p.size-s {
  font-size: 1.6rem;
}
.sub_page .content p.size-ss {
  font-size: 1.4rem;
  line-height: 1.5;
}
.sub_page .content p.add_icon {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
}
.sub_page .content p.add_icon .icon {
  display: block;
  width: 4rem;
  top: 5px;
  position: relative;
  flex: 0 0 4rem;
}
.sub_page .content p .bold {
  font-weight: bold;
}
.sub_page .content ul.normal_list li {
  display: flex;
  align-content: flex-start;
  gap: 1rem;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
}
.sub_page .content ul.normal_list li:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.sub_page .content ul.normal_list li::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 1.9rem;
  height: 1.9rem;
  background: var(--light-blue);
  border-radius: 50%;
  position: relative;
  top: 0.25em;
}
.sub_page .content .column2 {
  gap: 1rem;
  justify-content: flex-start;
}
@media screen and (max-width: 900px) {
  .sub_page .content .column2 {
    flex-direction: column;
  }
}
.sub_page .content .column2 .col {
  flex: 0 0 48%;
}
@media screen and (max-width: 900px) {
  .sub_page .content .column2 .col {
    flex: 1 1 100%;
  }
}
.sub_page .content .column2 .col figure {
  margin: 2.4rem 0;
  padding: 0;
}
.sub_page .content .column2 .col figure figcaption {
  font-size: 1.6rem;
  font-weight: 500;
  margin: 1rem 0;
}
.sub_page .content .column3 {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 900px) {
  .sub_page .content .column3 {
    flex-direction: column;
    align-items: center;
  }
}
.sub_page .content .column3 .col {
  flex: 1 1 30%;
  max-width: 40rem;
}
@media screen and (max-width: 900px) {
  .sub_page .content .column3 .col {
    flex: 1 1 100%;
  }
}
.sub_page .content .column3 .col.shadow {
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.sub_page .content .column3 .box_title {
  text-align: center;
}
.sub_page .content .gallery {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.sub_page .content .gallery figure {
  flex: 1 1 48%;
  padding: 0 0 1.6rem 0;
  margin: 2.4rem 0 0 0 !important;
}
.sub_page .content .gallery figcaption {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 3px;
  text-align: center;
}
.sub_page .content h2 {
  margin-bottom: 2.4rem;
}
.group-heading {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  .group-heading {
    font-size: 2rem;
  }
}
.group-heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2B30B2 0%, #42C3B3 100%);
  margin-top: 1rem;
}

.sub_page .content h3 {
  margin: 2.4rem 0;
}
.sub_page .content h3.group_sub_heading {
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 2rem;
}
.sub_page .content .box_title {
  background-color: var(--dark-blue01);
  color: var(--white);
  font-weight: bold;
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  line-height: 1.5;
}
.sub_page .content .info_box {
  padding: 2.7rem 2rem;
  background-color: var(--gray);
  border-radius: 1rem;
  margin-top: 6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 900px) {
  .sub_page .content .info_box {
    margin-top: 3rem;
  }
}
.sub_page .content .info_box p {
  font-size: 1.6rem;
  font-weight: 500;
}
.sub_page .content .info_box .heading {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.sub_page .content .icons_box_list {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.sub_page .content .icons_box_list .list_item {
  flex: 1 1 46%;
  padding: 1rem;
  background-color: var(--dark-blue01);
  color: var(--white);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 1.8rem;
  line-height: 1.5;
  white-space: nowrap;
}
.sub_page .content .icons_box_list .list_item .icon {
  display: block;
  width: 5rem;
  margin-bottom: 1rem;
}
.sub_page .content figure {
  padding: 1.6rem 0;
}
.sub_page .content figure.width_small img {
  display: block;
  margin: 0 auto;
  max-width: 60rem;
}
.sub_page .content figure.add_text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: center;
}
.sub_page .content figure.add_text .arrow {
  width: 15rem;
  margin: 0 auto;
}
.sub_page .content figure.add_text p {
  text-align: center;
}
.sub_page .content figure.add_text p strong {
  color: #E85333;
}
.sub_page .content figure.add_text p.left {
  text-align: left;
}
.sub_page .content .rounded_heading {
  background-color: #5B5B5B;
  color: var(--white);
  font-weight: bold;
  padding: 0.5rem 2rem;
  border-radius: 5rem;
  display: inline-block;
  font-size: 1.6rem;
  box-sizing: border-box;
}
.sub_page .content .accordion_menu {
  margin-bottom: 1rem;
}
.sub_page .content .accordion_menu.faq .title {
  display: flex;
  gap: 1rem;
  cursor: pointer;
}
.sub_page .content .accordion_menu.faq .title::before {
  content: "Q";
}
.sub_page .content .accordion_menu.faq .desc {
  padding-left: 3rem;
  position: relative;
}
.sub_page .content .accordion_menu.faq .desc::before {
  content: "A";
  font-weight: bold;
  display: inline-block;
  position: absolute;
  left: 1rem;
  top: 1rem;
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.3s;
}
.sub_page .content .accordion_menu .title {
  position: relative;
  padding: 1rem 2rem 1rem 1rem;
  width: 100%;
  color: var(--white);
  font-size: 1.6rem;
  font-weight: bold;
  background: var(--light-blue);
  box-sizing: border-box;
  transition-duration: 0.3s;
}
.sub_page .content .accordion_menu .title::after {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  color: var(--white);
  line-height: 1;
  width: 7px;
  height: 7px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  vertical-align: middle;
  right: 2rem;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
}
.sub_page .content .accordion_menu .desc {
  background: var(--white);
  box-sizing: border-box;
  font-weight: 500;
  line-height: 1.5;
  height: 0;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.3s;
}
.sub_page .content .accordion_menu .desc strong {
  font-weight: bold;
  font-size: 1.7rem;
}
.sub_page .content .accordion_menu .desc .red {
  color: var(--accent-red);
  font-weight: bold;
  display: inline;
}
.sub_page .content .accordion_menu .desc a {
  font-size: inherit;
  display: inline;
  color: var(--light-blue);
  text-decoration: underline;
}
.sub_page .content .accordion_menu .desc a:hover {
  text-decoration: none;
  color: var(--dark-blue01);
}
.sub_page .content .accordion_menu.is-show .desc {
  height: initial;
  padding: 1rem 1rem 1rem 3rem;
  opacity: 1;
  visibility: visible;
  transition-duration: 0.3s;
}
.sub_page .content .accordion_menu.is-show .desc::before {
  opacity: 1;
  visibility: visible;
}

.arvhive_page .news_articles {
  margin-top: 4rem;
}

.second_lv_page {
  background-color: var(--bg_gray);
}
.second_lv_page img {
  width: 100%;
}
.second_lv_page .page_title {
  width: 100%;
  height: 18rem;
  background-color: #0092E5;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--white);
}
@media screen and (max-width: 900px) {
  .second_lv_page .page_title {
    align-items: flex-start;
    padding-top: 4rem;
  }
}
.second_lv_page .page_title img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.second_lv_page .page_title .title_wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2rem;
}
.second_lv_page .page_title .title_text {
  font-size: 3.2rem;
  font-weight: bold;
  width: 50%;
}
@media screen and (max-width: 900px) {
  .second_lv_page .page_title .title_text {
    font-size: 2.8rem;
    width: 100%;
  }
}
.second_lv_page .page_title .background_deco {
  position: absolute;
  left: 0;
  top: auto;
  bottom: -2rem;
  width: 80%;
  height: 60%;
  z-index: 100;
  mix-blend-mode: hard-light;
}
.second_lv_page .page_title .background_deco img {
  -o-object-position: right;
     object-position: right;
}
@media screen and (max-width: 900px) {
  .second_lv_page .page_title .background_deco {
    width: 70%;
  }
}
.second_lv_page .page_title .background_thumb {
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 770px;
}
@media screen and (max-width: 900px) {
  .second_lv_page .page_title .background_thumb {
    width: 80%;
    height: 50%;
    bottom: 0;
    top: auto;
    max-width: 500px;
  }
}
.second_lv_page .page_title .background_thumb .wrap {
  display: block;
  position: relative;
}
.second_lv_page .page_title .background_thumb img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-position: right;
     object-position: right;
}
.second_lv_page .page_title .background_thumb::before {
  content: "";
  display: block;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, #0092E5 0%, rgba(217, 217, 217, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.third_lv_page img {
  width: 100%;
}
.third_lv_page .pege_header {
  background: var(--dark-blue01);
  min-height: 12rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 1rem 0;
}
.third_lv_page .pege_header .page_title {
  width: 100%;
}
.third_lv_page .pege_header .background_deco {
  position: absolute;
  height: 100%;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.third_lv_page .pege_header .background_deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 900px) {
  .third_lv_page .pege_header .background_deco img {
    -o-object-position: 5%;
       object-position: 5%;
  }
}
.third_lv_page .pege_header .title_wrap {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--white);
  width: 100%;
  position: relative;
  z-index: 10;
  padding: 0 2rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .pege_header .title_wrap {
    box-sizing: border-box;
  }
}
.third_lv_page .pege_header .title_wrap span {
  display: block;
}
.third_lv_page .pege_header .title_wrap .title_text {
  font-weight: bold;
  line-height: 1.5;
}
.third_lv_page .pege_header .title_wrap .sub_title {
  font-size: 1.4rem;
}
.third_lv_page .pege_header .title_wrap .main_title {
  font-size: 3.2rem;
}
.third_lv_page .pege_header .title_wrap .data_text {
  font-size: 1.2rem;
}
.third_lv_page .related_article {
  padding-bottom: 8rem;
}
.third_lv_page .related_article .related_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(45rem, 1fr));
  gap: 1rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .related_article .related_list {
    grid-template-columns: repeat(1, minmax(100%, 1fr));
  }
}
.third_lv_page .related_article .related_list .list_item {
  flex: 1 1 48%;
  min-width: 45rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .related_article .related_list .list_item {
    min-width: initial;
    width: 100%;
    flex: 1 1 100%;
  }
}
.third_lv_page .related_article .related_list .list_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--dark-blue01);
  color: var(--white);
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem 10rem 1rem 5rem;
  position: relative;
  font-weight: 500;
  height: 6rem;
  box-sizing: border-box;
  transition-duration: 0.3s;
  line-height: 1.5;
}
@media screen and (max-width: 900px) {
  .third_lv_page .related_article .related_list .list_item a {
    padding: 1rem 5rem;
  }
}
.third_lv_page .related_article .related_list .list_item a:hover {
  background: var(--light-blue);
  transition-duration: 0.3s;
}
.third_lv_page .related_article .related_list .list_item a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--white);
  line-height: 1;
  width: 10px;
  height: 10px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 8rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .related_article .related_list .list_item a::after {
    right: 4rem;
  }
}
.third_lv_page .related_article .related_list .list_item a[target=_blank]::after {
  display: none;
}
.third_lv_page .related_article .related_list .list_item a[target=_blank]::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/common/new_window_wh.png);
  background-repeat: no-repeat;
  background-size: contain;
  right: 8rem;
  position: absolute;
}
@media screen and (max-width: 900px) {
  .third_lv_page .related_article .related_list .list_item a[target=_blank]::before {
    right: 4rem;
  }
}
.third_lv_page .index_link {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2.3rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .index_link {
    flex-direction: column;
  }
}
.third_lv_page .index_link a {
  display: block;
  background-color: var(--dark-blue01);
  color: var(--white);
  padding: 2rem 4rem 6rem 4rem;
  box-sizing: border-box;
  flex: 1 1 40%;
  border-radius: 1rem;
  position: relative;
  line-height: 1.5;
}
.third_lv_page .index_link a:first-of-type {
  background-color: #0092E5;
}
.third_lv_page .index_link a:hover {
  opacity: 0.6;
}
.third_lv_page .index_link a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--white);
  line-height: 1;
  width: 17px;
  height: 17px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  vertical-align: middle;
  position: absolute;
  bottom: 2rem;
  right: 0;
  left: 0;
  margin: auto;
}
.third_lv_page .index_link .plus_mark {
  width: 5rem;
  height: 5rem;
  display: block;
}
.third_lv_page .index_link .label {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 1rem;
}
.third_lv_page .index_link .desc {
  text-align: center;
  font-size: 1.4rem;
  min-height: 4em;
}
@media screen and (max-width: 900px) {
  .third_lv_page .index_link .desc {
    min-height: initial;
  }
}
.third_lv_page .price_image {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2.3rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 900px) {
  .third_lv_page .price_image {
    flex-direction: column;
  }
}
.third_lv_page .price_image .wrap {
  display: block;
  background-color: var(--dark-blue01);
  color: var(--white);
  padding: 2rem 4rem;
  box-sizing: border-box;
  flex: 1 1 40%;
  border-radius: 1rem;
  position: relative;
  line-height: 1.5;
}
.third_lv_page .price_image .wrap:first-of-type {
  background-color: #0092E5;
}
.third_lv_page .price_image .plus_mark {
  width: 5rem;
  height: 5rem;
  display: block;
}
.third_lv_page .price_image .label {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 1rem;
}
.third_lv_page .price_image .desc {
  text-align: center;
  font-size: 1.4rem;
}
.third_lv_page .price_image .volume {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 1.6rem;
  font-weight: bold;
}
.third_lv_page .strong_text {
  font-size: 2.2rem;
  font-weight: bold;
  padding: 0.5rem;
  box-sizing: border-box;
  border-radius: 1rem;
  background-color: #E7F5FD;
  text-align: center;
  margin: 1.6rem 0;
  line-height: 2;
}

.faq_page .group-heading {
  scroll-margin-top: 100px; /* Offset for fixed header */
}
.faq_page .group-heading:not(:first-of-type) {
  margin-top: 4rem;
}
.faq_page .faq_anchor_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0;
  margin: 0 0 4rem 0;
  list-style: none;
}
.faq_page .faq_anchor_list .list_item {
  margin: 0;
}
.faq_page .faq_anchor_list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.6rem;
  background: #ffffff;
  border: 1px solid #453c39;
  border-radius: 0.5rem;
  color: #453c39;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  text-decoration: none;
  transition: all 0.3s ease;
}
.faq_page .faq_anchor_list a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(135deg);
  margin-left: 0.2rem;
  margin-bottom: 0.3rem;
}
.faq_page .faq_anchor_list a:hover {
  background: #453c39;
  color: #ffffff;
}

.flow_list .list_item {
  align-items: flex-start;
}
.flow_list .list_item:not(:last-of-type) {
  padding-bottom: 6rem;
  position: relative;
}
.flow_list .list_item:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 5rem;
  height: 2.3rem;
  background-image: url(../images/lower-page/safety_education/DOGAMIL/flow_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 2rem;
  right: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 900px) {
  .flow_list .list_item .col {
    width: 100%;
  }
}
.flow_list .title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 8px 0;
}
.flow_list .title .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: var(--light-blue);
  font-weight: bold;
  font-size: 1.8rem;
  border-radius: 50%;
  color: var(--white);
}
.flow_list .desc {
  background-color: #F6F6F6;
  border-radius: 1rem;
  padding: 1rem 2rem;
  box-sizing: border-box;
  line-height: 1.8;
  font-weight: 500;
  width: 100%;
}
.flow_list .desc strong {
  font-weight: bold;
}
.flow_list .image {
  overflow: hidden;
}
.flow_list .image img {
  border-radius: 2rem;
  display: block;
  max-width: 32rem;
  margin: 0 auto;
}

.video_area {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  margin: 2rem 0 5rem 0;
}
.video_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.price_item_block {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 900px) {
  .price_item_block {
    flex-direction: column;
    align-items: center;
  }
}
.price_item_block .box_primary {
  flex: 0 0 13rem;
  width: 13rem;
  height: 9rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 900px) {
  .price_item_block .box_primary {
    height: initial;
  }
}
@media screen and (max-width: 900px) {
  .price_item_block .box_primary.sp_none {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .price_item_block .box_primary img {
    max-width: 20rem;
  }
}
.price_item_block .box_secondary {
  flex: 1 1 auto;
  width: 100%;
}
.price_item_block .box_secondary .table_title {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  justify-content: flex-start;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.price_item_block .box_secondary .table_title::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: var(--light-blue);
}
.price_item_block .box_secondary .table_data_row {
  border-bottom: 1px solid #D9D9D9;
}
.price_item_block .box_secondary span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 500;
}
.price_item_block .box_secondary .table_head {
  display: flex;
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_head {
    flex-direction: column;
    border-bottom: 2px solid #D9D9D9;
  }
}
.price_item_block .box_secondary .table_head .head01,
.price_item_block .box_secondary .table_head .head02 {
  display: flex;
  flex: 1 1 auto;
}
.price_item_block .box_secondary .table_head .head01 {
  flex: 0 0 61.5%;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_head .head01 {
    flex-direction: column;
    flex: 0 0 100%;
    border-bottom: 1px solid #D9D9D9;
  }
}
.price_item_block .box_secondary .table_head .head02 {
  flex: 0 0 38.5%;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_head .head02 {
    flex: 0 0 100%;
  }
}
.price_item_block .box_secondary .table_head span {
  font-weight: bold;
  background: #E7F5FD;
}
.price_item_block .box_secondary .table_head .code::before {
  content: "商品コード";
}
.price_item_block .box_secondary .table_head .name::before {
  content: "商品名";
}
.price_item_block .box_secondary .table_head .volume::before {
  content: "数量";
}
.price_item_block .box_secondary .table_head .unit::before {
  content: "単位";
}
.price_item_block .box_secondary .table_head .price.data {
  text-align: right;
}
.price_item_block .box_secondary .table_head .price::before {
  content: "参考販売価格（税別）";
}
.price_item_block .box_secondary .table_head .site.data {
  text-align: center;
}
.price_item_block .box_secondary .table_head .site::before {
  content: "通販サイト";
}
.price_item_block .box_secondary .table_data_row {
  display: flex;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_data_row {
    flex-direction: column;
    border-bottom: 2px solid #D9D9D9;
  }
}
.price_item_block .box_secondary .table_data_row .data01,
.price_item_block .box_secondary .table_data_row .data02 {
  display: flex;
  flex: 1 1 auto;
}
.price_item_block .box_secondary .table_data_row .data01 {
  flex: 0 0 61.5%;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_data_row .data01 {
    flex-direction: column;
    flex: 0 0 100%;
    border-bottom: 1px solid #D9D9D9;
  }
}
.price_item_block .box_secondary .table_data_row .data02 {
  flex: 0 0 38.5%;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .table_data_row .data02 {
    flex: 0 0 100%;
  }
}
.price_item_block .box_secondary .code {
  flex: 0 0 25%;
  border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .code {
    border-right: none;
    border-bottom: 1px solid #D9D9D9;
  }
}
.price_item_block .box_secondary .name {
  flex: 1 1 75%;
  border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .name {
    border-right: none;
  }
}
.price_item_block .box_secondary .name.data {
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .price_item_block .box_secondary .name.data {
    justify-content: center;
  }
}
.price_item_block .box_secondary .volume {
  flex: 0 0 20%;
  border-right: 1px solid #D9D9D9;
}
.price_item_block .box_secondary .unit {
  flex: 0 0 20%;
  border-right: 1px solid #D9D9D9;
}
.price_item_block .box_secondary .price {
  flex: 0 0 60%;
}
.price_item_block .box_secondary .price.data {
  justify-content: flex-end;
}
.price_item_block .box_secondary .price.data::after {
  content: "円";
}
.price_item_block .box_secondary .site {
  flex: 0 0 60%;
}
.price_item_block .box_secondary .site.data {
  justify-content: center;
  padding: 0 10px;
}

.scroll_icon:not(.sp) {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 900px) {
  .scroll_icon.sp {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
  }
}
.scroll_icon img {
  max-width: 5rem;
  display: block;
}
.scroll_icon .scroll_icon_left,
.scroll_icon .scroll_icon_right {
  cursor: pointer;
}

.scroll_area {
  width: 100%;
  overflow-x: scroll;
}
.scroll_area::-webkit-scrollbar {
  display: none;
}
.scroll_area figure img {
  width: auto;
  max-height: 90vh;
}

@media screen and (max-width: 900px) {
  .sp_scroll_area {
    width: 100%;
    overflow-x: scroll;
  }
  .sp_scroll_area::-webkit-scrollbar {
    display: none;
  }
  .sp_scroll_area figure img {
    width: auto;
    max-height: 90vh;
  }
}

.contact_btn_area {
  margin: 0 auto 8rem auto;
}
@media screen and (max-width: 900px) {
  .contact_btn_area {
    margin: 0 auto 4rem auto;
  }
}

.single_post .data {
  display: flex;
  justify-content: space-between;
  padding: 2.4rem 0 4rem 0;
}
.single_post .data .tag_btn {
  display: inline-block;
}
.single_post .data .post_date {
  font-size: 1.4rem;
  font-weight: 600;
}
.single_post h2 {
  margin: 3rem 0 2rem 0;
  padding: 1rem 1.6rem;
  font-size: 2rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 2rem;
}
.single_post h3 {
  font-size: 2rem;
  font-weight: bold;
}
.single_post h3::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #aaa;
  margin: 1rem 0;
}
.single_post h3::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #aaa;
  margin: 1rem 0;
}
.single_post h4 {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 1.6rem 0;
  border-left: 1px solid #aaa;
  padding: 1rem 0 1rem 2rem;
}
.single_post figure {
  margin: 2.4rem 0;
}
.single_post pre {
  background-color: #eee;
  padding: 2em;
  display: block;
}
.single_post ul {
  margin: 2rem 0;
  padding-left: 2rem;
}
.single_post ul li {
  list-style: disc;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  font-weight: 500;
}
.single_post ol {
  margin: 2rem 0;
  padding-left: 2rem;
}
.single_post ol li {
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  font-weight: 500;
}
.single_post blockquote {
  padding: 1.5rem;
  margin: 1.5rem 0;
  font-size: 1.2rem;
  font-style: italic;
  border-left: 5px solid var(--dark-blue01);
  background-color: #f9f9f9;
  color: #333;
}
.single_post blockquote::before {
  content: open-quote;
  font-size: 2rem;
  line-height: 0;
  margin-right: 0.5rem;
  vertical-align: -0.4rem;
  color: var(--dark-blue01);
}
.single_post blockquote::after {
  content: close-quote;
  font-size: 2rem;
  line-height: 0;
  margin-left: 0.5rem;
  vertical-align: -0.4rem;
  color: var(--dark-blue01);
}
.single_post blockquote p {
  margin: 0;
}
.single_post blockquote cite {
  display: block;
  margin-top: 1rem;
  font-size: 0.9rem;
  color: #555;
  text-align: right;
  font-style: normal;
}
.single_post blockquote cite::before {
  content: "— ";
}
.single_post .bg-box {
  background-color: #f7f7f7;
  border-radius: 1rem;
  padding: 1.5em;
  box-sizing: border-box;
  margin: 2em 0;
}
.single_post .bg-box h2,
.single_post .bg-box h3 {
  margin: 1rem 0 !important;
}
.single_post .bg-box h2::before, .single_post .bg-box h2::after,
.single_post .bg-box h3::before,
.single_post .bg-box h3::after {
  display: none;
}
.single_post {
  /* 汎用的なテーブルスタイル */
}
.single_post table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  text-align: left;
}
.single_post table th,
.single_post table td {
  padding: 12px 15px;
  border: 1px solid #ddd;
}
.single_post table th {
  background-color: #f4f4f4;
  color: #333;
  font-weight: bold;
  border-bottom: 2px solid #aaa;
}
.single_post table th.primary {
  background-color: #0073aa;
  color: #fff;
}
.single_post table tr:nth-child(even) {
  background-color: #f9f9f9;
}
.single_post table tr:hover {
  background-color: #f1f1f1;
}
.single_post table a {
  color: #0073aa;
  text-decoration: none;
}
.single_post table a:hover {
  color: #005177;
}
.single_post {
  /* レスポンシブ対応：小さな画面でテーブルをスクロール可能に */
}
.single_post .table-responsive {
  overflow-x: auto;
}

.breadcrumb {
  padding: 1rem 2rem;
  max-width: 1100px;
  margin: 0 auto;
}
.breadcrumb a,
.breadcrumb span {
  font-size: 1.2rem;
  text-decoration: none !important;
  color: black !important;
  font-weight: 500 !important;
  line-height: 1.3;
}
.breadcrumb a:hover {
  color: var(--light-blue) !important;
}

.sub_page .section_title_grey {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 6rem 0 4.2rem 0;
}
@media screen and (max-width: 900px) {
  .sub_page .section_title_grey {
    padding: 4rem 0 3.2rem 0;
  }
}
.sub_page .section_title_grey span {
  display: block;
}
.sub_page .section_title_grey .main_title {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--dark-blue01);
  position: relative;
  margin-top: 1.6rem;
}
.sub_page .section_title_grey .main_title::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 70%;
  height: 1px;
  background: linear-gradient(90deg, #2B30B2 0%, #42C3B3 100%);
}
.sub_page .section_title_grey .main_title::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2B30B2 0%, #42C3B3 100%);
}
@media screen and (max-width: 900px) {
  .sub_page .section_title_grey .main_title {
    font-size: 2rem;
    margin-top: 1.2rem;
  }
}
.sub_page .section_title_grey .sub_title {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--dark-blue01);
}
@media screen and (max-width: 900px) {
  .sub_page .section_title_grey .sub_title {
    font-size: 1.4rem;
  }
}
.sub_page .price_section_renew .intro_text {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 900px) {
  .sub_page .price_section_renew .intro_text {
    font-size: 1.6rem;
  }
}
.sub_page .price_section_renew .price_item_wrap {
  margin-bottom: 3.2rem;
}
.sub_page .price_section_renew .sub_heading_wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.sub_page .price_section_renew .sub_heading_wrap .blue_square {
  width: 10px;
  height: 10px;
  background-color: var(--light-blue);
  flex-shrink: 0;
}
.sub_page .price_section_renew .sub_heading_wrap .sub_heading {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 !important;
  background: none !important;
  padding: 0 !important;
}
.sub_page .price_section_renew .sub_heading_wrap .required_tag {
  background-color: var(--accent-red);
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 3px;
}
.sub_page .price_section_renew .section_title_grey {
  background-color: #626262;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0.5rem 1.6rem;
  border-radius: 3px;
  display: inline-block;
  width: 144px;
  text-align: center;
  margin-bottom: 1.6rem;
  margin-top: 3.2rem;
  box-sizing: border-box;
  white-space: nowrap;
}
@media screen and (max-width: 900px) {
  .sub_page .price_section_renew .section_title_grey {
    margin-top: 2rem;
  }
}
.sub_page .price_section_renew .notes {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #000;
  margin-bottom: 1.6rem;
  font-weight: 500;
}
.sub_page .price_section_renew .box_secondary {
  flex: 1 1 auto;
  width: 100%;
}
.sub_page .price_section_renew .box_secondary span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 500;
}
.sub_page .price_section_renew .box_secondary .table_head {
  display: flex;
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_head {
    flex-direction: column;
    border-bottom: 2px solid #D9D9D9;
  }
}
.sub_page .price_section_renew .box_secondary .table_head .head01,
.sub_page .price_section_renew .box_secondary .table_head .head02 {
  display: flex;
  flex: 1 1 auto;
}
.sub_page .price_section_renew .box_secondary .table_head .head01 {
  flex: 0 0 61.5%;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_head .head01 {
    flex-direction: column;
    flex: 0 0 100%;
    border-bottom: 1px solid #D9D9D9;
  }
}
.sub_page .price_section_renew .box_secondary .table_head .head02 {
  flex: 0 0 38.5%;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_head .head02 {
    flex: 0 0 100%;
  }
}
.sub_page .price_section_renew .box_secondary .table_head span {
  font-weight: bold;
  background: #E7F5FD;
}
.sub_page .price_section_renew .box_secondary .table_head .code::before {
  content: "商品コード";
}
.sub_page .price_section_renew .box_secondary .table_head .name::before {
  content: "商品名";
}
.sub_page .price_section_renew .box_secondary .table_head .volume::before {
  content: "数量";
}
.sub_page .price_section_renew .box_secondary .table_head .unit::before {
  content: "単位";
}
.sub_page .price_section_renew .box_secondary .table_head .price::before {
  content: "参考販売価格（税別）";
}
.sub_page .price_section_renew .box_secondary .table_head .site::before {
  content: "通販サイト";
}
.sub_page .price_section_renew .box_secondary .table_data_row {
  display: flex;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_data_row {
    flex-direction: column;
    border-bottom: 2px solid #D9D9D9;
  }
}
.sub_page .price_section_renew .box_secondary .table_data_row .data01,
.sub_page .price_section_renew .box_secondary .table_data_row .data02 {
  display: flex;
  flex: 1 1 auto;
}
.sub_page .price_section_renew .box_secondary .table_data_row .data01 {
  flex: 0 0 61.5%;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_data_row .data01 {
    flex-direction: column;
    flex: 0 0 100%;
    border-bottom: 1px solid #D9D9D9;
  }
}
.sub_page .price_section_renew .box_secondary .table_data_row .data02 {
  flex: 0 0 38.5%;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .table_data_row .data02 {
    flex: 0 0 100%;
  }
}
.sub_page .price_section_renew .box_secondary .code {
  flex: 0 0 25%;
  border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .code {
    border-right: none;
    border-bottom: 1px solid #D9D9D9;
  }
}
.sub_page .price_section_renew .box_secondary .name {
  flex: 1 1 75%;
  border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .name {
    border-right: none;
  }
}
.sub_page .price_section_renew .box_secondary .name.data {
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .sub_page .price_section_renew .box_secondary .name.data {
    justify-content: center;
  }
}
.sub_page .price_section_renew .box_secondary .volume {
  flex: 0 0 20%;
  border-right: 1px solid #D9D9D9;
}
.sub_page .price_section_renew .box_secondary .unit {
  flex: 0 0 20%;
  border-right: 1px solid #D9D9D9;
}
.sub_page .price_section_renew .box_secondary .price {
  flex: 0 0 60%;
}
.sub_page .price_section_renew .box_secondary .price.data {
  justify-content: flex-end;
}
.sub_page .price_section_renew .box_secondary .price.data::after {
  content: "円";
}
.sub_page .price_section_renew .price_item_with_img {
  display: flex;
  gap: 2rem;
  margin-bottom: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 900px) {
  .sub_page .price_section_renew .price_item_with_img {
    flex-direction: column;
  }
}
.sub_page .price_section_renew .price_item_with_img .img_box {
  flex: 0 0 130px;
  width: 130px;
}
.sub_page .price_section_renew .price_item_with_img .img_box img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 900px) {
  .sub_page .price_section_renew .price_item_with_img .img_box {
    margin: 0 auto;
    width: 100%;
    max-width: 200px;
  }
}
.sub_page .price_section_renew .price_item_with_img .data_box {
  flex: 1;
  width: 100%;
}

p,
span {
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
}

.frontpage,
.frontpage-renew,
.page-template-page-frontpage-renew {
  background: var(--bg_gray);
}
.frontpage .first_view,
.frontpage-renew .first_view,
.page-template-page-frontpage-renew .first_view {
  position: relative;
  z-index: 0;
}
.frontpage .first_view .scroll_bar,
.frontpage-renew .first_view .scroll_bar,
.page-template-page-frontpage-renew .first_view .scroll_bar {
  position: absolute;
  left: -5rem;
  bottom: 7.8rem;
  display: flex;
  align-items: center;
  transform: rotate(90deg);
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .scroll_bar,
  .frontpage-renew .first_view .scroll_bar,
  .page-template-page-frontpage-renew .first_view .scroll_bar {
    display: none;
  }
}
.frontpage .first_view .scroll_bar .text,
.frontpage-renew .first_view .scroll_bar .text,
.page-template-page-frontpage-renew .first_view .scroll_bar .text {
  font-family: "Open Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
}
.frontpage .first_view .scroll_bar .scroll_line,
.frontpage-renew .first_view .scroll_bar .scroll_line,
.page-template-page-frontpage-renew .first_view .scroll_bar .scroll_line {
  width: 100px;
  height: 1px;
  background-color: transparent;
  margin-left: 10px;
  position: relative;
  overflow: hidden;
}
.frontpage .first_view .scroll_bar .scroll_line::before,
.frontpage-renew .first_view .scroll_bar .scroll_line::before,
.page-template-page-frontpage-renew .first_view .scroll_bar .scroll_line::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  transform: translateX(-100%);
  animation: scrollLineAnimation 3s linear infinite;
}
@keyframes scrollLineAnimation {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.frontpage .first_view,
.frontpage-renew .first_view,
.page-template-page-frontpage-renew .first_view {
  position: relative;
  width: 100%;
  height: 100vh;
  color: var(--white);
}
@media screen and (max-width: 765px) {
  .frontpage .first_view,
  .frontpage-renew .first_view,
  .page-template-page-frontpage-renew .first_view {
    max-height: 660px;
  }
}
.frontpage .first_view .background_image,
.frontpage-renew .first_view .background_image,
.page-template-page-frontpage-renew .first_view .background_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
}
.frontpage .first_view .background_image::after,
.frontpage-renew .first_view .background_image::after,
.page-template-page-frontpage-renew .first_view .background_image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--dark-blue01);
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.55;
}
.frontpage .first_view .background_image img,
.frontpage-renew .first_view .background_image img,
.page-template-page-frontpage-renew .first_view .background_image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .background_image img,
  .frontpage-renew .first_view .background_image img,
  .page-template-page-frontpage-renew .first_view .background_image img {
    -o-object-position: 20%;
       object-position: 20%;
  }
}
.frontpage .first_view .wrap_primary,
.frontpage-renew .first_view .wrap_primary,
.page-template-page-frontpage-renew .first_view .wrap_primary {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .wrap_primary,
  .frontpage-renew .first_view .wrap_primary,
  .page-template-page-frontpage-renew .first_view .wrap_primary {
    top: 10%;
  }
}
.frontpage .first_view .main_copy,
.frontpage-renew .first_view .main_copy,
.page-template-page-frontpage-renew .first_view .main_copy {
  font-size: 6.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-bottom: 2rem;
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .main_copy,
  .frontpage-renew .first_view .main_copy,
  .page-template-page-frontpage-renew .first_view .main_copy {
    font-size: 10vw;
  }
}
.frontpage .first_view .lead_text,
.frontpage-renew .first_view .lead_text,
.page-template-page-frontpage-renew .first_view .lead_text {
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 4rem;
}
.frontpage .first_view .lead_text br.smp,
.frontpage-renew .first_view .lead_text br.smp,
.page-template-page-frontpage-renew .first_view .lead_text br.smp {
  display: none;
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .lead_text br.smp,
  .frontpage-renew .first_view .lead_text br.smp,
  .page-template-page-frontpage-renew .first_view .lead_text br.smp {
    display: block;
  }
}
.frontpage .first_view .fv_index_list,
.frontpage-renew .first_view .fv_index_list,
.page-template-page-frontpage-renew .first_view .fv_index_list {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.frontpage .first_view .fv_index_list .list_item a,
.frontpage-renew .first_view .fv_index_list .list_item a,
.page-template-page-frontpage-renew .first_view .fv_index_list .list_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background-color: var(--white);
  border-radius: 5rem;
  padding: 1rem 3rem;
  color: var(--black);
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 765px) {
  .frontpage .first_view .fv_index_list .list_item a,
  .frontpage-renew .first_view .fv_index_list .list_item a,
  .page-template-page-frontpage-renew .first_view .fv_index_list .list_item a {
    padding: 1rem 2rem;
    font-size: 1.4rem;
  }
}
.frontpage .first_view .fv_index_list .list_item a::after,
.frontpage-renew .first_view .fv_index_list .list_item a::after,
.page-template-page-frontpage-renew .first_view .fv_index_list .list_item a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--black);
  line-height: 1;
  width: 7.5px;
  height: 7.5px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  vertical-align: middle;
}
.frontpage .first_view .fv_index_list .list_item a:hover,
.frontpage-renew .first_view .fv_index_list .list_item a:hover,
.page-template-page-frontpage-renew .first_view .fv_index_list .list_item a:hover {
  background-color: var(--light-blue);
  color: var(--white);
  transition-duration: 0.3s;
}
.frontpage .first_view .fv_index_list .list_item a:hover::after,
.frontpage-renew .first_view .fv_index_list .list_item a:hover::after,
.page-template-page-frontpage-renew .first_view .fv_index_list .list_item a:hover::after {
  transition-duration: 0.3s;
  color: var(--white);
}
.frontpage .section,
.frontpage-renew .section,
.page-template-page-frontpage-renew .section {
  position: relative;
  z-index: 0;
}
.frontpage .section.about,
.frontpage-renew .section.about,
.page-template-page-frontpage-renew .section.about {
  position: relative;
  padding: 6rem 0 12rem 0;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about,
  .frontpage-renew .section.about,
  .page-template-page-frontpage-renew .section.about {
    padding: 6rem 0;
  }
}
.frontpage .section.about .backgroud_deco img,
.frontpage-renew .section.about .backgroud_deco img,
.page-template-page-frontpage-renew .section.about .backgroud_deco img {
  width: 100%;
}
.frontpage .section.about .backgroud_deco .image_box,
.frontpage-renew .section.about .backgroud_deco .image_box,
.page-template-page-frontpage-renew .section.about .backgroud_deco .image_box {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50%;
  height: 100%;
  z-index: -10;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .backgroud_deco .image_box,
  .frontpage-renew .section.about .backgroud_deco .image_box,
  .page-template-page-frontpage-renew .section.about .backgroud_deco .image_box {
    width: 100%;
  }
}
.frontpage .section.about .backgroud_deco .image_box.bg_typography,
.frontpage-renew .section.about .backgroud_deco .image_box.bg_typography,
.page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_typography {
  left: 0;
  top: 0;
  bottom: 0;
  right: auto;
  margin: auto;
  z-index: -5;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .backgroud_deco .image_box.bg_typography,
  .frontpage-renew .section.about .backgroud_deco .image_box.bg_typography,
  .page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_typography {
    top: 0;
    bottom: auto;
    margin: inherit;
    left: 0;
    right: auto;
    width: 80%;
  }
}
.frontpage .section.about .backgroud_deco .image_box.bg_typography img,
.frontpage-renew .section.about .backgroud_deco .image_box.bg_typography img,
.page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_typography img {
  position: relative;
  top: 5%;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .backgroud_deco .image_box.bg_typography img,
  .frontpage-renew .section.about .backgroud_deco .image_box.bg_typography img,
  .page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_typography img {
    position: absolute;
    top: 20%;
  }
}
.frontpage .section.about .backgroud_deco .image_box.bg_image,
.frontpage-renew .section.about .backgroud_deco .image_box.bg_image,
.page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_image {
  right: 0;
  top: 0;
  bottom: 0;
  left: auto;
  margin: auto;
  z-index: -10;
}
.frontpage .section.about .backgroud_deco .image_box.bg_image img,
.frontpage-renew .section.about .backgroud_deco .image_box.bg_image img,
.page-template-page-frontpage-renew .section.about .backgroud_deco .image_box.bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}
.frontpage .section.about .heading,
.frontpage-renew .section.about .heading,
.page-template-page-frontpage-renew .section.about .heading {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--dark-blue01);
  text-align: center;
  margin-bottom: 7.2rem;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .heading,
  .frontpage-renew .section.about .heading,
  .page-template-page-frontpage-renew .section.about .heading {
    margin-bottom: 4rem;
    font-size: 2.8rem;
  }
}
.frontpage .section.about .content,
.frontpage-renew .section.about .content,
.page-template-page-frontpage-renew .section.about .content {
  gap: 2.4rem;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .content,
  .frontpage-renew .section.about .content,
  .page-template-page-frontpage-renew .section.about .content {
    flex-direction: column;
  }
}
.frontpage .section.about .content .sub_heading,
.frontpage-renew .section.about .content .sub_heading,
.page-template-page-frontpage-renew .section.about .content .sub_heading {
  flex: 1 1 50%;
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .content .sub_heading,
  .frontpage-renew .section.about .content .sub_heading,
  .page-template-page-frontpage-renew .section.about .content .sub_heading {
    font-size: 2.4rem;
    flex: 1 1 100%;
    width: 100%;
  }
}
.frontpage .section.about .content .sub_heading .bottom_line::after,
.frontpage-renew .section.about .content .sub_heading .bottom_line::after,
.page-template-page-frontpage-renew .section.about .content .sub_heading .bottom_line::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #8F8F8F;
}
.frontpage .section.about .content .sub_heading span,
.frontpage-renew .section.about .content .sub_heading span,
.page-template-page-frontpage-renew .section.about .content .sub_heading span {
  display: block;
  font-weight: inherit;
}
.frontpage .section.about .content .lead_text,
.frontpage-renew .section.about .content .lead_text,
.page-template-page-frontpage-renew .section.about .content .lead_text {
  flex: 1 1 50%;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .frontpage .section.about .content .lead_text,
  .frontpage-renew .section.about .content .lead_text,
  .page-template-page-frontpage-renew .section.about .content .lead_text {
    font-size: 1.6rem;
  }
}
.frontpage .section.product,
.frontpage-renew .section.product,
.page-template-page-frontpage-renew .section.product {
  margin-bottom: 12rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 765px) {
  .frontpage .section.product,
  .frontpage-renew .section.product,
  .page-template-page-frontpage-renew .section.product {
    margin-bottom: 6rem;
  }
}
.frontpage .section.product .category_title,
.frontpage-renew .section.product .category_title,
.page-template-page-frontpage-renew .section.product .category_title {
  width: calc(100% - (100% - 1000px) / 2);
  position: relative;
  overflow: hidden;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 765px) {
  .frontpage .section.product .category_title,
  .frontpage-renew .section.product .category_title,
  .page-template-page-frontpage-renew .section.product .category_title {
    width: 95%;
  }
}
.frontpage .section.product .category_title a,
.frontpage-renew .section.product .category_title a,
.page-template-page-frontpage-renew .section.product .category_title a {
  display: flex;
  align-items: center;
  padding-left: 10rem;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: auto;
  margin: auto;
  color: var(--white);
  font-size: 3.2rem;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .frontpage .section.product .category_title a,
  .frontpage-renew .section.product .category_title a,
  .page-template-page-frontpage-renew .section.product .category_title a {
    font-size: 2.4rem;
    padding-left: 2rem;
  }
}
.frontpage .section.product .category_title a::after,
.frontpage-renew .section.product .category_title a::after,
.page-template-page-frontpage-renew .section.product .category_title a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: var(--white);
  line-height: 1;
  width: 17px;
  height: 17px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  margin-left: 2rem;
}
.frontpage .section.product .category_title::before,
.frontpage-renew .section.product .category_title::before,
.page-template-page-frontpage-renew .section.product .category_title::before {
  content: "";
  display: block;
  padding-top: 21.47%;
}
@media screen and (max-width: 765px) {
  .frontpage .section.product .category_title::before,
  .frontpage-renew .section.product .category_title::before,
  .page-template-page-frontpage-renew .section.product .category_title::before {
    padding-top: 30%;
  }
}
.frontpage .section.product .category_title .thumb,
.frontpage-renew .section.product .category_title .thumb,
.page-template-page-frontpage-renew .section.product .category_title .thumb {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.frontpage .section.product .category_title .thumb img,
.frontpage-renew .section.product .category_title .thumb img,
.page-template-page-frontpage-renew .section.product .category_title .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: -10;
  transition-duration: 0.3s;
}
.frontpage .section.product .category_title .thumb::before,
.frontpage-renew .section.product .category_title .thumb::before,
.page-template-page-frontpage-renew .section.product .category_title .thumb::before {
  content: "";
  display: block;
  background: var(--black);
  opacity: 0.4;
  mix-blend-mode: multiply;
  z-index: -5;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.frontpage .section.product .category_title:hover .thumb img,
.frontpage-renew .section.product .category_title:hover .thumb img,
.page-template-page-frontpage-renew .section.product .category_title:hover .thumb img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.frontpage .section.product .lead_text,
.frontpage-renew .section.product .lead_text,
.page-template-page-frontpage-renew .section.product .lead_text {
  max-width: 70rem;
  line-height: 1.6;
  font-size: 1.6rem;
  margin: 3rem 0;
}
.frontpage .section.product.reverse .category_title,
.frontpage-renew .section.product.reverse .category_title,
.page-template-page-frontpage-renew .section.product.reverse .category_title {
  margin: initial;
}
.frontpage .section.product.reverse .category_title a,
.frontpage-renew .section.product.reverse .category_title a,
.page-template-page-frontpage-renew .section.product.reverse .category_title a {
  padding-left: initial;
  padding-right: 10rem;
  justify-content: flex-end;
  box-sizing: border-box;
}
.frontpage .section.product.reverse .lead_text,
.frontpage-renew .section.product.reverse .lead_text,
.page-template-page-frontpage-renew .section.product.reverse .lead_text {
  margin: 3rem 0 3rem auto;
}
.frontpage .section.caetgory01,
.frontpage-renew .section.caetgory01,
.page-template-page-frontpage-renew .section.caetgory01 {
  position: relative;
}
.frontpage .section.caetgory01::after,
.frontpage-renew .section.caetgory01::after,
.page-template-page-frontpage-renew .section.caetgory01::after {
  content: "";
  background-image: url(../images/front-page/wave_bg.png);
  background-repeat: no-repeat;
  background-size: 120% 100%;
  background-position: 10%;
  z-index: -100;
  display: block;
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 0;
  bottom: -25rem;
}
.frontpage .section.news,
.frontpage-renew .section.news,
.page-template-page-frontpage-renew .section.news {
  position: relative;
  padding-top: 25rem;
  padding-bottom: 8rem;
  margin-top: -20rem;
}
@media screen and (max-width: 765px) {
  .frontpage .section.news,
  .frontpage-renew .section.news,
  .page-template-page-frontpage-renew .section.news {
    padding-top: 20rem;
  }
}
.frontpage .section.news .column2,
.frontpage-renew .section.news .column2,
.page-template-page-frontpage-renew .section.news .column2 {
  gap: 5.4rem;
}
@media screen and (max-width: 765px) {
  .frontpage .section.news .column2,
  .frontpage-renew .section.news .column2,
  .page-template-page-frontpage-renew .section.news .column2 {
    flex-direction: column;
  }
}
.frontpage .section.news .background,
.frontpage-renew .section.news .background,
.page-template-page-frontpage-renew .section.news .background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
}
.frontpage .section.news .background::before,
.frontpage-renew .section.news .background::before,
.page-template-page-frontpage-renew .section.news .background::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: linear-gradient(180deg, rgba(242, 242, 242, 0.5) 0%, rgba(0, 146, 229, 0.5) 112.86%);
  z-index: -5;
}
.frontpage .section.news .background img,
.frontpage-renew .section.news .background img,
.page-template-page-frontpage-renew .section.news .background img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top left;
     object-position: top left;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 765px) {
  .frontpage .section.news .background img,
  .frontpage-renew .section.news .background img,
  .page-template-page-frontpage-renew .section.news .background img {
    -o-object-position: 25%;
       object-position: 25%;
  }
}
.frontpage .section.news .heading_left span,
.frontpage-renew .section.news .heading_left span,
.page-template-page-frontpage-renew .section.news .heading_left span {
  display: block;
}
.frontpage .section.news .heading_left .ja,
.frontpage-renew .section.news .heading_left .ja,
.page-template-page-frontpage-renew .section.news .heading_left .ja {
  font-size: 2rem;
  font-weight: bold;
  color: var(--light-blue);
}
.frontpage .section.news .heading_left .en,
.frontpage-renew .section.news .heading_left .en,
.page-template-page-frontpage-renew .section.news .heading_left .en {
  font-size: 5.6rem;
  font-family: "Open Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
  font-weight: bold;
  line-height: 1.5;
}
.frontpage .section.news .archive_link,
.frontpage-renew .section.news .archive_link,
.page-template-page-frontpage-renew .section.news .archive_link {
  margin-top: 2.4rem;
  white-space: nowrap;
}
.frontpage .section.news .news_articles,
.frontpage-renew .section.news .news_articles,
.page-template-page-frontpage-renew .section.news .news_articles {
  width: 100%;
}

.frontpage,
.frontpage-renew,
.second_lv_page {
  /* 安全健康管理のグループ分け用スタイル */
}
.frontpage .product_group,
.frontpage-renew .product_group,
.second_lv_page .product_group {
  margin: 0 auto 6rem auto;
  max-width: 80rem;
}
@media screen and (max-width: 854px) {
  .frontpage .product_group,
  .frontpage-renew .product_group,
  .second_lv_page .product_group {
    width: 95%;
  }
}
.frontpage .product_group:last-child,
.frontpage-renew .product_group:last-child,
.second_lv_page .product_group:last-child {
  margin-bottom: 0;
}
.frontpage .product_group .group_title,
.frontpage-renew .product_group .group_title,
.second_lv_page .product_group .group_title {
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 2rem;
  margin-bottom: 2.4rem;
  color: var(--black);
  display: block;
}
@media screen and (max-width: 765px) {
  .frontpage .product_group .group_title,
  .frontpage-renew .product_group .group_title,
  .second_lv_page .product_group .group_title {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
    padding: 0.6rem 1.2rem;
  }
}
.frontpage .product_group,
.frontpage-renew .product_group,
.second_lv_page .product_group {
  /* .product_list が margin: 0 auto を持っているので、親の product_group で幅を制限すれば揃う */
}
.frontpage .product_group .product_list,
.frontpage-renew .product_group .product_list,
.second_lv_page .product_group .product_list {
  margin: 0;
  max-width: none;
}
.frontpage,
.frontpage-renew,
.second_lv_page {
  /* Figmaに基づいた新規見出しスタイル */
}
.frontpage .group_category_title,
.frontpage-renew .group_category_title,
.second_lv_page .group_category_title {
  display: block;
  width: 80rem;
  max-width: 100%;
  margin: 0 auto 1.5rem auto;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--black);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
}
@media screen and (max-width: 854px) {
  .frontpage .group_category_title,
  .frontpage-renew .group_category_title,
  .second_lv_page .group_category_title {
    width: 95%;
  }
}
.frontpage .group_category_title::after,
.frontpage-renew .group_category_title::after,
.second_lv_page .group_category_title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 1rem;
  background-color: #616161;
}
.frontpage .group-overview,
.frontpage-renew .group-overview,
.second_lv_page .group-overview {
  width: 80rem;
  max-width: 100%;
  margin: 0 auto 3rem auto;
  font-size: 1.6rem;
  line-height: 2.8rem;
  font-weight: 400;
  color: var(--black);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Hiragino Sans", Meiryo, Arial, sans-serif;
}
@media screen and (max-width: 854px) {
  .frontpage .group-overview,
  .frontpage-renew .group-overview,
  .second_lv_page .group-overview {
    width: 95%;
  }
}
.frontpage,
.frontpage-renew,
.second_lv_page {
  /* 不要になった旧スタイルの整理 */
}
.frontpage .group_description,
.frontpage-renew .group_description,
.second_lv_page .group_description {
  display: none;
}
.frontpage .product_list .product_thumb a .logo.gray,
.frontpage-renew .product_list .product_thumb a .logo.gray,
.second_lv_page .product_list .product_thumb a .logo.gray {
  background-color: #6F6F6F;
}
.frontpage .section.caetgory03,
.frontpage-renew .section.caetgory03,
.second_lv_page .section.caetgory03 {
  position: relative;
}
.frontpage .section.caetgory03::after,
.frontpage-renew .section.caetgory03::after,
.second_lv_page .section.caetgory03::after {
  content: "";
  background-image: url(../images/front-page/wave_bg.png);
  background-repeat: no-repeat;
  background-size: 120% 100%;
  background-position: 10%;
  z-index: -100;
  display: block;
  width: 100%;
  height: 30rem;
  position: absolute;
  left: 0;
  bottom: -25rem;
}
.frontpage .first_view .fv_index_list,
.frontpage-renew .first_view .fv_index_list,
.second_lv_page .first_view .fv_index_list {
  max-width: 700px;
}

/* LiveXR Point Cloud Page Styles */
.live-xr-point-cloud .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.live-xr-point-cloud .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .section_title_renew .title_text {
    font-size: 1.8rem;
  }
}
.live-xr-point-cloud .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #33A9E6 0%, #004B87 100%);
  margin-top: 0.5rem;
}
.live-xr-point-cloud .intro_area {
  margin-bottom: 3rem;
}
.live-xr-point-cloud .intro_area p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.live-xr-point-cloud .main_visual {
  margin: 4rem 0;
}
.live-xr-point-cloud .main_visual img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.live-xr-point-cloud .main_visual_group {
  margin: 4rem 0 0 0;
}
.live-xr-point-cloud .main_visual_group.column2 {
  gap: 0;
}
.live-xr-point-cloud .main_visual_group.column2 .col {
  flex: 0 0 50%;
}
.live-xr-point-cloud .main_visual_group.column2 .col img {
  width: 100%;
  height: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.live-xr-point-cloud .main_visual_group.column2 .col figure {
  margin: 0;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .main_visual_group.column2 {
    margin: 2rem 0;
  }
}
.live-xr-point-cloud .problem_list_renew {
  list-style: none;
  padding: 0;
  margin: 0 0 3rem 0;
}
.live-xr-point-cloud .problem_list_renew li {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .problem_list_renew li {
    font-size: 1.6rem;
  }
}
.live-xr-point-cloud .problem_list_renew li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 1.8rem;
  height: 1.8rem;
  background-color: #33A9E6;
  border-radius: 50%;
}
.live-xr-point-cloud .problem_desc {
  margin-bottom: 4rem;
}
.live-xr-point-cloud .problem_desc p {
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--black);
}
.live-xr-point-cloud .feature_list_numbered {
  list-style: none;
  counter-reset: feature-counter;
  padding: 0;
  margin: 0 0 4rem 0;
}
.live-xr-point-cloud .feature_list_numbered li {
  margin-bottom: 2.5rem;
  padding-left: 4.5rem;
  position: relative;
}
.live-xr-point-cloud .feature_list_numbered li::before {
  counter-increment: feature-counter;
  content: counter(feature-counter);
  position: absolute;
  left: 0;
  top: 0rem;
  width: 3rem;
  height: 3rem;
  background-color: #33A9E6;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.6rem;
  font-family: "Noto Sans CJK JP", sans-serif;
}
.live-xr-point-cloud .feature_list_numbered li .item_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .feature_list_numbered li .item_title {
    font-size: 1.6rem;
  }
}
.live-xr-point-cloud .feature_list_numbered li .item_desc {
  font-size: 1.6rem;
  color: var(--black);
  line-height: 1.6;
}
.live-xr-point-cloud .bg_navy {
  background-color: #030546;
  margin: 0 auto;
}
.live-xr-point-cloud .bg_navy figure {
  padding: 0;
}
.live-xr-point-cloud .bg_gray {
  background-color: #DBDBDB;
  margin: 0 auto;
}
.live-xr-point-cloud .bg_gray figure {
  padding: 0;
}
.live-xr-point-cloud .p-20 {
  padding: 2rem 0;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .p-20 {
    padding: 1.5rem 0;
  }
}
.live-xr-point-cloud .center_img {
  margin: 0;
  text-align: center;
}
.live-xr-point-cloud .center_img img {
  max-width: 100%;
  height: auto;
}
.live-xr-point-cloud .workflow_list_renew {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  margin-bottom: 4rem;
}
.live-xr-point-cloud .workflow_list_renew .workflow_item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  position: relative;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .workflow_list_renew .workflow_item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.live-xr-point-cloud .workflow_list_renew .workflow_item:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 20px solid #D9D9D9;
  position: absolute;
  bottom: -2.8rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .workflow_list_renew .workflow_item:not(:last-child)::after {
    left: 0;
    right: 0;
    bottom: -2.5rem;
    transform: initial;
    margin: auto;
  }
}
.live-xr-point-cloud .workflow_list_renew .workflow_item .item_header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 28rem;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .workflow_list_renew .workflow_item .item_header {
    width: 100%;
  }
}
.live-xr-point-cloud .workflow_list_renew .workflow_item .item_header .num {
  width: 4.5rem;
  height: 4.5rem;
  background-color: #33A9E6;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.8rem;
  font-family: "Outfit", sans-serif;
  flex-shrink: 0;
}
.live-xr-point-cloud .workflow_list_renew .workflow_item .item_header .label {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
}
.live-xr-point-cloud .workflow_list_renew .workflow_item .item_content {
  flex-grow: 1;
  background: #F6F6F6;
  border-radius: 10px;
  padding: 1.2rem 2rem;
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--black);
  min-height: 5.5rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .workflow_list_renew .workflow_item .item_content {
    width: 100%;
    box-sizing: border-box;
    min-height: auto;
  }
}
.live-xr-point-cloud .function_item_renew {
  display: flex;
  gap: 3rem;
  align-items: flex-start;
  padding-bottom: 3rem;
}
.live-xr-point-cloud .function_item_renew:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 854px) {
  .live-xr-point-cloud .function_item_renew {
    flex-direction: column;
    gap: 2rem;
  }
}
.live-xr-point-cloud .function_item_renew .text_part {
  flex: 1;
}
.live-xr-point-cloud .function_item_renew .text_part .function_title_gray {
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 1.4;
  margin-bottom: 2rem;
  color: var(--black);
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .function_item_renew .text_part .function_title_gray {
    font-size: 1.6rem;
    padding: 0.6rem 1.2rem;
  }
}
.live-xr-point-cloud .function_item_renew .text_part .bold_text {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: var(--black);
  line-height: 1.5;
}
.live-xr-point-cloud .function_item_renew .text_part .size-m {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  color: var(--black);
}
.live-xr-point-cloud .function_item_renew .text_part .list_disc {
  padding-left: 2rem;
  margin-bottom: 2rem;
}
.live-xr-point-cloud .function_item_renew .text_part .list_disc li {
  list-style: disc;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 0.8rem;
  color: var(--black);
  font-weight: 500;
}
.live-xr-point-cloud .function_item_renew .text_part .blue_summary {
  background-color: #33A9E6;
  color: #FFFFFF;
  padding: 1rem 1.5rem;
  font-weight: bold;
  font-size: 1.6rem;
  border-radius: 4px;
  display: block;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .function_item_renew .text_part .blue_summary {
    text-align: left;
  }
}
.live-xr-point-cloud .function_item_renew .image_part {
  flex: 0 0 350px;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .function_item_renew .image_part {
    margin: 0 auto;
    flex: initial;
  }
}
.live-xr-point-cloud .function_item_renew .image_part img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 765px) {
  .live-xr-point-cloud .function_item_renew .image_part img {
    max-width: 300px;
  }
}

.single-post .content strong {
  font-weight: bold;
}

/* アコーディオンメニューの矢印回転 */
.accordion_menu.is-show .title::after {
  transform: translateY(-25%) rotate(315deg);
}

/* ==========================================================================
   Kaokara (暑熱対策AIカメラ) Page Styles
   ========================================================================== */
.kaokara .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.kaokara .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 765px) {
  .kaokara .section_title_renew .title_text {
    font-size: 1.8rem;
  }
}
.kaokara .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.kaokara .intro_area {
  margin-bottom: 3rem;
}
.kaokara .intro_area p {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 1.5rem;
  color: #161616;
  font-weight: 500;
}
.kaokara .kaokara_overview_box {
  margin-bottom: 4rem;
}
.kaokara .kaokara_overview_box .image_part {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.kaokara .kaokara_overview_box .image_part img.main_img {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .kaokara_overview_box .image_part .netis_badge_wrap {
  position: absolute;
  top: 4.33%;
  left: 50.56%;
  width: 5.12%;
  z-index: 10;
}
.kaokara .kaokara_overview_box .image_part .netis_badge_wrap img.netis_logo {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .kaokara_overview_box .netis_number {
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #666;
  text-align: right;
}
@media screen and (max-width: 765px) {
  .kaokara .kaokara_overview_box .netis_number {
    text-align: left;
  }
}
.kaokara .kaokara_features {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
}
.kaokara .kaokara_features .feature_box {
  border: 1px solid #aaa;
  background-color: #fff;
  overflow: hidden;
}
.kaokara .kaokara_features .feature_box .feature_header {
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1.2rem 1.6rem;
  border-bottom: 1px solid #aaa;
}
.kaokara .kaokara_features .feature_box .feature_header .title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  margin: 0;
  padding: 0;
}
.kaokara .kaokara_features .feature_box .feature_header .title::after {
  display: none;
}
.kaokara .kaokara_features .feature_box .feature_body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.kaokara .kaokara_features .feature_box .feature_body .desc {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color: #333;
  margin: 0;
}
.kaokara .kaokara_features .feature_box .feature_body .image_part {
  width: 100%;
}
.kaokara .kaokara_features .feature_box .feature_body .image_part img {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .step_box {
  background-color: #dbdbdb;
  border: 1px solid #aaa;
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: column;
}
.kaokara .step_box .step_header {
  padding: 1.2rem 1.6rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.kaokara .step_box .step_header .num {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
}
.kaokara .step_box .step_header .title_text {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  line-height: 1.4;
}
.kaokara .step_box .step_body {
  padding: 1rem 2rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 765px) {
  .kaokara .step_box .step_body {
    padding: 1rem 1rem 1.5rem 1rem;
    gap: 1.5rem;
  }
}
.kaokara .step_box .step_card {
  background-color: #fff;
  padding: 1rem;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 765px) {
  .kaokara .step_box .step_card {
    padding: 1.5rem;
    gap: 1.5rem;
  }
}
.kaokara .step_box .step_card .card_lead {
  font-size: 1.8rem;
  font-weight: bold;
  color: #0092e5;
  line-height: 1.4;
  margin: 0;
}
.kaokara .step_box .step_card .desc {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  line-height: 1.5;
  margin: -1rem 0 0 0;
}
.kaokara .step_box .step_card .column2 {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 765px) {
  .kaokara .step_box .step_card .column2 {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.kaokara .step_box .step_card .column2 .col {
  flex: 1;
}
.kaokara .step_box .step_card .wp-caption {
  text-align: center;
  margin: 0 !important;
}
.kaokara .step_box .step_card .wp-caption img {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .step_box .step_card .wp-caption .wp-caption-text {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  color: #333;
  font-weight: 500;
  line-height: 1.4;
}
.kaokara .step_box .step_card .recommend_places {
  margin-top: 1rem;
}
.kaokara .step_box .step_card .recommend_places .bold {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 1rem;
}
.kaokara .step_box .step_card .recommend_places .normal_list {
  list-style: disc !important;
  list-style-type: disc !important;
  padding-left: 2rem;
}
.kaokara .step_box .step_card .recommend_places .normal_list li {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 0.8rem;
  color: #333;
  font-weight: 500;
  display: list-item !important;
  list-style: outside;
}
.kaokara .step_box .step_card .recommend_places .normal_list li::before {
  display: none !important;
  content: none !important;
}
.kaokara .step_box .step_card .recommend_places .normal_list li:last-child {
  margin-bottom: 0;
}
.kaokara .step_box .step_card .main_image {
  width: 100%;
  margin-bottom: 2.4rem;
}
.kaokara .step_box .step_card .main_image img {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .step_box .step_card .notes {
  width: 100%;
}
.kaokara .step_box .step_card .notes p {
  font-size: 1.4rem;
  color: #000;
  line-height: 1.6;
  margin-bottom: 0.5rem;
  font-weight: normal;
}
.kaokara .step_box .step_card .notes p:last-child {
  margin-bottom: 0;
}
.kaokara .step_box.header_only {
  margin-bottom: 1rem;
}
.kaokara .step_box.header_only .step_header {
  padding: 1.2rem 1.6rem;
}
.kaokara .wp-caption {
  text-align: center;
  margin-bottom: 1.5rem;
  background: none;
  border: none;
  padding: 0;
  width: 100% !important;
}
.kaokara .wp-caption img {
  width: 100%;
  height: auto;
}
.kaokara .wp-caption .wp-caption-text {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  color: #666;
  font-weight: bold;
}
.kaokara .spec_details {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  margin-bottom: 4rem;
}
@media screen and (max-width: 765px) {
  .kaokara .spec_details {
    flex-direction: column;
    gap: 2rem;
  }
}
.kaokara .spec_details .image_part {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
}
.kaokara .spec_details .image_part img {
  width: 100%;
  height: auto;
  display: block;
}
.kaokara .spec_details .text_part {
  flex: 1 1 0%;
  min-width: 0;
}
.kaokara .spec_details .text_part .normal_list {
  list-style: disc !important;
  list-style-type: disc !important;
  padding-left: 2.4rem;
}
.kaokara .spec_details .text_part .normal_list li {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333;
  font-weight: 500;
  margin-bottom: 1rem;
  display: list-item !important;
  list-style: outside;
}
.kaokara .spec_details .text_part .normal_list li::before {
  display: none !important;
  content: none !important;
}
.kaokara .spec_details .text_part .normal_list li:last-child {
  margin-bottom: 0;
}
.kaokara .spec_buttons {
  display: flex;
  gap: 4rem;
  margin-top: 4rem;
}
@media screen and (max-width: 765px) {
  .kaokara .spec_buttons {
    flex-direction: column;
    gap: 3rem;
  }
}
.kaokara .spec_buttons .btn_item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.kaokara .spec_buttons .btn_item .blue_btn_renew {
  display: inline-block;
  background-color: #1d52b7;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 2.5rem 3rem;
  border-radius: 6px;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  transition: background-color 0.3s, transform 0.2s;
}
.kaokara .spec_buttons .btn_item .blue_btn_renew:hover {
  background-color: var(--light-blue);
  color: #fff;
}
.kaokara .spec_buttons .btn_item .blue_btn_renew:active {
  transform: translateY(0);
}
.kaokara .spec_buttons .btn_item .btn_desc {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #666;
  text-align: left;
  width: 100%;
}

/* Lightboxモーダルスタイル */
.lightbox_modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.85);
  align-items: center;
  justify-content: center;
}
.lightbox_modal.is_active {
  display: flex;
}
.lightbox_modal .lightbox_content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 85vh;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  animation: lightboxZoom 0.3s ease-out;
  border: 3px solid #fff;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
}
.lightbox_modal .lightbox_close {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
  cursor: pointer;
}
.lightbox_modal .lightbox_close:hover, .lightbox_modal .lightbox_close:focus {
  color: #bbb;
  text-decoration: none;
}

@keyframes lightboxZoom {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
.lightbox_trigger {
  display: block;
  cursor: zoom-in;
  position: relative;
}
.lightbox_trigger::after {
  content: "🔎 クリックで拡大";
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.2rem;
  padding: 0.4rem 0.8rem;
  border-radius: 3px;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.lightbox_trigger:hover::after {
  opacity: 1;
}

/* ==========================================================================
   WBGT-302plus (熱中症指標計) Page Styles
   ========================================================================== */
.wbgt-302plus .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.wbgt-302plus .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .section_title_renew .title_text {
    font-size: 1.8rem;
  }
}
.wbgt-302plus .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.wbgt-302plus .content h3.group_sub_heading {
  padding: 1rem 1.6rem;
}
.wbgt-302plus .intro_area {
  margin-bottom: 3rem;
}
.wbgt-302plus .intro_area p {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 1.5rem;
  color: #161616;
  font-weight: 500;
}
@media screen {
  .wbgt-302plus .intro_area p {
    font-size: 1.6rem;
  }
}
.wbgt-302plus .pdf_download_area {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 4rem;
  align-items: center;
}
.wbgt-302plus .pdf_download_area .pdf_btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #030546;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 1rem 1.6rem;
  border-radius: 5px;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.3s, opacity 0.3s;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .pdf_download_area .pdf_btn {
    font-size: 1.4rem;
    padding: 0.3rem 1.6rem;
    height: auto;
    min-height: 47px;
  }
  .wbgt-302plus .pdf_download_area .pdf_btn:nth-of-type(1), .wbgt-302plus .pdf_download_area .pdf_btn:nth-of-type(2) {
    width: 100%;
    max-width: 100%;
  }
}
.wbgt-302plus .pdf_download_area .pdf_btn:hover {
  background-color: #153c8a;
}
.wbgt-302plus .pdf_download_area .pdf_btn::after {
  content: "";
  width: 25px;
  height: 30px;
  background-image: url(../images/lower-page/health_management/wbgt-302plus/pdf_icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  flex-shrink: 0;
  margin-left: 1.5rem;
}
.wbgt-302plus .pdf_download_area .pdf_note {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #161616;
  margin-top: 1rem;
  width: 100%;
}
.wbgt-302plus .wbgt_product_detail {
  display: flex;
  gap: 10rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .wbgt_product_detail {
    flex-direction: column;
    gap: 2rem;
  }
}
.wbgt-302plus .wbgt_product_detail .detail_left {
  flex: 1;
  max-width: 600px;
}
.wbgt-302plus .wbgt_product_detail .detail_left .detail_desc {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #161616;
  font-weight: 500;
  margin-bottom: 3rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .wbgt_product_detail .detail_left .detail_desc {
    font-size: 1.5rem;
  }
}
.wbgt-302plus .wbgt_product_detail .detail_left .feature_icons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.wbgt-302plus .wbgt_product_detail .detail_left .feature_icons img {
  width: 80px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 10px;
}
.wbgt-302plus .wbgt_product_detail .detail_right {
  flex: 0 0 100px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .wbgt_product_detail .detail_right {
    flex: none;
    width: 100%;
  }
}
.wbgt-302plus .wbgt_product_detail .detail_right .product_img_box {
  text-align: center;
}
.wbgt-302plus .wbgt_product_detail .detail_right .product_img_box img {
  max-width: 150px;
  height: auto;
}
@media screen {
  .wbgt-302plus .wbgt_product_detail .detail_right .product_img_box img {
    max-height: 400px;
    width: auto;
    height: initial;
  }
}
.wbgt-302plus .wbgt_product_detail .detail_right .product_img_box .product_name {
  font-size: 1.2rem;
  font-weight: 500;
  color: #000;
  margin-top: 1rem;
}
.wbgt-302plus .wbgt_points {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 4rem;
}
.wbgt-302plus .wbgt_points .point_item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .wbgt_points .point_item {
    align-items: flex-start;
  }
}
.wbgt-302plus .wbgt_points .point_item .point_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #33a9e6;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  flex-shrink: 0;
  line-height: 1;
}
.wbgt-302plus .wbgt_points .point_item .point_text {
  font-size: 1.8rem;
  color: #161616;
  font-weight: bold;
  margin-bottom: 0;
}
.wbgt-302plus .wbgt_points .point_item .point_text .note_num {
  font-size: 1.2rem;
  vertical-align: super;
}
.wbgt-302plus .price_section_renew .price_item_wrap {
  max-width: 1000px;
  margin-bottom: 4rem;
}
.wbgt-302plus .price_section_renew .box_secondary {
  border-top: 1px solid #d9d9d9;
  border-bottom: none;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row {
  border: none;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head .head01,
.wbgt-302plus .price_section_renew .box_secondary .table_head .head02,
.wbgt-302plus .price_section_renew .box_secondary .table_head .data01,
.wbgt-302plus .price_section_renew .box_secondary .table_head .data02,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row .head01,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row .head02,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row .data01,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row .data02 {
  display: contents;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head span,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row span {
  border: 1px solid #d9d9d9;
  border-top: none;
  border-bottom: none;
  box-sizing: border-box;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head span:first-child,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row span:first-child {
  border-left: 1px solid #d9d9d9;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head span:last-child,
.wbgt-302plus .price_section_renew .box_secondary .table_data_row span:last-child {
  border-right: 1px solid #d9d9d9;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head {
  border-bottom: 1px solid #d9d9d9;
}
.wbgt-302plus .price_section_renew .box_secondary .table_head span {
  background-color: #e7f5fd;
  font-weight: bold;
  color: #000;
}
.wbgt-302plus .price_section_renew .box_secondary .table_data_row {
  border-bottom: 1px solid #d9d9d9;
}
.wbgt-302plus .price_section_renew .box_secondary .table_data_row span {
  background-color: #fff;
  color: #000;
}
.wbgt-302plus .price_section_renew .box_secondary .code {
  flex: 0 0 13%;
}
.wbgt-302plus .price_section_renew .box_secondary .name {
  flex: 0 0 43%;
}
.wbgt-302plus .price_section_renew .box_secondary .name.data {
  justify-content: flex-start;
  padding-left: 10px;
}
.wbgt-302plus .price_section_renew .box_secondary .volume {
  flex: 0 0 10%;
}
.wbgt-302plus .price_section_renew .box_secondary .unit {
  flex: 0 0 10%;
}
.wbgt-302plus .price_section_renew .box_secondary .site {
  flex: 0 0 24%;
}
.wbgt-302plus .price_section_renew .box_secondary .site .buy_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #030546;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  padding: 0.8rem 1.5rem;
  border-radius: 10px;
  transition: background-color 0.3s;
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}
.wbgt-302plus .price_section_renew .box_secondary .site .buy_btn:hover {
  background-color: #153c8a;
}
.wbgt-302plus .price_section_renew .box_secondary .site .buy_btn::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../images/common/new_window_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .price_section_renew .box_secondary {
    border: none;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_head {
    display: none;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row {
    flex-direction: column;
    border: 1px solid #d9d9d9;
    margin-bottom: 2rem;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .data01,
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .data02 {
    display: flex;
    flex-direction: column;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row span {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    justify-content: flex-start;
    padding: 1.2rem;
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.6rem;
    box-sizing: border-box;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row span::before {
    display: block;
    background: transparent;
    padding: 0;
    margin-bottom: 0.5rem;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: left;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row span:last-child {
    border-bottom: none !important;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row span {
    font-size: 1.4rem;
    align-items: center;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row span::before {
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 1rem;
    background-color: #e7f5fd;
    box-sizing: border-box;
    text-align: center;
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .code::before {
    content: "商品コード";
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .name::before {
    content: "商品名";
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .volume::before {
    content: "数量";
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .unit::before {
    content: "単位";
  }
  .wbgt-302plus .price_section_renew .box_secondary .table_data_row .site::before {
    content: "通販サイト";
  }
}
.wbgt-302plus .notes_area {
  margin-top: 1.5rem;
  margin-bottom: 4rem;
}
.wbgt-302plus .notes_area p {
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
  line-height: 1.6;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .notes_area p {
    font-size: 1.6rem;
  }
}
.wbgt-302plus .opt_title_gradient {
  background: linear-gradient(to right, #dbdbdb, rgba(217, 217, 217, 0));
  padding: 8px 16px;
  margin-bottom: 2rem;
}
.wbgt-302plus .opt_title_gradient .title_text {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  line-height: 1.4;
}
.wbgt-302plus .options_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 4rem;
}
.wbgt-302plus .options_grid .option_card {
  flex: 0 0 calc(50% - 5px);
  border: 1px solid #d5d5d5;
  background-color: #fff;
  padding: 5px;
  border-radius: 0;
  box-sizing: border-box;
  min-height: 150px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .options_grid .option_card {
    flex: 0 0 100%;
  }
}
.wbgt-302plus .options_grid .option_card .card_inner {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.wbgt-302plus .options_grid .option_card .img_box {
  flex: 0 0 144px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wbgt-302plus .options_grid .option_card .img_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1.5;
  -o-object-fit: contain;
     object-fit: contain;
}
.wbgt-302plus .options_grid .option_card .img_box .buy_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background-color: #030546;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.2rem;
  padding: 5px;
  border-radius: 10px;
  width: 139px;
  margin: 0 auto;
  box-sizing: border-box;
}
.wbgt-302plus .options_grid .option_card .img_box .buy_btn:hover {
  background-color: #153c8a;
}
.wbgt-302plus .options_grid .option_card .img_box .buy_btn::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../images/common/new_window_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  flex-shrink: 0;
}
.wbgt-302plus .options_grid .option_card .img_box .buy_btn .icon_arrow {
  display: none;
}
.wbgt-302plus .options_grid .option_card .info_box {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0;
  padding-top: 5px;
  margin-top: 0;
  background-color: transparent;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_name,
.wbgt-302plus .options_grid .option_card .info_box p {
  margin: 0;
  line-height: 1.3;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_name {
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_code {
  font-size: 1.4rem;
  color: #000;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_alert {
  font-size: 1.2rem;
  color: red;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_unit {
  font-size: 1.2rem;
  color: #000;
}
.wbgt-302plus .options_grid .option_card .info_box .opt_desc {
  font-size: 1rem;
  color: #000;
  line-height: 1.5;
}
.wbgt-302plus .wbgt_cloud_intro {
  margin-bottom: 4rem;
}
.wbgt-302plus .wbgt_cloud_intro .num_list {
  list-style-type: decimal;
  padding-left: 2rem;
  margin-bottom: 2.5rem;
}
.wbgt-302plus .wbgt_cloud_intro .num_list li {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #161616;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .wbgt_cloud_intro .num_list li {
    font-size: 1.5rem;
  }
}
.wbgt-302plus .wbgt_cloud_intro .cloud_overview_img {
  width: 100%;
  margin: 0 auto 3rem auto;
}
.wbgt-302plus .wbgt_cloud_intro .cloud_overview_img img {
  width: 100%;
  height: auto;
  display: block;
}
.wbgt-302plus .wbgt_cloud_intro .sigfox_area_text {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #161616;
  font-weight: 500;
}
.wbgt-302plus .wbgt_cloud_intro .sigfox_area_text .text_link {
  color: #33a9e6;
  font-weight: bold;
  text-decoration: underline;
}
.wbgt-302plus .wbgt_cloud_intro .sigfox_area_text .text_link:hover {
  text-decoration: none;
}
.wbgt-302plus .wbgt_cloud_intro .sigfox_area_text .warning_text {
  display: block;
  font-size: 1.4rem;
  color: #333;
  margin-top: 0.8rem;
}
.wbgt-302plus .cloud_features {
  margin-bottom: 4rem;
}
.wbgt-302plus .cloud_features .num_list {
  list-style-type: decimal;
  padding-left: 2rem;
  margin-bottom: 3rem;
}
.wbgt-302plus .cloud_features .num_list li {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #161616;
  font-weight: 500;
  margin-bottom: 1rem;
}
.wbgt-302plus .cloud_features .dashboard_images {
  display: flex;
  gap: 4rem;
  justify-content: space-between;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .cloud_features .dashboard_images {
    flex-direction: column;
    gap: 2rem;
  }
}
.wbgt-302plus .cloud_features .dashboard_images .dashboard_img {
  flex: 1;
  text-align: center;
}
.wbgt-302plus .cloud_features .dashboard_images .dashboard_img img {
  width: 100%;
  height: auto;
  border: 1px solid #eee;
}
.wbgt-302plus .cloud_features .dashboard_images .dashboard_img figcaption {
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
  margin-top: 1rem;
}
.wbgt-302plus .cloud_details_grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .cloud_details_grid {
    grid-template-columns: 1fr;
  }
}
.wbgt-302plus .cloud_details_grid .detail_block .block_header {
  background-color: #030546;
  color: #fff;
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.wbgt-302plus .cloud_details_grid .detail_block .block_body img {
  width: 100%;
  height: auto;
}
.wbgt-302plus .cloud_details_grid .detail_block .block_body .block_text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 1.5rem;
  color: #161616;
  font-weight: 500;
}
.wbgt-302plus .cloud_details_grid .detail_block .block_body.placeholder_box {
  background-color: #c4c4c4;
  height: 265px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wbgt-302plus .cloud_details_grid .detail_block .block_body.placeholder_box .placeholder_text {
  font-size: 1.6rem;
  color: #161616;
  font-weight: 500;
}
.wbgt-302plus .cloud_memory_section {
  margin-bottom: 4rem;
}
.wbgt-302plus .cloud_memory_section .block_header {
  background-color: #030546;
  color: #fff;
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.wbgt-302plus .cloud_memory_section .memory_table {
  width: 100%;
  border-collapse: collapse;
}
.wbgt-302plus .cloud_memory_section .memory_table th,
.wbgt-302plus .cloud_memory_section .memory_table td {
  border: 1px solid #d9d9d9;
  padding: 0.5rem;
  font-size: 1.4rem;
  line-height: 1.6;
  vertical-align: middle;
  font-weight: 500;
}
.wbgt-302plus .cloud_memory_section .memory_table th {
  background-color: #E7E7E7;
  font-weight: bold;
  color: #000;
  text-align: center;
  width: 150px;
}
.wbgt-302plus .cloud_memory_section .memory_table th.header_corner {
  width: 20%;
  background-color: #e7e7e7;
}
.wbgt-302plus .cloud_memory_section .memory_table tbody th {
  background-color: #fff;
}
.wbgt-302plus .cloud_memory_section .memory_table td {
  background-color: #fff;
  color: #000;
  width: 40%;
}
@media screen and (max-width: 765px) {
  .wbgt-302plus .cloud_memory_section .memory_table {
    display: block;
  }
  .wbgt-302plus .cloud_memory_section .memory_table thead {
    display: none;
  }
  .wbgt-302plus .cloud_memory_section .memory_table tbody,
  .wbgt-302plus .cloud_memory_section .memory_table tr,
  .wbgt-302plus .cloud_memory_section .memory_table th,
  .wbgt-302plus .cloud_memory_section .memory_table td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  .wbgt-302plus .cloud_memory_section .memory_table tr {
    border-top: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    border-left: 1px solid #d9d9d9;
  }
  .wbgt-302plus .cloud_memory_section .memory_table tr:last-of-type {
    border-bottom: 1px solid #d9d9d9;
  }
  .wbgt-302plus .cloud_memory_section .memory_table th,
  .wbgt-302plus .cloud_memory_section .memory_table td {
    border: none;
    padding: 1.2rem 1.5rem;
    text-align: left;
  }
  .wbgt-302plus .cloud_memory_section .memory_table th {
    border-bottom: 1px solid #eee;
  }
  .wbgt-302plus .cloud_memory_section .memory_table tbody th {
    background-color: #f7f7f7;
    font-weight: bold;
  }
  .wbgt-302plus .cloud_memory_section .memory_table td::before {
    display: block;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.5rem;
  }
  .wbgt-302plus .cloud_memory_section .memory_table td:nth-of-type(1)::before {
    content: "WBGT-302plus 本体";
    font-size: 1.4rem;
    width: 100%;
    background: #e7f5fd;
    padding: 5px 10px;
    box-sizing: border-box;
  }
  .wbgt-302plus .cloud_memory_section .memory_table td:nth-of-type(2)::before {
    content: "KEM IoT クラウドサービス";
    font-size: 1.4rem;
    width: 100%;
    background: #e7f5fd;
    padding: 5px 10px;
    box-sizing: border-box;
  }
  .wbgt-302plus .cloud_memory_section .memory_table td:last-child {
    border-bottom: none;
  }
}
.wbgt-302plus .contract_flow {
  margin-bottom: 4rem;
}
.wbgt-302plus .contract_flow .num_list {
  list-style-type: decimal;
  padding-left: 2rem;
  margin-bottom: 2rem;
}
.wbgt-302plus .contract_flow .num_list li {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #161616;
  font-weight: 500;
  margin-bottom: 1rem;
}
.wbgt-302plus .contract_flow .contract_note {
  font-size: 1.6rem;
  color: #161616;
  font-weight: 500;
}

/* ==========================================================================
   共通コンポーネント: 機能アイコン Flex レイアウト
   ========================================================================== */
.addpage_icons_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 4rem auto;
}
@media screen and (max-width: 765px) {
  .addpage_icons_flex {
    gap: 0.5rem;
  }
}
.addpage_icons_flex .addpage_icon_item {
  display: block;
  width: 155px;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .addpage_icons_flex .addpage_icon_item {
    width: 110px;
  }
}
.addpage_icons_flex .addpage_icon_item img {
  width: 100%;
  height: auto;
  display: block;
}
.addpage_icons_flex .addpage_icon_item .icon_subtext {
  font-size: 1.2rem;
  text-align: center;
  color: #626262;
  font-weight: bold;
  margin-top: 0.8rem;
  line-height: 1.3;
}
@media screen and (max-width: 765px) {
  .addpage_icons_flex .addpage_icon_item .icon_subtext {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}

/* ==========================================================================
   MITSUFUJI 03 Page Styles
   ========================================================================== */
.mistufuji03 .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.mistufuji03 .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
  width: 100%;
}
.mistufuji03 .section_title_renew .title_text .sub {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 0.5rem;
  color: #666;
  font-weight: 600;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .section_title_renew .title_text {
    font-size: 1.8rem;
  }
  .mistufuji03 .section_title_renew .title_text .sub {
    font-size: 1.4rem;
  }
}
.mistufuji03 .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.mistufuji03 .mitsufuji_kv_area {
  margin: 0 0 6rem 0;
  text-align: center;
}
.mistufuji03 .mitsufuji_kv_area .kv_img {
  width: 100%;
  height: auto;
  max-width: 800px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .mitsufuji_kv_area {
    margin: 2rem 0;
  }
}
.mistufuji03 .lead_area {
  margin: 0 auto 4rem auto;
  width: 100%;
}
.mistufuji03 .lead_area .lead_text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #161616;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.mistufuji03 .lead_area .lead_footnote {
  font-size: 1.2rem;
  text-align: right;
  line-height: 1.5;
}
.mistufuji03 .wbgt_points {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 4rem;
}
.mistufuji03 .wbgt_points .point_item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .wbgt_points .point_item {
    align-items: flex-start;
  }
}
.mistufuji03 .wbgt_points .point_item .point_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #33a9e6;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  flex-shrink: 0;
  line-height: 1;
  height: 2em;
}
.mistufuji03 .wbgt_points .point_item .point_text {
  font-size: 1.8rem;
  color: #161616;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1.5;
}
.mistufuji03 .wbgt_points .point_item .point_text .note_num {
  font-size: 1.2rem;
  vertical-align: super;
}
.mistufuji03 .points_footnote {
  font-size: 1.4rem;
  color: var(--black);
  max-width: 800px;
  font-weight: bold;
}
.mistufuji03 .feature_desc {
  font-size: 1.7rem !important;
  line-height: 1.8;
  color: var(--black);
  font-weight: 500;
  margin: 0 0 2rem 0;
}
.mistufuji03 .feature_desc .kome {
  font-size: 1.1rem;
  vertical-align: super;
  line-height: 0;
}
.mistufuji03 .body_temp_box .temp_title,
.mistufuji03 .body_temp_box .temp_desc {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--black);
  margin: 0;
  font-weight: 500;
}
.mistufuji03 .column2.align_items_center {
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .column2.align_items_center {
    flex-direction: column;
    gap: 2rem;
  }
}
.mistufuji03 .column2.align_items_center .col {
  flex: 1;
  width: 100%;
}
.mistufuji03 .flex_0_0_395 {
  flex: 0 0 39.5rem;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .flex_0_0_395 {
    flex: initial;
  }
}
.mistufuji03 .mitsufuji_sub_heading {
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 1.4;
  color: var(--black);
  margin: 0 0 2rem 0;
  border: none;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .mitsufuji_sub_heading {
    font-size: 1.6rem;
    padding: 0.6rem 1.2rem;
  }
}
.mistufuji03 .mitsufuji_kanri_cols {
  margin-top: 4rem;
  gap: 4rem;
}
@media screen and (max-width: 765px) {
  .mistufuji03 .mitsufuji_kanri_cols {
    margin-top: 2rem;
    gap: 2rem;
    flex-direction: column;
  }
}
.mistufuji03 .mitsufuji_kanri_cols .col {
  flex: 1;
  width: 100%;
}
.mistufuji03 .mitsufuji_kanri_cols figure {
  padding: 0;
  margin: 0;
}
.mistufuji03 .mitsufuji_kanri_cols figure img {
  width: 100%;
  height: auto;
  display: block;
}
.mistufuji03 .mitsufuji_table_area {
  margin-top: 3rem;
  width: 100%;
}
.mistufuji03 .mitsufuji_table_area figure {
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.mistufuji03 .mitsufuji_table_area figure img {
  width: 100%;
  height: auto;
  display: block;
}
.mistufuji03 .mitsufuji_table_area .table_footnote {
  font-size: 1.4rem;
  color: var(--black);
  font-weight: bold;
  margin-top: 1rem;
}
.mistufuji03 .mitsufuji_table_area .table_footnote .blue_link {
  color: var(--light-blue);
  text-decoration: underline;
}
.mistufuji03 .mitsufuji_table_area .table_footnote .blue_link:hover {
  text-decoration: none;
}
.mistufuji03 .spec_notes {
  margin-top: 1.5rem;
}
.mistufuji03 .spec_notes p {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--black);
  margin: 0 0 0.5rem 0;
  font-weight: 500;
}

/* ==========================================================================
   hamon band N & V & S Page Styles
   ========================================================================== */
.hamon-band-n .section_title_renew,
.hamon-band-v .section_title_renew,
.hamon-band-s .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.hamon-band-n .section_title_renew .title_text,
.hamon-band-v .section_title_renew .title_text,
.hamon-band-s .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
  width: 100%;
}
.hamon-band-n .section_title_renew .title_text .sub,
.hamon-band-v .section_title_renew .title_text .sub,
.hamon-band-s .section_title_renew .title_text .sub {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 0.5rem;
  color: #666;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .section_title_renew .title_text,
  .hamon-band-v .section_title_renew .title_text,
  .hamon-band-s .section_title_renew .title_text {
    font-size: 1.8rem;
  }
  .hamon-band-n .section_title_renew .title_text .sub,
  .hamon-band-v .section_title_renew .title_text .sub,
  .hamon-band-s .section_title_renew .title_text .sub {
    font-size: 1.4rem;
  }
}
.hamon-band-n .section_title_renew::after,
.hamon-band-v .section_title_renew::after,
.hamon-band-s .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.hamon-band-n .mitsufuji_kv_area,
.hamon-band-v .mitsufuji_kv_area,
.hamon-band-s .mitsufuji_kv_area {
  margin: 0 0 6rem 0;
  text-align: center;
}
.hamon-band-n .mitsufuji_kv_area .kv_img,
.hamon-band-v .mitsufuji_kv_area .kv_img,
.hamon-band-s .mitsufuji_kv_area .kv_img {
  width: 100%;
  height: auto;
  max-width: 800px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .mitsufuji_kv_area,
  .hamon-band-v .mitsufuji_kv_area,
  .hamon-band-s .mitsufuji_kv_area {
    margin: 2rem 0;
  }
}
.hamon-band-n .lead_area,
.hamon-band-v .lead_area,
.hamon-band-s .lead_area {
  margin: 0 auto 4rem auto;
  width: 100%;
}
.hamon-band-n .lead_area .lead_text,
.hamon-band-v .lead_area .lead_text,
.hamon-band-s .lead_area .lead_text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #161616;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.hamon-band-n .lead_area .lead_footnote,
.hamon-band-v .lead_area .lead_footnote,
.hamon-band-s .lead_area .lead_footnote {
  font-size: 1.2rem;
  text-align: right;
  line-height: 1.5;
}
.hamon-band-n .wbgt_points,
.hamon-band-v .wbgt_points,
.hamon-band-s .wbgt_points {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 4rem;
}
.hamon-band-n .wbgt_points .point_item,
.hamon-band-v .wbgt_points .point_item,
.hamon-band-s .wbgt_points .point_item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .wbgt_points .point_item,
  .hamon-band-v .wbgt_points .point_item,
  .hamon-band-s .wbgt_points .point_item {
    align-items: flex-start;
  }
}
.hamon-band-n .wbgt_points .point_item .point_label,
.hamon-band-v .wbgt_points .point_item .point_label,
.hamon-band-s .wbgt_points .point_item .point_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #33a9e6;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  flex-shrink: 0;
  line-height: 1;
  height: 2em;
}
.hamon-band-n .wbgt_points .point_item .point_text,
.hamon-band-v .wbgt_points .point_item .point_text,
.hamon-band-s .wbgt_points .point_item .point_text {
  font-size: 1.8rem;
  color: #161616;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1.5;
}
.hamon-band-n .wbgt_points .point_item .point_text .note_num,
.hamon-band-v .wbgt_points .point_item .point_text .note_num,
.hamon-band-s .wbgt_points .point_item .point_text .note_num {
  font-size: 1.2rem;
  vertical-align: super;
}
.hamon-band-n .points_footnote,
.hamon-band-v .points_footnote,
.hamon-band-s .points_footnote {
  font-size: 1.4rem;
  color: var(--black);
  max-width: 800px;
  font-weight: bold;
}
.hamon-band-n .feature_desc,
.hamon-band-v .feature_desc,
.hamon-band-s .feature_desc {
  font-size: 1.7rem !important;
  line-height: 1.8;
  color: var(--black);
  font-weight: 500;
  margin: 0 0 2rem 0;
}
.hamon-band-n .feature_desc .kome,
.hamon-band-v .feature_desc .kome,
.hamon-band-s .feature_desc .kome {
  font-size: 1.1rem;
  vertical-align: super;
  line-height: 0;
}
.hamon-band-n .body_temp_box .temp_title,
.hamon-band-n .body_temp_box .temp_desc,
.hamon-band-v .body_temp_box .temp_title,
.hamon-band-v .body_temp_box .temp_desc,
.hamon-band-s .body_temp_box .temp_title,
.hamon-band-s .body_temp_box .temp_desc {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--black);
  margin: 0;
  font-weight: 500;
}
.hamon-band-n .column2.align_items_center,
.hamon-band-v .column2.align_items_center,
.hamon-band-s .column2.align_items_center {
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .column2.align_items_center,
  .hamon-band-v .column2.align_items_center,
  .hamon-band-s .column2.align_items_center {
    flex-direction: column;
    gap: 2rem;
  }
}
.hamon-band-n .column2.align_items_center .col,
.hamon-band-v .column2.align_items_center .col,
.hamon-band-s .column2.align_items_center .col {
  flex: 1;
  width: 100%;
}
.hamon-band-n .flex_0_0_395,
.hamon-band-v .flex_0_0_395,
.hamon-band-s .flex_0_0_395 {
  flex: 0 0 39.5rem;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .flex_0_0_395,
  .hamon-band-v .flex_0_0_395,
  .hamon-band-s .flex_0_0_395 {
    flex: initial;
  }
}
.hamon-band-n .mitsufuji_sub_heading,
.hamon-band-v .mitsufuji_sub_heading,
.hamon-band-s .mitsufuji_sub_heading {
  padding: 0.8rem 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: linear-gradient(90deg, #DBDBDB 0%, rgba(217, 217, 217, 0) 100%);
  line-height: 1.4;
  color: var(--black);
  margin: 0 0 2rem 0;
  border: none;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .mitsufuji_sub_heading,
  .hamon-band-v .mitsufuji_sub_heading,
  .hamon-band-s .mitsufuji_sub_heading {
    font-size: 1.6rem;
    padding: 0.6rem 1.2rem;
  }
}
.hamon-band-n .mitsufuji_kanri_cols,
.hamon-band-v .mitsufuji_kanri_cols,
.hamon-band-s .mitsufuji_kanri_cols {
  margin-top: 4rem;
  gap: 4rem;
}
@media screen and (max-width: 765px) {
  .hamon-band-n .mitsufuji_kanri_cols,
  .hamon-band-v .mitsufuji_kanri_cols,
  .hamon-band-s .mitsufuji_kanri_cols {
    margin-top: 2rem;
    gap: 2rem;
    flex-direction: column;
  }
}
.hamon-band-n .mitsufuji_kanri_cols .col,
.hamon-band-v .mitsufuji_kanri_cols .col,
.hamon-band-s .mitsufuji_kanri_cols .col {
  flex: 1;
  width: 100%;
}
.hamon-band-n .mitsufuji_kanri_cols figure,
.hamon-band-v .mitsufuji_kanri_cols figure,
.hamon-band-s .mitsufuji_kanri_cols figure {
  padding: 0;
  margin: 0;
}
.hamon-band-n .mitsufuji_kanri_cols figure img,
.hamon-band-v .mitsufuji_kanri_cols figure img,
.hamon-band-s .mitsufuji_kanri_cols figure img {
  width: 100%;
  height: auto;
  display: block;
}
.hamon-band-n .mitsufuji_table_area,
.hamon-band-v .mitsufuji_table_area,
.hamon-band-s .mitsufuji_table_area {
  margin-top: 3rem;
  width: 100%;
}
.hamon-band-n .mitsufuji_table_area figure,
.hamon-band-v .mitsufuji_table_area figure,
.hamon-band-s .mitsufuji_table_area figure {
  padding: 0;
  margin: 0;
}
.hamon-band-n .mitsufuji_table_area figure img,
.hamon-band-v .mitsufuji_table_area figure img,
.hamon-band-s .mitsufuji_table_area figure img {
  width: 100%;
  height: auto;
  display: block;
}
.hamon-band-n .mitsufuji_table_area .table_footnote,
.hamon-band-v .mitsufuji_table_area .table_footnote,
.hamon-band-s .mitsufuji_table_area .table_footnote {
  font-size: 1.4rem;
  color: var(--black);
  font-weight: bold;
  margin-top: 1rem;
}
.hamon-band-n .mitsufuji_table_area .table_footnote .blue_link,
.hamon-band-v .mitsufuji_table_area .table_footnote .blue_link,
.hamon-band-s .mitsufuji_table_area .table_footnote .blue_link {
  color: var(--light-blue);
  text-decoration: underline;
}
.hamon-band-n .mitsufuji_table_area .table_footnote .blue_link:hover,
.hamon-band-v .mitsufuji_table_area .table_footnote .blue_link:hover,
.hamon-band-s .mitsufuji_table_area .table_footnote .blue_link:hover {
  text-decoration: none;
}
.hamon-band-n .spec_notes,
.hamon-band-v .spec_notes,
.hamon-band-s .spec_notes {
  margin-top: 1.5rem;
}
.hamon-band-n .spec_notes p,
.hamon-band-v .spec_notes p,
.hamon-band-s .spec_notes p {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--black);
  margin: 0 0 0.5rem 0;
  font-weight: 500;
}
.hamon-band-n .opt_title_gradient,
.hamon-band-v .opt_title_gradient,
.hamon-band-s .opt_title_gradient {
  background: linear-gradient(to right, #dbdbdb, rgba(217, 217, 217, 0));
  padding: 8px 16px;
  margin-bottom: 2rem;
}
.hamon-band-n .opt_title_gradient .title_text,
.hamon-band-v .opt_title_gradient .title_text,
.hamon-band-s .opt_title_gradient .title_text {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  line-height: 1.4;
}
.hamon-band-n.hamon-band-s .addpage_icons_flex, .hamon-band-n.hamon-band-n .addpage_icons_flex,
.hamon-band-v.hamon-band-s .addpage_icons_flex,
.hamon-band-v.hamon-band-n .addpage_icons_flex,
.hamon-band-s.hamon-band-s .addpage_icons_flex,
.hamon-band-s.hamon-band-n .addpage_icons_flex {
  max-width: 700px;
}
.hamon-band-n,
.hamon-band-v,
.hamon-band-s {
  /* hamon band S Specific Styles */
}
.hamon-band-n.hamon-band-s .alert_steps_container,
.hamon-band-v.hamon-band-s .alert_steps_container,
.hamon-band-s.hamon-band-s .alert_steps_container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 3rem;
  margin-bottom: 3rem;
  width: 100%;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card {
  width: 23rem;
  flex: 0 0 23rem;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img {
  width: 23rem;
  height: 23rem;
  margin-bottom: 1.5rem;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img img,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img img,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body {
  color: #161616;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_title,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_title,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.4rem;
  margin-bottom: 1rem;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list {
  list-style-type: disc;
  padding-left: 2rem;
  margin: 0;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li {
  list-style-type: disc;
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-bottom: 0.8rem;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li:last-child,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li:last-child,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body .alert_step_list li:last-child {
  margin-bottom: 0;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_arrow,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_arrow,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_arrow {
  width: 5rem;
  height: 5rem;
  position: relative;
  align-self: center;
  flex: 0 0 5rem;
}
.hamon-band-n.hamon-band-s .alert_steps_container .alert_step_arrow::after,
.hamon-band-v.hamon-band-s .alert_steps_container .alert_step_arrow::after,
.hamon-band-s.hamon-band-s .alert_steps_container .alert_step_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 1.6rem solid #D9D9D9;
}
@media screen and (max-width: 765px) {
  .hamon-band-n.hamon-band-s .alert_steps_container,
  .hamon-band-v.hamon-band-s .alert_steps_container,
  .hamon-band-s.hamon-band-s .alert_steps_container {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card,
  .hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card,
  .hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card {
    width: 100%;
    max-width: 32rem;
  }
  .hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img,
  .hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img,
  .hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_img {
    width: 100%;
    height: auto;
    max-width: 23rem;
    margin: 0 auto 1.5rem auto;
  }
  .hamon-band-n.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body,
  .hamon-band-v.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body,
  .hamon-band-s.hamon-band-s .alert_steps_container .alert_step_card .alert_step_body {
    max-width: 28rem;
    margin: 0 auto;
  }
  .hamon-band-n.hamon-band-s .alert_steps_container .alert_step_arrow,
  .hamon-band-v.hamon-band-s .alert_steps_container .alert_step_arrow,
  .hamon-band-s.hamon-band-s .alert_steps_container .alert_step_arrow {
    width: 5rem;
    height: 3rem;
    flex: 0 0 3rem;
  }
  .hamon-band-n.hamon-band-s .alert_steps_container .alert_step_arrow::after,
  .hamon-band-v.hamon-band-s .alert_steps_container .alert_step_arrow::after,
  .hamon-band-s.hamon-band-s .alert_steps_container .alert_step_arrow::after {
    border-left: 1.2rem solid transparent;
    border-right: 1.2rem solid transparent;
    border-top: 1.6rem solid #D9D9D9;
    border-bottom: 0;
  }
}
.hamon-band-n.hamon-band-s .alert_note,
.hamon-band-v.hamon-band-s .alert_note,
.hamon-band-s.hamon-band-s .alert_note {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #161616;
  margin-top: 1.5rem;
  font-weight: 500;
}

/* ==========================================================================
   A-space Multi-Viewer Page Styles
   ========================================================================== */
.a-spae-multi-viewer .catchphrase_kv_group {
  text-align: center;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .catchphrase_kv_group .catchphrase_title {
  margin-bottom: 2rem;
}
.a-spae-multi-viewer .catchphrase_kv_group .catchphrase_title h2 {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .catchphrase_kv_group .catchphrase_title h2 {
    font-size: 1.8rem;
  }
}
.a-spae-multi-viewer .a_space_kv_area {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.a-spae-multi-viewer .a_space_kv_area .kv_img {
  width: 100%;
  height: auto;
  display: block;
}
.a-spae-multi-viewer .a_space_kv_area .kv_logo {
  position: absolute;
  top: 17%;
  left: 0;
  width: 41.5%;
  max-width: 33.2rem;
  height: auto;
  pointer-events: none;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .a_space_kv_area .kv_logo {
    position: static;
    width: 80%;
    max-width: 25rem;
    margin: 1.5rem auto 0 auto;
    display: block;
  }
}
.a-spae-multi-viewer .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.a-spae-multi-viewer .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .section_title_renew .title_text {
    font-size: 1.8rem;
  }
}
.a-spae-multi-viewer .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.a-spae-multi-viewer .intro_lead_text {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  color: var(--black);
  margin-bottom: 2.5rem;
}
.a-spae-multi-viewer .intro_lead_text u {
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .intro_lead_text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.a-spae-multi-viewer .problem_list_renew {
  list-style: none;
  padding: 0;
  margin: 0 0 3rem 0;
}
.a-spae-multi-viewer .problem_list_renew li {
  margin-bottom: 1.5rem;
  padding-left: 3rem;
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .problem_list_renew li {
    font-size: 1.6rem;
    padding-left: 2.5rem;
  }
}
.a-spae-multi-viewer .problem_list_renew li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 1.8rem;
  height: 1.8rem;
  background-color: #33A9E6;
  border-radius: 50%;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .problem_list_renew li::before {
    width: 1.4rem;
    height: 1.4rem;
    top: 0.5rem;
  }
}
.a-spae-multi-viewer .problem_summary {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--black);
  margin-top: 2rem;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .problem_summary u {
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .problem_summary {
    font-size: 1.6rem;
  }
}
.a-spae-multi-viewer .merit_list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .merit_list .merit_item {
  width: 100%;
  background-color: #fff;
  overflow: hidden;
}
.a-spae-multi-viewer .merit_list .merit_header {
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1rem 1.6rem;
}
.a-spae-multi-viewer .merit_list .merit_header .merit_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  margin: 0;
}
.a-spae-multi-viewer .merit_list .merit_body {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 1.6rem 0;
}
.a-spae-multi-viewer .merit_list .merit_body .merit_icon {
  flex: 0 0 4rem;
  width: 4rem;
  height: 4rem;
  border: 2px solid #a4a2a2;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0.4rem;
  background-color: #fff;
}
.a-spae-multi-viewer .merit_list .merit_body .merit_icon img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.a-spae-multi-viewer .merit_list .merit_body .merit_desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  color: #161616;
  flex-grow: 1;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .merit_list {
    gap: 1.6rem;
  }
  .a-spae-multi-viewer .merit_list .merit_body {
    gap: 1.2rem;
    padding: 1.2rem;
  }
  .a-spae-multi-viewer .merit_list .merit_body .merit_icon {
    flex: 0 0 3.6rem;
    width: 3.6rem;
    height: 3.6rem;
  }
  .a-spae-multi-viewer .merit_list .merit_body .merit_desc {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.a-spae-multi-viewer .features_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .features_grid .feature_card {
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.a-spae-multi-viewer .features_grid .feature_header {
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1rem 1.6rem;
}
.a-spae-multi-viewer .features_grid .feature_header .feature_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  margin: 0;
  line-height: 1.4;
}
.a-spae-multi-viewer .features_grid .feature_body {
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
}
.a-spae-multi-viewer .features_grid .feature_body .feature_desc {
  font-size: 1.6rem;
  font-weight: bold;
  color: #161616;
  line-height: 1.5;
  width: 100%;
  margin-bottom: 2rem;
  text-align: left;
}
.a-spae-multi-viewer .features_grid .feature_body .feature_img {
  width: 20rem;
  height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.a-spae-multi-viewer .features_grid .feature_body .feature_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .features_grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .a-spae-multi-viewer .features_grid .feature_body {
    padding: 1.5rem;
  }
  .a-spae-multi-viewer .features_grid .feature_body .feature_desc {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
  .a-spae-multi-viewer .features_grid .feature_body .feature_img {
    width: 18rem;
    height: 18rem;
  }
}
.a-spae-multi-viewer .overview_image_container {
  padding: 0 0 3rem 0;
}
.a-spae-multi-viewer .overview_image_container img {
  max-width: 100%;
  height: auto;
  display: block;
}
.a-spae-multi-viewer .workflow_list_renew {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  position: relative;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .workflow_list_renew .workflow_item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 20px solid #D9D9D9;
  position: absolute;
  bottom: -2.8rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .workflow_list_renew .workflow_item:not(:last-child)::after {
    left: 0;
    right: 0;
    bottom: -2.5rem;
    transform: initial;
    margin: auto;
  }
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item .item_header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 32rem;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .workflow_list_renew .workflow_item .item_header {
    width: 100%;
  }
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item .item_header .num {
  width: 4.5rem;
  height: 4.5rem;
  background-color: #33A9E6;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.8rem;
  font-family: "Outfit", sans-serif;
  flex-shrink: 0;
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item .item_header .label {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.3;
}
.a-spae-multi-viewer .workflow_list_renew .workflow_item .item_content {
  flex-grow: 1;
  background: #F6F6F6;
  border-radius: 10px;
  padding: 1.2rem 2rem;
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--black);
  min-height: 5.5rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .workflow_list_renew .workflow_item .item_content {
    width: 100%;
    box-sizing: border-box;
    min-height: auto;
  }
}
.a-spae-multi-viewer .industry_scenes {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.a-spae-multi-viewer .industry_scenes .industry_item {
  display: flex;
  gap: 3rem;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .industry_scenes .industry_item {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 1.5rem;
  }
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_icon {
  flex: 0 0 16rem;
  width: 16rem;
  height: 16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  box-sizing: border-box;
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_icon img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .industry_scenes .industry_item .industry_icon {
    margin: 0 auto;
  }
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_text {
  flex-grow: 1;
  width: 100%;
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_header {
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 0.8rem 1.6rem;
  margin-bottom: 1.2rem;
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_header .industry_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #161616;
  margin: 0;
}
.a-spae-multi-viewer .industry_scenes .industry_item .industry_desc {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #161616;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .industry_scenes .industry_item .industry_desc {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.a-spae-multi-viewer .pricing_group {
  margin-bottom: 5rem;
}
.a-spae-multi-viewer .pricing_group .pricing_lead {
  text-align: left;
  font-size: 2rem;
  font-weight: bold;
  color: #161616;
  margin-bottom: 2.4rem;
}
.a-spae-multi-viewer .pricing_group .pricing_cards {
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  margin-bottom: 2rem;
}
.a-spae-multi-viewer .pricing_group .pricing_cards .pricing_card {
  background-color: #e7f5fd;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6rem;
}
.a-spae-multi-viewer .pricing_group .pricing_cards .pricing_card_inner {
  font-size: 2.2rem;
  font-weight: bold;
  color: #161616;
  text-align: center;
}
.a-spae-multi-viewer .pricing_group .pricing_note {
  font-size: 1.4rem;
  color: #161616;
  text-align: left;
  margin-bottom: 2.4rem;
  font-weight: 500;
}
.a-spae-multi-viewer .pricing_group .pricing_contact {
  font-size: 2rem;
  font-weight: bold;
  color: #161616;
  margin-top: 1rem;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .a-spae-multi-viewer .pricing_group .pricing_lead {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
    text-align: left;
  }
  .a-spae-multi-viewer .pricing_group .pricing_lead br {
    display: none;
  }
  .a-spae-multi-viewer .pricing_group .pricing_cards {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .a-spae-multi-viewer .pricing_group .pricing_cards .pricing_card_inner {
    font-size: 1.8rem;
  }
  .a-spae-multi-viewer .pricing_group .pricing_contact {
    font-size: 1.8rem;
  }
}

/* ==========================================================================
   Common / Global Styles
   ========================================================================== */
.product_list .product_thumb a .logo.gray {
  background-color: #6F6F6F;
}

/* ==========================================================================
   Page specific overrides
   ========================================================================== */
.health_management-renew .group_category_title {
  max-width: 80rem;
  width: 100%;
  margin: 4rem auto 2.4rem auto !important;
}

/* ==========================================================================
   MOBOTIX Page Styles
   ========================================================================== */
.mobotix .section_title_renew {
  margin-bottom: 2.4rem;
  position: relative;
}
.mobotix .section_title_renew .title_text {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.4;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 765px) {
  .mobotix .section_title_renew .title_text {
    font-size: 1.8rem;
  }
}
.mobotix .section_title_renew::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #2b30b2 0%, #42c3b3 100%);
  margin-top: 0.5rem;
}
.mobotix .lead_area {
  margin-bottom: 3rem;
}
.mobotix .lead_area .lead_text {
  font-size: 1.6rem;
  line-height: 2;
  color: var(--black);
}
.mobotix .mobotix_kv_image {
  margin-top: 4rem;
  margin-bottom: 6rem;
  text-align: center;
}
.mobotix .mobotix_kv_image img {
  width: 100%;
  height: auto;
  max-width: 600px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .mobotix .mobotix_kv_image {
    margin-top: 3rem;
    margin-bottom: 4rem;
  }
}
.mobotix .problem_cards_container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  margin-top: 4rem;
  margin-bottom: 2.4rem;
}
.mobotix .problem_cards_container .problem_card {
  background-color: #f2f2f2;
  padding: 1.2rem;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 5rem;
  box-sizing: border-box;
}
.mobotix .problem_cards_container .problem_card .problem_text {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .mobotix .problem_cards_container .problem_card .problem_text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 765px) {
  .mobotix .problem_cards_container {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 3rem;
  }
}
.mobotix .problem_bottom_text {
  font-size: 2.2rem !important;
  font-weight: bold !important;
  color: var(--black);
  margin-top: 2.5rem;
  margin-bottom: 6rem;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .mobotix .problem_bottom_text {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}
.mobotix .solution_overview_area {
  margin-top: 4rem;
  margin-bottom: 6rem;
  text-align: center;
}
.mobotix .solution_overview_area .overview_img {
  width: 100%;
  height: auto;
  max-width: 1000px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .mobotix .solution_overview_area {
    margin-top: 3rem;
    margin-bottom: 4rem;
  }
}
.mobotix .solution_box {
  background-color: #fff;
  box-sizing: border-box;
  margin-bottom: 6rem;
}
.mobotix .solution_box:last-of-type {
  margin-bottom: 0;
}
.mobotix .solution_box .solution_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1.2rem 1.6rem;
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.4;
}
.mobotix .solution_box .solution_main_row {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  margin-bottom: 4rem;
}
.mobotix .solution_box .solution_main_row .solution_img_col {
  flex: 0 0 286px;
}
.mobotix .solution_box .solution_main_row .solution_img_col img {
  width: 100%;
  height: auto;
  display: block;
}
.mobotix .solution_box .solution_main_row .solution_text_col {
  flex: 1;
}
.mobotix .solution_box .solution_main_row .solution_text_col .solution_icons {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 765px) {
  .mobotix .solution_box .solution_main_row .solution_text_col .solution_icons {
    justify-content: center;
  }
}
.mobotix .solution_box .solution_main_row .solution_text_col .solution_icons .sol_icon {
  height: 4.5rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.mobotix .solution_box .solution_main_row .solution_text_col .solution_intro_text {
  font-size: 1.6rem;
  line-height: 1.9;
  color: var(--black);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .mobotix .solution_box .solution_main_row {
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 3rem;
  }
  .mobotix .solution_box .solution_main_row .solution_img_col {
    flex: initial;
    width: 100%;
    margin: 0 auto;
  }
}
.mobotix .solution_box .solution_details_row {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.mobotix .solution_box .solution_details_row .solution_detail_item .detail_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  margin-top: 0;
  margin-bottom: 1.5rem;
  position: relative;
  padding-left: 2.5rem;
}
.mobotix .solution_box .solution_details_row .solution_detail_item .detail_title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #33a9e6;
  border-radius: 50%;
}
@media screen and (max-width: 765px) {
  .mobotix .solution_box .solution_details_row .solution_detail_item .detail_title {
    font-size: 1.6rem;
  }
}
.mobotix .solution_box .solution_details_row .solution_detail_item .detail_desc {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .mobotix .solution_box .solution_details_row {
    gap: 2.5rem;
    padding-top: 3rem;
  }
}
.mobotix .solution_notes {
  margin-top: 1em;
}
.mobotix .solution_notes p {
  font-size: 1.6rem;
}
.mobotix .feature_box {
  background-color: #fff;
  margin-bottom: 4rem;
  width: 100%;
  box-sizing: border-box;
}
.mobotix .feature_box .feature_box_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1.2rem 1.6rem;
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.4;
}
.mobotix .feature_box .feature_box_body .feature_desc {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #161616;
  margin-top: 0;
  margin-bottom: 2rem;
}
.mobotix .feature_box .feature_middle_image {
  margin-top: 2.5rem;
  margin-bottom: 2rem;
  text-align: center;
}
.mobotix .feature_box .feature_middle_image .spec_middle_img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.mobotix .feature_box .feature_ndaa_flex {
  display: flex;
  gap: 4rem;
  align-items: center;
}
.mobotix .feature_box .feature_ndaa_flex .ndaa_img_col {
  flex: 0 0 146px;
}
.mobotix .feature_box .feature_ndaa_flex .ndaa_img_col img {
  width: 100%;
  height: auto;
  display: block;
}
.mobotix .feature_box .feature_ndaa_flex .ndaa_text_col {
  flex: 1;
}
.mobotix .feature_box .feature_ndaa_flex .ndaa_text_col .feature_desc {
  margin: 0;
}
@media screen and (max-width: 765px) {
  .mobotix .feature_box .feature_ndaa_flex {
    flex-direction: column;
    gap: 2rem;
    align-items: center;
  }
  .mobotix .feature_box .feature_ndaa_flex .ndaa_img_col {
    flex: initial;
    width: 200px;
  }
}
.mobotix .system_config_box .system_config_img {
  text-align: center;
  margin-bottom: 2.5rem;
}
.mobotix .system_config_box .system_config_img img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.mobotix .spec_item_box {
  margin-bottom: 6rem;
  box-sizing: border-box;
}
.mobotix .spec_item_box .spec_item_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--black);
  background: linear-gradient(90deg, #dbdbdb 0%, rgba(217, 217, 217, 0) 100%);
  padding: 1.2rem 1.6rem;
  margin-top: 0;
  margin-bottom: 3rem;
  line-height: 1.4;
}
.mobotix .spec_item_box .spec_item_visual_part {
  text-align: center;
  margin-bottom: 4rem;
}
.mobotix .spec_item_box .spec_item_visual_part .product_spec_img {
  width: 100%;
  height: auto;
  max-width: 300px;
  display: block;
  margin: 0 auto 2.5rem auto;
}
.mobotix .spec_item_box .spec_item_visual_part .spec_item_icons {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
.mobotix .spec_item_box .spec_item_visual_part .spec_item_icons .spec_icon {
  height: 4.5rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.mobotix .spec_item_box .spec_item_content_part .spec_item_lead_text {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--black);
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.6;
  position: relative;
  padding-left: 2rem;
}
.mobotix .spec_item_box .spec_item_content_part .spec_item_lead_text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #0092e5;
}
.mobotix .spec_item_box .spec_details_table_wrapper .spec_table {
  margin-bottom: 1.5rem;
  border-collapse: collapse;
  width: 100%;
}
.mobotix .spec_item_box .spec_details_table_wrapper .spec_table th {
  width: 30%;
  background-color: #fff;
  font-size: 1.4rem;
  padding: 0.5rem !important;
  text-align: center;
  border: 1px solid #ccc;
  border-left: none;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .mobotix .spec_item_box .spec_details_table_wrapper .spec_table th {
    width: 100%;
    display: block;
    box-sizing: border-box;
    background-color: #eee;
    border: 1px solid #ccc !important;
    border-top: none !important;
  }
}
.mobotix .spec_item_box .spec_details_table_wrapper .spec_table td {
  font-size: 1.4rem;
  padding: 0.5rem !important;
  text-align: left;
  border: 1px solid #ccc;
  border-left: none;
  border-right: none;
  background-color: transparent;
  background-color: #fff !important;
  font-weight: bold !important;
}
@media screen and (max-width: 765px) {
  .mobotix .spec_item_box .spec_details_table_wrapper .spec_table td {
    width: 100%;
    display: block;
    box-sizing: border-box;
    border: 1px solid #ccc !important;
    border-top: none !important;
  }
}
.mobotix .spec_item_box .spec_details_table_wrapper .spec_table tr {
  border: none;
}
@media screen and (max-width: 765px) {
  .mobotix .spec_item_box .spec_details_table_wrapper .spec_table tr:first-child th:first-child {
    border-top: 1px solid #ccc !important;
  }
}
.mobotix .spec_item_box .spec_note {
  font-size: 1.4rem;
  margin: 0;
}
.mobotix .specs_bottom_note {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--black);
  margin-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  .mobotix .specs_bottom_note {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }
}

.sub_page .price_item_wrap {
  max-width: 1000px;
  margin-bottom: 4rem;
}
.sub_page .price_item_wrap .sub_heading_wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.sub_page .price_item_wrap .sub_heading_wrap .blue_square {
  width: 10px;
  height: 10px;
  background-color: var(--light-blue);
  flex-shrink: 0;
}
.sub_page .price_item_wrap .sub_heading_wrap .sub_heading {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 !important;
  background: none !important;
  padding: 0 !important;
}
.sub_page .price_item_wrap .sub_heading_wrap .required_tag {
  background-color: var(--accent-red);
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 3px;
}
.sub_page .price_item_wrap .notes {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #000;
  margin-bottom: 1.6rem;
  font-weight: 500;
}
.sub_page .price_item_wrap .box_secondary {
  border-bottom: none;
  flex: 1 1 auto;
  width: 100%;
  margin-bottom: 2rem;
}
.sub_page .price_item_wrap .box_secondary span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 500;
}
.sub_page .price_item_wrap .box_secondary .table_head,
.sub_page .price_item_wrap .box_secondary .table_data_row {
  border: none;
  display: flex;
}
.sub_page .price_item_wrap .box_secondary .table_head .head01,
.sub_page .price_item_wrap .box_secondary .table_head .head02,
.sub_page .price_item_wrap .box_secondary .table_head .data01,
.sub_page .price_item_wrap .box_secondary .table_head .data02,
.sub_page .price_item_wrap .box_secondary .table_data_row .head01,
.sub_page .price_item_wrap .box_secondary .table_data_row .head02,
.sub_page .price_item_wrap .box_secondary .table_data_row .data01,
.sub_page .price_item_wrap .box_secondary .table_data_row .data02 {
  display: contents;
}
.sub_page .price_item_wrap .box_secondary .table_head span,
.sub_page .price_item_wrap .box_secondary .table_data_row span {
  border-right: 1px solid #d9d9d9;
  border-top: none;
  border-bottom: none;
  box-sizing: border-box;
}
.sub_page .price_item_wrap .box_secondary .table_head span.price,
.sub_page .price_item_wrap .box_secondary .table_data_row span.price {
  border-right: 0;
}
.sub_page .price_item_wrap .box_secondary .table_head {
  border-bottom: 1px solid #d9d9d9;
  display: flex;
  border-top: 1px solid #D9D9D9;
}
.sub_page .price_item_wrap .box_secondary .table_head span {
  background-color: #e7f5fd;
  font-weight: bold;
  color: #000;
}
.sub_page .price_item_wrap .box_secondary .table_head .code::before {
  content: "商品コード";
}
.sub_page .price_item_wrap .box_secondary .table_head .name::before {
  content: "商品名";
}
.sub_page .price_item_wrap .box_secondary .table_head .volume::before {
  content: "数量";
}
.sub_page .price_item_wrap .box_secondary .table_head .unit::before {
  content: "単位";
}
.sub_page .price_item_wrap .box_secondary .table_head .price::before {
  content: "参考販売価格（税別）";
}
.sub_page .price_item_wrap .box_secondary .table_head .site::before {
  content: "通販サイト";
}
.sub_page .price_item_wrap .box_secondary .table_data_row {
  border-bottom: 1px solid #d9d9d9;
  display: flex;
}
.sub_page .price_item_wrap .box_secondary .table_data_row span {
  background-color: #fff;
  color: #000;
}
.sub_page .price_item_wrap .box_secondary .code {
  flex: 0 0 13%;
}
.sub_page .price_item_wrap .box_secondary .name {
  flex: 0 0 43%;
}
.sub_page .price_item_wrap .box_secondary .name.data {
  justify-content: flex-start;
  padding-left: 10px;
}
.sub_page .price_item_wrap .box_secondary .volume {
  flex: 0 0 10%;
}
.sub_page .price_item_wrap .box_secondary .unit {
  flex: 0 0 10%;
}
.sub_page .price_item_wrap .box_secondary .price {
  flex: 0 0 24%;
}
.sub_page .price_item_wrap .box_secondary .price.data {
  justify-content: flex-end;
}
.sub_page .price_item_wrap .box_secondary .price.data::after {
  content: "円";
}
.sub_page .price_item_wrap .box_secondary .price.open-price::after {
  content: "" !important;
}
.sub_page .price_item_wrap .box_secondary .site {
  flex: 0 0 24%;
}
.sub_page .price_item_wrap .box_secondary .site .buy_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #030546;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  padding: 0.8rem 1.5rem;
  border-radius: 10px;
  transition: background-color 0.3s;
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}
.sub_page .price_item_wrap .box_secondary .site .buy_btn:hover {
  background-color: #153c8a;
}
.sub_page .price_item_wrap .box_secondary .site .buy_btn::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../images/common/new_window_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  flex-shrink: 0;
}
@media screen and (min-width: 766px) {
  .sub_page .price_item_wrap .box_secondary.is-merged {
    display: grid;
    grid-template-columns: 13% 43% 44%;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .table_head,
  .sub_page .price_item_wrap .box_secondary.is-merged .table_data_row {
    display: contents;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .table_head span,
  .sub_page .price_item_wrap .box_secondary.is-merged .table_data_row span {
    border-bottom: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .table_head span.price,
  .sub_page .price_item_wrap .box_secondary.is-merged .table_data_row span.price {
    border-right: none;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .table_head span {
    border-top: 1px solid #d9d9d9;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .rowspan-2 {
    grid-row: span 2;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .rowspan-3 {
    grid-row: span 3;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .rowspan-4 {
    grid-row: span 4;
  }
  .sub_page .price_item_wrap .box_secondary.is-merged .rowspan-hidden {
    display: none !important;
  }
}
@media screen and (max-width: 765px) {
  .sub_page .price_item_wrap .box_secondary {
    border: none;
  }
  .sub_page .price_item_wrap .box_secondary .table_head {
    display: none;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row {
    flex-direction: column;
    border: 1px solid #d9d9d9;
    margin-bottom: 2rem;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .data01,
  .sub_page .price_item_wrap .box_secondary .table_data_row .data02 {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row span {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.6rem;
    box-sizing: border-box;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row span::before {
    display: block;
    background: transparent;
    padding: 0;
    margin-bottom: 0.5rem;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: left;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row span:last-child {
    border-bottom: none !important;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row span {
    font-size: 1.4rem;
    align-items: center;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row span::before {
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 1rem;
    background-color: #e7f5fd;
    box-sizing: border-box;
    text-align: center;
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .code::before {
    content: "商品コード";
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .name::before {
    content: "商品名";
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .volume::before {
    content: "数量";
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .unit::before {
    content: "単位";
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .price::before {
    content: "参考販売価格（税別）";
  }
  .sub_page .price_item_wrap .box_secondary .table_data_row .site::before {
    content: "通販サイト";
  }
}

/* デジタルカタログのタイトル調整 */
.catalog_list .list_item .title {
  min-height: 5.2em;
  line-height: 1.5;
}/*# sourceMappingURL=common.css.map */