@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ===========================================
@acab/reset.css
=========================================== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  scrollbar-gutter: stable;
  interpolate-size: allow-keywords;
  line-height: 1.5;
}

:where(html:has(dialog:modal[open])) {
  overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: inherit;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
  -webkit-font-feature-settings: inherit;
          font-feature-settings: inherit;
  font-variation-settings: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled, label:has(> :disabled, + disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(dialog, [popover]) {
  border: none;
  background: none;
  color: inherit;
  inset: unset;
  max-width: unset;
  max-height: unset;
  overflow: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  -webkit-box-shadow: 0 0 0 5px Canvas;
          box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
}

:root {
  --paddingInline: 30px;
  --headerHeight: 80px;
}
@media (max-width: 1200px) {
  :root {
    --headerHeight: 68px;
  }
}

html {
  height: -webkit-fill-available;
  font-size: calc(0.0069444444 * var(--viewportWidth)); /* 10px */ /* ピクセル値に変換 */
}
@media (max-width: 767px) {
  html {
    font-size: calc(0.0266666667 * var(--viewportWidth));
  }
}

@media screen and (min-width: 1440.1px) {
  html {
    font-size: 10px;
  }
}
body {
  background-color: #F2F2F2;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  min-width: auto;
  color: #323232;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  height: auto; /* headerのposition: sticky */
}
body._fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: normal;
  font-size: inherit;
  line-height: inherit;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

span:not([class]) {
  display: inline-block;
}

img {
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
}

a {
  color: inherit;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}

a:visited {
  color: inherit;
}

/* システムのスタイルを打ち消したいときはここに記述 */
body:not(:has(.p-firstview)) .c-breadcrumb {
  padding-top: calc(var(--headerHeight) + 35px);
}

@media (max-width: 767px) {
  body:not(:has(.p-firstview)) .c-breadcrumb {
    padding-top: calc(var(--headerHeight) + 17px);
  }
}
@media (min-width: 1200.1px) {
  body:has(.p-firstview) .c-header:not(._scrolled) {
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    top: 0;
  }
  body:has(.p-firstview) .c-header:not(._scrolled) .c-header-inner {
    padding-inline: 0;
  }
  body:has(.p-firstview) .c-header:not(._scrolled) .c-header-search .c-search {
    background-color: transparent;
    border: #707070 1px solid;
  }
}
@media (max-width: 767px) {
  .u-br-pc {
    display: none;
  }
}

.u-br-sp {
  display: none;
}
@media (max-width: 767px) {
  .u-br-sp {
    display: inline;
  }
}

.c-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--paddingInline);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.c-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}

.c-icon-search {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

.c-icon-facebook {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

.c-icon-youtube {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

.c-more-link {
  display: inline-block;
  font-size: 18px;
  color: currentColor;
}
.c-more-link span {
  border-bottom: 1px solid currentColor;
  padding-bottom: 13px;
}
@media (max-width: 767px) {
  .c-more-link {
    font-size: 16px;
  }
  .c-more-link span {
    padding-bottom: 10px;
  }
}

.c-section-heading {
  text-align: center;
  font-size: 24px;
  margin-bottom: 60px;
}
.c-section-heading span {
  display: block;
}
.c-section-heading ._en {
  font-family: "Jost", sans-serif;
  font-size: 80px;
  font-weight: 500;
  color: #4B9FC6;
}
.c-section-heading ._ja {
  font-size: 18px;
}
@media (max-width: 767px) {
  .c-section-heading ._en {
    font-size: 60px;
  }
}

.c-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background-color: transparent;
  -webkit-transition: background-color 0.5s ease, padding-block 0.5s ease, top 0.5s ease, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: background-color 0.5s ease, padding-block 0.5s ease, top 0.5s ease, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.5s ease, padding-block 0.5s ease, top 0.5s ease;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.5s ease, padding-block 0.5s ease, top 0.5s ease, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-header._scrolled {
  background-color: #ffffff;
}
.c-header._hidden {
  -webkit-transform: translateY(calc(-100% - 23px));
          transform: translateY(calc(-100% - 23px));
}
.c-header._visible {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (min-width: 1200.1px) {
  .c-header {
    top: 23px;
    left: 20px;
    right: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
    max-width: 1340px;
    margin-inline: auto;
  }
}

.c-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1340px;
  margin-inline: auto;
  padding-inline: var(--paddingInline);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
  z-index: 21;
  -webkit-transition: padding-inline 0.5s ease;
  transition: padding-inline 0.5s ease;
  height: 80px;
}
@media (min-width: 1200.1px) {
  .c-header-inner {
    padding-inline: 32px 20px;
  }
}
@media (max-width: 767px) {
  .c-header-inner {
    padding-inline: 20px;
  }
}

._drawer-open .c-header-logo {
  fill: white;
}
.c-header-logo svg {
  width: 210px;
  height: 48px;
}
@media (max-width: 767px) {
  .c-header-logo img {
    width: 210px;
    height: 48px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.c-header-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}
@media (max-width: 767px) {
  .c-header-right {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.c-header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  gap: 30px;
  font-size: 14px;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-header-navItem {
  height: 100%;
}
.c-header-navItem:has(.c-header-dropdown) {
  cursor: pointer;
}
.c-header-navItem:has(.c-header-dropdown):hover .c-header-navLabel {
  position: relative;
}
.c-header-navItem:has(.c-header-dropdown):hover .c-header-navLabel:before {
  position: absolute;
  content: "";
  border-bottom: 15px solid #006898;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  left: calc(50% - 6px);
  bottom: 0;
}
.c-header-navItem:has(.c-header-dropdown):hover .c-header-dropdown {
  max-height: 500px;
}

.c-header-navLabel {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-header-navLabel:hover {
  opacity: 1;
}
._has-dropdown .c-header-navLabel {
  position: relative;
  padding-right: 20px;
}
._has-dropdown .c-header-navLabel:after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 12px;
  height: 6px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC43OTIiIGhlaWdodD0iNS45MzYiIHZpZXdCb3g9IjAgMCAxMC43OTIgNS45MzYiPiA8cGF0aCBpZD0i44OR44K5XzIwIiBkYXRhLW5hbWU9IuODkeOCuSAyMCIgZD0iTS43NSwwLDAsLjc1OSw0LjQ1OCw1LjRsLS40NzUuNSwwLDBMLjAyNCwxMC4wMjJsLjczOS43N0w1LjkzNiw1LjQuNzUsMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuNzkyKSByb3RhdGUoOTApIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=");
  background-size: contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
._has-dropdown:hover .c-header-navLabel::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-header-dropdown {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
  position: absolute;
  background-color: #006898;
  color: #ffffff;
  top: 100%;
  left: 50px;
  right: 50px;
  max-width: 1200px;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
}
.c-header-dropdown ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 30px;
  width: 100%;
}

.c-header-sns {
  color: #4B9FC6;
}
.c-header-sns .c-sns {
  gap: 15px;
}
.c-header-sns [class^=c-icon] {
  width: 30px;
  height: 30px;
}
@media (min-width: 1200.1px) {
  .c-header-sns .c-sns {
    gap: 24px;
  }
  .c-header-sns [class^=c-icon] {
    width: 40px;
    height: 40px;
  }
}

.c-header-contact {
  display: inline-block;
  color: #ffffff;
  background-color: #006898; /*#4B9FC6*/
  padding: 13px 37px;
  border-radius: 25px;
}
.c-header-contact:visited {
  color: #ffffff;
}

.c-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  padding-block: 9px;
  padding-inline: 17px;
  border-radius: 10px;
}
.c-search input[type=text] {
  border: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-search input[type=text]:focus-visible {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-search [type=submit] {
  color: #006898;
}
.c-search:has(input[type=text]:focus) {
  -webkit-box-shadow: 0 0px 0px 3px rgba(101, 169, 199, 0.8);
          box-shadow: 0 0px 0px 3px rgba(101, 169, 199, 0.8);
}
@media (max-width: 767px) {
  .c-search {
    border-radius: 8px;
  }
  .c-search input[type=text] {
    width: calc(100% - 30px);
  }
  .c-search [type=submit] {
    width: 30px;
  }
}

.c-header-search .c-search {
  border: #707070 1px solid;
  border-radius: 23px;
  background-color: transparent;
}
.c-header-search .c-search input[type=text] {
  background-color: transparent;
}
@media (min-width: 1200.1px) {
  .c-header-search .c-search {
    background-color: #EAEAEA;
    border: #EAEAEA 1px solid;
  }
}

.c-header-toggle {
  display: none;
  width: 48px;
  height: 48px;
  background-color: #006898;
  border-radius: 10px;
  position: fixed;
  top: 15px;
  right: 15px;
  -webkit-transition: top 0.5s ease;
  transition: top 0.5s ease;
}
.c-header-toggle span {
  width: 22px;
  height: 1px;
  background-color: #ffffff;
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.c-header-toggle span:nth-of-type(1) {
  top: 20px;
}
.c-header-toggle span:nth-of-type(2) {
  top: 29px;
}
._drawer-open .c-header-toggle span:nth-of-type(1) {
  top: calc(50% - 1px);
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
._drawer-open .c-header-toggle span:nth-of-type(2) {
  top: calc(50% - 1px);
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.c-drawer {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100dvh;
  z-index: 20;
  -webkit-transition: right 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: right 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
._drawer-open .c-drawer {
  right: 0;
}

.c-drawer-overlay {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 100%;
  height: 100dvh;
  background-color: #4B9FC6;
}

.c-drawer-inner {
  width: 100%;
  height: calc(100% - var(--headerHeight));
  overflow-y: scroll;
  padding-inline: var(--paddingInline);
  padding-top: 25px;
  padding-bottom: 100px;
  margin-top: var(--headerHeight);
}

.c-drawer-search {
  margin-bottom: 27px;
}

.c-drawer-menu {
  color: #ffffff;
  font-weight: 500;
  margin-bottom: 27px;
}
.c-drawer-menu a {
  display: block;
}
.c-drawer-menu .js-accordion-label {
  padding-block: 13px;
}
.c-drawer-menu .js-accordion-label::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 6px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC43OTIiIGhlaWdodD0iNS45MzYiIHZpZXdCb3g9IjAgMCAxMC43OTIgNS45MzYiPiA8cGF0aCBpZD0i44OR44K5XzEzMSIgZGF0YS1uYW1lPSLjg5HjgrkgMTMxIiBkPSJNLjc1LDAsMCwuNzU5LDQuNDU4LDUuNGwtLjQ3NS41LDAsMEwuMDI0LDEwLjAyMmwuNzM5Ljc3TDUuOTM2LDUuNC43NSwwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC43OTIpIHJvdGF0ZSg5MCkiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
  background-position: center/contain;
  background-repeat: no-repeat;
  top: calc(50% - 3px);
  right: 0;
}
.c-drawer-menu .js-accordion {
  border-bottom: #85CEEF 1px solid;
}
.c-drawer-menu > li > a {
  padding-block: 13px;
}

.c-drawer-submenu {
  padding-top: 7px;
  padding-left: 20px;
  padding-bottom: 40px;
}
.c-drawer-submenu li:not(:last-child) {
  margin-bottom: 17px;
}

.c-drawer-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
.c-drawer-bottom .c-sns {
  gap: 24px;
}
.c-drawer-bottom [class^=c-icon] {
  width: 40px;
  height: 40px;
  fill: #ffffff;
}

.c-drawer-contact a {
  display: inline-block;
  background-color: #006898;
  border-radius: 6px;
  font-weight: 500;
  color: #ffffff;
  padding: 12px 41px;
}

@media (min-width: 1400px) {
  .c-header-logo svg {
    width: 274px;
    height: 23px;
  }
  .c-header-nav {
    font-size: inherit;
  }
}
@media (min-width: 767.1px) {
  .c-drawer {
    max-width: 420px;
  }
}
@media (max-width: 1200px) {
  .c-header-nav {
    display: none;
  }
  .c-header-search {
    display: none;
  }
  .c-header-sns {
    display: none;
  }
  .c-header-contact {
    display: none;
  }
  .c-header-toggle {
    display: block;
  }
}
.c-footer {
  background-color: #006898;
  background-color: #4B9FC6;
  color: #ffffff;
  padding-block: 70px;
}

.c-footer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px;
}

.c-footer-logoArea {
  -ms-flex-preferred-size: calc(50% - 15px);
      flex-basis: calc(50% - 15px);
  max-width: calc(50% - 30px);
}
@media (max-width: 767px) {
  .c-footer-logoArea {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: none;
    text-align: center;
  }
}

.c-footer-logo {
  margin-bottom: 30px;
  display: block;
}
@media (max-width: 767px) {
  .c-footer-logo img {
    width: 303px;
  }
}

.c-footer-address {
  display: none;
}
@media (max-width: 767px) {
  .c-footer-address {
    display: block;
    text-align: center;
    margin-bottom: 30px;
  }
}

.c-footer-sns {
  color: #F2F2F2;
}
.c-footer-sns .c-sns {
  gap: 16px;
}
.c-footer-sns [class^=c-icon] {
  width: 40px;
  height: 40px;
}
@media (max-width: 767px) {
  .c-footer-sns [class^=c-icon] {
    width: 35px;
    height: 35px;
  }
  .c-footer-sns .c-sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-footer-navArea {
  -ms-flex-preferred-size: calc(50% - 15px);
      flex-basis: calc(50% - 15px);
  max-width: calc(50% - 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 15.789%;
}
.c-footer-navArea dt {
  font-weight: 500;
  border-bottom: 1px solid #85CEEF;
  padding-bottom: 17px;
  margin-bottom: 17px;
}
.c-footer-navArea dd:not(:last-of-type) {
  margin-bottom: 12px;
}
.c-footer-navArea dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-height: 170px;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
}
.c-footer-navArea dd ul li {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-footer-navArea dd li:not(:last-of-type) {
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .c-footer-navArea {
    display: none;
  }
}

.c-footer-bottomArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
.c-footer-bottomArea span:before {
  content: "  /  ";
  width: 1.2em;
  display: block;
  text-align: center;
}
@media (max-width: 767px) {
  .c-footer-bottomArea {
    margin-top: 16px;
  }
}

.c-footer-links {
  text-align: right;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-footer-links {
    display: none;
  }
}

.c-footer-copyright {
  font-size: 14px;
  font-family: "Jost", sans-serif;
  font-weight: 300;
}
@media (max-width: 767px) {
  .c-footer-copyright {
    font-size: 12px;
    text-align: center;
    width: 100%;
  }
}

.js-accordion-label {
  position: relative;
  cursor: pointer;
}
.js-accordion-label::after {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
._open .js-accordion-label::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.js-accordion-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}

.c-breadcrumb {
  padding-block: 12px;
  background-color: #4B9FC6;
  color: #ffffff;
  font-size: 0;
}
.c-breadcrumb .c-inner {
  max-width: 1340px;
}
.c-breadcrumb li {
  font-size: 14px;
  display: inline-block;
}
.c-breadcrumb li:not(:last-child)::after {
  content: "  〉";
  display: inline-block;
  margin: 0 8px;
}
@media (max-width: 767px) {
  .c-breadcrumb {
    line-height: 2.1;
  }
  .c-breadcrumb li {
    font-size: 11px;
  }
}

.c-pager {
  margin-top: 100px;
}
.c-pager .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-pager .wp-pagenavi .current, .c-pager .wp-pagenavi .page {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: 16px;
  font-family: "Jost", sans-serif;
  font-weight: 500;
}
.c-pager .wp-pagenavi .page {
  background-color: #FFFFFF;
  color: #969696;
}
.c-pager .wp-pagenavi .current {
  background-color: #4B9FC6;
  color: #FFFFFF;
}
.c-pager .wp-pagenavi .previouspostslink, .c-pager .wp-pagenavi .nextpostslink {
  font-size: 0;
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
}
.c-pager .wp-pagenavi .previouspostslink:hover, .c-pager .wp-pagenavi .nextpostslink:hover {
  color: rgb(53.3924050633, 132.0759493671, 168.6075949367);
}
.c-pager .wp-pagenavi .previouspostslink {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4Ljc5OSIgaGVpZ2h0PSIxNS45OTkiIHZpZXdCb3g9IjAgMCA4Ljc5OSAxNS45OTkiPiA8cGF0aCBpZD0i44OR44K5XzEzNyIgZGF0YS1uYW1lPSLjg5HjgrkgMTM3IiBkPSJNOC41MDUsMTUuNzY1YS44NS44NSwwLDAsMS0xLjE3MSwwTC40ODUsOS4xNTRhMS41NiwxLjU2LDAsMCwxLDAtMi4yNjFMNy4zODQuMjMzQS44NS44NSwwLDAsMSw4LjU0Ny4yMjVhLjc4MS43ODEsMCwwLDEsLjAwOSwxLjE0TDIuMjQxLDcuNDU4YS43OC43OCwwLDAsMCwwLDEuMTMxbDYuMjY0LDYuMDQ1YS43NzkuNzc5LDAsMCwxLDAsMS4xMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDEgMCkiIGZpbGw9IiM0YjlmYzYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}
.c-pager .wp-pagenavi .nextpostslink {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4Ljc5OSIgaGVpZ2h0PSIxNS45OTkiIHZpZXdCb3g9IjAgMCA4Ljc5OSAxNS45OTkiPiA8cGF0aCBpZD0i44OR44K5XzEzNiIgZGF0YS1uYW1lPSLjg5HjgrkgMTM2IiBkPSJNLjI5MywxNS43NjVhLjg1Ljg1LDAsMCwwLDEuMTcxLDBsNi44NS02LjYxYTEuNTYsMS41NiwwLDAsMCwwLTIuMjYxTDEuNDE0LjIzM0EuODUuODUsMCwwLDAsLjI1MS4yMjVhLjc4MS43ODEsMCwwLDAtLjAwOSwxLjE0TDYuNTU3LDcuNDU4YS43OC43OCwwLDAsMSwwLDEuMTMxTC4yOTMsMTQuNjM0YS43NzkuNzc5LDAsMCwwLDAsMS4xMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDEgMCkiIGZpbGw9IiM0YjlmYzYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}
@media (max-width: 767px) {
  .c-pager {
    margin-top: 50px;
  }
}

/* ====================================
  下層ページ共通
 ==================================== */
.c-pages {
  background-color: #F2F2F2;
  padding-bottom: 180px;
}
.c-pages header {
  background-color: #4B9FC6;
  margin-bottom: 50px;
  padding-block: 70px;
}
.c-pages h1 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4375;
  color: #ffffff;
}
@media (max-width: 767px) {
  .c-pages {
    padding-bottom: 80px;
  }
  .c-pages header {
    margin-bottom: 35px;
    padding-block: 50px;
  }
  .c-pages h1 {
    font-size: 24px;
  }
}

.c-sp-shown {
  display: none;
}
@media (max-width: 767px) {
  .c-sp-shown {
    display: inline;
  }
}

.c-pc-shown {
  display: inline;
}
@media (max-width: 767px) {
  .c-pc-shown {
    display: none;
  }
}

/* ====================================
  ファーストビュー
 ==================================== */
.p-firstview {
  position: relative;
  height: 100dvh;
}

.p-firstview-image {
  width: 100%;
  height: 100%;
  display: block;
}
.p-firstview-image img, .p-firstview-image video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-firstview-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}
@media (max-width: 767px) {
  .p-firstview-content {
    width: 100%;
  }
}

.p-firstview-catch1 {
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  .p-firstview-catch1 {
    font-size: 25px;
    line-height: 1.8;
  }
}

.p-firstview-catch2 {
  font-size: 20px;
  letter-spacing: 0.2em;
  margin-bottom: 63px;
}
@media (max-width: 767px) {
  .p-firstview-catch2 {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 35px;
  }
}

.p-firstview-search .c-search {
  max-width: 650px;
  margin-inline: auto;
  padding: 15px 32px;
}
@media (max-width: 767px) {
  .p-firstview-search {
    max-width: 295px;
    margin-inline: auto;
  }
}

/* ====================================
  トップページ - メニュー
 ==================================== */
.p-topMenu {
  background-color: #F2F2F2;
  padding-block: 90px 110px;
}
@media (max-width: 767px) {
  .p-topMenu {
    padding-block: 60px 70px;
  }
}

/* トップの3つのタブ */
.p-tab1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 22px;
}
.p-tab1 a {
  display: inline-block;
  position: relative;
}
.p-tab1 li._current a::before {
  position: absolute;
  content: "";
  border-bottom: 12px solid #006898;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  bottom: -22px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-tab1 {
    font-size: 15px;
  }
  .p-tab1 li span {
    display: none;
  }
}

.p-tab1-content {
  background-color: #ffffff;
  border-radius: 15px;
  padding: 43px 50px;
}
@media (max-width: 767px) {
  .p-tab1-content {
    border-radius: 10px;
    padding: 20px;
  }
}

/* 用途やお悩みのタブ */
.p-tab2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 43px;
  font-weight: 500;
}
.p-tab2 li a {
  display: block;
  border-radius: 8px;
  padding: 9px 17px;
  color: #ffffff;
  background-color: #C8C8C8;
}
.p-tab2 li._current a {
  background-color: #006898;
}
@media (max-width: 767px) {
  .p-tab2 {
    font-size: 15px;
    line-height: 1.4;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 20px;
    padding-block: 8;
    text-align: center;
  }
  .p-tab2 li {
    -ms-flex-preferred-size: calc(50% - 5px);
        flex-basis: calc(50% - 5px);
  }
  .p-tab2 li a {
    border-radius: 6px;
  }
}

.p-tab2-content {
  background-color: #F2F2F2;
  border-radius: 15px;
  padding: 27px 50px;
}
@media (max-width: 767px) {
  .p-tab2-content {
    border-radius: 10px;
    padding: 20px;
  }
}

/* 用途やお悩みの小カテゴリ */
[data-tab=spa] ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 17px 10px;
  font-weight: 500;
}
@media (max-width: 767px) {
  [data-tab=spa] ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    font-size: 15px;
  }
}

[data-tab=spa] li a {
  display: inline-block;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 9px 17px;
  width: 100%;
  text-align: center;
}

[data-tab=industry] ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  font-weight: 500;
}
@media (max-width: 767px) {
  [data-tab=industry] ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    font-size: 15px;
  }
}

[data-tab=industry] li {
  -ms-flex-preferred-size: calc((100% - 40px) / 3);
      flex-basis: calc((100% - 40px) / 3);
  border-radius: 10px;
}
[data-tab=industry] li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F2F2F2;
  border-radius: 10px;
  overflow: hidden;
}
[data-tab=industry] li a > div:first-child {
  aspect-ratio: 1/1;
  -ms-flex-preferred-size: 90px;
      flex-basis: 90px;
}
[data-tab=industry] li a > div:first-child img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
[data-tab=industry] li a > div:last-child {
  -ms-flex-preferred-size: calc(100% - 90px);
      flex-basis: calc(100% - 90px);
  padding: 26px;
}

[data-tab=purpose] ul,
[data-tab=category] ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 17px 10px;
  font-weight: 500;
}
@media (max-width: 767px) {
  [data-tab=purpose] ul,
  [data-tab=category] ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    font-size: 15px;
  }
}

[data-tab=purpose] li a,
[data-tab=category] li a {
  display: inline-block;
  background-color: #F2F2F2;
  border-radius: 8px;
  padding: 9px 17px;
  width: 100%;
  text-align: center;
}

[data-tab=keyword] .c-search {
  max-width: 800px;
  margin-inline: auto;
  background-color: #F2F2F2;
  height: 56px;
}
[data-tab=keyword] .c-search input {
  background-color: #F2F2F2;
}

/* ====================================
  トップページ - 私たちについて
 ==================================== */
.p-aboutUs {
  padding-top: 115px;
  padding-bottom: 150px;
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .p-aboutUs {
    padding-top: 62px;
    padding-bottom: 73px;
  }
}

.p-aboutUs-lead {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 2.6;
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .p-aboutUs-lead {
    font-size: 16px;
    text-align: left;
  }
}

.p-aboutUs-text1 {
  text-align: center;
  font-size: 36px;
  color: #4B9FC6;
  letter-spacing: 0.03em;
  font-weight: 700;
  margin-bottom: 18px;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .p-aboutUs-text1 {
    font-size: 28px;
    margin-bottom: 12px;
  }
}

.p-aboutUs-text2 {
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 36px;
}
@media (max-width: 767px) {
  .p-aboutUs-text2 {
    text-align: left;
    font-size: 24px;
    letter-spacing: 0.03em;
  }
}

.p-aboutUs-text3 {
  text-align: center;
  font-size: 30px;
  letter-spacing: 0.03em;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 80px;
}
.p-aboutUs-text3 > span {
  background-color: #4B9FC6;
  border-radius: 10px;
  padding: 18px 48px;
}
@media (max-width: 767px) {
  .p-aboutUs-text3 {
    font-size: 22px;
    margin-bottom: 52px;
  }
  .p-aboutUs-text3 > span {
    padding-inline: 20px;
  }
}

.p-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 72px;
}
@media (max-width: 767px) {
  .p-feature {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 26px;
  }
}

.p-feature-item {
  background-color: #EFFAFF;
  padding-block: 46px;
  border-radius: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -ms-flex-preferred-size: calc((100% - 216px) / 4);
      flex-basis: calc((100% - 216px) / 4);
  position: relative;
}
.p-feature-item::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 30px;
  background: url("../images/top/feature-plus.png") no-repeat center/contain;
}
@media (min-width: 767.1px) {
  .p-feature-item::after {
    top: calc(50% - 15px);
    left: calc(100% + 20px);
  }
  .p-feature-item:last-child::after {
    content: none;
  }
}
.p-feature-item p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 22px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-feature-item {
    -ms-flex-preferred-size: calc(50% - 13px);
        flex-basis: calc(50% - 13px);
    padding-block: 28px 20px;
    min-height: 165px;
  }
  .p-feature-item::after {
    width: 16px;
    height: 16px;
  }
  .p-feature-item:nth-child(1)::after {
    top: calc(100% + 5px);
    left: calc(50% - 8px);
  }
  .p-feature-item:nth-child(2)::after {
    top: calc(50% - 8px);
    right: calc(100% + 5px);
  }
  .p-feature-item:nth-child(3)::after {
    top: calc(50% - 8px);
    left: calc(100% + 5px);
  }
  .p-feature-item:nth-child(4)::after {
    left: calc(50% - 8px);
    bottom: calc(100% + 5px);
  }
  .p-feature-item p {
    font-size: 17px;
  }
}

.p-feature-icon {
  margin-bottom: 15px;
}
.p-feature-icon img {
  width: 100px;
}
@media (max-width: 767px) {
  .p-feature-icon {
    margin-bottom: 0;
  }
  .p-feature-icon img {
    width: 60px;
  }
}

.p-feature-text {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.2222222222;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .p-feature-text {
    margin-top: 40px;
    text-align: left;
    font-size: 15px;
    line-height: 2;
  }
}

/* ====================================
  トップページ - トピックス
 ==================================== */
.p-topTopics {
  padding-block: 100px 136px;
  background-color: #F2F2F2;
}
.p-topTopics .c-section-heading {
  text-align: left;
}
.p-topTopics .swiper-slide img {
  border-radius: 10px;
}
@media (max-width: 767px) {
  .p-topTopics {
    padding-block: 70px 73px;
  }
}

.p-topTopics-carousel {
  overflow: hidden;
  --swiper-pagination-bullet-inactive-color: #CECECE;
  --swiper-pagination-bullet-width: 46px;
  --swiper-pagination-bullet-height: 3px;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-pagination-color: #65A9C7;
  --swiper-pagination-bullet-horizontal-gap: 5px;
}
.p-topTopics-carousel .swiper {
  overflow: visible;
  max-width: 1290px;
}
.p-topTopics-carousel .swiper-slide {
  width: 409px;
}
.p-topTopics-carousel .swiper-pagination {
  position: static;
  font-size: 3px;
  margin-top: 28px;
}
@media (max-width: 767px) {
  .p-topTopics-carousel {
    padding-left: 30px;
  }
  .p-topTopics-carousel .swiper-slide {
    width: 315px;
  }
}

/* ====================================
  トップページ - 事業内容
 ==================================== */
.p-topBusiness {
  padding-block: 150px 110px;
  background: url("../images/top/buisiness.jpg?123") no-repeat center/cover;
}
.p-topBusiness .c-section-heading {
  text-align: left;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-topBusiness {
    padding-block: 120px 60px;
    background-image: url("../images/top/buisiness-sp.jpg?123");
    background-position: right 36% top 31%;
    background-size: auto 120%;
  }
  .p-topBusiness .c-section-heading {
    margin-bottom: 40px;
  }
  .p-topBusiness .c-section-heading ._en {
    line-height: 1.0833333333;
    margin-bottom: 10px;
  }
}

.p-topBusiness-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .p-topBusiness-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-topBusiness-content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-topBusiness-content ul {
  font-size: 18px;
  width: 330px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-topBusiness-content li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  border: 1px solid #DCDCDC;
  padding: 18px 24px;
  border-radius: 33px;
  background-color: #ffffff;
}
.p-topBusiness-content li span:first-child {
  font-size: 16px;
  color: #969696;
  font-weight: 500;
  font-family: "Jost", sans-serif;
}
.p-topBusiness-content li span:last-child {
  font-weight: 500;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}
.p-topBusiness-content li a:hover {
  background-color: #006898;
  border-color: #006898;
  color: #ffffff;
  opacity: 1;
}
.p-topBusiness-content li a:hover span:first-child {
  color: #ffffff;
}
@media (max-width: 767px) {
  .p-topBusiness-content ul {
    font-size: 15px;
    width: 287px;
  }
  .p-topBusiness-content li a {
    gap: 10px;
  }
  .p-topBusiness-content li span:first-child {
    font-size: 14px;
  }
}

.p-topBusiness-link {
  text-align: center;
  margin-top: 43px;
  color: #006898;
}
@media (max-width: 767px) {
  .p-topBusiness-link {
    margin-top: 35px;
  }
  .p-topBusiness-link .c-more-link {
    font-size: 17px;
  }
}

/* ====================================
  トップページ - バナーグループ
 ==================================== */
.p-bannerGroup .c-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
}
.p-bannerGroup._group1 {
  background-color: #F2F2F2;
  padding-block: 168px 110px;
}
.p-bannerGroup._group2 {
  background-color: #F2F2F2;
  padding-block: 168px 110px;
}
@media (max-width: 767px) {
  .p-bannerGroup .c-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
  .p-bannerGroup._group1 {
    gap: 10px;
    padding-block: 70px 73px;
  }
  .p-bannerGroup._group2 {
    padding-block: 30px 53px;
  }
}

/* ====================================
  製品案内バナー
 ==================================== */
.p-productsBanner {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  background: url("../images/top/products.jpg?123") no-repeat center/cover;
  border-radius: 15px;
  padding-left: 70px;
  padding-bottom: 50px;
  padding-top: 180px;
}
.p-productsBanner .c-section-heading {
  text-align: left;
}
.p-productsBanner .c-section-heading ._en {
  font-size: 60px;
}
@media (max-width: 767px) {
  .p-productsBanner {
    padding-top: 100px;
    padding-left: 30px;
    padding-bottom: 50px;
  }
  .p-productsBanner .c-section-heading ._en {
    font-size: 40px;
  }
  .p-productsBanner .c-section-heading ._ja {
    font-size: 16px;
  }
}

.p-productsBanner-more {
  color: #4B9FC6;
}

/* ====================================
  会社案内バナー
 ==================================== */
.p-companyBanner {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  background: url("../images/top/company.jpg?123") no-repeat center/cover;
  border-radius: 15px;
  padding-left: 70px;
  padding-bottom: 50px;
  padding-top: 180px;
  color: #ffffff;
}
.p-companyBanner:visited {
  color: #ffffff;
}
.p-companyBanner .c-section-heading {
  text-align: left;
}
.p-companyBanner .c-section-heading ._en {
  font-size: 60px;
  color: inherit;
}
@media (max-width: 767px) {
  .p-companyBanner {
    padding-top: 100px;
    padding-left: 30px;
    padding-bottom: 50px;
  }
  .p-companyBanner .c-section-heading ._en {
    font-size: 40px;
  }
  .p-companyBanner .c-section-heading ._ja {
    font-size: 16px;
  }
}

/* ====================================
  お問い合わせバナー
 ==================================== */
.p-contactBanner {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  background-color: #ffffff;
  padding-top: 60px;
  padding-bottom: 65px;
  padding-left: 80px;
  border-radius: 20px;
}
.p-contactBanner .c-section-heading {
  text-align: left;
}
.p-contactBanner .c-section-heading ._en {
  font-size: 60px;
}
.p-contactBanner p {
  font-size: 18px;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  .p-contactBanner {
    padding-block: 40px;
    padding-inline: 30px;
  }
  .p-contactBanner .c-section-heading {
    text-align: left;
    margin-bottom: 23px;
  }
  .p-contactBanner .c-section-heading ._en {
    font-size: 40px;
  }
  .p-contactBanner .c-section-heading ._ja {
    font-size: 16px;
  }
  .p-contactBanner p {
    font-size: 15px;
    line-height: 2;
  }
}

.p-contactBanner-button {
  margin-top: 60px;
}
.p-contactBanner-button span {
  display: inline-block;
  background-color: #4B9FC6;
  background-color: #006898;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  padding: 20px 70px;
  border-radius: 32px;
}
@media (max-width: 767px) {
  .p-contactBanner-button {
    margin-top: 30px;
    text-align: center;
  }
  .p-contactBanner-button span {
    padding: 11px 44px;
  }
}

/* ====================================
  SNSバナー
 ==================================== */
.p-snsBanner {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  background-color: #ffffff;
  padding-top: 60px;
  padding-bottom: 65px;
  padding-inline: 90px;
  border-radius: 20px;
}
.p-snsBanner .c-section-heading {
  text-align: left;
}
.p-snsBanner .c-section-heading ._en {
  font-size: 60px;
}
@media (max-width: 767px) {
  .p-snsBanner {
    padding-block: 40px 34px;
    padding-inline: 30px;
    border-radius: 10px;
  }
  .p-snsBanner .c-section-heading ._en {
    font-size: 40px;
  }
  .p-snsBanner .c-section-heading ._ja {
    font-size: 16px;
  }
}
.p-snsBanner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}
.p-snsBanner ul li {
  -ms-flex-preferred-size: calc(50% - 7.5px);
      flex-basis: calc(50% - 7.5px);
}
.p-snsBanner ul li a {
  text-align: center;
  display: block;
  width: 100%;
  height: 100%;
  padding-block: 42px 24px;
  padding-inline: 30px;
  background-color: #EDEDED;
  border-radius: 15px;
  color: #006898;
}
.p-snsBanner ul [class^=c-icon] {
  width: 45px;
  height: 45px;
  margin-bottom: 15px;
}
.p-snsBanner ul p {
  font-size: 18px;
  font-weight: 500;
  color: #323232;
}
@media (max-width: 767px) {
  .p-snsBanner .c-section-heading {
    margin-bottom: 14px;
  }
  .p-snsBanner ul [class^=c-icon] {
    width: 33px;
    height: 33px;
    margin-bottom: 0;
  }
  .p-snsBanner ul li {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .p-snsBanner ul li a {
    text-align: left;
    padding-block: 16px;
    padding-inline: 23px;
  }
  .p-snsBanner ul p {
    display: inline-block;
    vertical-align: middle;
    margin-left: 17px;
  }
}

/* ====================================
  トップページ - ニュース
 ==================================== */
.p-topNews {
  padding-top: 130px;
  background-color: #F2F2F2;
}
.p-topNews .c-section-heading {
  text-align: left;
}
@media (max-width: 767px) {
  .p-topNews {
    padding-top: 52px;
  }
  .p-topNews .c-section-heading {
    margin-bottom: 0;
  }
}

.p-topNews-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .p-topNews-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}

.p-topNews-header {
  -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
}
.p-topNews-header .c-section-heading {
  line-height: 1;
  padding-bottom: 0.25em;
}
@media (max-width: 767px) {
  .p-topNews-header {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.p-topNews-content {
  -ms-flex-preferred-size: calc(100% - 260px);
      flex-basis: calc(100% - 260px);
  max-width: 910px;
}
.p-topNews-content ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.p-topNews-content li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 26px;
  padding: 18px 30px;
  background-color: #ffffff;
}
.p-topNews-content li time {
  color: #4B9FC6;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  -ms-flex-preferred-size: 90px;
      flex-basis: 90px;
}
.p-topNews-content li span {
  -ms-flex-preferred-size: calc(100% - 116px);
      flex-basis: calc(100% - 116px);
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
@media (max-width: 767px) {
  .p-topNews-content {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    max-width: 100%;
  }
  .p-topNews-content li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
    padding: 24px 30px 28px;
  }
  .p-topNews-content li time {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .p-topNews-content li span {
    display: block;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
  }
}

/* ====================================
  トップページ - 採用情報
 ==================================== */
.p-topRecruit {
  padding-right: 50px;
  background-color: #F2F2F2;
  position: relative;
  padding-bottom: 70px;
}
.p-topRecruit .c-section-heading {
  text-align: left;
  margin-bottom: 34px;
}
.p-topRecruit .c-section-heading ._en {
  font-size: 60px;
  color: inherit;
}
@media (max-width: 767px) {
  .p-topRecruit {
    padding-right: 0;
    padding-bottom: 0;
  }
  .p-topRecruit .c-section-heading ._en {
    font-size: 40px;
  }
}

.p-topRecruit-image {
  display: block;
  width: calc(100% - 120px);
  aspect-ratio: 1320/600;
}
.p-topRecruit-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-topRecruit-image {
    width: 100%;
    aspect-ratio: auto;
  }
  .p-topRecruit-image img {
    height: auto;
  }
}

.p-topRecruit-box {
  max-width: 452px;
  color: #ffffff;
  background-color: #4B9FC6;
  border-radius: 15px;
  padding-top: 58px;
  padding-inline: 70px;
  padding-bottom: 98px;
  position: absolute;
  right: 50px;
  bottom: 0;
}
.p-topRecruit-box p {
  line-height: 2;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .p-topRecruit-box {
    max-width: none;
    left: auto;
    right: auto;
    top: -30px;
    padding: 33px 40px 50px;
    border-radius: 10px;
    margin-inline: 30px;
    position: relative;
  }
  .p-topRecruit-box p {
    font-size: 15px;
    margin-bottom: 25px;
  }
}

/* ====================================
  製品一覧ページ
 ==================================== */
.p-productsArchive {
  background-color: #F2F2F2;
  padding-bottom: 180px;
}
.p-productsArchive header {
  background-color: #4B9FC6;
  color: #ffffff;
  margin-bottom: 50px;
  padding-block: 70px;
}
.p-productsArchive h1 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4375;
  color: #ffffff;
}
@media (max-width: 767px) {
  .p-productsArchive {
    padding-bottom: 80px;
  }
  .p-productsArchive header {
    margin-bottom: 35px;
    padding-block: 50px;
  }
  .p-productsArchive h1 {
    font-size: 24px;
  }
}

.p-advancedSearch + .p-productCards {
  margin-top: 60px;
}

.p-taxonomyLinks + .p-productCards {
  margin-top: 45px;
}

.p-currentCategory + .p-productCards {
  margin-top: 45px;
}

.p-searchConditions {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}

.p-productCards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 80px 66px;
}
@media (max-width: 767px) {
  .p-productCards {
    gap: 50px 30px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

.p-productCard .thumbnail {
  aspect-ratio: 1/1;
  margin-bottom: 15px;
}
.p-productCard .thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-productCard .category {
  margin-bottom: 10px;
  font-size: 15px;
}
.p-productCard .category span {
  display: inline-block;
  padding: 6px 13px 7px;
  border-radius: 5px;
  background-color: #ffffff;
  color: #4B9FC6;
}
.p-productCard .title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 11px;
}
.p-productCard .form {
  font-size: 15px;
  margin-bottom: 17px;
}
.p-productCard .description {
  line-height: 2;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 19px;
}
.p-productCard .tags {
  border-top: 1px solid #C8C8C8;
  padding-top: 14px;
  font-size: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px 15px;
}
@media (max-width: 767px) {
  .p-productCard > a {
    display: grid;
    grid-template-areas: "thumbnail category" "thumbnail title" "thumbnail form" "description description";
    -webkit-column-gap: 28px;
       -moz-column-gap: 28px;
            column-gap: 28px;
    grid-template-columns: 130px 1fr;
    grid-template-rows: auto auto auto auto;
  }
  .p-productCard .thumbnail {
    grid-area: thumbnail;
  }
  .p-productCard .category {
    grid-area: category;
    font-size: 12px;
  }
  .p-productCard .title {
    grid-area: title;
    font-size: 16px;
  }
  .p-productCard .form {
    grid-area: form;
    font-size: 12px;
  }
  .p-productCard .description {
    grid-area: description;
  }
}

.p-taxonomyLinks ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
.p-taxonomyLinks span {
  margin-right: 15px;
}
.p-taxonomyLinks a {
  display: inline-block;
  padding: 6px 13px 7px;
  border-radius: 5px;
  background-color: #ffffff;
  color: #4B9FC6;
  font-size: 15px;
}

.p-currentCategory {
  margin-bottom: 20px;
}
.p-currentCategory span:first-child {
  display: block;
  margin-bottom: 10px;
}
.p-currentCategory span:last-child {
  display: inline-block;
  padding: 6px 13px 7px;
  border-radius: 5px;
  background-color: #4B9FC6;
  color: #ffffff;
  font-size: 15px;
}

/* ====================================
  製品ページ
 ==================================== */
main:has(.p-product) .c-breadcrumb {
  background-color: transparent;
  color: inherit;
}

.p-product {
  padding-top: 43px;
  background-color: #F2F2F2;
  padding-bottom: 180px;
}
@media (max-width: 767px) {
  .p-product {
    padding-bottom: 80px;
    padding-top: 18px;
  }
}

.p-product-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .p-product-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 80px;
  }
}

.p-product-sidebar {
  -ms-flex-preferred-size: 23.3333333333%;
      flex-basis: 23.3333333333%;
}

.p-product-content {
  -ms-flex-preferred-size: 71.6666666667%;
      flex-basis: 71.6666666667%;
}
@media (max-width: 767px) {
  .p-product-content {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.p-product-image {
  aspect-ratio: 1/1;
  -ms-flex-preferred-size: 51.1627906977%;
      flex-basis: 51.1627906977%;
}
.p-product-image img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-product-image {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-inline: calc(var(--paddingInline) * -1);
  }
  .p-product-image img {
    border-radius: 0;
  }
}

.p-product-summary {
  -ms-flex-preferred-size: 43.023255814%;
      flex-basis: 43.023255814%;
}

.p-product-head-content .title,
.p-product-summary .title {
  font-size: 26px;
  font-weight: 500;
  color: #4B9FC6;
  margin-bottom: 16px;
}

.p-product-summary .form {
  font-size: 15px;
  margin-bottom: 22px;
}
.p-product-summary .description {
  line-height: 2;
}

.p-product-meta {
  margin-top: 30px;
  border-top: 1px solid #C8C8C8;
  padding-top: 30px;
}
.p-product-meta li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  font-size: 15px;
}
.p-product-meta li:not(:first-child) {
  margin-top: 14px;
}
.p-product-meta li span:first-child {
  white-space: nowrap;
}
.p-product-meta li span:last-child {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-product-meta li a {
  text-decoration: underline;
}

.p-product-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .p-product-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 26px;
  }
}

.p-product-details {
  margin-top: 40px;
  background-color: #ffffff;
  border-radius: 10px;
  line-height: 2;
}
.p-product-details > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-product-details > div:not(:first-child) {
  border-top: 1px solid #DCDCDC;
}
.p-product-details dt {
  font-weight: 500;
  color: #4B9FC6;
  padding-block: 14px;
  padding-left: 36px;
  padding-right: 20px;
  -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
}
.p-product-details dd {
  padding-block: 14px;
  padding-right: 36px;
  -ms-flex-preferred-size: calc(100% - 200px);
      flex-basis: calc(100% - 200px);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-product-details dd li {
  padding-left: 18px;
  position: relative;
}
.p-product-details dd li::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  color: #C8C8C8;
}
.p-product-details ._usage li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .p-product-details {
    font-size: 15px;
  }
  .p-product-details > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-product-details > div:not(:first-child) {
    border-top: 5px solid #F2F2F2;
  }
  .p-product-details dt {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    padding-inline: 28px;
    padding-bottom: 0;
  }
  .p-product-details dd {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    padding-inline: 28px;
    padding-top: 0;
  }
}

.p-product-body {
  margin-top: 40px;
}

.p-product-contact {
  margin-top: 50px;
  text-align: center;
}
.p-product-contact a {
  display: inline-block;
  background-color: #006898;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 19px 60px;
  border-radius: 32px;
}
@media (max-width: 767px) {
  .p-product-contact {
    margin-top: 40px;
  }
  .p-product-contact a {
    font-size: 15px;
    padding-block: 13px;
    padding-inline: 30px;
  }
}

.p-product-feature {
  margin-top: 87px;
}
.p-product-feature h2 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 30px;
  position: relative;
  padding-left: 0.57em;
}
.p-product-feature h2::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 3px;
  height: 1em;
  background-color: #4B9FC6;
}
.p-product-feature ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 20px;
}
.p-product-feature ul .image {
  aspect-ratio: 420/300;
  margin-bottom: 30px;
}
.p-product-feature ul .image img {
  border-radius: 10px;
}
.p-product-feature ul h3 {
  color: #4B9FC6;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 14px;
}
.p-product-feature ul p {
  line-height: 2;
}
@media (max-width: 767px) {
  .p-product-feature ul {
    grid-template-columns: 1fr;
    gap: 50px 0;
  }
  .p-product-feature ul .image {
    margin-bottom: 26px;
  }
  .p-product-feature h3 {
    font-size: 18px;
  }
  .p-product-feature p {
    font-size: 15px;
  }
}

/* ====================================
  絞り込み検索
 ==================================== */
.p-advancedSearch {
  background-color: #ffffff;
}

.p-advancedSearch-heading {
  font-size: 22px;
  font-weight: 500;
  color: #4B9FC6;
  margin-bottom: 44px;
}
@media (max-width: 767px) {
  .p-advancedSearch-heading {
    font-size: 18px;
  }
}

.p-advancedSearch form label {
  position: relative;
}
.p-advancedSearch form label span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 16px;
  height: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 10px;
  padding-right: 10px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  font-weight: 500;
  border-radius: 6px;
  background-color: #F0F0F0;
  color: #969696;
  color: #006898;
  padding: 8px 14px;
}
.p-advancedSearch form input[type=checkbox]:checked + span {
  background-color: #4B9FC6;
  color: #ffffff;
}
.p-advancedSearch form input[type=checkbox] {
  clip: rect(0 0 0 0);
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.p-advancedSearch form input[type=text] {
  width: 100%;
  max-width: 650px;
  height: 56px;
  background-color: #ffffff;
  border: 1px solid #DCDCDC;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 18px;
}
.p-advancedSearch form input[type=text]:focus {
  outline: none;
  border-color: #4B9FC6;
  -webkit-box-shadow: 0 0 0 3px rgba(75, 159, 198, 0.3);
          box-shadow: 0 0 0 3px rgba(75, 159, 198, 0.3);
}
.p-advancedSearch form input[type=text]::-webkit-input-placeholder {
  color: #C8C8C8;
}
.p-advancedSearch form input[type=text]::-moz-placeholder {
  color: #C8C8C8;
}
.p-advancedSearch form input[type=text]:-ms-input-placeholder {
  color: #C8C8C8;
}
.p-advancedSearch form input[type=text]::-ms-input-placeholder {
  color: #C8C8C8;
}
.p-advancedSearch form input[type=text]::placeholder {
  color: #C8C8C8;
}
@media (max-width: 767px) {
  .p-advancedSearch form label span {
    font-size: 15px;
    height: 40px;
    padding: 6px 10px;
  }
}

.p-advancedSearch-submit {
  text-align: center;
  margin-top: 54px;
}
.p-advancedSearch-submit button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #4B9FC6;
  background-color: #006898;
  border-radius: 32px;
  color: #ffffff;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 18px;
  font-weight: 500;
  gap: 0 10px;
  width: 100%;
  max-width: 200px;
  height: 64px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 40px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.p-advancedSearch-submit button svg {
  width: 20px;
  height: 20px;
  fill: #ffffff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-advancedSearch-submit button:hover {
  background-color: rgb(53.3924050633, 132.0759493671, 168.6075949367);
}
@media (max-width: 767px) {
  .p-advancedSearch-submit button {
    height: 48px;
  }
}

.p-advancedSearch dl > div._keyword {
  text-align: center;
}
.p-advancedSearch dl > div:not(:first-of-type) {
  margin-top: 40px;
}

.p-advancedSearch-name {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 23px;
  position: relative;
  padding-left: 0.57em;
}
.p-advancedSearch-name::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 3px;
  height: 1em;
  background-color: #4B9FC6;
}

.p-advancedSearch dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

.p-advancedSearch .js-accordion-label::before, .p-advancedSearch .js-accordion-label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 20px;
  height: 2px;
  background-color: #4B9FC6;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.p-advancedSearch .js-accordion-label::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.p-advancedSearch._open .js-accordion-label {
  -webkit-box-shadow: 0 0px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0px 6px rgba(0, 0, 0, 0.16);
}
.p-advancedSearch._open .js-accordion-label::after {
  content: none;
}

.p-advancedSearch-button {
  font-size: 22px;
  font-weight: 500;
  background-color: #006898;
  color: #ffffff;
  border-radius: 40px;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 10px;
  padding-inline: 30px;
  height: 70px;
  width: 320px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.p-advancedSearch-button:before {
  content: "";
}
.p-advancedSearch-button svg {
  justify-self: flex-end;
  width: 18px;
  height: 18px;
  stroke: currentColor;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-advancedSearch-button:hover {
  opacity: 0.7;
}
@media (min-width: 767.1px) {
  .p-advancedSearch-button {
    position: fixed;
    z-index: 1;
    /* right: 50px; */
    bottom: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (max-width: 767px) {
  .p-advancedSearch-button {
    font-size: 16px;
    width: 100%;
    height: 46px;
    padding: 0 25px;
    grid-template-columns: 1fr auto;
    margin-bottom: 20px;
  }
  .p-advancedSearch-button:before {
    content: none;
  }
  .p-advancedSearch-button span {
    justify-self: flex-start;
  }
  .p-advancedSearch-button svg {
    width: 15px;
    height: 15px;
  }
}

.p-searchModal {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  backdrop-filter: blur(5px);
}
.p-searchModal._open {
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  opacity: 1;
  visibility: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@-webkit-keyframes opacity-in {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes opacity-in {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes opacity-out {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes opacity-out {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.p-searchModal-overlay {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.p-searchModal-window {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  max-height: 90dvh;
  overflow-y: scroll;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0px 6px rgba(0, 0, 0, 0.16);
  padding: 30px 40px;
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
._open .p-searchModal-window {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
@media (max-width: 767px) {
  .p-searchModal-window {
    padding: 20px 20px 50px;
  }
}

.p-searchModal-close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.p-searchModal-close svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-searchModal-close:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .p-searchModal-close {
    top: 20px;
    right: 20px;
  }
}

/* ====================================
  サイドバー
 ==================================== */
.p-sidebar-search {
  margin-bottom: 20px;
}
.p-sidebar-search .c-search {
  border: 1px solid #C8C8C8;
}

.p-sidebar-nav:first-of-type h2 {
  border-radius: 10px 10px 0 0;
}
.p-sidebar-nav h2 {
  background-color: #4B9FC6;
  color: #ffffff;
  padding-block: 15px;
  padding-inline: 30px;
}
.p-sidebar-nav > ul {
  background-color: #ffffff;
  padding-block: 20px 30px;
  padding-inline: 30px;
}
.p-sidebar-nav > ul > li {
  font-weight: 500;
}
.p-sidebar-nav > ul > li:not(:first-child) {
  margin-top: 6px;
}
.p-sidebar-nav > ul > li > span, .p-sidebar-nav > ul > li > a {
  padding-block: 9px;
  display: block;
}
.p-sidebar-nav > ul > li:has(.js-accordion-content) {
  cursor: pointer;
  position: relative;
}
.p-sidebar-nav > ul > li:has(.js-accordion-content)::after {
  content: "";
  position: absolute;
  top: 15px;
  right: 0;
  width: 10px;
  height: 10px;
  border-right: 1px solid #4B9FC6;
  border-bottom: 1px solid #4B9FC6;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.p-sidebar-nav > ul > li:has(.js-accordion-content)._open::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.p-sidebar-nav .p-sidebar-submenu {
  padding-left: 10px;
  padding-block: 20px 20px;
  font-weight: 400;
}
.p-sidebar-nav .p-sidebar-submenu > li span, .p-sidebar-nav .p-sidebar-submenu > li a {
  display: block;
  padding-block: 6px;
}

.p-sidebar-tagList {
  border-radius: 0 0 10px 10px;
}

.p-sidebar-tags h2 {
  background-color: #4B9FC6;
  color: #ffffff;
  padding-block: 15px;
  padding-inline: 30px;
}
.p-sidebar-tags ul {
  background-color: #ffffff;
  padding-block: 20px 30px;
  padding-inline: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

/* ====================================
  製品案内
 ==================================== */
.p-products {
  padding-bottom: 166px;
}
.p-products header {
  background-color: #4B9FC6;
  margin-bottom: 50px;
}
.p-products h1 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4375;
  color: #ffffff;
  padding-block: 70px;
}
@media (max-width: 767px) {
  .p-products {
    padding-bottom: 80px;
  }
  .p-products header {
    margin-bottom: 35px;
  }
  .p-products h1 {
    font-size: 24px;
    padding-block: 50px;
  }
}

.p-products-nav {
  margin-top: 88px;
  max-width: 1000px;
  margin-inline: auto;
  margin-bottom: 70px;
}
.p-products-nav ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
}
.p-products-nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 13px;
  padding: 24px 20px 19px;
  background-color: #ffffff;
  border-radius: 15px;
  font-size: 18px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-products-nav {
    margin-top: 60px;
    margin-bottom: 50px;
  }
}

.p-products-section {
  max-width: 1000px;
  margin-inline: auto;
}
.p-products-section:not(:first-of-type) {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid #C8C8C8;
}
.p-products-section h2 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4375;
  margin-bottom: 26px;
  position: relative;
  padding-left: 0.57em;
}
.p-products-section h2::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 3px;
  height: 1em;
  background-color: #4B9FC6;
}
.p-products-section .p-tab2 {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.p-products-section .p-tab2-content {
  padding: 0;
}
.p-products-section .p-tab2-pane ul {
  background-color: #ffffff;
  border-radius: 15px;
  padding-block: 40px;
  padding-inline: 50px;
}
.p-products-section [data-tab=spa] li a {
  background-color: #F2F2F2;
}
.p-products-section [data-tab=purpose] li a {
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .p-products-section .p-tab2-pane ul {
    padding-inline: 20px;
    padding-block: 25px;
  }
  .p-products-section:not(:first-of-type) {
    margin-top: 60px;
    padding-top: 60px;
  }
}

.p-industry-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(242px, 1fr));
  gap: 10px;
}
.p-industry-list a {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border-radius: 10px;
  padding-block: 16px;
  padding-inline: 20px 10px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-industry-list a {
    border-radius: 10px;
  }
}

.p-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.p-category-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  border-radius: 30px;
  overflow: hidden;
  gap: 8%;
}
@media (max-width: 767px) {
  .p-category-item a {
    gap: 0;
    border-radius: 10px;
  }
}

.p-category-icon {
  aspect-ratio: 195/180;
  -ms-flex-preferred-size: 195px;
      flex-basis: 195px;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.p-category-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-category-icon {
    -ms-flex-preferred-size: 120px;
        flex-basis: 120px;
  }
}

.p-category-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-category-name h3 {
  color: #4B9FC6;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .p-category-name {
    -ms-flex-preferred-size: calc(100% - 120px);
        flex-basis: calc(100% - 120px);
    padding: 15px;
  }
  .p-category-name h3 {
    font-size: 18px;
    margin-bottom: 4px;
  }
  .p-category-name p {
    font-size: 14px;
  }
}

/* ====================================
  製品案内 詳細検索
 ==================================== */
.p-products .p-advancedSearch {
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 10px;
  padding: 50px 60px 74px;
}

@media (max-width: 767px) {
  .p-products .p-advancedSearch {
    padding: 46px 30px 50px;
  }
}
/* ====================================
  お知らせ
 ==================================== */
.p-news {
  padding-bottom: 120px;
}

.p-news-header {
  margin-bottom: 50px;
  padding-block: 70px 30px;
}

.p-news-title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
}

/* ====================================
  会社案内
 ==================================== */
.p-company section + section {
  margin-top: 105px;
}

.p-company-inner {
  margin-top: 80px;
  background-color: #ffffff;
  padding-inline: 7%;
  padding-block: 90px 160px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 1400px) {
  .p-company-inner {
    padding-inline: 100px;
  }
}
@media (min-width: 767.1px) {
  .p-company-inner {
    border-radius: 10px;
  }
}

.p-company-heading {
  font-size: 24px;
  font-weight: 500;
  padding-left: 18px;
  position: relative;
  margin-bottom: 30px;
}
.p-company-heading::before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 3px;
  height: 26px;
  background-color: #4B9FC6;
}

.p-company-outline {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}
.p-company-outline tr:not(:first-child) {
  border-top: 1px solid #DCDCDC;
}
.p-company-outline th {
  font-size: 18px;
  font-weight: 500;
  width: 20%;
  padding-block: 21px;
  text-align: left;
  vertical-align: top;
}
.p-company-outline td {
  font-size: 18px;
  width: 80%;
  padding-block: 21px;
}
@media (min-width: 767.1px) {
  .p-company-outline th {
    padding-right: 60px;
  }
}
@media (max-width: 767px) {
  .p-company-outline th {
    font-size: 15px;
    display: block;
    padding-block: 15px 8px;
    width: 100%;
  }
  .p-company-outline td {
    font-size: 15px;
    display: block;
    padding-block: 0 15px;
    width: 100%;
  }
}

.p-company-access h3 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 20px;
}
.p-company-access p {
  font-size: 18px;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-company-access h3 {
    font-size: 18px;
  }
  .p-company-access p {
    font-size: 15px;
  }
}

.p-company-map {
  margin-top: 30px;
  aspect-ratio: 2/1;
  position: relative;
}
.p-company-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.p-company-map + h3 {
  margin-top: 90px;
}
@media (max-width: 767px) {
  .p-company-map {
    margin-inline: calc(var(--paddingInline) * -1);
    aspect-ratio: 375/280;
  }
}

.p-history-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .p-history-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.p-history-first {
  -ms-flex-preferred-size: calc(50% - 50px);
      flex-basis: calc(50% - 50px);
}
.p-history-first > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

.p-history-second {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
@media (max-width: 767px) {
  .p-history-second {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.p-history .p-company-heading {
  margin-bottom: 90px;
}

.p-history-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  position: relative;
  margin-left: auto;
  padding-bottom: 60px;
}
.p-history-item:before {
  position: absolute;
  content: "";
  top: 12px;
  left: 123px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #4B9FC6;
  z-index: 1;
}
.p-history-item:after {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #DCDCDC;
  left: 130px;
  z-index: 0;
}
.p-history-item:first-child:after {
  top: 26px;
}
@media (max-width: 767px) {
  .p-history-item {
    gap: 50px;
    padding-bottom: 30px;
  }
  .p-history-item:before {
    left: 86px;
    top: 6px;
  }
  .p-history-item:after {
    left: 93px;
  }
  .p-history-item:first-child:after {
    top: 20px;
  }
}

.p-history-year {
  font-family: "Jost", sans-serif;
  font-size: 28px;
  font-weight: 500;
  -ms-flex-preferred-size: 24%;
      flex-basis: 24%;
}
.p-history-year:after {
  content: "年";
  font-size: 20px;
}
@media (max-width: 767px) {
  .p-history-year {
    font-size: 22px;
    padding-right: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p-history-year::after {
    font-size: 16px;
  }
}

.p-history-event {
  font-size: 15px;
  font-weight: 400;
  -ms-flex-preferred-size: 66%;
      flex-basis: 66%;
}
.p-history-event span {
  font-family: "Jost", sans-serif;
  font-size: 20px;
  font-family: 500;
}
@media (max-width: 767px) {
  .p-history-event {
    font-size: 13px;
  }
  .p-history-event span {
    font-size: 18px;
  }
}

.p-history-date {
  margin-bottom: 7px;
  font-weight: 500;
}
.p-history-text + .p-history-date {
  margin-top: 25px;
}

.p-history-text {
  font-size: 18px;
  line-height: 1.8888888889;
}
@media (max-width: 767px) {
  .p-history-text {
    font-size: 15px;
  }
}

.p-history-image img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-history-image {
    margin-top: 25px;
  }
}

@media (max-width: 767px) {
  .p-company section + section {
    margin-top: 60px;
  }
  .p-company-inner {
    margin-top: 0;
    padding-inline: var(--paddingInline);
    padding-block: 42px 70px;
  }
}
.c-pages:has(.p-company) header {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .c-pages:has(.p-company) {
    padding-bottom: 0;
  }
}
/* ====================================
  プライバシーポリシー
 ==================================== */
.p-policy section + section {
  margin-top: 50px;
}
.p-policy section h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #4B9FC6;
  padding-bottom: 20px;
  border-bottom: 1px solid #C8C8C8;
  margin-bottom: 20px;
}
.p-policy section p {
  line-height: 2;
}
.p-policy section ul {
  line-height: 2;
}
.p-policy section li {
  padding-left: 1.2em;
  position: relative;
}
.p-policy section li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.p-policy-inner {
  max-width: 900px;
  margin-inline: auto;
  padding-top: 70px;
}

.p-policy-inner {
  counter-reset: section-h2;
}

.p-policy-inner section > h2 {
  counter-increment: section-h2;
  position: relative;
  padding-left: 1.8em;
}

.p-policy-inner section > h2::before {
  content: counter(section-h2) ". ";
  position: absolute;
  left: 0;
  top: 0;
  color: inherit;
  font-weight: bold;
}

.p-policy-lead {
  margin-bottom: 60px;
}

.p-sitemap section + section {
  margin-top: 50px;
}
.p-sitemap h2 {
  font-size: 24px;
  font-weight: 700;
  color: #4B9FC6;
  padding-bottom: 20px;
  border-bottom: 1px solid #C8C8C8;
  margin-bottom: 20px;
}
.p-sitemap h2 a {
  position: relative;
  padding-right: 30px;
}
.p-sitemap h2 a::after {
  content: "";
  position: absolute;
  top: 0.6em;
  right: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  width: 14px;
  height: 8px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNC4zIiBoZWlnaHQ9IjcuODY1IiB2aWV3Qm94PSIwIDAgMTQuMyA3Ljg2NSI+IDxwYXRoIGlkPSJhcnJvd191cC1fMzM3XyIgZGF0YS1uYW1lPSJhcnJvd191cC1bIzMzN10iIGQ9Ik0yMTguMDkxLDY1MzEuNmEuNzU5Ljc1OSwwLDAsMCwwLTEuMDQ2bC01LjkwOS02LjEyM2ExLjM5MywxLjM5MywwLDAsMC0yLjAyMSwwbC01Ljk1Miw2LjE2N2EuNzYyLjc2MiwwLDAsMC0uMDA3LDEuMDQuNy43LDAsMCwwLDEuMDE5LjAwNmw1LjQ0Ni01LjY0M2EuNy43LDAsMCwxLDEuMDExLDBsNS40LDUuNmEuNy43LDAsMCwwLDEuMDEsMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwNCAtNjUyNCkiIGZpbGw9IiM0YjlmYzYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.p-sitemap h3 {
  font-size: 20px;
  letter-spacing: 0.12em;
  color: #4B9FC6;
  font-weight: 500;
  margin-bottom: 10px;
}
.p-sitemap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 30px;
}
.p-sitemap li {
  padding-right: 18px;
  position: relative;
}
.p-sitemap li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 14px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3LjIwNyIgaGVpZ2h0PSIxMy40MTQiIHZpZXdCb3g9IjAgMCA3LjIwNyAxMy40MTQiPiA8cGF0aCBpZD0iZWY4NWJmMjYtNDgxMy00YzRiLWJmNWYtZGIxMWE5MzljOWM1IiBkPSJNMTUsMjJsNi02LTYtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0LjI5MyAtOS4yOTMpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMjMyMzIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.p-sitemap-inner {
  max-width: 900px;
  margin-inline: auto;
  padding-top: 70px;
}

/* ====================================
  事業内容
 ==================================== */
@media (max-width: 767px) {
  .p-business section + section {
    margin-top: 60px;
  }
}

[class^=p-business-] {
  position: relative;
}

@media (min-width: 767.1px) {
  .p-business-sec01 {
    padding-bottom: 135px;
  }
  .p-business-sec01 .p-business-image {
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    margin-left: auto;
  }
  .p-business-sec02 {
    padding-top: 96px;
    margin-top: 130px;
  }
  .p-business-sec02 .p-business-image {
    border-radius: 0 15px 15px 0;
    overflow: hidden;
  }
  .p-business-sec03 {
    padding-bottom: 110px;
    margin-top: 220px;
  }
  .p-business-sec03 .p-business-image {
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    margin-left: auto;
  }
  .p-business-sec04 {
    padding-top: 96px;
    margin-top: 130px;
  }
  .p-business-sec04 .p-business-image {
    border-radius: 0 15px 15px 0;
    overflow: hidden;
  }
  .p-business-sec05 {
    padding-bottom: 75px;
    margin-top: 220px;
    margin-bottom: 137px;
  }
  .p-business-sec05 .p-business-image {
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    margin-left: auto;
  }
}
.p-business-top h2 {
  font-weight: bold;
  color: #4B9FC6;
  text-align: center;
  margin-bottom: 47px;
}
.p-business-top h2 p:first-child {
  font-size: 26px;
}
.p-business-top h2 p:last-child {
  font-size: 55px;
}
.p-business-top h2 span {
  font-size: 75px;
  font-family: "Jost", sans-serif;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-business-top h2 {
    margin-bottom: 29px;
  }
  .p-business-top h2 p:first-child {
    font-size: 20px;
  }
  .p-business-top h2 p:last-child {
    font-size: 40px;
  }
  .p-business-top h2 span {
    font-size: 54px;
  }
}

.p-business-lead {
  max-width: 1000px;
  margin-inline: auto;
  font-size: 18px;
  line-height: 2.1111111111;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .p-business-lead {
    font-size: 15px;
    line-height: 2;
    margin-bottom: 33px;
  }
}

.p-business-nav {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  margin-bottom: 160px;
}
.p-business-nav a {
  border-radius: 10px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding-block: 18px;
  padding-inline: 10px;
}
.p-business-nav a > span {
  font-family: "Jost", sans-serif;
  color: #B4B4B4;
  font-size: 16px;
  font-weight: 500;
}
.p-business-nav a:after {
  margin-top: 3px;
  content: "";
  display: block;
  width: 10px;
  height: 7px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC4wNyIgaGVpZ2h0PSI2LjI5MyIgdmlld0JveD0iMCAwIDEwLjA3IDYuMjkzIj4gPHBhdGggaWQ9IuODkeOCuV8xNDEiIGRhdGEtbmFtZT0i44OR44K5IDE0MSIgZD0iTTEzLjQ1NiwxNi4wODhjLjAwNi0uMDA4LjAwOS0uMDE4LjAxNS0uMDI1bDQuMzk0LTQuODU1YS43NTcuNzU3LDAsMCwwLDAtLjk4OWwtLjAwOC0uMDA1QS41ODkuNTg5LDAsMCwwLDE3LjQwOSwxMEg4LjYyYS42LjYsMCwwLDAtLjQ1NC4yMjJsMCwwYS43NTYuNzU2LDAsMCwwLDAsLjk4OWw0LjQsNC44OGEuNTg0LjU4NCwwLDAsMCwuODg5LDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy45NzkgLTEwKSIgZmlsbD0iIzRiOWZjNiIvPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 767px) {
  .p-business-nav {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 58px;
  }
  .p-business-nav a > span {
    font-size: 13px;
  }
  .p-business-nav a p {
    font-size: 14px;
  }
}

@media (min-width: 767.1px) {
  .p-business-image {
    width: 91.6666666767%;
    max-width: 1320px;
  }
  .p-business-image img {
    width: 100%;
    height: auto;
  }
}

.p-business-box {
  border-radius: 15px;
  background-color: #ffffff;
  padding: 50px 60px 60px;
  max-width: 500px;
}
.p-business-box ._sdgs {
  text-align: right;
}
@media (min-width: 767.1px) {
  .p-business-box {
    margin-left: auto;
    position: absolute;
    bottom: 0;
  }
  .p-business-sec01 .p-business-box {
    right: 120px;
  }
  .p-business-sec02 .p-business-box {
    left: 120px;
    bottom: auto;
    top: 0;
  }
  .p-business-sec03 .p-business-box {
    right: 120px;
  }
  .p-business-sec04 .p-business-box {
    left: 120px;
    bottom: auto;
    top: 0;
  }
  .p-business-sec05 .p-business-box {
    right: 120px;
  }
}
@media (max-width: 767px) {
  .p-business-box {
    margin-top: -50px;
    padding: 40px;
  }
  .p-business-box ._sdgs img {
    width: 120px;
  }
}

.p-business-title {
  margin-bottom: 24px;
}
.p-business-title p:first-child {
  font-size: 24px;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  color: #B4B4B4;
  margin-bottom: 9.3px;
}
.p-business-title p:last-child {
  font-size: 30px;
  font-weight: 700;
  color: #4B9FC6;
}
@media (max-width: 767px) {
  .p-business-title {
    margin-bottom: 17px;
  }
  .p-business-title p:last-child {
    font-size: 21px;
  }
}

.p-business-text {
  font-size: 18px;
  line-height: 1.7777777778;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .p-business-text {
    font-size: 15px;
    line-height: 2;
    margin-bottom: 19px;
  }
}

.p-business-link a {
  display: inline-block;
  color: #4B9FC6;
  padding-bottom: 9px;
  border-bottom: 1px solid #4B9FC6;
}
@media (max-width: 767px) {
  .p-business-link {
    font-size: 15px;
  }
}

.p-groupCompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-groupCompany {
    display: block;
  }
}

.p-groupCompany-head {
  background-color: #4B9FC6;
  color: #ffffff;
  padding: 50px 63px 60px 70px;
}
.p-groupCompany-head ._title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 26px;
}
.p-groupCompany-head ._text1 {
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 16px;
}
.p-groupCompany-head ._text2 {
  font-size: 14px;
}
@media (max-width: 767px) {
  .p-groupCompany-head {
    padding: 46px 40px 36px;
    text-align: center;
  }
}

.p-groupCompany-body {
  padding: 60px 60px 60px 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-groupCompany-body ._col {
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
}
.p-groupCompany-body ._title {
  margin-bottom: 18px;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}
.p-groupCompany-body ._title p:first-child {
  font-size: 18px;
  color: #969696;
  font-weight: 500;
  margin-bottom: 5px;
  font-family: "Jost", sans-serif;
}
.p-groupCompany-body ._title p:last-child {
  font-size: 22px;
  font-weight: 700;
  color: #4B9FC6;
}
.p-groupCompany-body ._list li {
  font-size: 18px;
  line-height: 1.7777777778;
  position: relative;
  padding-left: 1.4em;
}
.p-groupCompany-body ._list li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #A8E4FF;
}
@media (max-width: 767px) {
  .p-groupCompany-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
    padding: 24px 30px 52px;
  }
  .p-groupCompany-body ._title p:last-child {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .p-groupCompany-group:not(:first-child) {
    margin-top: 50px;
  }
}

/* ====================================
  分析業務
 ==================================== */
.p-analysis-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  max-width: 1000px;
  margin-inline: auto;
}

.p-analysis-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  border-radius: 30px;
  overflow: hidden;
  gap: 8%;
}
@media (max-width: 767px) {
  .p-analysis-item a {
    gap: 0;
    border-radius: 10px;
  }
}

.p-analysis-icon {
  aspect-ratio: 195/180;
  -ms-flex-preferred-size: 195px;
      flex-basis: 195px;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.p-analysis-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-analysis-icon {
    -ms-flex-preferred-size: 120px;
        flex-basis: 120px;
  }
}

.p-analysis-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-analysis-name h3 {
  color: #4B9FC6;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .p-analysis-name {
    -ms-flex-preferred-size: calc(100% - 120px);
        flex-basis: calc(100% - 120px);
    padding: 15px;
  }
  .p-analysis-name h3 {
    font-size: 18px;
    margin-bottom: 4px;
  }
  .p-analysis-name p {
    font-size: 14px;
  }
}