:root {
  --color_primary: #736ece;
  --color_secondary: #00ad73;
  --color_tertiary: #323232;
  --color_red: #d54a46;
  --color_gray: #808080;
  --color_font: #000000;
  --color_border: #e1e1e1;
  --container: 1100px;
  --wrapper: 840px;
  --contents: 720px;
  --header_pc: 140px;
  --header_sp: 70px;
  --logo_pc: 100px;
  --logo_sp: 44px;
  --gap_pc: 33px;
  --gap_sp: 22px;
}

::selection {
  background-color: var(--color_primary);
  color: #ffffff;
}

* {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -webkit-appearance: none;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  color: var(--color_font);
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt";
  font-size: 1.7rem;
  font-smoothing: antialiased;
  font-weight: 400;
  height: 100%;
  line-height: 1;
  overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
  text-size-adjust: 100%;
  width: 100%;
}

.body {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  transition: all 0.6s;
  left: 0;
}

.google-fonts {
  font-family: "Mulish", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

a,
a:hover,
a:active,
a:visited {
  color: inherit;
  text-decoration: none;
}

p {
  line-height: 1.8;
}

b,
em,
strong {
  font-weight: 700;
}

li {
  list-style: none;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  color: var(--color_font);
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

input,
select,
textarea {
  border: solid 1px var(--color_border);
  box-sizing: border-box;
}

p {
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.75;
}

.mt0 {
  margin-top: 0 !important;
}

.mt22 {
  margin-top: 22px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-white {
  color: #ffffff !important;
}

.text-red {
  color: var(--color_red) !important;
}

.text-font {
  color: var(--color_font) !important;
}

.text-primary {
  color: var(--color_primary) !important;
}

section {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.container {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  max-width: calc(var(--container) + var(--gap_pc) * 2);
  padding: 0 var(--gap_pc);
  margin: 0 auto;
}

.container.no_padding {
  padding: 0;
}

.wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  max-width: var(--wrapper);
  padding: 0;
  margin: 0 auto;
}

.contents {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  min-height: 300px;
}

header {
  overflow: visible;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header_pc);
  padding: 0 0 0 var(--gap_pc);
  background-color: #ffffff;
  transition: all 0.6s;
  z-index: 11;
  display: flex;
  align-items: center;
  justify-content: space-between;
  filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.09));
}

.home header {
  filter: none;
}

.header {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: var(--header_pc);
}

.logo {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  display: block;
}

.logo img {
  overflow: hidden;
  position: relative;
  width: auto;
  height: var(--logo_pc);
  display: block;
}

nav {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  display: flex;
  margin-left: auto;
}

ul.nav-header {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  display: flex;
  gap: 1em;
  margin-right: var(--gap_pc);
}

ul.nav-header li {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

ul.nav-header a {
  position: relative;
}

ul.nav-header a::after {
  background-color: var(--color_primary);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
  width: 100%;
}

ul.nav-header a.active:after,
ul.nav-header a:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.nav-box {
  overflow: hidden;
  position: absolute;
  top: calc((var(--header_sp) - 44px) / 2);
  right: var(--gap_sp);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--color_primary);
  transition: all 0.6s;
  display: none;
}

.nav-btn {
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: 11px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 22px;
  height: 22px;
  background-color: inherit;
  display: block;
}

.nav-btn::after,
.nav-btn::before {
  position: absolute;
  top: calc(50% - 1px);
  content: "";
  width: 22px;
  height: 2px;
  display: block;
  background: #fff;
}

.nav-btn::before {
  transform: translateY(-8px);
  box-shadow: 0 8px 0 #fff;
  animation: top 0.6s forwards;
}

.nav-btn::after {
  transform: translateY(8px);
  animation: bottom 0.6s forwards;
}

.nav-btn.is-active::before {
  animation: top-active 0.6s forwards;
}

.nav-btn.is-active::after {
  animation: bottom-active 0.6s forwards;
}

.nav-btn.load::before,
.nav-btn.load::after {
  animation: none;
}

@keyframes top {
  0% {
    box-shadow: none;
    transform: translateY(0px) rotate(45deg);
  }

  50% {
    box-shadow: none;
    transform: translateY(0px) rotate(0);
  }

  100% {
    transform: translateY(-8px) rotate(0);
  }
}

@keyframes top-active {
  0% {
    transform: translateY(-8px) rotate(0);
  }

  50% {
    box-shadow: none;
    transform: translateY(0px) rotate(0);
  }

  100% {
    box-shadow: none;
    transform: translateY(0px) rotate(45deg);
  }
}

@keyframes bottom {
  0% {
    box-shadow: none;
    transform: translateY(0px) rotate(-45deg);
  }

  50% {
    box-shadow: none;
    transform: translateY(0px) rotate(0);
  }

  100% {
    transform: translateY(8px) rotate(0);
  }
}

@keyframes bottom-active {
  0% {
    transform: translateY(8px) rotate(0);
  }

  50% {
    box-shadow: none;
    transform: translateY(0px) rotate(0);
  }

  100% {
    box-shadow: none;
    transform: translateY(0px) rotate(-45deg);
  }
}

.slideshow-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}

.slideshow {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: calc(100vh - var(--header_pc));
}

.slideshow span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* home */

.header-contact {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}

.header-contact-wrapper {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 11px;
}

.member-recruitment-logo {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 136.2736px;
  display: block;
  padding-right: 33px;
  margin-top: 22px;
  transition: all 0.3s;
}

.member-recruitment-logo:hover {
  opacity: 0.5;
}

.header-contact-banner {
  overflow: hidden;
  position: relative;
  width: 460px;
  height: 140px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0 22px 22px 0;
  margin-top: 55px;
  margin-bottom: 33px;
}

.mask30 {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.mask50 {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.header-contact-banner-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 460px;
  height: auto;
  padding: 11px 0;
  color: #ffffff;
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}

.header-contact-banner-link {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
}

.header-contact-banner-link-tel {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 195px;
  height: 45px;
  background-color: #fff;
  border: solid 2px #fff;
  box-sizing: border-box;
  border-radius: 22.5px;
  color: var(--color_red);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  margin: 0 5.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-contact-banner-link-tel img {
  overflow: hidden;
  position: relative;
  width: 30px;
  height: 30px;
  margin-right: 5.5px;
}

.header-contact-banner-link-btn {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 195px;
  height: 45px;
  background-color: transparent;
  border: solid 2px #fff;
  box-sizing: border-box;
  border-radius: 22.5px;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  margin: 0 5.5px;
}

.slogan {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: auto;
  padding: 41px 0 0 33px;
  text-align: center;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}

.vertical-top {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 175px;
  background-color: var(--color_primary);
}

.vertical-bottom {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 175px;
  background-color: var(--color_primary);
}

.key-visual {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 670px;
}

.list-slideshow {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 670px;
}

.list-slideshow ul.slick-dots {
  overflow: hidden;
  position: absolute;
  width: max-content;
  height: 3px;
  bottom: 33px;
  left: 33px;
  display: flex;
  gap: 5.5px;
  justify-content: flex-start;
}

.list-slideshow ul.slick-dots li {
  overflow: hidden;
  position: relative;
  width: 60px;
  height: 3px;
  background-color: #ffffff;
  opacity: 0.5;
  text-indent: -9999px;
}

.list-slideshow ul.slick-dots li.slick-active {
  opacity: 1;
}

.slideshow {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 670px;
}

.slideshow span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.overview {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 33px 0 33px 0;
  background-color: var(--color_secondary);
  color: #ffffff;
  text-align: center;
}

.overview-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 22px;
}

.overview-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}

section {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 55px 0;
}

.news-title {
  overflow: hidden;
  position: relative;
  width: 280px;
  height: auto;
  float: left;
}

ul.news-list {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  float: none;
  margin-left: 280px;
}

ul.news-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 22px 0;
  border-bottom: solid 1px var(--color_border);
  box-sizing: border-box;
}

ul.news-list li:first-child {
  border-top: solid 1px var(--color_border);
}

h3 {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 7.5rem;
  font-weight: 900;
  padding-left: 33px;
  line-height: 1.25;
}

h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  background-color: var(--color_primary);
}

h4 {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  line-height: 1.5;
  font-size: 2rem;
  font-weight: 400;
  padding-top: 8px;
  padding-left: 35px;
}

.btn-default {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 180px;
  height: 60px;
  text-align: center;
  background-color: #ffffff;
  border: solid 2px var(--color_primary);
  border-radius: 30px;
  color: var(--color_primary);
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  transition: all 0.3s;
}

.btn-default:hover {
  background-color: var(--color_primary);
  color: #ffffff;
}

.btn-default.btn-news {
  position: absolute;
  bottom: 0;
  left: 0;
}

.news-info {
  overflow: hidden;
  position: relative;
  width: 228px;
  height: auto;
  float: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
}

.label {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 120px;
  height: 30px;
  background-color: var(--color_primary);
  color: #ffffff;
  border: solid 2px var(--color_primary);
  border-radius: 15px;
  box-sizing: border-box;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.label:hover {
  background-color: #ffffff;
  color: var(--color_primary);
}

.label.operating-information {
  background-color: #5fc9d2;
  border: solid 2px #5fc9d2;
}

.label.operating-information:hover {
  background-color: #ffffff;
  color: #5fc9d2;
}

.label.technical-information {
  background-color: #0055a0;
  border: solid 2px #0055a0;
}

.label.technical-information:hover {
  background-color: #ffffff;
  color: #0055a0;
}

.label.adoption-information {
  background-color: #46c8a0;
  border: solid 2px #46c8a0;
}

.label.adoption-information:hover {
  background-color: #ffffff;
  color: #46c8a0;
}

.label.press-release {
  background-color: #f5a200;
  border: solid 2px #f5a200;
}

.label.press-release:hover {
  background-color: #ffffff;
  color: #f5a200;
}

time {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color_gray);
}

.news-list .news-list-title {
  overflow: visible;
  position: relative;
  width: auto;
  height: auto;
  float: none;
  margin-left: 250px;
  padding-top: 1px;
}

.news-list h5 {
  overflow: visible;
  position: relative;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.5;
  display: inline-block;
}

.news-list h5 span {
  overflow: visible;
  position: relative;
  display: block;
  padding-right: 50px;
}

.news-list h5 span::after {
  content: "";
  position: absolute;
  top: calc(50% - 22px);
  right: 0;
  width: 30px;
  height: 50px;
  background-image: url(../images/icon-pdf.png);
  background-size: contain;
  background-position: 100% 50%;
  background-repeat: no-repeat;
}

.background {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 100% auto;
  background-position: center 0%;
  background-repeat: no-repeat;
  opacity: 0.5;
}

.about-summary {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.75;
  margin-top: 55px;
}

ul.about-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.about-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin-top: 110px;
}

.about-wrapper {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: auto;
}

.about-number {
  overflow: hidden;
  position: relative;
  width: 70px;
  height: auto;
  float: left;
}

.about-number img {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 100px;
}

.about-title {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  float: none;
}

.about-title h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}

.about-title h5.color1 {
  color: #46c8a0;
}

.about-title h5.color2 {
  color: #5fc9d2;
}

.about-title h5.color3 {
  color: #3197ff;
}

.about-title h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.75;
  margin-bottom: 22px;
}

.about-image {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: auto;
}

.about-image img {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.btn-default.btn-about {
  margin-top: 55px;
}

section#movie {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  background-color: var(--color_tertiary);
}

.container.movie-container {
  max-width: 800px;
  margin: 0 auto;
  display: block;
}

.movie-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.movie-wrapper iframe {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sdgs-background {
  overflow: hidden;
  position: absolute;
  top: 55px;
  right: 0;
  width: 100%;
  height: auto;
  max-width: 1300px;
}

.sdgs-logo {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  max-width: 550px;
  margin-top: 44px;
  margin-bottom: 66px;
}

.sdgs-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
}

.sdgs-summary {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.75;
  margin-bottom: 154px;
}

.scroll-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding-left: calc((100% - var(--container)) / 2);
}

ul.sdgs-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  overflow-x: scroll;
}

ul.sdgs-list::-webkit-scrollbar {
  height: 14px;
}

ul.sdgs-list::-webkit-scrollbar-thumb {
  background: var(--color_primary);
  border-radius: 7px;
}

ul.sdgs-list::-webkit-scrollbar-track {
  background: var(--color_border);
  border-radius: 7px;
}

ul.sdgs-list li {
  overflow: hidden;
  position: relative;
  width: 690px;
  height: auto;
  padding-left: 33px;
  padding-right: 33px;
  margin-bottom: 88px;
  border-left: solid 1px var(--color_border);
  box-sizing: border-box;
  flex-shrink: 0;
}

.sdgs-image {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  display: flex;
  justify-content: flex-start;
  gap: 11px;
}

.sdgs-image img {
  overflow: hidden;
  position: relative;
  width: 200px;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.sdgs-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 22px 0 0 0;
}

.sdgs-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 11px;
}

.sdgs-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.footer-contact {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 55px 0;
}

.footer-contact-box {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 22px;
  box-sizing: border-box;
  text-align: center;
  padding-bottom: 55px;
}

.contact-background {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.contact-background-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 33px 0 22px 0;
  color: #ffffff;
  font-size: 6.8rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}

.contact-background-summary {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 0 22px 0;
  color: #ffffff;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
}

.contact-background-link {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
}

.contact-background-link-tel {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 260px;
  height: 60px;
  background-color: #fff;
  border: solid 2px #fff;
  box-sizing: border-box;
  border-radius: 30px;
  color: var(--color_red);
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  margin: 0 5.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-background-link-tel img {
  overflow: hidden;
  position: relative;
  width: 40px;
  height: 40px;
  margin-right: 5.5px;
}

.contact-background-link-btn {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 260px;
  height: 60px;
  background-color: transparent;
  border: solid 2px #fff;
  box-sizing: border-box;
  border-radius: 30px;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  margin: 0 5.5px;
}

footer {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 44px var(--gap_pc) 33px var(--gap_pc);
  background-color: var(--color_tertiary);
  color: #ffffff;
}

.footer-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}

.footer-logo {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 400px;
  height: auto;
}

.footer-logo img {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 44px;
  display: block;
  margin-bottom: 22px;
}

.company-name {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}

.address {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}

.company-info {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  display: flex;
  justify-content: flex-start;
  gap: 1em;
}

.footer-tel {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}

.footer-email {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}

.googlemap {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 4px;
}

.googlemap img {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 20px;
  display: block;
}

.footer-nav-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 800px;
  height: auto;
}

ul.footer-nav {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  column-count: 5;
  margin-top: 22px;
}

ul.footer-nav li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 33px;
}

.menu {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
  display: block;
  padding-right: 33px;
}

.menu::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 11px;
  width: 16px;
  height: 16px;
  background-image: url(../images/icon-menu.svg);
  background-size: 16px 16px;
  background-position: center 100%;
  background-repeat: no-repeat;
}

.footer-nav-submenu {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 0.5em;
}

.footer-nav-submenu span {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  color: #c1c1c1;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  display: block;
}

.hr {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-top: solid 1px var(--color_border);
  margin: 66px 0 11px 0;
}

.copyright-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  display: flex;
  justify-content: space-between;
}

.privacy {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
}

.copyright {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
}

.breadcrumbs {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 22px 0;
  text-align: right;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  color: #84959e;
}

.breadcrumbs span.current-item {
  color: var(--color_font);
}

.about-background {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 33px;
  margin-bottom: 33px;
}

.about-background span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.about-background img {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 132px;
}

.about-slogan {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 22px;
}

.about-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.75;
  margin-bottom: 22px;
}

.gallery {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin: 55px 0 88px 0;
}

.gallery-item {
  overflow: hidden;
  position: relative;
  width: 400px;
  height: 250px;
  margin: 0 5.5px;
}

.gallery-item img {
  overflow: hidden;
  position: relative;
  width: 400px;
  height: 250px;
  object-fit: cover;
}

.product-summary {
  margin-top: 33px;
}

ul.product-data {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 55px 33px;
  margin-top: 88px;
}

ul.product-data li {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
}

ul.product-data li:nth-last-child(-n + 2) {
  max-width: 240px;
}

.product-data-title {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: 40px;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.75;
  border: solid 2px var(--color_primary);
  border-radius: 20px;
  box-sizing: border-box;
  padding: 0 11px;
  color: var(--color_primary);
}

.product-data-content {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  color: var(--color_primary);
}

.product-data-content {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: end;
}

.product-data-number {
  overflow: hidden;
  position: relative;
  width: 160px;
  text-align: right;
  height: auto;
  font-family: "Barlow", serif;
  font-size: 15rem;
  font-weight: 400;
  color: var(--color_primary);
}

ul.product-data li:nth-child(2) .product-data-number {
  width: 80px;
}

.product-data-unit {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color_primary);
}

.product-data-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1.5;
}

ul.product-data li:nth-last-child(-n + 2) .product-data-description {
  margin-top: 30px;
}

.product-data-description em {
  overflow: hidden;
  position: relative;
  width: max-content;
  height: auto;
  font-family: "Barlow", serif;
  font-size: 8rem;
  font-weight: 400;
}

.product-data-remarks {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color_font);
}

ul.product-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.product-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 88px;
}

.product-list-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color_primary);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 11px;
  border-bottom: solid 2px var(--color_gray);
  box-sizing: border-box;
  margin-bottom: 22px;
}

.icon-about {
  overflow: hidden;
  position: relative;
  width: auto;
  height: 66px;
  margin-right: 22px;
}

.product-list-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.product-list-remarks {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
}

.product-list-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

.product-list-image img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.features-header {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 22px 22px 0 0;
  margin-top: 88px;
}

.features-image {
  overflow: hidden;
  position: relative;
  width: 40%;
  height: auto;
  float: left;
  background-color: #000000;
  padding: 33px;
}

.features-image img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.features-body {
  overflow: hidden;
  position: relative;
  width: 60%;
  height: auto;
  float: left;
  padding: 55px 33px 33px 33px;
  background-color: #000000;
  color: #ffffff;
}

.features-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
}

.features-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.features-diagram {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 33px;
  background-color: #e6e6e6;
  border-radius: 0 0 22px 22px;
}

.features-diagram img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.association {
  margin-bottom: 55px;
}

.greetings {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.greetings-background {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 600px;
  background-size: contain;
  background-position: 100% 100%;
  background-repeat: no-repeat;
}

.greetings-content {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding-left: calc((100% - var(--container)) / 2);
  padding-right: 30%;
}

.greetings-content h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
  color: var(--color_primary);
}

.greetings-content h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

.greetings-signature {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  text-align: right;
  margin-top: 22px;
}

.greetings-signature small {
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.5;
  margin-right: 1em;
  display: inline-block;
}

.philosophy-content {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 55px;
  padding-left: calc((100% - var(--container)) / 2);
  padding-right: calc((100% - var(--container)) / 2);
}

.greetings-signature span {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.5;
  display: inline-block;
}

.philosophy-content h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
  color: var(--color_primary);
}

.philosophy-hr {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-top: solid 1px var(--color_primary);
  margin: 22px 0;
}

.philosophy-summary {
  overflow: hidden;
  position: relative;
  width: 55%;
  height: auto;
  padding-bottom: 110px;
}

.philosophy-image {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 35%;
  height: 330px;
  object-fit: contain;
  aspect-ratio: 5 / 3;
}

ul.philosophy-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-bottom: solid 1px var(--color_primary);
  box-sizing: border-box;
  padding-bottom: 22px;
  margin-bottom: 33px;
}

ul.philosophy-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 33px;
}

.philosophy-number {
  overflow: hidden;
  position: relative;
  width: 100px;
  height: auto;
  float: left;
  font-family: "Barlow", serif;
  font-size: 6rem;
  font-weight: 400;
  color: var(--color_primary);
  float: left;
}

.philosophy-item {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  margin-left: 100px;
  float: none;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.75;
  color: var(--color_primary);
}

.philosophy-remarks {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.organization h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 33px;
  color: var(--color_primary);
}

.organization h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

ul.organization-type {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 55px;
}

ul.organization-type li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 11px;
}

.organization-type-key {
  overflow: hidden;
  position: relative;
  width: 100px;
  height: 30px;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 30px;
  background-color: #eae7f7;
  text-align: center;
  float: left;
}

.organization-type-value {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  margin-left: 132px;
  float: none;
}

.organization-chart {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 11px;
}

.menu-hr {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-top: solid 1px var(--color_gray);
  box-sizing: border-box;
  margin: 88px 0;
}

.menu-heading {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

ul.menu-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  gap: 22px;
}

ul.menu-list a {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: 140px;
  border-radius: 11px;
  box-sizing: border-box;
  border: solid 1px var(--color_border);
}

ul.menu-list a li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 140px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.menu-image {
  overflow: hidden;
  position: relative;
  width: 200px;
  height: 140px;
}

.menu-image span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.menu-title {
  overflow: hidden;
  position: relative;
  width: calc(100% - 200px);
  height: 140px;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 22px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-image: url(../images/icon-arrow.svg);
  background-size: 30px 30px;
  background-position: calc(100% - 22px) 50%;
  background-repeat: no-repeat;
  transition: all 0.3s;
}

ul.menu-list a:hover .menu-title {
  background-position: calc(100% - 16.5px) 50%;
}

.members h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 55px;
  margin-bottom: 33px;
  color: var(--color_primary);
}

.members h5 small {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color_font);
  display: inline-block;
  margin-left: 22px;
}

.members h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

table.members-table,
table.members-table tbody {
  border-collapse: collapse;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  text-align: left;
}

table.members-table {
  margin-bottom: 55px;
}

table.members-table tr {
  border: none;
  box-sizing: border-box;
}

table.members-table tr th {
  background-color: #eae7f7;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: 200px;
  padding: 11px 22px;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 500;
  vertical-align: top;
}

table.members-table tr td {
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: auto;
  padding: 11px 22px;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 400;
  vertical-align: top;
}

table.members-table tr td a {
  color: var(--color_primary);
  text-decoration: underline;
}

.achievement h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 55px;
  margin-bottom: 33px;
  color: var(--color_primary);
}

ul.achievement-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 55px 2%;
}

ul.achievement-list li {
  overflow: hidden;
  position: relative;
  width: 32%;
  height: auto;
}

.achievement-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 11px;
  margin-bottom: 11px;
}

ul.achievement-list li h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

.achievement-date {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 5.5px;
}

.achievement-key {
  overflow: hidden;
  position: relative;
  width: 120px;
  height: 30px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 25px;
  float: left;
  text-align: center;
  border: solid 2px var(--color_primary);
  border-radius: 15px;
  box-sizing: border-box;
  color: var(--color_primary);
}

.achievement-value {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
  margin-left: 140px;
  float: none;
}

.achievement-hr {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  border-top: solid 1px var(--color_gray);
  margin: 66px 0 22px 0;
}

.achievement h1 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 55px;
  margin-bottom: 33px;
  color: var(--color_primary);
}

.achievement-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  background-color: #e6e6e6;
  margin-bottom: 55px;
}

.achievement-slides {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 50px;
}

.achievement-slide {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 600px;
}

.achievement-slide span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.visible {
  overflow: visible !important;
}

.achievement-slides .slick-prev {
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: calc(50% - 20px);
  left: 0;
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-image: url(../images/icon-prev.svg);
  background-size: 40px 40px;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

.achievement-slides .slick-next {
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: calc(50% - 20px);
  right: 0;
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-image: url(../images/icon-next.svg);
  background-size: 40px 40px;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

.achievement-slides ul.slick-dots {
  overflow: hidden;
  position: absolute;
  bottom: -44px;
  left: 0;
  width: 100%;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
}

.achievement-slides ul.slick-dots li {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 11px;
  background-color: #dbdbdb;
  text-indent: -9999px;
}

.achievement-slides ul.slick-dots li.slick-active {
  background-color: var(--color_primary);
}

.achievement-table {
  margin-top: 55px;
}

.btn-achievement {
  max-width: 220px;
  display: block;
  margin: 88px auto 55px auto;
}

ul.information-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.information-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  gap: 33px;
  margin-top: 55px;
}

ul.information-list li h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
  color: var(--color_primary);
}

.information-content {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: auto;
}

.information-image {
  overflow: hidden;
  position: relative;
  width: 50%;
  height: 0;
  padding-top: 37.5%;
  border-radius: 22px;
  background-color: #e6e6e6;
}

ul.application-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.application-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

ul.application-list li h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 22px;
  color: var(--color_primary);
}

ul.application-list li h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 33px;
  margin-bottom: 22px;
}

.application-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
  border-radius: 22px;
  margin-bottom: 33px;
}

.application-examples {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.application-example {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  text-align: center;
  margin: 0 11px;
}

.application-example-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 66.6666%;
  border-radius: 22px;
  margin-bottom: 11px;
}

.application-example-image span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.icon-plus {
  overflow: hidden;
  position: absolute;
  bottom: 11px;
  right: 11px;
  width: 30px;
  height: 30px;
}

.lb-number {
  display: none !important;
}

.application-example p {
  font-size: 1.8rem;
}

.application-examples .slick-prev {
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: calc(50% - 42.5px);
  left: -45px;
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-image: url(../images/icon-left.svg);
  background-size: 40px 40px;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

.application-examples .slick-next {
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: calc(50% - 42.5px);
  right: -45px;
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-image: url(../images/icon-right.svg);
  background-size: 40px 40px;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

.technical-data h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 55px;
  margin-bottom: 33px;
  color: var(--color_primary);
}

ul.data-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 33px 2%;
}

ul.data-list li {
  overflow: hidden;
  position: relative;
  width: 49%;
  height: auto;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  padding: 2%;
  display: flex;
  justify-content: flex-start;
  gap: 22px;
}

.data-image {
  overflow: hidden;
  position: relative;
  width: 210px;
  height: 297px;
}

.data-image span {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e6e6e6;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.data-content {
  overflow: hidden;
  position: relative;
  width: calc(100% - 210px);
  height: auto;
}

.data-content h6 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 22px;
}

.data-download-box {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  width: auto;
  height: auto;
}

.data-download {
  overflow: hidden;
  position: relative;
  width: 150px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  background-color: var(--color_primary);
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 11px;
}

.data-download img {
  overflow: hidden;
  position: relative;
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin-right: 5.5px;
}

.data-download-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color_primary);
}

.data-download-list img {
  overflow: hidden;
  position: relative;
  width: 20px;
  height: 16px;
  object-fit: contain;
  margin-right: 5.5px;
}

ul.faq-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.faq-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

.question {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  background-color: #eae7f7;
  padding: 16.5px 22px;
}

.question img {
  overflow: hidden;
  position: relative;
  width: 33px;
  height: 33px;
  object-fit: contain;
  margin-top: 5px;
  margin-right: 22px;
  float: left;
}

.question h5 {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1.25;
  float: none;
  margin-left: 44px;
  color: var(--color_font);
}

.answer {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 22px 22px;
}

.answer img {
  overflow: hidden;
  position: relative;
  width: 35px;
  height: 35px;
  object-fit: contain;
  margin-top: 7px;
  margin-right: 22px;
  float: left;
}

.answer p {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  float: none;
  margin-left: 44px;
}

.privacy-policy-overview {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

ul.privacy-policy-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 88px;
}

ul.privacy-policy-list li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 33px 0;
  border-bottom: solid 1px var(--color_border);
  box-sizing: border-box;
}

ul.privacy-policy-list li:first-child {
  border-top: solid 1px var(--color_border);
}

ul.privacy-policy-list li h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 11px;
  color: var(--color_primary);
}

.privacy-policy-remarks {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 33px;
  text-align: right;
}

.privacy-policy-remarks p {
  margin-bottom: 2em;
}

.privacy-policy-remarks p:last-child {
  margin-bottom: 0;
}

.contact {
  min-height: calc(100vh - 460px);
  padding-bottom: 110px;
}

.news-archive {
  width: 100% !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-top: 22px;
}

.news .wp-pagenavi {
  margin-bottom: 0 !important;
}

.news h1 {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 4.2rem;
  font-weight: 900;
  padding-left: 33px;
  line-height: 1.5;
  margin-bottom: 22px;
}

.news h1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  background-color: var(--color_primary);
}

.news .news-info {
  margin-bottom: 0;
}

.news .contents p {
  font-size: 2.1rem;
}

/* contact form */

table.contactform,
table.contactform tbody {
  border-collapse: collapse;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 88px;
  text-align: left;
}

table.contactform tr {
  border: none;
  box-sizing: border-box;
}

table.contactform tr th {
  border: none;
  overflow: hidden;
  position: relative;
  width: auto;
  padding: 18px 0 11px 0;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 500 !important;
  vertical-align: top;
}

table.contactform tr th p {
  width: 180px;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
}

table.contactform tr td {
  border: none;
  overflow: hidden;
  position: relative;
  width: auto;
  padding: 11px 0;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 400;
  vertical-align: top;
}

tr.privacy-policy th,
tr.privacy-policy td {
  padding-top: 55px !important;
}

textarea {
  width: 100%;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  padding: 11px;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  ime-mode: active;
}

.kana {
  ime-mode: active;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  width: 100%;
  height: auto;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  padding: 11px;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 11px;
}

input[type="submit"] {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  max-width: 264px;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  border: 1px solid var(--color_primary);
  border-radius: 30px;
  box-sizing: border-box;
  background-color: var(--color_primary);
  transition: all 0.3s;
  display: block;
  margin: 33px auto 0 auto;
}

input[type="submit"]:hover,
button.submit:hover {
  color: var(--color_primary);
  background-color: #ffffff;
  transition: all 0.3s;
}

input[type="checkbox"] {
  /* remove browser chrome */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  /*add styling */
  position: relative;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--color_border);
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  margin-left: 2px;
  top: 4px;
  margin-right: 3px;
}

input[type="checkbox"]::before {
  content: "";
  color: #fff;
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  left: 4px;
  background-color: transparent;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 2px;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.25s ease-in-out;
  transition: -webkit-transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
  /* base64 encoded to make things easier to show 
  	normally you would use an image or a font
  */
  background-image: url("data:image/svg+xml;base64,PCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQ0OCIgaGVpZ2h0PSI0NDgiIHZpZXdCb3g9IjAgMCA0NDggNDQ4Ij4KPHRpdGxlPjwvdGl0bGU+CjxnIGlkPSJpY29tb29uLWlnbm9yZSI+CjwvZz4KPHBhdGggZD0iTTQxNy43NSAxNDEuNWMwIDYuMjUtMi41IDEyLjUtNyAxN2wtMjE1IDIxNWMtNC41IDQuNS0xMC43NSA3LTE3IDdzLTEyLjUtMi41LTE3LTdsLTEyNC41LTEyNC41Yy00LjUtNC41LTctMTAuNzUtNy0xN3MyLjUtMTIuNSA3LTE3bDM0LTM0YzQuNS00LjUgMTAuNzUtNyAxNy03czEyLjUgMi41IDE3IDdsNzMuNSA3My43NSAxNjQtMTY0LjI1YzQuNS00LjUgMTAuNzUtNyAxNy03czEyLjUgMi41IDE3IDdsMzQgMzRjNC41IDQuNSA3IDEwLjc1IDcgMTd6Ij48L3BhdGg+Cjwvc3ZnPgo=");
}

input[type="checkbox"]:checked::before {
  -webkit-transform: scale(2);
  transform: scale(2);
}

input[type="file"] {
  width: 50%;
  min-width: max-content;
  height: auto;
  background-color: rgba(0, 0, 0, 0.0225);
  border: solid 1px var(--color_alternate);
  box-sizing: border-box;
  padding: 0.5em 1em;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

select {
  width: 50%;
  min-width: max-content;
  height: 44px;
  background-color: rgba(0, 0, 0, 0.0225);
  border: solid 1px var(--color_alternate);
  box-sizing: border-box;
  padding: 0.5em 1em;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.wpcf7-list-item {
  margin: 0 0 0 -1px !important;
}

.wpcf7-not-valid-tip {
  color: var(--color_red) !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid var(--color_primary);
  border-top-color: var(--color_primary);
  border-top-width: 2px;
  border-right-color: var(--color_primary);
  border-right-width: 2px;
  border-bottom-color: var(--color_primary);
  border-bottom-width: 2px;
  border-left-color: var(--color_primary);
  border-left-width: 2px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: var(--color_red) !important;
  border-width: 2px !important;
  padding: 1em !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  line-height: 2 !important;
}

.wpcf7-response-output {
  color: var(--color_red) !important;
  padding: 1em !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  text-align: center !important;
  line-height: 2 !important;
}

.required {
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--color_red);
}

.privacy_chk a {
  color: var(--color_secondary);
  text-decoration: underline;
}

.em p {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color_primary);
  margin-bottom: 4px !important;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 88px;
  margin-bottom: 88px;
}

.wp-pagenavi span {
  cursor: pointer;
  display: inline-block;
  height: 35px;
  line-height: 31px;
  margin: 0 5.5px;
  padding-top: 0;
  width: 30px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  border: solid 1px var(--color_primary);
  box-sizing: border-box;
  transition: all 0.2s;
}

.wp-pagenavi span.extend {
  display: none;
}

.wp-pagenavi span.current {
  background-color: var(--color_primary);
  border: solid 1px var(--color_primary);
  color: #fff;
}

a.previouspostslink,
a.nextpostslink,
a.page.smaller,
a.page.larger,
a.first,
a.last {
  background-color: #fff;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  color: var(--color_font);
  cursor: pointer;
  display: inline-block;
  height: 35px;
  line-height: 34px;
  margin: 0 5.5px;
  padding-top: 0;
  width: 30px;
  transition: all 0.2s;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  display: inline-block;
}

a.nextpostslink {
  border: solid 1px #fff;
}

a.previouspostslink {
  border: solid 1px #fff;
}

.wp-pagenavi span.current:hover,
a.previouspostslink:hover,
a.nextpostslink:hover,
a.page.smaller:hover,
a.page.larger:hover,
a.first:hover,
a.last:hover {
  background-color: #fff;
  border: solid 1px var(--color_blue);
  color: var(--color_blue);
}

.mobile-panel {
  overflow: hidden;
  position: fixed;
  top: -100vh;
  left: 0;
  width: 100%;
  height: calc(100vh - var(--header_sp));
  background-color: var(--color_primary);
  color: #ffffff;
  opacity: 0;
  z-index: 10;
  transition: all 0.6s;
}

.mobile-panel.is-active {
  top: var(--header_sp);
  opacity: 1;
}

ul.mobile-nav {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

ul.mobile-nav li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 55px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.18);
  box-sizing: border-box;
  padding: 0 22px;
  font-size: 1.5rem;
  font-weight: 500;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  transition: all 0.3s;
}

ul.mobile-nav li:hover {
  background-color: rgba(255, 255, 255, 0.18);
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

.tab-pc {
  display: block !important;
}

.tab-sp {
  display: none !important;
}

sup {
  font-size: 0.6em;
  vertical-align: super;
}

sub {
  font-size: 0.6em;
  vertical-align: sub;
}

.heading {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color_primary);
  letter-spacing: 0.05em;
  margin-top: 55px;
}

.archive .news ul.news-list li:first-child {
  border-top: none;
}

.archive.news ul.news-list li:last-child {
  border-bottom: none;
}

.archive section.news {
  padding-bottom: 0;
}

.single section.news {
  padding-bottom: 0;
}

.single .news-info {
  margin-top: 55px;
  margin-bottom: 27.5px;
}

.single h1 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 22px;
  display: block;
}

.single h1::before {
  display: none;
}

.news .contents p {
  font-size: 1.7rem;
}

.section {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 2em;
  display: flex;
  justify-content: center;
}

.section-contents {
  overflow: hidden;
  position: relative;
  width: calc(100% - 480px);
  height: auto;
  font-feature-settings: normal;
  padding-right: 33px;
}

.section-images {
  overflow: hidden;
  position: relative;
  width: 480px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 33px;
}

.section-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.section-image img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 11px;
}

.section-images-caption {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  text-align: center;
}

.pdf-list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}

.pdf-list-title {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  padding: 15px 0;
}

.pdf-list-title span {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  padding-right: 44px;
}

.pdf-list-title span::after {
  content: "";
  position: absolute;
  top: calc(50% - 22px);
  right: 0;
  width: 30px;
  height: 50px;
  background-image: url(../images/icon-pdf.png);
  background-size: contain;
  background-position: 100% 50%;
  background-repeat: no-repeat;
}

.about-certification {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 33px;
  margin-top: 55px;
}

.about-certification-image {
  overflow: hidden;
  position: relative;
  width: 287px;
  height: auto;
}

.about-certification-image img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.about-certification-body {
  overflow: hidden;
  position: relative;
  width: calc(100% - 319px);
  height: auto;
}

.about-certification-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  color: var(--color_primary);
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: 5.5px;
  border-bottom: solid 1px var(--color_primary);
  margin-bottom: 11px;
  box-sizing: border-box;
}

.about-certification-description {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
}

.about-certification-description small {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
}

.about-certification-details {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.about-certification-details-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
  padding: 2.75px 11px;
  background-color: #eae7f7;
  margin-top: 22px;
  margin-bottom: 11px;
}

.about-certification-details-items {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.about-certification-details-item {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
  text-indent: -9px;
  padding-left: 9px;
}

.about-certification-button {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 400px;
  height: 80px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 78px;
  text-align: center;
  color: #fff;
  background-color: var(--color_primary);
  border-radius: 40px;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
  transition: all 0.3s;
  display: block;
  margin: 88px auto 110px auto;
  padding: 0 22px;
}

.about-certification-button:hover {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0));
  top: 2px;
  left: 2px;
}

.features-lcc-vfm {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 44px 22px;
  background-color: var(--color_primary);
  color: #fff;
  margin-top: 88px;
}

.features-lcc-vfm-title {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 27.5px;
}

.features-lcc-vfm-title small {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}

.features-lcc-vfm-buttons {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px 55px;
  padding-bottom: 11px;
}

.features-lcc-vfm-buttons a {
  width: 100%;
  max-width: 400px;
}

.about-features-button {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 400px;
  height: 80px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 78px;
  text-align: center;
  color: var(--color_primary);
  background-color: #fff;
  border-radius: 40px;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
  transition: all 0.3s;
  display: block;
  padding: 0 22px;
}

.about-features-button:hover {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0));
  top: 2px;
  left: 2px;
}

section.about {
  padding: 55px 0 33px 0;
}

.member-recruitment-link {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 390px;
  height: auto;
  display: block;
  margin: 0 auto 55px auto;
  transition: all 0.3s;
}

.member-recruitment-link:hover {
  opacity: 0.5;
}

.member-recruitment-sections {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding-bottom: 55px;
}

.achievement {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

.application-key-visual {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

.achievement-link {
  overflow: hidden;
  position: relative;
  width: 412px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.achievement-link img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 6px 6px 6px;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.4));
  mix-blend-mode: multiply;
  transition: all 0.1s;
}

.achievement-link:hover img {
  filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.4));
  top: 3px;
  left: 3px;
}

.prospectus h5 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color_primary);
  border-bottom: solid 1px var(--color_primary);
  padding-bottom: 11px;
}

.prospectus h6 {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 11px;
  color: var(--color_font);
}

.prospectus_list {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.prospectus_item {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 55px;
}

ul.prospectus_list_item {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 16.5px;
}

ul.prospectus_list_item li {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  color: var(--color_primary);
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 2;
}

table.prospectus_table {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  margin-top: 22px;
  border-collapse: collapse;
  border-spacing: 0;
}

table.prospectus_table tr {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding: 11px 0;
}

table.prospectus_table th {
  overflow: hidden;
  position: relative;
  width: 276px;
  height: auto;
  color: var(--color_primary);
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  padding: 22px 0 26.5px 0;
  border-bottom: dotted 1px #969696;
}

table.prospectus_table td {
  overflow: hidden;
  position: relative;
  width: auto;
  height: auto;
  color: var(--color_font);
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  padding: 22px 0 26.5px 0;
  border-bottom: dotted 1px #969696;
}

table.prospectus_table tr:last-child th,
table.prospectus_table tr:last-child td {
  border-bottom: solid 1px #969696;
}

table.prospectus_table tr:first-child th,
table.prospectus_table tr:first-child td {
  border-top: solid 1px #969696;
}

table.shibu-table,
table.shibu-table tbody {
  border-collapse: collapse;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  text-align: left;
}

table.shibu-table {
  margin-bottom: 55px;
}

table.shibu-table tr {
  border: none;
  box-sizing: border-box;
}

table.shibu-table tr th {
  background-color: #98cbff;
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: 200px;
  padding: 11px 22px;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 500;
  vertical-align: top;
}

table.shibu-table tr td {
  border: solid 1px var(--color_border);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: auto;
  padding: 11px 22px;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: 400;
  vertical-align: top;
}

@media screen and (max-width: 1384px) {
  .header-contact-banner-link-btn {
    width: auto;
    padding: 0 22px;
  }

  .header-contact-banner-link-btn span {
    display: none;
  }
}

@media screen and (max-width: 1263px) {
  .footer-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
  }

  .footer-logo {
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .footer-logo>a img {
    overflow: hidden;
    position: relative;
    width: auto;
    height: 44px;
    display: block;
    margin-bottom: 22px;
    margin: 0 auto 22px auto;
  }

  .company-info {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.75;
    display: flex;
    justify-content: center;
    gap: 1em;
  }

  .googlemap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 4px;
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 1182px) {
  .header-contact {
    display: none;
  }

  .vertical-bottom {
    display: none;
  }

  .home header {
    filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.09));
  }

  .key-visual {
    height: calc(100vh - var(--header_pc));
  }

  .list-slideshow {
    height: calc(100vh - var(--header_pc));
  }

  .slideshow {
    height: calc(100vh - var(--header_pc));
  }
}

@media screen and (max-width: 1166px) {
  .greetings-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-left: var(--gap_pc);
    padding-right: var(--gap_pc);
  }

  .greetings-background {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: 100% 100%;
    background-repeat: no-repeat;
    opacity: 0.3;
  }

  .philosophy-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 55px;
    padding-left: var(--gap_pc);
    padding-right: var(--gap_pc);
  }

  ul.data-list li {
    overflow: hidden;
    position: relative;
    width: 32%;
    height: auto;
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    padding: 2%;
    display: flex;
    justify-content: flex-start;
    gap: 2%;
    flex-direction: column;
  }

  .data-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 141.4285%;
    margin-bottom: 11px;
  }

  .data-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
  }

  .data-content h6 {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .data-download-box {
    overflow: hidden;
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-top: 11px;
  }
}

@media screen and (max-width: 1006px) {
  .section {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 2em;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .section-contents {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-feature-settings: normal;
    padding-right: 0;
    margin-bottom: 1em;
  }

  .section-images {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 33px;
  }

  .pdf-list {
    margin-top: 2em;
  }
}

@media screen and (max-width: 1003px) {
  .logo img {
    height: 90px;
  }
}

@media screen and (max-width: 961px) {
  .logo img {
    height: 80px;
  }
}

@media screen and (max-width: 940px) {
  .tab-pc {
    display: none !important;
  }

  .tab-sp {
    display: block !important;
  }

  .logo img {
    height: 80px;
  }
}

@media screen and (max-width: 920px) {
  .logo img {
    height: 70px;
  }
}

@media screen and (max-width: 879px) {
  .logo img {
    height: 60px;
  }
}

@media screen and (max-width: 863px) {
  ul.footer-nav {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    column-count: 3;
    margin-top: 22px;
  }
}

@media screen and (max-width: 837px) {
  .logo img {
    height: 50px;
  }
}

@media screen and (max-width: 796px) {
  ul.nav-header {
    gap: 16px;
  }

  ul.nav-header li {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  body {
    font-size: 1.4rem;
  }

  .header {
    height: var(--header_sp);
  }

  header {
    height: var(--header_sp);
    padding: 0 0 0 var(--gap_sp);
  }

  .home header {
    filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.09));
  }

  header nav {
    display: none;
  }

  .logo img {
    height: var(--logo_sp);
  }

  .nav-box {
    display: block;
  }

  .key-visual {
    height: calc(100vh - var(--header_sp));
  }

  .list-slideshow {
    height: calc(100vh - var(--header_sp));
  }

  .slideshow {
    height: calc(100vh - var(--header_sp));
  }

  .list-slideshow ul.slick-dots {
    bottom: 22px;
    left: 22px;
  }

  .list-slideshow ul.slick-dots li {
    width: 33px;
  }

  .container {
    max-width: calc(var(--container) + var(--gap_sp) * 2);
    padding: 0 var(--gap_sp);
  }

  .overview {
    padding: 22px 0;
  }

  .overview .container {
    padding: 0;
  }

  .overview-title {
    font-size: 2.1rem;
    margin-bottom: 14px;
  }

  .overview-description {
    font-size: 1.4rem;
  }

  section {
    padding: 33px 0;
  }

  .news-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
  }

  h3 {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    font-size: 4.2rem;
    font-weight: 900;
    padding-left: 22px;
    line-height: 1.25;
  }

  h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background-color: var(--color_primary);
  }

  h4 {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 400;
    padding-top: 2px;
    padding-left: 23px;
  }

  ul.news-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
    margin-left: 0;
    margin-top: 22px;
  }

  ul.news-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 14px 0;
    border-bottom: solid 1px var(--color_border);
    box-sizing: border-box;
  }

  .news-info {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 11px;
  }

  .label {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 88px;
    height: 24px;
    background-color: var(--color_primary);
    color: #ffffff;
    border: solid 2px var(--color_primary);
    border-radius: 12px;
    box-sizing: border-box;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  time {
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--color_gray);
  }

  .news-list h5 {
    overflow: visible;
    position: relative;
    width: auto;
    height: auto;
    float: none;
    margin-left: 0;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 11px;
  }

  .about-summary {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    margin-top: 22px;
  }

  .btn-default.btn-news {
    position: relative;
    bottom: auto;
    left: auto;
  }

  .btn-default {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 55px;
    text-align: center;
    background-color: #ffffff;
    border: solid 2px var(--color_primary);
    border-radius: 30px;
    color: var(--color_primary);
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    transition: all 0.3s;
    margin-top: 44px;
  }

  ul.about-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    margin-top: 22px;
    flex-direction: column;
  }

  .about-number {
    overflow: hidden;
    position: relative;
    width: 44px;
    height: auto;
    float: left;
  }

  .about-number img {
    overflow: hidden;
    position: relative;
    width: auto;
    height: 44px;
  }

  .about-title h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
  }

  .about-title h6 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 14px;
  }

  p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
  }

  .about-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 22px;
  }

  .about-image img {
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 330px;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .btn-default.btn-about {
    margin-top: 33px;
  }

  section#sdgs {
    padding-top: 0;
  }

  .sdgs-background {
    overflow: hidden;
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    max-width: 1300px;
  }

  .sdgs-logo {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    max-width: 330px;
    margin-top: 33px;
    margin-bottom: 18px;
  }

  .sdgs-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .sdgs-summary {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 0;
  }

  section#sdgs-list {
    padding-top: 0;
    padding-bottom: 0;
  }

  .scroll-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-left: 0;
    padding: 0 var(--gap_sp);
  }

  ul.sdgs-list {
    overflow: hidden;
    overflow-x: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    overflow-x: hidden;
    flex-direction: column;
  }

  ul.sdgs-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    border-left: none;
    box-sizing: border-box;
    flex-shrink: 0;
    margin-top: 33px;
  }

  .sdgs-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    gap: 5.5px;
    flex-wrap: wrap;
  }

  .sdgs-image img {
    overflow: hidden;
    position: relative;
    width: 88px;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1 / 1;
  }

  .sdgs-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 16.5px 0 0 0;
  }

  ul.sdgs-list li .sdgs-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 5.5px;
  }

  .footer-contact {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 55px 0 33px 0;
  }

  .footer-contact-box {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 11px;
    box-sizing: border-box;
    text-align: center;
    padding-bottom: 22px;
  }

  .contact-background-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 22px 0 11px 0;
    color: #ffffff;
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
  }

  .contact-background-summary {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 0 22px 0;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
  }

  .contact-background-link {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0 var(--gap_sp);
    gap: 11px;
  }

  .contact-background-link-tel {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 55px;
    background-color: #fff;
    border: solid 2px #fff;
    box-sizing: border-box;
    border-radius: 30px;
    color: var(--color_red);
    font-size: 2.1rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .contact-background-link-tel img {
    overflow: hidden;
    position: relative;
    width: 33px;
    height: 33px;
    margin-right: 5.5px;
  }

  .contact-background-link-btn {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 55px;
    background-color: transparent;
    border: solid 2px #fff;
    box-sizing: border-box;
    border-radius: 30px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    margin: 0;
  }

  ul.footer-nav {
    display: none;
  }

  footer {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 33px var(--gap_sp) 24px var(--gap_sp);
    background-color: var(--color_tertiary);
    color: #ffffff;
  }

  .footer-logo>a img {
    overflow: hidden;
    position: relative;
    width: auto;
    height: 33px;
    display: block;
    margin-bottom: 22px;
    margin: 0 auto 14px auto;
  }

  .company-name {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 2;
  }

  .address {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 2;
  }

  .company-info {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.75;
    display: flex;
    justify-content: center;
    gap: 1em;
  }

  .footer-tel {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 2;
  }

  .footer-email {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
  }

  .googlemap img {
    overflow: hidden;
    position: relative;
    width: auto;
    height: 18px;
    display: block;
  }

  .hr {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-top: solid 1px var(--color_border);
    margin: 11px 0 11px 0;
    opacity: 0.5;
  }

  .copyright-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.75;
    display: flex;
    justify-content: center;
  }

  .privacy {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.75;
    display: none;
  }

  .copyright {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.75;
  }

  .mobile-nav-submenu {
    display: none;
  }

  .breadcrumbs {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 11px 0;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.75;
    color: #84959e;
  }

  section.about {
    padding: 0;
  }

  .news .news-info {
    margin-bottom: 0;
  }

  .wp-pagenavi {
    clear: both;
    text-align: center;
    margin-top: 44px;
    margin-bottom: 0;
  }

  .about-background {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 220px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 22px;
    margin-bottom: 22px;
  }

  .about-background img {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    max-width: 330px;
  }

  .about-slogan {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.75;
    margin-bottom: 14px;
  }

  .about-description {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 0;
  }

  .gallery {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin: 33px 0 55px 0;
  }

  .gallery-item img {
    overflow: hidden;
    position: relative;
    width: 330px;
    height: 206.333px;
    object-fit: cover;
  }

  .gallery-item {
    overflow: hidden;
    position: relative;
    width: 330px;
    height: auto;
    margin: 0 5.5px;
  }

  .product-summary {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 0;
  }

  .product-summary {
    margin-top: 22px;
  }

  .product-summary br {
    display: none;
  }

  ul.product-data {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 33px;
    margin-top: 33px;
  }

  .product-data-title {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: 30px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 26px;
    border: solid 2px var(--color_primary);
    border-radius: 20px;
    box-sizing: border-box;
    padding: 0 11px;
    color: var(--color_primary);
  }

  .product-data-number {
    overflow: hidden;
    position: relative;
    width: 90px;
    text-align: right;
    height: auto;
    font-family: "Barlow", serif;
    font-size: 8.4rem;
    font-weight: 400;
    color: var(--color_primary);
  }

  ul.product-data li:nth-child(2) .product-data-number {
    width: 40px;
  }

  .product-data-unit {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color_primary);
  }

  .product-data-remarks {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color_font);
  }

  .product-data-description em {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: auto;
    font-family: "Barlow", serif;
    font-size: 6.8rem;
    font-weight: 400;
  }

  ul.product-data li:nth-last-child(-n + 2) .product-data-description {
    margin-top: 11px;
  }

  .product-data-description {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
  }

  ul.product-data li:nth-last-child(-n + 2) {
    max-width: 220px;
  }

  .icon-about {
    overflow: hidden;
    position: relative;
    width: auto;
    height: 33px;
    margin-right: 11px;
  }

  .product-list-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color_primary);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 7px;
    border-bottom: solid 1px var(--color_gray);
    box-sizing: border-box;
    margin-bottom: 14px;
  }

  .product-list-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 33px;
  }

  ul.product-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 55px;
  }

  .features-header {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 11px 11px 0 0;
    margin-top: 55px;
  }

  .features-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
    background-color: #000000;
    padding: 22px 22px 0 22px;
  }

  .features-image img {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    max-width: 330px;
    display: block;
    margin: 0 auto;
  }

  .features-body {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
    padding: 0 22px 22px 22px;
    background-color: #000000;
    color: #ffffff;
  }

  .features-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .features-diagram {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 22px;
    background-color: #e6e6e6;
    border-radius: 0 0 11px 11px;
  }

  .association {
    margin-bottom: 22px;
  }

  .greetings-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-left: var(--gap_sp);
    padding-right: var(--gap_sp);
  }

  .greetings-content h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .greetings-content h6 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .greetings-signature small {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
    margin-right: 1em;
    display: inline-block;
  }

  .greetings-signature span {
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.5;
    display: inline-block;
  }

  .philosophy-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 0;
    padding-left: var(--gap_sp);
    padding-right: var(--gap_sp);
  }

  .philosophy-content h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .philosophy-summary {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 22px;
  }

  .philosophy-hr {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-top: solid 1px var(--color_primary);
    margin: 0 0 11px 0;
  }

  .philosophy-image {
    overflow: hidden;
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: auto;
    object-fit: contain;
    aspect-ratio: 5 / 3;
    border-radius: 26px;
  }

  .philosophy-number {
    overflow: hidden;
    position: relative;
    width: 88px;
    height: auto;
    float: left;
    font-family: "Barlow", serif;
    font-size: 6.3rem;
    font-weight: 400;
    color: var(--color_primary);
    float: left;
  }

  .philosophy-item {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    margin-left: 88px;
    float: none;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    color: var(--color_primary);
  }

  .philosophy-item br {
    display: none;
  }

  ul.philosophy-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    margin-top: 22px;
  }

  ul.philosophy-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-bottom: solid 1px var(--color_primary);
    box-sizing: border-box;
    padding-bottom: 22px;
    margin-bottom: 11px;
  }

  .philosophy-remarks p {
    font-size: 1.2rem;
  }

  .organization h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .organization h6 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .organization-type-key {
    overflow: hidden;
    position: relative;
    width: 88px;
    height: 30px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 30px;
    background-color: #eae7f7;
    text-align: center;
    float: left;
  }

  .organization-type-value {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    margin-left: 99px;
    float: none;
  }

  ul.organization-type {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 33px;
  }

  .menu-hr {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-top: solid 1px var(--color_gray);
    box-sizing: border-box;
    margin: 55px 0;
  }

  .menu-heading {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  ul.menu-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    gap: 11px;
    flex-direction: column;
  }

  ul.menu-list a {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 110px;
    border-radius: 22px;
    box-sizing: border-box;
    border: solid 1px var(--color_border);
  }

  ul.menu-list a li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 110px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .menu-image {
    overflow: hidden;
    position: relative;
    width: 143px;
    height: 110px;
  }

  .menu-title {
    overflow: hidden;
    position: relative;
    width: calc(100% - 143px);
    height: 110px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    padding: 0 22px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-image: url(../images/icon-arrow.svg);
    background-size: 22px 22px;
    background-position: calc(100% - 22px) 50%;
    background-repeat: no-repeat;
    transition: all 0.3s;
  }

  .members h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 22px;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .members h6 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  table.members-table tr th {
    background-color: #eae7f7;
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 110px;
    padding: 11px;
    line-height: 1.5;
    font-size: 1.4rem;
    font-weight: 500;
    vertical-align: top;
  }

  table.members-table tr td {
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: auto;
    padding: 11px;
    line-height: 1.5;
    font-size: 1.4rem;
    font-weight: 400;
    vertical-align: top;
  }

  table.members-table tr td a {
    color: var(--color_primary);
    text-decoration: underline;
  }

  .members h5 small {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color_font);
    display: inline-block;
    margin-left: 11px;
  }

  table.members-table {
    margin-bottom: 22px;
  }

  table.shibu-table tr th {
    background-color: #98cbff;
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 110px;
    padding: 11px;
    line-height: 1.5;
    font-size: 1.4rem;
    font-weight: 500;
    vertical-align: top;
  }

  table.shibu-table tr td {
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: auto;
    padding: 11px;
    line-height: 1.5;
    font-size: 1.4rem;
    font-weight: 400;
    vertical-align: top;
  }

  .achievement h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 22px;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  ul.achievement-list li {
    overflow: hidden;
    position: relative;
    width: 49%;
    height: auto;
  }

  .achievement-key {
    overflow: hidden;
    position: relative;
    width: 88px;
    height: 25px;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 18px;
    float: left;
    text-align: center;
    border: solid 2px var(--color_primary);
    border-radius: 15px;
    box-sizing: border-box;
    color: var(--color_primary);
  }

  .achievement-value {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
    margin-left: 99px;
    float: none;
  }

  .achievement-hr {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border-top: solid 1px var(--color_gray);
    margin-top: 55px;
  }

  .achievement h1 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 22px;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .achievement-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    background-color: #e6e6e6;
    margin-bottom: 33px;
  }

  .achievement-slides {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 33px;
  }

  .achievement-slide {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(100vw - 110px);
  }

  .achievement-slides .slick-next {
    cursor: pointer;
    overflow: hidden;
    position: absolute;
    top: calc(50% - 16.5px);
    right: -11px;
    width: 33px;
    height: 33px;
    background-color: transparent;
    background-image: url(../images/icon-next.svg);
    background-size: 33px 33px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: -9999px;
  }

  .achievement-slides .slick-prev {
    cursor: pointer;
    overflow: hidden;
    position: absolute;
    top: calc(50% - 16.5px);
    left: -11px;
    width: 33px;
    height: 33px;
    background-color: transparent;
    background-image: url(../images/icon-prev.svg);
    background-size: 33px 33px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: -9999px;
  }

  .achievement-slides ul.slick-dots {
    overflow: hidden;
    position: absolute;
    bottom: -26.5px;
    left: 0;
    width: 100%;
    height: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5.5px;
  }

  .achievement-slides ul.slick-dots li {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 11px;
    height: 11px;
    border-radius: 5.5px;
    background-color: #dbdbdb;
    text-indent: -9999px;
  }

  .achievement-table {
    margin-top: 22px;
    margin-bottom: 55px !important;
  }

  .btn-achievement {
    margin-bottom: 0;
  }

  ul.information-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    gap: 0;
    margin-top: 33px;
    flex-direction: column;
  }

  ul.information-list li:first-child {
    margin-top: 22px;
  }

  .information-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
  }

  ul.information-list li h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .information-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 66.6666%;
    border-radius: 22px;
    background-color: #e6e6e6;
    margin-top: 22px;
    margin-bottom: ;
  }

  ul.application-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 22px;
  }

  ul.application-list li h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 11px;
    color: var(--color_primary);
  }

  .application-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 3 / 2;
    border-radius: 22px;
    margin-bottom: 11px;
  }

  ul.application-list li h6 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 22px;
    margin-bottom: 11px;
  }

  .application-examples {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 33px;
  }

  .application-example {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    margin: 0 5.5px;
  }

  .application-example-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 66.6666%;
    border-radius: 11px;
    margin-bottom: 5.5px;
  }

  .application-examples .slick-prev {
    cursor: pointer;
    overflow: hidden;
    position: absolute;
    top: calc(50% - 33px);
    left: -5.5px;
    width: 33px;
    height: 33px;
    background-color: transparent;
    background-image: url(../images/icon-left.svg);
    background-size: 33px 33px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: -9999px;
  }

  .application-examples .slick-next {
    cursor: pointer;
    overflow: hidden;
    position: absolute;
    top: calc(50% - 33px);
    right: -5.5px;
    width: 33px;
    height: 33px;
    background-color: transparent;
    background-image: url(../images/icon-right.svg);
    background-size: 33px 33px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: -9999px;
  }

  .icon-plus {
    overflow: hidden;
    position: absolute;
    bottom: 5.5px;
    right: 5.5px;
    width: 22px;
    height: 22px;
  }

  .application-example p {
    font-size: 1.3rem;
  }

  ul.data-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 11px 2%;
  }

  .data-content h6 {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 11px;
  }

  .data-download-box {
    overflow: hidden;
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-top: 11px;
  }

  .data-download {
    overflow: hidden;
    position: relative;
    width: 110px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12.5px;
    background-color: var(--color_primary);
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 5.5px;
    padding-bottom: 1px;
  }

  .data-download-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color_primary);
  }

  .data-download-list img {
    overflow: hidden;
    position: relative;
    width: 16px;
    height: 12px;
    object-fit: contain;
    margin-right: 5.5px;
  }

  ul.faq-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 22px;
  }

  .question {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    background-color: #eae7f7;
    padding: 11px;
  }

  .question img {
    overflow: hidden;
    position: relative;
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin-top: 2px;
    margin-right: 11px;
    float: left;
  }

  .question h5 {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.25;
    float: none;
    margin-left: 33px;
    color: var(--color_font);
  }

  .answer {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 11px;
  }

  .answer img {
    overflow: hidden;
    position: relative;
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-top: 2px;
    margin-right: 11px;
    float: left;
  }

  .answer p {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    float: none;
    margin-left: 33px;
  }

  .privacy-policy-overview {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 22px;
  }

  ul.privacy-policy-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 33px;
  }

  ul.privacy-policy-list li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 22px 0;
    border-bottom: solid 1px var(--color_border);
    box-sizing: border-box;
  }

  ul.privacy-policy-list li h5 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 5.5px;
    color: var(--color_primary);
  }

  table.contactform,
  table.contactform tbody {
    border-collapse: collapse;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 33px;
    text-align: left;
  }

  table.contactform tr th {
    border: none;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 11px 0 0 0;
    line-height: 2;
    font-size: 1.4rem;
    font-weight: 500 !important;
    vertical-align: top;
    display: block;
  }

  table.contactform tr th p {
    width: 180px;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
  }

  table.contactform tr td {
    border: none;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 5.5px 0;
    line-height: 2;
    font-size: 1.4rem;
    font-weight: 400;
    vertical-align: top;
    display: block;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"] {
    width: 100%;
    height: auto;
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    padding: 11px;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 5.5px;
  }

  tr.privacy-policy th,
  tr.privacy-policy td {
    padding-top: 11px !important;
  }

  .contact {
    padding-bottom: 55px !important;
  }

  .contact {
    min-height: calc(100vh - 340px);
  }

  .news-list .news-list-title {
    overflow: visible;
    position: relative;
    width: auto;
    height: auto;
    float: none;
    margin-left: 0;
    padding-top: 1px;
  }

  .news-list h5 span {
    overflow: visible;
    position: relative;
    display: block;
    padding-right: 33px;
  }

  .news-list h5 span::after {
    content: "";
    position: absolute;
    top: calc(50% - 17px);
    right: 0;
    width: 22px;
    height: 33px;
    background-image: url(../images/icon-pdf.png);
    background-size: contain;
    background-position: 100% 50%;
    background-repeat: no-repeat;
  }

  .heading {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color_primary);
    letter-spacing: 0.05em;
    margin-top: 33px;
  }

  ul.news-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    float: none;
    margin-left: 0;
    margin-top: 11px;
  }

  .news .contents p {
    font-size: 1.4rem;
  }

  .single .news-info {
    margin-top: 33px;
    margin-bottom: 1em !important;
  }

  .single h1 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 1em;
    display: block;
  }

  .achievement {
    margin-top: 33px;
  }

  .section-contents {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-feature-settings: normal;
    padding-right: 0;
    margin-bottom: 2em;
  }

  .section-image img {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 5.5px;
  }

  .section-images-caption {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
  }

  .pdf-list {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin-top: 2em;
  }

  .pdf-list-title {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 11px 0;
  }

  .pdf-list-title span {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    font-size: 1.4rem;
    font-weight: 400;
    padding-right: 33px;
  }

  .pdf-list-title span::after {
    content: "";
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    width: 22px;
    height: 33px;
    background-image: url(../images/icon-pdf.png);
    background-size: contain;
    background-position: 100% 50%;
    background-repeat: no-repeat;
  }

  .about-certification-button {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 300px;
    height: 60px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 58px;
    text-align: center;
    color: #fff;
    background-color: var(--color_primary);
    border-radius: 30px;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
    transition: all 0.3s;
    display: block;
    margin: 55px auto 66px auto;
  }

  .features-lcc-vfm-buttons a {
    width: 100%;
    max-width: 300px;
  }

  .about-features-button {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 300px;
    height: 60px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 58px;
    text-align: center;
    color: var(--color_primary);
    background-color: #fff;
    border-radius: 30px;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
    transition: all 0.3s;
    display: block;
    padding: 0 22px;
  }

  .features-lcc-vfm-title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 22px;
  }

  features-lcc-vfm-title small {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
  }

  .member-recruitment-link {
    max-width: 276px;
    margin: 0 auto 33px auto;
  }

  .member-recruitment-sections {
    padding-bottom: 0;
  }

  .application-key-visual {
    margin-top: 33px;
    margin-bottom: 33px;
  }

  .prospectus_item {
    margin-top: 33px;
  }

  .prospectus h5 {
    font-size: 2.4rem;
  }

  .prospectus h6 {
    font-size: 2.1rem;
  }

  ul.prospectus_list_item {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 11px;
  }

  ul.prospectus_list_item li {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    color: var(--color_primary);
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.75;
  }

  table.prospectus_table {
    display: block;
  }

  table.prospectus_table tr {
    display: block;
  }

  table.prospectus_table th {
    width: 100%;
    height: auto;
    font-size: 1.7rem;
    display: block;
    padding: 0;
    border-bottom: none;
  }

  table.prospectus_table tr:last-child th,
  table.prospectus_table tr:last-child td {
    border-bottom: none;
  }

  table.prospectus_table td {
    overflow: hidden;
    position: relative;
    width: auto;
    height: auto;
    color: var(--color_font);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    text-align: left;
    padding: 0;
    border-bottom: none;
    margin-top: 11px;
  }

  table.prospectus_table td {
    display: block;
  }

  table.prospectus_table tr:first-child th,
  table.prospectus_table tr:first-child td {
    border-top: none;
  }
}

@media screen and (max-width: 599px) {
  ul.data-list li {
    overflow: hidden;
    position: relative;
    width: 49%;
    height: auto;
    border: solid 1px var(--color_border);
    box-sizing: border-box;
    padding: 2%;
    display: flex;
    justify-content: flex-start;
    gap: 2%;
    flex-direction: column;
  }
}